@modern-js/app-tools 2.0.0-beta.4 → 2.0.0-beta.7

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 (151) hide show
  1. package/CHANGELOG.md +366 -0
  2. package/bin/modern.js +2 -0
  3. package/dist/js/modern/analyze/constants.js +10 -0
  4. package/dist/js/modern/analyze/generateCode.js +7 -9
  5. package/dist/js/modern/analyze/getBundleEntry.js +2 -1
  6. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +9 -6
  7. package/dist/js/modern/analyze/getFileSystemEntry.js +11 -3
  8. package/dist/js/modern/analyze/index.js +7 -5
  9. package/dist/js/modern/analyze/nestedRoutes.js +29 -22
  10. package/dist/js/modern/analyze/templates.js +8 -1
  11. package/dist/js/modern/analyze/utils.js +21 -4
  12. package/dist/js/modern/builder/builderPlugins/compatModern.js +8 -2
  13. package/dist/js/modern/builder/index.js +9 -9
  14. package/dist/js/modern/commands/dev.js +6 -9
  15. package/dist/js/modern/commands/index.js +1 -1
  16. package/dist/js/modern/commands/{start.js → serve.js} +3 -1
  17. package/dist/js/modern/config/default.js +38 -61
  18. package/dist/js/modern/config/initial/createOutputConfig.js +1 -3
  19. package/dist/js/modern/config/initial/createSourceConfig.js +5 -1
  20. package/dist/js/modern/config/initial/transformNormalizedConfig.js +5 -1
  21. package/dist/js/modern/hooks.js +1 -0
  22. package/dist/js/modern/index.js +5 -5
  23. package/dist/js/modern/initialize/index.js +5 -4
  24. package/dist/js/modern/locale/en.js +1 -1
  25. package/dist/js/modern/locale/zh.js +1 -1
  26. package/dist/js/modern/schema/index.js +5 -7
  27. package/dist/js/modern/schema/legacy.js +1 -2
  28. package/dist/js/modern/utils/commands.js +6 -1
  29. package/dist/js/modern/utils/getServerInternalPlugins.js +58 -0
  30. package/dist/js/node/analyze/Builder.js +14 -8
  31. package/dist/js/node/analyze/constants.js +35 -3
  32. package/dist/js/node/analyze/generateCode.js +27 -24
  33. package/dist/js/node/analyze/getBundleEntry.js +9 -4
  34. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +33 -28
  35. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +24 -22
  36. package/dist/js/node/analyze/getClientRoutes/index.js +8 -3
  37. package/dist/js/node/analyze/getClientRoutes/utils.js +10 -3
  38. package/dist/js/node/analyze/getFileSystemEntry.js +18 -6
  39. package/dist/js/node/analyze/getHtmlTemplate.js +18 -14
  40. package/dist/js/node/analyze/getServerRoutes.js +36 -34
  41. package/dist/js/node/analyze/index.js +45 -59
  42. package/dist/js/node/analyze/isDefaultExportFunction.js +7 -3
  43. package/dist/js/node/analyze/makeLegalIdentifier.js +7 -3
  44. package/dist/js/node/analyze/nestedRoutes.js +58 -49
  45. package/dist/js/node/analyze/templates.js +45 -32
  46. package/dist/js/node/analyze/utils.js +41 -18
  47. package/dist/js/node/builder/builderPlugins/compatModern.js +32 -24
  48. package/dist/js/node/builder/index.js +38 -49
  49. package/dist/js/node/builder/loaders/routerLoader.js +5 -3
  50. package/dist/js/node/builder/loaders/serverModuleLoader.js +5 -3
  51. package/dist/js/node/builder/share.js +7 -3
  52. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +7 -3
  53. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +7 -3
  54. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +9 -7
  55. package/dist/js/node/commands/build.js +30 -28
  56. package/dist/js/node/commands/deploy.js +9 -5
  57. package/dist/js/node/commands/dev.js +39 -40
  58. package/dist/js/node/commands/index.js +5 -5
  59. package/dist/js/node/commands/inspect.js +10 -6
  60. package/dist/js/node/commands/{start.js → serve.js} +16 -10
  61. package/dist/js/node/config/default.js +44 -64
  62. package/dist/js/node/config/index.js +10 -3
  63. package/dist/js/node/config/initial/createHtmlConfig.js +7 -3
  64. package/dist/js/node/config/initial/createOutputConfig.js +8 -6
  65. package/dist/js/node/config/initial/createSourceConfig.js +12 -4
  66. package/dist/js/node/config/initial/createToolsConfig.js +7 -3
  67. package/dist/js/node/config/initial/index.js +9 -3
  68. package/dist/js/node/config/initial/inits.js +26 -22
  69. package/dist/js/node/config/initial/transformNormalizedConfig.js +12 -4
  70. package/dist/js/node/defineConfig.js +25 -22
  71. package/dist/js/node/exports/server.js +7 -3
  72. package/dist/js/node/hooks.js +8 -3
  73. package/dist/js/node/index.js +56 -69
  74. package/dist/js/node/initialize/index.js +33 -32
  75. package/dist/js/node/locale/en.js +8 -4
  76. package/dist/js/node/locale/index.js +8 -3
  77. package/dist/js/node/locale/zh.js +8 -4
  78. package/dist/js/node/schema/Schema.js +7 -3
  79. package/dist/js/node/schema/index.js +13 -10
  80. package/dist/js/node/schema/legacy.js +6 -5
  81. package/dist/js/node/types/config/deploy.js +15 -0
  82. package/dist/js/node/types/config/dev.js +15 -0
  83. package/dist/js/node/types/config/experiments.js +15 -0
  84. package/dist/js/node/types/config/html.js +15 -0
  85. package/dist/js/node/types/config/index.js +3 -3
  86. package/dist/js/node/types/config/output.js +15 -0
  87. package/dist/js/node/types/config/performance.js +15 -0
  88. package/dist/js/node/types/config/security.js +15 -0
  89. package/dist/js/node/types/config/source.js +15 -0
  90. package/dist/js/node/types/config/tools.js +15 -0
  91. package/dist/js/node/types/hooks.js +15 -0
  92. package/dist/js/node/types/index.js +5 -5
  93. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  94. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  95. package/dist/js/node/types/legacyConfig/index.js +15 -0
  96. package/dist/js/node/types/legacyConfig/output.js +15 -0
  97. package/dist/js/node/types/legacyConfig/source.js +15 -0
  98. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  99. package/dist/js/node/utils/commands.js +14 -4
  100. package/dist/js/node/utils/config.js +35 -30
  101. package/dist/js/node/utils/createFileWatcher.js +15 -10
  102. package/dist/js/node/utils/createServer.js +35 -29
  103. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  104. package/dist/js/node/utils/getSpecifiedEntries.js +10 -6
  105. package/dist/js/node/utils/language.js +7 -3
  106. package/dist/js/node/utils/printInstructions.js +10 -6
  107. package/dist/js/node/utils/restart.js +11 -7
  108. package/dist/js/node/utils/routes.js +11 -7
  109. package/dist/js/node/utils/types.js +15 -0
  110. package/dist/js/treeshaking/analyze/constants.js +10 -1
  111. package/dist/js/treeshaking/analyze/generateCode.js +7 -11
  112. package/dist/js/treeshaking/analyze/getBundleEntry.js +2 -1
  113. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +9 -6
  114. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +11 -3
  115. package/dist/js/treeshaking/analyze/index.js +7 -4
  116. package/dist/js/treeshaking/analyze/nestedRoutes.js +30 -23
  117. package/dist/js/treeshaking/analyze/templates.js +6 -1
  118. package/dist/js/treeshaking/analyze/utils.js +14 -4
  119. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +6 -2
  120. package/dist/js/treeshaking/builder/index.js +4 -9
  121. package/dist/js/treeshaking/commands/dev.js +19 -24
  122. package/dist/js/treeshaking/commands/index.js +1 -1
  123. package/dist/js/treeshaking/commands/{start.js → serve.js} +10 -3
  124. package/dist/js/treeshaking/config/default.js +53 -56
  125. package/dist/js/treeshaking/config/initial/createOutputConfig.js +1 -3
  126. package/dist/js/treeshaking/config/initial/createSourceConfig.js +5 -1
  127. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +5 -1
  128. package/dist/js/treeshaking/hooks.js +1 -0
  129. package/dist/js/treeshaking/index.js +5 -5
  130. package/dist/js/treeshaking/initialize/index.js +6 -5
  131. package/dist/js/treeshaking/locale/en.js +1 -1
  132. package/dist/js/treeshaking/locale/zh.js +1 -1
  133. package/dist/js/treeshaking/schema/index.js +10 -11
  134. package/dist/js/treeshaking/schema/legacy.js +0 -3
  135. package/dist/js/treeshaking/utils/commands.js +5 -1
  136. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  137. package/dist/types/analyze/constants.d.ts +10 -1
  138. package/dist/types/analyze/utils.d.ts +2 -1
  139. package/dist/types/commands/index.d.ts +1 -1
  140. package/dist/types/commands/{start.d.ts → serve.d.ts} +0 -0
  141. package/dist/types/index.d.ts +1 -0
  142. package/dist/types/locale/en.d.ts +1 -1
  143. package/dist/types/locale/index.d.ts +2 -2
  144. package/dist/types/locale/zh.d.ts +1 -1
  145. package/dist/types/types/config/index.d.ts +3 -0
  146. package/dist/types/types/config/source.d.ts +2 -1
  147. package/dist/types/types/hooks.d.ts +3 -0
  148. package/dist/types/types/legacyConfig/source.d.ts +0 -1
  149. package/dist/types/utils/commands.d.ts +2 -1
  150. package/dist/types/utils/getServerInternalPlugins.d.ts +2 -0
  151. package/package.json +25 -22
