@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
@@ -0,0 +1,110 @@
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
+ function _classCallCheck(instance, Constructor) {
10
+ if (!(instance instanceof Constructor)) {
11
+ throw new TypeError("Cannot call a class as a function");
12
+ }
13
+ }
14
+ function _defineProperties(target, props) {
15
+ for(var i = 0; i < props.length; i++){
16
+ var descriptor = props[i];
17
+ descriptor.enumerable = descriptor.enumerable || false;
18
+ descriptor.configurable = true;
19
+ if ("value" in descriptor) descriptor.writable = true;
20
+ Object.defineProperty(target, descriptor.key, descriptor);
21
+ }
22
+ }
23
+ function _createClass(Constructor, protoProps, staticProps) {
24
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
25
+ if (staticProps) _defineProperties(Constructor, staticProps);
26
+ return Constructor;
27
+ }
28
+ function _defineProperty(obj, key, value) {
29
+ if (key in obj) {
30
+ Object.defineProperty(obj, key, {
31
+ value: value,
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true
35
+ });
36
+ } else {
37
+ obj[key] = value;
38
+ }
39
+ return obj;
40
+ }
41
+ function _iterableToArray(iter) {
42
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
43
+ }
44
+ function _nonIterableSpread() {
45
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
46
+ }
47
+ function _toConsumableArray(arr) {
48
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
49
+ }
50
+ function _unsupportedIterableToArray(o, minLen) {
51
+ if (!o) return;
52
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
53
+ var n = Object.prototype.toString.call(o).slice(8, -1);
54
+ if (n === "Object" && o.constructor) n = o.constructor.name;
55
+ if (n === "Map" || n === "Set") return Array.from(n);
56
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
57
+ }
58
+ var HtmlAsyncChunkPlugin = /*#__PURE__*/ function() {
59
+ "use strict";
60
+ function HtmlAsyncChunkPlugin(htmlWebpackPlugin) {
61
+ _classCallCheck(this, HtmlAsyncChunkPlugin);
62
+ _defineProperty(this, "name", void 0);
63
+ _defineProperty(this, "htmlWebpackPlugin", void 0);
64
+ this.name = "HtmlAsyncChunkPlugin";
65
+ this.htmlWebpackPlugin = htmlWebpackPlugin;
66
+ }
67
+ _createClass(HtmlAsyncChunkPlugin, [
68
+ {
69
+ key: "apply",
70
+ value: function apply(compiler) {
71
+ var _this = this;
72
+ compiler.hooks.compilation.tap(this.name, function(compilation) {
73
+ var hooks = _this.htmlWebpackPlugin.getHooks(compilation);
74
+ hooks.alterAssetTagGroups.tap(_this.name, function(assets) {
75
+ var tags = _toConsumableArray(assets.headTags).concat(_toConsumableArray(assets.bodyTags));
76
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
77
+ try {
78
+ for(var _iterator = tags[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
79
+ var tag = _step.value;
80
+ if (tag.tagName === "script") {
81
+ var attributes = tag.attributes;
82
+ if (attributes && attributes.defer === true) {
83
+ attributes.async = true;
84
+ delete attributes.defer;
85
+ }
86
+ }
87
+ }
88
+ } catch (err) {
89
+ _didIteratorError = true;
90
+ _iteratorError = err;
91
+ } finally{
92
+ try {
93
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
94
+ _iterator.return();
95
+ }
96
+ } finally{
97
+ if (_didIteratorError) {
98
+ throw _iteratorError;
99
+ }
100
+ }
101
+ }
102
+ return assets;
103
+ });
104
+ });
105
+ }
106
+ }
107
+ ]);
108
+ return HtmlAsyncChunkPlugin;
109
+ }();
110
+ export { HtmlAsyncChunkPlugin };
@@ -0,0 +1,40 @@
1
+ import path from "path";
2
+ import { removeTailSlash } from "@modern-js/utils";
3
+ function createCopyPattern(appContext, config, patternsType, chain) {
4
+ var configDir = path.resolve(appContext.appDirectory, config.source.configDir || "./config");
5
+ var uploadDir = path.posix.join(configDir.replace(/\\/g, "/"), "upload");
6
+ var publicDir = path.posix.join(configDir.replace(/\\/g, "/"), "public");
7
+ var minifiedJsRexExp = /\.min\.js/;
8
+ var info = function(file) {
9
+ return {
10
+ minimized: minifiedJsRexExp.test(file.sourceFilename)
11
+ };
12
+ };
13
+ if (patternsType === "public") {
14
+ if (!chain) {
15
+ throw new Error("expect get a webpackChain, but receive 'undefined'");
16
+ }
17
+ return {
18
+ info: info,
19
+ from: "**/*",
20
+ to: "public",
21
+ context: publicDir,
22
+ noErrorOnMissing: true,
23
+ transform: function(content, absoluteFrom) {
24
+ if (!/\.html?$/.test(absoluteFrom)) {
25
+ return content;
26
+ }
27
+ return content.toString("utf8").replace(/<%=\s*assetPrefix\s*%>/g, removeTailSlash(chain.output.get("publicPath")));
28
+ }
29
+ };
30
+ } else {
31
+ return {
32
+ info: info,
33
+ from: "**/*",
34
+ to: "upload",
35
+ context: uploadDir,
36
+ noErrorOnMissing: true
37
+ };
38
+ }
39
+ }
40
+ export { createCopyPattern };
@@ -0,0 +1,3 @@
1
+ export * from "./createCopyPattern";
2
+ export * from "./types";
3
+ export * from "./builderPlugins/adapterModern";
@@ -0,0 +1,5 @@
1
+ function loader() {
2
+ return "module.exports = {}";
3
+ }
4
+ var serverModuleLoader_default = loader;
5
+ export { serverModuleLoader_default as default };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -51,12 +51,11 @@ function _objectSpreadProps(target, source) {
51
51
  return target;
52
52
  }
