@modern-js/app-tools 2.35.0 → 2.35.2-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 (513) hide show
  1. package/dist/cjs/analyze/constants.js +69 -75
  2. package/dist/cjs/analyze/generateCode.js +77 -61
  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 -33
  9. package/dist/cjs/analyze/getHtmlTemplate.js +45 -20
  10. package/dist/cjs/analyze/getServerRoutes.js +59 -34
  11. package/dist/cjs/analyze/index.js +77 -55
  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 +117 -65
  15. package/dist/cjs/analyze/templates.js +139 -57
  16. package/dist/cjs/analyze/utils.js +101 -67
  17. package/dist/cjs/builder/builder-rspack/adapterCopy.js +46 -20
  18. package/dist/cjs/builder/builder-rspack/index.js +29 -12
  19. package/dist/cjs/builder/builder-webpack/adapterModern.js +28 -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 +27 -11
  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 +34 -7
  28. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +39 -38
  29. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +58 -34
  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 +43 -26
  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 +34 -18
  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 -10
  44. package/dist/cjs/commands/serve.js +49 -23
  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 +44 -25
  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 +196 -184
  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 +49 -22
  97. package/dist/esm/analyze/generateCode.js +42 -37
  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 +11 -9
  104. package/dist/esm/analyze/getHtmlTemplate.js +7 -4
  105. package/dist/esm/analyze/getServerRoutes.js +12 -10
  106. package/dist/esm/analyze/index.js +27 -24
  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 +99 -30
  110. package/dist/esm/analyze/templates.js +125 -34
  111. package/dist/esm/analyze/utils.js +103 -18
  112. package/dist/esm/builder/builder-rspack/adapterCopy.js +4 -1
  113. package/dist/esm/builder/builder-rspack/index.js +4 -1
  114. package/dist/esm/builder/builder-webpack/adapterModern.js +4 -1
  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 +5 -3
  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 +5 -2
  122. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +4 -1
  123. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +23 -51
  124. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +22 -21
  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 +9 -6
  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 +9 -6
  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 +6 -3
  135. package/dist/esm/commands/serve.js +11 -8
  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 +6 -2
  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 +21 -14
  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 +14 -8
  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 +5 -2
  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 +49 -22
  185. package/dist/esm-node/analyze/generateCode.js +11 -7
  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 +5 -3
  192. package/dist/esm-node/analyze/getHtmlTemplate.js +4 -1
  193. package/dist/esm-node/analyze/getServerRoutes.js +8 -6
  194. package/dist/esm-node/analyze/index.js +4 -1
  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 +49 -10
  198. package/dist/esm-node/analyze/templates.js +97 -22
  199. package/dist/esm-node/analyze/utils.js +48 -16
  200. package/dist/esm-node/builder/builder-rspack/adapterCopy.js +4 -1
  201. package/dist/esm-node/builder/builder-rspack/index.js +4 -1
  202. package/dist/esm-node/builder/builder-webpack/adapterModern.js +4 -1
  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 +5 -3
  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 +5 -2
  210. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +4 -1
  211. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +8 -20
  212. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +16 -15
  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 +6 -3
  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 +6 -4
  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 +5 -3
  223. package/dist/esm-node/commands/serve.js +8 -5
  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 +6 -2
  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 +140 -135
  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 +12 -6
  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 +5 -2
  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/js/modern/analyze/constants.js +54 -0
  273. package/dist/js/modern/analyze/generateCode.js +247 -0
  274. package/dist/js/modern/analyze/getBundleEntry.js +71 -0
  275. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +220 -0
  276. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +216 -0
  277. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -0
  278. package/dist/js/modern/analyze/getClientRoutes/utils.js +31 -0
  279. package/dist/js/modern/analyze/getFileSystemEntry.js +109 -0
  280. package/dist/js/modern/analyze/getHtmlTemplate.js +115 -0
  281. package/dist/js/modern/analyze/getServerRoutes.js +175 -0
  282. package/dist/js/modern/analyze/index.js +332 -0
  283. package/dist/js/modern/analyze/isDefaultExportFunction.js +42 -0
  284. package/dist/js/modern/analyze/makeLegalIdentifier.js +13 -0
  285. package/dist/js/modern/analyze/nestedRoutes.js +157 -0
  286. package/dist/js/modern/analyze/templates.js +334 -0
  287. package/dist/js/modern/analyze/utils.js +141 -0
  288. package/dist/js/modern/builder/builderPlugins/compatModern.js +233 -0
  289. package/dist/js/modern/builder/index.js +159 -0
  290. package/dist/js/modern/builder/loaders/routerLoader.js +17 -0
  291. package/dist/js/modern/builder/loaders/serverModuleLoader.js +7 -0
  292. package/dist/js/modern/builder/share.js +46 -0
  293. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +30 -0
  294. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +37 -0
  295. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +113 -0
  296. package/dist/js/modern/commands/build.js +91 -0
  297. package/dist/js/modern/commands/deploy.js +28 -0
  298. package/dist/js/modern/commands/dev.js +109 -0
  299. package/dist/js/modern/commands/index.js +3 -0
  300. package/dist/js/modern/commands/inspect.js +38 -0
  301. package/dist/js/modern/commands/serve.js +54 -0
  302. package/dist/js/modern/config/default.js +175 -0
  303. package/dist/js/modern/config/index.js +8 -0
  304. package/dist/js/modern/config/initial/createHtmlConfig.js +35 -0
  305. package/dist/js/modern/config/initial/createOutputConfig.js +68 -0
  306. package/dist/js/modern/config/initial/createSourceConfig.js +39 -0
  307. package/dist/js/modern/config/initial/createToolsConfig.js +42 -0
  308. package/dist/js/modern/config/initial/index.js +16 -0
  309. package/dist/js/modern/config/initial/inits.js +152 -0
  310. package/dist/js/modern/config/initial/transformNormalizedConfig.js +47 -0
  311. package/dist/js/modern/defineConfig.js +27 -0
  312. package/dist/js/modern/exports/server.js +4 -0
  313. package/dist/js/modern/hooks.js +35 -0
  314. package/dist/js/modern/index.js +211 -0
  315. package/dist/js/modern/initialize/index.js +124 -0
  316. package/dist/js/modern/locale/en.js +36 -0
  317. package/dist/js/modern/locale/index.js +9 -0
  318. package/dist/js/modern/locale/zh.js +36 -0
  319. package/dist/js/modern/schema/Schema.js +40 -0
  320. package/dist/js/modern/schema/index.js +88 -0
  321. package/dist/js/modern/schema/legacy.js +148 -0
  322. package/dist/js/modern/types/config/deploy.js +0 -0
  323. package/dist/js/modern/types/config/dev.js +0 -0
  324. package/dist/js/modern/types/config/experiments.js +0 -0
  325. package/dist/js/modern/types/config/html.js +0 -0
  326. package/dist/js/modern/types/config/index.js +1 -0
  327. package/dist/js/modern/types/config/output.js +0 -0
  328. package/dist/js/modern/types/config/performance.js +0 -0
  329. package/dist/js/modern/types/config/security.js +0 -0
  330. package/dist/js/modern/types/config/source.js +0 -0
  331. package/dist/js/modern/types/config/tools.js +0 -0
  332. package/dist/js/modern/types/hooks.js +0 -0
  333. package/dist/js/modern/types/index.js +3 -0
  334. package/dist/js/modern/types/legacyConfig/deploy.js +0 -0
  335. package/dist/js/modern/types/legacyConfig/dev.js +0 -0
  336. package/dist/js/modern/types/legacyConfig/index.js +0 -0
  337. package/dist/js/modern/types/legacyConfig/output.js +0 -0
  338. package/dist/js/modern/types/legacyConfig/source.js +0 -0
  339. package/dist/js/modern/types/legacyConfig/tools.js +0 -0
  340. package/dist/js/modern/utils/config.js +128 -0
  341. package/dist/js/modern/utils/createServer.js +75 -0
  342. package/dist/js/modern/utils/env.js +15 -0
  343. package/dist/js/modern/utils/generateWatchFiles.js +55 -0
  344. package/dist/js/modern/utils/getSelectedEntries.js +58 -0
  345. package/dist/js/modern/utils/getServerInternalPlugins.js +58 -0
  346. package/dist/js/modern/utils/language.js +8 -0
  347. package/dist/js/modern/utils/printInstructions.js +31 -0
  348. package/dist/js/modern/utils/restart.js +44 -0
  349. package/dist/js/modern/utils/routes.js +30 -0
  350. package/dist/js/modern/utils/types.js +0 -0
  351. package/dist/js/node/analyze/constants.js +98 -0
  352. package/dist/js/node/analyze/generateCode.js +271 -0
  353. package/dist/js/node/analyze/getBundleEntry.js +95 -0
  354. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +242 -0
  355. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +238 -0
  356. package/dist/js/node/analyze/getClientRoutes/index.js +30 -0
  357. package/dist/js/node/analyze/getClientRoutes/utils.js +58 -0
  358. package/dist/js/node/analyze/getFileSystemEntry.js +131 -0
  359. package/dist/js/node/analyze/getHtmlTemplate.js +144 -0
  360. package/dist/js/node/analyze/getServerRoutes.js +194 -0
  361. package/dist/js/node/analyze/index.js +339 -0
  362. package/dist/js/node/analyze/isDefaultExportFunction.js +71 -0
  363. package/dist/js/node/analyze/makeLegalIdentifier.js +36 -0
  364. package/dist/js/node/analyze/nestedRoutes.js +184 -0
  365. package/dist/js/node/analyze/templates.js +365 -0
  366. package/dist/js/node/analyze/utils.js +172 -0
  367. package/dist/js/node/builder/builderPlugins/compatModern.js +258 -0
  368. package/dist/js/node/builder/index.js +177 -0
  369. package/dist/js/node/builder/loaders/routerLoader.js +38 -0
  370. package/dist/js/node/builder/loaders/serverModuleLoader.js +28 -0
  371. package/dist/js/node/builder/share.js +75 -0
  372. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +53 -0
  373. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +60 -0
  374. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +135 -0
  375. package/dist/js/node/commands/build.js +112 -0
  376. package/dist/js/node/commands/deploy.js +51 -0
  377. package/dist/js/node/commands/dev.js +126 -0
  378. package/dist/js/node/commands/index.js +19 -0
  379. package/dist/js/node/commands/inspect.js +61 -0
  380. package/dist/js/node/commands/serve.js +83 -0
  381. package/dist/js/node/config/default.js +197 -0
  382. package/dist/js/node/config/index.js +34 -0
  383. package/dist/js/node/config/initial/createHtmlConfig.js +58 -0
  384. package/dist/js/node/config/initial/createOutputConfig.js +91 -0
  385. package/dist/js/node/config/initial/createSourceConfig.js +62 -0
  386. package/dist/js/node/config/initial/createToolsConfig.js +65 -0
  387. package/dist/js/node/config/initial/index.js +41 -0
  388. package/dist/js/node/config/initial/inits.js +175 -0
  389. package/dist/js/node/config/initial/transformNormalizedConfig.js +70 -0
  390. package/dist/js/node/defineConfig.js +49 -0
  391. package/dist/js/node/exports/server.js +27 -0
  392. package/dist/js/node/hooks.js +54 -0
  393. package/dist/js/node/index.js +235 -0
  394. package/dist/js/node/initialize/index.js +134 -0
  395. package/dist/js/node/locale/en.js +59 -0
  396. package/dist/js/node/locale/index.js +33 -0
  397. package/dist/js/node/locale/zh.js +59 -0
  398. package/dist/js/node/schema/Schema.js +63 -0
  399. package/dist/js/node/schema/index.js +118 -0
  400. package/dist/js/node/schema/legacy.js +169 -0
  401. package/dist/js/node/types/config/deploy.js +15 -0
  402. package/dist/js/node/types/config/dev.js +15 -0
  403. package/dist/js/node/types/config/experiments.js +15 -0
  404. package/dist/js/node/types/config/html.js +15 -0
  405. package/dist/js/node/types/config/index.js +17 -0
  406. package/dist/js/node/types/config/output.js +15 -0
  407. package/dist/js/node/types/config/performance.js +15 -0
  408. package/dist/js/node/types/config/security.js +15 -0
  409. package/dist/js/node/types/config/source.js +15 -0
  410. package/dist/js/node/types/config/tools.js +15 -0
  411. package/dist/js/node/types/hooks.js +15 -0
  412. package/dist/js/node/types/index.js +19 -0
  413. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  414. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  415. package/dist/js/node/types/legacyConfig/index.js +15 -0
  416. package/dist/js/node/types/legacyConfig/output.js +15 -0
  417. package/dist/js/node/types/legacyConfig/source.js +15 -0
  418. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  419. package/dist/js/node/utils/config.js +153 -0
  420. package/dist/js/node/utils/createServer.js +106 -0
  421. package/dist/js/node/utils/env.js +38 -0
  422. package/dist/js/node/utils/generateWatchFiles.js +85 -0
  423. package/dist/js/node/utils/getSelectedEntries.js +81 -0
  424. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  425. package/dist/js/node/utils/language.js +31 -0
  426. package/dist/js/node/utils/printInstructions.js +54 -0
  427. package/dist/js/node/utils/restart.js +67 -0
  428. package/dist/js/node/utils/routes.js +59 -0
  429. package/dist/js/node/utils/types.js +15 -0
  430. package/dist/js/treeshaking/analyze/constants.js +40 -0
  431. package/dist/js/treeshaking/analyze/generateCode.js +485 -0
  432. package/dist/js/treeshaking/analyze/getBundleEntry.js +62 -0
  433. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +233 -0
  434. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +231 -0
  435. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -0
  436. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +23 -0
  437. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +107 -0
  438. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +302 -0
  439. package/dist/js/treeshaking/analyze/getServerRoutes.js +222 -0
  440. package/dist/js/treeshaking/analyze/index.js +697 -0
  441. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +47 -0
  442. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -0
  443. package/dist/js/treeshaking/analyze/nestedRoutes.js +384 -0
  444. package/dist/js/treeshaking/analyze/templates.js +468 -0
  445. package/dist/js/treeshaking/analyze/utils.js +374 -0
  446. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +304 -0
  447. package/dist/js/treeshaking/builder/index.js +374 -0
  448. package/dist/js/treeshaking/builder/loaders/routerLoader.js +13 -0
  449. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +5 -0
  450. package/dist/js/treeshaking/builder/share.js +40 -0
  451. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +110 -0
  452. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +72 -0
  453. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +343 -0
  454. package/dist/js/treeshaking/commands/build.js +291 -0
  455. package/dist/js/treeshaking/commands/deploy.js +154 -0
  456. package/dist/js/treeshaking/commands/dev.js +301 -0
  457. package/dist/js/treeshaking/commands/index.js +3 -0
  458. package/dist/js/treeshaking/commands/inspect.js +149 -0
  459. package/dist/js/treeshaking/commands/serve.js +199 -0
  460. package/dist/js/treeshaking/config/default.js +210 -0
  461. package/dist/js/treeshaking/config/index.js +3 -0
  462. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -0
  463. package/dist/js/treeshaking/config/initial/createOutputConfig.js +41 -0
  464. package/dist/js/treeshaking/config/initial/createSourceConfig.js +42 -0
  465. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -0
  466. package/dist/js/treeshaking/config/initial/index.js +12 -0
  467. package/dist/js/treeshaking/config/initial/inits.js +209 -0
  468. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +35 -0
  469. package/dist/js/treeshaking/defineConfig.js +61 -0
  470. package/dist/js/treeshaking/exports/server.js +2 -0
  471. package/dist/js/treeshaking/hooks.js +29 -0
  472. package/dist/js/treeshaking/index.js +706 -0
  473. package/dist/js/treeshaking/initialize/index.js +276 -0
  474. package/dist/js/treeshaking/locale/en.js +38 -0
  475. package/dist/js/treeshaking/locale/index.js +9 -0
  476. package/dist/js/treeshaking/locale/zh.js +38 -0
  477. package/dist/js/treeshaking/schema/Schema.js +273 -0
  478. package/dist/js/treeshaking/schema/index.js +181 -0
  479. package/dist/js/treeshaking/schema/legacy.js +337 -0
  480. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  481. package/dist/js/treeshaking/types/config/dev.js +1 -0
  482. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  483. package/dist/js/treeshaking/types/config/html.js +1 -0
  484. package/dist/js/treeshaking/types/config/index.js +1 -0
  485. package/dist/js/treeshaking/types/config/output.js +1 -0
  486. package/dist/js/treeshaking/types/config/performance.js +1 -0
  487. package/dist/js/treeshaking/types/config/security.js +1 -0
  488. package/dist/js/treeshaking/types/config/source.js +1 -0
  489. package/dist/js/treeshaking/types/config/tools.js +1 -0
  490. package/dist/js/treeshaking/types/hooks.js +1 -0
  491. package/dist/js/treeshaking/types/index.js +3 -0
  492. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  493. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  494. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  495. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -0
  496. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  497. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  498. package/dist/js/treeshaking/utils/config.js +302 -0
  499. package/dist/js/treeshaking/utils/createServer.js +258 -0
  500. package/dist/js/treeshaking/utils/env.js +13 -0
  501. package/dist/js/treeshaking/utils/generateWatchFiles.js +214 -0
  502. package/dist/js/treeshaking/utils/getSelectedEntries.js +186 -0
  503. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  504. package/dist/js/treeshaking/utils/language.js +6 -0
  505. package/dist/js/treeshaking/utils/printInstructions.js +152 -0
  506. package/dist/js/treeshaking/utils/restart.js +187 -0
  507. package/dist/js/treeshaking/utils/routes.js +153 -0
  508. package/dist/js/treeshaking/utils/types.js +1 -0
  509. package/dist/types/analyze/constants.d.ts +2 -0
  510. package/dist/types/analyze/utils.d.ts +2 -1
  511. package/dist/types/builder/shared/bundlerPlugins/RouterPlugin.d.ts +1 -0
  512. package/dist/types/types/config/index.d.ts +3 -2
  513. package/package.json +24 -25
