@modern-js/app-tools 2.35.1 → 2.36.0

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 (275) hide show
  1. package/dist/cjs/analyze/constants.js +68 -75
  2. package/dist/cjs/analyze/generateCode.js +74 -57
  3. package/dist/cjs/analyze/getBundleEntry.js +53 -27
  4. package/dist/cjs/analyze/getClientRoutes/getRoutes.js +63 -37
  5. package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +63 -37
  6. package/dist/cjs/analyze/getClientRoutes/index.js +27 -17
  7. package/dist/cjs/analyze/getClientRoutes/utils.js +47 -30
  8. package/dist/cjs/analyze/getFileSystemEntry.js +58 -32
  9. package/dist/cjs/analyze/getHtmlTemplate.js +45 -20
  10. package/dist/cjs/analyze/getServerRoutes.js +55 -29
  11. package/dist/cjs/analyze/index.js +81 -61
  12. package/dist/cjs/analyze/isDefaultExportFunction.js +42 -17
  13. package/dist/cjs/analyze/makeLegalIdentifier.js +24 -7
  14. package/dist/cjs/analyze/nestedRoutes.js +111 -65
  15. package/dist/cjs/analyze/templates.js +135 -53
  16. package/dist/cjs/analyze/utils.js +101 -67
  17. package/dist/cjs/builder/builder-rspack/adapterCopy.js +60 -30
  18. package/dist/cjs/builder/builder-rspack/index.js +29 -12
  19. package/dist/cjs/builder/builder-webpack/adapterModern.js +26 -11
  20. package/dist/cjs/builder/builder-webpack/createCopyPattern.js +30 -20
  21. package/dist/cjs/builder/builder-webpack/index.js +40 -14
  22. package/dist/cjs/builder/generator/createBuilderOptions.js +24 -7
  23. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +26 -9
  24. package/dist/cjs/builder/generator/getBuilderTargets.js +27 -10
  25. package/dist/cjs/builder/generator/index.js +44 -18
  26. package/dist/cjs/builder/index.js +39 -13
  27. package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +36 -7
  28. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +36 -19
  29. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +47 -21
  30. package/dist/cjs/builder/shared/builderPlugins/index.js +24 -6
  31. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -10
  32. package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +29 -12
  33. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +42 -25
  34. package/dist/cjs/builder/shared/bundlerPlugins/index.js +24 -6
  35. package/dist/cjs/builder/shared/createCopyInfo.js +38 -12
  36. package/dist/cjs/builder/shared/index.js +24 -6
  37. package/dist/cjs/builder/shared/loaders/serverModuleLoader.js +21 -8
  38. package/dist/cjs/builder/shared/types.js +15 -3
  39. package/dist/cjs/commands/build.js +33 -16
  40. package/dist/cjs/commands/deploy.js +24 -7
  41. package/dist/cjs/commands/dev.js +40 -23
  42. package/dist/cjs/commands/index.js +24 -6
  43. package/dist/cjs/commands/inspect.js +26 -9
  44. package/dist/cjs/commands/serve.js +48 -22
  45. package/dist/cjs/config/default.js +33 -23
  46. package/dist/cjs/config/index.js +24 -6
  47. package/dist/cjs/config/initialize/index.js +27 -10
  48. package/dist/cjs/config/initialize/inits.js +40 -37
  49. package/dist/cjs/config/legacy/createHtmlConfig.js +24 -7
  50. package/dist/cjs/config/legacy/createOutputConfig.js +24 -7
  51. package/dist/cjs/config/legacy/createSourceConfig.js +24 -7
  52. package/dist/cjs/config/legacy/createToolsConfig.js +24 -7
  53. package/dist/cjs/config/legacy/index.js +34 -23
  54. package/dist/cjs/defineConfig.js +25 -15
  55. package/dist/cjs/exports/server.js +25 -8
  56. package/dist/cjs/hooks.js +50 -33
  57. package/dist/cjs/index.js +95 -80
  58. package/dist/cjs/initialize/index.js +30 -17
  59. package/dist/cjs/locale/en.js +24 -7
  60. package/dist/cjs/locale/index.js +31 -21
  61. package/dist/cjs/locale/zh.js +24 -7
  62. package/dist/cjs/schema/Schema.js +28 -11
  63. package/dist/cjs/schema/index.js +40 -21
  64. package/dist/cjs/schema/legacy.js +30 -17
  65. package/dist/cjs/types/config/deploy.js +15 -3
  66. package/dist/cjs/types/config/dev.js +15 -3
  67. package/dist/cjs/types/config/experiments.js +15 -3
  68. package/dist/cjs/types/config/html.js +15 -3
  69. package/dist/cjs/types/config/index.js +20 -4
  70. package/dist/cjs/types/config/output.js +15 -3
  71. package/dist/cjs/types/config/performance.js +15 -3
  72. package/dist/cjs/types/config/security.js +15 -3
  73. package/dist/cjs/types/config/source.js +15 -3
  74. package/dist/cjs/types/config/testing.js +15 -3
  75. package/dist/cjs/types/config/tools.js +15 -3
  76. package/dist/cjs/types/hooks.js +15 -3
  77. package/dist/cjs/types/index.js +24 -6
  78. package/dist/cjs/types/legacyConfig/deploy.js +15 -3
  79. package/dist/cjs/types/legacyConfig/dev.js +15 -3
  80. package/dist/cjs/types/legacyConfig/index.js +15 -3
  81. package/dist/cjs/types/legacyConfig/output.js +15 -3
  82. package/dist/cjs/types/legacyConfig/source.js +15 -3
  83. package/dist/cjs/types/legacyConfig/testing.js +15 -3
  84. package/dist/cjs/types/legacyConfig/tools.js +15 -3
  85. package/dist/cjs/types/utils.js +15 -3
  86. package/dist/cjs/utils/config.js +50 -33
  87. package/dist/cjs/utils/createServer.js +43 -26
  88. package/dist/cjs/utils/env.js +26 -9
  89. package/dist/cjs/utils/generateWatchFiles.js +41 -22
  90. package/dist/cjs/utils/getSelectedEntries.js +30 -13
  91. package/dist/cjs/utils/getServerInternalPlugins.js +24 -7
  92. package/dist/cjs/utils/printInstructions.js +27 -10
  93. package/dist/cjs/utils/restart.js +30 -13
  94. package/dist/cjs/utils/routes.js +37 -11
  95. package/dist/cjs/utils/types.js +15 -3
  96. package/dist/esm/analyze/constants.js +48 -22
  97. package/dist/esm/analyze/generateCode.js +38 -33
  98. package/dist/esm/analyze/getBundleEntry.js +4 -1
  99. package/dist/esm/analyze/getClientRoutes/getRoutes.js +12 -9
  100. package/dist/esm/analyze/getClientRoutes/getRoutesLegacy.js +12 -9
  101. package/dist/esm/analyze/getClientRoutes/index.js +6 -2
  102. package/dist/esm/analyze/getClientRoutes/utils.js +9 -4
  103. package/dist/esm/analyze/getFileSystemEntry.js +10 -7
  104. package/dist/esm/analyze/getHtmlTemplate.js +7 -4
  105. package/dist/esm/analyze/getServerRoutes.js +8 -5
  106. package/dist/esm/analyze/index.js +31 -30
  107. package/dist/esm/analyze/isDefaultExportFunction.js +4 -1
  108. package/dist/esm/analyze/makeLegalIdentifier.js +4 -1
  109. package/dist/esm/analyze/nestedRoutes.js +93 -30
  110. package/dist/esm/analyze/templates.js +121 -30
  111. package/dist/esm/analyze/utils.js +103 -18
  112. package/dist/esm/builder/builder-rspack/adapterCopy.js +16 -9
  113. package/dist/esm/builder/builder-rspack/index.js +4 -1
  114. package/dist/esm/builder/builder-webpack/adapterModern.js +4 -3
  115. package/dist/esm/builder/builder-webpack/createCopyPattern.js +8 -4
  116. package/dist/esm/builder/builder-webpack/index.js +4 -1
  117. package/dist/esm/builder/generator/createBuilderOptions.js +5 -2
  118. package/dist/esm/builder/generator/createBuilderProviderConfig.js +4 -1
  119. package/dist/esm/builder/generator/getBuilderTargets.js +4 -1
  120. package/dist/esm/builder/generator/index.js +5 -2
  121. package/dist/esm/builder/index.js +4 -1
  122. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +6 -1
  123. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +11 -8
  124. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +10 -7
  125. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +4 -1
  126. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +4 -1
  127. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +7 -4
  128. package/dist/esm/builder/shared/createCopyInfo.js +7 -4
  129. package/dist/esm/builder/shared/loaders/serverModuleLoader.js +4 -1
  130. package/dist/esm/builder/shared/types.js +0 -1
  131. package/dist/esm/commands/build.js +6 -3
  132. package/dist/esm/commands/deploy.js +4 -1
  133. package/dist/esm/commands/dev.js +12 -9
  134. package/dist/esm/commands/inspect.js +4 -1
  135. package/dist/esm/commands/serve.js +7 -4
  136. package/dist/esm/config/default.js +12 -8
  137. package/dist/esm/config/initialize/index.js +4 -1
  138. package/dist/esm/config/initialize/inits.js +8 -19
  139. package/dist/esm/config/legacy/createHtmlConfig.js +17 -14
  140. package/dist/esm/config/legacy/createOutputConfig.js +19 -16
  141. package/dist/esm/config/legacy/createSourceConfig.js +14 -11
  142. package/dist/esm/config/legacy/createToolsConfig.js +18 -15
  143. package/dist/esm/config/legacy/index.js +21 -16
  144. package/dist/esm/defineConfig.js +6 -2
  145. package/dist/esm/exports/server.js +4 -1
  146. package/dist/esm/hooks.js +4 -1
  147. package/dist/esm/index.js +19 -11
  148. package/dist/esm/initialize/index.js +9 -6
  149. package/dist/esm/locale/en.js +4 -1
  150. package/dist/esm/locale/index.js +4 -1
  151. package/dist/esm/locale/zh.js +4 -1
  152. package/dist/esm/schema/Schema.js +6 -3
  153. package/dist/esm/schema/index.js +5 -2
  154. package/dist/esm/schema/legacy.js +4 -1
  155. package/dist/esm/types/config/deploy.js +0 -1
  156. package/dist/esm/types/config/dev.js +0 -1
  157. package/dist/esm/types/config/experiments.js +0 -1
  158. package/dist/esm/types/config/html.js +0 -1
  159. package/dist/esm/types/config/output.js +0 -1
  160. package/dist/esm/types/config/performance.js +0 -1
  161. package/dist/esm/types/config/security.js +0 -1
  162. package/dist/esm/types/config/source.js +0 -1
  163. package/dist/esm/types/config/testing.js +0 -1
  164. package/dist/esm/types/config/tools.js +0 -1
  165. package/dist/esm/types/hooks.js +0 -1
  166. package/dist/esm/types/legacyConfig/deploy.js +0 -1
  167. package/dist/esm/types/legacyConfig/dev.js +0 -1
  168. package/dist/esm/types/legacyConfig/index.js +0 -1
  169. package/dist/esm/types/legacyConfig/output.js +0 -1
  170. package/dist/esm/types/legacyConfig/source.js +0 -1
  171. package/dist/esm/types/legacyConfig/testing.js +0 -1
  172. package/dist/esm/types/legacyConfig/tools.js +0 -1
  173. package/dist/esm/types/utils.js +0 -1
  174. package/dist/esm/utils/config.js +12 -6
  175. package/dist/esm/utils/createServer.js +12 -5
  176. package/dist/esm/utils/env.js +4 -1
  177. package/dist/esm/utils/generateWatchFiles.js +6 -2
  178. package/dist/esm/utils/getSelectedEntries.js +4 -1
  179. package/dist/esm/utils/getServerInternalPlugins.js +5 -2
  180. package/dist/esm/utils/printInstructions.js +4 -1
  181. package/dist/esm/utils/restart.js +4 -1
  182. package/dist/esm/utils/routes.js +3 -1
  183. package/dist/esm/utils/types.js +0 -1
  184. package/dist/esm-node/analyze/constants.js +48 -22
  185. package/dist/esm-node/analyze/generateCode.js +8 -3
  186. package/dist/esm-node/analyze/getBundleEntry.js +4 -1
  187. package/dist/esm-node/analyze/getClientRoutes/getRoutes.js +4 -1
  188. package/dist/esm-node/analyze/getClientRoutes/getRoutesLegacy.js +4 -1
  189. package/dist/esm-node/analyze/getClientRoutes/index.js +6 -2
  190. package/dist/esm-node/analyze/getClientRoutes/utils.js +9 -4
  191. package/dist/esm-node/analyze/getFileSystemEntry.js +4 -1
  192. package/dist/esm-node/analyze/getHtmlTemplate.js +4 -1
  193. package/dist/esm-node/analyze/getServerRoutes.js +4 -1
  194. package/dist/esm-node/analyze/index.js +9 -8
  195. package/dist/esm-node/analyze/isDefaultExportFunction.js +4 -1
  196. package/dist/esm-node/analyze/makeLegalIdentifier.js +4 -1
  197. package/dist/esm-node/analyze/nestedRoutes.js +42 -9
  198. package/dist/esm-node/analyze/templates.js +93 -18
  199. package/dist/esm-node/analyze/utils.js +48 -16
  200. package/dist/esm-node/builder/builder-rspack/adapterCopy.js +18 -11
  201. package/dist/esm-node/builder/builder-rspack/index.js +4 -1
  202. package/dist/esm-node/builder/builder-webpack/adapterModern.js +4 -3
  203. package/dist/esm-node/builder/builder-webpack/createCopyPattern.js +6 -2
  204. package/dist/esm-node/builder/builder-webpack/index.js +4 -1
  205. package/dist/esm-node/builder/generator/createBuilderOptions.js +4 -1
  206. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +4 -1
  207. package/dist/esm-node/builder/generator/getBuilderTargets.js +4 -1
  208. package/dist/esm-node/builder/generator/index.js +4 -1
  209. package/dist/esm-node/builder/index.js +4 -1
  210. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +6 -1
  211. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +4 -1
  212. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +4 -1
  213. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +4 -1
  214. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +4 -1
  215. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +4 -1
  216. package/dist/esm-node/builder/shared/createCopyInfo.js +4 -1
  217. package/dist/esm-node/builder/shared/loaders/serverModuleLoader.js +4 -1
  218. package/dist/esm-node/builder/shared/types.js +0 -1
  219. package/dist/esm-node/commands/build.js +4 -1
  220. package/dist/esm-node/commands/deploy.js +4 -1
  221. package/dist/esm-node/commands/dev.js +4 -1
  222. package/dist/esm-node/commands/inspect.js +4 -1
  223. package/dist/esm-node/commands/serve.js +4 -1
  224. package/dist/esm-node/config/default.js +6 -2
  225. package/dist/esm-node/config/initialize/index.js +4 -1
  226. package/dist/esm-node/config/initialize/inits.js +8 -20
  227. package/dist/esm-node/config/legacy/createHtmlConfig.js +4 -1
  228. package/dist/esm-node/config/legacy/createOutputConfig.js +4 -1
  229. package/dist/esm-node/config/legacy/createSourceConfig.js +4 -1
  230. package/dist/esm-node/config/legacy/createToolsConfig.js +4 -1
  231. package/dist/esm-node/config/legacy/index.js +7 -2
  232. package/dist/esm-node/defineConfig.js +6 -2
  233. package/dist/esm-node/exports/server.js +4 -1
  234. package/dist/esm-node/hooks.js +4 -1
  235. package/dist/esm-node/index.js +14 -6
  236. package/dist/esm-node/initialize/index.js +4 -1
  237. package/dist/esm-node/locale/en.js +4 -1
  238. package/dist/esm-node/locale/index.js +4 -1
  239. package/dist/esm-node/locale/zh.js +4 -1
  240. package/dist/esm-node/schema/Schema.js +4 -1
  241. package/dist/esm-node/schema/index.js +5 -2
  242. package/dist/esm-node/schema/legacy.js +4 -1
  243. package/dist/esm-node/types/config/deploy.js +0 -1
  244. package/dist/esm-node/types/config/dev.js +0 -1
  245. package/dist/esm-node/types/config/experiments.js +0 -1
  246. package/dist/esm-node/types/config/html.js +0 -1
  247. package/dist/esm-node/types/config/output.js +0 -1
  248. package/dist/esm-node/types/config/performance.js +0 -1
  249. package/dist/esm-node/types/config/security.js +0 -1
  250. package/dist/esm-node/types/config/source.js +0 -1
  251. package/dist/esm-node/types/config/testing.js +0 -1
  252. package/dist/esm-node/types/config/tools.js +0 -1
  253. package/dist/esm-node/types/hooks.js +0 -1
  254. package/dist/esm-node/types/legacyConfig/deploy.js +0 -1
  255. package/dist/esm-node/types/legacyConfig/dev.js +0 -1
  256. package/dist/esm-node/types/legacyConfig/index.js +0 -1
  257. package/dist/esm-node/types/legacyConfig/output.js +0 -1
  258. package/dist/esm-node/types/legacyConfig/source.js +0 -1
  259. package/dist/esm-node/types/legacyConfig/testing.js +0 -1
  260. package/dist/esm-node/types/legacyConfig/tools.js +0 -1
  261. package/dist/esm-node/types/utils.js +0 -1
  262. package/dist/esm-node/utils/config.js +10 -4
  263. package/dist/esm-node/utils/createServer.js +12 -5
  264. package/dist/esm-node/utils/env.js +4 -1
  265. package/dist/esm-node/utils/generateWatchFiles.js +6 -2
  266. package/dist/esm-node/utils/getSelectedEntries.js +4 -1
  267. package/dist/esm-node/utils/getServerInternalPlugins.js +4 -1
  268. package/dist/esm-node/utils/printInstructions.js +4 -1
  269. package/dist/esm-node/utils/restart.js +4 -1
  270. package/dist/esm-node/utils/routes.js +3 -1
  271. package/dist/esm-node/utils/types.js +0 -1
  272. package/dist/types/analyze/constants.d.ts +1 -0
  273. package/dist/types/analyze/utils.d.ts +2 -1
  274. package/dist/types/types/config/index.d.ts +3 -2
  275. package/package.json +24 -24
