@modern-js/app-tools 2.69.5 → 3.0.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 (578) hide show
  1. package/bin/modern.js +2 -8
  2. package/dist/cjs/builder/builder-rspack/index.js +35 -27
  3. package/dist/cjs/builder/generator/adapterCopy.js +75 -46
  4. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +83 -81
  5. package/dist/cjs/builder/generator/createCopyPattern.js +59 -58
  6. package/dist/cjs/builder/generator/getBuilderEnvironments.js +80 -82
  7. package/dist/cjs/builder/generator/index.js +70 -85
  8. package/dist/cjs/builder/index.js +44 -47
  9. package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +106 -83
  10. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +79 -74
  11. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +131 -165
  12. package/dist/cjs/builder/shared/builderPlugins/builderHooks.js +47 -46
  13. package/dist/cjs/builder/shared/builderPlugins/index.js +76 -25
  14. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +66 -49
  15. package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +51 -50
  16. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +178 -317
  17. package/dist/cjs/builder/shared/bundlerPlugins/index.js +69 -23
  18. package/dist/cjs/builder/shared/createCopyInfo.js +54 -43
  19. package/dist/cjs/builder/shared/index.js +69 -23
  20. package/dist/cjs/builder/shared/loaders/serverModuleLoader.js +35 -23
  21. package/dist/cjs/builder/shared/types.js +17 -15
  22. package/dist/cjs/commands/build.js +107 -96
  23. package/dist/cjs/commands/deploy.js +40 -32
  24. package/dist/cjs/commands/dev.js +122 -141
  25. package/dist/cjs/commands/index.js +74 -121
  26. package/dist/cjs/commands/inspect.js +45 -39
  27. package/dist/cjs/commands/serve.js +87 -84
  28. package/dist/cjs/compat/hooks.js +97 -177
  29. package/dist/cjs/compat/index.js +57 -59
  30. package/dist/cjs/compat/utils.js +125 -116
  31. package/dist/cjs/config/default.js +118 -225
  32. package/dist/cjs/config/index.js +62 -23
  33. package/dist/cjs/config/initialize/index.js +37 -29
  34. package/dist/cjs/config/initialize/inits.js +92 -106
  35. package/dist/cjs/constants.js +37 -37
  36. package/dist/cjs/defineConfig.js +33 -35
  37. package/dist/cjs/esm/esbuild-loader.js +62 -0
  38. package/dist/cjs/esm/esbuild-loader.mjs +11 -23
  39. package/dist/cjs/esm/register-esm.js +85 -0
  40. package/dist/cjs/esm/register-esm.mjs +41 -54
  41. package/dist/cjs/esm/ts-node-loader.js +62 -0
  42. package/dist/cjs/esm/ts-node-loader.mjs +11 -23
  43. package/dist/cjs/esm/utils.js +69 -0
  44. package/dist/cjs/esm/utils.mjs +24 -36
  45. package/dist/cjs/exports/server.js +16 -26
  46. package/dist/cjs/index.js +288 -199
  47. package/dist/cjs/locale/en.js +70 -62
  48. package/dist/cjs/locale/index.js +42 -33
  49. package/dist/cjs/locale/zh.js +70 -62
  50. package/dist/cjs/plugins/analyze/constants.js +43 -36
  51. package/dist/cjs/plugins/analyze/getBundleEntry.js +90 -94
  52. package/dist/cjs/plugins/analyze/getFileSystemEntry.js +110 -137
  53. package/dist/cjs/plugins/analyze/getHtmlTemplate.js +125 -127
  54. package/dist/cjs/plugins/analyze/getServerRoutes.js +160 -164
  55. package/dist/cjs/plugins/analyze/index.js +221 -208
  56. package/dist/cjs/plugins/analyze/isDefaultExportFunction.js +81 -76
  57. package/dist/cjs/plugins/analyze/templates.js +36 -28
  58. package/dist/cjs/plugins/analyze/utils.js +109 -104
  59. package/dist/cjs/plugins/deploy/index.js +64 -56
  60. package/dist/cjs/plugins/deploy/platforms/gh-pages.js +82 -86
  61. package/dist/cjs/plugins/deploy/platforms/netlify-entry.js +35 -2
  62. package/dist/cjs/plugins/deploy/platforms/netlify-handler.js +86 -62
  63. package/dist/cjs/plugins/deploy/platforms/netlify.js +145 -157
  64. package/dist/cjs/plugins/deploy/platforms/node-entry.js +73 -45
  65. package/dist/cjs/plugins/deploy/platforms/node.js +113 -113
  66. package/dist/cjs/plugins/deploy/platforms/platform.js +17 -15
  67. package/dist/cjs/plugins/deploy/platforms/vercel-entry.js +36 -2
  68. package/dist/cjs/plugins/deploy/platforms/vercel-handler.js +87 -63
  69. package/dist/cjs/plugins/deploy/platforms/vercel.js +165 -169
  70. package/dist/cjs/plugins/deploy/utils.js +85 -85
  71. package/dist/cjs/plugins/initialize/index.js +86 -91
  72. package/dist/cjs/plugins/serverBuild.js +85 -78
  73. package/dist/cjs/plugins/serverRuntime.js +46 -34
  74. package/dist/cjs/run/index.js +86 -128
  75. package/dist/cjs/types/config/deploy.js +17 -15
  76. package/dist/cjs/types/config/dev.js +17 -15
  77. package/dist/cjs/types/config/experiments.js +17 -15
  78. package/dist/cjs/types/config/html.js +17 -15
  79. package/dist/cjs/types/config/index.js +55 -19
  80. package/dist/cjs/types/config/output.js +17 -15
  81. package/dist/cjs/types/config/performance.js +17 -15
  82. package/dist/cjs/types/config/resolve.js +17 -15
  83. package/dist/cjs/types/config/security.js +17 -15
  84. package/dist/cjs/types/config/source.js +17 -15
  85. package/dist/cjs/types/config/testing.js +17 -15
  86. package/dist/cjs/types/config/tools.js +17 -15
  87. package/dist/cjs/types/index.js +55 -23
  88. package/dist/cjs/types/plugin.js +18 -0
  89. package/dist/cjs/types/utils.js +17 -15
  90. package/dist/cjs/utils/config.js +40 -80
  91. package/dist/cjs/utils/createServer.js +46 -47
  92. package/dist/cjs/utils/env.js +41 -35
  93. package/dist/cjs/utils/generateWatchFiles.js +49 -60
  94. package/dist/cjs/utils/getConfigFile.js +46 -38
  95. package/dist/cjs/utils/getSelectedEntries.js +55 -53
  96. package/dist/cjs/utils/initAppContext.js +66 -59
  97. package/dist/cjs/utils/loadPlugins.js +77 -70
  98. package/dist/cjs/utils/printInstructions.js +39 -31
  99. package/dist/cjs/utils/register.js +108 -117
  100. package/dist/cjs/utils/restart.js +46 -41
  101. package/dist/cjs/utils/routes.js +60 -52
  102. package/dist/cjs/utils/types.js +17 -15
  103. package/dist/esm/builder/builder-rspack/index.mjs +6 -0
  104. package/dist/esm/builder/generator/adapterCopy.mjs +35 -0
  105. package/dist/esm/builder/generator/createBuilderProviderConfig.mjs +59 -0
  106. package/dist/esm/builder/generator/createCopyPattern.mjs +30 -0
  107. package/dist/esm/builder/generator/getBuilderEnvironments.mjs +56 -0
  108. package/dist/esm/builder/generator/index.mjs +45 -0
  109. package/dist/esm/builder/index.mjs +7 -0
  110. package/dist/esm/builder/shared/builderPlugins/adapterBasic.mjs +78 -0
  111. package/dist/esm/builder/shared/builderPlugins/adapterHtml.mjs +55 -0
  112. package/dist/esm/builder/shared/builderPlugins/adapterSSR.mjs +117 -0
  113. package/dist/esm/builder/shared/builderPlugins/builderHooks.mjs +17 -0
  114. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.mjs +37 -0
  115. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.mjs +22 -0
  116. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.mjs +157 -0
  117. package/dist/esm/builder/shared/createCopyInfo.mjs +15 -0
  118. package/dist/esm/builder/shared/loaders/serverModuleLoader.mjs +5 -0
  119. package/dist/esm/commands/build.mjs +68 -0
  120. package/dist/esm/commands/deploy.mjs +10 -0
  121. package/dist/esm/commands/dev.mjs +82 -0
  122. package/dist/esm/commands/index.mjs +37 -0
  123. package/dist/esm/commands/inspect.mjs +15 -0
  124. package/dist/esm/commands/serve.mjs +47 -0
  125. package/dist/esm/compat/hooks.mjs +67 -0
  126. package/dist/esm/compat/index.mjs +28 -0
  127. package/dist/esm/compat/utils.mjs +95 -0
  128. package/dist/esm/config/default.mjs +90 -0
  129. package/dist/{esm-node/config/index.js → esm/config/index.mjs} +0 -1
  130. package/dist/esm/config/initialize/index.mjs +7 -0
  131. package/dist/esm/config/initialize/inits.mjs +54 -0
  132. package/dist/esm/constants.mjs +3 -0
  133. package/dist/esm/defineConfig.mjs +2 -0
  134. package/dist/esm/esm/esbuild-loader.mjs +18 -29
  135. package/dist/esm/esm/register-esm.mjs +45 -57
  136. package/dist/esm/esm/ts-node-loader.mjs +18 -30
  137. package/dist/esm/esm/utils.mjs +31 -42
  138. package/dist/esm/index.mjs +121 -0
  139. package/dist/esm/locale/en.mjs +42 -0
  140. package/dist/esm/locale/index.mjs +9 -0
  141. package/dist/esm/locale/zh.mjs +42 -0
  142. package/dist/esm/plugins/analyze/constants.mjs +8 -0
  143. package/dist/esm/plugins/analyze/getBundleEntry.mjs +53 -0
  144. package/dist/esm/plugins/analyze/getFileSystemEntry.mjs +66 -0
  145. package/dist/esm/plugins/analyze/getHtmlTemplate.mjs +85 -0
  146. package/dist/esm/plugins/analyze/getServerRoutes.mjs +130 -0
  147. package/dist/esm/plugins/analyze/index.mjs +193 -0
  148. package/dist/esm/plugins/analyze/isDefaultExportFunction.mjs +41 -0
  149. package/dist/esm/plugins/analyze/templates.mjs +22 -0
  150. package/dist/esm/plugins/analyze/utils.mjs +55 -0
  151. package/dist/esm/plugins/deploy/index.mjs +38 -0
  152. package/dist/esm/plugins/deploy/platforms/gh-pages.mjs +43 -0
  153. package/dist/esm/plugins/deploy/platforms/netlify-entry.mjs +2 -1
  154. package/dist/esm/plugins/deploy/platforms/netlify-handler.mjs +85 -0
  155. package/dist/esm/plugins/deploy/platforms/netlify.mjs +111 -0
  156. package/dist/esm/plugins/deploy/platforms/node-entry.mjs +68 -0
  157. package/dist/esm/plugins/deploy/platforms/node.mjs +77 -0
  158. package/dist/esm/plugins/deploy/platforms/vercel-entry.mjs +3 -3
  159. package/dist/esm/plugins/deploy/platforms/vercel-handler.mjs +85 -0
  160. package/dist/esm/plugins/deploy/platforms/vercel.mjs +131 -0
  161. package/dist/esm/plugins/deploy/utils.mjs +39 -0
  162. package/dist/esm/plugins/initialize/index.mjs +59 -0
  163. package/dist/esm/plugins/serverBuild.mjs +48 -0
  164. package/dist/esm/plugins/serverRuntime.mjs +15 -0
  165. package/dist/esm/run/index.mjs +60 -0
  166. package/dist/esm/types/index.mjs +1 -0
  167. package/dist/esm/utils/config.mjs +11 -0
  168. package/dist/esm/utils/createServer.mjs +12 -0
  169. package/dist/esm/utils/env.mjs +12 -0
  170. package/dist/esm/utils/generateWatchFiles.mjs +10 -0
  171. package/dist/esm/utils/getConfigFile.mjs +5 -0
  172. package/dist/esm/utils/getSelectedEntries.mjs +26 -0
  173. package/dist/esm/utils/initAppContext.mjs +26 -0
  174. package/dist/esm/utils/loadPlugins.mjs +45 -0
  175. package/dist/esm/utils/printInstructions.mjs +9 -0
  176. package/dist/esm/utils/register.mjs +75 -0
  177. package/dist/esm/utils/restart.mjs +18 -0
  178. package/dist/esm/utils/routes.mjs +15 -0
  179. package/dist/esm-node/builder/builder-rspack/index.mjs +6 -0
  180. package/dist/esm-node/builder/generator/adapterCopy.mjs +35 -0
  181. package/dist/esm-node/builder/generator/createBuilderProviderConfig.mjs +59 -0
  182. package/dist/esm-node/builder/generator/createCopyPattern.mjs +30 -0
  183. package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +56 -0
  184. package/dist/esm-node/builder/generator/index.mjs +45 -0
  185. package/dist/esm-node/builder/index.mjs +7 -0
  186. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.mjs +78 -0
  187. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.mjs +55 -0
  188. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.mjs +117 -0
  189. package/dist/esm-node/builder/shared/builderPlugins/builderHooks.mjs +17 -0
  190. package/dist/esm-node/builder/shared/builderPlugins/index.mjs +4 -0
  191. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.mjs +37 -0
  192. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.mjs +22 -0
  193. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.mjs +157 -0
  194. package/dist/esm-node/builder/shared/bundlerPlugins/index.mjs +3 -0
  195. package/dist/esm-node/builder/shared/createCopyInfo.mjs +15 -0
  196. package/dist/esm-node/builder/shared/index.mjs +3 -0
  197. package/dist/esm-node/builder/shared/loaders/serverModuleLoader.mjs +5 -0
  198. package/dist/esm-node/commands/build.mjs +68 -0
  199. package/dist/esm-node/commands/deploy.mjs +10 -0
  200. package/dist/esm-node/commands/dev.mjs +82 -0
  201. package/dist/esm-node/commands/index.mjs +37 -0
  202. package/dist/esm-node/commands/inspect.mjs +15 -0
  203. package/dist/esm-node/commands/serve.mjs +47 -0
  204. package/dist/esm-node/compat/hooks.mjs +67 -0
  205. package/dist/esm-node/compat/index.mjs +28 -0
  206. package/dist/esm-node/compat/utils.mjs +95 -0
  207. package/dist/esm-node/config/default.mjs +90 -0
  208. package/dist/esm-node/config/index.mjs +2 -0
  209. package/dist/esm-node/config/initialize/index.mjs +7 -0
  210. package/dist/esm-node/config/initialize/inits.mjs +54 -0
  211. package/dist/esm-node/constants.mjs +3 -0
  212. package/dist/esm-node/defineConfig.mjs +2 -0
  213. package/dist/esm-node/esm/esbuild-loader.mjs +18 -29
  214. package/dist/esm-node/esm/register-esm.mjs +45 -57
  215. package/dist/esm-node/esm/ts-node-loader.mjs +18 -30
  216. package/dist/esm-node/esm/utils.mjs +31 -42
  217. package/dist/esm-node/index.mjs +121 -0
  218. package/dist/esm-node/locale/en.mjs +42 -0
  219. package/dist/esm-node/locale/index.mjs +9 -0
  220. package/dist/esm-node/locale/zh.mjs +42 -0
  221. package/dist/esm-node/plugins/analyze/constants.mjs +8 -0
  222. package/dist/esm-node/plugins/analyze/getBundleEntry.mjs +53 -0
  223. package/dist/esm-node/plugins/analyze/getFileSystemEntry.mjs +66 -0
  224. package/dist/esm-node/plugins/analyze/getHtmlTemplate.mjs +85 -0
  225. package/dist/esm-node/plugins/analyze/getServerRoutes.mjs +130 -0
  226. package/dist/esm-node/plugins/analyze/index.mjs +193 -0
  227. package/dist/esm-node/plugins/analyze/isDefaultExportFunction.mjs +41 -0
  228. package/dist/esm-node/plugins/analyze/{templates.js → templates.mjs} +5 -7
  229. package/dist/esm-node/plugins/analyze/utils.mjs +55 -0
  230. package/dist/esm-node/plugins/deploy/index.mjs +38 -0
  231. package/dist/esm-node/plugins/deploy/platforms/gh-pages.mjs +43 -0
  232. package/dist/esm-node/plugins/deploy/platforms/netlify-entry.mjs +2 -1
  233. package/dist/esm-node/plugins/deploy/platforms/netlify-handler.mjs +85 -0
  234. package/dist/esm-node/plugins/deploy/platforms/netlify.mjs +111 -0
  235. package/dist/esm-node/plugins/deploy/platforms/node-entry.mjs +68 -0
  236. package/dist/esm-node/plugins/deploy/platforms/node.mjs +77 -0
  237. package/dist/esm-node/plugins/deploy/platforms/vercel-entry.mjs +3 -3
  238. package/dist/esm-node/plugins/deploy/platforms/vercel-handler.mjs +85 -0
  239. package/dist/esm-node/plugins/deploy/platforms/vercel.mjs +131 -0
  240. package/dist/esm-node/plugins/deploy/utils.mjs +39 -0
  241. package/dist/esm-node/plugins/initialize/index.mjs +59 -0
  242. package/dist/esm-node/plugins/serverBuild.mjs +48 -0
  243. package/dist/esm-node/plugins/serverRuntime.mjs +15 -0
  244. package/dist/esm-node/run/index.mjs +60 -0
  245. package/dist/esm-node/types/config/index.mjs +1 -0
  246. package/dist/esm-node/types/index.mjs +1 -0
  247. package/dist/esm-node/utils/config.mjs +11 -0
  248. package/dist/esm-node/utils/createServer.mjs +12 -0
  249. package/dist/esm-node/utils/env.mjs +12 -0
  250. package/dist/esm-node/utils/generateWatchFiles.mjs +10 -0
  251. package/dist/esm-node/utils/getConfigFile.mjs +5 -0
  252. package/dist/esm-node/utils/getSelectedEntries.mjs +26 -0
  253. package/dist/esm-node/utils/initAppContext.mjs +26 -0
  254. package/dist/esm-node/utils/loadPlugins.mjs +45 -0
  255. package/dist/esm-node/utils/printInstructions.mjs +9 -0
  256. package/dist/esm-node/utils/register.mjs +75 -0
  257. package/dist/esm-node/utils/restart.mjs +18 -0
  258. package/dist/esm-node/utils/routes.mjs +15 -0
  259. package/dist/types/builder/builder-rspack/index.d.ts +1 -1
  260. package/dist/types/builder/generator/adapterCopy.d.ts +2 -3
  261. package/dist/types/builder/generator/createBuilderProviderConfig.d.ts +3 -3
  262. package/dist/types/builder/generator/createCopyPattern.d.ts +5 -5
  263. package/dist/types/builder/generator/getBuilderEnvironments.d.ts +4 -4
  264. package/dist/types/builder/generator/index.d.ts +2 -3
  265. package/dist/types/builder/index.d.ts +2 -2
  266. package/dist/types/builder/shared/builderPlugins/adapterBasic.d.ts +1 -2
  267. package/dist/types/builder/shared/builderPlugins/adapterHtml.d.ts +1 -2
  268. package/dist/types/builder/shared/builderPlugins/adapterSSR.d.ts +1 -2
  269. package/dist/types/builder/shared/builderPlugins/builderHooks.d.ts +1 -2
  270. package/dist/types/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.d.ts +4 -4
  271. package/dist/types/builder/shared/bundlerPlugins/HtmlBottomTemplate.d.ts +4 -4
  272. package/dist/types/builder/shared/bundlerPlugins/RouterPlugin.d.ts +3 -5
  273. package/dist/types/builder/shared/createCopyInfo.d.ts +4 -3
  274. package/dist/types/builder/shared/loaders/serverModuleLoader.d.ts +2 -2
  275. package/dist/types/builder/shared/types.d.ts +5 -5
  276. package/dist/types/commands/build.d.ts +2 -2
  277. package/dist/types/commands/deploy.d.ts +2 -2
  278. package/dist/types/commands/dev.d.ts +2 -2
  279. package/dist/types/commands/index.d.ts +7 -9
  280. package/dist/types/commands/inspect.d.ts +2 -2
  281. package/dist/types/commands/serve.d.ts +2 -2
  282. package/dist/types/compat/hooks.d.ts +2 -2
  283. package/dist/types/compat/index.d.ts +2 -2
  284. package/dist/types/config/default.d.ts +3 -4
  285. package/dist/types/config/index.d.ts +0 -1
  286. package/dist/types/config/initialize/index.d.ts +2 -2
  287. package/dist/types/config/initialize/inits.d.ts +3 -4
  288. package/dist/types/constants.d.ts +0 -3
  289. package/dist/types/defineConfig.d.ts +7 -8
  290. package/dist/types/exports/server.d.ts +1 -5
  291. package/dist/types/index.d.ts +4 -5
  292. package/dist/types/locale/index.d.ts +1 -1
  293. package/dist/types/plugins/analyze/constants.d.ts +0 -1
  294. package/dist/types/plugins/analyze/getBundleEntry.d.ts +2 -2
  295. package/dist/types/plugins/analyze/getFileSystemEntry.d.ts +2 -2
  296. package/dist/types/plugins/analyze/getHtmlTemplate.d.ts +4 -4
  297. package/dist/types/plugins/analyze/getServerRoutes.d.ts +3 -3
  298. package/dist/types/plugins/analyze/index.d.ts +2 -4
  299. package/dist/types/plugins/deploy/index.d.ts +2 -2
  300. package/dist/types/plugins/deploy/platforms/platform.d.ts +2 -2
  301. package/dist/types/plugins/deploy/utils.d.ts +2 -2
  302. package/dist/types/plugins/initialize/index.d.ts +2 -4
  303. package/dist/types/plugins/serverBuild.d.ts +2 -2
  304. package/dist/types/plugins/serverRuntime.d.ts +2 -2
  305. package/dist/types/run/index.d.ts +3 -8
  306. package/dist/types/types/config/deploy.d.ts +0 -1
  307. package/dist/types/types/config/dev.d.ts +50 -9
  308. package/dist/types/types/config/experiments.d.ts +2 -2
  309. package/dist/types/types/config/html.d.ts +2 -2
  310. package/dist/types/types/config/index.d.ts +10 -14
  311. package/dist/types/types/config/output.d.ts +8 -8
  312. package/dist/types/types/config/performance.d.ts +2 -2
  313. package/dist/types/types/config/resolve.d.ts +2 -2
  314. package/dist/types/types/config/security.d.ts +2 -2
  315. package/dist/types/types/config/source.d.ts +2 -23
  316. package/dist/types/types/config/tools.d.ts +5 -22
  317. package/dist/types/types/index.d.ts +7 -34
  318. package/dist/types/types/{new.d.ts → plugin.d.ts} +10 -39
  319. package/dist/types/types/utils.d.ts +0 -6
  320. package/dist/types/utils/config.d.ts +1 -11
  321. package/dist/types/utils/createServer.d.ts +1 -3
  322. package/dist/types/utils/env.d.ts +2 -2
  323. package/dist/types/utils/generateWatchFiles.d.ts +2 -3
  324. package/dist/types/utils/initAppContext.d.ts +1 -3
  325. package/dist/types/utils/loadPlugins.d.ts +5 -5
  326. package/dist/types/utils/printInstructions.d.ts +2 -2
  327. package/dist/types/utils/restart.d.ts +2 -2
  328. package/dist/types/utils/routes.d.ts +2 -3
  329. package/lib/types.d.ts +5 -16
  330. package/package.json +51 -38
  331. package/rslib.config.mts +20 -0
  332. package/dist/cjs/builder/builder-webpack/index.js +0 -50
  333. package/dist/cjs/config/legacy/createHtmlConfig.js +0 -45
  334. package/dist/cjs/config/legacy/createOutputConfig.js +0 -69
  335. package/dist/cjs/config/legacy/createSourceConfig.js +0 -53
  336. package/dist/cjs/config/legacy/createToolsConfig.js +0 -52
  337. package/dist/cjs/config/legacy/index.js +0 -68
  338. package/dist/cjs/plugins/deploy/platforms/netlify-entry.mjs +0 -1
  339. package/dist/cjs/plugins/deploy/platforms/vercel-entry.mjs +0 -3
  340. package/dist/cjs/types/hooks.js +0 -16
  341. package/dist/cjs/types/legacyConfig/deploy.js +0 -16
  342. package/dist/cjs/types/legacyConfig/dev.js +0 -16
  343. package/dist/cjs/types/legacyConfig/index.js +0 -16
  344. package/dist/cjs/types/legacyConfig/output.js +0 -16
  345. package/dist/cjs/types/legacyConfig/source.js +0 -16
  346. package/dist/cjs/types/legacyConfig/testing.js +0 -16
  347. package/dist/cjs/types/legacyConfig/tools.js +0 -16
  348. package/dist/cjs/types/new.js +0 -16
  349. package/dist/cjs/utils/getUserConfig.js +0 -34
  350. package/dist/esm/builder/builder-rspack/index.js +0 -30
  351. package/dist/esm/builder/builder-webpack/index.js +0 -48
  352. package/dist/esm/builder/generator/adapterCopy.js +0 -29
  353. package/dist/esm/builder/generator/createBuilderProviderConfig.js +0 -56
  354. package/dist/esm/builder/generator/createCopyPattern.js +0 -43
  355. package/dist/esm/builder/generator/getBuilderEnvironments.js +0 -89
  356. package/dist/esm/builder/generator/index.js +0 -116
  357. package/dist/esm/builder/index.js +0 -50
  358. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +0 -92
  359. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +0 -126
  360. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +0 -262
  361. package/dist/esm/builder/shared/builderPlugins/builderHooks.js +0 -120
  362. package/dist/esm/builder/shared/builderPlugins/index.js +0 -4
  363. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -51
  364. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -37
  365. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +0 -420
  366. package/dist/esm/builder/shared/bundlerPlugins/index.js +0 -3
  367. package/dist/esm/builder/shared/createCopyInfo.js +0 -14
  368. package/dist/esm/builder/shared/index.js +0 -3
  369. package/dist/esm/builder/shared/loaders/serverModuleLoader.js +0 -7
  370. package/dist/esm/commands/build.js +0 -142
  371. package/dist/esm/commands/deploy.js +0 -48
  372. package/dist/esm/commands/dev.js +0 -197
  373. package/dist/esm/commands/index.js +0 -401
  374. package/dist/esm/commands/inspect.js +0 -31
  375. package/dist/esm/commands/serve.js +0 -96
  376. package/dist/esm/compat/hooks.js +0 -503
  377. package/dist/esm/compat/index.js +0 -45
  378. package/dist/esm/compat/utils.js +0 -100
  379. package/dist/esm/config/default.js +0 -205
  380. package/dist/esm/config/index.js +0 -3
  381. package/dist/esm/config/initialize/index.js +0 -9
  382. package/dist/esm/config/initialize/inits.js +0 -89
  383. package/dist/esm/config/legacy/createHtmlConfig.js +0 -21
  384. package/dist/esm/config/legacy/createOutputConfig.js +0 -45
  385. package/dist/esm/config/legacy/createSourceConfig.js +0 -46
  386. package/dist/esm/config/legacy/createToolsConfig.js +0 -28
  387. package/dist/esm/config/legacy/index.js +0 -43
  388. package/dist/esm/constants.js +0 -12
  389. package/dist/esm/defineConfig.js +0 -16
  390. package/dist/esm/exports/server.js +0 -4
  391. package/dist/esm/index.js +0 -265
  392. package/dist/esm/locale/en.js +0 -44
  393. package/dist/esm/locale/index.js +0 -12
  394. package/dist/esm/locale/zh.js +0 -44
  395. package/dist/esm/plugins/analyze/constants.js +0 -14
  396. package/dist/esm/plugins/analyze/getBundleEntry.js +0 -108
  397. package/dist/esm/plugins/analyze/getFileSystemEntry.js +0 -268
  398. package/dist/esm/plugins/analyze/getHtmlTemplate.js +0 -251
  399. package/dist/esm/plugins/analyze/getServerRoutes.js +0 -148
  400. package/dist/esm/plugins/analyze/index.js +0 -439
  401. package/dist/esm/plugins/analyze/isDefaultExportFunction.js +0 -49
  402. package/dist/esm/plugins/analyze/templates.js +0 -6
  403. package/dist/esm/plugins/analyze/utils.js +0 -106
  404. package/dist/esm/plugins/deploy/index.js +0 -133
  405. package/dist/esm/plugins/deploy/platforms/gh-pages.js +0 -184
  406. package/dist/esm/plugins/deploy/platforms/netlify-entry.js +0 -11
  407. package/dist/esm/plugins/deploy/platforms/netlify-handler.js +0 -207
  408. package/dist/esm/plugins/deploy/platforms/netlify.js +0 -346
  409. package/dist/esm/plugins/deploy/platforms/node-entry.js +0 -110
  410. package/dist/esm/plugins/deploy/platforms/node.js +0 -178
  411. package/dist/esm/plugins/deploy/platforms/vercel-entry.js +0 -11
  412. package/dist/esm/plugins/deploy/platforms/vercel-handler.js +0 -207
  413. package/dist/esm/plugins/deploy/platforms/vercel.js +0 -280
  414. package/dist/esm/plugins/deploy/utils.js +0 -59
  415. package/dist/esm/plugins/initialize/index.js +0 -116
  416. package/dist/esm/plugins/serverBuild.js +0 -83
  417. package/dist/esm/plugins/serverRuntime.js +0 -22
  418. package/dist/esm/run/index.js +0 -134
  419. package/dist/esm/types/config/index.js +0 -1
  420. package/dist/esm/types/config/source.js +0 -0
  421. package/dist/esm/types/config/testing.js +0 -0
  422. package/dist/esm/types/config/tools.js +0 -0
  423. package/dist/esm/types/hooks.js +0 -0
  424. package/dist/esm/types/index.js +0 -3
  425. package/dist/esm/types/legacyConfig/deploy.js +0 -0
  426. package/dist/esm/types/legacyConfig/dev.js +0 -0
  427. package/dist/esm/types/legacyConfig/index.js +0 -0
  428. package/dist/esm/types/legacyConfig/output.js +0 -0
  429. package/dist/esm/types/legacyConfig/source.js +0 -0
  430. package/dist/esm/types/legacyConfig/testing.js +0 -0
  431. package/dist/esm/types/legacyConfig/tools.js +0 -0
  432. package/dist/esm/types/new.js +0 -0
  433. package/dist/esm/types/utils.js +0 -0
  434. package/dist/esm/utils/config.js +0 -122
  435. package/dist/esm/utils/createServer.js +0 -58
  436. package/dist/esm/utils/env.js +0 -16
  437. package/dist/esm/utils/generateWatchFiles.js +0 -71
  438. package/dist/esm/utils/getConfigFile.js +0 -11
  439. package/dist/esm/utils/getSelectedEntries.js +0 -67
  440. package/dist/esm/utils/getUserConfig.js +0 -32
  441. package/dist/esm/utils/initAppContext.js +0 -30
  442. package/dist/esm/utils/loadPlugins.js +0 -162
  443. package/dist/esm/utils/printInstructions.js +0 -32
  444. package/dist/esm/utils/register.js +0 -182
  445. package/dist/esm/utils/restart.js +0 -68
  446. package/dist/esm/utils/routes.js +0 -42
  447. package/dist/esm/utils/types.js +0 -0
  448. package/dist/esm-node/builder/builder-rspack/index.js +0 -8
  449. package/dist/esm-node/builder/builder-webpack/index.js +0 -16
  450. package/dist/esm-node/builder/generator/adapterCopy.js +0 -26
  451. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +0 -67
  452. package/dist/esm-node/builder/generator/createCopyPattern.js +0 -41
  453. package/dist/esm-node/builder/generator/getBuilderEnvironments.js +0 -68
  454. package/dist/esm-node/builder/generator/index.js +0 -60
  455. package/dist/esm-node/builder/index.js +0 -16
  456. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +0 -55
  457. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +0 -60
  458. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +0 -151
  459. package/dist/esm-node/builder/shared/builderPlugins/builderHooks.js +0 -26
  460. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -30
  461. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -31
  462. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +0 -305
  463. package/dist/esm-node/builder/shared/createCopyInfo.js +0 -14
  464. package/dist/esm-node/builder/shared/loaders/serverModuleLoader.js +0 -7
  465. package/dist/esm-node/commands/build.js +0 -67
  466. package/dist/esm-node/commands/deploy.js +0 -12
  467. package/dist/esm-node/commands/dev.js +0 -111
  468. package/dist/esm-node/commands/index.js +0 -90
  469. package/dist/esm-node/commands/inspect.js +0 -19
  470. package/dist/esm-node/commands/serve.js +0 -54
  471. package/dist/esm-node/compat/hooks.js +0 -159
  472. package/dist/esm-node/compat/index.js +0 -40
  473. package/dist/esm-node/compat/utils.js +0 -100
  474. package/dist/esm-node/config/default.js +0 -206
  475. package/dist/esm-node/config/initialize/index.js +0 -9
  476. package/dist/esm-node/config/initialize/inits.js +0 -79
  477. package/dist/esm-node/config/legacy/createHtmlConfig.js +0 -21
  478. package/dist/esm-node/config/legacy/createOutputConfig.js +0 -45
  479. package/dist/esm-node/config/legacy/createSourceConfig.js +0 -29
  480. package/dist/esm-node/config/legacy/createToolsConfig.js +0 -28
  481. package/dist/esm-node/config/legacy/index.js +0 -43
  482. package/dist/esm-node/constants.js +0 -12
  483. package/dist/esm-node/defineConfig.js +0 -13
  484. package/dist/esm-node/exports/server.js +0 -4
  485. package/dist/esm-node/index.js +0 -160
  486. package/dist/esm-node/locale/en.js +0 -44
  487. package/dist/esm-node/locale/index.js +0 -12
  488. package/dist/esm-node/locale/zh.js +0 -44
  489. package/dist/esm-node/plugins/analyze/constants.js +0 -14
  490. package/dist/esm-node/plugins/analyze/getBundleEntry.js +0 -67
  491. package/dist/esm-node/plugins/analyze/getFileSystemEntry.js +0 -108
  492. package/dist/esm-node/plugins/analyze/getHtmlTemplate.js +0 -99
  493. package/dist/esm-node/plugins/analyze/getServerRoutes.js +0 -146
  494. package/dist/esm-node/plugins/analyze/index.js +0 -184
  495. package/dist/esm-node/plugins/analyze/isDefaultExportFunction.js +0 -47
  496. package/dist/esm-node/plugins/analyze/utils.js +0 -73
  497. package/dist/esm-node/plugins/deploy/index.js +0 -44
  498. package/dist/esm-node/plugins/deploy/platforms/gh-pages.js +0 -57
  499. package/dist/esm-node/plugins/deploy/platforms/netlify-entry.js +0 -11
  500. package/dist/esm-node/plugins/deploy/platforms/netlify-handler.js +0 -73
  501. package/dist/esm-node/plugins/deploy/platforms/netlify.js +0 -133
  502. package/dist/esm-node/plugins/deploy/platforms/node-entry.js +0 -46
  503. package/dist/esm-node/plugins/deploy/platforms/node.js +0 -87
  504. package/dist/esm-node/plugins/deploy/platforms/vercel-entry.js +0 -11
  505. package/dist/esm-node/plugins/deploy/platforms/vercel-handler.js +0 -73
  506. package/dist/esm-node/plugins/deploy/platforms/vercel.js +0 -145
  507. package/dist/esm-node/plugins/deploy/utils.js +0 -55
  508. package/dist/esm-node/plugins/initialize/index.js +0 -78
  509. package/dist/esm-node/plugins/serverBuild.js +0 -56
  510. package/dist/esm-node/plugins/serverRuntime.js +0 -17
  511. package/dist/esm-node/run/index.js +0 -104
  512. package/dist/esm-node/types/index.js +0 -3
  513. package/dist/esm-node/utils/config.js +0 -49
  514. package/dist/esm-node/utils/createServer.js +0 -26
  515. package/dist/esm-node/utils/env.js +0 -16
  516. package/dist/esm-node/utils/generateWatchFiles.js +0 -30
  517. package/dist/esm-node/utils/getConfigFile.js +0 -7
  518. package/dist/esm-node/utils/getSelectedEntries.js +0 -34
  519. package/dist/esm-node/utils/getUserConfig.js +0 -10
  520. package/dist/esm-node/utils/initAppContext.js +0 -29
  521. package/dist/esm-node/utils/loadPlugins.js +0 -52
  522. package/dist/esm-node/utils/printInstructions.js +0 -11
  523. package/dist/esm-node/utils/register.js +0 -94
  524. package/dist/esm-node/utils/restart.js +0 -23
  525. package/dist/esm-node/utils/routes.js +0 -21
  526. package/dist/types/builder/builder-webpack/index.d.ts +0 -2
  527. package/dist/types/config/legacy/createHtmlConfig.d.ts +0 -2
  528. package/dist/types/config/legacy/createOutputConfig.d.ts +0 -2
  529. package/dist/types/config/legacy/createSourceConfig.d.ts +0 -2
  530. package/dist/types/config/legacy/createToolsConfig.d.ts +0 -2
  531. package/dist/types/config/legacy/index.d.ts +0 -3
  532. package/dist/types/types/hooks.d.ts +0 -69
  533. package/dist/types/types/legacyConfig/deploy.d.ts +0 -8
  534. package/dist/types/types/legacyConfig/dev.d.ts +0 -12
  535. package/dist/types/types/legacyConfig/index.d.ts +0 -35
  536. package/dist/types/types/legacyConfig/output.d.ts +0 -50
  537. package/dist/types/types/legacyConfig/source.d.ts +0 -28
  538. package/dist/types/types/legacyConfig/testing.d.ts +0 -8
  539. package/dist/types/types/legacyConfig/tools.d.ts +0 -15
  540. package/dist/types/utils/getUserConfig.d.ts +0 -6
  541. /package/dist/{esm-node/builder/shared/builderPlugins/index.js → esm/builder/shared/builderPlugins/index.mjs} +0 -0
  542. /package/dist/{esm-node/builder/shared/bundlerPlugins/index.js → esm/builder/shared/bundlerPlugins/index.mjs} +0 -0
  543. /package/dist/{esm-node/builder/shared/index.js → esm/builder/shared/index.mjs} +0 -0
  544. /package/dist/{esm-node/types/legacyConfig/output.js → esm/builder/shared/types.mjs} +0 -0
  545. /package/dist/{esm-node/types/legacyConfig/source.js → esm/exports/server.mjs} +0 -0
  546. /package/dist/{esm-node/types/legacyConfig/testing.js → esm/plugins/deploy/platforms/platform.mjs} +0 -0
  547. /package/dist/{esm-node/types/legacyConfig/tools.js → esm/types/config/deploy.mjs} +0 -0
  548. /package/dist/{esm-node/types/new.js → esm/types/config/dev.mjs} +0 -0
  549. /package/dist/{esm-node/types/utils.js → esm/types/config/experiments.mjs} +0 -0
  550. /package/dist/{esm-node/utils/types.js → esm/types/config/html.mjs} +0 -0
  551. /package/dist/{esm-node/types/config/index.js → esm/types/config/index.mjs} +0 -0
  552. /package/dist/esm/{builder/shared/types.js → types/config/output.mjs} +0 -0
  553. /package/dist/esm/{plugins/deploy/platforms/platform.js → types/config/performance.mjs} +0 -0
  554. /package/dist/esm/types/config/{deploy.js → resolve.mjs} +0 -0
  555. /package/dist/esm/types/config/{dev.js → security.mjs} +0 -0
  556. /package/dist/esm/types/config/{experiments.js → source.mjs} +0 -0
  557. /package/dist/esm/types/config/{html.js → testing.mjs} +0 -0
  558. /package/dist/esm/types/config/{output.js → tools.mjs} +0 -0
  559. /package/dist/esm/types/{config/performance.js → plugin.mjs} +0 -0
  560. /package/dist/esm/types/{config/resolve.js → utils.mjs} +0 -0
  561. /package/dist/esm/{types/config/security.js → utils/types.mjs} +0 -0
  562. /package/dist/esm-node/builder/shared/{types.js → types.mjs} +0 -0
  563. /package/dist/esm-node/{plugins/deploy/platforms/platform.js → exports/server.mjs} +0 -0
  564. /package/dist/esm-node/{types/config/deploy.js → plugins/deploy/platforms/platform.mjs} +0 -0
  565. /package/dist/esm-node/types/config/{dev.js → deploy.mjs} +0 -0
  566. /package/dist/esm-node/types/config/{experiments.js → dev.mjs} +0 -0
  567. /package/dist/esm-node/types/config/{html.js → experiments.mjs} +0 -0
  568. /package/dist/esm-node/types/config/{output.js → html.mjs} +0 -0
  569. /package/dist/esm-node/types/config/{performance.js → output.mjs} +0 -0
  570. /package/dist/esm-node/types/config/{resolve.js → performance.mjs} +0 -0
  571. /package/dist/esm-node/types/config/{security.js → resolve.mjs} +0 -0
  572. /package/dist/esm-node/types/config/{source.js → security.mjs} +0 -0
  573. /package/dist/esm-node/types/config/{testing.js → source.mjs} +0 -0
  574. /package/dist/esm-node/types/config/{tools.js → testing.mjs} +0 -0
  575. /package/dist/esm-node/types/{hooks.js → config/tools.mjs} +0 -0
  576. /package/dist/esm-node/types/{legacyConfig/deploy.js → plugin.mjs} +0 -0
  577. /package/dist/esm-node/types/{legacyConfig/dev.js → utils.mjs} +0 -0
  578. /package/dist/esm-node/{types/legacyConfig/index.js → utils/types.mjs} +0 -0