@@ -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) {
@@ -93,16 +105,16 @@ const optimizeRoute = (routeTree) => {
93
105
  }
94
106
  };
95
107
  const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion) => {
96
- var _routePath, _finalRoute_children;
97
- if (!await _utils.fs.pathExists(dirname)) {
108
+ var _finalRoute_children;
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("__");
@@ -113,23 +125,28 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
113
125
  }
114
126
  routePath = replaceDynamicPath(routePath);
115
127
  const route = {
116
- path: (_routePath = routePath) === null || _routePath === void 0 ? void 0 : _routePath.replace(/\$$/, "?"),
128
+ path: routePath === null || routePath === void 0 ? void 0 : routePath.replace(/\$$/, "?"),
117
129
  children: [],
118
130
  isRoot
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 = "";
139
+ let splatRoute = null;
140
+ let splatConfigFile = "";
123
141
  let splatClientData = "";
124
142
  let splatData = "";
125
- let splatRoute = null;
126
- let pageConfigFile = "";
127
- const items = await _utils.fs.readdir(dirname);
143
+ let splatAction = "";
144
+ const items = await import_utils.fs.readdir(dirname);
128
145
  for (const item of items) {
129
- const itemPath = _path.join(dirname, item);
130
- const extname = _path.extname(item);
146
+ const itemPath = path.join(dirname, item);
147
+ const extname = path.extname(item);
131
148
  const itemWithoutExt = item.slice(0, -extname.length);
132
- const isDirectory2 = (await _utils.fs.stat(itemPath)).isDirectory();
149
+ const isDirectory2 = (await import_utils.fs.stat(itemPath)).isDirectory();
133
150
  if (isDirectory2) {
134
151
  const childRoute = await walk(itemPath, rootDir, alias, entryName, isMainEntry, oldVersion);
135
152
  if (childRoute && !Array.isArray(childRoute)) {
@@ -137,44 +154,50 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
137
154
  (_route_children = route.children) === null || _route_children === void 0 ? void 0 : _route_children.push(childRoute);
138
155
  }
139
156
  }
140
- if (extname && (!_constants.JS_EXTENSIONS.includes(extname) || !conventionNames.includes(itemWithoutExt))) {
157
+ if (extname && (!import_constants.JS_EXTENSIONS.includes(extname) || !conventionNames.includes(itemWithoutExt))) {
141
158
  continue;
142
159
  }
143
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_LOADER_FILE) {
160
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_LOADER_FILE) {
144
161
  if (!route.loader) {
145
162
  route.loader = itemPath;
146
163
  }
147
164
  }
148
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_CLIENT_LOADER) {
165
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_CLIENT_LOADER) {
149
166
  route.clientData = itemPath;
150
167
  }
151
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_DATA_FILE) {
168
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_DATA_FILE) {
152
169
  route.data = itemPath;
170
+ if (await (0, import_utils2.hasAction)(itemPath)) {
171
+ route.action = itemPath;
172
+ }
153
173
  }
154
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_CONFIG_FILE) {
174
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.LAYOUT_CONFIG_FILE) {
155
175
  if (!route.config) {
156
176
  route.config = itemPath;
157
177
  }
158
178
  }
