@bleedingdev/modern-js-app-tools 3.8.3-ultramodern.1 → 3.8.3-ultramodern.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 (238) hide show
  1. package/bin/modern-bundle-docs.js +11 -0
  2. package/bin/modern.js +11 -0
  3. package/dist/cjs/builder/generator/getBuilderEnvironments.js +13 -241
  4. package/dist/cjs/builder/generator/index.js +0 -1
  5. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +37 -9
  6. package/dist/cjs/builder/shared/builderPlugins/index.js +6 -13
  7. package/dist/cjs/builder/shared/bundlerPlugins/index.js +6 -13
  8. package/dist/cjs/builder/shared/lazyCompilation.js +9 -9
  9. package/dist/cjs/bundleDocs.js +1 -1
  10. package/dist/cjs/index.js +59 -60
  11. package/dist/cjs/plugins/analyze/getServerRoutes.js +1 -1
  12. package/dist/cjs/plugins/analyze/isDefaultExportFunction.js +1 -9
  13. package/dist/cjs/plugins/backend-federation/codegen.js +2 -1
  14. package/dist/cjs/plugins/backend-federation/config.js +2 -2
  15. package/dist/cjs/plugins/backend-federation/emit.js +6 -4
  16. package/dist/cjs/plugins/deploy/index.js +4 -4
  17. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js +23 -149
  18. package/dist/cjs/plugins/deploy/platforms/templates/netlify-entry.cjs +41 -62
  19. package/dist/cjs/plugins/deploy/platforms/templates/netlify-entry.mjs +41 -63
  20. package/dist/cjs/plugins/deploy/platforms/templates/node-entry.cjs +35 -52
  21. package/dist/cjs/plugins/deploy/platforms/templates/node-entry.mjs +35 -53
  22. package/dist/cjs/plugins/deploy/platforms/templates/vercel-entry.cjs +41 -61
  23. package/dist/cjs/plugins/deploy/platforms/templates/vercel-entry.mjs +40 -61
  24. package/dist/cjs/plugins/ultramodernReleaseEnvelope.js +3 -59
  25. package/dist/cjs/presetUltramodern.js +9 -4
  26. package/dist/cjs/run/index.js +9 -9
  27. package/dist/cjs/utils/register.js +6 -3
  28. package/dist/esm/builder/generator/getBuilderEnvironments.mjs +12 -231
  29. package/dist/esm/builder/generator/index.mjs +1 -2
  30. package/dist/esm/builder/shared/builderPlugins/adapterSSR.mjs +34 -9
  31. package/dist/esm/builder/shared/builderPlugins/index.mjs +0 -1
  32. package/dist/esm/builder/shared/bundlerPlugins/index.mjs +0 -1
  33. package/dist/esm/builder/shared/lazyCompilation.mjs +4 -4
  34. package/dist/esm/bundleDocs.mjs +1 -1
  35. package/dist/esm/index.mjs +3 -3
  36. package/dist/esm/plugins/analyze/getServerRoutes.mjs +1 -1
  37. package/dist/esm/plugins/analyze/isDefaultExportFunction.mjs +1 -9
  38. package/dist/esm/plugins/backend-federation/codegen.mjs +2 -1
  39. package/dist/esm/plugins/backend-federation/config.mjs +1 -1
  40. package/dist/esm/plugins/backend-federation/emit.mjs +5 -3
  41. package/dist/esm/plugins/deploy/index.mjs +1 -1
  42. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +1 -133
  43. package/dist/esm/plugins/deploy/platforms/templates/netlify-entry.cjs +41 -62
  44. package/dist/esm/plugins/deploy/platforms/templates/netlify-entry.mjs +41 -63
  45. package/dist/esm/plugins/deploy/platforms/templates/node-entry.cjs +35 -52
  46. package/dist/esm/plugins/deploy/platforms/templates/node-entry.mjs +35 -53
  47. package/dist/esm/plugins/deploy/platforms/templates/vercel-entry.cjs +41 -61
  48. package/dist/esm/plugins/deploy/platforms/templates/vercel-entry.mjs +40 -61
  49. package/dist/esm/plugins/ultramodernReleaseEnvelope.mjs +3 -49
  50. package/dist/esm/presetUltramodern.mjs +2 -1
  51. package/dist/esm/run/index.mjs +9 -9
  52. package/dist/esm/utils/register.mjs +6 -3
  53. package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +12 -234
  54. package/dist/esm-node/builder/generator/index.mjs +1 -2
  55. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.mjs +34 -9
  56. package/dist/esm-node/builder/shared/builderPlugins/index.mjs +0 -1
  57. package/dist/esm-node/builder/shared/bundlerPlugins/index.mjs +0 -1
  58. package/dist/esm-node/builder/shared/lazyCompilation.mjs +4 -4
  59. package/dist/esm-node/bundleDocs.mjs +1 -1
  60. package/dist/esm-node/index.mjs +3 -3
  61. package/dist/esm-node/plugins/analyze/getServerRoutes.mjs +1 -1
  62. package/dist/esm-node/plugins/analyze/isDefaultExportFunction.mjs +1 -9
  63. package/dist/esm-node/plugins/backend-federation/codegen.mjs +2 -1
  64. package/dist/esm-node/plugins/backend-federation/config.mjs +1 -1
  65. package/dist/esm-node/plugins/backend-federation/emit.mjs +5 -3
  66. package/dist/esm-node/plugins/deploy/index.mjs +1 -1
  67. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +1 -133
  68. package/dist/esm-node/plugins/deploy/platforms/templates/netlify-entry.cjs +41 -62
  69. package/dist/esm-node/plugins/deploy/platforms/templates/netlify-entry.mjs +41 -63
  70. package/dist/esm-node/plugins/deploy/platforms/templates/node-entry.cjs +35 -52
  71. package/dist/esm-node/plugins/deploy/platforms/templates/node-entry.mjs +35 -53
  72. package/dist/esm-node/plugins/deploy/platforms/templates/vercel-entry.cjs +41 -61
  73. package/dist/esm-node/plugins/deploy/platforms/templates/vercel-entry.mjs +40 -61
  74. package/dist/esm-node/plugins/ultramodernReleaseEnvelope.mjs +3 -49
  75. package/dist/esm-node/presetUltramodern.mjs +2 -1
  76. package/dist/esm-node/run/index.mjs +9 -9
  77. package/dist/esm-node/utils/register.mjs +6 -3
  78. package/dist/types/builder/generator/getBuilderEnvironments.d.ts +0 -29
  79. package/dist/types/builder/shared/builderPlugins/adapterSSR.d.ts +11 -0
  80. package/dist/types/builder/shared/builderPlugins/index.d.ts +0 -1
  81. package/dist/types/builder/shared/bundlerPlugins/index.d.ts +0 -1
  82. package/dist/types/builder/shared/lazyCompilation.d.ts +7 -7
  83. package/dist/types/plugins/analyze/getServerRoutes.d.ts +1 -1
  84. package/dist/types/plugins/backend-federation/codegen.d.ts +4 -1
  85. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/index.d.ts +1 -18
  86. package/dist/types/presetUltramodern.d.ts +1 -0
  87. package/dist/types/types/config/deploy.d.ts +2 -2
  88. package/docs/community/showcase.md +3 -5
  89. package/docs/guides/advanced-features/bff/frameworks.md +1 -1
  90. package/docs/guides/basic-features/deploy.md +2 -2
  91. package/docs/guides/get-started/quick-start.md +9 -8
  92. package/docs/guides/get-started/tech-stack.md +1 -1
  93. package/docs/guides/get-started/ultramodern.md +18 -18
  94. package/docs/guides/troubleshooting/cli.md +1 -1
  95. package/docs/llms.txt +2 -2
  96. package/docs/tutorials/examples/csr-auth.md +1 -1
  97. package/package.json +15 -27
  98. package/rslib.config.mts +4 -7
  99. package/dist/cjs/builder/shared/builderPlugins/adapterLazyCompilation.js +0 -74
  100. package/dist/cjs/builder/shared/bundlerPlugins/CssExtractRuntimePlugin.js +0 -72
  101. package/dist/cjs/plugins/deploy/platforms/cloudflare/artifacts.js +0 -127
  102. package/dist/cjs/plugins/deploy/platforms/cloudflare/constants.js +0 -141
  103. package/dist/cjs/plugins/deploy/platforms/cloudflare/delivery-unit.js +0 -139
  104. package/dist/cjs/plugins/deploy/platforms/cloudflare/i18n-worker.js +0 -135
  105. package/dist/cjs/plugins/deploy/platforms/cloudflare/index.js +0 -150
  106. package/dist/cjs/plugins/deploy/platforms/cloudflare/security-policies.js +0 -205
  107. package/dist/cjs/plugins/deploy/platforms/cloudflare/types.js +0 -18
  108. package/dist/cjs/plugins/deploy/platforms/cloudflare/utils.js +0 -66
  109. package/dist/cjs/plugins/deploy/platforms/cloudflare/worker-manifest.js +0 -208
  110. package/dist/cjs/plugins/deploy/platforms/cloudflare/wrangler-config.js +0 -204
  111. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-contract.js +0 -108
  112. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-plan.js +0 -93
  113. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/identity.js +0 -83
  114. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/issues.js +0 -54
  115. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/manifest.js +0 -89
  116. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.js +0 -151
  117. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.js +0 -378
  118. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +0 -251
  119. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.mjs +0 -191
  120. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.mjs +0 -514
  121. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.mjs +0 -1012
  122. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.mjs +0 -363
  123. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.006-fetch-handler.mjs +0 -93
  124. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-worker-fs-promises.mjs +0 -11
  125. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-worker-loadable-server.mjs +0 -281
  126. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  127. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-worker-path.mjs +0 -98
  128. package/dist/cjs/types/config/cloudflareDeploy.js +0 -18
  129. package/dist/cjs/ultramodern-release-envelope/canonical.js +0 -68
  130. package/dist/cjs/ultramodern-release-envelope/framework-output.js +0 -649
  131. package/dist/cjs/ultramodern-release-envelope/index.js +0 -399
  132. package/dist/cjs/ultramodern-release-envelope/types.js +0 -51
  133. package/dist/cjs/ultramodern-release-identity.js +0 -110
  134. package/dist/esm/builder/shared/builderPlugins/adapterLazyCompilation.mjs +0 -36
  135. package/dist/esm/builder/shared/bundlerPlugins/CssExtractRuntimePlugin.mjs +0 -30
  136. package/dist/esm/plugins/deploy/platforms/cloudflare/artifacts.mjs +0 -64
  137. package/dist/esm/plugins/deploy/platforms/cloudflare/constants.mjs +0 -34
  138. package/dist/esm/plugins/deploy/platforms/cloudflare/delivery-unit.mjs +0 -88
  139. package/dist/esm/plugins/deploy/platforms/cloudflare/i18n-worker.mjs +0 -97
  140. package/dist/esm/plugins/deploy/platforms/cloudflare/index.mjs +0 -102
  141. package/dist/esm/plugins/deploy/platforms/cloudflare/security-policies.mjs +0 -167
  142. package/dist/esm/plugins/deploy/platforms/cloudflare/types.mjs +0 -0
  143. package/dist/esm/plugins/deploy/platforms/cloudflare/utils.mjs +0 -12
  144. package/dist/esm/plugins/deploy/platforms/cloudflare/worker-manifest.mjs +0 -148
  145. package/dist/esm/plugins/deploy/platforms/cloudflare/wrangler-config.mjs +0 -150
  146. package/dist/esm/plugins/deploy/platforms/cloudflare-output-contract.mjs +0 -31
  147. package/dist/esm/plugins/deploy/platforms/cloudflare-output-plan.mjs +0 -45
  148. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/identity.mjs +0 -45
  149. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/issues.mjs +0 -10
  150. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/manifest.mjs +0 -51
  151. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.mjs +0 -99
  152. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +0 -313
  153. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +0 -251
  154. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.mjs +0 -191
  155. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.mjs +0 -514
  156. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.mjs +0 -1012
  157. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.mjs +0 -363
  158. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.006-fetch-handler.mjs +0 -93
  159. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-worker-fs-promises.mjs +0 -11
  160. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-worker-loadable-server.mjs +0 -281
  161. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  162. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-worker-path.mjs +0 -98
  163. package/dist/esm/types/config/cloudflareDeploy.mjs +0 -0
  164. package/dist/esm/ultramodern-release-envelope/canonical.mjs +0 -21
  165. package/dist/esm/ultramodern-release-envelope/framework-output.mjs +0 -573
  166. package/dist/esm/ultramodern-release-envelope/index.mjs +0 -335
  167. package/dist/esm/ultramodern-release-envelope/types.mjs +0 -7
  168. package/dist/esm/ultramodern-release-identity.mjs +0 -66
  169. package/dist/esm-node/builder/shared/builderPlugins/adapterLazyCompilation.mjs +0 -37
  170. package/dist/esm-node/builder/shared/bundlerPlugins/CssExtractRuntimePlugin.mjs +0 -31
  171. package/dist/esm-node/plugins/deploy/platforms/cloudflare/artifacts.mjs +0 -65
  172. package/dist/esm-node/plugins/deploy/platforms/cloudflare/constants.mjs +0 -35
  173. package/dist/esm-node/plugins/deploy/platforms/cloudflare/delivery-unit.mjs +0 -89
  174. package/dist/esm-node/plugins/deploy/platforms/cloudflare/i18n-worker.mjs +0 -98
  175. package/dist/esm-node/plugins/deploy/platforms/cloudflare/index.mjs +0 -103
  176. package/dist/esm-node/plugins/deploy/platforms/cloudflare/security-policies.mjs +0 -168
  177. package/dist/esm-node/plugins/deploy/platforms/cloudflare/types.mjs +0 -1
  178. package/dist/esm-node/plugins/deploy/platforms/cloudflare/utils.mjs +0 -13
  179. package/dist/esm-node/plugins/deploy/platforms/cloudflare/worker-manifest.mjs +0 -149
  180. package/dist/esm-node/plugins/deploy/platforms/cloudflare/wrangler-config.mjs +0 -151
  181. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-contract.mjs +0 -32
  182. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-plan.mjs +0 -46
  183. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/identity.mjs +0 -46
  184. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/issues.mjs +0 -11
  185. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/manifest.mjs +0 -52
  186. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.mjs +0 -100
  187. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +0 -314
  188. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +0 -251
  189. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.mjs +0 -191
  190. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.mjs +0 -514
  191. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.mjs +0 -1012
  192. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.mjs +0 -363
  193. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.006-fetch-handler.mjs +0 -93
  194. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-worker-fs-promises.mjs +0 -11
  195. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-worker-loadable-server.mjs +0 -281
  196. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  197. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-worker-path.mjs +0 -98
  198. package/dist/esm-node/types/config/cloudflareDeploy.mjs +0 -1
  199. package/dist/esm-node/ultramodern-release-envelope/canonical.mjs +0 -22
  200. package/dist/esm-node/ultramodern-release-envelope/framework-output.mjs +0 -574
  201. package/dist/esm-node/ultramodern-release-envelope/index.mjs +0 -336
  202. package/dist/esm-node/ultramodern-release-envelope/types.mjs +0 -8
  203. package/dist/esm-node/ultramodern-release-identity.mjs +0 -67
  204. package/dist/types/builder/shared/builderPlugins/adapterLazyCompilation.d.ts +0 -3
  205. package/dist/types/builder/shared/bundlerPlugins/CssExtractRuntimePlugin.d.ts +0 -6
  206. package/dist/types/plugins/deploy/platforms/cloudflare/artifacts.d.ts +0 -15
  207. package/dist/types/plugins/deploy/platforms/cloudflare/constants.d.ts +0 -24
  208. package/dist/types/plugins/deploy/platforms/cloudflare/delivery-unit.d.ts +0 -23
  209. package/dist/types/plugins/deploy/platforms/cloudflare/i18n-worker.d.ts +0 -22
  210. package/dist/types/plugins/deploy/platforms/cloudflare/index.d.ts +0 -2
  211. package/dist/types/plugins/deploy/platforms/cloudflare/security-policies.d.ts +0 -51
  212. package/dist/types/plugins/deploy/platforms/cloudflare/types.d.ts +0 -5
  213. package/dist/types/plugins/deploy/platforms/cloudflare/utils.d.ts +0 -6
  214. package/dist/types/plugins/deploy/platforms/cloudflare/worker-manifest.d.ts +0 -122
  215. package/dist/types/plugins/deploy/platforms/cloudflare/wrangler-config.d.ts +0 -46
  216. package/dist/types/plugins/deploy/platforms/cloudflare-output-contract.d.ts +0 -14
  217. package/dist/types/plugins/deploy/platforms/cloudflare-output-plan.d.ts +0 -34
  218. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/identity.d.ts +0 -4
  219. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/issues.d.ts +0 -14
  220. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/manifest.d.ts +0 -2
  221. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.d.ts +0 -14
  222. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.d.ts +0 -20
  223. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.d.mts +0 -1
  224. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.d.mts +0 -1
  225. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.d.mts +0 -1
  226. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.d.mts +0 -1
  227. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.d.mts +0 -1
  228. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.006-fetch-handler.d.mts +0 -4
  229. package/dist/types/plugins/deploy/platforms/templates/cloudflare-worker-fs-promises.d.mts +0 -5
  230. package/dist/types/plugins/deploy/platforms/templates/cloudflare-worker-loadable-server.d.mts +0 -48
  231. package/dist/types/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +0 -13
  232. package/dist/types/plugins/deploy/platforms/templates/cloudflare-worker-path.d.mts +0 -21
  233. package/dist/types/types/config/cloudflareDeploy.d.ts +0 -161
  234. package/dist/types/ultramodern-release-envelope/canonical.d.ts +0 -5
  235. package/dist/types/ultramodern-release-envelope/framework-output.d.ts +0 -32
  236. package/dist/types/ultramodern-release-envelope/index.d.ts +0 -6
  237. package/dist/types/ultramodern-release-envelope/types.d.ts +0 -62
  238. package/dist/types/ultramodern-release-identity.d.ts +0 -16
