@modern-js/app-tools 2.4.0 → 2.5.0-alpha.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 (276) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/cjs/analyze/constants.js +100 -0
  3. package/dist/cjs/analyze/generateCode.js +251 -0
  4. package/dist/cjs/analyze/getBundleEntry.js +101 -0
  5. package/dist/cjs/analyze/getClientRoutes/getRoutes.js +225 -0
  6. package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +221 -0
  7. package/dist/cjs/analyze/getClientRoutes/index.js +30 -0
  8. package/dist/cjs/analyze/getClientRoutes/utils.js +58 -0
  9. package/dist/cjs/analyze/getFileSystemEntry.js +131 -0
  10. package/dist/cjs/analyze/getHtmlTemplate.js +124 -0
  11. package/dist/cjs/analyze/getServerRoutes.js +174 -0
  12. package/dist/cjs/analyze/index.js +294 -0
  13. package/dist/cjs/analyze/isDefaultExportFunction.js +71 -0
  14. package/dist/cjs/analyze/makeLegalIdentifier.js +36 -0
  15. package/dist/cjs/analyze/nestedRoutes.js +179 -0
  16. package/dist/cjs/analyze/templates.js +330 -0
  17. package/dist/cjs/analyze/utils.js +152 -0
  18. package/dist/cjs/builder/builder-rspack/index.js +31 -0
  19. package/dist/cjs/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  20. package/dist/cjs/builder/builder-webpack/index.js +78 -0
  21. package/dist/cjs/builder/builder-webpack/webpackPlugins/RouterPlugin.js +120 -0
  22. package/dist/cjs/builder/builder-webpack/webpackPlugins/index.js +17 -0
  23. package/dist/cjs/builder/generator/createBuilderOptions.js +47 -0
  24. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +49 -0
  25. package/dist/cjs/builder/generator/getBuilderTargets.js +39 -0
  26. package/dist/cjs/builder/generator/index.js +58 -0
  27. package/dist/cjs/builder/index.js +46 -0
  28. package/dist/cjs/builder/shared/builderPlugins/adapterModern.js +230 -0
  29. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +50 -0
  30. package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +57 -0
  31. package/dist/cjs/builder/shared/createCopyPattern.js +75 -0
  32. package/dist/cjs/builder/shared/index.js +19 -0
  33. package/dist/cjs/builder/shared/loaders/serverModuleLoader.js +28 -0
  34. package/dist/cjs/builder/shared/types.js +15 -0
  35. package/dist/cjs/commands/build.js +75 -0
  36. package/dist/cjs/commands/deploy.js +31 -0
  37. package/dist/cjs/commands/dev.js +91 -0
  38. package/dist/cjs/commands/index.js +19 -0
  39. package/dist/cjs/commands/inspect.js +41 -0
  40. package/dist/cjs/commands/serve.js +63 -0
  41. package/dist/cjs/config/default.js +186 -0
  42. package/dist/cjs/config/index.js +19 -0
  43. package/dist/cjs/config/initialize/index.js +35 -0
  44. package/dist/cjs/config/initialize/inits.js +161 -0
  45. package/dist/cjs/config/legacy/createHtmlConfig.js +58 -0
  46. package/dist/cjs/config/legacy/createOutputConfig.js +91 -0
  47. package/dist/cjs/config/legacy/createSourceConfig.js +62 -0
  48. package/dist/cjs/config/legacy/createToolsConfig.js +65 -0
  49. package/dist/cjs/config/legacy/index.js +75 -0
  50. package/dist/cjs/defineConfig.js +33 -0
  51. package/dist/cjs/exports/server.js +27 -0
  52. package/dist/cjs/hooks.js +54 -0
  53. package/dist/cjs/index.js +198 -0
  54. package/dist/cjs/initialize/index.js +102 -0
  55. package/dist/cjs/locale/en.js +59 -0
  56. package/dist/cjs/locale/index.js +33 -0
  57. package/dist/cjs/locale/zh.js +59 -0
  58. package/dist/cjs/schema/Schema.js +63 -0
  59. package/dist/cjs/schema/index.js +118 -0
  60. package/dist/cjs/schema/legacy.js +169 -0
  61. package/dist/cjs/types/config/deploy.js +15 -0
  62. package/dist/cjs/types/config/dev.js +15 -0
  63. package/dist/cjs/types/config/experiments.js +15 -0
  64. package/dist/cjs/types/config/html.js +15 -0
  65. package/dist/cjs/types/config/index.js +17 -0
  66. package/dist/cjs/types/config/output.js +15 -0
  67. package/dist/cjs/types/config/performance.js +15 -0
  68. package/dist/cjs/types/config/security.js +15 -0
  69. package/dist/cjs/types/config/source.js +15 -0
  70. package/dist/cjs/types/config/tools.js +15 -0
  71. package/dist/cjs/types/hooks.js +15 -0
  72. package/dist/cjs/types/index.js +19 -0
  73. package/dist/cjs/types/legacyConfig/deploy.js +15 -0
  74. package/dist/cjs/types/legacyConfig/dev.js +15 -0
  75. package/dist/cjs/types/legacyConfig/index.js +15 -0
  76. package/dist/cjs/types/legacyConfig/output.js +15 -0
  77. package/dist/cjs/types/legacyConfig/source.js +15 -0
  78. package/dist/cjs/types/legacyConfig/tools.js +15 -0
  79. package/dist/cjs/types/utils.js +15 -0
  80. package/dist/cjs/utils/config.js +115 -0
  81. package/dist/cjs/utils/createServer.js +70 -0
  82. package/dist/cjs/utils/env.js +38 -0
  83. package/dist/cjs/utils/generateWatchFiles.js +63 -0
  84. package/dist/cjs/utils/getSelectedEntries.js +61 -0
  85. package/dist/cjs/utils/getServerInternalPlugins.js +41 -0
  86. package/dist/cjs/utils/language.js +31 -0
  87. package/dist/cjs/utils/printInstructions.js +34 -0
  88. package/dist/cjs/utils/restart.js +45 -0
  89. package/dist/cjs/utils/routes.js +39 -0
  90. package/dist/cjs/utils/types.js +15 -0
  91. package/dist/esm/analyze/constants.js +42 -0
  92. package/dist/esm/analyze/generateCode.js +486 -0
  93. package/dist/esm/analyze/getBundleEntry.js +64 -0
  94. package/dist/esm/analyze/getClientRoutes/getRoutes.js +233 -0
  95. package/dist/esm/analyze/getClientRoutes/getRoutesLegacy.js +231 -0
  96. package/dist/esm/analyze/getClientRoutes/index.js +3 -0
  97. package/dist/esm/analyze/getClientRoutes/utils.js +23 -0
  98. package/dist/esm/analyze/getFileSystemEntry.js +107 -0
  99. package/dist/esm/analyze/getHtmlTemplate.js +302 -0
  100. package/dist/esm/analyze/getServerRoutes.js +224 -0
  101. package/dist/esm/analyze/index.js +703 -0
  102. package/dist/esm/analyze/isDefaultExportFunction.js +47 -0
  103. package/dist/esm/analyze/makeLegalIdentifier.js +13 -0
  104. package/dist/esm/analyze/nestedRoutes.js +409 -0
  105. package/dist/esm/analyze/templates.js +466 -0
  106. package/dist/esm/analyze/utils.js +374 -0
  107. package/dist/esm/builder/builder-rspack/index.js +6 -0
  108. package/dist/esm/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  109. package/dist/esm/builder/builder-webpack/index.js +301 -0
  110. package/dist/esm/builder/builder-webpack/webpackPlugins/RouterPlugin.js +346 -0
  111. package/dist/esm/builder/builder-webpack/webpackPlugins/index.js +1 -0
  112. package/dist/esm/builder/generator/createBuilderOptions.js +41 -0
  113. package/dist/esm/builder/generator/createBuilderProviderConfig.js +70 -0
  114. package/dist/esm/builder/generator/getBuilderTargets.js +16 -0
  115. package/dist/esm/builder/generator/index.js +199 -0
  116. package/dist/esm/builder/index.js +175 -0
  117. package/dist/esm/builder/shared/builderPlugins/adapterModern.js +300 -0
  118. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +110 -0
  119. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +72 -0
  120. package/dist/esm/builder/shared/createCopyPattern.js +40 -0
  121. package/dist/esm/builder/shared/index.js +3 -0
  122. package/dist/esm/builder/shared/loaders/serverModuleLoader.js +5 -0
  123. package/dist/esm/builder/shared/types.js +1 -0
  124. package/dist/esm/commands/build.js +291 -0
  125. package/dist/esm/commands/deploy.js +154 -0
  126. package/dist/esm/commands/dev.js +301 -0
  127. package/dist/esm/commands/index.js +3 -0
  128. package/dist/esm/commands/inspect.js +149 -0
  129. package/dist/esm/commands/serve.js +199 -0
  130. package/dist/esm/config/default.js +210 -0
  131. package/dist/esm/config/index.js +3 -0
  132. package/dist/esm/config/initialize/index.js +10 -0
  133. package/dist/esm/config/initialize/inits.js +211 -0
  134. package/dist/esm/config/legacy/createHtmlConfig.js +19 -0
  135. package/dist/esm/config/legacy/createOutputConfig.js +41 -0
  136. package/dist/esm/config/legacy/createSourceConfig.js +42 -0
  137. package/dist/esm/config/legacy/createToolsConfig.js +23 -0
  138. package/dist/esm/config/legacy/index.js +38 -0
  139. package/dist/esm/defineConfig.js +61 -0
  140. package/dist/esm/exports/server.js +2 -0
  141. package/dist/esm/hooks.js +29 -0
  142. package/dist/esm/index.js +713 -0
  143. package/dist/esm/initialize/index.js +284 -0
  144. package/dist/esm/locale/en.js +38 -0
  145. package/dist/esm/locale/index.js +9 -0
  146. package/dist/esm/locale/zh.js +38 -0
  147. package/dist/esm/schema/Schema.js +273 -0
  148. package/dist/esm/schema/index.js +181 -0
  149. package/dist/esm/schema/legacy.js +337 -0
  150. package/dist/esm/types/config/deploy.js +1 -0
  151. package/dist/esm/types/config/dev.js +1 -0
  152. package/dist/esm/types/config/experiments.js +1 -0
  153. package/dist/esm/types/config/html.js +1 -0
  154. package/dist/esm/types/config/index.js +1 -0
  155. package/dist/esm/types/config/output.js +1 -0
  156. package/dist/esm/types/config/performance.js +1 -0
  157. package/dist/esm/types/config/security.js +1 -0
  158. package/dist/esm/types/config/source.js +1 -0
  159. package/dist/esm/types/config/tools.js +1 -0
  160. package/dist/esm/types/hooks.js +1 -0
  161. package/dist/esm/types/index.js +3 -0
  162. package/dist/esm/types/legacyConfig/deploy.js +1 -0
  163. package/dist/esm/types/legacyConfig/dev.js +1 -0
  164. package/dist/esm/types/legacyConfig/index.js +1 -0
  165. package/dist/esm/types/legacyConfig/output.js +1 -0
  166. package/dist/esm/types/legacyConfig/source.js +1 -0
  167. package/dist/esm/types/legacyConfig/tools.js +1 -0
  168. package/dist/esm/types/utils.js +1 -0
  169. package/dist/esm/utils/config.js +302 -0
  170. package/dist/esm/utils/createServer.js +258 -0
  171. package/dist/esm/utils/env.js +13 -0
  172. package/dist/esm/utils/generateWatchFiles.js +214 -0
  173. package/dist/esm/utils/getSelectedEntries.js +186 -0
  174. package/dist/esm/utils/getServerInternalPlugins.js +210 -0
  175. package/dist/esm/utils/language.js +6 -0
  176. package/dist/esm/utils/printInstructions.js +152 -0
  177. package/dist/esm/utils/restart.js +187 -0
  178. package/dist/esm/utils/routes.js +153 -0
  179. package/dist/esm/utils/types.js +1 -0
  180. package/dist/esm-node/analyze/constants.js +56 -0
  181. package/dist/esm-node/analyze/generateCode.js +227 -0
  182. package/dist/esm-node/analyze/getBundleEntry.js +77 -0
  183. package/dist/esm-node/analyze/getClientRoutes/getRoutes.js +201 -0
  184. package/dist/esm-node/analyze/getClientRoutes/getRoutesLegacy.js +197 -0
  185. package/dist/esm-node/analyze/getClientRoutes/index.js +6 -0
  186. package/dist/esm-node/analyze/getClientRoutes/utils.js +31 -0
  187. package/dist/esm-node/analyze/getFileSystemEntry.js +109 -0
  188. package/dist/esm-node/analyze/getHtmlTemplate.js +95 -0
  189. package/dist/esm-node/analyze/getServerRoutes.js +154 -0
  190. package/dist/esm-node/analyze/index.js +285 -0
  191. package/dist/esm-node/analyze/isDefaultExportFunction.js +42 -0
  192. package/dist/esm-node/analyze/makeLegalIdentifier.js +13 -0
  193. package/dist/esm-node/analyze/nestedRoutes.js +150 -0
  194. package/dist/esm-node/analyze/templates.js +297 -0
  195. package/dist/esm-node/analyze/utils.js +121 -0
  196. package/dist/esm-node/builder/builder-rspack/index.js +8 -0
  197. package/dist/esm-node/builder/builder-webpack/builderPlugins/compatModern.js +41 -0
  198. package/dist/esm-node/builder/builder-webpack/index.js +51 -0
  199. package/dist/esm-node/builder/builder-webpack/webpackPlugins/RouterPlugin.js +96 -0
  200. package/dist/esm-node/builder/builder-webpack/webpackPlugins/index.js +1 -0
  201. package/dist/esm-node/builder/generator/createBuilderOptions.js +24 -0
  202. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +26 -0
  203. package/dist/esm-node/builder/generator/getBuilderTargets.js +21 -0
  204. package/dist/esm-node/builder/generator/index.js +29 -0
  205. package/dist/esm-node/builder/index.js +17 -0
  206. package/dist/esm-node/builder/shared/builderPlugins/adapterModern.js +202 -0
  207. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -0
  208. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +34 -0
  209. package/dist/esm-node/builder/shared/createCopyPattern.js +46 -0
  210. package/dist/esm-node/builder/shared/index.js +3 -0
  211. package/dist/esm-node/builder/shared/loaders/serverModuleLoader.js +7 -0
  212. package/dist/esm-node/builder/shared/types.js +0 -0
  213. package/dist/esm-node/commands/build.js +52 -0
  214. package/dist/esm-node/commands/deploy.js +8 -0
  215. package/dist/esm-node/commands/dev.js +72 -0
  216. package/dist/esm-node/commands/index.js +3 -0
  217. package/dist/esm-node/commands/inspect.js +18 -0
  218. package/dist/esm-node/commands/serve.js +34 -0
  219. package/dist/esm-node/config/default.js +162 -0
  220. package/dist/esm-node/config/index.js +3 -0
  221. package/dist/esm-node/config/initialize/index.js +12 -0
  222. package/dist/esm-node/config/initialize/inits.js +136 -0
  223. package/dist/esm-node/config/legacy/createHtmlConfig.js +35 -0
  224. package/dist/esm-node/config/legacy/createOutputConfig.js +68 -0
  225. package/dist/esm-node/config/legacy/createSourceConfig.js +39 -0
  226. package/dist/esm-node/config/legacy/createToolsConfig.js +42 -0
  227. package/dist/esm-node/config/legacy/index.js +51 -0
  228. package/dist/esm-node/defineConfig.js +9 -0
  229. package/dist/esm-node/exports/server.js +4 -0
  230. package/dist/esm-node/hooks.js +35 -0
  231. package/dist/esm-node/index.js +172 -0
  232. package/dist/esm-node/initialize/index.js +91 -0
  233. package/dist/esm-node/locale/en.js +36 -0
  234. package/dist/esm-node/locale/index.js +9 -0
  235. package/dist/esm-node/locale/zh.js +36 -0
  236. package/dist/esm-node/schema/Schema.js +40 -0
  237. package/dist/esm-node/schema/index.js +88 -0
  238. package/dist/esm-node/schema/legacy.js +148 -0
  239. package/dist/esm-node/types/config/deploy.js +0 -0
  240. package/dist/esm-node/types/config/dev.js +0 -0
  241. package/dist/esm-node/types/config/experiments.js +0 -0
  242. package/dist/esm-node/types/config/html.js +0 -0
  243. package/dist/esm-node/types/config/index.js +1 -0
  244. package/dist/esm-node/types/config/output.js +0 -0
  245. package/dist/esm-node/types/config/performance.js +0 -0
  246. package/dist/esm-node/types/config/security.js +0 -0
  247. package/dist/esm-node/types/config/source.js +0 -0
  248. package/dist/esm-node/types/config/tools.js +0 -0
  249. package/dist/esm-node/types/hooks.js +0 -0
  250. package/dist/esm-node/types/index.js +3 -0
  251. package/dist/esm-node/types/legacyConfig/deploy.js +0 -0
  252. package/dist/esm-node/types/legacyConfig/dev.js +0 -0
  253. package/dist/esm-node/types/legacyConfig/index.js +0 -0
  254. package/dist/esm-node/types/legacyConfig/output.js +0 -0
  255. package/dist/esm-node/types/legacyConfig/source.js +0 -0
  256. package/dist/esm-node/types/legacyConfig/tools.js +0 -0
  257. package/dist/esm-node/types/utils.js +0 -0
  258. package/dist/esm-node/utils/config.js +88 -0
  259. package/dist/esm-node/utils/createServer.js +37 -0
  260. package/dist/esm-node/utils/env.js +15 -0
  261. package/dist/esm-node/utils/generateWatchFiles.js +33 -0
  262. package/dist/esm-node/utils/getSelectedEntries.js +38 -0
  263. package/dist/esm-node/utils/getServerInternalPlugins.js +18 -0
  264. package/dist/esm-node/utils/language.js +8 -0
  265. package/dist/esm-node/utils/printInstructions.js +11 -0
  266. package/dist/esm-node/utils/restart.js +22 -0
  267. package/dist/esm-node/utils/routes.js +10 -0
  268. package/dist/esm-node/utils/types.js +0 -0
  269. package/dist/js/modern/analyze/nestedRoutes.js +1 -10
  270. package/dist/js/node/analyze/nestedRoutes.js +1 -10
  271. package/dist/js/treeshaking/analyze/nestedRoutes.js +1 -10
  272. package/dist/types/analyze/templates.d.ts +3 -1
  273. package/dist/types/types/config/tools.d.ts +1 -1
  274. package/dist/types/types/hooks.d.ts +5 -4
  275. package/dist/types/types/index.d.ts +3 -1
  276. package/package.json +30 -31
