@modern-js/app-tools 2.21.1 → 2.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/dist/cjs/analyze/constants.js +66 -22
  3. package/dist/cjs/analyze/generateCode.js +48 -24
  4. package/dist/cjs/analyze/getBundleEntry.js +3 -1
  5. package/dist/cjs/analyze/getClientRoutes/getRoutes.js +3 -1
  6. package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +3 -1
  7. package/dist/cjs/analyze/getClientRoutes/index.js +6 -2
  8. package/dist/cjs/analyze/getClientRoutes/utils.js +12 -4
  9. package/dist/cjs/analyze/getFileSystemEntry.js +3 -1
  10. package/dist/cjs/analyze/getHtmlTemplate.js +3 -1
  11. package/dist/cjs/analyze/getServerRoutes.js +3 -1
  12. package/dist/cjs/analyze/index.js +17 -12
  13. package/dist/cjs/analyze/isDefaultExportFunction.js +3 -1
  14. package/dist/cjs/analyze/makeLegalIdentifier.js +3 -1
  15. package/dist/cjs/analyze/nestedRoutes.js +3 -1
  16. package/dist/cjs/analyze/templates.js +18 -6
  17. package/dist/cjs/analyze/utils.js +38 -8
  18. package/dist/cjs/builder/builder-rspack/adapterCopy.js +3 -1
  19. package/dist/cjs/builder/builder-rspack/index.js +3 -1
  20. package/dist/cjs/builder/builder-webpack/adapterModern.js +3 -1
  21. package/dist/cjs/builder/builder-webpack/createCopyPattern.js +6 -2
  22. package/dist/cjs/builder/builder-webpack/index.js +3 -1
  23. package/dist/cjs/builder/generator/createBuilderOptions.js +7 -4
  24. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +5 -3
  25. package/dist/cjs/builder/generator/getBuilderTargets.js +3 -1
  26. package/dist/cjs/builder/generator/index.js +3 -1
  27. package/dist/cjs/builder/index.js +3 -1
  28. package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +6 -2
  29. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +3 -1
  30. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +3 -1
  31. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +3 -1
  32. package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +3 -1
  33. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +29 -6
  34. package/dist/cjs/builder/shared/createCopyInfo.js +3 -1
  35. package/dist/cjs/builder/shared/loaders/serverModuleLoader.js +3 -1
  36. package/dist/cjs/commands/build.js +3 -1
  37. package/dist/cjs/commands/deploy.js +3 -1
  38. package/dist/cjs/commands/dev.js +3 -1
  39. package/dist/cjs/commands/inspect.js +3 -1
  40. package/dist/cjs/commands/serve.js +3 -1
  41. package/dist/cjs/config/default.js +6 -2
  42. package/dist/cjs/config/initialize/index.js +3 -1
  43. package/dist/cjs/config/initialize/inits.js +9 -3
  44. package/dist/cjs/config/legacy/createHtmlConfig.js +3 -1
  45. package/dist/cjs/config/legacy/createOutputConfig.js +3 -1
  46. package/dist/cjs/config/legacy/createSourceConfig.js +3 -1
  47. package/dist/cjs/config/legacy/createToolsConfig.js +3 -1
  48. package/dist/cjs/config/legacy/index.js +6 -2
  49. package/dist/cjs/defineConfig.js +6 -2
  50. package/dist/cjs/exports/server.js +3 -1
  51. package/dist/cjs/hooks.js +3 -1
  52. package/dist/cjs/index.js +12 -4
  53. package/dist/cjs/initialize/index.js +3 -1
  54. package/dist/cjs/locale/en.js +3 -1
  55. package/dist/cjs/locale/index.js +6 -2
  56. package/dist/cjs/locale/zh.js +3 -1
  57. package/dist/cjs/schema/Schema.js +3 -1
  58. package/dist/cjs/schema/index.js +6 -2
  59. package/dist/cjs/schema/legacy.js +3 -1
  60. package/dist/cjs/utils/config.js +12 -4
  61. package/dist/cjs/utils/createServer.js +15 -5
  62. package/dist/cjs/utils/env.js +3 -1
  63. package/dist/cjs/utils/generateWatchFiles.js +6 -2
  64. package/dist/cjs/utils/getSelectedEntries.js +3 -1
  65. package/dist/cjs/utils/getServerInternalPlugins.js +3 -1
  66. package/dist/cjs/utils/printInstructions.js +3 -1
  67. package/dist/cjs/utils/restart.js +3 -1
  68. package/dist/cjs/utils/routes.js +3 -1
  69. package/dist/esm/analyze/generateCode.js +131 -75
  70. package/dist/esm/analyze/index.js +23 -15
  71. package/dist/esm/analyze/utils.js +12 -1
  72. package/dist/esm/builder/generator/createBuilderOptions.js +4 -3
  73. package/dist/esm/builder/generator/createBuilderProviderConfig.js +1 -1
  74. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +126 -118
  75. package/dist/esm-node/analyze/generateCode.js +39 -22
  76. package/dist/esm-node/analyze/index.js +16 -13
  77. package/dist/esm-node/analyze/utils.js +12 -1
  78. package/dist/esm-node/builder/generator/createBuilderOptions.js +4 -3
  79. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +2 -2
  80. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +27 -6
  81. package/dist/types/analyze/generateCode.d.ts +19 -2
  82. package/dist/types/analyze/utils.d.ts +2 -1
  83. package/dist/types/builder/shared/bundlerPlugins/RouterPlugin.d.ts +7 -0
  84. package/dist/types/types/hooks.d.ts +1 -0
  85. package/package.json +24 -24