159
- if (itemWithoutExt === _constants.NESTED_ROUTE.LAYOUT_FILE) {
160
- 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);
161
181
  }
162
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_LOADER_FILE) {
182
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_LOADER_FILE) {
163
183
  pageLoaderFile = itemPath;
164
184
  }
165
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_CLIENT_LOADER) {
166
- route.clientData = itemPath;
185
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_CLIENT_LOADER) {
186
+ pageClientData = itemPath;
167
187
  }
168
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_DATA_FILE) {
169
- 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
+ }
170
193
  }
171
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_CONFIG_FILE) {
194
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_CONFIG_FILE) {
172
195
  pageConfigFile = itemPath;
173
196
  }
174
- if (itemWithoutExt === _constants.NESTED_ROUTE.PAGE_FILE) {
197
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.PAGE_FILE) {
175
198
  var _route_children1;
176
199
  pageRoute = createIndexRoute({
177
- _component: (0, _utils1.replaceWithAlias)(alias.basename, itemPath, alias.name)
200
+ _component: (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name)
178
201
  }, rootDir, itemPath, entryName, isMainEntry);
179
202
  if (pageLoaderFile) {
180
203
  pageRoute.loader = pageLoaderFile;
@@ -182,21 +205,38 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
182
205
  if (pageConfigFile) {
183
206
  pageRoute.config = pageConfigFile;
184
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
+ }
185
217
  (_route_children1 = route.children) === null || _route_children1 === void 0 ? void 0 : _route_children1.push(pageRoute);
186
218
  }
187
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_LOADER_FILE) {
219
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_LOADER_FILE) {
188
220
  splatLoaderFile = itemPath;
189
221
  }