@@ -1,40 +1,52 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
6
9
  for (var name in all)
7
- Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- getRouteId: function() {
14
- return getRouteId;
15
- },
16
- optimizeRoute: function() {
17
- return optimizeRoute;
18
- },
19
- walk: function() {
20
- return walk;
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
17
  }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var nestedRoutes_exports = {};
30
+ __export(nestedRoutes_exports, {
31
+ getRouteId: () => getRouteId,
32
+ optimizeRoute: () => optimizeRoute,
33
+ walk: () => walk
22
34
  });
23
- const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
24
- const _path = /* @__PURE__ */ _interop_require_wildcard._(require("path"));
25
- const _utils = require("@modern-js/utils");
26
- const _constants = require("./constants");
27
- const _utils1 = require("./utils");
28
- const conventionNames = Object.values(_constants.NESTED_ROUTE);
35
+ module.exports = __toCommonJS(nestedRoutes_exports);
36
+ var path = __toESM(require("path"));
37
+ var import_utils = require("@modern-js/utils");
38
+ var import_constants = require("./constants");
39
+ var import_utils2 = require("./utils");
40
+ const conventionNames = Object.values(import_constants.NESTED_ROUTE);
29
41
  const replaceDynamicPath = (routePath) => {
30
42
  return routePath.replace(/\[(.*?)\]/g, ":$1");
31
43
  };
