@modern-js/app-tools 2.0.0-canary.0 → 2.0.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 (183) hide show
  1. package/CHANGELOG.md +746 -0
  2. package/bin/modern.js +3 -0
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +16 -0
  5. package/dist/js/modern/analyze/generateCode.js +14 -15
  6. package/dist/js/modern/analyze/getBundleEntry.js +5 -1
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +9 -6
  8. package/dist/js/modern/analyze/getFileSystemEntry.js +11 -3
  9. package/dist/js/modern/analyze/index.js +79 -8
  10. package/dist/js/modern/analyze/nestedRoutes.js +29 -22
  11. package/dist/js/modern/analyze/templates.js +28 -7
  12. package/dist/js/modern/analyze/utils.js +21 -4
  13. package/dist/js/modern/builder/builderPlugins/compatModern.js +12 -5
  14. package/dist/js/modern/builder/index.js +14 -16
  15. package/dist/js/modern/builder/share.js +4 -4
  16. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +3 -1
  17. package/dist/js/modern/commands/dev.js +6 -9
  18. package/dist/js/modern/commands/index.js +1 -1
  19. package/dist/js/modern/commands/{start.js → serve.js} +3 -1
  20. package/dist/js/modern/config/default.js +38 -61
  21. package/dist/js/modern/config/initial/createOutputConfig.js +1 -3
  22. package/dist/js/modern/config/initial/createSourceConfig.js +5 -1
  23. package/dist/js/modern/config/initial/inits.js +7 -0
  24. package/dist/js/modern/config/initial/transformNormalizedConfig.js +5 -1
  25. package/dist/js/modern/hooks.js +6 -1
  26. package/dist/js/modern/index.js +96 -59
  27. package/dist/js/modern/initialize/index.js +5 -4
  28. package/dist/js/modern/locale/en.js +1 -1
  29. package/dist/js/modern/locale/zh.js +1 -1
  30. package/dist/js/modern/schema/index.js +6 -8
  31. package/dist/js/modern/schema/legacy.js +2 -3
  32. package/dist/js/modern/utils/commands.js +6 -1
  33. package/dist/js/modern/utils/env.js +15 -0
  34. package/dist/js/modern/utils/getServerInternalPlugins.js +58 -0
  35. package/dist/js/node/analyze/Builder.js +64 -0
  36. package/dist/js/node/analyze/constants.js +44 -3
  37. package/dist/js/node/analyze/generateCode.js +33 -29
  38. package/dist/js/node/analyze/getBundleEntry.js +12 -4
  39. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +33 -28
  40. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +24 -22
  41. package/dist/js/node/analyze/getClientRoutes/index.js +8 -3
  42. package/dist/js/node/analyze/getClientRoutes/utils.js +10 -3
  43. package/dist/js/node/analyze/getFileSystemEntry.js +18 -6
  44. package/dist/js/node/analyze/getHtmlTemplate.js +18 -14
  45. package/dist/js/node/analyze/getServerRoutes.js +36 -34
  46. package/dist/js/node/analyze/index.js +105 -59
  47. package/dist/js/node/analyze/isDefaultExportFunction.js +7 -3
  48. package/dist/js/node/analyze/makeLegalIdentifier.js +7 -3
  49. package/dist/js/node/analyze/nestedRoutes.js +58 -49
  50. package/dist/js/node/analyze/templates.js +64 -37
  51. package/dist/js/node/analyze/utils.js +40 -18
  52. package/dist/js/node/builder/builderPlugins/compatModern.js +36 -27
  53. package/dist/js/node/builder/index.js +42 -55
  54. package/dist/js/node/builder/loaders/routerLoader.js +5 -3
  55. package/dist/js/node/builder/loaders/serverModuleLoader.js +5 -3
  56. package/dist/js/node/builder/share.js +11 -7
  57. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +7 -3
  58. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +7 -3
  59. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +12 -8
  60. package/dist/js/node/commands/build.js +30 -28
  61. package/dist/js/node/commands/deploy.js +9 -5
  62. package/dist/js/node/commands/dev.js +39 -40
  63. package/dist/js/node/commands/index.js +5 -5
  64. package/dist/js/node/commands/inspect.js +10 -6
  65. package/dist/js/node/commands/{start.js → serve.js} +16 -10
  66. package/dist/js/node/config/default.js +44 -64
  67. package/dist/js/node/config/index.js +10 -3
  68. package/dist/js/node/config/initial/createHtmlConfig.js +7 -3
  69. package/dist/js/node/config/initial/createOutputConfig.js +8 -6
  70. package/dist/js/node/config/initial/createSourceConfig.js +12 -4
  71. package/dist/js/node/config/initial/createToolsConfig.js +7 -3
  72. package/dist/js/node/config/initial/index.js +9 -3
  73. package/dist/js/node/config/initial/inits.js +33 -22
  74. package/dist/js/node/config/initial/transformNormalizedConfig.js +12 -4
  75. package/dist/js/node/defineConfig.js +25 -22
  76. package/dist/js/node/exports/server.js +7 -3
  77. package/dist/js/node/hooks.js +13 -4
  78. package/dist/js/node/index.js +135 -111
  79. package/dist/js/node/initialize/index.js +33 -32
  80. package/dist/js/node/locale/en.js +8 -4
  81. package/dist/js/node/locale/index.js +8 -3
  82. package/dist/js/node/locale/zh.js +8 -4
  83. package/dist/js/node/schema/Schema.js +7 -3
  84. package/dist/js/node/schema/index.js +14 -11
  85. package/dist/js/node/schema/legacy.js +7 -6
  86. package/dist/js/node/types/config/deploy.js +15 -0
  87. package/dist/js/node/types/config/dev.js +15 -0
  88. package/dist/js/node/types/config/experiments.js +15 -0
  89. package/dist/js/node/types/config/html.js +15 -0
  90. package/dist/js/node/types/config/index.js +3 -3
  91. package/dist/js/node/types/config/output.js +15 -0
  92. package/dist/js/node/types/config/performance.js +15 -0
  93. package/dist/js/node/types/config/security.js +15 -0
  94. package/dist/js/node/types/config/source.js +15 -0
  95. package/dist/js/node/types/config/tools.js +15 -0
  96. package/dist/js/node/types/hooks.js +15 -0
  97. package/dist/js/node/types/index.js +5 -5
  98. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  99. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  100. package/dist/js/node/types/legacyConfig/index.js +15 -0
  101. package/dist/js/node/types/legacyConfig/output.js +15 -0
  102. package/dist/js/node/types/legacyConfig/source.js +15 -0
  103. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  104. package/dist/js/node/utils/commands.js +14 -4
  105. package/dist/js/node/utils/config.js +35 -30
  106. package/dist/js/node/utils/createFileWatcher.js +15 -10
  107. package/dist/js/node/utils/createServer.js +35 -29
  108. package/dist/js/node/utils/env.js +38 -0
  109. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  110. package/dist/js/node/utils/getSpecifiedEntries.js +10 -6
  111. package/dist/js/node/utils/language.js +7 -3
  112. package/dist/js/node/utils/printInstructions.js +10 -6
  113. package/dist/js/node/utils/restart.js +11 -7
  114. package/dist/js/node/utils/routes.js +11 -7
  115. package/dist/js/node/utils/types.js +15 -0
  116. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  117. package/dist/js/treeshaking/analyze/constants.js +13 -1
  118. package/dist/js/treeshaking/analyze/generateCode.js +14 -17
  119. package/dist/js/treeshaking/analyze/getBundleEntry.js +5 -1
  120. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +9 -6
  121. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +11 -3
  122. package/dist/js/treeshaking/analyze/index.js +110 -7
  123. package/dist/js/treeshaking/analyze/nestedRoutes.js +30 -23
  124. package/dist/js/treeshaking/analyze/templates.js +13 -8
  125. package/dist/js/treeshaking/analyze/utils.js +15 -4
  126. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +6 -1
  127. package/dist/js/treeshaking/builder/index.js +13 -20
  128. package/dist/js/treeshaking/builder/share.js +1 -4
  129. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +3 -1
  130. package/dist/js/treeshaking/commands/dev.js +19 -24
  131. package/dist/js/treeshaking/commands/index.js +1 -1
  132. package/dist/js/treeshaking/commands/{start.js → serve.js} +10 -3
  133. package/dist/js/treeshaking/config/default.js +53 -56
  134. package/dist/js/treeshaking/config/initial/createOutputConfig.js +1 -3
  135. package/dist/js/treeshaking/config/initial/createSourceConfig.js +5 -1
  136. package/dist/js/treeshaking/config/initial/inits.js +7 -0
  137. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +5 -1
  138. package/dist/js/treeshaking/hooks.js +6 -1
  139. package/dist/js/treeshaking/index.js +349 -132
  140. package/dist/js/treeshaking/initialize/index.js +6 -5
  141. package/dist/js/treeshaking/locale/en.js +1 -1
  142. package/dist/js/treeshaking/locale/zh.js +1 -1
  143. package/dist/js/treeshaking/schema/index.js +11 -12
  144. package/dist/js/treeshaking/schema/legacy.js +1 -4
  145. package/dist/js/treeshaking/utils/commands.js +5 -1
  146. package/dist/js/treeshaking/utils/env.js +13 -0
  147. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  148. package/dist/types/analyze/Builder.d.ts +8 -0
  149. package/dist/types/analyze/constants.d.ts +13 -1
  150. package/dist/types/analyze/templates.d.ts +3 -1
  151. package/dist/types/analyze/utils.d.ts +2 -1
  152. package/dist/types/builder/builderPlugins/compatModern.d.ts +3 -3
  153. package/dist/types/builder/index.d.ts +2 -2
  154. package/dist/types/commands/index.d.ts +1 -1
  155. package/dist/types/commands/{start.d.ts → serve.d.ts} +0 -0
  156. package/dist/types/index.d.ts +5 -1
  157. package/dist/types/locale/en.d.ts +1 -1
  158. package/dist/types/locale/index.d.ts +2 -2
  159. package/dist/types/locale/zh.d.ts +1 -1
  160. package/dist/types/schema/Schema.d.ts +1 -1
  161. package/dist/types/types/config/deploy.d.ts +1 -1
  162. package/dist/types/types/config/dev.d.ts +4 -4
  163. package/dist/types/types/config/experiments.d.ts +3 -3
  164. package/dist/types/types/config/html.d.ts +3 -3
  165. package/dist/types/types/config/index.d.ts +6 -3
  166. package/dist/types/types/config/output.d.ts +6 -6
  167. package/dist/types/types/config/performance.d.ts +3 -3
  168. package/dist/types/types/config/security.d.ts +3 -3
  169. package/dist/types/types/config/source.d.ts +6 -5
  170. package/dist/types/types/config/tools.d.ts +3 -3
  171. package/dist/types/types/hooks.d.ts +9 -1
  172. package/dist/types/types/index.d.ts +6 -6
  173. package/dist/types/types/legacyConfig/deploy.d.ts +1 -1
  174. package/dist/types/types/legacyConfig/dev.d.ts +2 -2
  175. package/dist/types/types/legacyConfig/index.d.ts +1 -1
  176. package/dist/types/types/legacyConfig/output.d.ts +2 -2
  177. package/dist/types/types/legacyConfig/source.d.ts +1 -2
  178. package/dist/types/types/legacyConfig/tools.d.ts +2 -2
  179. package/dist/types/utils/commands.d.ts +2 -1
  180. package/dist/types/utils/env.d.ts +2 -0
  181. package/dist/types/utils/getServerInternalPlugins.d.ts +2 -0
  182. package/dist/types/utils/types.d.ts +5 -5
  183. package/package.json +27 -24