@@ -1,4 +1,15 @@
1
1
  #!/usr/bin/env node
2
+ const nodeVersion = /^(\d+)\.(\d+)\.(\d+)$/.exec(process.versions.node);
3
+ if (
4
+ !nodeVersion ||
5
+ +nodeVersion[1] < 26 ||
6
+ (+nodeVersion[1] === 26 && +nodeVersion[2] < 7)
7
+ ) {
8
+ console.error(
9
+ `UltraModern.js requires Node.js >=26.7.0; detected v${process.versions.node}. Legacy Node runtimes and transpiler fallbacks are unsupported.`,
10
+ );
11
+ process.exit(1);
12
+ }
2
13
  // The CLI body lives in the compiled ESM output; a CommonJS shim keeps the
3
14
  // shebang and stays executable on any Node without a loader.
4
15
  const path = require('path');
package/bin/modern.js CHANGED
@@ -1,4 +1,15 @@
1
1
  #!/usr/bin/env node
2
+ const nodeVersion = /^(\d+)\.(\d+)\.(\d+)$/.exec(process.versions.node);
3
+ if (
4
+ !nodeVersion ||
5
+ +nodeVersion[1] < 26 ||
6
+ (+nodeVersion[1] === 26 && +nodeVersion[2] < 7)
7
+ ) {
8
+ console.error(
9
+ `UltraModern.js requires Node.js >=26.7.0; detected v${process.versions.node}. Legacy Node runtimes and transpiler fallbacks are unsupported.`,
10
+ );
11
+ process.exit(1);
12
+ }
2
13
  const { INTERNAL_RUNTIME_PLUGINS } = require('@modern-js/utils');