@@ -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,56 +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 import_Builder = require("./Builder");
40
- var __create2 = Object.create;
41
- var __defProp2 = Object.defineProperty;
42
- var __defProps = Object.defineProperties;
43
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
44
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
45
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
46
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
47
- var __getProtoOf2 = Object.getPrototypeOf;
48
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
49
10
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
50
- 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;
51
12
  var __spreadValues = (a, b) => {
52
13
  for (var prop in b || (b = {}))
53
- if (__hasOwnProp2.call(b, prop))
14
+ if (__hasOwnProp.call(b, prop))
54
15
  __defNormalProp(a, prop, b[prop]);
55
16
  if (__getOwnPropSymbols)
56
17
  for (var prop of __getOwnPropSymbols(b)) {
@@ -60,18 +21,23 @@ var __spreadValues = (a, b) => {
60
21
  return a;
61
22
  };
62
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
63
- 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) => {
64
29
  if (from && typeof from === "object" || typeof from === "function") {
65
- for (let key of __getOwnPropNames2(from))
66
- if (!__hasOwnProp2.call(to, key) && key !== except)
67
- __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 });
68
33
  }
69
34
  return to;
70
35
  };
71
- var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
72
- 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,
73
38
  mod
74
39
  ));
40
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
75
41
  var __async = (__this, __arguments, generator) => {
76
42
  return new Promise((resolve, reject) => {
77
43
  var fulfilled = (value) => {
@@ -92,11 +58,28 @@ var __async = (__this, __arguments, generator) => {
92
58
  step((generator = generator.apply(__this, __arguments)).next());
93
59
  });
94
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");
95
77
  const debug = (0, import_utils.createDebugger)("plugin-analyze");
96
78
  var analyze_default = () => ({
97
79
  name: "@modern-js/plugin-analyze",
98
80
  setup: (api) => {
99
81
  let pagesDir = [];
82
+ let nestedRouteEntries = [];
100
83
  let originEntrypoints = [];
101
84
  return {
102
85
  prepare() {
@@ -132,10 +115,10 @@ var analyze_default = () => ({
132
115
  { generateCode },
133
116
  { getHtmlTemplate }
134
117
  ] = yield Promise.all([
135
- Promise.resolve().then(() => __toESM2(require("./getBundleEntry"))),
136
- Promise.resolve().then(() => __toESM2(require("./getServerRoutes"))),
137
- Promise.resolve().then(() => __toESM2(require("./generateCode"))),
138
- Promise.resolve().then(() => __toESM2(require("./getHtmlTemplate")))
118
+ Promise.resolve().then(() => __toESM(require("./getBundleEntry"))),
119
+ Promise.resolve().then(() => __toESM(require("./getServerRoutes"))),
120
+ Promise.resolve().then(() => __toESM(require("./generateCode"))),
121
+ Promise.resolve().then(() => __toESM(require("./getHtmlTemplate")))
139
122
  ]);
140
123
  const entrypoints = getBundleEntry(appContext, resolvedConfig);
141
124
  const defaultChecked = entrypoints.map((point) => point.entryName);
@@ -153,7 +136,7 @@ var analyze_default = () => ({
153
136
  serverRoutes: routes
154
137
  });
155
138
  api.setAppContext(appContext);
156
- const nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
139
+ nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
157
140
  pagesDir = entrypoints.map((point) => point.entry).filter(Boolean).concat(nestedRouteEntries);
158
141
  originEntrypoints = (0, import_lodash.cloneDeep)(entrypoints);
159
142
  yield generateCode(appContext, resolvedConfig, entrypoints, api);
@@ -173,7 +156,7 @@ var analyze_default = () => ({
173
156
  });
174
157
  api.setAppContext(appContext);
175
158
  const command = (0, import_commands.getCommand)();
176
- const buildCommands = ["dev", "build", "inspect", "deploy"];
159
+ const buildCommands = ["dev", "start", "build", "inspect", "deploy"];
177
160
  if (buildCommands.includes(command)) {
178
161
  let _b;
179
162
  const normalizedConfig = api.useResolvedConfigContext();
@@ -229,6 +212,7 @@ var analyze_default = () => ({
229
212
  }
230
213
  }
231
214
  });
215
+ builder.addPlugins(resolvedConfig.builderPlugins);
232
216
  appContext = __spreadProps(__spreadValues({}, appContext), {
233
217
  builder
234
218
  });
@@ -259,10 +243,10 @@ var analyze_default = () => ({
259
243
  const { filename, eventType } = e;
260
244
  const isPageFile = (name) => pagesDir.some((pageDir) => name.includes(pageDir));
261
245
  const absoluteFilePath = path.resolve(appDirectory, filename);
262
- const isRouteComponent = isPageFile(absoluteFilePath) && (0, import_utils2.isRouteComponentFile)(absoluteFilePath);
263
- if (isRouteComponent && (eventType === "add" || eventType === "unlink")) {
246
+ const isRouteComponent = isPageFile(absoluteFilePath) && (0, import_utils2.isPageComponentFile)(absoluteFilePath);
247
+ if (isRouteComponent && (eventType === "add" || eventType === "unlink") || (0, import_utils2.isNestedRouteComponent)(nestedRouteEntries, absoluteFilePath) && eventType === "change") {
264
248
  const resolvedConfig = api.useResolvedConfigContext();
265
- const { generateCode } = yield Promise.resolve().then(() => __toESM2(require("./generateCode")));
249
+ const { generateCode } = yield Promise.resolve().then(() => __toESM(require("./generateCode")));
266
250
  const entrypoints = (0, import_lodash.cloneDeep)(originEntrypoints);
267
251
  generateCode(appContext, resolvedConfig, entrypoints, api);
268
252
  }
@@ -271,3 +255,5 @@ var analyze_default = () => ({
271
255
  };
272
256
  }
273
257
  });
258
+ // Annotate the CommonJS export names for ESM import in node:
259
+ 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
+ });
@@ -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,34 +38,6 @@ 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, {
26
- walk: () => walk
27
- });
28
- module.exports = __toCommonJS(stdin_exports);
29
- var path = __toESM(require("path"));
30
- var import_utils = require("@modern-js/utils");
31
- var import_constants = require("./constants");
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
- 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;
40
- var __spreadValues = (a, b) => {
41
- for (var prop in b || (b = {}))
42
- if (__hasOwnProp2.call(b, prop))
43
- __defNormalProp(a, prop, b[prop]);
44
- if (__getOwnPropSymbols)
45
- for (var prop of __getOwnPropSymbols(b)) {
46
- if (__propIsEnum.call(b, prop))
47
- __defNormalProp(a, prop, b[prop]);
48
- }
49
- return a;
50
- };
51
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
52
41
  var __async = (__this, __arguments, generator) => {
53
42
  return new Promise((resolve, reject) => {
54
43
  var fulfilled = (value) => {
@@ -69,18 +58,16 @@ var __async = (__this, __arguments, generator) => {
69
58
  step((generator = generator.apply(__this, __arguments)).next());
70
59
  });
71
60
  };
72
- const LAYOUT_FILE = "layout";
73
- const PAGE_FILE = "page";
74
- const LOADING_FILE = "loading";
75
- const ERROR_FILE = "error";
76
- const LOADER_FILE = "loader";
77
- const conventionNames = [
78
- LAYOUT_FILE,
79
- PAGE_FILE,
80
- LOADING_FILE,
81
- ERROR_FILE,
82
- LOADER_FILE
83
- ];
61
+ var nestedRoutes_exports = {};
62
+ __export(nestedRoutes_exports, {
63
+ walk: () => walk
64
+ });
65
+ module.exports = __toCommonJS(nestedRoutes_exports);
66
+ var path = __toESM(require("path"));
67
+ var import_utils = require("@modern-js/utils");
68
+ var import_constants = require("./constants");
69
+ var import_utils2 = require("./utils");
70
+ const conventionNames = Object.values(import_constants.NESTED_ROUTE);
84
71
  const getLoaderPath = (filename) => __async(void 0, null, function* () {
85
72
  if (yield (0, import_utils2.hasLoader)(filename)) {
86
73
  return filename;
@@ -133,6 +120,8 @@ const walk = (dirname, rootDir, alias, entryName) => __async(void 0, null, funct
133
120
  children: [],
134
121
  isRoot
135
122
  };
123
+ let pageLoaderFile = "";
124
+ let pageRoute = null;
136
125
  const items = yield import_utils.fs.readdir(dirname);
137
126
  for (const item of items) {
138
127
  const itemPath = path.join(dirname, item);
@@ -148,12 +137,23 @@ const walk = (dirname, rootDir, alias, entryName) => __async(void 0, null, funct
148
137
  if (extname && (!import_constants.JS_EXTENSIONS.includes(extname) || !conventionNames.includes(itemWithoutExt))) {
149
138
  continue;
150
139
  }
151
- if (itemWithoutExt === LAYOUT_FILE) {
140
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_LOADER_FILE) {
141
+ if (!route.loader) {
142
+ route.loader = itemPath;
143
+ }
144
+ }
145
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_FILE) {
152
146
  route._component = (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name);
153
- route.loader = yield getLoaderPath(itemPath);
147
+ const loaderPath = yield getLoaderPath(itemPath);
148
+ if (loaderPath) {
149
+ route.loader = loaderPath;
150
+ }
154
151
  }
155
- if (itemWithoutExt === PAGE_FILE) {
156
- const childRoute = createIndexRoute(
152
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_LOADER_FILE) {
153
+ pageLoaderFile = itemPath;
154
+ }
155
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_FILE) {
156
+ pageRoute = createIndexRoute(
157
157
  {
158
158
  _component: (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name)
159
159
  },
@@ -161,20 +161,25 @@ const walk = (dirname, rootDir, alias, entryName) => __async(void 0, null, funct
161
161
  itemPath,
162
162
  entryName
163
163
  );
164
- childRoute.loader = yield getLoaderPath(itemPath);
165
- (_b = route.children) == null ? void 0 : _b.push(childRoute);
164
+ const loaderPath = yield getLoaderPath(itemPath);
165
+ if (loaderPath) {
166
+ pageRoute.loader = loaderPath;
167
+ } else if (pageLoaderFile) {
168
+ pageRoute.loader = pageLoaderFile;
169
+ }
170
+ (_b = route.children) == null ? void 0 : _b.push(pageRoute);
166
171
  }
167
- if (itemWithoutExt === LOADING_FILE) {
172
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LOADING_FILE) {
168
173
  route.loading = (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name);
169
174
  }
170
- if (itemWithoutExt === ERROR_FILE) {
175
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.ERROR_FILE) {
171
176
  route.error = (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name);
172
177
  }
173
178
  }
174
179
  const finalRoute = createRoute(
175
180
  route,
176
181
  rootDir,
177
- path.join(dirname, `${LAYOUT_FILE}.ts`),
182
+ path.join(dirname, `${import_constants.NESTED_ROUTE.LAYOUT_FILE}.ts`),
178
183
  entryName
179
184
  );
180
185
  if (isPathlessLayout) {
@@ -182,3 +187,7 @@ const walk = (dirname, rootDir, alias, entryName) => __async(void 0, null, funct
182
187
  }
183
188
  return finalRoute;
184
189
  });
190
+ // Annotate the CommonJS export names for ESM import in node:
191
+ 0 && (module.exports = {
192
+ walk
193
+ });
@@ -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,37 +38,6 @@ 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, {
26
- fileSystemRoutes: () => fileSystemRoutes,
27
- html: () => html,
28
- index: () => index,
29
- renderFunction: () => renderFunction,
30
- routesForServer: () => routesForServer
31
- });
32
- module.exports = __toCommonJS(stdin_exports);
33
- var import_path = __toESM(require("path"));
34
- var import_utils = require("@modern-js/utils");
35
- var import_constants = require("./constants");
36
- var __defProp2 = Object.defineProperty;
37
- var __defProps = Object.defineProperties;
38
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
39
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
40
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
41
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
42
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
43
- var __spreadValues = (a, b) => {
44
- for (var prop in b || (b = {}))
45
- if (__hasOwnProp2.call(b, prop))
46
- __defNormalProp(a, prop, b[prop]);
47
- if (__getOwnPropSymbols)
48
- for (var prop of __getOwnPropSymbols(b)) {
49
- if (__propIsEnum.call(b, prop))
50
- __defNormalProp(a, prop, b[prop]);
51
- }
52
- return a;
53
- };
54
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
55
41
  var __async = (__this, __arguments, generator) => {
56
42
  return new Promise((resolve, reject) => {
57
43
  var fulfilled = (value) => {
@@ -72,6 +58,18 @@ var __async = (__this, __arguments, generator) => {
72
58
  step((generator = generator.apply(__this, __arguments)).next());
73
59
  });
74
60
  };
61
+ var templates_exports = {};
62
+ __export(templates_exports, {
63
+ fileSystemRoutes: () => fileSystemRoutes,
64
+ html: () => html,
65
+ index: () => index,
66
+ renderFunction: () => renderFunction,
67
+ routesForServer: () => routesForServer
68
+ });
69
+ module.exports = __toCommonJS(templates_exports);
70
+ var import_path = __toESM(require("path"));
71
+ var import_utils = require("@modern-js/utils");
72
+ var import_constants = require("./constants");
75
73
  const index = ({
76
74
  mountId,
77
75
  imports,
@@ -347,9 +345,16 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
347
345
  import_constants.TEMP_LOADERS_DIR,
348
346
  `${name}.js`
349
347
  );
350
- const code = `
348
+ let code = "";
349
+ if (loader.includes(".loader.")) {
350
+ code = `
351
+ export { default as ${name} } from '${(0, import_utils.slash)(loader)}'
352
+ `;
353
+ } else {
354
+ code = `
351
355
  export { loader as ${name} } from '${(0, import_utils.slash)(loader)}'
352
356
  `;
357
+ }
353
358
  yield import_utils.fs.ensureFile(filename);
354
359
  yield import_utils.fs.writeFile(filename, code);
355
360
  }))
@@ -364,3 +369,11 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
364
369
  ${routeComponentsCode}
365
370
  `;
366
371
  });
372
+ // Annotate the CommonJS export names for ESM import in node:
373
+ 0 && (module.exports = {
374
+ fileSystemRoutes,
375
+ html,
376
+ index,
377
+ renderFunction,
378
+ routesForServer
379
+ });