32
44
  const getPathWithoutExt = (filename) => {
33
- const extname = _path.extname(filename);
45
+ const extname = path.extname(filename);
34
46
  return filename.slice(0, -extname.length);
35
47
  };
36
48
  const getRouteId = (componentPath, routesDir, entryName, isMainEntry) => {
37
- const relativePath = (0, _utils.normalizeToPosixPath)(_path.relative(routesDir, componentPath));
49
+ const relativePath = (0, import_utils.normalizeToPosixPath)(path.relative(routesDir, componentPath));
38
50
  const pathWithoutExt = getPathWithoutExt(relativePath);
39
51
  let id = ``;
40
52
  if (isMainEntry) {
@@ -94,15 +106,15 @@ const optimizeRoute = (routeTree) => {
94
106
  };
95
107
  const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion) => {
96
108
  var _finalRoute_children;
97
- if (!await _utils.fs.pathExists(dirname)) {
109
+ if (!await import_utils.fs.pathExists(dirname)) {
98
110
  return null;
99
111
  }
100
- const isDirectory = (await _utils.fs.stat(dirname)).isDirectory();
112
+ const isDirectory = (await import_utils.fs.stat(dirname)).isDirectory();
101
113
  if (!isDirectory) {
102
114
  return null;
103
115
  }
104
- const relativeDir = _path.relative(rootDir, dirname);
105
- const pathSegments = relativeDir.split(_path.sep);
116
+ const relativeDir = path.relative(rootDir, dirname);
117
+ const pathSegments = relativeDir.split(path.sep);
106
118
  const lastSegment = pathSegments[pathSegments.length - 1];
107
119
  const isRoot = lastSegment === "";
108
120
  const isPathlessLayout = lastSegment.startsWith("__");
@@ -119,18 +131,22 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
119
131
  };
120
132
  let pageLoaderFile = "";
121
133
  let pageRoute = null;
134
+ let pageConfigFile = "";
135
+ let pageClientData = "";
136
+ let pageData = "";
137
+ let pageAction = "";
122
138
  let splatLoaderFile = "";
123
- let splatClientData = "";
124
- let splatData = "";
125
139
  let splatRoute = null;
126
- let pageConfigFile = "";
127
140
  let splatConfigFile = "";
128
- const items = await _utils.fs.readdir(dirname);
141
+ let splatClientData = "";
142
+ let splatData = "";
143
+ let splatAction = "";
144
+ const items = await import_utils.fs.readdir(dirname);
129
145
  for (const item of items) {
130
- const itemPath = _path.join(dirname, item);
131
- const extname = _path.extname(item);
146
+ const itemPath = path.join(dirname, item);
147
+ const extname = path.extname(item);
132
148
  const itemWithoutExt = item.slice(0, -extname.length);
133
- const isDirectory2 = (await _utils.fs.stat(itemPath)).isDirectory();
149
+ const isDirectory2 = (await import_utils.fs.stat(itemPath)).isDirectory();
134
150
  if (isDirectory2) {
135
151
  const childRoute = await walk(itemPath, rootDir, alias, entryName, isMainEntry, oldVersion);
136
152
  if (childRoute && !Array.isArray(childRoute)) {
@@ -138,44 +154,50 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
138
154
  (_route_children = route.children) === null || _route_children === void 0 ? void 0 : _route_children.push(childRoute);
139
155
  }
140
156
  }
141
- if (extname && (!_constants.JS_EXTENSIONS.includes(extname) || !conventionNames.includes(itemWithoutExt))) {
157
+ if (extname && (!import_constants.JS_EXTENSIONS.includes(extname) || !conventionNames.includes(itemWithoutExt))) {
142
158
  continue;
143
159
  }
144
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_LOADER_FILE) {
160
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_LOADER_FILE) {
145
161
  if (!route.loader) {
146
162
  route.loader = itemPath;
147
163
  }
148
164
  }
149
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_CLIENT_LOADER) {
165
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_CLIENT_LOADER) {
150
166
  route.clientData = itemPath;
151
167
  }
152
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_DATA_FILE) {
168
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_DATA_FILE) {
153
169
  route.data = itemPath;
170
+ if (await (0, import_utils2.hasAction)(itemPath)) {
171
+ route.action = itemPath;
172
+ }
154
173
  }
155
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_CONFIG_FILE) {
174
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_CONFIG_FILE) {
156
175
  if (!route.config) {
157
176
  route.config = itemPath;
158
177
  }
159
178
  }
