@modern-js/app-tools 2.4.0 → 2.5.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 (302) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/{js/node → cjs}/analyze/constants.js +0 -0
  3. package/dist/cjs/analyze/generateCode.js +249 -0
  4. package/dist/{js/node → cjs}/analyze/getBundleEntry.js +6 -0
  5. package/dist/{js/node → cjs}/analyze/getClientRoutes/getRoutes.js +1 -18
  6. package/dist/{js/node → cjs}/analyze/getClientRoutes/getRoutesLegacy.js +1 -18
  7. package/dist/{js/node → cjs}/analyze/getClientRoutes/index.js +0 -0
  8. package/dist/{js/node → cjs}/analyze/getClientRoutes/utils.js +0 -0
  9. package/dist/{js/node → cjs}/analyze/getFileSystemEntry.js +0 -0
  10. package/dist/{js/node → cjs}/analyze/getHtmlTemplate.js +4 -24
  11. package/dist/{js/node → cjs}/analyze/getServerRoutes.js +22 -42
  12. package/dist/cjs/analyze/index.js +290 -0
  13. package/dist/{js/node → cjs}/analyze/isDefaultExportFunction.js +0 -0
  14. package/dist/{js/node → cjs}/analyze/makeLegalIdentifier.js +0 -0
  15. package/dist/{js/node → cjs}/analyze/nestedRoutes.js +16 -50
  16. package/dist/{js/node → cjs}/analyze/templates.js +16 -49
  17. package/dist/{js/node → cjs}/analyze/utils.js +9 -29
  18. package/dist/{js/node → cjs}/builder/builder-rspack/index.js +0 -0
  19. package/dist/{js/node → cjs}/builder/builder-webpack/builderPlugins/compatModern.js +0 -0
  20. package/dist/{js/node → cjs}/builder/builder-webpack/index.js +22 -62
  21. package/dist/{js/node → cjs}/builder/builder-webpack/webpackPlugins/RouterPlugin.js +7 -24
  22. package/dist/{js/node → cjs}/builder/builder-webpack/webpackPlugins/index.js +0 -0
  23. package/dist/{js/node → cjs}/builder/generator/createBuilderOptions.js +0 -0
  24. package/dist/{js/node → cjs}/builder/generator/createBuilderProviderConfig.js +14 -25
  25. package/dist/{js/node → cjs}/builder/generator/getBuilderTargets.js +4 -0
  26. package/dist/cjs/builder/generator/index.js +58 -0
  27. package/dist/{js/node → cjs}/builder/index.js +12 -34
  28. package/dist/{js/node → cjs}/builder/shared/builderPlugins/adapterModern.js +35 -34
  29. package/dist/{js/node → cjs}/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -0
  30. package/dist/{js/node → cjs}/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -0
  31. package/dist/{js/node → cjs}/builder/shared/createCopyPattern.js +0 -0
  32. package/dist/{js/node → cjs}/builder/shared/index.js +0 -0
  33. package/dist/{js/node → cjs}/builder/shared/loaders/serverModuleLoader.js +0 -0
  34. package/dist/{js/node → cjs}/builder/shared/types.js +0 -0
  35. package/dist/{js/node → cjs}/commands/build.js +9 -46
  36. package/dist/cjs/commands/deploy.js +31 -0
  37. package/dist/{js/node → cjs}/commands/dev.js +17 -52
  38. package/dist/{js/node → cjs}/commands/index.js +0 -0
  39. package/dist/{js/node → cjs}/commands/inspect.js +2 -22
  40. package/dist/{js/node → cjs}/commands/serve.js +8 -28
  41. package/dist/{js/node → cjs}/config/default.js +15 -26
  42. package/dist/{js/node → cjs}/config/index.js +0 -0
  43. package/dist/{js/node → cjs}/config/initialize/index.js +0 -0
  44. package/dist/{js/node → cjs}/config/initialize/inits.js +4 -20
  45. package/dist/{js/node → cjs}/config/legacy/createHtmlConfig.js +0 -0
  46. package/dist/{js/node → cjs}/config/legacy/createOutputConfig.js +0 -0
  47. package/dist/{js/node → cjs}/config/legacy/createSourceConfig.js +0 -0
  48. package/dist/{js/node → cjs}/config/legacy/createToolsConfig.js +0 -0
  49. package/dist/{js/node → cjs}/config/legacy/index.js +0 -0
  50. package/dist/cjs/defineConfig.js +33 -0
  51. package/dist/{js/node → cjs}/exports/server.js +0 -0
  52. package/dist/{js/node → cjs}/hooks.js +0 -0
  53. package/dist/cjs/index.js +198 -0
  54. package/dist/cjs/initialize/index.js +102 -0
  55. package/dist/{js/node → cjs}/locale/en.js +0 -0
  56. package/dist/{js/node → cjs}/locale/index.js +0 -0
  57. package/dist/{js/node → cjs}/locale/zh.js +0 -0
  58. package/dist/{js/node → cjs}/schema/Schema.js +0 -0
  59. package/dist/{js/node → cjs}/schema/index.js +0 -0
  60. package/dist/{js/node → cjs}/schema/legacy.js +0 -0
  61. package/dist/{js/node → cjs}/types/config/deploy.js +0 -0
  62. package/dist/{js/node → cjs}/types/config/dev.js +0 -0
  63. package/dist/{js/node → cjs}/types/config/experiments.js +0 -0
  64. package/dist/{js/node → cjs}/types/config/html.js +0 -0
  65. package/dist/{js/node → cjs}/types/config/index.js +0 -0
  66. package/dist/{js/node → cjs}/types/config/output.js +0 -0
  67. package/dist/{js/node → cjs}/types/config/performance.js +0 -0
  68. package/dist/{js/node → cjs}/types/config/security.js +0 -0
  69. package/dist/{js/node → cjs}/types/config/source.js +0 -0
  70. package/dist/{js/node → cjs}/types/config/tools.js +0 -0
  71. package/dist/{js/node → cjs}/types/hooks.js +0 -0
  72. package/dist/{js/node → cjs}/types/index.js +0 -0
  73. package/dist/{js/node → cjs}/types/legacyConfig/deploy.js +0 -0
  74. package/dist/{js/node → cjs}/types/legacyConfig/dev.js +0 -0
  75. package/dist/{js/node → cjs}/types/legacyConfig/index.js +0 -0
  76. package/dist/{js/node → cjs}/types/legacyConfig/output.js +0 -0
  77. package/dist/{js/node → cjs}/types/legacyConfig/source.js +0 -0
  78. package/dist/{js/node → cjs}/types/legacyConfig/tools.js +0 -0
  79. package/dist/{js/node → cjs}/types/utils.js +0 -0
  80. package/dist/{js/node → cjs}/utils/config.js +19 -57
  81. package/dist/{js/node → cjs}/utils/createServer.js +10 -46
  82. package/dist/{js/node → cjs}/utils/env.js +0 -0
  83. package/dist/{js/node → cjs}/utils/generateWatchFiles.js +16 -38
  84. package/dist/{js/node → cjs}/utils/getSelectedEntries.js +3 -23
  85. package/dist/cjs/utils/getServerInternalPlugins.js +41 -0
  86. package/dist/{js/node → cjs}/utils/language.js +0 -0
  87. package/dist/{js/node → cjs}/utils/printInstructions.js +3 -23
  88. package/dist/cjs/utils/restart.js +45 -0
  89. package/dist/{js/node → cjs}/utils/routes.js +3 -23
  90. package/dist/{js/node → cjs}/utils/types.js +0 -0
  91. package/dist/{js/treeshaking → esm}/analyze/constants.js +0 -0
  92. package/dist/{js/treeshaking → esm}/analyze/generateCode.js +14 -14
  93. package/dist/{js/treeshaking → esm}/analyze/getBundleEntry.js +4 -2
  94. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/getRoutes.js +1 -1
  95. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/getRoutesLegacy.js +1 -1
  96. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/index.js +0 -0
  97. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/utils.js +0 -0
  98. package/dist/{js/treeshaking → esm}/analyze/getFileSystemEntry.js +1 -1
  99. package/dist/{js/treeshaking → esm}/analyze/getHtmlTemplate.js +0 -0
  100. package/dist/{js/treeshaking → esm}/analyze/getServerRoutes.js +8 -6
  101. package/dist/{js/treeshaking → esm}/analyze/index.js +8 -8
  102. package/dist/{js/treeshaking → esm}/analyze/isDefaultExportFunction.js +0 -0
  103. package/dist/{js/treeshaking → esm}/analyze/makeLegalIdentifier.js +0 -0
  104. package/dist/{js/treeshaking → esm}/analyze/nestedRoutes.js +5 -5
  105. package/dist/{js/treeshaking → esm}/analyze/templates.js +8 -7
  106. package/dist/{js/treeshaking → esm}/analyze/utils.js +3 -3
  107. package/dist/{js/treeshaking → esm}/builder/builder-rspack/index.js +0 -0
  108. package/dist/{js/treeshaking → esm}/builder/builder-webpack/builderPlugins/compatModern.js +4 -4
  109. package/dist/{js/treeshaking → esm}/builder/builder-webpack/index.js +2 -2
  110. package/dist/{js/treeshaking → esm}/builder/builder-webpack/webpackPlugins/RouterPlugin.js +5 -2
  111. package/dist/{js/treeshaking → esm}/builder/builder-webpack/webpackPlugins/index.js +0 -0
  112. package/dist/{js/treeshaking → esm}/builder/generator/createBuilderOptions.js +2 -2
  113. package/dist/{js/treeshaking → esm}/builder/generator/createBuilderProviderConfig.js +0 -0
  114. package/dist/{js/treeshaking → esm}/builder/generator/getBuilderTargets.js +5 -1
  115. package/dist/{js/treeshaking → esm}/builder/generator/index.js +2 -2
  116. package/dist/{js/treeshaking → esm}/builder/index.js +0 -0
  117. package/dist/{js/treeshaking → esm}/builder/shared/builderPlugins/adapterModern.js +62 -13
  118. package/dist/{js/treeshaking → esm}/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -0
  119. package/dist/{js/treeshaking → esm}/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +2 -2
  120. package/dist/{js/treeshaking → esm}/builder/shared/createCopyPattern.js +0 -0
  121. package/dist/{js/treeshaking → esm}/builder/shared/index.js +0 -0
  122. package/dist/{js/treeshaking → esm}/builder/shared/loaders/serverModuleLoader.js +0 -0
  123. package/dist/{js/treeshaking → esm}/builder/shared/types.js +0 -0
  124. package/dist/{js/treeshaking → esm}/commands/build.js +0 -0
  125. package/dist/{js/treeshaking → esm}/commands/deploy.js +0 -0
  126. package/dist/{js/treeshaking → esm}/commands/dev.js +2 -2
  127. package/dist/{js/treeshaking → esm}/commands/index.js +0 -0
  128. package/dist/{js/treeshaking → esm}/commands/inspect.js +0 -0
  129. package/dist/{js/treeshaking → esm}/commands/serve.js +2 -2
  130. package/dist/{js/treeshaking → esm}/config/default.js +0 -0
  131. package/dist/{js/treeshaking → esm}/config/index.js +0 -0
  132. package/dist/{js/treeshaking → esm}/config/initialize/index.js +0 -0
  133. package/dist/{js/treeshaking → esm}/config/initialize/inits.js +2 -2
  134. package/dist/esm/config/legacy/createHtmlConfig.js +19 -0
  135. package/dist/{js/treeshaking → esm}/config/legacy/createOutputConfig.js +1 -1
  136. package/dist/{js/treeshaking → esm}/config/legacy/createSourceConfig.js +1 -1
  137. package/dist/{js/treeshaking → esm}/config/legacy/createToolsConfig.js +1 -1
  138. package/dist/{js/treeshaking → esm}/config/legacy/index.js +0 -0
  139. package/dist/{js/treeshaking → esm}/defineConfig.js +0 -0
  140. package/dist/{js/treeshaking → esm}/exports/server.js +0 -0
  141. package/dist/{js/treeshaking → esm}/hooks.js +0 -0
  142. package/dist/{js/treeshaking → esm}/index.js +0 -0
  143. package/dist/{js/treeshaking → esm}/initialize/index.js +2 -2
  144. package/dist/{js/treeshaking → esm}/locale/en.js +0 -0
  145. package/dist/{js/treeshaking → esm}/locale/index.js +0 -0
  146. package/dist/{js/treeshaking → esm}/locale/zh.js +0 -0
  147. package/dist/{js/treeshaking → esm}/schema/Schema.js +0 -0
  148. package/dist/{js/treeshaking → esm}/schema/index.js +0 -0
  149. package/dist/{js/treeshaking → esm}/schema/legacy.js +0 -0
  150. package/dist/{js/treeshaking → esm}/types/config/deploy.js +0 -0
  151. package/dist/{js/treeshaking → esm}/types/config/dev.js +0 -0
  152. package/dist/{js/treeshaking → esm}/types/config/experiments.js +0 -0
  153. package/dist/{js/treeshaking → esm}/types/config/html.js +0 -0
  154. package/dist/{js/treeshaking → esm}/types/config/index.js +0 -0
  155. package/dist/{js/treeshaking → esm}/types/config/output.js +0 -0
  156. package/dist/{js/treeshaking → esm}/types/config/performance.js +0 -0
  157. package/dist/{js/treeshaking → esm}/types/config/security.js +0 -0
  158. package/dist/{js/treeshaking → esm}/types/config/source.js +0 -0
  159. package/dist/{js/treeshaking → esm}/types/config/tools.js +0 -0
  160. package/dist/{js/treeshaking → esm}/types/hooks.js +0 -0
  161. package/dist/{js/treeshaking → esm}/types/index.js +0 -0
  162. package/dist/{js/treeshaking → esm}/types/legacyConfig/deploy.js +0 -0
  163. package/dist/{js/treeshaking → esm}/types/legacyConfig/dev.js +0 -0
  164. package/dist/{js/treeshaking → esm}/types/legacyConfig/index.js +0 -0
  165. package/dist/{js/treeshaking → esm}/types/legacyConfig/output.js +0 -0
  166. package/dist/{js/treeshaking → esm}/types/legacyConfig/source.js +0 -0
  167. package/dist/{js/treeshaking → esm}/types/legacyConfig/tools.js +0 -0
  168. package/dist/{js/treeshaking → esm}/types/utils.js +0 -0
  169. package/dist/{js/treeshaking → esm}/utils/config.js +2 -2
  170. package/dist/{js/treeshaking → esm}/utils/createServer.js +0 -0
  171. package/dist/{js/treeshaking → esm}/utils/env.js +0 -0
  172. package/dist/{js/treeshaking → esm}/utils/generateWatchFiles.js +0 -0
  173. package/dist/{js/treeshaking → esm}/utils/getSelectedEntries.js +0 -0
  174. package/dist/{js/treeshaking → esm}/utils/getServerInternalPlugins.js +2 -2
  175. package/dist/{js/treeshaking → esm}/utils/language.js +0 -0
  176. package/dist/{js/treeshaking → esm}/utils/printInstructions.js +0 -0
  177. package/dist/{js/treeshaking → esm}/utils/restart.js +0 -0
  178. package/dist/{js/treeshaking → esm}/utils/routes.js +0 -0
  179. package/dist/{js/treeshaking → esm}/utils/types.js +0 -0
  180. package/dist/{js/modern → esm-node}/analyze/constants.js +0 -0
  181. package/dist/esm-node/analyze/generateCode.js +225 -0
  182. package/dist/{js/modern → esm-node}/analyze/getBundleEntry.js +6 -0
  183. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/getRoutes.js +1 -20
  184. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/getRoutesLegacy.js +1 -20
  185. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/index.js +0 -0
  186. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/utils.js +0 -0
  187. package/dist/{js/modern → esm-node}/analyze/getFileSystemEntry.js +0 -0
  188. package/dist/{js/modern → esm-node}/analyze/getHtmlTemplate.js +4 -24
  189. package/dist/{js/modern → esm-node}/analyze/getServerRoutes.js +24 -45
  190. package/dist/esm-node/analyze/index.js +281 -0
  191. package/dist/{js/modern → esm-node}/analyze/isDefaultExportFunction.js +0 -0
  192. package/dist/{js/modern → esm-node}/analyze/makeLegalIdentifier.js +0 -0
  193. package/dist/{js/modern → esm-node}/analyze/nestedRoutes.js +16 -52
  194. package/dist/{js/modern → esm-node}/analyze/templates.js +16 -51
  195. package/dist/{js/modern → esm-node}/analyze/utils.js +9 -29
  196. package/dist/{js/modern → esm-node}/builder/builder-rspack/index.js +0 -0
  197. package/dist/{js/modern → esm-node}/builder/builder-webpack/builderPlugins/compatModern.js +0 -0
  198. package/dist/esm-node/builder/builder-webpack/index.js +51 -0
  199. package/dist/{js/modern → esm-node}/builder/builder-webpack/webpackPlugins/RouterPlugin.js +7 -24
  200. package/dist/{js/modern → esm-node}/builder/builder-webpack/webpackPlugins/index.js +0 -0
  201. package/dist/{js/modern → esm-node}/builder/generator/createBuilderOptions.js +0 -0
  202. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +26 -0
  203. package/dist/{js/modern → esm-node}/builder/generator/getBuilderTargets.js +10 -1
  204. package/dist/esm-node/builder/generator/index.js +29 -0
  205. package/dist/esm-node/builder/index.js +17 -0
  206. package/dist/{js/modern → esm-node}/builder/shared/builderPlugins/adapterModern.js +35 -36
  207. package/dist/{js/modern → esm-node}/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -0
  208. package/dist/{js/modern → esm-node}/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -0
  209. package/dist/{js/modern → esm-node}/builder/shared/createCopyPattern.js +0 -0
  210. package/dist/{js/modern → esm-node}/builder/shared/index.js +0 -0
  211. package/dist/{js/modern → esm-node}/builder/shared/loaders/serverModuleLoader.js +0 -0
  212. package/dist/{js/modern → 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/{js/modern → esm-node}/commands/index.js +0 -0
  217. package/dist/esm-node/commands/inspect.js +18 -0
  218. package/dist/{js/modern → esm-node}/commands/serve.js +8 -28
  219. package/dist/{js/modern → esm-node}/config/default.js +15 -28
  220. package/dist/{js/modern → esm-node}/config/index.js +0 -0
  221. package/dist/{js/modern → esm-node}/config/initialize/index.js +0 -0
  222. package/dist/{js/modern → esm-node}/config/initialize/inits.js +4 -22
  223. package/dist/{js/modern → esm-node}/config/legacy/createHtmlConfig.js +0 -0
  224. package/dist/{js/modern → esm-node}/config/legacy/createOutputConfig.js +0 -0
  225. package/dist/{js/modern → esm-node}/config/legacy/createSourceConfig.js +0 -0
  226. package/dist/{js/modern → esm-node}/config/legacy/createToolsConfig.js +0 -0
  227. package/dist/{js/modern → esm-node}/config/legacy/index.js +0 -0
  228. package/dist/esm-node/defineConfig.js +9 -0
  229. package/dist/{js/modern → esm-node}/exports/server.js +0 -0
  230. package/dist/{js/modern → esm-node}/hooks.js +0 -0
  231. package/dist/esm-node/index.js +172 -0
  232. package/dist/esm-node/initialize/index.js +91 -0
  233. package/dist/{js/modern → esm-node}/locale/en.js +0 -0
  234. package/dist/{js/modern → esm-node}/locale/index.js +0 -0
  235. package/dist/{js/modern → esm-node}/locale/zh.js +0 -0
  236. package/dist/{js/modern → esm-node}/schema/Schema.js +0 -0
  237. package/dist/{js/modern → esm-node}/schema/index.js +0 -0
  238. package/dist/{js/modern → esm-node}/schema/legacy.js +0 -0
  239. package/dist/{js/modern → esm-node}/types/config/deploy.js +0 -0
  240. package/dist/{js/modern → esm-node}/types/config/dev.js +0 -0
  241. package/dist/{js/modern → esm-node}/types/config/experiments.js +0 -0
  242. package/dist/{js/modern → esm-node}/types/config/html.js +0 -0
  243. package/dist/{js/modern → esm-node}/types/config/index.js +0 -0
  244. package/dist/{js/modern → esm-node}/types/config/output.js +0 -0
  245. package/dist/{js/modern → esm-node}/types/config/performance.js +0 -0
  246. package/dist/{js/modern → esm-node}/types/config/security.js +0 -0
  247. package/dist/{js/modern → esm-node}/types/config/source.js +0 -0
  248. package/dist/{js/modern → esm-node}/types/config/tools.js +0 -0
  249. package/dist/{js/modern → esm-node}/types/hooks.js +0 -0
  250. package/dist/{js/modern → esm-node}/types/index.js +0 -0
  251. package/dist/{js/modern → esm-node}/types/legacyConfig/deploy.js +0 -0
  252. package/dist/{js/modern → esm-node}/types/legacyConfig/dev.js +0 -0
  253. package/dist/{js/modern → esm-node}/types/legacyConfig/index.js +0 -0
  254. package/dist/{js/modern → esm-node}/types/legacyConfig/output.js +0 -0
  255. package/dist/{js/modern → esm-node}/types/legacyConfig/source.js +0 -0
  256. package/dist/{js/modern → esm-node}/types/legacyConfig/tools.js +0 -0
  257. package/dist/{js/modern → 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/{js/modern → esm-node}/utils/env.js +0 -0
  261. package/dist/esm-node/utils/generateWatchFiles.js +33 -0
  262. package/dist/{js/modern → esm-node}/utils/getSelectedEntries.js +3 -23
  263. package/dist/esm-node/utils/getServerInternalPlugins.js +18 -0
  264. package/dist/{js/modern → esm-node}/utils/language.js +0 -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/{js/modern → esm-node}/utils/types.js +0 -0
  269. package/dist/types/types/config/tools.d.ts +1 -1
  270. package/dist/types/types/hooks.d.ts +5 -4
  271. package/dist/types/types/index.d.ts +3 -1
  272. package/package.json +30 -31
  273. package/dist/js/modern/analyze/generateCode.js +0 -247
  274. package/dist/js/modern/analyze/index.js +0 -329
  275. package/dist/js/modern/builder/builder-webpack/index.js +0 -93
  276. package/dist/js/modern/builder/generator/createBuilderProviderConfig.js +0 -39
  277. package/dist/js/modern/builder/generator/index.js +0 -53
  278. package/dist/js/modern/builder/index.js +0 -39
  279. package/dist/js/modern/commands/build.js +0 -91
  280. package/dist/js/modern/commands/deploy.js +0 -28
  281. package/dist/js/modern/commands/dev.js +0 -109
  282. package/dist/js/modern/commands/inspect.js +0 -38
  283. package/dist/js/modern/defineConfig.js +0 -27
  284. package/dist/js/modern/index.js +0 -221
  285. package/dist/js/modern/initialize/index.js +0 -132
  286. package/dist/js/modern/utils/config.js +0 -128
  287. package/dist/js/modern/utils/createServer.js +0 -75
  288. package/dist/js/modern/utils/generateWatchFiles.js +0 -55
  289. package/dist/js/modern/utils/getServerInternalPlugins.js +0 -58
  290. package/dist/js/modern/utils/printInstructions.js +0 -31
  291. package/dist/js/modern/utils/restart.js +0 -44
  292. package/dist/js/modern/utils/routes.js +0 -30
  293. package/dist/js/node/analyze/generateCode.js +0 -271
  294. package/dist/js/node/analyze/index.js +0 -336
  295. package/dist/js/node/builder/generator/index.js +0 -82
  296. package/dist/js/node/commands/deploy.js +0 -51
  297. package/dist/js/node/defineConfig.js +0 -49
  298. package/dist/js/node/index.js +0 -245
  299. package/dist/js/node/initialize/index.js +0 -141
  300. package/dist/js/node/utils/getServerInternalPlugins.js +0 -79
  301. package/dist/js/node/utils/restart.js +0 -67
  302. package/dist/js/treeshaking/config/legacy/createHtmlConfig.js +0 -19
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
File without changes
@@ -0,0 +1,249 @@
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
+ } = appContext;
94
+ const hookRunners = api.useHookRunners();
95
+ 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";
96
+ const { mountId } = config.html;
97
+ const getRoutes = isV5 ? import_getClientRoutes.getClientRoutesLegacy : import_getClientRoutes.getClientRoutes;
98
+ await Promise.all(entrypoints.map(generateEntryCode));
99
+ async function generateEntryCode(entrypoint) {
100
+ const { entryName, isAutoMount, customBootstrap, fileSystemRoutes } = entrypoint;
101
+ if (isAutoMount) {
102
+ if (fileSystemRoutes) {
103
+ let initialRoutes = [];
104
+ let nestedRoute = null;
105
+ if (entrypoint.entry) {
106
+ initialRoutes = getRoutes({
107
+ entrypoint,
108
+ srcDirectory,
109
+ srcAlias: internalSrcAlias,
110
+ internalDirectory,
111
+ internalDirAlias
112
+ });
113
+ }
114
+ if (entrypoint.nestedRoutesEntry) {
115
+ if (!isV5) {
116
+ nestedRoute = await (0, import_nestedRoutes.walk)(
117
+ entrypoint.nestedRoutesEntry,
118
+ entrypoint.nestedRoutesEntry,
119
+ {
120
+ name: internalSrcAlias,
121
+ basename: srcDirectory
122
+ },
123
+ entrypoint.entryName
124
+ );
125
+ if (nestedRoute) {
126
+ initialRoutes.unshift(nestedRoute);
127
+ }
128
+ } else {
129
+ import_utils.logger.error("Nested routes is not supported in legacy mode.");
130
+ process.exit(1);
131
+ }
132
+ }
133
+ const { routes } = await hookRunners.modifyFileSystemRoutes({
134
+ entrypoint,
135
+ routes: initialRoutes
136
+ });
137
+ const config2 = (0, import_core.useResolvedConfigContext)();
138
+ const ssr = (0, import_utils.getEntryOptions)(
139
+ entryName,
140
+ config2.server.ssr,
141
+ config2.server.ssrByEntries,
142
+ packageName
143
+ );
144
+ let mode;
145
+ if (ssr) {
146
+ mode = typeof ssr === "object" ? ssr.mode || "string" : "string";
147
+ } else {
148
+ mode = false;
149
+ }
150
+ if (mode === "stream") {
151
+ const hasPageRoute = routes.some(
152
+ (route) => "type" in route && route.type === "page"
153
+ );
154
+ if (hasPageRoute) {
155
+ import_utils.logger.error(
156
+ "Streaming ssr is not supported when pages dir exists"
157
+ );
158
+ process.exit(1);
159
+ }
160
+ }
161
+ const { code: code2 } = await hookRunners.beforeGenerateRoutes({
162
+ entrypoint,
163
+ code: await templates.fileSystemRoutes({
164
+ routes,
165
+ ssrMode: mode,
166
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry,
167
+ entryName: entrypoint.entryName,
168
+ internalDirectory
169
+ })
170
+ });
171
+ if (entrypoint.nestedRoutesEntry && mode) {
172
+ const routesServerFile = (0, import_utils2.getServerLoadersFile)(
173
+ internalDirectory,
174
+ entryName
175
+ );
176
+ const code3 = templates.routesForServer({
177
+ routes
178
+ });
179
+ await import_utils.fs.ensureFile(routesServerFile);
180
+ await import_utils.fs.writeFile(routesServerFile, code3);
181
+ }
182
+ import_utils.fs.outputFileSync(
183
+ import_path.default.resolve(
184
+ internalDirectory,
185
+ `./${entryName}/${import_constants.FILE_SYSTEM_ROUTES_FILE_NAME}`
186
+ ),
187
+ code2,
188
+ "utf8"
189
+ );
190
+ }
191
+ const { imports: importStatements } = await hookRunners.modifyEntryImports({
192
+ entrypoint,
193
+ imports: (0, import_utils2.getDefaultImports)({
194
+ entrypoint,
195
+ srcDirectory,
196
+ internalSrcAlias,
197
+ internalDirAlias,
198
+ internalDirectory
199
+ })
200
+ });
201
+ const { plugins } = await hookRunners.modifyEntryRuntimePlugins({
202
+ entrypoint,
203
+ plugins: []
204
+ });
205
+ const { code: renderFunction } = await hookRunners.modifyEntryRenderFunction({
206
+ entrypoint,
207
+ code: templates.renderFunction({
208
+ plugins,
209
+ customBootstrap,
210
+ fileSystemRoutes
211
+ })
212
+ });
213
+ const { exportStatement } = await hookRunners.modifyEntryExport({
214
+ entrypoint,
215
+ exportStatement: "export default AppWrapper;"
216
+ });
217
+ const code = templates.index({
218
+ mountId,
219
+ imports: createImportStatements(importStatements),
220
+ renderFunction,
221
+ exportStatement
222
+ });
223
+ const entryFile = import_path.default.resolve(
224
+ internalDirectory,
225
+ `./${entryName}/${import_constants.ENTRY_POINT_FILE_NAME}`
226
+ );
227
+ entrypoint.entry = entryFile;
228
+ if (config.source.enableAsyncEntry) {
229
+ const { code: asyncEntryCode } = await hookRunners.modifyAsyncEntry({
230
+ entrypoint,
231
+ code: `import('./${import_constants.ENTRY_BOOTSTRAP_FILE_NAME}');`
232
+ });
233
+ import_utils.fs.outputFileSync(entryFile, asyncEntryCode, "utf8");
234
+ const bootstrapFile = import_path.default.resolve(
235
+ internalDirectory,
236
+ `./${entryName}/${import_constants.ENTRY_BOOTSTRAP_FILE_NAME}`
237
+ );
238
+ import_utils.fs.outputFileSync(bootstrapFile, code, "utf8");
239
+ } else {
240
+ import_utils.fs.outputFileSync(entryFile, code, "utf8");
241
+ }
242
+ }
243
+ }
244
+ };
245
+ // Annotate the CommonJS export names for ESM import in node:
246
+ 0 && (module.exports = {
247
+ createImportStatements,
248
+ generateCode
249
+ });
@@ -63,11 +63,17 @@ const getBundleEntry = (appContext, config) => {
63
63
  const entrypoint = typeof value === "string" ? {
64
64
  entryName: name,
65
65
  entry: (0, import_utils.ensureAbsolutePath)(appDirectory, value),
66
+ absoluteEntryDir: import_path.default.dirname(
67
+ (0, import_utils.ensureAbsolutePath)(appDirectory, value)
68
+ ),
66
69
  isAutoMount: true,
67
70
  fileSystemRoutes: import_utils.fs.statSync((0, import_utils.ensureAbsolutePath)(appDirectory, value)).isDirectory() ? {} : void 0
68
71
  } : {
69
72
  entryName: name,
70
73
  entry: (0, import_utils.ensureAbsolutePath)(appDirectory, value.entry),
74
+ absoluteEntryDir: import_path.default.dirname(
75
+ (0, import_utils.ensureAbsolutePath)(appDirectory, value.entry)
76
+ ),
71
77
  isAutoMount: !value.disableMount,
72
78
  customBootstrap: value.customBootstrap && (0, import_utils.ensureAbsolutePath)(appDirectory, value.customBootstrap),
73
79
  fileSystemRoutes: import_utils.fs.statSync((0, import_utils.ensureAbsolutePath)(appDirectory, value.entry)).isDirectory() ? {} : void 0
@@ -1,26 +1,9 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
5
  var __getProtoOf = Object.getPrototypeOf;
9
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
7
  var __export = (target, all) => {
25
8
  for (var name in all)
26
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -181,7 +164,7 @@ export default ${lastComponent}`
181
164
  };
182
165
  };
183
166
  const normalized = flat(nested).map(
184
- (route) => route.parent ? __spreadProps(__spreadValues(__spreadValues({}, route), generate(route)), { parent: void 0 }) : __spreadProps(__spreadValues({}, route), { parent: void 0 })
167
+ (route) => route.parent ? { ...route, ...generate(route), parent: void 0 } : { ...route, parent: void 0 }
185
168
  );
186
169
  return normalized;
187
170
  };
@@ -1,26 +1,9 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
5
  var __getProtoOf = Object.getPrototypeOf;
9
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
7
  var __export = (target, all) => {
25
8
  for (var name in all)
26
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -180,7 +163,7 @@ export default ${lastComponent}`
180
163
  };
181
164
  };
182
165
  const normalized = flat(nested).map(
183
- (route) => route.parent ? __spreadProps(__spreadValues(__spreadValues({}, route), generate(route)), { parent: void 0 }) : __spreadProps(__spreadValues({}, route), { parent: void 0 })
166
+ (route) => route.parent ? { ...route, ...generate(route), parent: void 0 } : { ...route, parent: void 0 }
184
167
  );
185
168
  return normalized;
186
169
  };