@@ -1,9 +1,26 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
8
  var __getProtoOf = Object.getPrototypeOf;
6
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7
24
  var __export = (target, all) => {
8
25
  for (var name in all)
9
26
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -21,36 +38,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
38
  mod
22
39
  ));
23
40
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var stdin_exports = {};
25
- __export(stdin_exports, {
41
+ var getRoutesLegacy_exports = {};
42
+ __export(getRoutesLegacy_exports, {
26
43
  getClientRoutes: () => getClientRoutes
27
44
  });
28
- module.exports = __toCommonJS(stdin_exports);
45
+ module.exports = __toCommonJS(getRoutesLegacy_exports);
29
46
  var import_path = __toESM(require("path"));
30
47
  var import_utils = require("@modern-js/utils");
31
48
  var import_makeLegalIdentifier = require("../makeLegalIdentifier");
32
49
  var import_constants = require("../constants");
33
50
  var import_utils2 = require("../utils");
34
51
  var import_utils3 = require("./utils");
35
- var __defProp2 = Object.defineProperty;
36
- var __defProps = Object.defineProperties;
37
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
38
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
39
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
40
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
41
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
42
- var __spreadValues = (a, b) => {
43
- for (var prop in b || (b = {}))
44
- if (__hasOwnProp2.call(b, prop))
45
- __defNormalProp(a, prop, b[prop]);
46
- if (__getOwnPropSymbols)
47
- for (var prop of __getOwnPropSymbols(b)) {
48
- if (__propIsEnum.call(b, prop))
49
- __defNormalProp(a, prop, b[prop]);
50
- }
51
- return a;
52
- };
53
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
54
52
  const compName = (srcDirectory, filePath) => {
55
53
  const legalCompName = (0, import_makeLegalIdentifier.makeLegalIdentifier)(
56
54
  import_path.default.relative(srcDirectory, filePath)
@@ -234,3 +232,7 @@ const getClientRoutes = ({
234
232
  (0, import_utils3.debug)(`fileSystem routes: %o`, routes);
235
233
  return routes;
236
234
  };
235
+ // Annotate the CommonJS export names for ESM import in node:
236
+ 0 && (module.exports = {
237
+ getClientRoutes
238
+ });
@@ -15,11 +15,16 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var stdin_exports = {};
19
- __export(stdin_exports, {
18
+ var getClientRoutes_exports = {};
19
+ __export(getClientRoutes_exports, {
20
20
  getClientRoutes: () => import_getRoutes.getClientRoutes,
21
21
  getClientRoutesLegacy: () => import_getRoutesLegacy.getClientRoutes
22
22
  });
23
- module.exports = __toCommonJS(stdin_exports);
23
+ module.exports = __toCommonJS(getClientRoutes_exports);
24
24
  var import_getRoutes = require("./getRoutes");
25
25
  var import_getRoutesLegacy = require("./getRoutesLegacy");
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ getClientRoutes,
29
+ getClientRoutesLegacy
30
+ });
@@ -21,14 +21,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  mod
22
22
  ));
23
23
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var stdin_exports = {};
25
- __export(stdin_exports, {
24
+ var utils_exports = {};
25
+ __export(utils_exports, {
26
26
  debug: () => debug,
27
27
  findLayout: () => findLayout,
28
28
  getRouteWeight: () => getRouteWeight,
29
29
  shouldSkip: () => shouldSkip
30
30
  });
31
- module.exports = __toCommonJS(stdin_exports);
31
+ module.exports = __toCommonJS(utils_exports);
32
32
  var import_path = __toESM(require("path"));
33
33
  var import_utils = require("@modern-js/utils");
34
34
  var import_constants = require("../constants");
@@ -49,3 +49,10 @@ const shouldSkip = (file) => {
49
49
  }
50
50
  return false;
51
51
  };
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ debug,
55
+ findLayout,
56
+ getRouteWeight,
57
+ shouldSkip
58
+ });
@@ -21,11 +21,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  mod
22
22
  ));