160
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_FILE) {
161
- route._component = (0, _utils1.replaceWithAlias)(alias.basename, itemPath, alias.name);
179
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_FILE) {
180
+ route._component = (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name);
162
181
  }
163
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_LOADER_FILE) {
182
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_LOADER_FILE) {
164
183
  pageLoaderFile = itemPath;
165
184
  }
166
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_CLIENT_LOADER) {
167
- route.clientData = itemPath;
185
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_CLIENT_LOADER) {
186
+ pageClientData = itemPath;
168
187
  }
169
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_DATA_FILE) {
170
- route.data = itemPath;
188
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_DATA_FILE) {
189
+ pageData = itemPath;
190
+ if (await (0, import_utils2.hasAction)(itemPath)) {
191
+ pageAction = itemPath;
192
+ }
171
193
  }
172
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_CONFIG_FILE) {
194
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_CONFIG_FILE) {
173
195
  pageConfigFile = itemPath;
174
196
  }
175
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_FILE) {
197
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_FILE) {
176
198
  var _route_children1;
177
199
  pageRoute = createIndexRoute({
178
- _component: (0, _utils1.replaceWithAlias)(alias.basename, itemPath, alias.name)
200
+ _component: (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name)
179
201
  }, rootDir, itemPath, entryName, isMainEntry);
180
202
  if (pageLoaderFile) {
181
203
  pageRoute.loader = pageLoaderFile;
@@ -183,26 +205,38 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
183
205
  if (pageConfigFile) {
184
206
  pageRoute.config = pageConfigFile;
185
207
  }
208
+ if (pageData) {
209
+ pageRoute.data = pageData;
210
+ }
211
+ if (pageClientData) {
212
+ pageRoute.clientData = pageClientData;
213
+ }
214
+ if (pageAction) {
215
+ pageRoute.action = pageAction;
216
+ }
186
217
  (_route_children1 = route.children) === null || _route_children1 === void 0 ? void 0 : _route_children1.push(pageRoute);
187
218
  }
188
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_LOADER_FILE) {
219
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_LOADER_FILE) {
189
220
  splatLoaderFile = itemPath;
190
221
  }