@@ -1,33 +1,22 @@
1
- import { pathToFileURL } from 'url';
2
- import { load as esbuildLoad } from 'esbuild-register/loader';
3
- import { createMatchPath } from './utils.mjs';
4
-
1
+ import { pathToFileURL } from "url";
2
+ import { load } from "esbuild-register/loader";
3
+ import { createMatchPath } from "./utils.mjs";
5
4
  let matchPath;
6
- export async function initialize({ appDir, alias, tsconfigPath }) {
7
- matchPath = createMatchPath({
8
- alias,
9
- appDir,
10
- tsconfigPath,
11
- });
5
+ async function initialize({ appDir, alias, tsconfigPath }) {
6
+ matchPath = createMatchPath({
7
+ alias,
8
+ appDir,
9
+ tsconfigPath
10
+ });
12
11
  }
13
-
14
- export function resolve(specifier, context, defaultResolve) {
15
- const match = matchPath(specifier);
16
- return match
17
- ? defaultResolve(pathToFileURL(match).href, context)
18
- : defaultResolve(specifier, context);
12
+ function resolve(specifier, context, defaultResolve) {
13
+ const match = matchPath(specifier);
14
+ return match ? defaultResolve(pathToFileURL(match).href, context) : defaultResolve(specifier, context);
19
15
  }
20
-
21
- export function load(url, context, defaultLoad) {
22
- const filePath = new URL(url).pathname;
23
-
24
- if (url.startsWith('node:')) {
25
- return defaultLoad(url, context);
26
- }
27
-
28
- if (filePath.includes('node_modules')) {
29
- return defaultLoad(url, context);
30
- }
31
-
32
- return esbuildLoad(url, context, defaultLoad);
16
+ function esbuild_loader_load(url, context, defaultLoad) {
17
+ const filePath = new URL(url).pathname;
18
+ if (url.startsWith('node:')) return defaultLoad(url, context);
19
+ if (filePath.includes('node_modules')) return defaultLoad(url, context);
20
+ return load(url, context, defaultLoad);
33
21
  }
22
+ export { initialize, esbuild_loader_load as load, resolve };
@@ -1,60 +1,48 @@
1
- import assert from 'node:assert';
2
- import path from 'node:path';
3
- import { fs, isVersionAtLeast1819, readTsConfigByFile } from '@modern-js/utils';
4
-
5
- const checkDep = async dep => {
6
- try {
7
- await import(dep);
8
- return true;
9
- } catch (error) {
10
- return false;
11
- }
1
+ import node_assert from "node:assert";
2
+ import { fs, isVersionAtLeast1819, readTsConfigByFile } from "@modern-js/utils";
3
+ import * as __rspack_external_node_path_c5b9b54f from "node:path";
4
+ const checkDep = async (dep)=>{
5
+ try {
6
+ await import(dep);
7
+ return true;
8
+ } catch (error) {
9
+ return false;
10
+ }
12
11
  };
13
-
14
- export const registerEsm = async ({ appDir, distDir, alias }) => {
15
- const nodeVersion = process.versions.node;
16
- const versionArr = nodeVersion.split('.').map(Number);
17
-
18
- assert(
19
- isVersionAtLeast1819(nodeVersion),
20
- `The node version of the esm project must be greater than 18.19.0, current version is ${nodeVersion}`,
21
- );
22
- const hasTsNode = await checkDep('ts-node');
23
- const TS_CONFIG_FILENAME = `tsconfig.json`;
24
- const tsconfigPath = path.resolve(appDir, TS_CONFIG_FILENAME);
25
- const hasTsconfig = await fs.pathExists(tsconfigPath);
26
- const { register } = await import('node:module');
27
- if (hasTsNode && hasTsconfig) {
28
- // These can be overridden by ts-node options in tsconfig.json
29
- process.env.TS_NODE_TRANSPILE_ONLY = true;
30
- process.env.TS_NODE_PROJECT = tsconfigPath;
31
- process.env.TS_NODE_SCOPE = true;
32
- process.env.TS_NODE_FILES = true;
33
- process.env.TS_NODE_IGNORE = `(?:^|/)node_modules/,(?:^|/)${path.relative(
34
- appDir,
35
- distDir,
36
- )}/`;
37
- register('./ts-node-loader.mjs', import.meta.url, {
38
- data: {
39
- appDir,
40
- distDir,
41
- alias,
42
- tsconfigPath,
43
- },
44
- });
45
- } else {
46
- process.env.MODERN_NODE_LOADER = 'esbuild';
47
- let tsConfig = {};
48
- if (hasTsconfig) {
49
- tsConfig = readTsConfigByFile(tsconfigPath);
12
+ const registerEsm = async ({ appDir, distDir, alias })=>{
13
+ const nodeVersion = process.versions.node;
14
+ nodeVersion.split('.').map(Number);
15
+ node_assert(isVersionAtLeast1819(nodeVersion), `The node version of the esm project must be greater than 18.19.0, current version is ${nodeVersion}`);
16
+ const hasTsNode = await checkDep('ts-node');
17
+ const TS_CONFIG_FILENAME = "tsconfig.json";
18
+ const tsconfigPath = __rspack_external_node_path_c5b9b54f["default"].resolve(appDir, TS_CONFIG_FILENAME);
19
+ const hasTsconfig = await fs.pathExists(tsconfigPath);
20
+ const { register } = await import("node:module");
21
+ if (hasTsNode && hasTsconfig) {
22
+ process.env.TS_NODE_TRANSPILE_ONLY = true;
23
+ process.env.TS_NODE_PROJECT = tsconfigPath;
24
+ process.env.TS_NODE_SCOPE = true;
25
+ process.env.TS_NODE_FILES = true;
26
+ process.env.TS_NODE_IGNORE = `(?:^|/)node_modules/,(?:^|/)${__rspack_external_node_path_c5b9b54f["default"].relative(appDir, distDir)}/`;
27
+ register('./ts-node-loader.mjs', import.meta.url, {
28
+ data: {
29
+ appDir,
30
+ distDir,
31
+ alias,
32
+ tsconfigPath
33
+ }
34
+ });
35
+ } else {
36
+ process.env.MODERN_NODE_LOADER = 'esbuild';
37
+ if (hasTsconfig) readTsConfigByFile(tsconfigPath);
38
+ register('./esbuild-loader.mjs', import.meta.url, {
39
+ data: {
40
+ appDir,
41
+ distDir,
42
+ alias,
43
+ tsconfigPath
44
+ }
45
+ });
50
46
  }
51
- register('./esbuild-loader.mjs', import.meta.url, {
52
- data: {
53
- appDir,
54
- distDir,
55
- alias,
56
- tsconfigPath,
57
- },
58
- });
59
- }
60
47
  };
48
+ export { registerEsm };
@@ -1,34 +1,22 @@
1
- import { pathToFileURL } from 'url';
2
- import { resolve as tsNodeResolve } from 'ts-node/esm';
3
- import { load as tsNodeLoad } from 'ts-node/esm';
4
- import { createMatchPath } from './utils.mjs';
5
-
1
+ import { pathToFileURL } from "url";
2
+ import { load, resolve } from "ts-node/esm";
3
+ import { createMatchPath } from "./utils.mjs";
6
4
  let matchPath;
7
- export async function initialize({ appDir, alias, tsconfigPath }) {
8
- matchPath = createMatchPath({
9
- alias,
10
- appDir,
11
- tsconfigPath,
12
- });
5
+ async function initialize({ appDir, alias, tsconfigPath }) {
6
+ matchPath = createMatchPath({
7
+ alias,
8
+ appDir,
9
+ tsconfigPath
10
+ });
13
11
  }
14
-
15
- export function resolve(specifier, context, defaultResolve) {
16
- const match = matchPath(specifier);
17
- return match
18
- ? tsNodeResolve(pathToFileURL(match).href, context, defaultResolve)
19
- : tsNodeResolve(specifier, context, defaultResolve);
12
+ function ts_node_loader_resolve(specifier, context, defaultResolve) {
13
+ const match = matchPath(specifier);
14
+ return match ? resolve(pathToFileURL(match).href, context, defaultResolve) : resolve(specifier, context, defaultResolve);
20
15
  }
21
-
22
- export function load(url, context, defaultLoad) {
23
- const filePath = new URL(url).pathname;
24
-
25
- if (url.startsWith('node:')) {
26
- return defaultLoad(url, context);
27
- }
28
-
29
- if (filePath.includes('node_modules')) {
30
- return defaultLoad(url, context);
31
- }
32
-
33
- return tsNodeLoad(url, context, defaultLoad);
16
+ function ts_node_loader_load(url, context, defaultLoad) {
17
+ const filePath = new URL(url).pathname;
18
+ if (url.startsWith('node:')) return defaultLoad(url, context);
19
+ if (filePath.includes('node_modules')) return defaultLoad(url, context);
20
+ return load(url, context, defaultLoad);
34
21
  }
22
+ export { initialize, ts_node_loader_load as load, ts_node_loader_resolve as resolve };
@@ -1,43 +1,32 @@
1
- import { createRequire } from 'module';
2
- import path from 'path';
3
- import { getAliasConfig } from '@modern-js/utils';
4
- import tsConfigPaths from '@modern-js/utils/tsconfig-paths';
5
-
6
- const require = createRequire(import.meta.url);
7
- export function createMatchPath({ alias, appDir, tsconfigPath }) {
8
- const aliasConfig = getAliasConfig(alias, {
9
- appDirectory: appDir,
10
- tsconfigPath,
11
- });
12
-
13
- const { paths = {}, absoluteBaseUrl = './' } = aliasConfig;
14
-
15
- const tsPaths = Object.keys(paths).reduce((o, key) => {
16
- let tsPath = paths[key];
17
- // Do some special handling for Modern.js's internal alias, we can drop it in the next version
18
- if (
19
- typeof tsPath === 'string' &&
20
- key.startsWith('@') &&
21
- tsPath.startsWith('@')
22
- ) {
23
- try {
24
- tsPath = require.resolve(tsPath, {
25
- paths: [appDir],
26
- });
27
- } catch {}
28
- }
29
-
30
- if (typeof tsPath === 'string' && path.isAbsolute(tsPath)) {
31
- tsPath = path.relative(absoluteBaseUrl, tsPath);
32
- }
33
- if (typeof tsPath === 'string') {
34
- tsPath = [tsPath];
35
- }
36
- return {
37
- ...o,
38
- [`${key}`]: tsPath,
39
- };
40
- }, {});
41
-
42
- return tsConfigPaths.createMatchPath(absoluteBaseUrl, tsPaths);
1
+ import { createRequire } from "module";
2
+ import path from "path";
3
+ import { getAliasConfig } from "@modern-js/utils";
4
+ import tsconfig_paths from "@modern-js/utils/tsconfig-paths";
5
+ const utils_require = createRequire(import.meta.url);
6
+ function createMatchPath({ alias, appDir, tsconfigPath }) {
7
+ const aliasConfig = getAliasConfig(alias, {
8
+ appDirectory: appDir,
9
+ tsconfigPath
10
+ });
11
+ const { paths = {}, absoluteBaseUrl = './' } = aliasConfig;
12
+ const tsPaths = Object.keys(paths).reduce((o, key)=>{
13
+ let tsPath = paths[key];
14
+ if ('string' == typeof tsPath && key.startsWith('@') && tsPath.startsWith('@')) try {
15
+ tsPath = utils_require.resolve(tsPath, {
16
+ paths: [
17
+ appDir
18
+ ]
19
+ });
20
+ } catch {}
21
+ if ('string' == typeof tsPath && path.isAbsolute(tsPath)) tsPath = path.relative(absoluteBaseUrl, tsPath);
22
+ if ('string' == typeof tsPath) tsPath = [
23
+ tsPath
24
+ ];
25
+ return {
26
+ ...o,
27
+ [`${key}`]: tsPath
28
+ };
29
+ }, {});
30
+ return tsconfig_paths.createMatchPath(absoluteBaseUrl, tsPaths);
43
31
  }
32
+ export { createMatchPath };
@@ -0,0 +1,121 @@
1
+ import path from "path";
2
+ import { castArray } from "@modern-js/builder";
3
+ import { getLocaleLanguage } from "@modern-js/i18n-utils/language-detector";
4
+ import { createAsyncHook } from "@modern-js/plugin";
5
+ import { cleanRequireCache, deprecatedCommands, emptyDir, getArgv, getCommand } from "@modern-js/utils";
6
+ import { buildCommand, deployCommand, devCommand, inspectCommand, serverCommand } from "./commands";
7
+ import { compatPlugin } from "./compat";
8
+ import { DEFAULT_RUNTIME_CONFIG_FILE } from "./constants";
9
+ import { i18n } from "./locale";
10
+ import analyze from "./plugins/analyze";
11
+ import deploy from "./plugins/deploy";
12
+ import initialize from "./plugins/initialize";
13
+ import serverBuild from "./plugins/serverBuild";
14
+ import serverRuntime from "./plugins/serverRuntime";
15
+ import { generateWatchFiles } from "./utils/generateWatchFiles";
16
+ import { initAppContext } from "./utils/initAppContext";
17
+ import { restart } from "./utils/restart";
18
+ import { defineConfig } from "./defineConfig";
19
+ import { dev } from "./commands/dev";
20
+ import { serve } from "./commands/serve";
21
+ import { mergeConfig } from "@modern-js/plugin/cli";
22
+ export * from "./defineConfig";
23
+ export * from "./types";
24
+ const appTools = ()=>({
25
+ name: '@modern-js/app-tools',
26
+ usePlugins: [
27
+ serverRuntime(),
28
+ compatPlugin(),
29
+ initialize(),
30
+ analyze(),
31
+ serverBuild(),
32
+ deploy()
33
+ ],
34
+ post: [
35
+ '@modern-js/plugin-initialize',
36
+ '@modern-js/plugin-analyze',
37
+ '@modern-js/plugin-ssr',
38
+ '@modern-js/plugin-document',
39
+ '@modern-js/plugin-router',
40
+ '@modern-js/plugin-polyfill'
41
+ ],
42
+ registryHooks: {
43
+ onAfterPrepare: createAsyncHook(),
44
+ deploy: createAsyncHook(),
45
+ checkEntryPoint: createAsyncHook(),
46
+ modifyEntrypoints: createAsyncHook(),
47
+ modifyFileSystemRoutes: createAsyncHook(),
48
+ generateEntryCode: createAsyncHook(),
49
+ onBeforeGenerateRoutes: createAsyncHook(),
50
+ onBeforePrintInstructions: createAsyncHook()
51
+ },
52
+ setup: (api)=>{
53
+ const context = api.getAppContext();
54
+ const userConfig = api.getConfig();
55
+ const locale = getLocaleLanguage();
56
+ i18n.changeLanguage({
57
+ locale
58
+ });
59
+ api.updateAppContext(initAppContext({
60
+ metaName: context.metaName,
61
+ appDirectory: context.appDirectory,
62
+ runtimeConfigFile: DEFAULT_RUNTIME_CONFIG_FILE,
63
+ tempDir: userConfig.output?.tempDir
64
+ }));
65
+ api.addCommand(async ({ program })=>{
66
+ await devCommand(program, api);
67
+ await buildCommand(program, api);
68
+ serverCommand(program, api);
69
+ deployCommand(program, api);
70
+ inspectCommand(program, api);
71
+ deprecatedCommands(program);
72
+ });
73
+ api.onPrepare(async ()=>{
74
+ const command = getCommand();
75
+ if ('deploy' === command) {
76
+ const isSkipBuild = [
77
+ '-s',
78
+ '--skip-build'
79
+ ].some((tag)=>getArgv().includes(tag));
80
+ if (isSkipBuild) return;
81
+ }
82
+ if ('dev' === command || 'start' === command || 'build' === command || 'deploy' === command) {
83
+ const resolvedConfig = api.getNormalizedConfig();
84
+ if (resolvedConfig.output.cleanDistPath) {
85
+ const appContext = api.getAppContext();
86
+ await emptyDir(appContext.distDirectory);
87
+ }
88
+ }
89
+ });
90
+ api.addWatchFiles(async ()=>{
91
+ const appContext = api.getAppContext();
92
+ const config = api.getNormalizedConfig();
93
+ const files = await generateWatchFiles(appContext, config.source.configDir);
94
+ const watchFiles = castArray(config.dev.watchFiles);
95
+ watchFiles.forEach(({ type, paths })=>{
96
+ if ('reload-server' === type) files.push(...Array.isArray(paths) ? paths : [
97
+ paths
98
+ ]);
99
+ });
100
+ return files;
101
+ });
102
+ api.onFileChanged(async (e)=>{
103
+ const { filename, eventType, isPrivate } = e;
104
+ const { appDirectory, apiDirectory } = api.getAppContext();
105
+ const relativeApiPath = path.relative(appDirectory, apiDirectory);
106
+ const isApiProject = filename.startsWith(`${relativeApiPath}/`);
107
+ if (!isPrivate && ('change' === eventType || 'unlink' === eventType) && !isApiProject) {
108
+ const { closeServer } = await import("./utils/createServer.js");
109
+ await closeServer();
110
+ await restart(api.getHooks(), filename);
111
+ }
112
+ });
113
+ api.onBeforeRestart(()=>{
114
+ cleanRequireCache([
115
+ require.resolve('./plugins/analyze')
116
+ ]);
117
+ });
118
+ }
119
+ });
120
+ const src = appTools;
121
+ export { appTools, src as default, defineConfig, dev, generateWatchFiles, initAppContext, mergeConfig, serve };
@@ -0,0 +1,42 @@
1
+ const EN_LOCALE = {
2
+ command: {
3
+ shared: {
4
+ analyze: 'analyze bundle size',
5
+ config: 'specify the configuration file, which can be a relative or absolute path',
6
+ skipBuild: 'skip the build phase',
7
+ noNeedInstall: 'not run install command'
8
+ },
9
+ dev: {
10
+ describe: 'starting the dev server',
11
+ entry: 'compiler by entry',
12
+ apiOnly: 'start api server only',
13
+ webOnly: 'start web server only',
14
+ selectEntry: 'Please select the entry that needs to be built',
15
+ requireEntry: 'You must choose at least one entry'
16
+ },
17
+ build: {
18
+ describe: 'build the app for production',
19
+ watch: 'turn on watch mode, watch for changes and rebuild'
20
+ },
21
+ serve: {
22
+ describe: 'preview the production build locally'
23
+ },
24
+ deploy: {
25
+ describe: 'deploy the application'
26
+ },
27
+ new: {
28
+ describe: 'enable optional features or add a new entry',
29
+ debug: 'using debug mode to log something',
30
+ config: 'set default generator config(json string)',
31
+ distTag: "use specified tag version for it's generator",
32
+ registry: 'set npm registry url to run npm command',
33
+ lang: 'set new command language(en or zh)'
34
+ },
35
+ inspect: {
36
+ env: 'specify env mode',
37
+ output: 'specify inspect content output path',
38
+ verbose: 'show full function definitions in output'
39
+ }
40
+ }
41
+ };
42
+ export { EN_LOCALE };
@@ -0,0 +1,9 @@
1
+ import { I18n } from "@modern-js/i18n-utils";
2
+ import { EN_LOCALE } from "./en";
3
+ import { ZH_LOCALE } from "./zh";
4
+ const i18n = new I18n();
5
+ const localeKeys = i18n.init('en', {
6
+ zh: ZH_LOCALE,
7
+ en: EN_LOCALE
8
+ });
9
+ export { i18n, localeKeys };
@@ -0,0 +1,42 @@
1
+ const ZH_LOCALE = {
2
+ command: {
3
+ shared: {
4
+ analyze: '分析构建产物体积,查看各个模块打包后的大小',
5
+ config: '指定配置文件路径,可以为相对路径或绝对路径',
6
+ skipBuild: '跳过构建阶段',
7
+ noNeedInstall: '无需安装依赖'
8
+ },
9
+ dev: {
10
+ describe: '启动开发服务器',
11
+ entry: '指定入口,编译特定的页面',
12
+ apiOnly: '仅启动 API 接口服务',
13
+ webOnly: '仅启动 Web 服务',
14
+ selectEntry: '请选择需要构建的入口',
15
+ requireEntry: '请至少选择一个入口'
16
+ },
17
+ build: {
18
+ describe: '构建生产环境产物',
19
+ watch: '开启 watch 模式, 监听文件变更并重新构建'
20
+ },
21
+ serve: {
22
+ describe: '启动生产环境服务'
23
+ },
24
+ deploy: {
25
+ describe: '部署应用'
26
+ },
27
+ new: {
28
+ describe: 'Web App 项目中执行生成器',
29
+ debug: '开启 Debug 模式,打印调试日志信息',
30
+ config: '生成器运行默认配置(JSON 字符串)',
31
+ distTag: '生成器使用特殊的 npm Tag 版本',
32
+ registry: '生成器运行过程中定制 npm Registry',
33
+ lang: '设置 new 命令执行语言(zh 或者 en)'
34
+ },
35
+ inspect: {
36
+ env: '查看指定环境下的配置',
37
+ output: '指定在 dist 目录下输出的路径',
38
+ verbose: '在结果中展示函数的完整内容'
39
+ }
40
+ }
41
+ };
42
+ export { ZH_LOCALE };
@@ -0,0 +1,8 @@
1
+ const ENTRY_FILE_NAME = 'entry';
2
+ const HTML_PARTIALS_FOLDER = 'html';
3
+ const HTML_PARTIALS_EXTENSIONS = [
4
+ '.htm',
5
+ '.html',
6
+ '.ejs'
7
+ ];
8
+ export { ENTRY_FILE_NAME, HTML_PARTIALS_EXTENSIONS, HTML_PARTIALS_FOLDER };
@@ -0,0 +1,53 @@
1
+ import path from "path";
2
+ import { JS_EXTENSIONS, MAIN_ENTRY_NAME, ensureAbsolutePath, findExists, fs } from "@modern-js/utils";
3
+ import { getFileSystemEntry, hasEntry, hasServerEntry } from "./getFileSystemEntry";
4
+ import { isSubDirOrEqual } from "./utils";
5
+ const ensureExtensions = (file)=>{
6
+ if (!path.extname(file)) return findExists(JS_EXTENSIONS.map((ext)=>`${file}${ext}`)) || file;
7
+ return file;
8
+ };
9
+ const isDirectory = (file)=>!path.extname(file);
10
+ const ifAlreadyExists = (entrypoints, checked)=>entrypoints.some((entrypoint)=>{
11
+ if (ensureExtensions(entrypoint.entry) === ensureExtensions(checked.entry)) {
12
+ checked.entryName = entrypoint.entryName;
13
+ return true;
14
+ }
15
+ if (isSubDirOrEqual(entrypoint.entry, checked.entry) || isSubDirOrEqual(checked.entry, entrypoint.entry)) throw new Error(`Entry configuration conflicts\n Your configuration: ${checked.entry}.\n Default entrypoint: ${entrypoint.entry}\n Please reset source.entries or set source.disableDefaultEntries to disable the default entry rules.`);
16
+ return false;
17
+ });
18
+ const getBundleEntry = async (hooks, appContext, config)=>{
19
+ const { appDirectory, packageName } = appContext;
20
+ const { disableDefaultEntries, entries, entriesDir, mainEntryName } = config.source;
21
+ const defaults = disableDefaultEntries ? [] : await getFileSystemEntry(hooks, appContext, config);
22
+ if (entries) Object.keys(entries).forEach((name)=>{
23
+ const value = entries[name];
24
+ const entryName = 'string' == typeof value ? value : value.entry;
25
+ const entryFile = ensureAbsolutePath(appDirectory, entryName);
26
+ const entryDir = path.dirname(entryFile);
27
+ const customEntryFile = hasEntry(entryDir);
28
+ const serverEntryFile = hasServerEntry(entryDir);
29
+ const isAutoMount = 'string' == typeof value ? true : !value.disableMount;
30
+ const entrypoint = {
31
+ entryName: name,
32
+ isMainEntry: false,
33
+ entry: 'string' == typeof value ? entryFile : value.customEntry ? customEntryFile || entryFile : entryFile,
34
+ absoluteEntryDir: isDirectory(entryFile) ? entryFile : path.dirname(entryFile),
35
+ isAutoMount,
36
+ fileSystemRoutes: fs.statSync(entryFile).isDirectory() ? {} : void 0,
37
+ isCustomSourceEntry: true,
38
+ customEntry: 'string' == typeof value ? false : value.customEntry,
39
+ customServerEntry: 'string' == typeof value ? false : value.customEntry ? serverEntryFile : false
40
+ };
41
+ if (!ifAlreadyExists(defaults, entrypoint)) defaults.push(entrypoint);
42
+ });
43
+ if (!disableDefaultEntries) {
44
+ const entriesDirAbs = ensureAbsolutePath(appDirectory, entriesDir || '');
45
+ const found = defaults.find(({ entryName, entry, nestedRoutesEntry = '' })=>entryName === packageName || path.dirname(entry) === entriesDirAbs || path.dirname(nestedRoutesEntry) === entriesDirAbs);
46
+ if (found) {
47
+ found.entryName = mainEntryName || MAIN_ENTRY_NAME;
48
+ found.isMainEntry = true;
49
+ }
50
+ }
51
+ return defaults;
52
+ };
53
+ export { getBundleEntry };
@@ -0,0 +1,66 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { JS_EXTENSIONS, ensureAbsolutePath, findExists } from "@modern-js/utils";
4
+ import { ENTRY_FILE_NAME } from "./constants";
5
+ const hasEntry = (dir)=>findExists(JS_EXTENSIONS.map((ext)=>path.resolve(dir, `${ENTRY_FILE_NAME}${ext}`)));
6
+ const hasServerEntry = (dir)=>findExists(JS_EXTENSIONS.map((ext)=>path.resolve(dir, `${ENTRY_FILE_NAME}.server${ext}`)));
7
+ const isBundleEntry = async (hooks, dir)=>{
8
+ const { entry } = await hooks.checkEntryPoint.call({
9
+ path: dir,
10
+ entry: false
11
+ });
12
+ if (entry) return entry;
13
+ const customEntry = hasEntry(dir);
14
+ if (customEntry) return customEntry;
15
+ return false;
16
+ };
17
+ const scanDir = async (hooks, dirs)=>{
18
+ const entries = await Promise.all(dirs.map(async (dir)=>{
19
+ const entryName = path.basename(dir);
20
+ const customEntryFile = hasEntry(dir);
21
+ const customServerEntry = hasServerEntry(dir);
22
+ const entryFile = (await hooks.checkEntryPoint.call({
23
+ path: dir,
24
+ entry: false
25
+ })).entry;
26
+ if (entryFile) return {
27
+ entryName,
28
+ isMainEntry: false,
29
+ entry: customEntryFile || entryFile,
30
+ customServerEntry,
31
+ absoluteEntryDir: path.resolve(dir),
32
+ isAutoMount: true,
33
+ customEntry: Boolean(customEntryFile)
34
+ };
35
+ if (customEntryFile) return {
36
+ entryName,
37
+ isMainEntry: false,
38
+ entry: customEntryFile,
39
+ customServerEntry,
40
+ absoluteEntryDir: path.resolve(dir),
41
+ isAutoMount: false,
42
+ customEntry: Boolean(customEntryFile)
43
+ };
44
+ return false;
45
+ })).then((entries)=>entries.filter(Boolean));
46
+ if (0 === entries.length) throw Error('There is no valid entry point in the current project!');
47
+ return entries;
48
+ };
49
+ const getFileSystemEntry = async (hooks, appContext, config)=>{
50
+ const { appDirectory } = appContext;
51
+ const { source: { entriesDir } } = config;
52
+ const src = ensureAbsolutePath(appDirectory, entriesDir || '');
53
+ if (fs.existsSync(src)) if (fs.statSync(src).isDirectory()) {
54
+ if (await isBundleEntry(hooks, src)) return scanDir(hooks, [
55
+ src
56
+ ]);
57
+ const dirs = [];
58
+ await Promise.all(fs.readdirSync(src).map(async (filename)=>{
59
+ const file = path.join(src, filename);
60
+ if (fs.statSync(file).isDirectory() && await isBundleEntry(hooks, file)) dirs.push(file);
61
+ }));
62
+ return scanDir(hooks, dirs);
63
+ } else throw Error("source.entriesDir accept a directory.");
64
+ throw Error(`src dir ${entriesDir} not found.`);
65
+ };
66
+ export { getFileSystemEntry, hasEntry, hasServerEntry };