53
53
  import { createDefaultConfig as createDefaultBuilderConfig } from "@modern-js/builder-webpack-provider";
54
- function createDefaultConfig(appContext) {
54
+ function createDefaultConfig(appContext, bundler) {
55
55
  var defaultBuilderConfig = createDefaultBuilderConfig();
56
56
  var dev = _objectSpreadProps(_objectSpread({}, defaultBuilderConfig.dev), {
57
57
  port: void 0
58
58
  });
59
- var tools = _objectSpread({}, defaultBuilderConfig.tools);
60
59
  var output = _objectSpreadProps(_objectSpread({}, defaultBuilderConfig.output), {
61
60
  disableNodePolyfill: true
62
61
  });
@@ -95,6 +94,7 @@ function createDefaultConfig(appContext) {
95
94
  baseUrl: "/",
96
95
  port: 8080
97
96
  };
97
+ var tools = bundler === "webpack" ? _objectSpread({}, defaultBuilderConfig.tools) : void 0;
98
98
  return {
99
99
  source: source,
100
100
  output: output,
@@ -1,3 +1,3 @@
1
- import { createDefaultConfig, createLegacyDefaultConfig } from "./default";
2
- import { initialNormalizedConfig, checkIsLegacyConfig } from "./initial";
3
- export { checkIsLegacyConfig, createDefaultConfig, createLegacyDefaultConfig, initialNormalizedConfig };
1
+ export * from "./legacy";
2
+ export * from "./initialize";
3
+ export * from "./default";
@@ -0,0 +1,10 @@
1
+ import { initHtmlConfig, initSourceConfig, initToolsConfig } from "./inits";
2
+ function initialNormalizedConfig(config, appContext, bundler) {
3
+ initHtmlConfig(config, appContext);
4
+ initSourceConfig(config, appContext, bundler);
5
+ if (bundler === "webpack") {
6
+ initToolsConfig(config);
7
+ }
8
+ return config;
9
+ }
10
+ export { initialNormalizedConfig };
@@ -105,7 +105,7 @@ function initHtmlConfig(config, appContext) {
105
105
  config.html.favicon = createBuilderFavicon(config, appContext);
106
106
  return config.html;
107
107
  }
108
- function initSourceConfig(config, appContext) {
108
+ function initSourceConfig(config, appContext, bundler) {
109
109
  var createBuilderGlobalVars = function createBuilderGlobalVars(config2, appContext2) {
110
110
  var _source = config2.source, _globalVars = _source.globalVars, globalVars = _globalVars === void 0 ? {} : _globalVars;
111
111
  var publicEnv = getAutoInjectEnv(appContext2);
@@ -176,8 +176,10 @@ function initSourceConfig(config, appContext) {
176
176
  }
177
177
  };
178
178
  config.source.include = createBuilderInclude(config, appContext);
179
- config.source.moduleScopes = createBuilderModuleScope(config);
180
179
  config.source.globalVars = createBuilderGlobalVars(config, appContext);
180
+ if (bundler === "webpack") {
181
+ config.source.moduleScopes = createBuilderModuleScope(config);
182
+ }
181
183
  }
182
184
  function initToolsConfig(config) {
183
185
  var defaultTsChecker = {
@@ -0,0 +1,38 @@
1
+ import { createToolsConfig } from "./createToolsConfig";
2
+ import { createSourceConfig } from "./createSourceConfig";
3
+ import { createOutputConfig } from "./createOutputConfig";
4
+ import { createHtmlConfig } from "./createHtmlConfig";
5
+ function transformNormalizedConfig(config) {
6
+ var html = createHtmlConfig(config);
7
+ var output = createOutputConfig(config);
8
+ var source = createSourceConfig(config);
9
+ var tools = createToolsConfig(config);
10
+ var bff = config.bff, dev = config.dev, deploy = config.deploy, runtime = config.runtime, runtimeByEntries = config.runtimeByEntries, server = config.server, cliOptions = config.cliOptions, plugins = config.plugins, testing = config.testing;
11
+ return {
12
+ source: source,
13
+ html: html,
14
+ output: output,
15
+ tools: tools,
16
+ bff: bff,
17
+ dev: dev,
18
+ deploy: deploy,
19
+ runtime: runtime,
20
+ runtimeByEntries: runtimeByEntries,
21
+ server: server,
22
+ cliOptions: cliOptions,
23
+ testing: testing,
24
+ builderPlugins: [],
25
+ plugins: plugins,
26
+ security: {},
27
+ _raw: {},
28
+ experiments: {},
29
+ autoLoadPlugins: true,
30
+ performance: {
31
+ removeMomentLocale: true
32
+ }
33
+ };
34
+ }
35
+ function checkIsLegacyConfig(config) {
36
+ return Boolean(config.legacy);
37
+ }
38
+ export { checkIsLegacyConfig, transformNormalizedConfig };
@@ -439,6 +439,9 @@ var buildCommand = function() {
439
439
  };
440
440
  }();
441
441
  var src_default = function() {
442
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
443
+ bundler: "webpack"
444
+ };
442
445
  return {
443
446
  name: "@modern-js/app-tools",
444
447
  post: [
@@ -453,8 +456,12 @@ var src_default = function() {
453
456
  ],
454
457
  registerHook: hooks,
455
458
  usePlugins: [
456
- initializePlugin(),
457
- analyzePlugin(),
459
+ initializePlugin({
460
+ bundler: (options === null || options === void 0 ? void 0 : options.bundler) === "experimental-rspack" ? "rspack" : "webpack"
461
+ }),
462
+ analyzePlugin({
463
+ bundler: (options === null || options === void 0 ? void 0 : options.bundler) === "experimental-rspack" ? "rspack" : "webpack"
464
+ }),
458
465
  lintPlugin()
459
466
  ],
460
467
  setup: function(api) {
@@ -505,7 +512,7 @@ var src_default = function() {
505
512
  });
506
513
  }));
507
514
  program.command("deploy").usage("[options]").option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).description(i18n.t(localeKeys.command.deploy.describe)).action(function() {
508
- var _ref = _asyncToGenerator(function(options) {
515
+ var _ref = _asyncToGenerator(function(options2) {
509
516
  var build, deploy;
510
517
  return __generator(this, function(_state) {
511
518
  switch(_state.label){
@@ -530,7 +537,7 @@ var src_default = function() {
530
537
  deploy = _state.sent().deploy;
531
538
  return [
532
539
  4,
533
- deploy(api, options)
540
+ deploy(api, options2)
534
541
  ];
535
542
  case 4:
536
543
  _state.sent();
@@ -541,12 +548,12 @@ var src_default = function() {
541
548
  }
542
549
  });
543
550
  });
544
- return function(options) {
551
+ return function(options2) {
545
552
  return _ref.apply(this, arguments);
546
553
  };
547
554
  }());
548
555
  program.command("new").usage("[options]").description(i18n.t(localeKeys.command.new.describe)).option("--lang <lang>", i18n.t(localeKeys.command.new.lang)).option("-d, --debug", i18n.t(localeKeys.command.new.debug), false).option("-c, --config <config>", i18n.t(localeKeys.command.new.config)).option("--dist-tag <tag>", i18n.t(localeKeys.command.new.distTag)).option("--registry", i18n.t(localeKeys.command.new.registry)).action(function() {
549
- var _ref = _asyncToGenerator(function(options) {
556
+ var _ref = _asyncToGenerator(function(options2) {
550
557
  var MWANewAction;
551
558
  return __generator(this, function(_state) {
552
559
  switch(_state.label){
@@ -559,8 +566,8 @@ var src_default = function() {
559
566
  MWANewAction = _state.sent().MWANewAction;
560
567
  return [
561
568
  4,
562
- MWANewAction(_objectSpreadProps(_objectSpread({}, options), {
563
- locale: options.lang || locale
569
+ MWANewAction(_objectSpreadProps(_objectSpread({}, options2), {
570
+ locale: options2.lang || locale
564
571
  }))
565
572
  ];
566
573
  case 2:
@@ -571,12 +578,12 @@ var src_default = function() {
571
578
  }
572
579
  });
573
580
  });
574
- return function(options) {
581
+ return function(options2) {
575
582
  return _ref.apply(this, arguments);
576
583
  };
577
584
  }());
578
585
  program.command("inspect").description("inspect internal webpack config").option("--env <env>", i18n.t(localeKeys.command.inspect.env), "development").option("--output <output>", i18n.t(localeKeys.command.inspect.output), "/").option("--verbose", i18n.t(localeKeys.command.inspect.verbose)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).action(function() {
579
- var _ref = _asyncToGenerator(function(options) {
586
+ var _ref = _asyncToGenerator(function(options2) {
580
587
  var inspect;
581
588
  return __generator(this, function(_state) {
582
589
  switch(_state.label){
@@ -587,14 +594,14 @@ var src_default = function() {
587
594
  ];
588
595
  case 1:
589
596
  inspect = _state.sent().inspect;
590
- inspect(api, options);
597
+ inspect(api, options2);
591
598
  return [
592
599
  2
593
600
  ];
594
601
  }
595
602
  });
596
603
  });
597
- return function(options) {
604
+ return function(options2) {
598
605
  return _ref.apply(this, arguments);
599
606
  };
600
607
  }());
@@ -176,16 +176,16 @@ var __generator = this && this.__generator || function(thisArg, body) {
176
176
  };
177
177
  import { ensureAbsolutePath, getPort, isDev, isDevCommand } from "@modern-js/utils";
178
178
  import { legacySchema, schema } from "../schema";
179
- import { transformNormalizedConfig } from "../config/initial/transformNormalizedConfig";
180
- import { checkIsLegacyConfig, createDefaultConfig, createLegacyDefaultConfig } from "../config";
181
- var initialize_default = function() {
179
+ import { checkIsLegacyConfig, createDefaultConfig, createLegacyDefaultConfig, transformNormalizedConfig } from "../config";
180
+ var initialize_default = function(param) {
181
+ var bundler = param.bundler;
182
182
  return {
183
183
  name: "@modern-js/plugin-initialize",
184
184
  setup: function setup(api) {
185
185
  var config = function() {
186
186
  var appContext = api.useAppContext();
187
187
  var userConfig = api.useConfigContext();
188
- return checkIsLegacyConfig(userConfig) ? createLegacyDefaultConfig(appContext) : createDefaultConfig(appContext);
188
+ return checkIsLegacyConfig(userConfig) ? createLegacyDefaultConfig(appContext) : createDefaultConfig(appContext, bundler);
189
189
  };
190
190
  var validateSchema = function() {
191
191
  var userConfig = api.useConfigContext();
@@ -216,31 +216,34 @@ var initialize_default = function() {
216
216
  });
217
217
  api.setAppContext(appContext);
218
218
  normalizedConfig = checkIsLegacyConfig(resolved) ? transformNormalizedConfig(resolved) : resolved;
219
+ resolved._raw = userConfig;
220
+ resolved.server = _objectSpreadProps(_objectSpread({}, normalizedConfig.server || {}), {
221
+ port: port
222
+ });
223
+ resolved.autoLoadPlugins = normalizedConfig.autoLoadPlugins || false;
224
+ stabilizeConfig(resolved, normalizedConfig, [
225
+ "source",
226
+ "bff",
227
+ "dev",
228
+ "html",
229
+ "output",
230
+ "tools",
231
+ "testing",
232
+ "plugins",
233
+ "builderPlugins",
234
+ "runtime",
235
+ "runtimeByEntries",
236
+ "deploy",
237
+ "performance"
238
+ ]);
239
+ if (bundler === "webpack") {
240
+ resolved.security = normalizedConfig.security || {};
241
+ resolved.experiments = normalizedConfig.experiments;
242
+ }
219
243
  return [
220
244
  2,
221
245
  {
222
- resolved: {
223
- _raw: userConfig,
224
- source: normalizedConfig.source || {},
225
- server: _objectSpreadProps(_objectSpread({}, normalizedConfig.server || {}), {
226
- port: port
227
- }),
228
- bff: normalizedConfig.bff || {},
229
- dev: normalizedConfig.dev || {},
230
- html: normalizedConfig.html || {},
231
- output: normalizedConfig.output || {},
232
- security: normalizedConfig.security || {},
233
- tools: normalizedConfig.tools || {},
234
- testing: normalizedConfig.testing || {},
235
- plugins: normalizedConfig.plugins || [],
236
- builderPlugins: normalizedConfig.builderPlugins || [],
237
- runtime: normalizedConfig.runtime || {},
238
- runtimeByEntries: normalizedConfig.runtimeByEntries || {},
239
- deploy: normalizedConfig.deploy || {},
240
- performance: normalizedConfig.performance || {},
241
- experiments: normalizedConfig.experiments || {},
242
- autoLoadPlugins: normalizedConfig.autoLoadPlugins || false
243
- }
246
+ resolved: resolved
244
247
  }
245
248
  ];
246
249
  }
@@ -251,6 +254,11 @@ var initialize_default = function() {
251
254
  }
252
255
  };
253
256
  };
257
+ function stabilizeConfig(resolve, config, keys) {
258
+ keys.forEach(function(key) {
259
+ resolve[key] = config[key] || {};
260
+ });
261
+ }
254
262
  function getServerPort(config) {
255
263
  return _getServerPort.apply(this, arguments);
256
264
  }
@@ -21,7 +21,7 @@ var ZH_LOCALE = {
21
21
  describe: "部署应用命令"
22
22
  },
23
23
  new: {
24
- describe: "MWA 项目中执行生成器",
24
+ describe: "Web App 项目中执行生成器",
25
25
  debug: "开启 Debug 模式,打印调试日志信息",
26
26
  config: "生成器运行默认配置(JSON 字符串)",
27
27
  distTag: "生成器使用特殊的 npm Tag 版本",
@@ -0,0 +1 @@
1
+ "use strict";
@@ -2,4 +2,4 @@ import { IAppContext, PluginAPI } from '@modern-js/core';
2
2
  import type { Entrypoint } from '@modern-js/types';
3
3
  import { AppNormalizedConfig, AppTools, ImportStatement } from '../types';
4
4
  export declare const createImportStatements: (statements: ImportStatement[]) => string;
5
- export declare const generateCode: (appContext: IAppContext, config: AppNormalizedConfig, entrypoints: Entrypoint[], api: PluginAPI<AppTools>) => Promise<void>;
5
+ export declare const generateCode: (appContext: IAppContext, config: AppNormalizedConfig<'shared'>, entrypoints: Entrypoint[], api: PluginAPI<AppTools<'shared'>>) => Promise<void>;
@@ -1,3 +1,3 @@
1
1
  import type { Entrypoint } from '@modern-js/types';
2
2
  import type { AppNormalizedConfig, IAppContext } from '../types';
3
- export declare const getBundleEntry: (appContext: IAppContext, config: AppNormalizedConfig) => Entrypoint[];
3
+ export declare const getBundleEntry: (appContext: IAppContext, config: AppNormalizedConfig<'shared'>) => Entrypoint[];
@@ -1,4 +1,4 @@
1
1
  import type { Entrypoint } from '@modern-js/types';
2
2
  import type { AppNormalizedConfig, IAppContext } from '../types';
3
3
  export type { Entrypoint };
4
- export declare const getFileSystemEntry: (appContext: IAppContext, config: AppNormalizedConfig) => Entrypoint[];
4
+ export declare const getFileSystemEntry: (appContext: IAppContext, config: AppNormalizedConfig<'shared'>) => Entrypoint[];
@@ -1,9 +1,9 @@
1
1
  import type { Entrypoint, HtmlTemplates } from '@modern-js/types';
2
2
  import type { AppNormalizedConfig, AppTools, IAppContext, PluginAPI } from '../types';
3
- export declare const getHtmlTemplate: (entrypoints: Entrypoint[], api: PluginAPI<AppTools>, {
3
+ export declare const getHtmlTemplate: (entrypoints: Entrypoint[], api: PluginAPI<AppTools<'shared'>>, {
4
4
  appContext,
5
5
  config
6
6
  }: {
7
7
  appContext: IAppContext;
8
- config: AppNormalizedConfig;
8
+ config: AppNormalizedConfig<'shared'>;
9
9
  }) => Promise<HtmlTemplates>;
@@ -6,5 +6,5 @@ export declare const getServerRoutes: (entrypoints: Entrypoint[], {
6
6
  config
7
7
  }: {
8
8
  appContext: IAppContext;
9
- config: AppNormalizedConfig;
9
+ config: AppNormalizedConfig<'shared'>;
10
10
  }) => ServerRoute[];
@@ -1,6 +1,10 @@
1
1
  import type { CliPlugin } from '@modern-js/core';
2
2
  import { AppTools } from '../types';
3
3
 
4
- declare const _default: () => CliPlugin<AppTools>;
4
+ declare const _default: ({
5
+ bundler
6
+ }: {
7
+ bundler: 'webpack' | 'rspack';
8
+ }) => CliPlugin<AppTools<'shared'>>;
5
9
 
6
10
  export default _default;
@@ -26,9 +26,11 @@ export declare const html: (partials: {
26
26
  body: string[];
27
27
  }) => string;
28
28
  export declare const routesForServer: ({
29
- routes
29
+ routes,
30
+ metaName
30
31
  }: {
31
32
  routes: (NestedRoute | PageRoute)[];
33
+ metaName: string;
32
34
  }) => string;
33
35
  export declare const fileSystemRoutes: ({
34
36
  routes,
@@ -0,0 +1,2 @@
1
+ import { BuilderOptions } from '../shared';
2
+ export declare function createRspackBuilderForModern(options: BuilderOptions<'rspack'>): Promise<import("@modern-js/builder-shared").BuilderInstance<import("@modern-js/builder-shared").BuilderProvider<Record<string, any>, Record<string, any>, Record<string, any>, Record<string, any>>>>;
@@ -1,6 +1,6 @@
1
1
  import { BuilderPlugin } from '@modern-js/builder-shared';
2
2
  import type { BuilderPluginAPI } from '@modern-js/builder-webpack-provider';
3
- import type { IAppContext, AppNormalizedConfig } from '../../types';
3
+ import { BuilderOptions } from '../../shared';
4
4
  type Parameter<T extends (arg: any) => void> = Parameters<T>[0];
5
5
  type FnParameter<T extends {
6
6
  [p: string]: (arg: any) => void;
@@ -10,5 +10,5 @@ export type PluginCompatModernOptions = FnParameter<Partial<Pick<BuilderPluginAP
10
10
  * Provides default configuration consistent with modern.js v1
11
11
  */
12
12
 
13
- export declare const PluginCompatModern: (appContext: IAppContext, modernConfig: AppNormalizedConfig, options?: PluginCompatModernOptions) => BuilderPlugin<BuilderPluginAPI>;
13
+ export declare const PluginCompatModern: (options: BuilderOptions<'webpack'>) => BuilderPlugin<BuilderPluginAPI>;
14
14
  export {};
@@ -0,0 +1,4 @@
1
+ import { BuilderInstance } from '@modern-js/builder';
2
+ import { BuilderWebpackProvider } from '@modern-js/builder-webpack-provider';
3
+ import { BuilderOptions } from '../shared';
4
+ export declare function createWebpackBuilderForModern(options: BuilderOptions<'webpack'>): Promise<BuilderInstance<BuilderWebpackProvider>>;
@@ -1,4 +1,4 @@
1
1
  import type { Compiler } from 'webpack';
2
- export default class RouterPlugin {
2
+ export declare class RouterPlugin {
3
3
  apply(compiler: Compiler): void;
4
4
  }
@@ -0,0 +1 @@
1
+ export * from './RouterPlugin';
@@ -0,0 +1,3 @@
1
+ import type { BuilderTarget, CreateBuilderOptions } from '@modern-js/builder-shared';
2
+ import type { IAppContext } from '@modern-js/core';
3
+ export declare function createBuilderOptions(target: BuilderTarget | BuilderTarget[], appContext: IAppContext): CreateBuilderOptions;
@@ -0,0 +1,2 @@
1
+ import type { AppNormalizedConfig, Bundler, IAppContext } from '../../types';
2
+ export declare function createBuilderProviderConfig<B extends Bundler>(resolveConfig: AppNormalizedConfig<B>, appContext: IAppContext, modifyBuilderConfig?: (config: AppNormalizedConfig<B>) => void): AppNormalizedConfig<B>;
@@ -0,0 +1,3 @@
1
+ import type { BuilderTarget } from '@modern-js/builder-shared';
2
+ import type { AppNormalizedConfig } from '../../types';
3
+ export declare function getBuilderTargets(normalizedConfig: AppNormalizedConfig<'shared'>): BuilderTarget[];
@@ -0,0 +1,17 @@
1
+ import type { BuilderProvider, BuilderInstance } from '@modern-js/builder-shared';
2
+ import { BuilderOptions, ModifyBuilderConfig, ModifyBuilderInstance } from '../shared';
3
+ import { Bundler } from '../../types';
4
+ export type GenerateProvider = (c: {
5
+ builderConfig: any;
6
+ }) => BuilderProvider;
7
+ /**
8
+ * @param options BuilderOptions
9
+ * @param generateProvider GenerateProvider
10
+ * @param utils - ModifyBuilderConfig, ModifyBuilderInstance
11
+ * @returns BuilderInstance
12
+ */
13
+
14
+ export declare function generateBuilder<B extends Bundler>(options: BuilderOptions<B>, generateProvider: GenerateProvider, utils?: {
15
+ modifyBuilderConfig?: ModifyBuilderConfig<B>;
16
+ modifyBuilderInstance?: ModifyBuilderInstance;
17
+ }): Promise<BuilderInstance<BuilderProvider<Record<string, any>, Record<string, any>, Record<string, any>, Record<string, any>>>>;