190
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_CLIENT_DATA) {
222
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_CLIENT_DATA) {
191
223
  splatClientData = itemPath;
192
224
  }
193
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_DATA_FILE) {
225
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_CONFIG_FILE) {
226
+ if (!route.config) {
227
+ splatConfigFile = itemPath;
228
+ }
229
+ }
230
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_DATA_FILE) {
194
231
  splatData = itemPath;
232
+ if (await (0, import_utils2.hasAction)(itemPath)) {
233
+ splatAction = itemPath;
234
+ }
195
235
  }
196
- if (itemWithoutExt === _constants.NESTED_ROUTE.SPLATE_FILE) {
236
+ if (itemWithoutExt === import_constants.NESTED_ROUTE.SPLATE_FILE) {
197
237
  var _route_children2;
198
238
  splatRoute = createRoute({
199
- _component: (0, _utils1.replaceWithAlias)(alias.basename, itemPath, alias.name),
239
+ _component: (0, import_utils2.replaceWithAlias)(alias.basename, itemPath, alias.name),
200
240
  path: "*"
201
241
  }, rootDir, itemPath, entryName, isMainEntry);
202
242
  if (splatLoaderFile) {
@@ -208,16 +248,22 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
208
248
  if (splatData) {
209
249
  splatRoute.data = splatData;
210
250
  }
251
+ if (splatConfigFile) {
252
+ splatRoute.config = splatConfigFile;
253
+ }
254
+ if (splatAction) {
255
+ splatRoute.action = splatAction;
256
+ }
211
257
  (_route_children2 = route.children) === null || _route_children2 === void 0 ? void 0 : _route_children2.push(splatRoute);
212
258
  }
213
- if (itemWithoutExt === _constants.NESTED_ROUTE.LOADING_FILE) {
214
- 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);
215
261
  }
216
- if (itemWithoutExt === _constants.NESTED_ROUTE.ERROR_FILE) {
217
- 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);
218
264
  }
