@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,199 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _asyncToGenerator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ var __generator = this && this.__generator || function(thisArg, body) {
31
+ var f, y, t, g, _ = {
32
+ label: 0,
33
+ sent: function() {
34
+ if (t[0] & 1) throw t[1];
35
+ return t[1];
36
+ },
37
+ trys: [],
38
+ ops: []
39
+ };
40
+ return(g = {
41
+ next: verb(0),
42
+ "throw": verb(1),
43
+ "return": verb(2)
44
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
+ return this;
46
+ }), g);
47
+ function verb(n) {
48
+ return function(v) {
49
+ return step([
50
+ n,
51
+ v
52
+ ]);
53
+ };
54
+ }
55
+ function step(op) {
56
+ if (f) throw new TypeError("Generator is already executing.");
57
+ while(_)try {
58
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
59
+ if (y = 0, t) op = [
60
+ op[0] & 2,
61
+ t.value
62
+ ];
63
+ switch(op[0]){
64
+ case 0:
65
+ case 1:
66
+ t = op;
67
+ break;
68
+ case 4:
69
+ _.label++;
70
+ return {
71
+ value: op[1],
72
+ done: false
73
+ };
74
+ case 5:
75
+ _.label++;
76
+ y = op[1];
77
+ op = [
78
+ 0
79
+ ];
80
+ continue;
81
+ case 7:
82
+ op = _.ops.pop();
83
+ _.trys.pop();
84
+ continue;
85
+ default:
86
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
+ _ = 0;
88
+ continue;
89
+ }
90
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
+ _.label = op[1];
92
+ break;
93
+ }
94
+ if (op[0] === 6 && _.label < t[1]) {
95
+ _.label = t[1];
96
+ t = op;
97
+ break;
98
+ }
99
+ if (t && _.label < t[2]) {
100
+ _.label = t[2];
101
+ _.ops.push(op);
102
+ break;
103
+ }
104
+ if (t[2]) _.ops.pop();
105
+ _.trys.pop();
106
+ continue;
107
+ }
108
+ op = body.call(thisArg, _);
109
+ } catch (e) {
110
+ op = [
111
+ 6,
112
+ e
113
+ ];
114
+ y = 0;
115
+ } finally{
116
+ f = t = 0;
117
+ }
118
+ if (op[0] & 5) throw op[1];
119
+ return {
120
+ value: op[0] ? op[1] : void 0,
121
+ done: true
122
+ };
123
+ }
124
+ };
125
+ import { logger, chalk, isApiOnly } from "@modern-js/utils";
126
+ import server from "@modern-js/prod-server";
127
+ import { printInstructions } from "../utils/printInstructions";
128
+ import { injectDataLoaderPlugin } from "../utils/createServer";
129
+ import { getServerInternalPlugins } from "../utils/getServerInternalPlugins";
130
+ var start = function() {
131
+ var _ref = _asyncToGenerator(function(api) {
132
+ var _userConfig_source, appContext, userConfig, hookRunners, appDirectory, port, serverConfigFile, apiOnly, serverInternalPlugins, app;
133
+ return __generator(this, function(_state) {
134
+ switch(_state.label){
135
+ case 0:
136
+ appContext = api.useAppContext();
137
+ userConfig = api.useResolvedConfigContext();
138
+ hookRunners = api.useHookRunners();
139
+ appDirectory = appContext.appDirectory, port = appContext.port, serverConfigFile = appContext.serverConfigFile;
140
+ logger.log(chalk.cyan("Starting the modern server..."));
141
+ return [
142
+ 4,
143
+ isApiOnly(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.entriesDir)
144
+ ];
145
+ case 1:
146
+ apiOnly = _state.sent();
147
+ return [
148
+ 4,
149
+ getServerInternalPlugins(api)
150
+ ];
151
+ case 2:
152
+ serverInternalPlugins = _state.sent();
153
+ return [
154
+ 4,
155
+ server({
156
+ pwd: appDirectory,
157
+ config: userConfig,
158
+ serverConfigFile: serverConfigFile,
159
+ internalPlugins: injectDataLoaderPlugin(serverInternalPlugins),
160
+ apiOnly: apiOnly
161
+ })
162
+ ];
163
+ case 3:
164
+ app = _state.sent();
165
+ app.listen(port, function() {
166
+ var _ref = _asyncToGenerator(function(err) {
167
+ return __generator(this, function(_state) {
168
+ switch(_state.label){
169
+ case 0:
170
+ if (err) {
171
+ throw err;
172
+ }
173
+ return [
174
+ 4,
175
+ printInstructions(hookRunners, appContext, userConfig)
176
+ ];
177
+ case 1:
178
+ _state.sent();
179
+ return [
180
+ 2
181
+ ];
182
+ }
183
+ });
184
+ });
185
+ return function(err) {
186
+ return _ref.apply(this, arguments);
187
+ };
188
+ }());
189
+ return [
190
+ 2
191
+ ];
192
+ }
193
+ });
194
+ });
195
+ return function start(api) {
196
+ return _ref.apply(this, arguments);
197
+ };
198
+ }();
199
+ export { start };
@@ -0,0 +1,210 @@
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _objectSpread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _defineProperty(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _objectSpreadProps(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ import { createDefaultConfig as createDefaultBuilderConfig } from "@modern-js/builder-webpack-provider";
54
+ function createDefaultConfig(appContext, bundler) {
55
+ var defaultBuilderConfig = createDefaultBuilderConfig();
56
+ var dev = _objectSpreadProps(_objectSpread({}, defaultBuilderConfig.dev), {
57
+ port: void 0
58
+ });
59
+ var output = _objectSpreadProps(_objectSpread({}, defaultBuilderConfig.output), {
60
+ disableNodePolyfill: true
61
+ });
62
+ var _obj;
63
+ var source = _objectSpreadProps(_objectSpread({}, defaultBuilderConfig.source), {
64
+ entries: void 0,
65
+ enableAsyncEntry: false,
66
+ disableDefaultEntries: false,
67
+ entriesDir: "./src",
68
+ configDir: "./config",
69
+ alias: (_obj = {}, _defineProperty(_obj, appContext.internalDirAlias, appContext.internalDirectory), _defineProperty(_obj, appContext.internalSrcAlias, appContext.srcDirectory), _defineProperty(_obj, "@", appContext.srcDirectory), _defineProperty(_obj, "@shared", appContext.sharedDirectory), _obj)
70
+ });
71
+ var html = _objectSpreadProps(_objectSpread({}, defaultBuilderConfig.html), {
72
+ title: "",
73
+ meta: {
74
+ charset: {
75
+ charset: "utf-8"
76
+ },
77
+ viewport: "width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no",
78
+ "http-equiv": {
79
+ "http-equiv": "x-ua-compatible",
80
+ content: "ie=edge"
81
+ },
82
+ renderer: "webkit",
83
+ layoutmode: "standard",
84
+ imagemode: "force",
85
+ "wap-font-scale": "no",
86
+ "format-detection": "telephone=no"
87
+ }
88
+ });
89
+ var server = {
90
+ routes: void 0,
91
+ publicRoutes: void 0,
92
+ ssr: void 0,
93
+ ssrByEntries: void 0,
94
+ baseUrl: "/",
95
+ port: 8080
96
+ };
97
+ var tools = bundler === "webpack" ? _objectSpread({}, defaultBuilderConfig.tools) : void 0;
98
+ return {
99
+ source: source,
100
+ output: output,
101
+ server: server,
102
+ dev: dev,
103
+ html: html,
104
+ tools: tools,
105
+ plugins: [],
106
+ builderPlugins: [],
107
+ runtime: {},
108
+ runtimeByEntries: {}
109
+ };
110
+ }
111
+ function createLegacyDefaultConfig(appContext) {
112
+ var _obj;
113
+ var defaultAlias = appContext ? (_obj = {}, _defineProperty(_obj, appContext.internalDirAlias, appContext.internalDirectory), _defineProperty(_obj, appContext.internalSrcAlias, appContext.srcDirectory), _defineProperty(_obj, "@", appContext.srcDirectory), _defineProperty(_obj, "@shared", appContext.sharedDirectory), _obj) : {};
114
+ var sourceDefaults = {
115
+ entries: void 0,
116
+ enableAsyncEntry: false,
117
+ disableDefaultEntries: false,
118
+ entriesDir: "./src",
119
+ configDir: "./config",
120
+ apiDir: "./api",
121
+ envVars: [],
122
+ globalVars: void 0,
123
+ alias: defaultAlias,
124
+ moduleScopes: void 0,
125
+ include: []
126
+ };
127
+ var outputDefaults = {
128
+ assetPrefix: "/",
129
+ htmlPath: "html",
130
+ jsPath: "static/js",
131
+ cssPath: "static/css",
132
+ mediaPath: "static/media",
133
+ path: "dist",
134
+ title: "",
135
+ titleByEntries: void 0,
136
+ meta: {
137
+ charset: {
138
+ charset: "utf-8"
139
+ },
140
+ viewport: "width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no",
141
+ "http-equiv": {
142
+ "http-equiv": "x-ua-compatible",
143
+ content: "ie=edge"
144
+ },
145
+ renderer: "webkit",
146
+ layoutmode: "standard",
147
+ imagemode: "force",
148
+ "wap-font-scale": "no",
149
+ "format-detection": "telephone=no"
150
+ },
151
+ metaByEntries: void 0,
152
+ inject: "head",
153
+ injectByEntries: void 0,
154
+ mountId: "root",
155
+ favicon: "",
156
+ faviconByEntries: void 0,
157
+ copy: void 0,
158
+ disableHtmlFolder: false,
159
+ disableCssModuleExtension: false,
160
+ disableCssExtract: false,
161
+ enableCssModuleTSDeclaration: false,
162
+ disableMinimize: false,
163
+ enableInlineStyles: false,
164
+ enableInlineScripts: false,
165
+ disableSourceMap: false,
166
+ disableInlineRuntimeChunk: false,
167
+ disableAssetsCache: false,
168
+ enableLatestDecorators: false,
169
+ polyfill: "entry",
170
+ dataUriLimit: 1e4,
171
+ templateParameters: {},
172
+ templateParametersByEntries: void 0,
173
+ cssModuleLocalIdentName: void 0,
174
+ disableNodePolyfill: false,
175
+ enableTsLoader: false
176
+ };
177
+ var serverDefaults = {
178
+ routes: void 0,
179
+ publicRoutes: void 0,
180
+ ssr: void 0,
181
+ ssrByEntries: void 0,
182
+ baseUrl: "/",
183
+ port: 8080
184
+ };
185
+ var devDefaults = {
186
+ assetPrefix: false,
187
+ https: false
188
+ };
189
+ var toolsDefaults = {
190
+ webpack: void 0,
191
+ babel: void 0,
192
+ postcss: void 0,
193
+ autoprefixer: void 0,
194
+ lodash: void 0,
195
+ devServer: void 0,
196
+ tsLoader: void 0,
197
+ terser: void 0,
198
+ minifyCss: void 0
199
+ };
200
+ return {
201
+ source: sourceDefaults,
202
+ output: outputDefaults,
203
+ server: serverDefaults,
204
+ dev: devDefaults,
205
+ tools: toolsDefaults,
206
+ runtime: {},
207
+ runtimeByEntries: {}
208
+ };
209
+ }
210
+ export { createDefaultConfig, createLegacyDefaultConfig };
@@ -0,0 +1,3 @@
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 };
@@ -0,0 +1,211 @@
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 _defineProperty(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
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
+ function _objectSpread(target) {
29
+ for(var i = 1; i < arguments.length; i++){
30
+ var source = arguments[i] != null ? arguments[i] : {};
31
+ var ownKeys = Object.keys(source);
32
+ if (typeof Object.getOwnPropertySymbols === "function") {
33
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
34
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
35
+ }));
36
+ }
37
+ ownKeys.forEach(function(key) {
38
+ _defineProperty(target, key, source[key]);
39
+ });
40
+ }
41
+ return target;
42
+ }
43
+ function ownKeys(object, enumerableOnly) {
44
+ var keys = Object.keys(object);
45
+ if (Object.getOwnPropertySymbols) {
46
+ var symbols = Object.getOwnPropertySymbols(object);
47
+ if (enumerableOnly) {
48
+ symbols = symbols.filter(function(sym) {
49
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
50
+ });
51
+ }
52
+ keys.push.apply(keys, symbols);
53
+ }
54
+ return keys;
55
+ }
56
+ function _objectSpreadProps(target, source) {
57
+ source = source != null ? source : {};
58
+ if (Object.getOwnPropertyDescriptors) {
59
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
60
+ } else {
61
+ ownKeys(Object(source)).forEach(function(key) {
62
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
63
+ });
64
+ }
65
+ return target;
66
+ }
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 path, { dirname, isAbsolute, posix, sep } from "path";
79
+ import { applyOptionsChain, findExists, findMonorepoRoot, globby, isModernjsMonorepo } from "@modern-js/utils";
80
+ import { getAutoInjectEnv } from "../../utils/env";
81
+ function initHtmlConfig(config, appContext) {
82
+ var createBuilderAppIcon = function createBuilderAppIcon(config2, appContext2) {
83
+ var configDir = config2.source.configDir;
84
+ var appIcon = findExists(ICON_EXTENSIONS.map(function(ext) {
85
+ return path.resolve(appContext2.appDirectory, configDir || "./config", "icon.".concat(ext));
86
+ }));
87
+ return typeof appIcon === "string" ? appIcon : void 0;
88
+ };
89
+ var createBuilderFavicon = function createBuilderFavicon(config2, appContext2) {
90
+ var configDir = config2.source.configDir;
91
+ var favicon = config2.html.favicon;
92
+ var defaultFavicon = findExists(ICON_EXTENSIONS.map(function(ext) {
93
+ return path.resolve(appContext2.appDirectory, configDir || "./config", "favicon.".concat(ext));
94
+ }));
95
+ return favicon || defaultFavicon || void 0;
96
+ };
97
+ var ICON_EXTENSIONS = [
98
+ "png",
99
+ "jpg",
100
+ "jpeg",
101
+ "svg",
102
+ "ico"
103
+ ];
104
+ config.html.appIcon = createBuilderAppIcon(config, appContext);
105
+ config.html.favicon = createBuilderFavicon(config, appContext);
106
+ return config.html;
107
+ }
108
+ function initSourceConfig(config, appContext, bundler) {
109
+ var createBuilderGlobalVars = function createBuilderGlobalVars(config2, appContext2) {
110
+ var _config2_source = config2.source, _config2_source_globalVars = _config2_source.globalVars, globalVars = _config2_source_globalVars === void 0 ? {} : _config2_source_globalVars;
111
+ var publicEnv = getAutoInjectEnv(appContext2);
112
+ return _objectSpread({}, globalVars, publicEnv);
113
+ };
114
+ var createBuilderInclude = function createBuilderInclude(config2, appContext2) {
115
+ var include = config2.source.include;
116
+ var defaultInclude = [
117
+ appContext2.internalDirectory
118
+ ];
119
+ var transformInclude = (include || []).map(function(include2) {
120
+ if (typeof include2 === "string") {
121
+ if (isAbsolute(include2)) {
122
+ return include2;
123
+ }
124
+ return new RegExp(include2);
125
+ }
126
+ return include2;
127
+ }).concat(defaultInclude);
128
+ var root = findMonorepoRoot(appContext2.appDirectory);
129
+ if (!root) {
130
+ return transformInclude;
131
+ }
132
+ var modernjsMonorepo = isModernjsMonorepo(root);
133
+ if (modernjsMonorepo) {
134
+ var paths = globby.sync(posix.join(root, "features", "**", "package.json"), {
135
+ ignore: [
136
+ "**/node_modules/**/*"
137
+ ]
138
+ }).map(function(pathname) {
139
+ return dirname(pathname) + sep;
140
+ });
141
+ return _toConsumableArray(paths).concat(_toConsumableArray(transformInclude));
142
+ }
143
+ return transformInclude;
144
+ };
145
+ var createBuilderModuleScope = function createBuilderModuleScope(config2) {
146
+ var moduleScopes = config2.source.moduleScopes;
147
+ if (moduleScopes) {
148
+ var builderModuleScope = [];
149
+ var DEFAULT_SCOPES = [
150
+ "./src",
151
+ "./shared",
152
+ /node_modules/
153
+ ];
154
+ if (Array.isArray(moduleScopes)) {
155
+ if (isPrimitiveScope(moduleScopes)) {
156
+ builderModuleScope = DEFAULT_SCOPES.concat(moduleScopes);
157
+ } else {
158
+ builderModuleScope = [
159
+ DEFAULT_SCOPES
160
+ ].concat(_toConsumableArray(moduleScopes));
161
+ }
162
+ } else {
163
+ builderModuleScope = [
164
+ DEFAULT_SCOPES,
165
+ moduleScopes
166
+ ];
167
+ }
168
+ return builderModuleScope;
169
+ } else {
170
+ return void 0;
171
+ }
172
+ function isPrimitiveScope(items) {
173
+ return items.every(function(item) {
174
+ return typeof item === "string" || Object.prototype.toString.call(item) === "[object RegExp]";
175
+ });
176
+ }
177
+ };
178
+ config.source.include = createBuilderInclude(config, appContext);
179
+ config.source.globalVars = createBuilderGlobalVars(config, appContext);
180
+ if (bundler === "webpack") {
181
+ config.source.moduleScopes = createBuilderModuleScope(config);
182
+ }
183
+ }
184
+ function initToolsConfig(config) {
185
+ var defaultTsChecker = {
186
+ issue: {
187
+ include: [
188
+ {
189
+ file: "**/src/**/*"
190
+ }
191
+ ],
192
+ exclude: [
193
+ {
194
+ file: "**/*.(spec|test).ts"
195
+ },
196
+ {
197
+ file: "**/node_modules/**/*"
198
+ }
199
+ ]
200
+ }
201
+ };
202
+ var _config_tools = config.tools, tsChecker = _config_tools.tsChecker, tsLoader = _config_tools.tsLoader;
203
+ config.tools.tsChecker = applyOptionsChain(defaultTsChecker, tsChecker);
204
+ tsLoader && (config.tools.tsLoader = function(tsLoaderConfig, utils) {
205
+ applyOptionsChain(_objectSpreadProps(_objectSpread({}, tsLoaderConfig), {
206
+ transpileOnly: false,
207
+ allowTsInNodeModules: true
208
+ }), tsLoader || {}, utils);
209
+ });
210
+ }
211
+ export { initHtmlConfig, initSourceConfig, initToolsConfig };
@@ -0,0 +1,19 @@
1
+ function createHtmlConfig(config) {
2
+ var _config_output = config.output, disableHtmlFolder = _config_output.disableHtmlFolder, favicon = _config_output.favicon, faviconByEntries = _config_output.faviconByEntries, inject = _config_output.inject, injectByEntries = _config_output.injectByEntries, meta = _config_output.meta, metaByEntries = _config_output.metaByEntries, mountId = _config_output.mountId, title = _config_output.title, titleByEntries = _config_output.titleByEntries, templateParameters = _config_output.templateParameters, templateParametersByEntries = _config_output.templateParametersByEntries, crossorigin = _config_output.crossorigin;
3
+ return {
4
+ disableHtmlFolder: disableHtmlFolder,
5
+ favicon: favicon,
6
+ faviconByEntries: faviconByEntries,
7
+ inject: inject,
8
+ injectByEntries: injectByEntries,
9
+ meta: meta,
10
+ metaByEntries: metaByEntries,
11
+ mountId: mountId,
12
+ title: title,
13
+ titleByEntries: titleByEntries,
14
+ crossorigin: crossorigin,
15
+ templateParameters: templateParameters,
16
+ templateParametersByEntries: templateParametersByEntries
17
+ };
18
+ }
19
+ export { createHtmlConfig };