191
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_CLIENT_DATA) {
222
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_CLIENT_DATA) {
192
223
  splatClientData = itemPath;
193
224
  }
194
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_CONFIG_FILE) {
225
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_CONFIG_FILE) {
195
226
  if (!route.config) {
196
227
  splatConfigFile = itemPath;
197
228
  }
198
229
  }
199
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_DATA_FILE) {
230
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_DATA_FILE) {
200
231
  splatData = itemPath;
232
+ if (await (0, import_utils2.hasAction)(itemPath)) {
233
+ splatAction = itemPath;
234
+ }
201
235
  }
202
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_FILE) {
236
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_FILE) {
203
237
  var _route_children2;
204
238
  splatRoute = createRoute({
205
- _component: (0, _utils1.replaceWithAlias)(alias.basename, itemPath, alias.name),
239
+ _component: (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name),
206
240
  path: "*"
207
241
  }, rootDir, itemPath, entryName, isMainEntry);
208
242
  if (splatLoaderFile) {
@@ -217,16 +251,19 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
217
251
  if (splatConfigFile) {
218
252
  splatRoute.config = splatConfigFile;
219
253
  }
254
+ if (splatAction) {
255
+ splatRoute.action = splatAction;
256
+ }
220
257
  (_route_children2 = route.children) === null || _route_children2 === void 0 ? void 0 : _route_children2.push(splatRoute);
221
258
  }
222
- if (itemWithoutExt === _constants.NESTED_ROUTE.LOADING_FILE) {
223
- route.loading = (0, _utils1.replaceWithAlias)(alias.basename, itemPath, alias.name);
259
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LOADING_FILE) {
260
+ route.loading = (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name);
224
261
  }
225
- if (itemWithoutExt === _constants.NESTED_ROUTE.ERROR_FILE) {
226
- route.error = (0, _utils1.replaceWithAlias)(alias.basename, itemPath, alias.name);
262
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.ERROR_FILE) {
263
+ route.error = (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name);
227
264
  }
228
265
  }