3
14
 
4
15
  const { version } = require('../package.json');
@@ -37,10 +37,7 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- applyCloudflareWorkerMfRuntimeBoundary: ()=>applyCloudflareWorkerMfRuntimeBoundary,
41
- applyCloudflareWorkerRspackConfig: ()=>applyCloudflareWorkerRspackConfig,
42
- getBuilderEnvironments: ()=>getBuilderEnvironments,
43
- getCloudflareWorkerRspackConfig: ()=>getCloudflareWorkerRspackConfig
40
+ getBuilderEnvironments: ()=>getBuilderEnvironments
44
41
  });
45
42
  const external_node_fs_namespaceObject = require("node:fs");
46
43
  var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
@@ -48,30 +45,6 @@ const external_node_path_namespaceObject = require("node:path");
48
45
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
49
46
  const builder_namespaceObject = require("@modern-js/builder");
50
47
  const utils_namespaceObject = require("@modern-js/utils");
51
- const cloudflare_output_contract_js_namespaceObject = require("../../plugins/deploy/platforms/cloudflare-output-contract.js");
52
- const BFF_EFFECT_WORKER_ENTRY_NAME = '__modern_bff_effect';
53
- const BFF_EFFECT_WORKER_RUNTIME_QUERY = 'modern-bff-runtime';
54
- const MF_SSR_DATA_FETCH_RUNTIME_PLUGIN = '@module-federation/modern-js-v3/ssr-inject-data-fetch-function-plugin';
55
- const MF_SSR_DEV_RUNTIME_PLUGIN = '@module-federation/modern-js-v3/ssr-dev-plugin';
56
- const JS_OR_TS_EXTS = [
57
- '.js',
58
- '.jsx',
59
- '.ts',
60
- '.tsx',
61
- '.mjs',
62
- '.mts',
63
- '.cjs',
64
- '.cts'
65
- ];
66
- const CLOUDFLARE_WORKER_COMPAT_TEMPLATE_DIR = external_node_path_default().resolve(__dirname, '../../plugins/deploy/platforms/templates');
67
- function findExistingFile(candidates) {
68
- return candidates.find((candidate)=>external_node_fs_default().existsSync(candidate));
69
- }
70
- function resolveJsOrTsEntry(entryWithoutOrWithExt) {
71
- const extension = external_node_path_default().extname(entryWithoutOrWithExt);
72
- if (JS_OR_TS_EXTS.includes(extension)) return external_node_fs_default().existsSync(entryWithoutOrWithExt) ? entryWithoutOrWithExt : void 0;
73
- return findExistingFile(JS_OR_TS_EXTS.map((extension)=>`${entryWithoutOrWithExt}${extension}`));
74
- }
75
48
  function resolvePackageEntry(packageName, paths) {
76
49
  try {
77
50
  return external_node_fs_default().realpathSync(require.resolve(packageName, {
@@ -115,94 +88,6 @@ function findPackageRoot(entryFile, packageName) {
115
88
  function setAliasIfPresent(alias, name, value) {
116
89
  if (value) alias.set(name, value);
117
90
  }
118
- function getCloudflareWorkerCompatFile(file) {
119
- return external_node_path_default().join(CLOUDFLARE_WORKER_COMPAT_TEMPLATE_DIR, file);
120
- }
121
- function getCloudflareWorkerNodeExternals() {
122
- return Object.fromEntries(cloudflare_output_contract_js_namespaceObject.CLOUDFLARE_WORKER_NODE_BUILTINS.flatMap((builtin)=>{
123
- const nodeBuiltin = `node:${builtin}`;
124
- return [
125
- [
126
- builtin,
127
- `module-import ${nodeBuiltin}`
128
- ],
129
- [
130
- nodeBuiltin,
131
- `module-import ${nodeBuiltin}`
132
- ]
133
- ];
134
- }));
135
- }
136
- const reserveWorkerChunkName = (baseName, reservedOutputNames)=>{
137
- let name = baseName;
138
- while(reservedOutputNames.has(normalizeWorkerOutputName(name)))name = `${name}_`;
139
- return name;
140
- };
141
- const normalizeWorkerOutputName = (name)=>external_node_path_default().posix.normalize(name.replace(/\\/gu, '/')).toLowerCase();
142
- function getCloudflareWorkerRspackConfig(workerEntryNames) {
143
- const entryNames = [
144
- ...workerEntryNames
145
- ];
146
- for (const entryName of entryNames){
147
- const slashName = entryName.replace(/\\/gu, '/');
148
- const normalizedName = external_node_path_default().posix.normalize(slashName);
149
- if (entryName !== slashName || normalizedName !== slashName || '.' === normalizedName || normalizedName.startsWith('../') || external_node_path_default().posix.isAbsolute(normalizedName) || external_node_path_default().win32.isAbsolute(slashName) || /^[A-Za-z]:/u.test(slashName)) throw new Error(`Cloudflare worker entry name "${entryName}" must be a canonical relative output path without dot segments or backslashes.`);
150
- }
151
- const reservedNames = new Set(entryNames.map(normalizeWorkerOutputName));
152
- const runtimeName = reserveWorkerChunkName('__modern_worker_runtime', reservedNames);
153
- reservedNames.add(normalizeWorkerOutputName(runtimeName));
154
- const sharedName = reserveWorkerChunkName('__modern_worker_shared', reservedNames);
155
- return {
156
- experiments: {
157
- outputModule: true
158
- },
159
- externals: getCloudflareWorkerNodeExternals(),
160
- externalsType: 'module-import',
161
- module: {
162
- parser: {
163
- javascript: {
164
- dynamicImportMode: 'eager'
165
- }
166
- }
167
- },
168
- optimization: {
169
- runtimeChunk: {
170
- name: runtimeName
171
- },
172
- splitChunks: {
173
- chunks: 'all',
174
- minSize: 0,
175
- name: sharedName
176
- }
177
- }
178
- };
179
- }
180
- function applyCloudflareWorkerRspackConfig(chain, workerEntryNames) {
181
- const config = getCloudflareWorkerRspackConfig(workerEntryNames);
182
- chain.experiments(config.experiments);
183
- chain.externals(config.externals);
184
- chain.externalsType(config.externalsType);
185
- chain.module.parser.merge(config.module.parser);
186
- chain.optimization.runtimeChunk(config.optimization.runtimeChunk);
187
- chain.optimization.splitChunks(config.optimization.splitChunks);
188
- }
189
- function applyCloudflareWorkerMfRuntimeBoundary(chain) {
190
- chain.plugins.delete('plugin-module-federation');
191
- chain.resolve.alias.set(`${MF_SSR_DATA_FETCH_RUNTIME_PLUGIN}$`, getCloudflareWorkerCompatFile('cloudflare-worker-mf-ssr-runtime-plugin.mjs'));
192
- chain.resolve.alias.set(`${MF_SSR_DEV_RUNTIME_PLUGIN}$`, getCloudflareWorkerCompatFile('cloudflare-worker-mf-ssr-runtime-plugin.mjs'));
193
- }
194
- function getEffectBffEntry(normalizedConfig, appContext) {
195
- if (!normalizedConfig.bff || 'hono' === normalizedConfig.bff.runtimeFramework) return;
196
- const configuredEntry = normalizedConfig.bff.effect?.entry;
197
- if (configuredEntry) {
198
- const entryWithoutOrWithExtension = external_node_path_default().isAbsolute(configuredEntry) ? configuredEntry : external_node_path_default().resolve(appContext.appDirectory, configuredEntry);
199
- return resolveJsOrTsEntry(entryWithoutOrWithExtension);
200
- }
201
- return resolveJsOrTsEntry(external_node_path_default().resolve(appContext.apiDirectory, 'index'));
202
- }
203
- function isCloudflareWorkerDeploy(normalizedConfig) {
204
- return normalizedConfig.deploy?.target === 'cloudflare' || 'cloudflare' === process.env.MODERNJS_DEPLOY;
205
- }
206
91
  function getConsumingReactRuntimeAliases(appContext) {
207
92
  const resolvePaths = [
208
93
  appContext.appDirectory,
@@ -256,11 +141,6 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
256
141
  const v = entries[entry];
257
142
  serverEntries[entry] = v.map((entry)=>entry.replace('index.jsx', 'index.server.jsx')).map((entry)=>entry.replace('bootstrap.jsx', 'bootstrap.server.jsx'));
258
143
  }
259
- const cloudflareWorkerServerEntries = {};
260
- for(const entry in entries){
261
- const v = entries[entry];
262
- cloudflareWorkerServerEntries[entry] = v.map((entry)=>entry.replace('index.jsx', 'index.server.jsx')).map((entry)=>entry.replace('bootstrap.jsx', 'index.server.jsx'));
263
- }
264
144
  const environments = {
265
145
  client: {
266
146
  output: {
@@ -285,133 +165,25 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
285
165
  }
286
166
  };
287
167
  const useWorkerTarget = (0, utils_namespaceObject.isServiceWorker)(normalizedConfig);
288
- if (useWorkerTarget) {
289
- const useCloudflareModuleWorker = isCloudflareWorkerDeploy(normalizedConfig);
290
- const effectApiEntry = useCloudflareModuleWorker ? getEffectBffEntry(normalizedConfig, appContext) : void 0;
291
- const tanstackRouterSsrServerFile = useCloudflareModuleWorker ? resolvePackageFile('@tanstack/router-core', 'dist/esm/ssr/ssr-server.js', [
292
- appContext.appDirectory,
293
- process.cwd()
294
- ]) : void 0;
295
- const runtimeRscWorkerFile = useCloudflareModuleWorker ? resolvePackageFile('@modern-js/runtime', 'dist/esm/rsc/server.worker.mjs', [
296
- appContext.appDirectory,
297
- process.cwd()
298
- ]) : void 0;
299
- const renderRscWorkerFile = useCloudflareModuleWorker ? resolvePackageFile('@modern-js/render', 'dist/esm/rscWorker.mjs', [
300
- appContext.appDirectory,
301
- process.cwd()
302
- ]) : void 0;
303
- const reactFile = useCloudflareModuleWorker ? resolvePackageFile('react', 'index.js', [
304
- appContext.appDirectory,
305
- process.cwd()
306
- ]) : void 0;
307
- const reactJsxRuntimeFile = useCloudflareModuleWorker ? resolvePackageFile('react', 'jsx-runtime.js', [
308
- appContext.appDirectory,
309
- process.cwd()
310
- ]) : void 0;
311
- const reactJsxDevRuntimeFile = useCloudflareModuleWorker ? resolvePackageFile('react', 'jsx-dev-runtime.js', [
312
- appContext.appDirectory,
313
- process.cwd()
314
- ]) : void 0;
315
- const reactDomFile = useCloudflareModuleWorker ? resolvePackageFile('react-dom', 'index.js', [
316
- appContext.appDirectory,
317
- process.cwd()
318
- ]) : void 0;
319
- const reactDomServerEdgeFile = useCloudflareModuleWorker ? resolvePackageFile('react-dom', 'server.edge.js', [
320
- appContext.appDirectory,
321
- process.cwd()
322
- ]) : void 0;
323
- const loadableComponentFile = useCloudflareModuleWorker ? resolvePackageFile('@loadable/component', 'dist/esm/loadable.esm.mjs', [
324
- appContext.appDirectory,
325
- process.cwd(),
326
- CLOUDFLARE_WORKER_COMPAT_TEMPLATE_DIR
327
- ]) : void 0;
328
- const loadableServerWorkerFile = useCloudflareModuleWorker ? getCloudflareWorkerCompatFile('cloudflare-worker-loadable-server.mjs') : void 0;
329
- const fsPromisesWorkerFile = useCloudflareModuleWorker ? getCloudflareWorkerCompatFile('cloudflare-worker-fs-promises.mjs') : void 0;
330
- const pathWorkerFile = useCloudflareModuleWorker ? getCloudflareWorkerCompatFile('cloudflare-worker-path.mjs') : void 0;
331
- const baseWorkerEntries = useCloudflareModuleWorker ? cloudflareWorkerServerEntries : serverEntries;
332
- const workerEntries = effectApiEntry ? {
333
- ...baseWorkerEntries,
334
- [BFF_EFFECT_WORKER_ENTRY_NAME]: [
335
- `${effectApiEntry}?${BFF_EFFECT_WORKER_RUNTIME_QUERY}`
336
- ]
337
- } : baseWorkerEntries;
338
- environments[builder_namespaceObject.SERVICE_WORKER_ENVIRONMENT_NAME] = {
339
- output: {
340
- target: useCloudflareModuleWorker ? 'web' : 'web-worker',
341
- ...useCloudflareModuleWorker ? {
342
- module: true
343
- } : {}
344
- },
345
- source: {
346
- entry: workerEntries
347
- },
348
- tools: {
349
- htmlPlugin: false,
350
- ...useCloudflareModuleWorker ? {
351
- bundlerChain: (chain)=>{
352
- applyCloudflareWorkerRspackConfig(chain, Object.keys(workerEntries));
353
- chain.output.module(true).library({
354
- type: 'module'
355
- }).publicPath('/').chunkFormat('module').chunkLoading('import').workerChunkLoading('import');
356
- for (const condition of [
357
- 'workerd',
358
- 'worker',
359
- 'webpack',
360
- (0, utils_namespaceObject.isProd)() ? 'production' : 'development',
361
- 'import',
362
- 'require',
363
- 'module'
364
- ])chain.resolve.conditionNames.add(condition);
365
- applyCloudflareWorkerMfRuntimeBoundary(chain);
366
- if (tanstackRouterSsrServerFile) {
367
- chain.resolve.alias.set('@tanstack/router-core/ssr/server$', tanstackRouterSsrServerFile);
368
- chain.resolve.alias.set('@tanstack/router-core/ssr/server', tanstackRouterSsrServerFile);
369
- }
370
- if (runtimeRscWorkerFile) {
371
- chain.resolve.alias.set('@modern-js/runtime/rsc/server$', runtimeRscWorkerFile);
372
- chain.resolve.alias.set('@modern-js/runtime/rsc/server', runtimeRscWorkerFile);
373
- }
374
- if (renderRscWorkerFile) {
375
- chain.resolve.alias.set('@modern-js/render/rsc$', renderRscWorkerFile);
376
- chain.resolve.alias.set('@modern-js/render/rsc', renderRscWorkerFile);
377
- chain.resolve.alias.set('@modern-js/render/rsc-worker$', renderRscWorkerFile);
378
- }
379
- setAliasIfPresent(chain.resolve.alias, 'react$', reactFile);
380
- setAliasIfPresent(chain.resolve.alias, 'react/jsx-runtime$', reactJsxRuntimeFile);
381
- setAliasIfPresent(chain.resolve.alias, 'react/jsx-dev-runtime$', reactJsxDevRuntimeFile);
382
- setAliasIfPresent(chain.resolve.alias, 'react-dom$', reactDomFile);
383
- setAliasIfPresent(chain.resolve.alias, 'react-dom/server.edge$', reactDomServerEdgeFile);
384
- setAliasIfPresent(chain.resolve.alias, '@loadable/component$', loadableComponentFile);
385
- setAliasIfPresent(chain.resolve.alias, '@loadable/server$', loadableServerWorkerFile);
386
- setAliasIfPresent(chain.resolve.alias, 'fs/promises$', fsPromisesWorkerFile);
387
- setAliasIfPresent(chain.resolve.alias, 'node:fs/promises$', fsPromisesWorkerFile);
388
- setAliasIfPresent(chain.resolve.alias, 'path$', pathWorkerFile);
389
- setAliasIfPresent(chain.resolve.alias, 'node:path$', pathWorkerFile);
390
- chain.resolve.alias.set('react-server-dom-rspack/server.node$', 'react-server-dom-rspack/server.edge');
391
- chain.resolve.alias.set('react-server-dom-rspack/server.node', 'react-server-dom-rspack/server.edge');
392
- chain.resolve.alias.set('react-server-dom-rspack/client.node$', 'react-server-dom-rspack/client.edge');
393
- chain.resolve.alias.set('react-server-dom-rspack/client.node', 'react-server-dom-rspack/client.edge');
394
- chain.resolve.fallback.set('fs', false);
395
- chain.resolve.fallback.set('node:fs', false);
396
- }
397
- } : {}
398
- }
399
- };
400
- }
168
+ if (useWorkerTarget) environments[builder_namespaceObject.SERVICE_WORKER_ENVIRONMENT_NAME] = {
169
+ output: {
170
+ target: 'web-worker'
171
+ },
172
+ source: {
173
+ entry: serverEntries
174
+ },
175
+ tools: {
176
+ htmlPlugin: false
177
+ }
178
+ };
401
179
  return {
402
180
  environments,
403
181
  builderConfig: tempBuilderConfig
404
182
  };
405
183
  }
406
- exports.applyCloudflareWorkerMfRuntimeBoundary = __webpack_exports__.applyCloudflareWorkerMfRuntimeBoundary;
407
- exports.applyCloudflareWorkerRspackConfig = __webpack_exports__.applyCloudflareWorkerRspackConfig;
408
184
  exports.getBuilderEnvironments = __webpack_exports__.getBuilderEnvironments;
409
- exports.getCloudflareWorkerRspackConfig = __webpack_exports__.getCloudflareWorkerRspackConfig;
410
185
  for(var __rspack_i in __webpack_exports__)if (-1 === [
411
- "applyCloudflareWorkerMfRuntimeBoundary",
412
- "applyCloudflareWorkerRspackConfig",
413
- "getBuilderEnvironments",
414
- "getCloudflareWorkerRspackConfig"
186
+ "getBuilderEnvironments"
415
187
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
416
188
  Object.defineProperty(exports, '__esModule', {
417
189
  value: true
@@ -70,7 +70,6 @@ async function generateBuilder(options, bundlerType) {
70
70
  async function applyBuilderPlugins(builder, options) {
71
71
  builder.addPlugins([
72
72
  (0, index_js_namespaceObject.builderPluginAdapterBasic)(options),
73
- (0, index_js_namespaceObject.builderPluginAdapterLazyCompilation)(options),
74
73
  (0, index_js_namespaceObject.builderPluginAdapterSSR)(options),
75
74
  (0, index_js_namespaceObject.builderPluginAdapterHtml)(options),
76
75
  (0, index_js_namespaceObject.builderPluginAdapterPrecompress)(options),
@@ -28,26 +28,37 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
- builderPluginAdapterSSR: ()=>builderPluginAdapterSSR
31
+ builderPluginAdapterSSR: ()=>builderPluginAdapterSSR,
32
+ getSSRLazyCompilation: ()=>getSSRLazyCompilation
32
33
  });
34
+ const app_tools_extensions_namespaceObject = require("@modern-js/app-tools-extensions");
33
35
  const builder_namespaceObject = require("@modern-js/builder");
34
36
  const utils_namespaceObject = require("@modern-js/utils");
35
37
  const core_namespaceObject = require("@rsbuild/core");
36
38
  const external_path_namespaceObject = require("path");
37
39
  const utils_js_namespaceObject = require("../../../plugins/analyze/utils.js");
38
40
  const index_js_namespaceObject = require("../bundlerPlugins/index.js");
41
+ const external_lazyCompilation_js_namespaceObject = require("../lazyCompilation.js");
39
42
  const builderPluginAdapterSSR = (options)=>({
40
43
  name: 'builder-plugin-adapter-modern-ssr',
41
44
  setup (api) {
42
- const { normalizedConfig, appContext } = options;
43
- api.modifyRsbuildConfig((config)=>(0, core_namespaceObject.mergeRsbuildConfig)(config, {
45
+ const { normalizedConfig, appContext, eagerRouteComponentFilesByEntry } = options;
46
+ api.modifyRsbuildConfig((config)=>{
47
+ const merged = (0, core_namespaceObject.mergeRsbuildConfig)(config, {
44
48
  html: {
45
49
  inject: isStreamingSSR(normalizedConfig) ? 'head' : void 0
46
50
  },
47
51
  server: {
48
52
  compress: isStreamingSSR(normalizedConfig) || (0, utils_namespaceObject.isUseRsc)(normalizedConfig) ? false : void 0
49
53
  }
50
- }));
54
+ });
55
+ const lazyCompilation = getSSRLazyCompilation(merged.dev?.lazyCompilation, normalizedConfig, appContext, eagerRouteComponentFilesByEntry);
56
+ if (void 0 !== lazyCompilation) merged.dev = {
57
+ ...merged.dev,
58
+ lazyCompilation
59
+ };
60
+ return merged;
61
+ });
51
62
  api.modifyBundlerChain(async (chain, { target, isProd, HtmlPlugin: HtmlBundlerPlugin, isServer, environment })=>{
52
63
  const builderConfig = environment.config;
53
64
  const { normalizedConfig } = options;
@@ -83,6 +94,22 @@ const isStreamingSSR = (userConfig)=>{
83
94
  }
84
95
  return false;
85
96
  };
97
+ function getSSRLazyCompilation(current, normalizedConfig, appContext, eagerRouteComponentFilesByEntry) {
98
+ if (!current || (0, utils_namespaceObject.isUseRsc)(normalizedConfig) || !isStreamingSSR(normalizedConfig)) return;
99
+ const plan = (0, external_lazyCompilation_js_namespaceObject.planSSRLazyCompilation)(current, (0, external_lazyCompilation_js_namespaceObject.aggregateEagerRouteComponentFiles)(eagerRouteComponentFilesByEntry));
100
+ if (!plan.apply) {
101
+ if (plan.unresolvedByEntry) warnUnresolvedRouteComponents(appContext.appDirectory, plan.unresolvedByEntry);
102
+ return;
103
+ }
104
+ return plan.lazyCompilation;
105
+ }
106
+ const warnedLazyApps = new Set();
107
+ function warnUnresolvedRouteComponents(appDirectory, unresolvedByEntry) {
108
+ if (warnedLazyApps.has(appDirectory)) return;
109
+ warnedLazyApps.add(appDirectory);
110
+ const detail = Array.from(unresolvedByEntry).map(([entry, comps])=>`${entry}: ${comps.join(', ')}`).join('; ');
111
+ utils_namespaceObject.logger.warn(`[lazyCompilation] Skipped stream SSR route-eager optimization because some route components could not be resolved to a file (${detail}). Lazy compilation may break first-screen CSS/JS for these routes.`);
112
+ }
86
113
  function applyAsyncChunkHtmlPlugin({ chain, modernConfig, HtmlBundlerPlugin }) {
87
114
  if (isStreamingSSR(modernConfig) || (0, utils_namespaceObject.isUseRsc)(modernConfig)) chain.plugin('html-async-chunk').use(index_js_namespaceObject.HtmlAsyncChunkPlugin, [
88
115
  HtmlBundlerPlugin
@@ -96,7 +123,7 @@ function applyRouterPlugin(chain, pluginName, options, HtmlBundlerPlugin) {
96
123
  const { enableInlineRouteManifests, disableInlineRouteManifests } = normalizedConfig.output;
97
124
  const inlineRouteManifests = disableInlineRouteManifests ? !disableInlineRouteManifests : enableInlineRouteManifests;
98
125
  if (existNestedRoutes || workerSSR) {
99
- chain.plugin(`${pluginName}-css-extract-runtime`).use(index_js_namespaceObject.CssExtractRuntimePlugin);
126
+ chain.plugin(`${pluginName}-css-extract-runtime`).use(app_tools_extensions_namespaceObject.CssExtractRuntimePlugin);
100
127
  chain.plugin(pluginName).use(index_js_namespaceObject.RouterPlugin, [
101
128
  {
102
129
  HtmlBundlerPlugin,
@@ -130,10 +157,9 @@ function applyFilterEntriesBySSRConfig({ isProd, chain, appNormalizedConfig }) {
130
157
  });
131
158
  }
132
159
  async function applySSRLoaderEntry(chain, optinos, isServer) {
133
- const { appContext, normalizedConfig } = optinos;
160
+ const { appContext } = optinos;
134
161
  const { internalDirectory } = appContext;
135
162
  const { entrypoints } = appContext;
136
- const isRsc = (0, utils_namespaceObject.isUseRsc)(normalizedConfig);
137
163
  await Promise.all(entrypoints.map(async (entrypoint)=>{
138
164
  const { entryName } = entrypoint;
139
165
  const serverLoadersFile = (0, utils_js_namespaceObject.getServerCombinedModuleFile)(internalDirectory, entryName);
@@ -141,7 +167,7 @@ async function applySSRLoaderEntry(chain, optinos, isServer) {
141
167
  await utils_namespaceObject.fs.access(serverLoadersFile, utils_namespaceObject.fs.constants.F_OK);
142
168
  chain.entry(`${entryName}-server-loaders`).add(serverLoadersFile);
143
169
  } catch (err) {}
144
- else if (isRsc) chain.entry(`${entryName}-server-loaders`).add("data:text/javascript,export%20{};");
170
+ else if ((0, utils_namespaceObject.isUseRsc)(optinos.normalizedConfig)) chain.entry(`${entryName}-server-loaders`).add("data:text/javascript,export%20{};");
145
171
  }));
146
172
  }
147
173
  function applySSRDataLoader(chain, options) {
@@ -153,8 +179,10 @@ function applySSRDataLoader(chain, options) {
153
179
  chain.module.rule('ssr-data-loader').test(reg).use('data-loader').loader(require.resolve('@modern-js/plugin-data-loader/loader')).end();
154
180
  }
155
181
  exports.builderPluginAdapterSSR = __webpack_exports__.builderPluginAdapterSSR;
182
+ exports.getSSRLazyCompilation = __webpack_exports__.getSSRLazyCompilation;
156
183
  for(var __rspack_i in __webpack_exports__)if (-1 === [
157
- "builderPluginAdapterSSR"
184
+ "builderPluginAdapterSSR",
185
+ "getSSRLazyCompilation"
158
186
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
159
187
  Object.defineProperty(exports, '__esModule', {
160
188
  value: true
@@ -6,9 +6,6 @@ var __webpack_modules__ = {
6
6
  "./adapterHtml" (module) {
7
7
  module.exports = require("./adapterHtml.js");
8
8
  },
9
- "./adapterLazyCompilation" (module) {
10
- module.exports = require("./adapterLazyCompilation.js");
11
- },
12
9
  "./adapterPrecompress" (module) {
13
10
  module.exports = require("./adapterPrecompress.js");
14
11
  },
@@ -74,21 +71,17 @@ var __webpack_exports__ = {};
74
71
  var __rspack_reexport = {};
75
72
  for(const __rspack_import_key in _adapterHtml__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_adapterHtml__rspack_import_1[__rspack_import_key];
76
73
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
77
- var _adapterLazyCompilation__rspack_import_2 = __webpack_require__("./adapterLazyCompilation");
78
- var __rspack_reexport = {};
79
- for(const __rspack_import_key in _adapterLazyCompilation__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_adapterLazyCompilation__rspack_import_2[__rspack_import_key];
80
- __webpack_require__.d(__webpack_exports__, __rspack_reexport);
81
- var _adapterPrecompress__rspack_import_3 = __webpack_require__("./adapterPrecompress");
74
+ var _adapterPrecompress__rspack_import_2 = __webpack_require__("./adapterPrecompress");
82
75
  var __rspack_reexport = {};
83
- for(const __rspack_import_key in _adapterPrecompress__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_adapterPrecompress__rspack_import_3[__rspack_import_key];
76
+ for(const __rspack_import_key in _adapterPrecompress__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_adapterPrecompress__rspack_import_2[__rspack_import_key];
84
77
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
85
- var _adapterSSR__rspack_import_4 = __webpack_require__("./adapterSSR");
78
+ var _adapterSSR__rspack_import_3 = __webpack_require__("./adapterSSR");
86
79
  var __rspack_reexport = {};
87
- for(const __rspack_import_key in _adapterSSR__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_adapterSSR__rspack_import_4[__rspack_import_key];
80
+ for(const __rspack_import_key in _adapterSSR__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_adapterSSR__rspack_import_3[__rspack_import_key];
88
81
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
89
- var _builderHooks__rspack_import_5 = __webpack_require__("./builderHooks");
82
+ var _builderHooks__rspack_import_4 = __webpack_require__("./builderHooks");
90
83
  var __rspack_reexport = {};
91
- for(const __rspack_import_key in _builderHooks__rspack_import_5)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_builderHooks__rspack_import_5[__rspack_import_key];
84
+ for(const __rspack_import_key in _builderHooks__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_builderHooks__rspack_import_4[__rspack_import_key];
92
85
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
93
86
  })();
94
87
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
2
  var __webpack_modules__ = {
3
- "./CssExtractRuntimePlugin" (module) {
4
- module.exports = require("./CssExtractRuntimePlugin.js");
5
- },
6
3
  "./HtmlAsyncChunkPlugin" (module) {
7
4
  module.exports = require("./HtmlAsyncChunkPlugin.js");
8
5
  },
@@ -60,21 +57,17 @@ function __webpack_require__(moduleId) {
60
57
  var __webpack_exports__ = {};
61
58
  (()=>{
62
59
  __webpack_require__.r(__webpack_exports__);
63
- var _CssExtractRuntimePlugin__rspack_import_0 = __webpack_require__("./CssExtractRuntimePlugin");
64
- var __rspack_reexport = {};
65
- for(const __rspack_import_key in _CssExtractRuntimePlugin__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_CssExtractRuntimePlugin__rspack_import_0[__rspack_import_key];
66
- __webpack_require__.d(__webpack_exports__, __rspack_reexport);
67
- var _HtmlAsyncChunkPlugin__rspack_import_1 = __webpack_require__("./HtmlAsyncChunkPlugin");
60
+ var _HtmlAsyncChunkPlugin__rspack_import_0 = __webpack_require__("./HtmlAsyncChunkPlugin");
68
61
  var __rspack_reexport = {};
69
- for(const __rspack_import_key in _HtmlAsyncChunkPlugin__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_HtmlAsyncChunkPlugin__rspack_import_1[__rspack_import_key];
62
+ for(const __rspack_import_key in _HtmlAsyncChunkPlugin__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_HtmlAsyncChunkPlugin__rspack_import_0[__rspack_import_key];
70
63
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
71
- var _HtmlBottomTemplate__rspack_import_2 = __webpack_require__("./HtmlBottomTemplate");
64
+ var _HtmlBottomTemplate__rspack_import_1 = __webpack_require__("./HtmlBottomTemplate");
72
65
  var __rspack_reexport = {};
73
- for(const __rspack_import_key in _HtmlBottomTemplate__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_HtmlBottomTemplate__rspack_import_2[__rspack_import_key];
66
+ for(const __rspack_import_key in _HtmlBottomTemplate__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_HtmlBottomTemplate__rspack_import_1[__rspack_import_key];
74
67
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
75
- var _RouterPlugin__rspack_import_3 = __webpack_require__("./RouterPlugin");
68
+ var _RouterPlugin__rspack_import_2 = __webpack_require__("./RouterPlugin");
76
69
  var __rspack_reexport = {};
77
- for(const __rspack_import_key in _RouterPlugin__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_RouterPlugin__rspack_import_3[__rspack_import_key];
70
+ for(const __rspack_import_key in _RouterPlugin__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_RouterPlugin__rspack_import_2[__rspack_import_key];
78
71
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
79
72
  })();
80
73
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -29,10 +29,10 @@ var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  aggregateEagerRouteComponentFiles: ()=>aggregateEagerRouteComponentFiles,
32
- buildRouteEagerLazyCompilationTest: ()=>buildRouteEagerLazyCompilationTest,
32
+ buildSSRLazyCompilationTest: ()=>buildSSRLazyCompilationTest,
33
33
  collectRouteComponentFiles: ()=>utils_namespaceObject.collectRouteComponentFiles,
34
34
  normalizeModulePath: ()=>utils_namespaceObject.normalizeModulePath,
35
- planRouteEagerLazyCompilation: ()=>planRouteEagerLazyCompilation
35
+ planSSRLazyCompilation: ()=>planSSRLazyCompilation
36
36
  });
37
37
  const utils_namespaceObject = require("@modern-js/utils");
38
38
  function aggregateEagerRouteComponentFiles(byEntry) {
@@ -47,7 +47,7 @@ function aggregateEagerRouteComponentFiles(byEntry) {
47
47
  unresolvedByEntry
48
48
  };
49
49
  }
50
- function buildRouteEagerLazyCompilationTest(eagerRouteFiles, userTest) {
50
+ function buildSSRLazyCompilationTest(eagerRouteFiles, userTest) {
51
51
  const userTestFn = 'function' == typeof userTest ? userTest : userTest instanceof RegExp ? (m)=>userTest.test(m.resource || '') : ()=>true;
52
52
  return (m)=>{
53
53
  const resource = m.resource;
@@ -56,7 +56,7 @@ function buildRouteEagerLazyCompilationTest(eagerRouteFiles, userTest) {
56
56
  return userTestFn(m);
57
57
  };
58
58
  }
59
- function planRouteEagerLazyCompilation(current, info) {
59
+ function planSSRLazyCompilation(current, info) {
60
60
  if (!current) return {
61
61
  apply: false
62
62
  };
@@ -73,21 +73,21 @@ function planRouteEagerLazyCompilation(current, info) {
73
73
  apply: true,
74
74
  lazyCompilation: {
75
75
  ...base,
76
- test: buildRouteEagerLazyCompilationTest(info.files, userTest)
76
+ test: buildSSRLazyCompilationTest(info.files, userTest)
77
77
  }
78
78
  };
79
79
  }
80
80
  exports.aggregateEagerRouteComponentFiles = __webpack_exports__.aggregateEagerRouteComponentFiles;
81
- exports.buildRouteEagerLazyCompilationTest = __webpack_exports__.buildRouteEagerLazyCompilationTest;
81
+ exports.buildSSRLazyCompilationTest = __webpack_exports__.buildSSRLazyCompilationTest;
82
82
  exports.collectRouteComponentFiles = __webpack_exports__.collectRouteComponentFiles;
83
83
  exports.normalizeModulePath = __webpack_exports__.normalizeModulePath;
84
- exports.planRouteEagerLazyCompilation = __webpack_exports__.planRouteEagerLazyCompilation;
84
+ exports.planSSRLazyCompilation = __webpack_exports__.planSSRLazyCompilation;
85
85
  for(var __rspack_i in __webpack_exports__)if (-1 === [
86
86
  "aggregateEagerRouteComponentFiles",
87
- "buildRouteEagerLazyCompilationTest",
87
+ "buildSSRLazyCompilationTest",
88
88
  "collectRouteComponentFiles",
89
89
  "normalizeModulePath",
90
- "planRouteEagerLazyCompilation"
90
+ "planSSRLazyCompilation"
91
91
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
92
92
  Object.defineProperty(exports, '__esModule', {
93
93
  value: true
@@ -65,7 +65,7 @@ function bundleDocs({ source, target, indexFile = DEFAULT_INDEX_FILE, excludedDi
65
65
  withFileTypes: true
66
66
  })){
67
67
  if (!entry.isFile()) continue;
68
- const from = external_node_path_default().join(entry.parentPath ?? entry.path, entry.name);
68
+ const from = external_node_path_default().join(entry.parentPath, entry.name);
69
69
  const rel = external_node_path_default().relative(source, from);
70
70
  if (!isBundled(rel)) continue;
71
71
  const to = external_node_path_default().join(target, rel);