23
23
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var stdin_exports = {};
25
- __export(stdin_exports, {
24
+ var getFileSystemEntry_exports = {};
25
+ __export(getFileSystemEntry_exports, {
26
26
  getFileSystemEntry: () => getFileSystemEntry
27
27
  });
28
- module.exports = __toCommonJS(stdin_exports);
28
+ module.exports = __toCommonJS(getFileSystemEntry_exports);
29
29
  var import_fs = __toESM(require("fs"));
30
30
  var import_path = __toESM(require("path"));
31
31
  var import_utils = require("@modern-js/utils");
@@ -84,9 +84,11 @@ const scanDir = (dirs) => dirs.map((dir) => {
84
84
  };
85
85
  if (isHasPages) {
86
86
  entrypoint.entry = import_path.default.join(dir, import_constants.PAGES_DIR_NAME);
87
+ entrypoint.pageRoutesEntry = entrypoint.entry;
87
88
  }
88
89
  if (isHasNestedRoutes) {
89
- entrypoint.nestedRoutesEntry = import_path.default.join(dir, import_constants.NESTED_ROUTES_DIR);
90
+ entrypoint.entry = import_path.default.join(dir, import_constants.NESTED_ROUTES_DIR);
91
+ entrypoint.nestedRoutesEntry = entrypoint.entry;
90
92
  }
91
93
  return entrypoint;
92
94
  }
@@ -100,14 +102,20 @@ const scanDir = (dirs) => dirs.map((dir) => {
100
102
  const getFileSystemEntry = (appContext, config) => {
101
103
  const { appDirectory } = appContext;
102
104
  const {
103
- source: { entriesDir }
105
+ source: { entriesDir, disableEntryDirs }
104
106
  } = config;
107
+ let disabledDirs = [];
108
+ if (disableEntryDirs && Array.isArray(disableEntryDirs)) {
109
+ disabledDirs = disableEntryDirs == null ? void 0 : disableEntryDirs.map(
110
+ (dir) => (0, import_utils.ensureAbsolutePath)(appDirectory, dir)
111
+ );
112
+ }
105
113
  const src = (0, import_utils.ensureAbsolutePath)(appDirectory, entriesDir || "");
106
114
  if (import_fs.default.existsSync(src)) {
107
115
  if (import_fs.default.statSync(src).isDirectory()) {
108
116
  return scanDir(
109
117
  isBundleEntry(src) ? [src] : import_fs.default.readdirSync(src).map((file) => import_path.default.join(src, file)).filter(
110
- (file) => import_fs.default.statSync(file).isDirectory() && isBundleEntry(file)
118
+ (file) => import_fs.default.statSync(file).isDirectory() && isBundleEntry(file) && !disabledDirs.includes(file)
111
119
  )
112
120
  );
113
121
  } else {
@@ -117,3 +125,7 @@ const getFileSystemEntry = (appContext, config) => {
117
125
  throw Error(`src dir ${entriesDir} not found.`);
118
126
  }
119
127
  };
128
+ // Annotate the CommonJS export names for ESM import in node:
129
+ 0 && (module.exports = {
130
+ getFileSystemEntry
131
+ });
@@ -21,15 +21,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  mod
22
22
  ));
23
23
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var stdin_exports = {};
25
- __export(stdin_exports, {
26
- getHtmlTemplate: () => getHtmlTemplate
27
- });
28
- module.exports = __toCommonJS(stdin_exports);
29
- var import_path = __toESM(require("path"));
30
- var import_utils = require("@modern-js/utils");
31
- var import_constants = require("./constants");
32
- var templates = __toESM(require("./templates"));
33
24
  var __async = (__this, __arguments, generator) => {
34
25
  return new Promise((resolve, reject) => {
35
26
  var fulfilled = (value) => {
@@ -50,6 +41,15 @@ var __async = (__this, __arguments, generator) => {
50
41
  step((generator = generator.apply(__this, __arguments)).next());
51
42
  });
52
43
  };
44
+ var getHtmlTemplate_exports = {};
45
+ __export(getHtmlTemplate_exports, {
46
+ getHtmlTemplate: () => getHtmlTemplate
47
+ });
48
+ module.exports = __toCommonJS(getHtmlTemplate_exports);
49
+ var import_path = __toESM(require("path"));
50
+ var import_utils = require("@modern-js/utils");
51
+ var import_constants = require("./constants");
52
+ var templates = __toESM(require("./templates"));
53
53
  var PartialPosition = /* @__PURE__ */ ((PartialPosition2) => {
54
54
  PartialPosition2["TOP"] = "top";
55
55
  PartialPosition2["HEAD"] = "head";
@@ -94,7 +94,7 @@ const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function*
94
94
  const customIndexTemplate = findPartials(
95
95
  htmlDir,
96
96
  name,
97
- "index"
97
+ "index" /* INDEX */
98
98
  );
99
99
  if (customIndexTemplate) {
100
100
  htmlTemplates[entryName] = customIndexTemplate.file;
@@ -103,9 +103,9 @@ const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function*
103
103
  const { partials } = yield hookRunners.htmlPartials({
104
104
  entrypoint,
105
105
  partials: [
106
- "top",
107
- "head",
108
- "body"
106
+ "top" /* TOP */,
107
+ "head" /* HEAD */,
108
+ "body" /* BODY */
109
109
  ].reduce(
110
110
  (previous, position) => {
111
111
  const found = findPartials(htmlDir, name, position);
@@ -129,7 +129,7 @@ const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function*
129
129
  const bottomTemplate = findPartials(
130
130
  htmlDir,
131
131
  name,
132
- "bottom"
132
+ "bottom" /* BOTTOM */
133
133
  );
134
134
  if (bottomTemplate) {
135
135
  htmlTemplates[`__${entryName}-bottom__`] = bottomTemplate.content;
@@ -138,3 +138,7 @@ const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function*
138
138
  }
139
139
  return htmlTemplates;
140
140
  });
141
+ // Annotate the CommonJS export names for ESM import in node:
142
+ 0 && (module.exports = {
143
+ getHtmlTemplate
144
+ });
@@ -1,45 +1,17 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
8
  var __getProtoOf = Object.getPrototypeOf;
6
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
- mod
22
- ));
23
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var stdin_exports = {};
25
- __export(stdin_exports, {
26
- getServerRoutes: () => getServerRoutes
27
- });
28
- module.exports = __toCommonJS(stdin_exports);
29
- var import_path = __toESM(require("path"));
30
- var import_fs = __toESM(require("fs"));
31
- var import_utils = require("@modern-js/utils");
32
- var import_utils2 = require("./utils");
33
- var __defProp2 = Object.defineProperty;
34
- var __defProps = Object.defineProperties;
35
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
36
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
37
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
38
10
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
39
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
40
12
  var __spreadValues = (a, b) => {
41
13
  for (var prop in b || (b = {}))
42
- if (__hasOwnProp2.call(b, prop))
14
+ if (__hasOwnProp.call(b, prop))
43
15
  __defNormalProp(a, prop, b[prop]);
44
16
  if (__getOwnPropSymbols)
45
17
  for (var prop of __getOwnPropSymbols(b)) {
@@ -52,7 +24,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
52
24
  var __objRest = (source, exclude) => {
53
25
  var target = {};
54
26
  for (var prop in source)
55
- if (__hasOwnProp2.call(source, prop) && exclude.indexOf(prop) < 0)
27
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
56
28
  target[prop] = source[prop];
57
29
  if (source != null && __getOwnPropSymbols)
58
30
  for (var prop of __getOwnPropSymbols(source)) {
@@ -61,6 +33,32 @@ var __objRest = (source, exclude) => {
61
33
  }
62
34
  return target;
63
35
  };
36
+ var __export = (target, all) => {
37
+ for (var name in all)
38
+ __defProp(target, name, { get: all[name], enumerable: true });
39
+ };
40
+ var __copyProps = (to, from, except, desc) => {
41
+ if (from && typeof from === "object" || typeof from === "function") {
42
+ for (let key of __getOwnPropNames(from))
43
+ if (!__hasOwnProp.call(to, key) && key !== except)
44
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
45
+ }
46
+ return to;
47
+ };
48
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
49
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
50
+ mod
51
+ ));
52
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
53
+ var getServerRoutes_exports = {};
54
+ __export(getServerRoutes_exports, {
55
+ getServerRoutes: () => getServerRoutes
56
+ });
57
+ module.exports = __toCommonJS(getServerRoutes_exports);
58
+ var import_path = __toESM(require("path"));
59
+ var import_fs = __toESM(require("fs"));
60
+ var import_utils = require("@modern-js/utils");
61
+ var import_utils2 = require("./utils");
64
62
  const applyBaseUrl = (baseUrl, routes) => {
65
63
  if (baseUrl) {
66
64
  if (Array.isArray(baseUrl)) {
@@ -190,3 +188,7 @@ const getServerRoutes = (entrypoints, {
190
188
  ...collectStaticRoutes(appContext, config)
191
189
  ];
192
190
  const toPosix = (pathStr) => pathStr.split(import_path.default.sep).join(import_path.default.posix.sep);
191
+ // Annotate the CommonJS export names for ESM import in node:
192
+ 0 && (module.exports = {
193
+ getServerRoutes
194
+ });
@@ -1,55 +1,17 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
8
  var __getProtoOf = Object.getPrototypeOf;
6
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
- mod
22
- ));
23
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var stdin_exports = {};
25
- __export(stdin_exports, {
26
- default: () => analyze_default
27
- });
28
- module.exports = __toCommonJS(stdin_exports);
29
- var path = __toESM(require("path"));
30
- var import_utils = require("@modern-js/utils");
31
- var import_lodash = require("@modern-js/utils/lodash");
32
- var import_builder = require("../builder");
33
- var import_printInstructions = require("../utils/printInstructions");
34
- var import_routes = require("../utils/routes");
35
- var import_config = require("../utils/config");
36
- var import_commands = require("../utils/commands");
37
- var import_config2 = require("../config");
38
- var import_utils2 = require("./utils");
39
- var __create2 = Object.create;
40
- var __defProp2 = Object.defineProperty;
41
- var __defProps = Object.defineProperties;
42
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
43
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
44
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
45
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
46
- var __getProtoOf2 = Object.getPrototypeOf;
47
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
48
10
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
49
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
50
12
  var __spreadValues = (a, b) => {
51
13
  for (var prop in b || (b = {}))
52
- if (__hasOwnProp2.call(b, prop))
14
+ if (__hasOwnProp.call(b, prop))
53
15
  __defNormalProp(a, prop, b[prop]);
54
16
  if (__getOwnPropSymbols)
55
17
  for (var prop of __getOwnPropSymbols(b)) {
@@ -59,18 +21,23 @@ var __spreadValues = (a, b) => {
59
21
  return a;
60
22
  };
61
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
62
- var __copyProps2 = (to, from, except, desc) => {
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
63
29
  if (from && typeof from === "object" || typeof from === "function") {
64
- for (let key of __getOwnPropNames2(from))
65
- if (!__hasOwnProp2.call(to, key) && key !== except)
66
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
67
33
  }
68
34
  return to;
69
35
  };
70
- var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
71
- isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
37
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
72
38
  mod
73
39
  ));
40
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
74
41
  var __async = (__this, __arguments, generator) => {
75
42
  return new Promise((resolve, reject) => {
76
43
  var fulfilled = (value) => {
@@ -91,11 +58,29 @@ var __async = (__this, __arguments, generator) => {
91
58
  step((generator = generator.apply(__this, __arguments)).next());
92
59
  });
93
60
  };
61
+ var analyze_exports = {};
62
+ __export(analyze_exports, {
63
+ default: () => analyze_default
64
+ });
65
+ module.exports = __toCommonJS(analyze_exports);
66
+ var path = __toESM(require("path"));
67
+ var import_utils = require("@modern-js/utils");
68
+ var import_lodash = require("@modern-js/utils/lodash");
69
+ var import_builder = require("../builder");
70
+ var import_printInstructions = require("../utils/printInstructions");
71
+ var import_routes = require("../utils/routes");
72
+ var import_config = require("../utils/config");
73
+ var import_commands = require("../utils/commands");
74
+ var import_config2 = require("../config");
75
+ var import_utils2 = require("./utils");
76
+ var import_Builder = require("./Builder");
77
+ var import_constants = require("./constants");
94
78
  const debug = (0, import_utils.createDebugger)("plugin-analyze");
95
79
  var analyze_default = () => ({
96
80
  name: "@modern-js/plugin-analyze",
97
81
  setup: (api) => {
98
82
  let pagesDir = [];
83
+ let nestedRouteEntries = [];
99
84
  let originEntrypoints = [];
100
85
  return {
101
86
  prepare() {
@@ -131,10 +116,10 @@ var analyze_default = () => ({
131
116
  { generateCode },
132
117
  { getHtmlTemplate }
133
118
  ] = yield Promise.all([
134
- Promise.resolve().then(() => __toESM2(require("./getBundleEntry"))),
135
- Promise.resolve().then(() => __toESM2(require("./getServerRoutes"))),
136
- Promise.resolve().then(() => __toESM2(require("./generateCode"))),
137
- Promise.resolve().then(() => __toESM2(require("./getHtmlTemplate")))
119
+ Promise.resolve().then(() => __toESM(require("./getBundleEntry"))),
120
+ Promise.resolve().then(() => __toESM(require("./getServerRoutes"))),
121
+ Promise.resolve().then(() => __toESM(require("./generateCode"))),
122
+ Promise.resolve().then(() => __toESM(require("./getHtmlTemplate")))
138
123
  ]);
139
124
  const entrypoints = getBundleEntry(appContext, resolvedConfig);
140
125
  const defaultChecked = entrypoints.map((point) => point.entryName);
@@ -152,7 +137,7 @@ var analyze_default = () => ({
152
137
  serverRoutes: routes
153
138
  });
154
139
  api.setAppContext(appContext);
155
- const nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
140
+ nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
156
141
  pagesDir = entrypoints.map((point) => point.entry).filter(Boolean).concat(nestedRouteEntries);
157
142
  originEntrypoints = (0, import_lodash.cloneDeep)(entrypoints);
158
143
  yield generateCode(appContext, resolvedConfig, entrypoints, api);
@@ -172,11 +157,11 @@ var analyze_default = () => ({
172
157
  });
173
158
  api.setAppContext(appContext);
174
159
  const command = (0, import_commands.getCommand)();
175
- const buildCommands = ["dev", "build", "inspect", "deploy"];
160
+ const buildCommands = ["dev", "start", "build", "inspect", "deploy"];
176
161
  if (buildCommands.includes(command)) {
177
162
  let _b;
178
163
  const normalizedConfig = api.useResolvedConfigContext();
179
- const builder = yield (0, import_builder.createBuilderForEdenX)({
164
+ const builder = yield (0, import_builder.createBuilderForModern)({
180
165
  normalizedConfig,
181
166
  appContext,
182
167
  compatPluginConfig: {
@@ -228,6 +213,7 @@ var analyze_default = () => ({
228
213
  }
229
214
  }
230
215
  });
216
+ builder.addPlugins(resolvedConfig.builderPlugins);
231
217
  appContext = __spreadProps(__spreadValues({}, appContext), {
232
218
  builder
233
219
  });
@@ -245,6 +231,64 @@ var analyze_default = () => ({
245
231
  resolved: config
246
232
  };
247
233
  },
234
+ modifyEntryImports(_0) {
235
+ return __async(this, arguments, function* ({ entrypoint, imports }) {
236
+ const appContext = api.useAppContext();
237
+ const { srcDirectory } = appContext;
238
+ const { fileSystemRoutes, nestedRoutesEntry } = entrypoint;
239
+ if (fileSystemRoutes && nestedRoutesEntry) {
240
+ const rootLayoutPath = path.join(nestedRoutesEntry, "layout");
241
+ const rootLayoutFile = (0, import_utils.findExists)(
242
+ [".js", ".ts", ".jsx", ".tsx"].map(
243
+ (ext) => `${rootLayoutPath}${ext}`
244
+ )
245
+ );
246
+ if (rootLayoutFile) {
247
+ const rootLayoutBuffer = yield import_utils.fs.readFile(rootLayoutFile);
248
+ const rootLayout = rootLayoutBuffer.toString();
249
+ const [, moduleExports] = yield (0, import_utils2.parseModule)({
250
+ source: rootLayout.toString(),
251
+ filename: rootLayoutFile
252
+ });
253
+ const hasAppConfig = moduleExports.some(
254
+ (e) => e.n === import_constants.APP_CONFIG_NAME
255
+ );
256
+ const generateLayoutPath = (0, import_utils2.replaceWithAlias)(
257
+ srcDirectory,
258
+ rootLayoutFile,
259
+ "@_modern_js_src"
260
+ );
261
+ if (hasAppConfig) {
262
+ imports.push({
263
+ value: generateLayoutPath,
264
+ specifiers: [{ imported: import_constants.APP_CONFIG_NAME }]
265
+ });
266
+ }
267
+ const hasAppInit = moduleExports.some(
268
+ (e) => e.n === import_constants.APP_INIT_EXPORTED
269
+ );
270
+ if (hasAppInit) {
271
+ imports.push({
272
+ value: generateLayoutPath,
273
+ specifiers: [
274
+ { imported: import_constants.APP_INIT_EXPORTED, local: import_constants.APP_INIT_IMPORTED }
275
+ ]
276
+ });
277
+ }
278
+ }
279
+ }
280
+ return {
281
+ entrypoint,
282
+ imports
283
+ };
284
+ });
285
+ },
286
+ beforeRestart() {
287
+ return __async(this, null, function* () {
288
+ import_Builder.serverLoaderBuilder.stop();
289
+ import_Builder.loaderBuilder.stop();
290
+ });
291
+ },
248
292
  fileChange(e) {
249
293
  return __async(this, null, function* () {
250
294
  const appContext = api.useAppContext();
@@ -252,10 +296,10 @@ var analyze_default = () => ({
252
296
  const { filename, eventType } = e;
253
297
  const isPageFile = (name) => pagesDir.some((pageDir) => name.includes(pageDir));
254
298
  const absoluteFilePath = path.resolve(appDirectory, filename);
255
- const isRouteComponent = isPageFile(absoluteFilePath) && (0, import_utils2.isRouteComponentFile)(absoluteFilePath);
256
- if (isRouteComponent && (eventType === "add" || eventType === "unlink")) {
299
+ const isRouteComponent = isPageFile(absoluteFilePath) && (0, import_utils2.isPageComponentFile)(absoluteFilePath);
300
+ if (isRouteComponent && (eventType === "add" || eventType === "unlink") || (0, import_utils2.isNestedRouteComponent)(nestedRouteEntries, absoluteFilePath) && eventType === "change") {
257
301
  const resolvedConfig = api.useResolvedConfigContext();
258
- const { generateCode } = yield Promise.resolve().then(() => __toESM2(require("./generateCode")));
302
+ const { generateCode } = yield Promise.resolve().then(() => __toESM(require("./generateCode")));
259
303
  const entrypoints = (0, import_lodash.cloneDeep)(originEntrypoints);
260
304
  generateCode(appContext, resolvedConfig, entrypoints, api);
261
305
  }
@@ -264,3 +308,5 @@ var analyze_default = () => ({
264
308
  };
265
309
  }
266
310
  });
311
+ // Annotate the CommonJS export names for ESM import in node:
312
+ 0 && (module.exports = {});
@@ -21,11 +21,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  mod
22
22
  ));
23
23
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var stdin_exports = {};
25
- __export(stdin_exports, {
24
+ var isDefaultExportFunction_exports = {};
25
+ __export(isDefaultExportFunction_exports, {
26
26
  isDefaultExportFunction: () => isDefaultExportFunction
27
27
  });
28
- module.exports = __toCommonJS(stdin_exports);
28
+ module.exports = __toCommonJS(isDefaultExportFunction_exports);
29
29
  var import_fs = __toESM(require("fs"));
30
30
  var import_parser = require("@babel/parser");
31
31
  var import_traverse = __toESM(require("@babel/traverse"));
@@ -65,3 +65,7 @@ const isDefaultExportFunction = (file) => {
65
65
  });
66
66
  return isExportFunction;
67
67
  };
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ isDefaultExportFunction
71
+ });
@@ -15,11 +15,11 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var stdin_exports = {};
19
- __export(stdin_exports, {
18
+ var makeLegalIdentifier_exports = {};
19
+ __export(makeLegalIdentifier_exports, {
20
20
  makeLegalIdentifier: () => makeLegalIdentifier
21
21
  });
22
- module.exports = __toCommonJS(stdin_exports);
22
+ module.exports = __toCommonJS(makeLegalIdentifier_exports);
23
23
  const reservedWords = "break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public";
24
24
  const builtins = "arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl";
25
25
  const forbidList = new Set(`${reservedWords} ${builtins}`.split(" "));
@@ -30,3 +30,7 @@ function makeLegalIdentifier(str) {
30
30
  }
31
31
  return identifier || "_";
32
32
  }
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ makeLegalIdentifier
36
+ });