@@ -21,26 +21,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  mod
22
22
  ));
23
23
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var __async = (__this, __arguments, generator) => {
25
- return new Promise((resolve, reject) => {
26
- var fulfilled = (value) => {
27
- try {
28
- step(generator.next(value));
29
- } catch (e) {
30
- reject(e);
31
- }
32
- };
33
- var rejected = (value) => {
34
- try {
35
- step(generator.throw(value));
36
- } catch (e) {
37
- reject(e);
38
- }
39
- };
40
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
- step((generator = generator.apply(__this, __arguments)).next());
42
- });
43
- };
44
24
  var getHtmlTemplate_exports = {};
45
25
  __export(getHtmlTemplate_exports, {
46
26
  getHtmlTemplate: () => getHtmlTemplate
@@ -74,10 +54,10 @@ const findPartials = (dir, entryName, position) => {
74
54
  }
75
55
  return null;
76
56
  };
77
- const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function* (entrypoints, api, {
57
+ const getHtmlTemplate = async (entrypoints, api, {
78
58
  appContext,
79
59
  config
80
- }) {
60
+ }) => {
81
61
  const { appDirectory, internalDirectory } = appContext;
82
62
  const {
83
63
  source: { configDir }
@@ -100,7 +80,7 @@ const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function*
100
80
  htmlTemplates[entryName] = customIndexTemplate.file;
101
81
  } else {
102
82
  const hookRunners = api.useHookRunners();
103
- const { partials } = yield hookRunners.htmlPartials({
83
+ const { partials } = await hookRunners.htmlPartials({
104
84
  entrypoint,
105
85
  partials: [
106
86
  "top" /* TOP */,
@@ -137,7 +117,7 @@ const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function*
137
117
  }
138
118
  }
139
119
  return htmlTemplates;
140
- });
120
+ };
141
121
  // Annotate the CommonJS export names for ESM import in node:
142
122
  0 && (module.exports = {
143
123
  getHtmlTemplate
@@ -1,38 +1,9 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
5
  var __getProtoOf = Object.getPrototypeOf;
9
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __objRest = (source, exclude) => {
25
- var target = {};
26
- for (var prop in source)
27
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
- target[prop] = source[prop];
29
- if (source != null && __getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(source)) {
31
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
- target[prop] = source[prop];
33
- }
34
- return target;
35
- };
36
7
  var __export = (target, all) => {
37
8
  for (var name in all)
38
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -69,9 +40,10 @@ const applyBaseUrl = (baseUrl, routes) => {
69
40
  } else {
70
41
  return routes.map((route) => {
71
42
  const urlPath = (0, import_utils.urlJoin)(baseUrl, route.urlPath);
72
- return __spreadProps(__spreadValues({}, route), {
43
+ return {
44
+ ...route,
73
45
  urlPath: urlPath === "/" ? urlPath : (0, import_utils.removeTailSlash)(urlPath)
74
- });
46
+ };
75
47
  });
76
48
  }
77
49
  }
@@ -86,28 +58,34 @@ const applyRouteOptions = (original, routeOptions) => {
86
58
  if (Array.isArray(route)) {
87
59
  routes = route.map((url) => {
88
60
  if ((0, import_utils.isPlainObject)(url)) {
89
- const _a2 = url, { path: urlPath } = _a2, other = __objRest(_a2, ["path"]);
90
- return __spreadProps(__spreadValues(__spreadValues({}, original), other), {
61
+ const { path: urlPath, ...other } = url;
62
+ return {
63
+ ...original,
64
+ ...other,
91
65
  urlPath
92
- });
66
+ };
93
67
  } else {
94
- return __spreadProps(__spreadValues({}, original), {
68
+ return {
69
+ ...original,
95
70
  urlPath: url
96
- });
71
+ };
97
72
  }
98
73
  });
99
74
  } else if ((0, import_utils.isPlainObject)(route)) {
100
- const _a = route, { path: urlPath } = _a, other = __objRest(_a, ["path"]);
75
+ const { path: urlPath, ...other } = route;
101
76
  routes = [
102
- __spreadProps(__spreadValues(__spreadValues({}, original), other), {
77
+ {
78
+ ...original,
79
+ ...other,
103
80
  urlPath
104
- })
81
+ }
105
82
  ];
106
83
  } else {
107
84
  routes = [
108
- __spreadProps(__spreadValues({}, original), {
85
+ {
86
+ ...original,
109
87
  urlPath: route
110
- })
88
+ }
111
89
  ];
112
90
  }
113
91
  } else {
@@ -119,7 +97,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
119
97
  const {
120
98
  html: { disableHtmlFolder },
121
99
  output: { distPath: { html: htmlPath } = {} },
122
- server: { baseUrl, routes, ssr, ssrByEntries }
100
+ server: { baseUrl, routes, ssr, ssrByEntries, worker }
123
101
  } = config;
124
102
  const { packageName } = appContext;
125
103
  let htmlRoutes = entrypoints.reduce(
@@ -131,6 +109,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
131
109
  packageName
132
110
  );
133
111
  const isSSR = Boolean(entryOptions);
112
+ const isWorker = Boolean(worker);
134
113
  const { resHeaders } = (routes == null ? void 0 : routes[entryName]) || {};
135
114
  let route = {
136
115
  urlPath: `/${entryName === import_utils.MAIN_ENTRY_NAME ? "" : entryName}`,
@@ -143,6 +122,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
143
122
  isSPA: true,
144
123
  isSSR,
145
124
  responseHeaders: resHeaders,
125
+ worker: isWorker ? `${import_utils.SERVER_WORKER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0,
146
126
  bundle: isSSR ? `${import_utils.SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
147
127
  };
148
128
  if (routes == null ? void 0 : routes.hasOwnProperty(entryName)) {