@@ -10,11 +10,21 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- getServer: () => getServer,
14
- setServer: () => setServer,
15
- closeServer: () => closeServer,
16
- createServer: () => createServer,
17
- injectDataLoaderPlugin: () => injectDataLoaderPlugin
13
+ getServer: function() {
14
+ return getServer;
15
+ },
16
+ setServer: function() {
17
+ return setServer;
18
+ },
19
+ closeServer: function() {
20
+ return closeServer;
21
+ },
22
+ createServer: function() {
23
+ return createServer;
24
+ },
25
+ injectDataLoaderPlugin: function() {
26
+ return injectDataLoaderPlugin;
27
+ }
18
28
  });
19
29
  const _server = require("@modern-js/server");
20
30
  let server = null;
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "getAutoInjectEnv", {
6
6
  enumerable: true,
7
- get: () => getAutoInjectEnv
7
+ get: function() {
8
+ return getAutoInjectEnv;
9
+ }
8
10
  });
9
11
  function getAutoInjectEnv(appContext) {
10
12
  const { metaName } = appContext;
@@ -10,8 +10,12 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- addServerConfigToDeps: () => addServerConfigToDeps,
14
- generateWatchFiles: () => generateWatchFiles
13
+ addServerConfigToDeps: function() {
14
+ return addServerConfigToDeps;
15
+ },
16
+ generateWatchFiles: function() {
17
+ return generateWatchFiles;
18
+ }
15
19
  });
16
20
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
17
21
  const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "getSelectedEntries", {
6
6
  enumerable: true,
7
- get: () => getSelectedEntries
7
+ get: function() {
8
+ return getSelectedEntries;
9
+ }
8
10
  });
9
11
  const _utils = require("@modern-js/utils");
10
12
  const _locale = require("../locale");
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "getServerInternalPlugins", {
6
6
  enumerable: true,
7
- get: () => getServerInternalPlugins
7
+ get: function() {
8
+ return getServerInternalPlugins;
9
+ }
8
10
  });
9
11
  async function getServerInternalPlugins(api) {
10
12
  const hookRunners = api.useHookRunners();
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "printInstructions", {
6
6
  enumerable: true,
7
- get: () => printInstructions
7
+ get: function() {
8
+ return printInstructions;
9
+ }
8
10
  });
9
11
  const _utils = require("@modern-js/utils");
10
12
  const printInstructions = async (hookRunners, appContext, config) => {
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "restart", {
6
6
  enumerable: true,
7
- get: () => restart
7
+ get: function() {
8
+ return restart;
9
+ }
8
10
  });