229
- let finalRoute = createRoute(route, rootDir, _path.join(dirname, `${_constants.NESTED_ROUTE.LAYOUT_FILE}.ts`), entryName, isMainEntry);
266
+ let finalRoute = createRoute(route, rootDir, path.join(dirname, `${import_constants.NESTED_ROUTE.LAYOUT_FILE}.ts`), entryName, isMainEntry);
230
267
  if (isPathlessLayout) {
231
268
  delete finalRoute.path;
232
269
  }
@@ -237,16 +274,25 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
237
274
  if (childRoutes && childRoutes.length === 1 && !finalRoute._component) {
238
275
  const childRoute = childRoutes[0];
239
276
  if (childRoute.path === "*") {
240
- const path = `${finalRoute.path || ""}/${childRoute.path || ""}`;
277
+ const path2 = `${finalRoute.path || ""}/${childRoute.path || ""}`;
241
278
  finalRoute = {
242
279
  ...childRoute,
243
- path
280
+ path: path2
244
281
  };
245
282
  }
246
283
  }
284
+ if (isRoot && !finalRoute._component) {
285
+ throw new Error("The root layout component is required, make sure the routes/layout.tsx file exists.");
286
+ }
247
287
  if (isRoot && !oldVersion) {
248
288
  const optimizedRoutes = optimizeRoute(finalRoute);
249
289
  return optimizedRoutes;
250
290
  }
251
291
  return finalRoute;
252
292
  };
293
+ // Annotate the CommonJS export names for ESM import in node:
294
+ 0 && (module.exports = {
295
+ getRouteId,
296
+ optimizeRoute,
297
+ walk
298
+ });
@@ -1,39 +1,45 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
6
9
  for (var name in all)
7
- Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- index: function() {
14
- return index;
15
- },
16
- renderFunction: function() {
17
- return renderFunction;
18
- },
19
- html: function() {
20
- return html;
21
- },
22
- routesForServer: function() {
23
- return routesForServer;
24
- },
25
- fileSystemRoutes: function() {
26
- return fileSystemRoutes;
27
- },
28
- ssrLoaderCombinedModule: function() {
29
- return ssrLoaderCombinedModule;
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
17
  }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var templates_exports = {};
30
+ __export(templates_exports, {
31
+ fileSystemRoutes: () => fileSystemRoutes,
32
+ html: () => html,
33
+ index: () => index,
34
+ renderFunction: () => renderFunction,
35
+ routesForServer: () => routesForServer,
36
+ ssrLoaderCombinedModule: () => ssrLoaderCombinedModule
31
37
  });
32
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
33
- const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
34
- const _utils = require("@modern-js/utils");
35
- const _constants = require("./constants");
36
- const _utils1 = require("./utils");
38
+ module.exports = __toCommonJS(templates_exports);
39
+ var import_path = __toESM(require("path"));
40
+ var import_utils = require("@modern-js/utils");
41
+ var import_constants = require("./constants");
42
+ var import_utils2 = require("./utils");
37
43
  const index = ({ mountId, imports, renderFunction: renderFunction2, exportStatement }) => `
38
44
  const IS_BROWSER = typeof window !== 'undefined' && window.name !== 'nodejs';
39
45
  const IS_REACT18 = process.env.IS_REACT18 === 'true';
@@ -58,7 +64,7 @@ const renderFunction = ({ plugins, customBootstrap, fileSystemRoutes: fileSystem
58
64
  return `
59
65
  const finalAppConfig = {
60
66
  ...App.config,
61
- ...typeof ${_constants.APP_CONFIG_NAME} === 'function' ? ${_constants.APP_CONFIG_NAME}() : {},
67
+ ...typeof ${import_constants.APP_CONFIG_NAME} === 'function' ? ${import_constants.APP_CONFIG_NAME}() : {},
62
68
  }
63
69
 
