@modern-js/app-tools 2.58.1 → 2.58.3

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 (309) hide show
  1. package/dist/cjs/builder/builder-rspack/adapterCopy.js +1 -1
  2. package/dist/cjs/builder/builder-webpack/createCopyPattern.js +0 -1
  3. package/dist/cjs/builder/builder-webpack/index.js +1 -1
  4. package/dist/cjs/builder/generator/getBuilderEnvironments.js +1 -1
  5. package/dist/cjs/builder/generator/index.js +2 -2
  6. package/dist/cjs/builder/index.js +2 -2
  7. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +8 -13
  8. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +2 -5
  9. package/dist/cjs/commands/build.js +21 -2
  10. package/dist/cjs/commands/dev.js +15 -5
  11. package/dist/cjs/commands/index.js +9 -9
  12. package/dist/cjs/commands/serve.js +4 -3
  13. package/dist/cjs/config/initialize/inits.js +4 -4
  14. package/dist/cjs/config/legacy/index.js +3 -3
  15. package/dist/cjs/esm/esbuild-loader.mjs +20 -0
  16. package/dist/cjs/esm/register-esm.mjs +66 -0
  17. package/dist/cjs/esm/ts-node-loader.mjs +21 -0
  18. package/dist/cjs/esm/utils.mjs +43 -0
  19. package/dist/cjs/index.js +8 -8
  20. package/dist/cjs/locale/index.js +1 -1
  21. package/dist/cjs/plugins/analyze/getServerRoutes.js +2 -2
  22. package/dist/cjs/plugins/analyze/index.js +9 -9
  23. package/dist/cjs/plugins/analyze/utils.js +1 -1
  24. package/dist/cjs/plugins/deploy/dependencies/index.js +2 -1
  25. package/dist/cjs/plugins/deploy/dependencies/utils.js +13 -2
  26. package/dist/cjs/plugins/deploy/index.js +2 -2
  27. package/dist/cjs/plugins/deploy/platforms/netlify-entry.js +3 -0
  28. package/dist/cjs/plugins/deploy/platforms/netlify-entry.mjs +1 -0
  29. package/dist/cjs/plugins/deploy/platforms/{netlifyEntry.js → netlify-handler.js} +6 -4
  30. package/dist/cjs/plugins/deploy/platforms/netlify.js +15 -6
  31. package/dist/cjs/plugins/deploy/platforms/node.js +14 -5
  32. package/dist/cjs/plugins/deploy/platforms/vercel-entry.js +3 -0
  33. package/dist/cjs/plugins/deploy/platforms/vercel-entry.mjs +3 -0
  34. package/dist/cjs/plugins/deploy/platforms/{vercelEntry.js → vercel-handler.js} +4 -1
  35. package/dist/cjs/plugins/deploy/platforms/vercel.js +15 -6
  36. package/dist/cjs/plugins/serverBuild.js +2 -2
  37. package/dist/cjs/utils/config.js +1 -1
  38. package/dist/cjs/utils/createServer.js +1 -1
  39. package/dist/cjs/utils/loadPlugins.js +1 -1
  40. package/dist/cjs/utils/register.js +50 -23
  41. package/dist/types/builder/builder-rspack/adapterCopy.d.ts +2 -2
  42. package/dist/types/builder/builder-rspack/index.d.ts +1 -1
  43. package/dist/types/builder/builder-webpack/adapterModern.d.ts +2 -2
  44. package/dist/types/builder/builder-webpack/index.d.ts +1 -1
  45. package/dist/types/builder/generator/createBuilderProviderConfig.d.ts +1 -1
  46. package/dist/types/builder/generator/index.d.ts +3 -3
  47. package/dist/types/builder/index.d.ts +1 -1
  48. package/dist/types/builder/shared/builderPlugins/adapterHtml.d.ts +1 -1
  49. package/dist/types/builder/shared/builderPlugins/adapterSSR.d.ts +1 -1
  50. package/dist/types/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.d.ts +1 -1
  51. package/dist/types/builder/shared/bundlerPlugins/HtmlBottomTemplate.d.ts +1 -1
  52. package/dist/types/builder/shared/bundlerPlugins/RouterPlugin.d.ts +1 -1
  53. package/dist/types/builder/shared/createCopyInfo.d.ts +1 -1
  54. package/dist/types/builder/shared/loaders/serverModuleLoader.d.ts +1 -1
  55. package/dist/types/builder/shared/types.d.ts +1 -1
  56. package/dist/types/commands/build.d.ts +2 -2
  57. package/dist/types/commands/dev.d.ts +3 -3
  58. package/dist/types/commands/index.d.ts +3 -3
  59. package/dist/types/commands/inspect.d.ts +1 -1
  60. package/dist/types/config/default.d.ts +1 -1
  61. package/dist/types/config/initialize/inits.d.ts +1 -1
  62. package/dist/types/config/legacy/createHtmlConfig.d.ts +1 -1
  63. package/dist/types/config/legacy/createOutputConfig.d.ts +1 -1
  64. package/dist/types/config/legacy/createSourceConfig.d.ts +1 -1
  65. package/dist/types/config/legacy/createToolsConfig.d.ts +1 -1
  66. package/dist/types/esm/esbuild-loader.d.mts +6 -0
  67. package/dist/types/esm/register-esm.d.mts +5 -0
  68. package/dist/types/esm/ts-node-loader.d.mts +6 -0
  69. package/dist/types/esm/utils.d.mts +6 -0
  70. package/dist/types/exports/server.d.ts +1 -1
  71. package/dist/types/hooks.d.ts +1 -1
  72. package/dist/types/index.d.ts +2 -2
  73. package/dist/types/plugins/analyze/getBundleEntry.d.ts +1 -1
  74. package/dist/types/plugins/analyze/getFileSystemEntry.d.ts +1 -1
  75. package/dist/types/plugins/analyze/index.d.ts +1 -1
  76. package/dist/types/plugins/deploy/dependencies/index.d.ts +1 -1
  77. package/dist/types/plugins/deploy/dependencies/utils.d.ts +1 -1
  78. package/dist/types/plugins/deploy/index.d.ts +2 -2
  79. package/dist/types/plugins/deploy/platforms/netlify-entry.d.cts +1 -0
  80. package/dist/types/plugins/deploy/platforms/netlify-entry.d.mts +1 -0
  81. package/dist/types/plugins/deploy/platforms/netlify-handler.d.cts +1 -0
  82. package/dist/types/plugins/deploy/platforms/netlify.d.ts +1 -1
  83. package/dist/types/plugins/deploy/platforms/node.d.ts +1 -1
  84. package/dist/types/plugins/deploy/platforms/platform.d.ts +2 -2
  85. package/dist/types/plugins/deploy/platforms/vercel-entry.d.mts +2 -0
  86. package/dist/types/plugins/deploy/platforms/vercel-entry.d.ts +2 -0
  87. package/dist/types/plugins/deploy/platforms/vercel-handler.d.cts +1 -0
  88. package/dist/types/plugins/deploy/platforms/vercel.d.ts +1 -1
  89. package/dist/types/plugins/deploy/utils.d.ts +1 -1
  90. package/dist/types/plugins/initialize/index.d.ts +1 -1
  91. package/dist/types/plugins/serverBuild.d.ts +1 -1
  92. package/dist/types/types/config/index.d.ts +8 -8
  93. package/dist/types/types/config/output.d.ts +1 -1
  94. package/dist/types/types/config/tools.d.ts +3 -3
  95. package/dist/types/types/hooks.d.ts +3 -3
  96. package/dist/types/types/index.d.ts +3 -3
  97. package/dist/types/types/legacyConfig/index.d.ts +3 -3
  98. package/dist/types/types/legacyConfig/tools.d.ts +1 -1
  99. package/dist/types/utils/createServer.d.ts +1 -1
  100. package/dist/types/utils/generateWatchFiles.d.ts +1 -1
  101. package/dist/types/utils/getSelectedEntries.d.ts +1 -1
  102. package/dist/types/utils/loadPlugins.d.ts +3 -3
  103. package/dist/types/utils/printInstructions.d.ts +1 -1
  104. package/dist/types/utils/register.d.ts +2 -2
  105. package/dist/types/utils/restart.d.ts +2 -2
  106. package/lib/types.d.ts +15 -0
  107. package/package.json +20 -20
  108. package/dist/esm/builder/builder-rspack/adapterCopy.js +0 -166
  109. package/dist/esm/builder/builder-rspack/index.js +0 -34
  110. package/dist/esm/builder/builder-webpack/adapterModern.js +0 -29
  111. package/dist/esm/builder/builder-webpack/createCopyPattern.js +0 -44
  112. package/dist/esm/builder/builder-webpack/index.js +0 -52
  113. package/dist/esm/builder/generator/createBuilderProviderConfig.js +0 -37
  114. package/dist/esm/builder/generator/getBuilderEnvironments.js +0 -81
  115. package/dist/esm/builder/generator/index.js +0 -94
  116. package/dist/esm/builder/index.js +0 -45
  117. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +0 -85
  118. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +0 -126
  119. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +0 -270
  120. package/dist/esm/builder/shared/builderPlugins/adapterWorker.js +0 -43
  121. package/dist/esm/builder/shared/builderPlugins/index.js +0 -4
  122. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -51
  123. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -37
  124. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +0 -317
  125. package/dist/esm/builder/shared/bundlerPlugins/index.js +0 -3
  126. package/dist/esm/builder/shared/createCopyInfo.js +0 -14
  127. package/dist/esm/builder/shared/index.js +0 -3
  128. package/dist/esm/builder/shared/loaders/serverModuleLoader.js +0 -7
  129. package/dist/esm/builder/shared/types.js +0 -0
  130. package/dist/esm/commands/build.js +0 -117
  131. package/dist/esm/commands/deploy.js +0 -48
  132. package/dist/esm/commands/dev.js +0 -169
  133. package/dist/esm/commands/index.js +0 -411
  134. package/dist/esm/commands/inspect.js +0 -28
  135. package/dist/esm/commands/serve.js +0 -93
  136. package/dist/esm/config/default.js +0 -190
  137. package/dist/esm/config/index.js +0 -3
  138. package/dist/esm/config/initialize/index.js +0 -9
  139. package/dist/esm/config/initialize/inits.js +0 -85
  140. package/dist/esm/config/legacy/createHtmlConfig.js +0 -21
  141. package/dist/esm/config/legacy/createOutputConfig.js +0 -45
  142. package/dist/esm/config/legacy/createSourceConfig.js +0 -46
  143. package/dist/esm/config/legacy/createToolsConfig.js +0 -28
  144. package/dist/esm/config/legacy/index.js +0 -43
  145. package/dist/esm/defineConfig.js +0 -16
  146. package/dist/esm/exports/server.js +0 -4
  147. package/dist/esm/hooks.js +0 -34
  148. package/dist/esm/index.js +0 -239
  149. package/dist/esm/locale/en.js +0 -43
  150. package/dist/esm/locale/index.js +0 -12
  151. package/dist/esm/locale/zh.js +0 -43
  152. package/dist/esm/plugins/analyze/constants.js +0 -14
  153. package/dist/esm/plugins/analyze/getBundleEntry.js +0 -102
  154. package/dist/esm/plugins/analyze/getFileSystemEntry.js +0 -238
  155. package/dist/esm/plugins/analyze/getHtmlTemplate.js +0 -178
  156. package/dist/esm/plugins/analyze/getServerRoutes.js +0 -132
  157. package/dist/esm/plugins/analyze/index.js +0 -380
  158. package/dist/esm/plugins/analyze/isDefaultExportFunction.js +0 -49
  159. package/dist/esm/plugins/analyze/templates.js +0 -6
  160. package/dist/esm/plugins/analyze/utils.js +0 -101
  161. package/dist/esm/plugins/deploy/dependencies/index.js +0 -614
  162. package/dist/esm/plugins/deploy/dependencies/utils.js +0 -394
  163. package/dist/esm/plugins/deploy/exports.js +0 -4
  164. package/dist/esm/plugins/deploy/index.js +0 -135
  165. package/dist/esm/plugins/deploy/platforms/netlify.js +0 -299
  166. package/dist/esm/plugins/deploy/platforms/netlifyEntry.js +0 -203
  167. package/dist/esm/plugins/deploy/platforms/node.js +0 -133
  168. package/dist/esm/plugins/deploy/platforms/nodeEntry.js +0 -108
  169. package/dist/esm/plugins/deploy/platforms/platform.js +0 -0
  170. package/dist/esm/plugins/deploy/platforms/vercel.js +0 -233
  171. package/dist/esm/plugins/deploy/platforms/vercelEntry.js +0 -203
  172. package/dist/esm/plugins/deploy/utils.js +0 -47
  173. package/dist/esm/plugins/initialize/index.js +0 -119
  174. package/dist/esm/plugins/serverBuild.js +0 -87
  175. package/dist/esm/types/config/deploy.js +0 -0
  176. package/dist/esm/types/config/dev.js +0 -0
  177. package/dist/esm/types/config/experiments.js +0 -0
  178. package/dist/esm/types/config/html.js +0 -0
  179. package/dist/esm/types/config/index.js +0 -1
  180. package/dist/esm/types/config/output.js +0 -0
  181. package/dist/esm/types/config/performance.js +0 -0
  182. package/dist/esm/types/config/security.js +0 -0
  183. package/dist/esm/types/config/source.js +0 -0
  184. package/dist/esm/types/config/testing.js +0 -0
  185. package/dist/esm/types/config/tools.js +0 -0
  186. package/dist/esm/types/hooks.js +0 -0
  187. package/dist/esm/types/index.js +0 -3
  188. package/dist/esm/types/legacyConfig/deploy.js +0 -0
  189. package/dist/esm/types/legacyConfig/dev.js +0 -0
  190. package/dist/esm/types/legacyConfig/index.js +0 -0
  191. package/dist/esm/types/legacyConfig/output.js +0 -0
  192. package/dist/esm/types/legacyConfig/source.js +0 -0
  193. package/dist/esm/types/legacyConfig/testing.js +0 -0
  194. package/dist/esm/types/legacyConfig/tools.js +0 -0
  195. package/dist/esm/types/utils.js +0 -0
  196. package/dist/esm/utils/config.js +0 -122
  197. package/dist/esm/utils/createServer.js +0 -58
  198. package/dist/esm/utils/env.js +0 -16
  199. package/dist/esm/utils/generateWatchFiles.js +0 -71
  200. package/dist/esm/utils/getSelectedEntries.js +0 -67
  201. package/dist/esm/utils/loadPlugins.js +0 -69
  202. package/dist/esm/utils/printInstructions.js +0 -32
  203. package/dist/esm/utils/register.js +0 -129
  204. package/dist/esm/utils/restart.js +0 -67
  205. package/dist/esm/utils/routes.js +0 -42
  206. package/dist/esm/utils/types.js +0 -0
  207. package/dist/esm-node/builder/builder-rspack/adapterCopy.js +0 -67
  208. package/dist/esm-node/builder/builder-rspack/index.js +0 -12
  209. package/dist/esm-node/builder/builder-webpack/adapterModern.js +0 -26
  210. package/dist/esm-node/builder/builder-webpack/createCopyPattern.js +0 -42
  211. package/dist/esm-node/builder/builder-webpack/index.js +0 -20
  212. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +0 -44
  213. package/dist/esm-node/builder/generator/getBuilderEnvironments.js +0 -60
  214. package/dist/esm-node/builder/generator/index.js +0 -37
  215. package/dist/esm-node/builder/index.js +0 -11
  216. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +0 -48
  217. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +0 -60
  218. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +0 -156
  219. package/dist/esm-node/builder/shared/builderPlugins/adapterWorker.js +0 -27
  220. package/dist/esm-node/builder/shared/builderPlugins/index.js +0 -4
  221. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -30
  222. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -31
  223. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +0 -231
  224. package/dist/esm-node/builder/shared/bundlerPlugins/index.js +0 -3
  225. package/dist/esm-node/builder/shared/createCopyInfo.js +0 -14
  226. package/dist/esm-node/builder/shared/index.js +0 -3
  227. package/dist/esm-node/builder/shared/loaders/serverModuleLoader.js +0 -7
  228. package/dist/esm-node/builder/shared/types.js +0 -0
  229. package/dist/esm-node/commands/build.js +0 -55
  230. package/dist/esm-node/commands/deploy.js +0 -12
  231. package/dist/esm-node/commands/dev.js +0 -95
  232. package/dist/esm-node/commands/index.js +0 -92
  233. package/dist/esm-node/commands/inspect.js +0 -15
  234. package/dist/esm-node/commands/serve.js +0 -51
  235. package/dist/esm-node/config/default.js +0 -197
  236. package/dist/esm-node/config/index.js +0 -3
  237. package/dist/esm-node/config/initialize/index.js +0 -9
  238. package/dist/esm-node/config/initialize/inits.js +0 -79
  239. package/dist/esm-node/config/legacy/createHtmlConfig.js +0 -21
  240. package/dist/esm-node/config/legacy/createOutputConfig.js +0 -45
  241. package/dist/esm-node/config/legacy/createSourceConfig.js +0 -29
  242. package/dist/esm-node/config/legacy/createToolsConfig.js +0 -28
  243. package/dist/esm-node/config/legacy/index.js +0 -43
  244. package/dist/esm-node/defineConfig.js +0 -13
  245. package/dist/esm-node/exports/server.js +0 -4
  246. package/dist/esm-node/hooks.js +0 -34
  247. package/dist/esm-node/index.js +0 -124
  248. package/dist/esm-node/locale/en.js +0 -43
  249. package/dist/esm-node/locale/index.js +0 -12
  250. package/dist/esm-node/locale/zh.js +0 -43
  251. package/dist/esm-node/plugins/analyze/constants.js +0 -14
  252. package/dist/esm-node/plugins/analyze/getBundleEntry.js +0 -61
  253. package/dist/esm-node/plugins/analyze/getFileSystemEntry.js +0 -100
  254. package/dist/esm-node/plugins/analyze/getHtmlTemplate.js +0 -74
  255. package/dist/esm-node/plugins/analyze/getServerRoutes.js +0 -132
  256. package/dist/esm-node/plugins/analyze/index.js +0 -166
  257. package/dist/esm-node/plugins/analyze/isDefaultExportFunction.js +0 -47
  258. package/dist/esm-node/plugins/analyze/templates.js +0 -24
  259. package/dist/esm-node/plugins/analyze/utils.js +0 -68
  260. package/dist/esm-node/plugins/deploy/dependencies/index.js +0 -201
  261. package/dist/esm-node/plugins/deploy/dependencies/utils.js +0 -126
  262. package/dist/esm-node/plugins/deploy/exports.js +0 -4
  263. package/dist/esm-node/plugins/deploy/index.js +0 -44
  264. package/dist/esm-node/plugins/deploy/platforms/netlify.js +0 -108
  265. package/dist/esm-node/plugins/deploy/platforms/netlifyEntry.js +0 -69
  266. package/dist/esm-node/plugins/deploy/platforms/node.js +0 -63
  267. package/dist/esm-node/plugins/deploy/platforms/nodeEntry.js +0 -44
  268. package/dist/esm-node/plugins/deploy/platforms/platform.js +0 -0
  269. package/dist/esm-node/plugins/deploy/platforms/vercel.js +0 -120
  270. package/dist/esm-node/plugins/deploy/platforms/vercelEntry.js +0 -69
  271. package/dist/esm-node/plugins/deploy/utils.js +0 -44
  272. package/dist/esm-node/plugins/initialize/index.js +0 -84
  273. package/dist/esm-node/plugins/serverBuild.js +0 -58
  274. package/dist/esm-node/types/config/deploy.js +0 -0
  275. package/dist/esm-node/types/config/dev.js +0 -0
  276. package/dist/esm-node/types/config/experiments.js +0 -0
  277. package/dist/esm-node/types/config/html.js +0 -0
  278. package/dist/esm-node/types/config/index.js +0 -1
  279. package/dist/esm-node/types/config/output.js +0 -0
  280. package/dist/esm-node/types/config/performance.js +0 -0
  281. package/dist/esm-node/types/config/security.js +0 -0
  282. package/dist/esm-node/types/config/source.js +0 -0
  283. package/dist/esm-node/types/config/testing.js +0 -0
  284. package/dist/esm-node/types/config/tools.js +0 -0
  285. package/dist/esm-node/types/hooks.js +0 -0
  286. package/dist/esm-node/types/index.js +0 -3
  287. package/dist/esm-node/types/legacyConfig/deploy.js +0 -0
  288. package/dist/esm-node/types/legacyConfig/dev.js +0 -0
  289. package/dist/esm-node/types/legacyConfig/index.js +0 -0
  290. package/dist/esm-node/types/legacyConfig/output.js +0 -0
  291. package/dist/esm-node/types/legacyConfig/source.js +0 -0
  292. package/dist/esm-node/types/legacyConfig/testing.js +0 -0
  293. package/dist/esm-node/types/legacyConfig/tools.js +0 -0
  294. package/dist/esm-node/types/utils.js +0 -0
  295. package/dist/esm-node/utils/config.js +0 -49
  296. package/dist/esm-node/utils/createServer.js +0 -26
  297. package/dist/esm-node/utils/env.js +0 -16
  298. package/dist/esm-node/utils/generateWatchFiles.js +0 -30
  299. package/dist/esm-node/utils/getSelectedEntries.js +0 -34
  300. package/dist/esm-node/utils/loadPlugins.js +0 -22
  301. package/dist/esm-node/utils/printInstructions.js +0 -11
  302. package/dist/esm-node/utils/register.js +0 -69
  303. package/dist/esm-node/utils/restart.js +0 -22
  304. package/dist/esm-node/utils/routes.js +0 -21
  305. package/dist/esm-node/utils/types.js +0 -0
  306. package/dist/types/plugins/deploy/platforms/netlifyEntry.d.ts +0 -2
  307. package/dist/types/plugins/deploy/platforms/vercelEntry.d.ts +0 -2
  308. /package/dist/cjs/plugins/deploy/platforms/{nodeEntry.js → node-entry.js} +0 -0
  309. /package/dist/types/plugins/deploy/platforms/{nodeEntry.d.ts → node-entry.d.ts} +0 -0
