@modern-js/app-tools 2.3.1-alpha.2 → 2.5.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/README.md +14 -18
  3. package/dist/cjs/analyze/constants.js +100 -0
  4. package/dist/cjs/analyze/generateCode.js +251 -0
  5. package/dist/cjs/analyze/getBundleEntry.js +101 -0
  6. package/dist/cjs/analyze/getClientRoutes/getRoutes.js +225 -0
  7. package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +221 -0
  8. package/dist/cjs/analyze/getClientRoutes/index.js +30 -0
  9. package/dist/cjs/analyze/getClientRoutes/utils.js +58 -0
  10. package/dist/cjs/analyze/getFileSystemEntry.js +131 -0
  11. package/dist/cjs/analyze/getHtmlTemplate.js +124 -0
  12. package/dist/cjs/analyze/getServerRoutes.js +174 -0
  13. package/dist/cjs/analyze/index.js +294 -0
  14. package/dist/cjs/analyze/isDefaultExportFunction.js +71 -0
  15. package/dist/cjs/analyze/makeLegalIdentifier.js +36 -0
  16. package/dist/cjs/analyze/nestedRoutes.js +179 -0
  17. package/dist/cjs/analyze/templates.js +330 -0
  18. package/dist/cjs/analyze/utils.js +152 -0
  19. package/dist/cjs/builder/builder-rspack/index.js +31 -0
  20. package/dist/cjs/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  21. package/dist/cjs/builder/builder-webpack/index.js +78 -0
  22. package/dist/cjs/builder/builder-webpack/webpackPlugins/RouterPlugin.js +120 -0
  23. package/dist/cjs/builder/builder-webpack/webpackPlugins/index.js +17 -0
  24. package/dist/cjs/builder/generator/createBuilderOptions.js +47 -0
  25. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +49 -0
  26. package/dist/cjs/builder/generator/getBuilderTargets.js +39 -0
  27. package/dist/cjs/builder/generator/index.js +58 -0
  28. package/dist/cjs/builder/index.js +46 -0
  29. package/dist/cjs/builder/shared/builderPlugins/adapterModern.js +230 -0
  30. package/dist/{js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js → cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +17 -20
  31. package/dist/{js/node/builder/webpackPlugins/htmlBottomTemplate.js → cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js} +21 -24
  32. package/dist/{js/node/builder/share.js → cjs/builder/shared/createCopyPattern.js} +3 -3
  33. package/dist/cjs/builder/shared/index.js +19 -0
  34. package/dist/{js/node/builder → cjs/builder/shared}/loaders/serverModuleLoader.js +0 -0
  35. package/dist/cjs/builder/shared/types.js +15 -0
  36. package/dist/cjs/commands/build.js +75 -0
  37. package/dist/cjs/commands/deploy.js +31 -0
  38. package/dist/cjs/commands/dev.js +91 -0
  39. package/dist/cjs/commands/index.js +19 -0
  40. package/dist/cjs/commands/inspect.js +41 -0
  41. package/dist/cjs/commands/serve.js +63 -0
  42. package/dist/cjs/config/default.js +186 -0
  43. package/dist/cjs/config/index.js +19 -0
  44. package/dist/{js/node/config/initial → cjs/config/initialize}/index.js +10 -16
  45. package/dist/cjs/config/initialize/inits.js +161 -0
  46. package/dist/{js/node/config/initial → cjs/config/legacy}/createHtmlConfig.js +0 -0
  47. package/dist/{js/node/config/initial → cjs/config/legacy}/createOutputConfig.js +0 -0
  48. package/dist/{js/node/config/initial → cjs/config/legacy}/createSourceConfig.js +0 -0
  49. package/dist/{js/node/config/initial → cjs/config/legacy}/createToolsConfig.js +0 -0
  50. package/dist/{js/node/config/initial/transformNormalizedConfig.js → cjs/config/legacy/index.js} +8 -3
  51. package/dist/cjs/defineConfig.js +33 -0
  52. package/dist/cjs/exports/server.js +27 -0
  53. package/dist/cjs/hooks.js +54 -0
  54. package/dist/cjs/index.js +198 -0
  55. package/dist/cjs/initialize/index.js +102 -0
  56. package/dist/cjs/locale/en.js +59 -0
  57. package/dist/cjs/locale/index.js +33 -0
  58. package/dist/cjs/locale/zh.js +59 -0
  59. package/dist/cjs/schema/Schema.js +63 -0
  60. package/dist/cjs/schema/index.js +118 -0
  61. package/dist/cjs/schema/legacy.js +169 -0
  62. package/dist/cjs/types/config/deploy.js +15 -0
  63. package/dist/cjs/types/config/dev.js +15 -0
  64. package/dist/cjs/types/config/experiments.js +15 -0
  65. package/dist/cjs/types/config/html.js +15 -0
  66. package/dist/cjs/types/config/index.js +17 -0
  67. package/dist/cjs/types/config/output.js +15 -0
  68. package/dist/cjs/types/config/performance.js +15 -0
  69. package/dist/cjs/types/config/security.js +15 -0
  70. package/dist/cjs/types/config/source.js +15 -0
  71. package/dist/cjs/types/config/tools.js +15 -0
  72. package/dist/cjs/types/hooks.js +15 -0
  73. package/dist/cjs/types/index.js +19 -0
  74. package/dist/cjs/types/legacyConfig/deploy.js +15 -0
  75. package/dist/cjs/types/legacyConfig/dev.js +15 -0
  76. package/dist/cjs/types/legacyConfig/index.js +15 -0
  77. package/dist/cjs/types/legacyConfig/output.js +15 -0
  78. package/dist/cjs/types/legacyConfig/source.js +15 -0
  79. package/dist/cjs/types/legacyConfig/tools.js +15 -0
  80. package/dist/cjs/types/utils.js +15 -0
  81. package/dist/cjs/utils/config.js +115 -0
  82. package/dist/cjs/utils/createServer.js +70 -0
  83. package/dist/cjs/utils/env.js +38 -0
  84. package/dist/cjs/utils/generateWatchFiles.js +63 -0
  85. package/dist/cjs/utils/getSelectedEntries.js +61 -0
  86. package/dist/cjs/utils/getServerInternalPlugins.js +41 -0
  87. package/dist/cjs/utils/language.js +31 -0
  88. package/dist/cjs/utils/printInstructions.js +34 -0
  89. package/dist/cjs/utils/restart.js +45 -0
  90. package/dist/cjs/utils/routes.js +39 -0
  91. package/dist/cjs/utils/types.js +15 -0
  92. package/dist/esm/analyze/constants.js +42 -0
  93. package/dist/esm/analyze/generateCode.js +486 -0
  94. package/dist/esm/analyze/getBundleEntry.js +64 -0
  95. package/dist/esm/analyze/getClientRoutes/getRoutes.js +233 -0
  96. package/dist/esm/analyze/getClientRoutes/getRoutesLegacy.js +231 -0
  97. package/dist/esm/analyze/getClientRoutes/index.js +3 -0
  98. package/dist/esm/analyze/getClientRoutes/utils.js +23 -0
  99. package/dist/esm/analyze/getFileSystemEntry.js +107 -0
  100. package/dist/esm/analyze/getHtmlTemplate.js +302 -0
  101. package/dist/esm/analyze/getServerRoutes.js +224 -0
  102. package/dist/esm/analyze/index.js +703 -0
  103. package/dist/esm/analyze/isDefaultExportFunction.js +47 -0
  104. package/dist/esm/analyze/makeLegalIdentifier.js +13 -0
  105. package/dist/esm/analyze/nestedRoutes.js +409 -0
  106. package/dist/esm/analyze/templates.js +466 -0
  107. package/dist/esm/analyze/utils.js +374 -0
  108. package/dist/esm/builder/builder-rspack/index.js +6 -0
  109. package/dist/esm/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  110. package/dist/esm/builder/builder-webpack/index.js +301 -0
  111. package/dist/esm/builder/builder-webpack/webpackPlugins/RouterPlugin.js +346 -0
  112. package/dist/esm/builder/builder-webpack/webpackPlugins/index.js +1 -0
  113. package/dist/esm/builder/generator/createBuilderOptions.js +41 -0
  114. package/dist/esm/builder/generator/createBuilderProviderConfig.js +70 -0
  115. package/dist/esm/builder/generator/getBuilderTargets.js +16 -0
  116. package/dist/esm/builder/generator/index.js +199 -0
  117. package/dist/esm/builder/index.js +175 -0
  118. package/dist/esm/builder/shared/builderPlugins/adapterModern.js +300 -0
  119. package/dist/{js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js → esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +0 -0
  120. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +72 -0
  121. package/dist/{js/treeshaking/builder/share.js → esm/builder/shared/createCopyPattern.js} +0 -0
  122. package/dist/esm/builder/shared/index.js +3 -0
  123. package/dist/{js/treeshaking/builder → esm/builder/shared}/loaders/serverModuleLoader.js +0 -0
  124. package/dist/esm/builder/shared/types.js +1 -0
  125. package/dist/esm/commands/build.js +291 -0
  126. package/dist/esm/commands/deploy.js +154 -0
  127. package/dist/esm/commands/dev.js +301 -0
  128. package/dist/esm/commands/index.js +3 -0
  129. package/dist/esm/commands/inspect.js +149 -0
  130. package/dist/esm/commands/serve.js +199 -0
  131. package/dist/esm/config/default.js +210 -0
  132. package/dist/esm/config/index.js +3 -0
  133. package/dist/esm/config/initialize/index.js +10 -0
  134. package/dist/esm/config/initialize/inits.js +211 -0
  135. package/dist/esm/config/legacy/createHtmlConfig.js +19 -0
  136. package/dist/esm/config/legacy/createOutputConfig.js +41 -0
  137. package/dist/esm/config/legacy/createSourceConfig.js +42 -0
  138. package/dist/esm/config/legacy/createToolsConfig.js +23 -0
  139. package/dist/{js/treeshaking/config/initial/transformNormalizedConfig.js → esm/config/legacy/index.js} +4 -1
  140. package/dist/esm/defineConfig.js +61 -0
  141. package/dist/esm/exports/server.js +2 -0
  142. package/dist/esm/hooks.js +29 -0
  143. package/dist/esm/index.js +713 -0
  144. package/dist/esm/initialize/index.js +284 -0
  145. package/dist/esm/locale/en.js +38 -0
  146. package/dist/esm/locale/index.js +9 -0
  147. package/dist/esm/locale/zh.js +38 -0
  148. package/dist/esm/schema/Schema.js +273 -0
  149. package/dist/esm/schema/index.js +181 -0
  150. package/dist/esm/schema/legacy.js +337 -0
  151. package/dist/esm/types/config/deploy.js +1 -0
  152. package/dist/esm/types/config/dev.js +1 -0
  153. package/dist/esm/types/config/experiments.js +1 -0
  154. package/dist/esm/types/config/html.js +1 -0
  155. package/dist/esm/types/config/index.js +1 -0
  156. package/dist/esm/types/config/output.js +1 -0
  157. package/dist/esm/types/config/performance.js +1 -0
  158. package/dist/esm/types/config/security.js +1 -0
  159. package/dist/esm/types/config/source.js +1 -0
  160. package/dist/esm/types/config/tools.js +1 -0
  161. package/dist/esm/types/hooks.js +1 -0
  162. package/dist/esm/types/index.js +3 -0
  163. package/dist/esm/types/legacyConfig/deploy.js +1 -0
  164. package/dist/esm/types/legacyConfig/dev.js +1 -0
  165. package/dist/esm/types/legacyConfig/index.js +1 -0
  166. package/dist/esm/types/legacyConfig/output.js +1 -0
  167. package/dist/esm/types/legacyConfig/source.js +1 -0
  168. package/dist/esm/types/legacyConfig/tools.js +1 -0
  169. package/dist/esm/types/utils.js +1 -0
  170. package/dist/esm/utils/config.js +302 -0
  171. package/dist/esm/utils/createServer.js +258 -0
  172. package/dist/esm/utils/env.js +13 -0
  173. package/dist/esm/utils/generateWatchFiles.js +214 -0
  174. package/dist/esm/utils/getSelectedEntries.js +186 -0
  175. package/dist/esm/utils/getServerInternalPlugins.js +210 -0
  176. package/dist/esm/utils/language.js +6 -0
  177. package/dist/esm/utils/printInstructions.js +152 -0
  178. package/dist/esm/utils/restart.js +187 -0
  179. package/dist/esm/utils/routes.js +153 -0
  180. package/dist/esm/utils/types.js +1 -0
  181. package/dist/esm-node/analyze/constants.js +56 -0
  182. package/dist/esm-node/analyze/generateCode.js +227 -0
  183. package/dist/esm-node/analyze/getBundleEntry.js +77 -0
  184. package/dist/esm-node/analyze/getClientRoutes/getRoutes.js +201 -0
  185. package/dist/esm-node/analyze/getClientRoutes/getRoutesLegacy.js +197 -0
  186. package/dist/esm-node/analyze/getClientRoutes/index.js +6 -0
  187. package/dist/esm-node/analyze/getClientRoutes/utils.js +31 -0
  188. package/dist/esm-node/analyze/getFileSystemEntry.js +109 -0
  189. package/dist/esm-node/analyze/getHtmlTemplate.js +95 -0
  190. package/dist/esm-node/analyze/getServerRoutes.js +154 -0
  191. package/dist/esm-node/analyze/index.js +285 -0
  192. package/dist/esm-node/analyze/isDefaultExportFunction.js +42 -0
  193. package/dist/esm-node/analyze/makeLegalIdentifier.js +13 -0
  194. package/dist/esm-node/analyze/nestedRoutes.js +150 -0
  195. package/dist/esm-node/analyze/templates.js +297 -0
  196. package/dist/esm-node/analyze/utils.js +121 -0
  197. package/dist/esm-node/builder/builder-rspack/index.js +8 -0
  198. package/dist/esm-node/builder/builder-webpack/builderPlugins/compatModern.js +41 -0
  199. package/dist/esm-node/builder/builder-webpack/index.js +51 -0
  200. package/dist/esm-node/builder/builder-webpack/webpackPlugins/RouterPlugin.js +96 -0
  201. package/dist/esm-node/builder/builder-webpack/webpackPlugins/index.js +1 -0
  202. package/dist/esm-node/builder/generator/createBuilderOptions.js +24 -0
  203. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +26 -0
  204. package/dist/esm-node/builder/generator/getBuilderTargets.js +21 -0
  205. package/dist/esm-node/builder/generator/index.js +29 -0
  206. package/dist/esm-node/builder/index.js +17 -0
  207. package/dist/esm-node/builder/shared/builderPlugins/adapterModern.js +202 -0
  208. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -0
  209. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +34 -0
  210. package/dist/{js/modern/builder/share.js → esm-node/builder/shared/createCopyPattern.js} +0 -0
  211. package/dist/esm-node/builder/shared/index.js +3 -0
  212. package/dist/{js/modern/builder → esm-node/builder/shared}/loaders/serverModuleLoader.js +0 -0
  213. package/dist/esm-node/builder/shared/types.js +0 -0
  214. package/dist/esm-node/commands/build.js +52 -0
  215. package/dist/esm-node/commands/deploy.js +8 -0
  216. package/dist/esm-node/commands/dev.js +72 -0
  217. package/dist/esm-node/commands/index.js +3 -0
  218. package/dist/esm-node/commands/inspect.js +18 -0
  219. package/dist/esm-node/commands/serve.js +34 -0
  220. package/dist/esm-node/config/default.js +162 -0
  221. package/dist/esm-node/config/index.js +3 -0
  222. package/dist/esm-node/config/initialize/index.js +12 -0
  223. package/dist/esm-node/config/initialize/inits.js +136 -0
  224. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createHtmlConfig.js +0 -0
  225. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createOutputConfig.js +0 -0
  226. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createSourceConfig.js +0 -0
  227. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createToolsConfig.js +0 -0
  228. package/dist/{js/modern/config/initial/transformNormalizedConfig.js → esm-node/config/legacy/index.js} +4 -0
  229. package/dist/esm-node/defineConfig.js +9 -0
  230. package/dist/esm-node/exports/server.js +4 -0
  231. package/dist/esm-node/hooks.js +35 -0
  232. package/dist/esm-node/index.js +172 -0
  233. package/dist/esm-node/initialize/index.js +91 -0
  234. package/dist/esm-node/locale/en.js +36 -0
  235. package/dist/esm-node/locale/index.js +9 -0
  236. package/dist/esm-node/locale/zh.js +36 -0
  237. package/dist/esm-node/schema/Schema.js +40 -0
  238. package/dist/esm-node/schema/index.js +88 -0
  239. package/dist/esm-node/schema/legacy.js +148 -0
  240. package/dist/esm-node/types/config/deploy.js +0 -0
  241. package/dist/esm-node/types/config/dev.js +0 -0
  242. package/dist/esm-node/types/config/experiments.js +0 -0
  243. package/dist/esm-node/types/config/html.js +0 -0
  244. package/dist/esm-node/types/config/index.js +1 -0
  245. package/dist/esm-node/types/config/output.js +0 -0
  246. package/dist/esm-node/types/config/performance.js +0 -0
  247. package/dist/esm-node/types/config/security.js +0 -0
  248. package/dist/esm-node/types/config/source.js +0 -0
  249. package/dist/esm-node/types/config/tools.js +0 -0
  250. package/dist/esm-node/types/hooks.js +0 -0
  251. package/dist/esm-node/types/index.js +3 -0
  252. package/dist/esm-node/types/legacyConfig/deploy.js +0 -0
  253. package/dist/esm-node/types/legacyConfig/dev.js +0 -0
  254. package/dist/esm-node/types/legacyConfig/index.js +0 -0
  255. package/dist/esm-node/types/legacyConfig/output.js +0 -0
  256. package/dist/esm-node/types/legacyConfig/source.js +0 -0
  257. package/dist/esm-node/types/legacyConfig/tools.js +0 -0
  258. package/dist/esm-node/types/utils.js +0 -0
  259. package/dist/esm-node/utils/config.js +88 -0
  260. package/dist/esm-node/utils/createServer.js +37 -0
  261. package/dist/esm-node/utils/env.js +15 -0
  262. package/dist/esm-node/utils/generateWatchFiles.js +33 -0
  263. package/dist/esm-node/utils/getSelectedEntries.js +38 -0
  264. package/dist/esm-node/utils/getServerInternalPlugins.js +18 -0
  265. package/dist/esm-node/utils/language.js +8 -0
  266. package/dist/esm-node/utils/printInstructions.js +11 -0
  267. package/dist/esm-node/utils/restart.js +22 -0
  268. package/dist/esm-node/utils/routes.js +10 -0
  269. package/dist/esm-node/utils/types.js +0 -0
  270. package/dist/js/modern/analyze/index.js +45 -48
  271. package/dist/js/modern/analyze/nestedRoutes.js +1 -10
  272. package/dist/js/modern/builder/builder-rspack/index.js +8 -0
  273. package/dist/js/modern/builder/builder-webpack/builderPlugins/compatModern.js +41 -0
  274. package/dist/js/modern/builder/builder-webpack/index.js +93 -0
  275. package/dist/js/modern/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +1 -1
  276. package/dist/js/modern/builder/builder-webpack/webpackPlugins/index.js +1 -0
  277. package/dist/js/modern/builder/generator/createBuilderOptions.js +24 -0
  278. package/dist/js/modern/builder/generator/createBuilderProviderConfig.js +39 -0
  279. package/dist/js/modern/builder/generator/getBuilderTargets.js +12 -0
  280. package/dist/js/modern/builder/generator/index.js +53 -0
  281. package/dist/js/modern/builder/index.js +13 -133
  282. package/dist/js/modern/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +81 -111
  283. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -0
  284. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +34 -0
  285. package/dist/js/modern/builder/shared/createCopyPattern.js +46 -0
  286. package/dist/js/modern/builder/shared/index.js +3 -0
  287. package/dist/js/modern/builder/shared/loaders/serverModuleLoader.js +7 -0
  288. package/dist/js/modern/builder/shared/types.js +0 -0
  289. package/dist/js/modern/config/default.js +2 -2
  290. package/dist/js/modern/config/index.js +3 -8
  291. package/dist/js/modern/config/initialize/index.js +12 -0
  292. package/dist/js/modern/config/{initial → initialize}/inits.js +4 -2
  293. package/dist/js/modern/config/legacy/createHtmlConfig.js +35 -0
  294. package/dist/js/modern/config/legacy/createOutputConfig.js +68 -0
  295. package/dist/js/modern/config/legacy/createSourceConfig.js +39 -0
  296. package/dist/js/modern/config/legacy/createToolsConfig.js +42 -0
  297. package/dist/js/modern/config/legacy/index.js +51 -0
  298. package/dist/js/modern/index.js +18 -8
  299. package/dist/js/modern/initialize/index.js +36 -28
  300. package/dist/js/modern/locale/zh.js +1 -1
  301. package/dist/js/modern/types/utils.js +0 -0
  302. package/dist/js/node/analyze/index.js +46 -49
  303. package/dist/js/node/analyze/nestedRoutes.js +1 -10
  304. package/dist/js/node/builder/builder-rspack/index.js +31 -0
  305. package/dist/js/node/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  306. package/dist/js/node/builder/builder-webpack/index.js +118 -0
  307. package/dist/js/node/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +7 -5
  308. package/dist/js/node/builder/builder-webpack/webpackPlugins/index.js +17 -0
  309. package/dist/js/node/builder/generator/createBuilderOptions.js +47 -0
  310. package/dist/js/node/builder/generator/createBuilderProviderConfig.js +60 -0
  311. package/dist/js/node/builder/generator/getBuilderTargets.js +35 -0
  312. package/dist/js/node/builder/generator/index.js +82 -0
  313. package/dist/js/node/builder/index.js +14 -123
  314. package/dist/js/node/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +86 -115
  315. package/dist/js/node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +50 -0
  316. package/dist/js/node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +57 -0
  317. package/dist/js/node/builder/shared/createCopyPattern.js +75 -0
  318. package/dist/js/node/builder/shared/index.js +19 -0
  319. package/dist/js/node/builder/shared/loaders/serverModuleLoader.js +28 -0
  320. package/dist/js/node/builder/shared/types.js +15 -0
  321. package/dist/js/node/config/default.js +2 -2
  322. package/dist/js/node/config/index.js +4 -19
  323. package/dist/js/node/config/initialize/index.js +35 -0
  324. package/dist/js/node/config/{initial → initialize}/inits.js +4 -2
  325. package/dist/js/node/config/legacy/createHtmlConfig.js +58 -0
  326. package/dist/js/node/config/legacy/createOutputConfig.js +91 -0
  327. package/dist/js/node/config/legacy/createSourceConfig.js +62 -0
  328. package/dist/js/node/config/legacy/createToolsConfig.js +65 -0
  329. package/dist/js/node/config/legacy/index.js +75 -0
  330. package/dist/js/node/index.js +18 -8
  331. package/dist/js/node/initialize/index.js +35 -28
  332. package/dist/js/node/locale/zh.js +1 -1
  333. package/dist/js/node/types/utils.js +15 -0
  334. package/dist/js/treeshaking/analyze/index.js +135 -130
  335. package/dist/js/treeshaking/analyze/nestedRoutes.js +1 -10
  336. package/dist/js/treeshaking/builder/builder-rspack/index.js +6 -0
  337. package/dist/js/treeshaking/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  338. package/dist/js/treeshaking/builder/builder-webpack/index.js +301 -0
  339. package/dist/js/treeshaking/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +1 -1
  340. package/dist/js/treeshaking/builder/builder-webpack/webpackPlugins/index.js +1 -0
  341. package/dist/js/treeshaking/builder/generator/createBuilderOptions.js +41 -0
  342. package/dist/js/treeshaking/builder/generator/createBuilderProviderConfig.js +70 -0
  343. package/dist/js/treeshaking/builder/generator/getBuilderTargets.js +12 -0
  344. package/dist/js/treeshaking/builder/generator/index.js +199 -0
  345. package/dist/js/treeshaking/builder/index.js +29 -228
  346. package/dist/js/treeshaking/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +103 -156
  347. package/dist/js/treeshaking/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +110 -0
  348. package/dist/js/treeshaking/builder/{webpackPlugins/htmlBottomTemplate.js → shared/bundlerPlugins/HtmlBottomTemplate.js} +0 -0
  349. package/dist/js/treeshaking/builder/shared/createCopyPattern.js +40 -0
  350. package/dist/js/treeshaking/builder/shared/index.js +3 -0
  351. package/dist/js/treeshaking/builder/shared/loaders/serverModuleLoader.js +5 -0
  352. package/dist/js/treeshaking/builder/shared/types.js +1 -0
  353. package/dist/js/treeshaking/config/default.js +2 -2
  354. package/dist/js/treeshaking/config/index.js +3 -3
  355. package/dist/js/treeshaking/config/initialize/index.js +10 -0
  356. package/dist/js/treeshaking/config/{initial → initialize}/inits.js +4 -2
  357. package/dist/js/treeshaking/config/{initial → legacy}/createHtmlConfig.js +0 -0
  358. package/dist/js/treeshaking/config/{initial → legacy}/createOutputConfig.js +0 -0
  359. package/dist/js/treeshaking/config/{initial → legacy}/createSourceConfig.js +0 -0
  360. package/dist/js/treeshaking/config/{initial → legacy}/createToolsConfig.js +0 -0
  361. package/dist/js/treeshaking/config/legacy/index.js +38 -0
  362. package/dist/js/treeshaking/index.js +19 -12
  363. package/dist/js/treeshaking/initialize/index.js +34 -26
  364. package/dist/js/treeshaking/locale/zh.js +1 -1
  365. package/dist/js/treeshaking/types/utils.js +1 -0
  366. package/dist/types/analyze/generateCode.d.ts +1 -1
  367. package/dist/types/analyze/getBundleEntry.d.ts +1 -1
  368. package/dist/types/analyze/getFileSystemEntry.d.ts +1 -1
  369. package/dist/types/analyze/getHtmlTemplate.d.ts +2 -2
  370. package/dist/types/analyze/getServerRoutes.d.ts +1 -1
  371. package/dist/types/analyze/index.d.ts +5 -1
  372. package/dist/types/analyze/templates.d.ts +3 -1
  373. package/dist/types/builder/builder-rspack/index.d.ts +2 -0
  374. package/dist/types/builder/{builderPlugins → builder-webpack/builderPlugins}/compatModern.d.ts +2 -2
  375. package/dist/types/builder/builder-webpack/index.d.ts +4 -0
  376. package/dist/types/builder/{webpackPlugins/routerPlugin.d.ts → builder-webpack/webpackPlugins/RouterPlugin.d.ts} +1 -1
  377. package/dist/types/builder/builder-webpack/webpackPlugins/index.d.ts +1 -0
  378. package/dist/types/builder/generator/createBuilderOptions.d.ts +3 -0
  379. package/dist/types/builder/generator/createBuilderProviderConfig.d.ts +2 -0
  380. package/dist/types/builder/generator/getBuilderTargets.d.ts +3 -0
  381. package/dist/types/builder/generator/index.d.ts +17 -0
  382. package/dist/types/builder/index.d.ts +1 -18
  383. package/dist/types/builder/shared/builderPlugins/adapterModern.d.ts +13 -0
  384. package/dist/types/builder/{webpackPlugins/htmlAsyncChunkPlugin.d.ts → shared/bundlerPlugins/HtmlAsyncChunkPlugin.d.ts} +2 -1
  385. package/dist/types/builder/{webpackPlugins/htmlBottomTemplate.d.ts → shared/bundlerPlugins/HtmlBottomTemplate.d.ts} +2 -1
  386. package/dist/types/builder/{share.d.ts → shared/createCopyPattern.d.ts} +1 -1
  387. package/dist/types/builder/shared/index.d.ts +3 -0
  388. package/dist/types/builder/shared/loaders/serverModuleLoader.d.ts +4 -0
  389. package/dist/types/builder/shared/types.d.ts +16 -0
  390. package/dist/types/commands/build.d.ts +1 -1
  391. package/dist/types/commands/deploy.d.ts +1 -1
  392. package/dist/types/commands/dev.d.ts +1 -1
  393. package/dist/types/commands/inspect.d.ts +1 -1
  394. package/dist/types/commands/serve.d.ts +1 -1
  395. package/dist/types/config/default.d.ts +1 -1
  396. package/dist/types/config/index.d.ts +3 -2
  397. package/dist/types/config/initialize/index.d.ts +2 -0
  398. package/dist/types/config/{initial → initialize}/inits.d.ts +3 -3
  399. package/dist/types/config/{initial → legacy}/createHtmlConfig.d.ts +1 -1
  400. package/dist/types/config/{initial → legacy}/createOutputConfig.d.ts +1 -1
  401. package/dist/types/config/{initial → legacy}/createSourceConfig.d.ts +1 -1
  402. package/dist/types/config/{initial → legacy}/createToolsConfig.d.ts +1 -1
  403. package/dist/types/config/legacy/index.d.ts +3 -0
  404. package/dist/types/defineConfig.d.ts +2 -2
  405. package/dist/types/index.d.ts +7 -3
  406. package/dist/types/initialize/index.d.ts +6 -2
  407. package/dist/types/types/config/deploy.d.ts +1 -2
  408. package/dist/types/types/config/dev.d.ts +2 -3
  409. package/dist/types/types/config/experiments.d.ts +1 -2
  410. package/dist/types/types/config/html.d.ts +5 -3
  411. package/dist/types/types/config/index.d.ts +41 -48
  412. package/dist/types/types/config/output.d.ts +8 -3
  413. package/dist/types/types/config/performance.d.ts +6 -3
  414. package/dist/types/types/config/security.d.ts +3 -3
  415. package/dist/types/types/config/source.d.ts +7 -3
  416. package/dist/types/types/config/tools.d.ts +10 -4
  417. package/dist/types/types/hooks.d.ts +6 -4
  418. package/dist/types/types/index.d.ts +19 -7
  419. package/dist/types/types/utils.d.ts +7 -0
  420. package/dist/types/utils/config.d.ts +1 -1
  421. package/dist/types/utils/getServerInternalPlugins.d.ts +1 -1
  422. package/dist/types/utils/printInstructions.d.ts +1 -1
  423. package/package.json +40 -32
  424. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +0 -30
  425. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +0 -37
  426. package/dist/js/modern/config/initial/index.js +0 -16
  427. package/dist/js/treeshaking/config/initial/index.js +0 -12
  428. package/dist/types/builder/loaders/serverModuleLoader.d.ts +0 -3
  429. package/dist/types/config/initial/index.d.ts +0 -4
  430. package/dist/types/config/initial/transformNormalizedConfig.d.ts +0 -2
@@ -1,11 +1,3 @@
1
- function _arrayLikeToArray(arr, len) {
2
- if (len == null || len > arr.length) len = arr.length;
3
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
- return arr2;
5
- }
6
- function _arrayWithoutHoles(arr) {
7
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
8
- }
9
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
2
  try {
11
3
  var info = gen[key](arg);
@@ -35,75 +27,6 @@ function _asyncToGenerator(fn) {
35
27
  });
36
28
  };
37
29
  }