219
265
  }
220
- 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);
221
267
  if (isPathlessLayout) {
222
268
  delete finalRoute.path;
223
269
  }
@@ -228,10 +274,10 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
228
274
  if (childRoutes && childRoutes.length === 1 && !finalRoute._component) {
229
275
  const childRoute = childRoutes[0];
230
276
  if (childRoute.path === "*") {
231
- const path = `${finalRoute.path || ""}/${childRoute.path || ""}`;
277
+ const path2 = `${finalRoute.path || ""}/${childRoute.path || ""}`;
232
278
  finalRoute = {
233
279
  ...childRoute,
234
- path
280
+ path: path2
235
281
  };
236
282
  }
237
283
  }
@@ -241,3 +287,9 @@ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion)
241
287
  }
242
288
  return finalRoute;
243
289
  };
290
+ // Annotate the CommonJS export names for ESM import in node:
291
+ 0 && (module.exports = {
292
+ getRouteId,
293
+ optimizeRoute,
294
+ walk
295
+ });
@@ -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,22 +111,40 @@ 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) {
111
- var _route_children, _route;
112
- children = (_route = route) === null || _route === void 0 ? void 0 : (_route_children = _route.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
119
+ var _route_children;
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,31 +198,32 @@ 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}&inline=${inline}&routeId=${routeId}`;
174
214
  }
175
215
  return "";
176
216
  };
177
217
  const traverseRouteTree = (route) => {
178
218
  let children;
179
219
  if ("children" in route && route.children) {
180
- var _route_children, _route;
181
- children = (_route = route) === null || _route === void 0 ? void 0 : (_route_children = _route.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
220
+ var _route_children;
221
+ children = route === null || route === void 0 ? void 0 : (_route_children = route.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
182
222
  }
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
+ });