@modern-js/app-tools 2.58.1 → 2.58.3

Sign up to get free protection for your applications and to get access to all the features.
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}`,