64
70
  AppWrapper = createApp({
@@ -105,6 +111,8 @@ const html = (partials) => `
105
111
  `;
106
112
  const routesForServer = ({ routes }) => {
107
113
  const loaders = [];
114
+ const actions = [];
115
+ const loadersMap = {};
108
116
  const traverseRouteTree = (route) => {
109
117
  let children;
110
118
  if ("children" in route && route.children) {
@@ -112,15 +120,31 @@ const routesForServer = ({ routes }) => {
112
120
  children = route === null || route === void 0 ? void 0 : (_route_children = route.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
113
121
  }
114
122
  let loader;
123
+ let action;
115
124
  if (route.type === "nested") {
116
- if (route.loader) {
125
+ if (route.loader || route.data) {
117
126
  loaders.push(route.loader);
118
- loader = `loader_${loaders.length - 1}`;
127
+ const loaderId = loaders.length - 1;
128
+ loader = `loader_${loaderId}`;
129
+ const inline = Boolean(route.data);
130
+ loadersMap[loader] = {
131
+ loaderId,
132
+ routeId: route.id,
133
+ filePath: route.data || route.loader,
134
+ clientData: Boolean(route.clientData),
135
+ route,
136
+ inline
137
+ };
138
+ if (route.action) {
139
+ actions.push(route.action);
140
+ action = `action_${loaders.length - 1}`;
141
+ }
119
142
  }
120
143
  }
121
144
  const finalRoute = {
122
145
  ...route,
123
146
  loader,
147
+ action,
124
148
  children
125
149
  };
126
150
  return finalRoute;
@@ -130,8 +154,14 @@ const routesForServer = ({ routes }) => {
130
154
  `;
131
155
  for (const route of routes) {
132
156
  if ("type" in route) {
157
+ const keywords = [
158
+ "loader",
159
+ "action"
160
+ ];
161
+ const regs = keywords.map(createMatchReg);
133
162
  const newRoute = traverseRouteTree(route);
134
- routesCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loader_[^"]+)"/g, "$1")},`;
163
+ const routeStr = JSON.stringify(newRoute, null, 2);
164
+ routesCode += regs.reduce((acc, reg) => acc.replace(reg, "$1$2"), routeStr).replace(/\\"/g, '"');
135
165
  } else {
136
166
  routesCode += `${JSON.stringify(route, null, 2)}`;
137
167
  }
@@ -139,10 +169,20 @@ const routesForServer = ({ routes }) => {
139
169
  routesCode += `
140
170
  ];`;
141
171
  let importLoadersCode = "";
142
- if (loaders.length > 0) {
143
- importLoadersCode = loaders.map((loader, index2) => {
144
- return `import loader_${index2} from "${(0, _utils.slash)(loader)}"`;
145
- }).join("\n");
172
+ for (const [key, loaderInfo] of Object.entries(loadersMap)) {
173
+ if (loaderInfo.inline) {
174
+ const { route } = loaderInfo;
175
+ if (route.action) {
176
+ importLoadersCode += `import { loader as ${key}, action as action_${loaderInfo.loaderId} } from "${(0, import_utils.slash)(loaderInfo.filePath)}";
177
+ `;
178
+ } else {
179
+ importLoadersCode += `import { loader as ${key} } from "${(0, import_utils.slash)(loaderInfo.filePath)}";
180
+ `;
181
+ }
182
+ } else {
183
+ importLoadersCode += `import ${key} from "${(0, import_utils.slash)(loaderInfo.filePath)}";
184
+ `;
185
+ }
146
186
  }
147
187
  return `
148
188
  ${importLoadersCode}
@@ -158,19 +198,19 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
158
198
  const loadersMap = {};
159
199
  const configs = [];
160
200
  const configsMap = {};
161
- const loadersMapFile = _path.default.join(internalDirectory, entryName, _constants.TEMP_LOADERS_DIR, "map.json");
201
+ const loadersMapFile = import_path.default.join(internalDirectory, entryName, import_constants.TEMP_LOADERS_DIR, "map.json");
162
202
  const importLazyCode = `
163
203
  import { lazy } from "react";
164
204
  import loadable, { lazy as loadableLazy } from "@modern-js/runtime/loadable"
165
205
  `;
166
206
  let rootLayoutCode = ``;
167
- const getDataLoaderPath = (loaderId, clientData) => {
207
+ const getDataLoaderPath = ({ loaderId, clientData, action, inline, routeId }) => {
168
208
  if (!ssrMode) {
169
209
  return "";
170
210
  }
171
211
  const clientDataStr = clientData ? `&clientData=${clientData}` : "";
172
212
  if (nestedRoutesEntry) {
173
- return `?mapFile=${(0, _utils.slash)(loadersMapFile)}&loaderId=${loaderId}${clientDataStr}`;
213
+ return `?loaderId=${loaderId}${clientDataStr}&action=${action ? (0, import_utils.slash)(action) : action}&inline=${inline}&routeId=${routeId}`;
174
214
  }
175
215
  return "";
176
216
  };
@@ -183,6 +223,7 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
183
223
  let loading;
184
224
  let error;
185
225
  let loader;
226
+ let action;
186
227
  let config;
187
228
  let component = "";
188
229
  let lazyImport = null;
@@ -199,13 +240,19 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
199
240
  loaders.push(route.loader);
200
241
  const loaderId = loaders.length - 1;
201
242
  loader = `loader_${loaderId}`;
243
+ const inline = Boolean(route.data);
202
244
  loadersMap[loader] = {
245
+ loaderId,
203
246
  routeId: route.id,
204
247
  filePath: route.data || route.loader,
205
248
  clientData: Boolean(route.clientData),
206
- inline: Boolean(route.data)
249
+ route,
250
+ inline
207
251
  };
208
252
  loader = `loader_${loaderId}`;
253
+ if (route.action) {
254
+ action = `action_${loaderId}`;
255
+ }
209
256
  }
210
257
  if (typeof route.config === "string") {
211
258
  configs.push(route.config);
@@ -244,6 +291,7 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
244
291
  lazyImport,
245
292
  loading,
246
293
  loader,
294
+ action,
247
295
  config,
248
296
  error,
249
297
  children
@@ -264,6 +312,7 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
264
312
  "component",
265
313
  "lazyImport",
266
314
  "loader",
315
+ "action",
267
316
  "loading",
268
317
  "error",
269
318
  "config"
@@ -304,20 +353,44 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
304
353
  let importLoadersCode = "";
305
354
  for (const [key, loaderInfo] of Object.entries(loadersMap)) {
306
355
  if (loaderInfo.inline) {
307
- importLoadersCode += `import { loader as ${key} } from "${(0, _utils.slash)(loaderInfo.filePath)}${getDataLoaderPath(key, loaderInfo.clientData)}";
356
+ const { route } = loaderInfo;
357
+ if (route.action) {
358
+ importLoadersCode += `import { loader as ${key}, action as action_${loaderInfo.loaderId} } from "${(0, import_utils.slash)(loaderInfo.filePath)}${getDataLoaderPath({
359
+ loaderId: key,
360
+ clientData: loaderInfo.clientData,
361
+ action: route.action,
362
+ inline: loaderInfo.inline,
363
+ routeId: loaderInfo.routeId
364
+ })}";
308
365
  `;
366
+ } else {
367
+ importLoadersCode += `import { loader as ${key} } from "${(0, import_utils.slash)(loaderInfo.filePath)}${getDataLoaderPath({
368
+ loaderId: key,
369
+ clientData: loaderInfo.clientData,
370
+ action: false,
371
+ inline: loaderInfo.inline,
372
+ routeId: route.id
373
+ })}";
374
+ `;
375
+ }
309
376
  } else {
310
- importLoadersCode += `import ${key} from "${(0, _utils.slash)(loaderInfo.filePath)}${getDataLoaderPath(key, loaderInfo.clientData)}";
377
+ importLoadersCode += `import ${key} from "${(0, import_utils.slash)(loaderInfo.filePath)}${getDataLoaderPath({
378
+ loaderId: key,
379
+ clientData: loaderInfo.clientData,
380
+ action: false,
381
+ inline: loaderInfo.inline,
382
+ routeId: loaderInfo.routeId
383
+ })}";
311
384
  `;
312
385
  }
313
386
  }
314
387
  let importConfigsCode = "";
315
388
  for (const [key, configPath] of Object.entries(configsMap)) {
316
- importConfigsCode += `import * as ${key} from "${(0, _utils.slash)(configPath)}";
389
+ importConfigsCode += `import * as ${key} from "${(0, import_utils.slash)(configPath)}";
317
390
  `;
318
391
  }
319
- await _utils.fs.ensureFile(loadersMapFile);
320
- await _utils.fs.writeJSON(loadersMapFile, loadersMap);
392
+ await import_utils.fs.ensureFile(loadersMapFile);
393
+ await import_utils.fs.writeJSON(loadersMapFile, loadersMap);
321
394
  return `
322
395
  ${importLazyCode}
323
396
  ${importComponentsCode}
@@ -332,13 +405,22 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
332
405
  function ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext) {
333
406
  const { entryName, isMainEntry } = entrypoint;
334
407
  const { packageName, internalDirectory } = appContext;
335
- const ssr = (0, _utils.getEntryOptions)(entryName, isMainEntry, config.server.ssr, config.server.ssrByEntries, packageName);
336
- const ssg = (0, _utils.isSSGEntry)(config, entryName, entrypoints);
408
+ const ssr = (0, import_utils.getEntryOptions)(entryName, isMainEntry, config.server.ssr, config.server.ssrByEntries, packageName);
409
+ const ssg = (0, import_utils.isSSGEntry)(config, entryName, entrypoints);
337
410
  if (entrypoint.nestedRoutesEntry && (ssr || ssg)) {
338
411
  const serverLoaderRuntime = require.resolve("@modern-js/plugin-data-loader/runtime");
339
- const serverLoadersFile = (0, _utils1.getServerLoadersFile)(internalDirectory, entryName);
340
- const combinedModule = `export * from "${(0, _utils.slash)(serverLoaderRuntime)}"; export * from "${(0, _utils.slash)(serverLoadersFile)}"`;
412
+ const serverLoadersFile = (0, import_utils2.getServerLoadersFile)(internalDirectory, entryName);
413
+ const combinedModule = `export * from "${(0, import_utils.slash)(serverLoaderRuntime)}"; export * from "${(0, import_utils.slash)(serverLoadersFile)}"`;
341
414
  return combinedModule;
342
415
  }
343
416
  return null;
344
417
  }
418
+ // Annotate the CommonJS export names for ESM import in node:
419
+ 0 && (module.exports = {
420
+ fileSystemRoutes,
421
+ html,
422
+ index,
423
+ renderFunction,
424
+ routesForServer,
425
+ ssrLoaderCombinedModule
426
+ });