package/CHANGELOG.md CHANGED
@@ -1,5 +1,64 @@
1
1
  # @modern-js/app-tools
2
2
 
3
+ ## 2.5.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 89ca6cc: refactor: merge build-config into scripts/build
8
+
9
+ refactor: 把 build-config 合并进 scripts/build
10
+
11
+ - 7cb8bb4: fix: use a more correctly params to cal document file
12
+
13
+ fix: 使用更准确的参数去获取 docuemnt 文件
14
+
15
+ - 30614fa: chore: modify package.json entry fields and build config
16
+ chore: 更改 package.json entry 字段以及构建配置
17
+ - 97cc2d0: feat: pass origin bootstrap function to custom render
18
+ feat: 自定义渲染中传入原始 bootstrap 函数
19
+ - 840142c: fix: the `@modern-js/app-tools` hooks should set `webpack` as default type.
20
+ fix: `@modern-js/app-tools` hooks 应该将 'webpack' 设置为默认类型
21
+ - 11c053b: feat: ssr support deploy worker
22
+
23
+ feat: ssr 支持边缘部署
24
+
25
+ - Updated dependencies [58a9918]
26
+ - Updated dependencies [89ca6cc]
27
+ - Updated dependencies [7cb8bb4]
28
+ - Updated dependencies [442204a]
29
+ - Updated dependencies [bb4e712]
30
+ - Updated dependencies [6fca567]
31
+ - Updated dependencies [30614fa]
32
+ - Updated dependencies [038a23b]
33
+ - Updated dependencies [c4c10e7]
34
+ - Updated dependencies [84c21f9]
35
+ - Updated dependencies [1b0ce87]
36
+ - Updated dependencies [11c053b]
37
+ - Updated dependencies [577084d]
38
+ - Updated dependencies [f0b3d8c]
39
+ - Updated dependencies [c5ea222]
40
+ - Updated dependencies [28e7dc6]
41
+ - Updated dependencies [40230b3]
42
+ - Updated dependencies [169c58b]
43
+ - @modern-js/builder-shared@2.5.0
44
+ - @modern-js/plugin-data-loader@2.5.0
45
+ - @modern-js/plugin-i18n@2.5.0
46
+ - @modern-js/plugin-lint@2.5.0
47
+ - @modern-js/new-action@2.5.0
48
+ - @modern-js/prod-server@2.5.0
49
+ - @modern-js/server@2.5.0
50
+ - @modern-js/node-bundle-require@2.5.0
51
+ - @modern-js/plugin@2.5.0
52
+ - @modern-js/types@2.5.0
53
+ - @modern-js/builder@2.5.0
54
+ - @modern-js/builder-rspack-provider@2.5.0
55
+ - @modern-js/builder-webpack-provider@2.5.0
56
+ - @modern-js/builder-plugin-esbuild@2.5.0
57
+ - @modern-js/builder-plugin-node-polyfill@2.5.0
58
+ - @modern-js/core@2.5.0
59
+ - @modern-js/utils@2.5.0
60
+ - @modern-js/upgrade@2.5.0
61
+
3
62
  ## 2.4.0