38
- function _defineProperty(obj, key, value) {
39
- if (key in obj) {
40
- Object.defineProperty(obj, key, {
41
- value: value,
42
- enumerable: true,
43
- configurable: true,
44
- writable: true
45
- });
46
- } else {
47
- obj[key] = value;
48
- }
49
- return obj;
50
- }
51
- function _iterableToArray(iter) {
52
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
53
- }
54
- function _nonIterableSpread() {
55
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
56
- }
57
- function _objectSpread(target) {
58
- for(var i = 1; i < arguments.length; i++){
59
- var source = arguments[i] != null ? arguments[i] : {};
60
- var ownKeys = Object.keys(source);
61
- if (typeof Object.getOwnPropertySymbols === "function") {
62
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
63
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
64
- }));
65
- }
66
- ownKeys.forEach(function(key) {
67
- _defineProperty(target, key, source[key]);
68
- });
69
- }
70
- return target;
71
- }
72
- function ownKeys(object, enumerableOnly) {
73
- var keys = Object.keys(object);
74
- if (Object.getOwnPropertySymbols) {
75
- var symbols = Object.getOwnPropertySymbols(object);
76
- if (enumerableOnly) {
77
- symbols = symbols.filter(function(sym) {
78
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
79
- });
80
- }
81
- keys.push.apply(keys, symbols);
82
- }
83
- return keys;
84
- }
85
- function _objectSpreadProps(target, source) {
86
- source = source != null ? source : {};
87
- if (Object.getOwnPropertyDescriptors) {
88
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
89
- } else {
90
- ownKeys(Object(source)).forEach(function(key) {
91
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
92
- });
93
- }
94
- return target;
95
- }
96
- function _toConsumableArray(arr) {
97
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
98
- }
99
- function _unsupportedIterableToArray(o, minLen) {
100
- if (!o) return;
101
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
102
- var n = Object.prototype.toString.call(o).slice(8, -1);
103
- if (n === "Object" && o.constructor) n = o.constructor.name;
104
- if (n === "Map" || n === "Set") return Array.from(n);
105
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
106
- }
107
30
  var __generator = this && this.__generator || function(thisArg, body) {
108
31
  var f, y, t, g, _ = {
109
32
  label: 0,
@@ -199,176 +122,54 @@ var __generator = this && this.__generator || function(thisArg, body) {
199
122
  };
200
123
  }
201
124
  };