@@ -32,8 +32,8 @@ __export(adapterCopy_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(adapterCopy_exports);
34
34
  var import_path = __toESM(require("path"));
35
- var import_fs_extra = __toESM(require("@modern-js/utils/fs-extra"));
36
35
  var import_utils = require("@modern-js/utils");
36
+ var import_fs_extra = __toESM(require("@modern-js/utils/fs-extra"));
37
37
  var import_shared = require("../shared");
38
38
  const builderPluginAdpaterCopy = (options) => ({
39
39
  name: "builder-plugin-adapter-rspack-copy",
@@ -39,7 +39,6 @@ function createPublicPattern(appContext, config, chain) {
39
39
  to: "public",
40
40
  context: publicDir,
41
41
  noErrorOnMissing: true,
42
- // eslint-disable-next-line node/prefer-global/buffer
43
42
  transform: (content, absoluteFrom) => {
44
43
  if (!/\.html?$/.test(absoluteFrom)) {
45
44
  return content;
@@ -38,7 +38,7 @@ async function createWebpackBuilderForModern(options) {
38
38
  const { normalizedConfig } = options;
39
39
  if (normalizedConfig.tools.esbuild) {
40
40
  const { esbuild: esbuildOptions } = normalizedConfig.tools;
41
- const { pluginEsbuild } = await Promise.resolve().then(() => __toESM(require("@modern-js/rsbuild-plugin-esbuild")));
41
+ const { pluginEsbuild } = await import("@modern-js/rsbuild-plugin-esbuild");
42
42
  builder.addPlugins([
43
43
  pluginEsbuild(esbuildOptions)
44
44
  ]);
@@ -21,8 +21,8 @@ __export(getBuilderEnvironments_exports, {
21
21
  getBuilderEnvironments: () => getBuilderEnvironments
22
22
  });
23
23
  module.exports = __toCommonJS(getBuilderEnvironments_exports);
24
- var import_utils = require("@modern-js/utils");
25
24
  var import_uni_builder = require("@modern-js/uni-builder");
25
+ var import_utils = require("@modern-js/utils");
26
26
  function getBuilderEnvironments(normalizedConfig, appContext) {
27
27
  const entries = {};
28
28
  const { entrypoints = [], checkedEntries } = appContext;
@@ -50,7 +50,7 @@ async function generateBuilder(options, bundlerType) {
50
50
  return builder;
51
51
  }
52
52
  async function applyBuilderPlugins(builder, options) {
53
- const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterWorker } = await Promise.resolve().then(() => __toESM(require("../shared/builderPlugins")));
53
+ const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterWorker } = await import("../shared/builderPlugins/index.js");
54
54
  builder.addPlugins([
55
55
  builderPluginAdapterBasic(),
56
56
  builderPluginAdapterSSR(options),
@@ -59,7 +59,7 @@ async function applyBuilderPlugins(builder, options) {
59
59
  ]);
60
60
  const { normalizedConfig } = options;
61
61
  if (!normalizedConfig.output.disableNodePolyfill) {
62
- const { pluginNodePolyfill } = await Promise.resolve().then(() => __toESM(require("@rsbuild/plugin-node-polyfill")));
62
+ const { pluginNodePolyfill } = await import("@rsbuild/plugin-node-polyfill");
63
63
  builder.addPlugins([
64
64
  pluginNodePolyfill()
65
65
  ]);
@@ -33,10 +33,10 @@ __export(builder_exports, {
33
33
  module.exports = __toCommonJS(builder_exports);
34
34
  async function createBuilderGenerator(bundler) {
35
35
  if (bundler === "rspack") {
36
- const { createRspackBuilderForModern } = await Promise.resolve().then(() => __toESM(require("./builder-rspack")));
36
+ const { createRspackBuilderForModern } = await import("./builder-rspack/index.js");
37
37
  return createRspackBuilderForModern;
38
38
  }
39
- const { createWebpackBuilderForModern } = await Promise.resolve().then(() => __toESM(require("./builder-webpack")));
39
+ const { createWebpackBuilderForModern } = await import("./builder-webpack/index.js");
40
40
  return createWebpackBuilderForModern;
41
41
  }
42
42
  // Annotate the CommonJS export names for ESM import in node:
@@ -32,11 +32,11 @@ __export(adapterSSR_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(adapterSSR_exports);
34
34
  var path = __toESM(require("path"));
35
- var import_core = require("@rsbuild/core");
36
- var import_utils = require("@modern-js/utils");
37
35
  var import_uni_builder = require("@modern-js/uni-builder");
38
- var import_bundlerPlugins = require("../bundlerPlugins");
36
+ var import_utils = require("@modern-js/utils");
37
+ var import_core = require("@rsbuild/core");
39
38
  var import_utils2 = require("../../../plugins/analyze/utils");
39
+ var import_bundlerPlugins = require("../bundlerPlugins");
40
40
  const builderPluginAdapterSSR = (options) => ({
41
41
  name: "builder-plugin-adapter-modern-ssr",
42
42
  setup(api) {
@@ -49,7 +49,7 @@ const builderPluginAdapterSSR = (options) => ({
49
49
  server: {
50
50
  // the http-compression can't handler stream http.
51
51
  // so we disable compress when user use stream ssr temporarily.
52
- compress: isStreamingSSR(normalizedConfig) || isSSRPreload(normalizedConfig) ? false : void 0
52
+ compress: isStreamingSSR(normalizedConfig) ? false : void 0
53
53
  }
54
54
  });
55
55
  });
@@ -57,10 +57,6 @@ const builderPluginAdapterSSR = (options) => ({
57
57
  const builderConfig = environment.config;
58
58
  const { normalizedConfig: normalizedConfig2 } = options;
59
59
  applyRouterPlugin(chain, "route-plugin", options, HtmlBundlerPlugin);
60
- if ((0, import_utils.isUseSSRBundle)(normalizedConfig2)) {
61
- await applySSRLoaderEntry(chain, options, isServer);
62
- applySSRDataLoader(chain, options);
63
- }
64
60
  const isServiceWorker = environment.name === import_uni_builder.SERVICE_WORKER_ENVIRONMENT_NAME;
65
61
  if (target === "node" || isServiceWorker) {
66
62
  applyFilterEntriesBySSRConfig({
@@ -69,6 +65,10 @@ const builderPluginAdapterSSR = (options) => ({
69
65
  appNormalizedConfig: normalizedConfig2
70
66
  });
71
67
  }
68
+ if ((0, import_utils.isUseSSRBundle)(normalizedConfig2)) {
69
+ await applySSRLoaderEntry(chain, options, isServer);
70
+ applySSRDataLoader(chain, options);
71
+ }
72
72
  if (!(0, import_uni_builder.isHtmlDisabled)(builderConfig, target)) {
73
73
  applyAsyncChunkHtmlPlugin({
74
74
  chain,
@@ -79,11 +79,6 @@ const builderPluginAdapterSSR = (options) => ({
79
79
  });
80
80
  }
81
81
  });
82
- const isSSRPreload = (userConfig) => {
83
- const { server: { ssr, ssrByEntries } } = userConfig;
84
- const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
85
- return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
86
- };
87
82
  const isStreamingSSR = (userConfig) => {
88
83
  const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
89
84
  const { server } = userConfig;
@@ -22,8 +22,8 @@ __export(RouterPlugin_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(RouterPlugin_exports);
24
24
  var import_crypto = require("crypto");
25
- var import_lodash = require("@modern-js/utils/lodash");
26
25
  var import_utils = require("@modern-js/utils");
26
+ var import_lodash = require("@modern-js/utils/lodash");
27
27
  var import_constants = require("@modern-js/utils/universal/constants");
28
28
  const PLUGIN_NAME = "ModernjsRoutePlugin";
29
29
  const generateContentHash = (content) => {
@@ -211,10 +211,7 @@ class RouterPlugin {
211
211
  } else {
212
212
  const scriptPath = `${staticJsDir}/${ROUTE_MANIFEST_HOLDER}-${entryName}${disableFilenameHash ? ".js" : `.${generateContentHash(injectedContent)}.js`}`;
213
213
  const scriptUrl = `${publicPath}${scriptPath}`;
214
- const scriptLoadingAttr = (
215
- // eslint-disable-next-line no-nested-ternary
216
- scriptLoading === "defer" ? scriptLoading : scriptLoading === "module" ? `type="module"` : ""
217
- );
214
+ const scriptLoadingAttr = scriptLoading === "defer" ? scriptLoading : scriptLoading === "module" ? `type="module"` : "";
218
215
  const script = `<script ${scriptLoadingAttr} ${nonceAttr} src="${scriptUrl}"></script>`;
219
216
  compilation.updateAsset(
220
217
  htmlName,
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var build_exports = {};
20
30
  __export(build_exports, {
@@ -23,10 +33,10 @@ __export(build_exports, {
23
33
  module.exports = __toCommonJS(build_exports);
24
34
  var import_core = require("@modern-js/core");
25
35
  var import_utils = require("@modern-js/utils");
26
- var import_loadPlugins = require("../utils/loadPlugins");
27
- var import_routes = require("../utils/routes");
28
36
  var import_config = require("../utils/config");
37
+ var import_loadPlugins = require("../utils/loadPlugins");
29
38
  var import_register = require("../utils/register");
39
+ var import_routes = require("../utils/routes");
30
40
  const build = async (api, options) => {
31
41
  var _resolvedConfig_source;
32
42
  if (options === null || options === void 0 ? void 0 : options.analyze) {
@@ -36,6 +46,15 @@ const build = async (api, options) => {
36
46
  const appContext = api.useAppContext();
37
47
  const hookRunners = api.useHookRunners();
38
48
  await (0, import_loadPlugins.loadServerPlugins)(api, appContext.appDirectory, appContext.metaName);
49
+ if (appContext.moduleType && appContext.moduleType === "module") {
50
+ var _resolvedConfig_source1;
51
+ const { registerEsm } = await import("../esm/register-esm.mjs");
52
+ await registerEsm({
53
+ appDir: appContext.appDirectory,
54
+ distDir: appContext.distDirectory,
55
+ alias: (_resolvedConfig_source1 = resolvedConfig.source) === null || _resolvedConfig_source1 === void 0 ? void 0 : _resolvedConfig_source1.alias
56
+ });
57
+ }
39
58
  await (0, import_register.registerCompiler)(appContext.appDirectory, appContext.distDirectory, resolvedConfig === null || resolvedConfig === void 0 ? void 0 : (_resolvedConfig_source = resolvedConfig.source) === null || _resolvedConfig_source === void 0 ? void 0 : _resolvedConfig_source.alias);
40
59
  const { apiOnly } = appContext;
41
60
  if (apiOnly) {
@@ -33,15 +33,15 @@ __export(dev_exports, {
33
33
  module.exports = __toCommonJS(dev_exports);
34
34
  var import_node_path = __toESM(require("node:path"));
35
35
  var import_core = require("@modern-js/core");
36
- var import_utils = require("@modern-js/utils");
37
- var import_server = require("@modern-js/server");
38
36
  var import_prod_server = require("@modern-js/prod-server");
37
+ var import_server = require("@modern-js/server");
38
+ var import_utils = require("@modern-js/utils");
39
+ var import_config = require("../utils/config");
40
+ var import_createServer = require("../utils/createServer");
39
41
  var import_loadPlugins = require("../utils/loadPlugins");
40
- var import_register = require("../utils/register");
41
42
  var import_printInstructions = require("../utils/printInstructions");
42
- var import_createServer = require("../utils/createServer");
43
+ var import_register = require("../utils/register");
43
44
  var import_routes = require("../utils/routes");
44
- var import_config = require("../utils/config");
45
45
  const dev = async (api, options, devServerOptions) => {
46
46
  var _normalizedConfig_source, _normalizedConfig_tools, _normalizedConfig_dev;
47
47
  if (options.analyze) {
@@ -50,6 +50,15 @@ const dev = async (api, options, devServerOptions) => {
50
50
  let normalizedConfig = api.useResolvedConfigContext();
51
51
  const appContext = api.useAppContext();
52
52
  const hookRunners = api.useHookRunners();
53
+ if (appContext.moduleType && appContext.moduleType === "module") {
54
+ var _normalizedConfig_source1;
55
+ const { registerEsm } = await import("../esm/register-esm.mjs");
56
+ await registerEsm({
57
+ appDir: appContext.appDirectory,
58
+ distDir: appContext.distDirectory,
59
+ alias: (_normalizedConfig_source1 = normalizedConfig.source) === null || _normalizedConfig_source1 === void 0 ? void 0 : _normalizedConfig_source1.alias
60
+ });
61
+ }
53
62
  await (0, import_register.registerCompiler)(appContext.appDirectory, appContext.distDirectory, normalizedConfig === null || normalizedConfig === void 0 ? void 0 : (_normalizedConfig_source = normalizedConfig.source) === null || _normalizedConfig_source === void 0 ? void 0 : _normalizedConfig_source.alias);
54
63
  normalizedConfig = {
55
64
  ...normalizedConfig,
@@ -81,6 +90,7 @@ const dev = async (api, options, devServerOptions) => {
81
90
  },
82
91
  appContext: {
83
92
  appDirectory,
93
+ internalDirecory: appContext.internalDirectory,
84
94
  apiDirectory: appContext.apiDirectory,
85
95
  lambdaDirectory: appContext.lambdaDirectory,
86
96
  sharedDirectory: appContext.sharedDirectory
@@ -37,14 +37,14 @@ __export(commands_exports, {
37
37
  upgradeCommand: () => upgradeCommand
38
38
  });
39
39
  module.exports = __toCommonJS(commands_exports);
40
- var import_utils = require("@modern-js/utils");
41
40
  var import_uni_builder = require("@modern-js/uni-builder");
41
+ var import_utils = require("@modern-js/utils");
42
42
  var import_locale = require("../locale");
43
43
  const devCommand = async (program, api) => {
44
44
  const runner = api.useHookRunners();
45
45
  const devToolMetas = await runner.registerDev();
46
46
  const devProgram = program.command("dev").alias("start").usage("[options]").description(import_locale.i18n.t(import_locale.localeKeys.command.dev.describe)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).option("-e --entry [entry...]", import_locale.i18n.t(import_locale.localeKeys.command.dev.entry)).option("--analyze", import_locale.i18n.t(import_locale.localeKeys.command.shared.analyze)).option("--api-only", import_locale.i18n.t(import_locale.localeKeys.command.dev.apiOnly)).option("--web-only", import_locale.i18n.t(import_locale.localeKeys.command.dev.webOnly)).action(async (options) => {
47
- const { dev } = await Promise.resolve().then(() => __toESM(require("./dev")));
47
+ const { dev } = await import("./dev.js");
48
48
  await dev(api, options);
49
49
  });
50
50
  for (const meta of devToolMetas) {
@@ -54,7 +54,7 @@ const devCommand = async (program, api) => {
54
54
  for (const subCmd of meta.subCommands) {
55
55
  devProgram.command(subCmd).action(async (options = {}) => {
56
56
  const { appDirectory } = api.useAppContext();
57
- const { isTypescript } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
57
+ const { isTypescript } = await import("@modern-js/utils");
58
58
  await runner.beforeDevTask(meta);
59
59
  await meta.action(options, {
60
60
  isTsProject: isTypescript(appDirectory)
@@ -67,7 +67,7 @@ const buildCommand = async (program, api) => {
67
67
  const runner = api.useHookRunners();
68
68
  const platformBuilders = await runner.registerBuildPlatform();
69
69
  const buildProgram = program.command("build").usage("[options]").description(import_locale.i18n.t(import_locale.localeKeys.command.build.describe)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).option("--analyze", import_locale.i18n.t(import_locale.localeKeys.command.shared.analyze)).action(async (options) => {
70
- const { build } = await Promise.resolve().then(() => __toESM(require("./build")));
70
+ const { build } = await import("./build.js");
71
71
  await build(api, options);
72
72
  });
73
73
  for (const platformBuilder of platformBuilders) {
@@ -75,7 +75,7 @@ const buildCommand = async (program, api) => {
75
75
  for (const platform of platforms) {
76
76
  buildProgram.command(platform).action(async () => {
77
77
  const { appDirectory } = api.useAppContext();
78
- const { isTypescript } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
78
+ const { isTypescript } = await import("@modern-js/utils");
79
79
  await runner.beforeBuildPlatform(platformBuilders);
80
80
  await platformBuilder.build(platform, {
81
81
  isTsProject: isTypescript(appDirectory)
@@ -86,17 +86,17 @@ const buildCommand = async (program, api) => {
86
86
  };
87
87
  const serverCommand = (program, api) => {
88
88
  program.command("serve").usage("[options]").description(import_locale.i18n.t(import_locale.localeKeys.command.serve.describe)).option("--api-only", import_locale.i18n.t(import_locale.localeKeys.command.dev.apiOnly)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).action(async () => {
89
- const { start } = await Promise.resolve().then(() => __toESM(require("./serve")));
89
+ const { start } = await import("./serve.js");
90
90
  await start(api);
91
91
  });
92
92
  };
93
93
  const deployCommand = (program, api) => {
94
94
  program.command("deploy").usage("[options]").option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).option("-s --skip-build", import_locale.i18n.t(import_locale.localeKeys.command.shared.skipBuild)).description(import_locale.i18n.t(import_locale.localeKeys.command.deploy.describe)).action(async (options) => {
95
95
  if (!options.skipBuild) {
96
- const { build } = await Promise.resolve().then(() => __toESM(require("./build")));
96
+ const { build } = await import("./build.js");
97
97
  await build(api);
98
98
  }
99
- const { deploy } = await Promise.resolve().then(() => __toESM(require("./deploy")));
99
+ const { deploy } = await import("./deploy.js");
100
100
  await deploy(api, options);
101
101
  process.exit(0);
102
102
  });
@@ -111,7 +111,7 @@ const newCommand = (program, locale) => {
111
111
  };
112
112
  const inspectCommand = (program, api) => {
113
113
  program.command("inspect").description("inspect the internal configs").option(`--env <env>`, import_locale.i18n.t(import_locale.localeKeys.command.inspect.env), "development").option("--output <output>", import_locale.i18n.t(import_locale.localeKeys.command.inspect.output), "./").option("--verbose", import_locale.i18n.t(import_locale.localeKeys.command.inspect.verbose)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).action(async (options) => {
114
- const { inspect } = await Promise.resolve().then(() => __toESM(require("./inspect")));
114
+ const { inspect } = await import("./inspect.js");
115
115
  inspect(api, options);
116
116
  });
117
117
  };
@@ -32,16 +32,16 @@ __export(serve_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(serve_exports);
34
34
  var import_path = __toESM(require("path"));
35
- var import_utils = require("@modern-js/utils");
36
35
  var import_prod_server = require("@modern-js/prod-server");
37
- var import_printInstructions = require("../utils/printInstructions");
36
+ var import_utils = require("@modern-js/utils");
38
37
  var import_loadPlugins = require("../utils/loadPlugins");
38
+ var import_printInstructions = require("../utils/printInstructions");
39
39
  const start = async (api) => {
40
40
  var _userConfig_source, _userConfig_output_distPath;
41
41
  const appContext = api.useAppContext();
42
42
  const userConfig = api.useResolvedConfigContext();
43
43
  const hookRunners = api.useHookRunners();
44
- const { distDirectory, appDirectory, port, metaName, serverRoutes, serverConfigFile } = appContext;
44
+ const { distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile } = appContext;
45
45
  import_utils.logger.info(`Starting production server...`);
46
46
  const apiOnly = await (0, import_utils.isApiOnly)(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.entriesDir, appContext.apiDirectory);
47
47
  let runMode;
@@ -69,6 +69,7 @@ const start = async (api) => {
69
69
  serverConfigPath,
70
70
  appContext: {
71
71
  appDirectory,
72
+ internalDirectory,
72
73
  sharedDirectory: (0, import_utils.getTargetDir)(appContext.sharedDirectory, appContext.appDirectory, appContext.distDirectory),
73
74
  apiDirectory: (0, import_utils.getTargetDir)(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
74
75
  lambdaDirectory: (0, import_utils.getTargetDir)(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
@@ -49,14 +49,14 @@ function initHtmlConfig(config, appContext) {
49
49
  function createBuilderAppIcon(config2, appContext2) {
50
50
  const { appIcon } = config2.html;
51
51
  const { configDir } = config2.source;
52
- const defaultAppIcon = (0, import_utils.findExists)(ICON_EXTENSIONS.map((ext) => import_path.default.resolve(appContext2.appDirectory, configDir || "./config", `icon.${ext}`)));
53
- return appIcon || defaultAppIcon || void 0;
52
+ const getDefaultAppIcon = () => (0, import_utils.findExists)(ICON_EXTENSIONS.map((ext) => import_path.default.resolve(appContext2.appDirectory, configDir || "./config", `icon.${ext}`)));
53
+ return appIcon || getDefaultAppIcon() || void 0;
54
54
  }
55
55
  function createBuilderFavicon(config2, appContext2) {
56
56
  const { configDir } = config2.source;
57
57
  const { favicon } = config2.html;
58
- const defaultFavicon = (0, import_utils.findExists)(ICON_EXTENSIONS.map((ext) => import_path.default.resolve(appContext2.appDirectory, configDir || "./config", `favicon.${ext}`)));
59
- return favicon || defaultFavicon || void 0;
58
+ const getDefaultFavicon = () => (0, import_utils.findExists)(ICON_EXTENSIONS.map((ext) => import_path.default.resolve(appContext2.appDirectory, configDir || "./config", `favicon.${ext}`)));
59
+ return favicon || getDefaultFavicon() || void 0;
60
60
  }
61
61
  }
62
62
  function initSourceConfig(config, appContext, bundler) {
@@ -22,10 +22,10 @@ __export(legacy_exports, {
22
22
  transformNormalizedConfig: () => transformNormalizedConfig
23
23
  });
24
24
  module.exports = __toCommonJS(legacy_exports);
25
- var import_createToolsConfig = require("./createToolsConfig");
26
- var import_createSourceConfig = require("./createSourceConfig");
27
- var import_createOutputConfig = require("./createOutputConfig");
28
25
  var import_createHtmlConfig = require("./createHtmlConfig");
26
+ var import_createOutputConfig = require("./createOutputConfig");
27
+ var import_createSourceConfig = require("./createSourceConfig");
28
+ var import_createToolsConfig = require("./createToolsConfig");
29
29
  function transformNormalizedConfig(config) {
30
30
  const html = (0, import_createHtmlConfig.createHtmlConfig)(config);
31
31
  const output = (0, import_createOutputConfig.createOutputConfig)(config);
@@ -0,0 +1,20 @@
1
+ import { pathToFileURL } from 'url';
2
+ import { createMatchPath } from './utils.mjs';
3
+
4
+ let matchPath;
5
+ export async function initialize({ appDir, alias, tsconfigPath }) {
6
+ matchPath = createMatchPath({
7
+ alias,
8
+ appDir,
9
+ tsconfigPath,
10
+ });
11
+ }
12
+
13
+ export function resolve(specifier, context, defaultResolve) {
14
+ const match = matchPath(specifier);
15
+ return match
16
+ ? defaultResolve(pathToFileURL(match).href, context)
17
+ : defaultResolve(specifier, context);
18
+ }
19
+
20
+ export { load } from 'esbuild-register/loader';
@@ -0,0 +1,66 @@
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
+ }
12
+ };
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);
50
+ }
51
+ const esbuildRegister = await import('esbuild-register/dist/node');
52
+ esbuildRegister.register({
53
+ tsconfigRaw: hasTsconfig ? tsConfig : undefined,
54
+ hookIgnoreNodeModules: true,
55
+ hookMatcher: fileName => !fileName.startsWith(distDir),
56
+ });
57
+ register('./esbuild-loader.mjs', import.meta.url, {
58
+ data: {
59
+ appDir,
60
+ distDir,
61
+ alias,
62
+ tsconfigPath,
63
+ },
64
+ });
65
+ }
66
+ };
@@ -0,0 +1,21 @@
1
+ import { pathToFileURL } from 'url';
2
+ import { resolve as tsNodeResolve } from 'ts-node/esm';
3
+ import { createMatchPath } from './utils.mjs';
4
+
5
+ let matchPath;
6
+ export async function initialize({ appDir, alias, tsconfigPath }) {
7
+ matchPath = createMatchPath({
8
+ alias,
9
+ appDir,
10
+ tsconfigPath,
11
+ });
12
+ }
13
+
14
+ export function resolve(specifier, context, defaultResolve) {
15
+ const match = matchPath(specifier);
16
+ return match
17
+ ? tsNodeResolve(pathToFileURL(match).href, context, defaultResolve)
18
+ : tsNodeResolve(specifier, context, defaultResolve);
19
+ }
20
+
21
+ export { transformSource, load } from 'ts-node/esm';
@@ -0,0 +1,43 @@
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);
43
+ }
package/dist/cjs/index.js CHANGED
@@ -36,18 +36,18 @@ __export(src_exports, {
36
36
  });
37
37
  module.exports = __toCommonJS(src_exports);
38
38
  var import_path = __toESM(require("path"));
39
+ var import_language_detector = require("@modern-js/plugin-i18n/language-detector");
39
40
  var import_plugin_lint = require("@modern-js/plugin-lint");
40
41
  var import_utils = require("@modern-js/utils");
41
- var import_language_detector = require("@modern-js/plugin-i18n/language-detector");
42
- var import_initialize = __toESM(require("./plugins/initialize"));
43
- var import_analyze = __toESM(require("./plugins/analyze"));
44
- var import_serverBuild = __toESM(require("./plugins/serverBuild"));
45
- var import_deploy = __toESM(require("./plugins/deploy"));
46
42
  var import_hooks = require("./hooks");
47
43
  var import_locale = require("./locale");
48
- var import_restart = require("./utils/restart");
49
- var import_generateWatchFiles = require("./utils/generateWatchFiles");
44
+ var import_analyze = __toESM(require("./plugins/analyze"));
45
+ var import_deploy = __toESM(require("./plugins/deploy"));
46
+ var import_initialize = __toESM(require("./plugins/initialize"));
47
+ var import_serverBuild = __toESM(require("./plugins/serverBuild"));
50
48
  var import_commands = require("./commands");
49
+ var import_generateWatchFiles = require("./utils/generateWatchFiles");
50
+ var import_restart = require("./utils/restart");
51
51
  var import_dev = require("./commands/dev");
52
52
  var import_core = require("@modern-js/core");
53
53
  __reExport(src_exports, require("./defineConfig"), module.exports);
@@ -139,7 +139,7 @@ const appTools = (options = {
139
139
  async fileChange(e) {
140
140
  const { filename, eventType, isPrivate } = e;
141
141
  if (!isPrivate && (eventType === "change" || eventType === "unlink")) {
142
- const { closeServer } = await Promise.resolve().then(() => __toESM(require("./utils/createServer")));
142
+ const { closeServer } = await import("./utils/createServer");
143
143
  await closeServer();
144
144
  await (0, import_restart.restart)(api.useHookRunners(), filename);
145
145
  }
@@ -23,8 +23,8 @@ __export(locale_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(locale_exports);
25
25
  var import_plugin_i18n = require("@modern-js/plugin-i18n");
26
- var import_zh = require("./zh");
27
26
  var import_en = require("./en");
27
+ var import_zh = require("./zh");
28
28
  const i18n = new import_plugin_i18n.I18n();
29
29
  const localeKeys = i18n.init("en", {
30
30
  zh: import_zh.ZH_LOCALE,
@@ -31,8 +31,8 @@ __export(getServerRoutes_exports, {
31
31
  getServerRoutes: () => getServerRoutes
32
32
  });
33
33
  module.exports = __toCommonJS(getServerRoutes_exports);
34
- var import_path = __toESM(require("path"));
35
34
  var import_fs = __toESM(require("fs"));
35
+ var import_path = __toESM(require("path"));
36
36
  var import_utils = require("@modern-js/utils");
37
37
  var import_routes = require("../../utils/routes");
38
38
  var import_utils2 = require("./utils");
@@ -111,7 +111,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
111
111
  const entryOptions = (0, import_utils.getEntryOptions)(entryName, isMain, ssr, ssrByEntries, packageName);
112
112
  const isSSR = Boolean(entryOptions);
113
113
  const isWorker = Boolean(workerSSR);
114
- const isStream = typeof entryOptions === "object" && (entryOptions.mode === "stream" || Boolean(entryOptions.preload));
114
+ const isStream = typeof entryOptions === "object" && entryOptions.mode === "stream";
115
115
  const { resHeaders } = (routes === null || routes === void 0 ? void 0 : routes[entryName]) || {};
116
116
  let route = {
117
117
  urlPath: `/${isMain ? "" : entryName}`,