9
11
  const _core = require("@modern-js/core");
10
12
  const _utils = require("@modern-js/utils");
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "generateRoutes", {
6
6
  enumerable: true,
7
- get: () => generateRoutes
7
+ get: function() {
8
+ return generateRoutes;
9
+ }
8
10
  });
9
11
  const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
12
  const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
@@ -94,21 +94,21 @@ export var createImportStatements = function(statements) {
94
94
  };
95
95
  export var generateCode = function() {
96
96
  var _ref = _async_to_generator(function(appContext, config, entrypoints, api) {
97
- var internalDirectory, srcDirectory, internalDirAlias, internalSrcAlias, packageName, hookRunners, isV5, mountId, getRoutes;
97
+ var internalDirectory, srcDirectory, internalDirAlias, internalSrcAlias, packageName, hookRunners, isV5, getRoutes, importsStatemets;
98
98
  function generateEntryCode(entrypoint) {
99
99
  return _generateEntryCode.apply(this, arguments);
100
100
  }
101
101
  function _generateEntryCode() {
102
102
  _generateEntryCode = _async_to_generator(function(entrypoint) {
103
- var entryName, isAutoMount, customBootstrap, fileSystemRoutes, _config_output, initialRoutes, nestedRoute, routes, _$config, ssr, useSSG, mode, hasPageRoute, code, _, _tmp, routesServerFile, code1, serverLoaderCombined, serverLoaderFile, _ref2, importStatements, plugins, _ref1, renderFunction, exportStatement, code2, entryFile, rawAsyncEntryCode, ssr1, _ref22, asyncEntryCode, bootstrapFile;
103
+ var entryName, isAutoMount, fileSystemRoutes, _config_output, initialRoutes, nestedRoute, routes, _$config, ssr, useSSG, mode, hasPageRoute, code, _, _tmp, routesServerFile, code1, serverLoaderCombined, serverLoaderFile, imports, entryFile;
104
104
  return _ts_generator(this, function(_state) {
105
105
  switch (_state.label) {
106
106
  case 0:
107
- entryName = entrypoint.entryName, isAutoMount = entrypoint.isAutoMount, customBootstrap = entrypoint.customBootstrap, fileSystemRoutes = entrypoint.fileSystemRoutes;
107
+ entryName = entrypoint.entryName, isAutoMount = entrypoint.isAutoMount, fileSystemRoutes = entrypoint.fileSystemRoutes;
108
108
  if (!isAutoMount)
109
109
  return [
110
110
  3,
111
- 18
111
+ 13
112
112
  ];
113
113
  if (!fileSystemRoutes)
114
114
  return [
@@ -248,76 +248,12 @@ export var generateCode = function() {
248
248
  })
249
249
  ];
250
250
  case 12:
251
- _ref2 = _state.sent(), importStatements = _ref2.imports;
252
- return [
253
- 4,
254
- hookRunners.modifyEntryRuntimePlugins({
255
- entrypoint: entrypoint,
256
- plugins: []
257
- })
258
- ];
259
- case 13:
260
- plugins = _state.sent().plugins;
261
- return [
262
- 4,
263
- hookRunners.modifyEntryRenderFunction({
264
- entrypoint: entrypoint,
265
- code: templates.renderFunction({
266
- plugins: plugins,
267
- customBootstrap: customBootstrap,
268
- fileSystemRoutes: fileSystemRoutes
269
- })
270
- })
271
- ];
272
- case 14:
273
- _ref1 = _state.sent(), renderFunction = _ref1.code;
274
- return [
275
- 4,
276
- hookRunners.modifyEntryExport({
277
- entrypoint: entrypoint,
278
- exportStatement: "export default AppWrapper;"
279
- })
280
- ];
281
- case 15:
282
- exportStatement = _state.sent().exportStatement;
283
- code2 = templates.index({
284
- mountId: mountId,
285
- imports: createImportStatements(importStatements),
286
- renderFunction: renderFunction,
287
- exportStatement: exportStatement
288
- });
251
+ imports = _state.sent().imports;
252
+ importsStatemets.set(entryName, imports);
289
253
  entryFile = path.resolve(internalDirectory, "./".concat(entryName, "/").concat(ENTRY_POINT_FILE_NAME));
290
- entrypoint.entry = entryFile;
291
- if (!config.source.enableAsyncEntry)
292
- return [
293
- 3,
294
- 17
295
- ];
296
- rawAsyncEntryCode = "import('./".concat(ENTRY_BOOTSTRAP_FILE_NAME, "');");
297
- ssr1 = getEntryOptions(entryName, config.server.ssr, config.server.ssrByEntries, packageName);
298
- if (ssr1) {
299
- rawAsyncEntryCode = "\n export const ".concat(SERVER_RENDER_FUNCTION_NAME, " = async (...args) => {\n let entry = await ").concat(rawAsyncEntryCode, ";\n if (entry.default instanceof Promise){\n entry = await entry.default;\n return entry.default.").concat(SERVER_RENDER_FUNCTION_NAME, ".apply(null, args);\n }\n return entry.").concat(SERVER_RENDER_FUNCTION_NAME, ".apply(null, args);\n };\n if(typeof window!=='undefined'){\n ").concat(rawAsyncEntryCode, "\n }\n ");
300
- }
301
- return [
302
- 4,
303
- hookRunners.modifyAsyncEntry({
304
- entrypoint: entrypoint,
305
- code: rawAsyncEntryCode
306
- })
307
- ];
308
- case 16:
309
- _ref22 = _state.sent(), asyncEntryCode = _ref22.code;
310
- fs.outputFileSync(entryFile, asyncEntryCode, "utf8");
311
- bootstrapFile = path.resolve(internalDirectory, "./".concat(entryName, "/").concat(ENTRY_BOOTSTRAP_FILE_NAME));
312
- fs.outputFileSync(bootstrapFile, code2, "utf8");
313
- return [
314
- 3,
315
- 18
316
- ];
317
- case 17:
318
- fs.outputFileSync(entryFile, code2, "utf8");
319
- _state.label = 18;
320
- case 18:
254
+ entrypoint.internalEntry = entryFile;
255
+ _state.label = 13;
256
+ case 13:
321
257
  return [
322
258
  2
323
259
  ];
@@ -332,8 +268,8 @@ export var generateCode = function() {
332
268
  internalDirectory = appContext.internalDirectory, srcDirectory = appContext.srcDirectory, internalDirAlias = appContext.internalDirAlias, internalSrcAlias = appContext.internalSrcAlias, packageName = appContext.packageName;
333
269
  hookRunners = api.useHookRunners();
334
270
  isV5 = isRouterV5(config);
335
- mountId = config.html.mountId;
336
271
  getRoutes = isV5 ? getClientRoutesLegacy : getClientRoutes;
272
+ importsStatemets = /* @__PURE__ */ new Map();
337
273
  return [
338
274
  4,
339
275
  Promise.all(entrypoints.map(generateEntryCode))
@@ -341,7 +277,10 @@ export var generateCode = function() {
341
277
  case 1:
342
278
  _state.sent();
343
279
  return [
344
- 2
280
+ 2,
281
+ {
282
+ importsStatemets: importsStatemets
283
+ }
345
284
  ];
346
285
  }
347
286
  });
@@ -350,3 +289,120 @@ export var generateCode = function() {
350
289
  return _ref.apply(this, arguments);
351
290
  };
352
291
  }();
292
+ export var generateIndexCode = function() {
293
+ var _ref = _async_to_generator(function(param) {
294
+ var appContext, api, entrypoints, config, importsStatemets, bundlerConfigs, hookRunners, mountId, internalDirectory, packageName;
295
+ return _ts_generator(this, function(_state) {
296
+ switch (_state.label) {
297
+ case 0:
298
+ appContext = param.appContext, api = param.api, entrypoints = param.entrypoints, config = param.config, importsStatemets = param.importsStatemets, bundlerConfigs = param.bundlerConfigs;
299
+ hookRunners = api.useHookRunners();
300
+ mountId = config.html.mountId;
301
+ internalDirectory = appContext.internalDirectory, packageName = appContext.packageName;
302
+ return [
303
+ 4,
304
+ Promise.all(entrypoints.map(function() {
305
+ var _ref2 = _async_to_generator(function(entrypoint) {
306
+ var entryName, isAutoMount, customBootstrap, fileSystemRoutes, plugins, _ref3, renderFunction, exportStatement, imports, code, entryFile, rawAsyncEntryCode, ssr, _ref1, asyncEntryCode, bootstrapFile;
307
+ return _ts_generator(this, function(_state2) {
308
+ switch (_state2.label) {
309
+ case 0:
310
+ entryName = entrypoint.entryName, isAutoMount = entrypoint.isAutoMount, customBootstrap = entrypoint.customBootstrap, fileSystemRoutes = entrypoint.fileSystemRoutes;
311
+ if (!isAutoMount)
312
+ return [
313
+ 3,
314
+ 6
315
+ ];
316
+ return [
317
+ 4,
318
+ hookRunners.modifyEntryRuntimePlugins({
319
+ entrypoint: entrypoint,
320
+ plugins: [],
321
+ bundlerConfigs: bundlerConfigs
322
+ })
323
+ ];
324
+ case 1:
325
+ plugins = _state2.sent().plugins;
326
+ return [
327
+ 4,
328
+ hookRunners.modifyEntryRenderFunction({
329
+ entrypoint: entrypoint,
330
+ code: templates.renderFunction({
331
+ plugins: plugins,
332
+ customBootstrap: customBootstrap,
333
+ fileSystemRoutes: fileSystemRoutes
334
+ })
335
+ })
336
+ ];
337
+ case 2:
338
+ _ref3 = _state2.sent(), renderFunction = _ref3.code;
339
+ return [
340
+ 4,
341
+ hookRunners.modifyEntryExport({
342
+ entrypoint: entrypoint,
343
+ exportStatement: "export default AppWrapper;"
344
+ })
345
+ ];
346
+ case 3:
347
+ exportStatement = _state2.sent().exportStatement;
348
+ imports = importsStatemets.get(entryName);
349
+ code = templates.index({
350
+ mountId: mountId,
351
+ imports: createImportStatements(imports),
352
+ renderFunction: renderFunction,
353
+ exportStatement: exportStatement
354
+ });
355
+ entryFile = path.resolve(internalDirectory, "./".concat(entryName, "/").concat(ENTRY_POINT_FILE_NAME));
356
+ if (!config.source.enableAsyncEntry)
357
+ return [
358
+ 3,
359
+ 5
360
+ ];
361
+ rawAsyncEntryCode = "import('./".concat(ENTRY_BOOTSTRAP_FILE_NAME, "');");
362
+ ssr = getEntryOptions(entryName, config.server.ssr, config.server.ssrByEntries, packageName);
363
+ if (ssr) {
364
+ rawAsyncEntryCode = "\n export const ".concat(SERVER_RENDER_FUNCTION_NAME, " = async (...args) => {\n let entry = await ").concat(rawAsyncEntryCode, ";\n if (entry.default instanceof Promise){\n entry = await entry.default;\n return entry.default.").concat(SERVER_RENDER_FUNCTION_NAME, ".apply(null, args);\n }\n return entry.").concat(SERVER_RENDER_FUNCTION_NAME, ".apply(null, args);\n };\n if(typeof window!=='undefined'){\n ").concat(rawAsyncEntryCode, "\n }\n ");
365
+ }
366
+ return [
367
+ 4,
368
+ hookRunners.modifyAsyncEntry({
369
+ entrypoint: entrypoint,
370
+ code: rawAsyncEntryCode
371
+ })
372
+ ];
373
+ case 4:
374
+ _ref1 = _state2.sent(), asyncEntryCode = _ref1.code;
375
+ fs.outputFileSync(entryFile, asyncEntryCode, "utf8");
376
+ bootstrapFile = path.resolve(internalDirectory, "./".concat(entryName, "/").concat(ENTRY_BOOTSTRAP_FILE_NAME));
377
+ fs.outputFileSync(bootstrapFile, code, "utf8");
378
+ return [
379
+ 3,
380
+ 6
381
+ ];
382
+ case 5:
383
+ fs.outputFileSync(entryFile, code, "utf8");
384
+ _state2.label = 6;
385
+ case 6:
386
+ return [
387
+ 2
388
+ ];
389
+ }
390
+ });
391
+ });
392
+ return function(entrypoint) {
393
+ return _ref2.apply(this, arguments);
394
+ };
395
+ }()))
396
+ ];
397
+ case 1:
398
+ _state.sent();
399
+ return [
400
+ 2
401
+ ];
402
+ }
403
+ });
404
+ });
405
+ return function generateIndexCode2(_) {
406
+ return _ref.apply(this, arguments);
407
+ };
408
+ }();
@@ -4,7 +4,7 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
5
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
6
  import * as path from "path";
7
- import { createDebugger, findExists, fs, isApiOnly, minimist, getCommand, isDevCommand, getArgv } from "@modern-js/utils";
7
+ import { createDebugger, findExists, fs, isApiOnly, minimist, isDevCommand, getArgv } from "@modern-js/utils";
8
8
  import { cloneDeep } from "@modern-js/utils/lodash";
9
9
  import { printInstructions } from "../utils/printInstructions";
10
10
  import { generateRoutes } from "../utils/routes";
@@ -12,8 +12,9 @@ import { emitResolvedConfig } from "../utils/config";
12
12
  import { getSelectedEntries } from "../utils/getSelectedEntries";
13
13
  import { initialNormalizedConfig } from "../config";
14
14
  import { createBuilderGenerator } from "../builder";
15
- import { isPageComponentFile, parseModule, replaceWithAlias } from "./utils";
15
+ import { checkIsBuildCommands, isPageComponentFile, parseModule, replaceWithAlias } from "./utils";
16
16
  import { APP_CONFIG_NAME, APP_INIT_EXPORTED, APP_INIT_IMPORTED } from "./constants";
17
+ import { generateIndexCode } from "./generateCode";
17
18
  var debug = createDebugger("plugin-analyze");
18
19
  export default function(param) {
19
20
  var bundler = param.bundler;
@@ -26,7 +27,7 @@ export default function(param) {
26
27
  return {
27
28
  prepare: function prepare() {
28
29
  return _async_to_generator(function() {
29
- var _resolvedConfig_source, appContext, resolvedConfig, hookRunners, apiOnly, routes, _ref, getBundleEntry, getServerRoutes, generateCode, getHtmlTemplate, entrypoints, initialRoutes, routes1, htmlTemplates, checkedEntries, entry, command, buildCommands, normalizedConfig, createBuilderForModern, builder;
30
+ var _resolvedConfig_source, appContext, resolvedConfig, hookRunners, apiOnly, routes, _ref, getBundleEntry, getServerRoutes, generateCode, getHtmlTemplate, entrypoints, initialRoutes, routes1, importsStatemets, htmlTemplates, checkedEntries, entry, normalizedConfig, createBuilderForModern, builder;
30
31
  return _ts_generator(this, function(_state) {
31
32
  switch (_state.label) {
32
33
  case 0:
@@ -34,7 +35,9 @@ export default function(param) {
34
35
  resolvedConfig = api.useResolvedConfigContext();
35
36
  hookRunners = api.useHookRunners();
36
37
  try {
37
- fs.emptydirSync(appContext.internalDirectory);
38
+ if (checkIsBuildCommands()) {
39
+ fs.emptydirSync(appContext.internalDirectory);
40
+ }
38
41
  } catch (e) {
39
42
  }
40
43
  return [
@@ -120,7 +123,7 @@ export default function(param) {
120
123
  generateCode(appContext, resolvedConfig, entrypoints, api)
121
124
  ];
122
125
  case 7:
123
- _state.sent();
126
+ importsStatemets = _state.sent().importsStatemets;
124
127
  return [
125
128
  4,
126
129
  getHtmlTemplate(entrypoints, api, {
@@ -163,15 +166,7 @@ export default function(param) {
163
166
  htmlTemplates: htmlTemplates
164
167
  });
165
168
  api.setAppContext(appContext);
166
- command = getCommand();
167
- buildCommands = [
168
- "dev",
169
- "start",
170
- "build",
171
- "inspect",
172
- "deploy"
173
- ];
174
- if (!buildCommands.includes(command))
169
+ if (!checkIsBuildCommands())
175
170
  return [
176
171
  3,
177
172
  14
@@ -276,11 +271,24 @@ export default function(param) {
276
271
  hookRunners2 = api.useHookRunners();
277
272
  return [
278
273
  4,
279
- hookRunners2.beforeCreateCompiler({
274
+ generateIndexCode({
275
+ appContext: appContext,
276
+ config: resolvedConfig,
277
+ entrypoints: entrypoints,
278
+ api: api,
279
+ importsStatemets: importsStatemets,
280
280
  bundlerConfigs: bundlerConfigs
281
281
  })
282
282
  ];
283
283
  case 1:
284
+ _state2.sent();
285
+ return [
286
+ 4,
287
+ hookRunners2.beforeCreateCompiler({
288
+ bundlerConfigs: bundlerConfigs
289
+ })
290
+ ];
291
+ case 2:
284
292
  _state2.sent();
285
293
  return [
286
294
  2
@@ -4,7 +4,7 @@ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import fs from "fs";
6
6
  import path from "path";
7
- import { isReact18, normalizeToPosixPath, fs as fse } from "@modern-js/utils";
7
+ import { isReact18, normalizeToPosixPath, fs as fse, getCommand } from "@modern-js/utils";
8
8
  import { transform } from "esbuild";
9
9
  import { parse } from "es-module-lexer";
10
10
  import { FILE_SYSTEM_ROUTES_FILE_NAME, JS_EXTENSIONS, LOADER_EXPORT_NAME } from "./constants";
@@ -201,3 +201,14 @@ export var getServerLoadersFile = function(internalDirectory, entryName) {
201
201
  export var getServerCombinedModueFile = function(internalDirectory, entryName) {
202
202
  return path.join(internalDirectory, entryName, "server-loader-combined.js");
203
203
  };
204
+ export var checkIsBuildCommands = function() {
205
+ var buildCommands = [
206
+ "dev",
207
+ "start",
208
+ "build",
209
+ "inspect",
210
+ "deploy"
211
+ ];
212
+ var command = getCommand();
213
+ return buildCommands.includes(command);
214
+ };
@@ -4,15 +4,16 @@ export function createBuilderOptions(target, appContext) {
4
4
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
5
5
  try {
6
6
  for (var _iterator = entrypoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
7
- var _step_value = _step.value, entryName = _step_value.entryName, entry = _step_value.entry;
7
+ var _step_value = _step.value, entryName = _step_value.entryName, internalEntry = _step_value.internalEntry, entry = _step_value.entry;
8
8
  if (checkedEntries && !checkedEntries.includes(entryName)) {
9
9
  continue;
10
10
  }
11
+ var finalEntry = internalEntry || entry;
11
12
  if (entryName in entries) {
12
- entries[entryName].push(entry);
13
+ entries[entryName].push(finalEntry);
13
14
  } else {
14
15
  entries[entryName] = [
15
- entry
16
+ finalEntry
16
17
  ];
17
18
  }
18
19
  }
@@ -3,7 +3,7 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  export function createBuilderProviderConfig(resolveConfig, appContext, modifyBuilderConfig) {
4
4
  var htmlConfig = _object_spread({}, resolveConfig.html);
5
5
  if (!htmlConfig.template) {
6
- htmlConfig.templateByEntries = _object_spread({}, htmlConfig.templateByEntries, appContext.htmlTemplates);
6
+ htmlConfig.templateByEntries = _object_spread({}, appContext.htmlTemplates, htmlConfig.templateByEntries);
7
7
  }
8
8
  var config = _object_spread_props(_object_spread({}, resolveConfig), {
9
9
  dev: _object_spread_props(_object_spread({}, resolveConfig.dev), {