202
- import { createBuilder } from "@modern-js/builder";
203
- import { builderWebpackProvider } from "@modern-js/builder-webpack-provider";
204
- import { applyOptionsChain, isProd, isSSR, isUseSSRBundle } from "@modern-js/utils";
205
- import { PluginCompatModern } from "./builderPlugins/compatModern";
206
- import { createCopyPattern } from "./share";
207
- function getBuilderTargets(normalizedConfig) {
208
- var targets = [
209
- "web"
210
- ];
211
- var useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
212
- if (useNodeTarget) {
213
- targets.push("node");
214
- }
215
- return targets;
125
+ function createBuilderGenerator(bundler) {
126
+ return _createBuilderGenerator.apply(this, arguments);
216
127
  }
217
- function createBuilderForModern(_) {
218
- return _createBuilderForModern.apply(this, arguments);
219
- }
220
- function _createBuilderForModern() {
221
- _createBuilderForModern = _asyncToGenerator(function(param) {
222
- var normalizedConfig, appContext, compatPluginConfig, builderConfig, webpackProvider, target, builderOptions, builder;
128
+ function _createBuilderGenerator() {
129
+ _createBuilderGenerator = _asyncToGenerator(function(bundler) {
130
+ var createRspackBuilderForModern, _, createWebpackBuilderForModern;
223
131
  return __generator(this, function(_state) {
224
132
  switch(_state.label){
225
133
  case 0:
226
- normalizedConfig = param.normalizedConfig, appContext = param.appContext, compatPluginConfig = param.compatPluginConfig;
227
- builderConfig = createBuilderProviderConfig(normalizedConfig, appContext);
228
- webpackProvider = builderWebpackProvider({
229
- builderConfig: builderConfig
230
- });
231
- target = getBuilderTargets(normalizedConfig);
232
- builderOptions = createBuilderOptions(target, appContext);
233
- return [
234
- 4,
235
- createBuilder(webpackProvider, builderOptions)
134
+ if (!(bundler === "rspack")) return [
135
+ 3,
136
+ 4
236
137
  ];
138
+ _state.label = 1;
237
139
  case 1:
238
- builder = _state.sent();
140
+ _state.trys.push([
141
+ 1,
142
+ 3,
143
+ ,
144
+ 4
145
+ ]);
239
146
  return [
240
147
  4,
241
- applyBuilderPlugins(builder, normalizedConfig, appContext, compatPluginConfig)
148
+ import("./builder-rspack")
242
149
  ];
243
150
  case 2:
244
- _state.sent();
151
+ createRspackBuilderForModern = _state.sent().createRspackBuilderForModern;
245
152
  return [
246
153
  2,
247
- builder
154
+ createRspackBuilderForModern
248
155
  ];
249
- }
250
- });
251
- });
252
- return _createBuilderForModern.apply(this, arguments);
253
- }
254
- function createBuilderProviderConfig(normalizedConfig, appContext) {
255
- var createOutputConfig = function createOutputConfig(config, appContext2) {
256
- var defaultCopyPattern = createCopyPattern(appContext2, config, "upload");
257
- var copy = config.output.copy;
258
- var copyOptions = Array.isArray(copy) ? copy : copy === null || copy === void 0 ? void 0 : copy.patterns;
259
- var builderCopy = _toConsumableArray(copyOptions || []).concat([
260
- defaultCopyPattern
261
- ]);
262
- return _objectSpreadProps(_objectSpread({}, config.output), {
263
- copy: builderCopy,
264
- cleanDistPath: false
265
- });
266
- };
267
- var output = createOutputConfig(normalizedConfig, appContext);
268
- var htmlConfig = _objectSpread({}, normalizedConfig.html);
269
- if (!htmlConfig.template) {
270
- htmlConfig.templateByEntries = _objectSpread({}, htmlConfig.templateByEntries, appContext.htmlTemplates);
271
- }
272
- return _objectSpreadProps(_objectSpread({}, normalizedConfig), {
273
- output: output,
274
- dev: _objectSpreadProps(_objectSpread({}, normalizedConfig.dev), {
275
- port: appContext.port
276
- }),
277
- html: htmlConfig
278
- });
279
- }
280
- function createBuilderOptions(target, appContext) {
281
- var entries = {};
282
- var _entrypoints = appContext.entrypoints, entrypoints = _entrypoints === void 0 ? [] : _entrypoints, checkedEntries = appContext.checkedEntries;
283
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
284
- try {
285
- for(var _iterator = entrypoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
286
- var _value = _step.value, entryName = _value.entryName, entry = _value.entry;
287
- if (checkedEntries && !checkedEntries.includes(entryName)) {
288
- continue;
289
- }
290
- if (entryName in entries) {
291
- entries[entryName].push(entry);
292
- } else {
293
- entries[entryName] = [
294
- entry
295
- ];
296
- }
297
- }
298
- } catch (err) {
299
- _didIteratorError = true;
300
- _iteratorError = err;
301
- } finally{
302
- try {
303
- if (!_iteratorNormalCompletion && _iterator.return != null) {
304
- _iterator.return();
305
- }
306
- } finally{
307
- if (_didIteratorError) {
308
- throw _iteratorError;
309
- }
310
- }
311
- }
312
- return {
313
- cwd: appContext.appDirectory,
314
- target: target,
315
- configPath: appContext.configFile || void 0,
316
- entry: entries,
317
- framework: appContext.metaName
318
- };
319
- }
320
- function applyBuilderPlugins(builder, normalizedConfig, appContext, compatPluginConfig) {
321
- return _applyBuilderPlugins.apply(this, arguments);
322
- }
323
- function _applyBuilderPlugins() {
324
- _applyBuilderPlugins = _asyncToGenerator(function(builder, normalizedConfig, appContext, compatPluginConfig) {
325
- var builderPluginNodePolyfill, _tools, esbuildOptions, builderPluginEsbuild;
326
- return __generator(this, function(_state) {
327
- switch(_state.label){
328
- case 0:
329
- if (!!normalizedConfig.output.disableNodePolyfill) return [
330
- 3,
331
- 2
332
- ];
333
- return [
334
- 4,
335
- import("@modern-js/builder-plugin-node-polyfill")
336
- ];
337
- case 1:
338
- builderPluginNodePolyfill = _state.sent().builderPluginNodePolyfill;
339
- builder.addPlugins([
340
- builderPluginNodePolyfill()
341
- ]);
342
- _state.label = 2;
343
- case 2:
344
- if (!normalizedConfig.tools.esbuild) return [
345
- 3,
346
- 4
347
- ];
348
- _tools = normalizedConfig.tools, esbuildOptions = _tools.esbuild;
156
+ case 3:
157
+ _ = _state.sent();
158
+ throw new Error("Failed to use rspack, please check if you have `@modern-js/builder-rspack-provider` installed");
159
+ case 4:
349
160
  return [
350
161
  4,
351
- import("@modern-js/builder-plugin-esbuild")
162
+ import("./builder-webpack")
352
163
  ];
353
- case 3:
354
- builderPluginEsbuild = _state.sent().builderPluginEsbuild;
355
- builder.addPlugins([
356
- builderPluginEsbuild({
357
- loader: false,
358
- minimize: applyOptionsChain({}, esbuildOptions)
359
- })
360
- ]);
361
- _state.label = 4;
362
- case 4:
363
- builder.addPlugins([
364
- PluginCompatModern(appContext, normalizedConfig, compatPluginConfig)
365
- ]);
164
+ case 5:
165
+ createWebpackBuilderForModern = _state.sent().createWebpackBuilderForModern;
366
166
  return [
367
- 2
167
+ 2,
168
+ createWebpackBuilderForModern
368
169
  ];
369
170
  }
370
171
  });
371
172
  });
372
- return _applyBuilderPlugins.apply(this, arguments);
173
+ return _createBuilderGenerator.apply(this, arguments);
373
174
  }
374
- export { createBuilderForModern, createBuilderOptions, createBuilderProviderConfig };
175
+ export { createBuilderGenerator };
@@ -1,11 +1,3 @@
1
- function _arrayLikeToArray(arr, len) {
2
- if (len == null || len > arr.length) len = arr.length;
3
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
- return arr2;
5
- }
6
- function _arrayWithoutHoles(arr) {
7
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
8
- }
9
1
  function _defineProperty(obj, key, value) {
10
2
  if (key in obj) {
11
3
  Object.defineProperty(obj, key, {
@@ -19,12 +11,6 @@ function _defineProperty(obj, key, value) {
19
11
  }
20
12
  return obj;
21
13
  }
22
- function _iterableToArray(iter) {
23
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
24
- }
25
- function _nonIterableSpread() {
26
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27
- }
28
14
  function _objectSpread(target) {
29
15
  for(var i = 1; i < arguments.length; i++){
30
16
  var source = arguments[i] != null ? arguments[i] : {};
@@ -64,32 +50,57 @@ function _objectSpreadProps(target, source) {
64
50
  }
65
51
  return target;
66
52
  }
67
- function _toConsumableArray(arr) {
68
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
69
- }
70
- function _unsupportedIterableToArray(o, minLen) {
71
- if (!o) return;
72
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
73
- var n = Object.prototype.toString.call(o).slice(8, -1);
74
- if (n === "Object" && o.constructor) n = o.constructor.name;
75
- if (n === "Map" || n === "Set") return Array.from(n);
76
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
77
- }
78
- import { join } from "path";
79
53
  import { mergeBuilderConfig } from "@modern-js/builder-shared";
80
- import { template as lodashTemplate } from "@modern-js/utils/lodash";
81
- import HtmlWebpackPlugin from "@modern-js/builder-webpack-provider/html-webpack-plugin";
82
54
  import { getEntryOptions } from "@modern-js/utils";
83
- import { BottomTemplatePlugin } from "../webpackPlugins/htmlBottomTemplate";
84
- import { HtmlAsyncChunkPlugin } from "../webpackPlugins/htmlAsyncChunkPlugin";
85
- import { createCopyPattern } from "../share";
86
- import RouterPlugin from "../webpackPlugins/routerPlugin";
87
- var PluginCompatModern = function(appContext, modernConfig, options) {
55
+ import HtmlWebpackPlugin from "@modern-js/builder-webpack-provider/html-webpack-plugin";
56
+ import { template as lodashTemplate } from "@modern-js/utils/lodash";
57
+ import { HtmlAsyncChunkPlugin } from "../bundlerPlugins/HtmlAsyncChunkPlugin";
58
+ import { BottomTemplatePlugin } from "../bundlerPlugins/HtmlBottomTemplate";
59
+ var isStreamingSSR = function(userConfig) {
60
+ var isStreaming = function(ssr) {
61
+ return ssr && typeof ssr === "object" && ssr.mode === "stream";
62
+ };
63
+ var server = userConfig.server;
64
+ if (isStreaming(server.ssr)) {
65
+ return true;
66
+ }
67
+ if ((server === null || server === void 0 ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
68
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
69
+ try {
70
+ for(var _iterator = Object.keys(server.ssrByEntries)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
71
+ var name = _step.value;
72
+ if (isStreaming(server.ssrByEntries[name])) {
73
+ return true;
74
+ }
75
+ }
76
+ } catch (err) {
77
+ _didIteratorError = true;
78
+ _iteratorError = err;
79
+ } finally{
80
+ try {
81
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
82
+ _iterator.return();
83
+ }
84
+ } finally{
85
+ if (_didIteratorError) {
86
+ throw _iteratorError;
87
+ }
88
+ }
89
+ }
90
+ }
91
+ return false;
92
+ };
93
+ var builderPluginAdapterModern = function(options) {
88
94
  return {
89
- name: "builder-plugin-compat-modern",
95
+ name: "builder-plugin-adapter-modern",
90
96
  setup: function setup(api) {
97
+ var isHtmlEnabled = function isHtmlEnabled(config, target) {
98
+ var ref;
99
+ return ((ref = config.tools) === null || ref === void 0 ? void 0 : ref.htmlPlugin) !== false && target !== "node" && target !== "web-worker";
100
+ };
101
+ var normalizedConfig = options.normalizedConfig, appContext = options.appContext;
91
102
  api.modifyBuilderConfig(function(config) {
92
- if (isStreamingSSR(modernConfig)) {
103
+ if (isStreamingSSR(normalizedConfig)) {
93
104
  return mergeBuilderConfig(config, {
94
105
  html: {
95
106
  inject: "body"
@@ -98,14 +109,9 @@ var PluginCompatModern = function(appContext, modernConfig, options) {
98
109
  }
99
110
  return config;
100
111
  });
101
- api.modifyWebpackChain(function(chain, param) {
112
+ api.modifyBundlerChain(function(chain, param) {
102
113
  var target = param.target, CHAIN_ID = param.CHAIN_ID, isProd = param.isProd;
103
- var isHtmlEnabled = function isHtmlEnabled(config, target2) {
104
- var ref;
105
- return ((ref = config.tools) === null || ref === void 0 ? void 0 : ref.htmlPlugin) !== false && target2 !== "node" && target2 !== "web-worker";
106
- };
107
- var ref;
108
- var builderNormalizedConfig = api.getNormalizedConfig();
114
+ var builderConfig = api.getNormalizedConfig();
109
115
  if (target === "node") {
110
116
  chain.name("server");
111
117
  } else if (target === "modern-web") {
@@ -113,55 +119,30 @@ var PluginCompatModern = function(appContext, modernConfig, options) {
113
119
  } else {
114
120
  chain.name("client");
115
121
  }
116
- chain.resolve.modules.add("node_modules").add(join(api.context.rootPath, "node_modules"));
117
122
  if (target === "node") {
118
- applyNodeCompat(chain, modernConfig, isProd);
123
+ applyNodeCompat(chain, normalizedConfig, isProd);
119
124
  }
120
- if (isHtmlEnabled(builderNormalizedConfig, target)) {
121
- applyBottomHtmlWebpackPlugin({
125
+ if (isHtmlEnabled(builderConfig, target)) {
126
+ applyBottomHtmlPlugin({
122
127
  api: api,
123
128
  chain: chain,
124
- CHAIN_ID: CHAIN_ID,
129
+ modernConfig: normalizedConfig,
125
130
  appContext: appContext,
126
- modernConfig: modernConfig
131
+ CHAIN_ID: CHAIN_ID
127
132
  });
128
133
  applyAsyncChunkHtmlPlugin({
129
134
  chain: chain,
130
- CHAIN_ID: CHAIN_ID,
131
- modernConfig: modernConfig
132
- });
133
- }
134
- if (chain.plugins.has(CHAIN_ID.PLUGIN.COPY)) {
135
- var defaultCopyPattern = createCopyPattern(appContext, modernConfig, "public", chain);
136
- chain.plugin(CHAIN_ID.PLUGIN.COPY).tap(function(args) {
137
- var ref;
138
- return [
139
- {
140
- patterns: _toConsumableArray(((ref = args[0]) === null || ref === void 0 ? void 0 : ref.patterns) || []).concat([
141
- defaultCopyPattern
142
- ])
143
- }
144
- ];
135
+ modernConfig: normalizedConfig,
136
+ CHAIN_ID: CHAIN_ID
145
137
  });
146
138
  }
147
- var entrypoints = appContext.entrypoints;
148
- var existNestedRoutes = entrypoints.some(function(entrypoint) {
149
- return entrypoint.nestedRoutesEntry;
150
- });
151
- var routerConfig = modernConfig === null || modernConfig === void 0 ? void 0 : (ref = modernConfig.runtime) === null || ref === void 0 ? void 0 : ref.router;
152
- var routerManifest = Boolean(routerConfig === null || routerConfig === void 0 ? void 0 : routerConfig.manifest);
153
- if (existNestedRoutes || routerManifest) {
154
- chain.plugin("route-plugin").use(RouterPlugin);
155
- }
156
139
  if (target !== "node") {
157
140
  var bareServerModuleReg = /\.(server|node)\.[tj]sx?$/;
158
141
  chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(bareServerModuleReg);
159
142
  chain.module.rule("bare-server-module").test(bareServerModuleReg).use("server-module-loader").loader(require.resolve("../loaders/serverModuleLoader"));
160
143
  }
161
144
  });
162
- if (options) {
163
- applyCallbacks(api, options);
164
- }
145
+ applyCallbacks(api, options);
165
146
  }
166
147
  };
167
148
  };
@@ -175,52 +156,7 @@ function applyCallbacks(api, options) {
175
156
  options.onDevCompileDone && api.onDevCompileDone(options.onDevCompileDone);
176
157
  options.onExit && api.onExit(options.onExit);
177
158
  }
178
- function applyNodeCompat(chain, modernConfig, isProd) {
179
- var filterEntriesBySSRConfig = function filterEntriesBySSRConfig(isProd2, chain2, serverConfig, outputConfig) {
180
- var ref;
181
- var entries = chain2.entryPoints.entries();
182
- if (isProd2 && ((outputConfig === null || outputConfig === void 0 ? void 0 : outputConfig.ssg) === true || typeof (outputConfig === null || outputConfig === void 0 ? void 0 : (ref = outputConfig.ssg) === null || ref === void 0 ? void 0 : ref[0]) === "function")) {
183
- return;
184
- }
185
- if (typeof entries === "undefined") {
186
- throw new Error("No entry found, one of src/routes/layout.tsx, src/App.tsx, src/index.tsx is required");
187
- }
188
- var entryNames = Object.keys(entries);
189
- if (isProd2 && entryNames.length === 1 && (outputConfig === null || outputConfig === void 0 ? void 0 : outputConfig.ssg)) {
190
- return;
191
- }
192
- var ssgEntries = [];
193
- if (isProd2 && (outputConfig === null || outputConfig === void 0 ? void 0 : outputConfig.ssg)) {
194
- var ssg = outputConfig.ssg;
195
- entryNames.forEach(function(name) {
196
- if (ssg[name]) {
197
- ssgEntries.push(name);
198
- }
199
- });
200
- }
201
- var ref1 = serverConfig || {}, ssr = ref1.ssr, ssrByEntries = ref1.ssrByEntries;
202
- entryNames.forEach(function(name) {
203
- if (!ssgEntries.includes(name) && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
204
- chain2.entryPoints.delete(name);
205
- }
206
- });
207
- };
208
- for(var _i = 0, _iter = [
209
- ".node.js",
210
- ".node.jsx",
211
- ".node.ts",
212
- ".node.tsx",
213
- ".server.js",
214
- ".server.ts",
215
- ".server.ts",
216
- ".server.tsx"
217
- ]; _i < _iter.length; _i++){
218
- var ext = _iter[_i];
219
- chain.resolve.extensions.prepend(ext);
220
- }
221
- filterEntriesBySSRConfig(isProd, chain, modernConfig.server, modernConfig.output);
222
- }
223
- function applyBottomHtmlWebpackPlugin(param) {
159
+ function applyBottomHtmlPlugin(param) {
224
160
  var api = param.api, chain = param.chain, modernConfig = param.modernConfig, appContext = param.appContext, CHAIN_ID = param.CHAIN_ID;
225
161
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
226
162
  try {
@@ -259,40 +195,6 @@ function applyBottomHtmlWebpackPlugin(param) {
259
195
  HtmlWebpackPlugin
260
196
  ]);
261
197
  }
262
- var isStreamingSSR = function(userConfig) {
263
- var isStreaming = function(ssr) {
264
- return ssr && typeof ssr === "object" && ssr.mode === "stream";
265
- };
266
- var server = userConfig.server;
267
- if (isStreaming(server.ssr)) {
268
- return true;
269
- }
270
- if ((server === null || server === void 0 ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
271
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
272
- try {
273
- for(var _iterator = Object.keys(server.ssrByEntries)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
274
- var name = _step.value;
275
- if (isStreaming(server.ssrByEntries[name])) {
276
- return true;
277
- }
278
- }
279
- } catch (err) {
280
- _didIteratorError = true;
281
- _iteratorError = err;
282
- } finally{
283
- try {
284
- if (!_iteratorNormalCompletion && _iterator.return != null) {
285
- _iterator.return();
286
- }
287
- } finally{
288
- if (_didIteratorError) {
289
- throw _iteratorError;
290
- }
291
- }
292
- }
293
- }
294
- return false;
295
- };
296
198
  function applyAsyncChunkHtmlPlugin(param) {
297
199
  var chain = param.chain, modernConfig = param.modernConfig, CHAIN_ID = param.CHAIN_ID;
298
200
  if (isStreamingSSR(modernConfig)) {
@@ -301,4 +203,49 @@ function applyAsyncChunkHtmlPlugin(param) {
301
203
  ]);
302
204
  }
303
205
  }
304
- export { PluginCompatModern };
206
+ function applyNodeCompat(chain, modernConfig, isProd) {
207
+ var filterEntriesBySSRConfig = function filterEntriesBySSRConfig(isProd2, chain2, serverConfig, outputConfig) {
208
+ var ref;
209
+ var entries = chain2.entryPoints.entries();
210
+ if (isProd2 && ((outputConfig === null || outputConfig === void 0 ? void 0 : outputConfig.ssg) === true || typeof (outputConfig === null || outputConfig === void 0 ? void 0 : (ref = outputConfig.ssg) === null || ref === void 0 ? void 0 : ref[0]) === "function")) {
211
+ return;
212
+ }
213
+ if (typeof entries === "undefined") {
214
+ throw new Error("No entry found, one of src/routes/layout.tsx, src/App.tsx, src/index.tsx is required");
215
+ }
216
+ var entryNames = Object.keys(entries);
217
+ if (isProd2 && entryNames.length === 1 && (outputConfig === null || outputConfig === void 0 ? void 0 : outputConfig.ssg)) {
218
+ return;
219
+ }
220
+ var ssgEntries = [];
221
+ if (isProd2 && (outputConfig === null || outputConfig === void 0 ? void 0 : outputConfig.ssg)) {
222
+ var ssg = outputConfig.ssg;
223
+ entryNames.forEach(function(name) {
224
+ if (ssg[name]) {
225
+ ssgEntries.push(name);
226
+ }
227
+ });
228
+ }
229
+ var ref1 = serverConfig || {}, ssr = ref1.ssr, ssrByEntries = ref1.ssrByEntries;
230
+ entryNames.forEach(function(name) {
231
+ if (!ssgEntries.includes(name) && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
232
+ chain2.entryPoints.delete(name);
233
+ }
234
+ });
235
+ };
236
+ for(var _i = 0, _iter = [
237
+ ".node.js",
238
+ ".node.jsx",
239
+ ".node.ts",
240
+ ".node.tsx",
241
+ ".server.js",
242
+ ".server.ts",
243
+ ".server.ts",
244
+ ".server.tsx"
245
+ ]; _i < _iter.length; _i++){
246
+ var ext = _iter[_i];
247
+ chain.resolve.extensions.prepend(ext);
248
+ }
249
+ filterEntriesBySSRConfig(isProd, chain, modernConfig.server, modernConfig.output);
250
+ }
251
+ export { applyCallbacks, builderPluginAdapterModern };