4
63
 
5
64
  ### Minor Changes
@@ -0,0 +1,100 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var constants_exports = {};
19
+ __export(constants_exports, {
20
+ APP_CONFIG_NAME: () => APP_CONFIG_NAME,
21
+ APP_FILE_NAME: () => APP_FILE_NAME,
22
+ APP_INIT_EXPORTED: () => APP_INIT_EXPORTED,
23
+ APP_INIT_IMPORTED: () => APP_INIT_IMPORTED,
24
+ ENTRY_BOOTSTRAP_FILE_NAME: () => ENTRY_BOOTSTRAP_FILE_NAME,
25
+ ENTRY_POINT_FILE_NAME: () => ENTRY_POINT_FILE_NAME,
26
+ FILE_SYSTEM_ROUTES_COMPONENTS_DIR: () => FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
27
+ FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP: () => FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
28
+ FILE_SYSTEM_ROUTES_FILE_NAME: () => FILE_SYSTEM_ROUTES_FILE_NAME,
29
+ FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT: () => FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT,
30
+ FILE_SYSTEM_ROUTES_IGNORED_REGEX: () => FILE_SYSTEM_ROUTES_IGNORED_REGEX,
31
+ FILE_SYSTEM_ROUTES_INDEX: () => FILE_SYSTEM_ROUTES_INDEX,
32
+ FILE_SYSTEM_ROUTES_LAYOUT: () => FILE_SYSTEM_ROUTES_LAYOUT,
33
+ HTML_PARTIALS_EXTENSIONS: () => HTML_PARTIALS_EXTENSIONS,
34
+ HTML_PARTIALS_FOLDER: () => HTML_PARTIALS_FOLDER,
35
+ INDEX_FILE_NAME: () => INDEX_FILE_NAME,
36
+ JS_EXTENSIONS: () => JS_EXTENSIONS,
37
+ LOADER_EXPORT_NAME: () => LOADER_EXPORT_NAME,
38
+ NESTED_ROUTE: () => NESTED_ROUTE,
39
+ NESTED_ROUTES_DIR: () => NESTED_ROUTES_DIR,
40
+ PAGES_DIR_NAME: () => PAGES_DIR_NAME,
41
+ TEMP_LOADERS_DIR: () => TEMP_LOADERS_DIR
42
+ });
43
+ module.exports = __toCommonJS(constants_exports);
44
+ const JS_EXTENSIONS = [".js", ".ts", ".jsx", ".tsx"];
45
+ const INDEX_FILE_NAME = "index";
46
+ const APP_FILE_NAME = "App";
47
+ const PAGES_DIR_NAME = "pages";
48
+ const NESTED_ROUTES_DIR = "routes";
49
+ const FILE_SYSTEM_ROUTES_FILE_NAME = "routes.js";
50
+ const LOADER_EXPORT_NAME = "loader";
51
+ const TEMP_LOADERS_DIR = "__loaders__";
52
+ const ENTRY_POINT_FILE_NAME = "index.js";
53
+ const ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.js";
54
+ const FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP = /^\[(\S+)\]([*+?]?)$/;
55
+ const FILE_SYSTEM_ROUTES_LAYOUT = "_layout";
56
+ const FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT = "_app";
57
+ const FILE_SYSTEM_ROUTES_INDEX = "index";
58
+ const FILE_SYSTEM_ROUTES_IGNORED_REGEX = /\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/;
59
+ const HTML_PARTIALS_FOLDER = "html";
60
+ const HTML_PARTIALS_EXTENSIONS = [".htm", ".html", ".ejs"];
61
+ const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
62
+ const NESTED_ROUTE = {
63
+ LAYOUT_FILE: "layout",
64
+ LAYOUT_LOADER_FILE: "layout.loader",
65
+ PAGE_FILE: "page",
66
+ PAGE_LOADER_FILE: "page.loader",
67
+ LOADING_FILE: "loading",
68
+ ERROR_FILE: "error",
69
+ LOADER_FILE: "loader",
70
+ SPLATE_FILE: "$",
71
+ SPLATE_LOADER_FILE: "$.loader"
72
+ };
73
+ const APP_CONFIG_NAME = "config";
74
+ const APP_INIT_EXPORTED = "init";
75
+ const APP_INIT_IMPORTED = "appInit";
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ APP_CONFIG_NAME,
79
+ APP_FILE_NAME,
80
+ APP_INIT_EXPORTED,
81
+ APP_INIT_IMPORTED,
82
+ ENTRY_BOOTSTRAP_FILE_NAME,
83
+ ENTRY_POINT_FILE_NAME,
84
+ FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
85
+ FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
86
+ FILE_SYSTEM_ROUTES_FILE_NAME,
87
+ FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT,
88
+ FILE_SYSTEM_ROUTES_IGNORED_REGEX,
89
+ FILE_SYSTEM_ROUTES_INDEX,
90
+ FILE_SYSTEM_ROUTES_LAYOUT,
91
+ HTML_PARTIALS_EXTENSIONS,
92
+ HTML_PARTIALS_FOLDER,
93
+ INDEX_FILE_NAME,
94
+ JS_EXTENSIONS,
95
+ LOADER_EXPORT_NAME,
96
+ NESTED_ROUTE,
97
+ NESTED_ROUTES_DIR,
98
+ PAGES_DIR_NAME,
99
+ TEMP_LOADERS_DIR
100
+ });
@@ -0,0 +1,251 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ 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 generateCode_exports = {};
25
+ __export(generateCode_exports, {
26
+ createImportStatements: () => createImportStatements,
27
+ generateCode: () => generateCode
28
+ });
29
+ module.exports = __toCommonJS(generateCode_exports);
30
+ var import_path = __toESM(require("path"));
31
+ var import_utils = require("@modern-js/utils");
32
+ var import_core = require("@modern-js/core");
33
+ var templates = __toESM(require("./templates"));
34
+ var import_getClientRoutes = require("./getClientRoutes");
35
+ var import_constants = require("./constants");
36
+ var import_utils2 = require("./utils");
37
+ var import_nestedRoutes = require("./nestedRoutes");
38
+ const createImportSpecifier = (specifiers) => {
39
+ let defaults = "";
40
+ const named = [];
41
+ for (const { local, imported } of specifiers) {
42
+ if (local && imported) {
43
+ named.push(`${imported} as ${local}`);
44
+ } else if (local) {
45
+ defaults = local;
46
+ } else {
47
+ named.push(imported);
48
+ }
49
+ }
50
+ if (defaults && named.length) {
51
+ return `${defaults}, { ${named.join(", ")} }`;
52
+ } else if (defaults) {
53
+ return defaults;
54
+ } else {
55
+ return `{ ${named.join(", ")} }`;
56
+ }
57
+ };
58
+ const createImportStatements = (statements) => {
59
+ var _a, _b;
60
+ const deDuplicated = [];
61
+ const seen = /* @__PURE__ */ new Map();
62
+ for (const { value, specifiers, initialize } of statements) {
63
+ if (!seen.has(value)) {
64
+ deDuplicated.push({
65
+ value,
66
+ specifiers,
67
+ initialize
68
+ });
69
+ seen.set(value, specifiers);
70
+ } else {
71
+ seen.get(value).push(...specifiers);
72
+ const modifyIndex = deDuplicated.findIndex((v) => v.value === value);
73
+ const originInitialize = (_b = (_a = deDuplicated[modifyIndex]) == null ? void 0 : _a.initialize) != null ? _b : "";
74
+ deDuplicated[modifyIndex].initialize = originInitialize.concat(
75
+ `
76
+ ${initialize || ""}`
77
+ );
78
+ }
79
+ }
80
+ return deDuplicated.map(
81
+ ({ value, specifiers, initialize }) => `import ${createImportSpecifier(specifiers)} from '${value}';
82
+ ${initialize || ""}`
83
+ ).join("\n");
84
+ };
85
+ const generateCode = async (appContext, config, entrypoints, api) => {
86
+ var _a, _b, _c;
87
+ const {
88
+ internalDirectory,
89
+ srcDirectory,
90
+ internalDirAlias,
91
+ internalSrcAlias,
92
+ packageName,
93
+ metaName
94
+ } = appContext;
95
+ const hookRunners = api.useHookRunners();
96
+ const isV5 = typeof ((_a = config.runtime) == null ? void 0 : _a.router) !== "boolean" && ((_c = (_b = config == null ? void 0 : config.runtime) == null ? void 0 : _b.router) == null ? void 0 : _c.mode) === "react-router-5";
97
+ const { mountId } = config.html;
98
+ const getRoutes = isV5 ? import_getClientRoutes.getClientRoutesLegacy : import_getClientRoutes.getClientRoutes;
99
+ await Promise.all(entrypoints.map(generateEntryCode));
100
+ async function generateEntryCode(entrypoint) {
101
+ const { entryName, isAutoMount, customBootstrap, fileSystemRoutes } = entrypoint;
102
+ if (isAutoMount) {
103
+ if (fileSystemRoutes) {
104
+ let initialRoutes = [];
105
+ let nestedRoute = null;
106
+ if (entrypoint.entry) {
107
+ initialRoutes = getRoutes({
108
+ entrypoint,
109
+ srcDirectory,
110
+ srcAlias: internalSrcAlias,
111
+ internalDirectory,
112
+ internalDirAlias
113
+ });
114
+ }
115
+ if (entrypoint.nestedRoutesEntry) {
116
+ if (!isV5) {
117
+ nestedRoute = await (0, import_nestedRoutes.walk)(
118
+ entrypoint.nestedRoutesEntry,
119
+ entrypoint.nestedRoutesEntry,
120
+ {
121
+ name: internalSrcAlias,
122
+ basename: srcDirectory
123
+ },
124
+ entrypoint.entryName
125
+ );
126
+ if (nestedRoute) {
127
+ initialRoutes.unshift(nestedRoute);
128
+ }
129
+ } else {
130
+ import_utils.logger.error("Nested routes is not supported in legacy mode.");
131
+ process.exit(1);
132
+ }
133
+ }
134
+ const { routes } = await hookRunners.modifyFileSystemRoutes({
135
+ entrypoint,
136
+ routes: initialRoutes
137
+ });
138
+ const config2 = (0, import_core.useResolvedConfigContext)();
139
+ const ssr = (0, import_utils.getEntryOptions)(
140
+ entryName,
141
+ config2.server.ssr,
142
+ config2.server.ssrByEntries,
143
+ packageName
144
+ );
145
+ let mode;
146
+ if (ssr) {
147
+ mode = typeof ssr === "object" ? ssr.mode || "string" : "string";
148
+ } else {
149
+ mode = false;
150
+ }
151
+ if (mode === "stream") {
152
+ const hasPageRoute = routes.some(
153
+ (route) => "type" in route && route.type === "page"
154
+ );
155
+ if (hasPageRoute) {
156
+ import_utils.logger.error(
157
+ "Streaming ssr is not supported when pages dir exists"
158
+ );
159
+ process.exit(1);
160
+ }
161
+ }
162
+ const { code: code2 } = await hookRunners.beforeGenerateRoutes({
163
+ entrypoint,
164
+ code: await templates.fileSystemRoutes({
165
+ routes,
166
+ ssrMode: mode,
167
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry,
168
+ entryName: entrypoint.entryName,
169
+ internalDirectory
170
+ })
171
+ });
172
+ if (entrypoint.nestedRoutesEntry && mode) {
173
+ const routesServerFile = (0, import_utils2.getServerLoadersFile)(
174
+ internalDirectory,
175
+ entryName
176
+ );
177
+ const code3 = templates.routesForServer({
178
+ routes,
179
+ metaName
180
+ });
181
+ await import_utils.fs.ensureFile(routesServerFile);
182
+ await import_utils.fs.writeFile(routesServerFile, code3);
183
+ }
184
+ import_utils.fs.outputFileSync(
185
+ import_path.default.resolve(
186
+ internalDirectory,
187
+ `./${entryName}/${import_constants.FILE_SYSTEM_ROUTES_FILE_NAME}`
188
+ ),
189
+ code2,
190
+ "utf8"
191
+ );
192
+ }
193
+ const { imports: importStatements } = await hookRunners.modifyEntryImports({
194
+ entrypoint,
195
+ imports: (0, import_utils2.getDefaultImports)({
196
+ entrypoint,
197
+ srcDirectory,
198
+ internalSrcAlias,
199
+ internalDirAlias,
200
+ internalDirectory
201
+ })
202
+ });
203
+ const { plugins } = await hookRunners.modifyEntryRuntimePlugins({
204
+ entrypoint,
205
+ plugins: []
206
+ });
207
+ const { code: renderFunction } = await hookRunners.modifyEntryRenderFunction({
208
+ entrypoint,
209
+ code: templates.renderFunction({
210
+ plugins,
211
+ customBootstrap,
212
+ fileSystemRoutes
213
+ })
214
+ });
215
+ const { exportStatement } = await hookRunners.modifyEntryExport({
216
+ entrypoint,
217
+ exportStatement: "export default AppWrapper;"
218
+ });
219
+ const code = templates.index({
220
+ mountId,
221
+ imports: createImportStatements(importStatements),
222
+ renderFunction,
223
+ exportStatement
224
+ });
225
+ const entryFile = import_path.default.resolve(
226
+ internalDirectory,
227
+ `./${entryName}/${import_constants.ENTRY_POINT_FILE_NAME}`
228
+ );
229
+ entrypoint.entry = entryFile;
230
+ if (config.source.enableAsyncEntry) {
231
+ const { code: asyncEntryCode } = await hookRunners.modifyAsyncEntry({
232
+ entrypoint,
233
+ code: `import('./${import_constants.ENTRY_BOOTSTRAP_FILE_NAME}');`
234
+ });
235
+ import_utils.fs.outputFileSync(entryFile, asyncEntryCode, "utf8");
236
+ const bootstrapFile = import_path.default.resolve(
237
+ internalDirectory,
238
+ `./${entryName}/${import_constants.ENTRY_BOOTSTRAP_FILE_NAME}`
239
+ );
240
+ import_utils.fs.outputFileSync(bootstrapFile, code, "utf8");
241
+ } else {
242
+ import_utils.fs.outputFileSync(entryFile, code, "utf8");
243
+ }
244
+ }
245
+ }
246
+ };
247
+ // Annotate the CommonJS export names for ESM import in node:
248
+ 0 && (module.exports = {
249
+ createImportStatements,
250
+ generateCode
251
+ });
@@ -0,0 +1,101 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ 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 getBundleEntry_exports = {};
25
+ __export(getBundleEntry_exports, {
26
+ getBundleEntry: () => getBundleEntry
27
+ });
28
+ module.exports = __toCommonJS(getBundleEntry_exports);
29
+ var import_path = __toESM(require("path"));
30
+ var import_utils = require("@modern-js/utils");
31
+ var import_getFileSystemEntry = require("./getFileSystemEntry");
32
+ var import_constants = require("./constants");
33
+ const ensureExtensions = (file) => {
34
+ if (!import_path.default.extname(file)) {
35
+ return (0, import_utils.findExists)(import_constants.JS_EXTENSIONS.map((ext) => `${file}${ext}`)) || file;
36
+ }
37
+ return file;
38
+ };
39
+ const ifAlreadyExists = (entrypoints, checked) => entrypoints.some((entrypoint) => {
40
+ if (ensureExtensions(entrypoint.entry) === ensureExtensions(checked.entry)) {
41
+ checked.entryName = entrypoint.entryName;
42
+ return true;
43
+ }
44
+ if (entrypoint.entry.startsWith(checked.entry) || checked.entry.startsWith(entrypoint.entry)) {
45
+ throw new Error(
46
+ `Entry configuration conflicts
47
+ Your configuration: ${checked.entry}.
48
+ Default entrypoint: ${entrypoint.entry}
49
+ Please reset source.entries or set source.disableDefaultEntries to disable the default entry rules.`
50
+ );
51
+ }
52
+ return false;
53
+ });
54
+ const getBundleEntry = (appContext, config) => {
55
+ const { appDirectory, packageName } = appContext;
56
+ const {
57
+ source: { disableDefaultEntries, entries, entriesDir }
58
+ } = config;
59
+ const defaults = disableDefaultEntries ? [] : (0, import_getFileSystemEntry.getFileSystemEntry)(appContext, config);
60
+ if (entries) {
61
+ Object.keys(entries).forEach((name) => {
62
+ const value = entries[name];
63
+ const entrypoint = typeof value === "string" ? {
64
+ entryName: name,
65
+ entry: (0, import_utils.ensureAbsolutePath)(appDirectory, value),
66
+ absoluteEntryDir: import_path.default.dirname(
67
+ (0, import_utils.ensureAbsolutePath)(appDirectory, value)
68
+ ),
69
+ isAutoMount: true,
70
+ fileSystemRoutes: import_utils.fs.statSync((0, import_utils.ensureAbsolutePath)(appDirectory, value)).isDirectory() ? {} : void 0
71
+ } : {
72
+ entryName: name,
73
+ entry: (0, import_utils.ensureAbsolutePath)(appDirectory, value.entry),
74
+ absoluteEntryDir: import_path.default.dirname(
75
+ (0, import_utils.ensureAbsolutePath)(appDirectory, value.entry)
76
+ ),
77
+ isAutoMount: !value.disableMount,
78
+ customBootstrap: value.customBootstrap && (0, import_utils.ensureAbsolutePath)(appDirectory, value.customBootstrap),
79
+ fileSystemRoutes: import_utils.fs.statSync((0, import_utils.ensureAbsolutePath)(appDirectory, value.entry)).isDirectory() ? {} : void 0
80
+ };
81
+ if (entrypoint.fileSystemRoutes) {
82
+ entrypoint.nestedRoutesEntry = entrypoint.entry;
83
+ }
84
+ if (!ifAlreadyExists(defaults, entrypoint)) {
85
+ defaults.push(entrypoint);
86
+ }
87
+ });
88
+ }
89
+ if (!disableDefaultEntries) {
90
+ const entriesDirAbs = (0, import_utils.ensureAbsolutePath)(appDirectory, entriesDir || "");
91
+ const found = defaults.find(
92
+ ({ entryName, entry, nestedRoutesEntry = "" }) => entryName === packageName || import_path.default.dirname(entry) === entriesDirAbs || import_path.default.dirname(nestedRoutesEntry) === entriesDirAbs
93
+ );
94
+ found && (found.entryName = import_utils.MAIN_ENTRY_NAME);
95
+ }
96
+ return defaults;
97
+ };
98
+ // Annotate the CommonJS export names for ESM import in node:
99
+ 0 && (module.exports = {
100
+ getBundleEntry
101
+ });