@bleedingdev/modern-js-app-tools-extensions 3.9.0-ultramodern.9 → 3.9.3-ultramodern.1

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 (275) hide show
  1. package/README.md +23 -0
  2. package/dist/cjs/backend-federation-build/codegen.js +29 -18
  3. package/dist/cjs/backend-federation-build/config.js +84 -45
  4. package/dist/cjs/backend-federation-build/emit.js +63 -22
  5. package/dist/cjs/build-config/build-environment.js +25 -162
  6. package/dist/cjs/build-config/internal-effect-discovery.js +143 -0
  7. package/dist/cjs/build-config/public.js +2 -5
  8. package/dist/cjs/build-config/remote-address.js +58 -0
  9. package/dist/cjs/cloudflare/artifacts.js +8 -19
  10. package/dist/cjs/cloudflare/delivery-unit.js +125 -43
  11. package/dist/cjs/cloudflare/index.js +14 -4
  12. package/dist/cjs/cloudflare/native-renderer.js +100 -0
  13. package/dist/cjs/cloudflare/renderer-identity.js +106 -0
  14. package/dist/cjs/cloudflare/worker-manifest.js +54 -13
  15. package/dist/cjs/cloudflare/worker-options.js +48 -0
  16. package/dist/cjs/cloudflare/wrangler-config.js +210 -13
  17. package/dist/cjs/cloudflare-builder.js +307 -89
  18. package/dist/cjs/cloudflare-output-contract.js +36 -4
  19. package/dist/cjs/cloudflare-output-verifier/identity.js +112 -23
  20. package/dist/cjs/cloudflare-output-verifier/index.js +10 -0
  21. package/dist/cjs/cloudflare-output-verifier/manifest.js +46 -0
  22. package/dist/cjs/cloudflare-output-verifier/mutation-policy.js +7 -1
  23. package/dist/cjs/cloudflare-output-verifier/worker-bundles.js +10 -5
  24. package/dist/cjs/config.js +10 -5
  25. package/dist/cjs/deploy-output/npmAliases.js +92 -6
  26. package/dist/cjs/deploy-output/plugin.js +27 -6
  27. package/dist/cjs/deploy-output/public-assets.js +146 -0
  28. package/dist/cjs/deploy-output/target.js +57 -1
  29. package/dist/cjs/deploy-output/trace-files.js +99 -0
  30. package/dist/cjs/module-federation-config/exposes.js +70 -0
  31. package/dist/cjs/module-federation-config/index.js +73 -0
  32. package/dist/cjs/module-federation-config/inspect.js +103 -0
  33. package/dist/cjs/module-federation-config/object-literal.js +87 -0
  34. package/dist/cjs/module-federation-config/syntax.js +151 -0
  35. package/dist/cjs/module-federation-config/types.js +18 -0
  36. package/dist/cjs/native-type-checker.js +130 -13
  37. package/dist/cjs/policy-defaults.js +38 -29
  38. package/dist/cjs/release-envelope/canonical.js +2 -9
  39. package/dist/cjs/release-envelope/contract.js +68 -0
  40. package/dist/cjs/release-envelope/framework-output.js +296 -105
  41. package/dist/cjs/release-envelope/index.js +150 -36
  42. package/dist/cjs/release-envelope/plugin.js +24 -15
  43. package/dist/cjs/release-envelope/renderer-output-stamp.js +170 -0
  44. package/dist/cjs/release-envelope/types.js +10 -8
  45. package/dist/cjs/release-identity.js +8 -5
  46. package/dist/cjs/renderer-build-identity.js +134 -0
  47. package/dist/cjs/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  48. package/dist/cjs/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  49. package/dist/cjs/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  50. package/dist/cjs/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  51. package/dist/cjs/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  52. package/dist/cjs/templates/cloudflare-worker-route-data.mjs +1069 -0
  53. package/dist/cjs/workspace-topology.js +84 -0
  54. package/dist/esm/backend-federation-build/codegen.mjs +29 -18
  55. package/dist/esm/backend-federation-build/config.mjs +74 -38
  56. package/dist/esm/backend-federation-build/emit.mjs +64 -23
  57. package/dist/esm/build-config/build-environment.mjs +26 -160
  58. package/dist/esm/build-config/internal-effect-discovery.mjs +102 -0
  59. package/dist/esm/build-config/public.mjs +1 -1
  60. package/dist/esm/build-config/remote-address.mjs +20 -0
  61. package/dist/esm/cloudflare/artifacts.mjs +8 -19
  62. package/dist/esm/cloudflare/delivery-unit.mjs +124 -45
  63. package/dist/esm/cloudflare/index.mjs +15 -5
  64. package/dist/esm/cloudflare/native-renderer.mjs +48 -0
  65. package/dist/esm/cloudflare/renderer-identity.mjs +57 -0
  66. package/dist/esm/cloudflare/worker-manifest.mjs +55 -14
  67. package/dist/esm/cloudflare/worker-options.mjs +10 -0
  68. package/dist/esm/cloudflare/wrangler-config.mjs +203 -12
  69. package/dist/esm/cloudflare-builder.mjs +301 -89
  70. package/dist/esm/cloudflare-output-contract.mjs +29 -3
  71. package/dist/esm/cloudflare-output-verifier/identity.mjs +113 -24
  72. package/dist/esm/cloudflare-output-verifier/index.mjs +10 -0
  73. package/dist/esm/cloudflare-output-verifier/manifest.mjs +46 -0
  74. package/dist/esm/cloudflare-output-verifier/mutation-policy.mjs +7 -1
  75. package/dist/esm/cloudflare-output-verifier/worker-bundles.mjs +11 -6
  76. package/dist/esm/config.mjs +3 -1
  77. package/dist/esm/deploy-output/npmAliases.mjs +92 -6
  78. package/dist/esm/deploy-output/plugin.mjs +24 -6
  79. package/dist/esm/deploy-output/public-assets.mjs +82 -0
  80. package/dist/esm/deploy-output/target.mjs +50 -3
  81. package/dist/esm/deploy-output/trace-files.mjs +47 -0
  82. package/dist/esm/module-federation-config/exposes.mjs +18 -0
  83. package/dist/esm/module-federation-config/index.mjs +4 -0
  84. package/dist/esm/module-federation-config/inspect.mjs +65 -0
  85. package/dist/esm/module-federation-config/object-literal.mjs +43 -0
  86. package/dist/esm/module-federation-config/syntax.mjs +101 -0
  87. package/dist/esm/module-federation-config/types.mjs +0 -0
  88. package/dist/esm/native-type-checker.mjs +124 -13
  89. package/dist/esm/policy-defaults.mjs +36 -30
  90. package/dist/esm/release-envelope/canonical.mjs +2 -9
  91. package/dist/esm/release-envelope/contract.mjs +21 -0
  92. package/dist/esm/release-envelope/framework-output.mjs +297 -106
  93. package/dist/esm/release-envelope/index.mjs +149 -38
  94. package/dist/esm/release-envelope/plugin.mjs +24 -15
  95. package/dist/esm/release-envelope/renderer-output-stamp.mjs +112 -0
  96. package/dist/esm/release-envelope/types.mjs +2 -3
  97. package/dist/esm/release-identity.mjs +8 -5
  98. package/dist/esm/renderer-build-identity.mjs +82 -0
  99. package/dist/esm/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  100. package/dist/esm/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  101. package/dist/esm/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  102. package/dist/esm/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  103. package/dist/esm/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  104. package/dist/esm/templates/cloudflare-worker-route-data.mjs +1069 -0
  105. package/dist/esm/workspace-topology.mjs +21 -0
  106. package/dist/esm-node/backend-federation-build/codegen.mjs +29 -18
  107. package/dist/esm-node/backend-federation-build/config.mjs +74 -38
  108. package/dist/esm-node/backend-federation-build/emit.mjs +64 -23
  109. package/dist/esm-node/build-config/build-environment.mjs +26 -160
  110. package/dist/esm-node/build-config/internal-effect-discovery.mjs +103 -0
  111. package/dist/esm-node/build-config/public.mjs +1 -1
  112. package/dist/esm-node/build-config/remote-address.mjs +21 -0
  113. package/dist/esm-node/cloudflare/artifacts.mjs +8 -19
  114. package/dist/esm-node/cloudflare/delivery-unit.mjs +124 -45
  115. package/dist/esm-node/cloudflare/index.mjs +15 -5
  116. package/dist/esm-node/cloudflare/native-renderer.mjs +49 -0
  117. package/dist/esm-node/cloudflare/renderer-identity.mjs +58 -0
  118. package/dist/esm-node/cloudflare/worker-manifest.mjs +55 -14
  119. package/dist/esm-node/cloudflare/worker-options.mjs +11 -0
  120. package/dist/esm-node/cloudflare/wrangler-config.mjs +203 -12
  121. package/dist/esm-node/cloudflare-builder.mjs +301 -89
  122. package/dist/esm-node/cloudflare-output-contract.mjs +29 -3
  123. package/dist/esm-node/cloudflare-output-verifier/identity.mjs +113 -24
  124. package/dist/esm-node/cloudflare-output-verifier/index.mjs +10 -0
  125. package/dist/esm-node/cloudflare-output-verifier/manifest.mjs +46 -0
  126. package/dist/esm-node/cloudflare-output-verifier/mutation-policy.mjs +7 -1
  127. package/dist/esm-node/cloudflare-output-verifier/worker-bundles.mjs +11 -6
  128. package/dist/esm-node/config.mjs +3 -1
  129. package/dist/esm-node/deploy-output/npmAliases.mjs +92 -6
  130. package/dist/esm-node/deploy-output/plugin.mjs +24 -6
  131. package/dist/esm-node/deploy-output/public-assets.mjs +83 -0
  132. package/dist/esm-node/deploy-output/target.mjs +50 -3
  133. package/dist/esm-node/deploy-output/trace-files.mjs +48 -0
  134. package/dist/esm-node/module-federation-config/exposes.mjs +19 -0
  135. package/dist/esm-node/module-federation-config/index.mjs +5 -0
  136. package/dist/esm-node/module-federation-config/inspect.mjs +66 -0
  137. package/dist/esm-node/module-federation-config/object-literal.mjs +44 -0
  138. package/dist/esm-node/module-federation-config/syntax.mjs +102 -0
  139. package/dist/esm-node/module-federation-config/types.mjs +1 -0
  140. package/dist/esm-node/native-type-checker.mjs +124 -13
  141. package/dist/esm-node/policy-defaults.mjs +36 -30
  142. package/dist/esm-node/release-envelope/canonical.mjs +2 -9
  143. package/dist/esm-node/release-envelope/contract.mjs +22 -0
  144. package/dist/esm-node/release-envelope/framework-output.mjs +297 -106
  145. package/dist/esm-node/release-envelope/index.mjs +149 -38
  146. package/dist/esm-node/release-envelope/plugin.mjs +24 -15
  147. package/dist/esm-node/release-envelope/renderer-output-stamp.mjs +113 -0
  148. package/dist/esm-node/release-envelope/types.mjs +2 -3
  149. package/dist/esm-node/release-identity.mjs +8 -5
  150. package/dist/esm-node/renderer-build-identity.mjs +83 -0
  151. package/dist/esm-node/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  152. package/dist/esm-node/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  153. package/dist/esm-node/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  154. package/dist/esm-node/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  155. package/dist/esm-node/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  156. package/dist/esm-node/templates/cloudflare-worker-route-data.mjs +1069 -0
  157. package/dist/esm-node/workspace-topology.mjs +22 -0
  158. package/dist/types/backend-federation-build/codegen.d.ts +30 -0
  159. package/dist/types/backend-federation-build/config.d.ts +10 -57
  160. package/dist/types/backend-federation-build/emit.d.ts +12 -2
  161. package/dist/types/backend-federation-build/index.d.ts +1 -1
  162. package/dist/types/build-config/build-environment.d.ts +1 -9
  163. package/dist/types/build-config/internal-effect-discovery.d.ts +4 -0
  164. package/dist/types/build-config/public.d.ts +1 -1
  165. package/dist/types/build-config/remote-address.d.ts +3 -0
  166. package/dist/types/cloudflare/artifacts.d.ts +7 -6
  167. package/dist/types/cloudflare/constants.d.ts +1 -1
  168. package/dist/types/cloudflare/delivery-unit.d.ts +38 -7
  169. package/dist/types/cloudflare/native-renderer.d.ts +30 -0
  170. package/dist/types/cloudflare/renderer-identity.d.ts +25 -0
  171. package/dist/types/cloudflare/worker-manifest.d.ts +17 -2
  172. package/dist/types/cloudflare/worker-options.d.ts +20 -0
  173. package/dist/types/cloudflare/wrangler-config.d.ts +55 -2
  174. package/dist/types/cloudflare-builder.d.ts +51 -8
  175. package/dist/types/cloudflare-output-contract.d.ts +5 -3
  176. package/dist/types/cloudflare-output-verifier/identity.d.ts +7 -3
  177. package/dist/types/cloudflare-output-verifier/worker-bundles.d.ts +2 -2
  178. package/dist/types/config.d.ts +98 -13
  179. package/dist/types/deploy-output/plugin.d.ts +29 -9
  180. package/dist/types/deploy-output/public-assets.d.ts +51 -0
  181. package/dist/types/deploy-output/target.d.ts +28 -5
  182. package/dist/types/deploy-output/trace-files.d.ts +17 -0
  183. package/dist/types/module-federation-config/exposes.d.ts +11 -0
  184. package/dist/types/module-federation-config/index.d.ts +5 -0
  185. package/dist/types/module-federation-config/inspect.d.ts +2 -0
  186. package/dist/types/module-federation-config/object-literal.d.ts +4 -0
  187. package/dist/types/module-federation-config/syntax.d.ts +7 -0
  188. package/dist/types/module-federation-config/types.d.ts +20 -0
  189. package/dist/types/native-type-checker.d.ts +26 -3
  190. package/dist/types/policy-defaults.d.ts +12 -2
  191. package/dist/types/release-envelope/canonical.d.ts +5 -5
  192. package/dist/types/release-envelope/contract.d.mts +8 -0
  193. package/dist/types/release-envelope/framework-output.d.ts +23 -13
  194. package/dist/types/release-envelope/index.d.ts +17 -5
  195. package/dist/types/release-envelope/plugin.d.ts +10 -6
  196. package/dist/types/release-envelope/renderer-output-stamp.d.ts +34 -0
  197. package/dist/types/release-envelope/types.d.ts +42 -4
  198. package/dist/types/release-identity.d.ts +3 -2
  199. package/dist/types/renderer-build-identity.d.ts +30 -0
  200. package/dist/types/templates/cloudflare-worker-route-data.d.mts +14 -0
  201. package/dist/types/workspace-topology.d.ts +91 -0
  202. package/package.json +87 -27
  203. package/src/backend-federation-build/codegen.ts +28 -19
  204. package/src/backend-federation-build/config.ts +189 -123
  205. package/src/backend-federation-build/emit.ts +119 -38
  206. package/src/backend-federation-build/index.ts +4 -1
  207. package/src/build-config/build-environment.ts +59 -285
  208. package/src/build-config/internal-effect-discovery.ts +239 -0
  209. package/src/build-config/public.ts +0 -1
  210. package/src/build-config/remote-address.ts +33 -0
  211. package/src/cloudflare/artifacts.ts +22 -43
  212. package/src/cloudflare/delivery-unit.ts +283 -60
  213. package/src/cloudflare/index.ts +35 -19
  214. package/src/cloudflare/native-renderer.ts +117 -0
  215. package/src/cloudflare/renderer-identity.ts +171 -0
  216. package/src/cloudflare/worker-manifest.ts +108 -10
  217. package/src/cloudflare/worker-options.ts +60 -0
  218. package/src/cloudflare/wrangler-config.ts +390 -14
  219. package/src/cloudflare-builder.ts +543 -170
  220. package/src/cloudflare-output-contract.ts +45 -2
  221. package/src/cloudflare-output-verifier/identity.ts +138 -7
  222. package/src/cloudflare-output-verifier/index.ts +20 -0
  223. package/src/cloudflare-output-verifier/manifest.ts +77 -0
  224. package/src/cloudflare-output-verifier/mutation-policy.ts +11 -1
  225. package/src/cloudflare-output-verifier/worker-bundles.ts +27 -11
  226. package/src/config.ts +101 -19
  227. package/src/deploy-output/npmAliases.ts +141 -4
  228. package/src/deploy-output/plugin.ts +55 -18
  229. package/src/deploy-output/public-assets.ts +224 -0
  230. package/src/deploy-output/target.ts +97 -14
  231. package/src/deploy-output/trace-files.ts +80 -0
  232. package/src/module-federation-config/exposes.ts +46 -0
  233. package/src/module-federation-config/index.ts +22 -0
  234. package/src/module-federation-config/inspect.ts +157 -0
  235. package/src/module-federation-config/object-literal.ts +76 -0
  236. package/src/module-federation-config/syntax.ts +212 -0
  237. package/src/module-federation-config/types.ts +22 -0
  238. package/src/native-type-checker.ts +233 -20
  239. package/src/policy-defaults.ts +47 -17
  240. package/src/release-envelope/canonical.ts +6 -18
  241. package/src/release-envelope/contract.mjs +28 -0
  242. package/src/release-envelope/framework-output.ts +681 -156
  243. package/src/release-envelope/index.ts +315 -60
  244. package/src/release-envelope/plugin.ts +54 -38
  245. package/src/release-envelope/renderer-output-stamp.ts +210 -0
  246. package/src/release-envelope/types.ts +75 -6
  247. package/src/release-identity.ts +19 -2
  248. package/src/renderer-build-identity.ts +168 -0
  249. package/src/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  250. package/src/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  251. package/src/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  252. package/src/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  253. package/src/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  254. package/src/templates/cloudflare-worker-route-data.mjs +1069 -0
  255. package/src/workspace-topology.ts +125 -0
  256. package/dist/cjs/templates/cloudflare-worker-fs-promises.mjs +0 -11
  257. package/dist/cjs/templates/cloudflare-worker-loadable-server.mjs +0 -281
  258. package/dist/cjs/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  259. package/dist/cjs/templates/cloudflare-worker-path.mjs +0 -98
  260. package/dist/esm/templates/cloudflare-worker-fs-promises.mjs +0 -11
  261. package/dist/esm/templates/cloudflare-worker-loadable-server.mjs +0 -281
  262. package/dist/esm/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  263. package/dist/esm/templates/cloudflare-worker-path.mjs +0 -98
  264. package/dist/esm-node/templates/cloudflare-worker-fs-promises.mjs +0 -11
  265. package/dist/esm-node/templates/cloudflare-worker-loadable-server.mjs +0 -281
  266. package/dist/esm-node/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  267. package/dist/esm-node/templates/cloudflare-worker-path.mjs +0 -98
  268. package/dist/types/templates/cloudflare-worker-fs-promises.d.mts +0 -5
  269. package/dist/types/templates/cloudflare-worker-loadable-server.d.mts +0 -48
  270. package/dist/types/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +0 -13
  271. package/dist/types/templates/cloudflare-worker-path.d.mts +0 -21
  272. package/src/templates/cloudflare-worker-fs-promises.mjs +0 -11
  273. package/src/templates/cloudflare-worker-loadable-server.mjs +0 -281
  274. package/src/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  275. package/src/templates/cloudflare-worker-path.mjs +0 -98
@@ -41,9 +41,11 @@ var __webpack_exports__ = {};
41
41
  __webpack_require__.r(__webpack_exports__);
42
42
  __webpack_require__.d(__webpack_exports__, {
43
43
  applyCloudflareBuilderEnvironments: ()=>applyCloudflareBuilderEnvironments,
44
- applyCloudflareWorkerMfRuntimeBoundary: ()=>applyCloudflareWorkerMfRuntimeBoundary,
45
44
  applyCloudflareWorkerRspackConfig: ()=>applyCloudflareWorkerRspackConfig,
45
+ claimsByFunctionExternal: ()=>claimsByFunctionExternal,
46
+ createAbsentOptionalDependencyFilter: ()=>createAbsentOptionalDependencyFilter,
46
47
  createCloudflareBuilderPlugin: ()=>createCloudflareBuilderPlugin,
48
+ createRequestRedirectMatcher: ()=>createRequestRedirectMatcher,
47
49
  getCloudflareBuilderEnvironments: ()=>getCloudflareBuilderEnvironments,
48
50
  getCloudflareWorkerRspackConfig: ()=>getCloudflareWorkerRspackConfig
49
51
  });
@@ -54,14 +56,50 @@ const external_node_path_namespaceObject = require("node:path");
54
56
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
55
57
  const builder_namespaceObject = require("@modern-js/builder");
56
58
  const utils_namespaceObject = require("@modern-js/utils");
57
- const external_std_env_namespaceObject = require("std-env");
58
59
  const external_cloudflare_output_contract_js_namespaceObject = require("./cloudflare-output-contract.js");
59
60
  const external_read_template_js_namespaceObject = require("./read-template.js");
60
61
  const moduleRequire = (0, external_node_module_namespaceObject.createRequire)(__rslib_import_meta_url__);
61
62
  const BFF_EFFECT_WORKER_ENTRY_NAME = '__modern_bff_effect';
62
63
  const BFF_EFFECT_WORKER_RUNTIME_QUERY = 'modern-bff-runtime';
63
- const MF_SSR_DATA_FETCH_RUNTIME_PLUGIN = '@module-federation/modern-js-v3/ssr-inject-data-fetch-function-plugin';
64
- const MF_SSR_DEV_RUNTIME_PLUGIN = '@module-federation/modern-js-v3/ssr-dev-plugin';
64
+ const SERVER_LOADER_COMBINED_FILE = 'server-loader-combined.js';
65
+ const ROUTE_SERVER_LOADERS_FILE = 'route-server-loaders.js';
66
+ const WORKER_ROUTE_DATA_FILE = 'cloudflare-worker-route-data.js';
67
+ const WORKER_ROUTE_DATA_TEMPLATE = 'cloudflare-worker-route-data.mjs';
68
+ const DATA_LOADER_CLIENT_TRANSFORM = /plugin-data-loader[\\/](?:.+[\\/])?loader\.[cm]?js$/u;
69
+ const WORKER_DEPENDENCY_CONDITIONS = [
70
+ [
71
+ 'esm',
72
+ 'import'
73
+ ],
74
+ [
75
+ 'wasm',
76
+ 'import'
77
+ ],
78
+ [
79
+ 'loaderImport',
80
+ 'import'
81
+ ],
82
+ [
83
+ 'worker',
84
+ 'import'
85
+ ],
86
+ [
87
+ 'commonjs',
88
+ 'require'
89
+ ],
90
+ [
91
+ 'amd',
92
+ 'require'
93
+ ],
94
+ [
95
+ 'loader',
96
+ 'require'
97
+ ],
98
+ [
99
+ 'unknown',
100
+ 'require'
101
+ ]
102
+ ];
65
103
  const JS_OR_TS_EXTENSIONS = new Set([
66
104
  '.js',
67
105
  '.jsx',
@@ -121,19 +159,155 @@ const resolvePackageFile = (packageName, filePath, paths)=>{
121
159
  const setAliasIfPresent = (alias, name, value)=>{
122
160
  if (value) alias.set(name, value);
123
161
  };
124
- const getCloudflareWorkerNodeExternals = ()=>Object.fromEntries(external_cloudflare_output_contract_js_namespaceObject.CLOUDFLARE_WORKER_NODE_BUILTINS.flatMap((builtin)=>{
125
- const nodeBuiltin = `node:${builtin}`;
162
+ const getCloudflareWorkerNodeExternals = ()=>Object.fromEntries([
163
+ ...external_cloudflare_output_contract_js_namespaceObject.CLOUDFLARE_WORKER_NODE_BUILTINS.flatMap((builtin)=>{
164
+ const nodeBuiltin = `node:${builtin}`;
165
+ const external = `module-import ${nodeBuiltin}`;
166
+ return (0, external_node_module_namespaceObject.isBuiltin)(builtin) ? [
167
+ [
168
+ builtin,
169
+ external
170
+ ],
171
+ [
172
+ nodeBuiltin,
173
+ external
174
+ ]
175
+ ] : [
176
+ [
177
+ nodeBuiltin,
178
+ external
179
+ ]
180
+ ];
181
+ }),
182
+ ...external_cloudflare_output_contract_js_namespaceObject.CLOUDFLARE_WORKER_PLATFORM_MODULES.map((platformModule)=>[
183
+ platformModule,
184
+ `module-import ${platformModule}`
185
+ ])
186
+ ]);
187
+ const getPackageNameFromRequest = (request)=>{
188
+ if (request.startsWith('.') || request.startsWith('/') || request.includes(':') || external_node_path_default().isAbsolute(request)) return;
189
+ const segments = request.split('/');
190
+ return request.startsWith('@') ? segments.length > 1 ? `${segments[0]}/${segments[1]}` : void 0 : segments[0];
191
+ };
192
+ const isRedirectedByAliasField = (manifest, aliasFields, request)=>aliasFields.some((field)=>{
193
+ let value = manifest;
194
+ for (const key of 'string' == typeof field ? [
195
+ field
196
+ ] : field)value = value && 'object' == typeof value ? value[key] : void 0;
197
+ return 'object' == typeof value && null !== value && Object.hasOwn(value, request);
198
+ });
199
+ const findOwningPackageManifest = (directory, cache)=>{
200
+ if (cache.has(directory)) return cache.get(directory);
201
+ let manifest;
202
+ const packageJsonPath = external_node_path_default().join(directory, 'package.json');
203
+ if (external_node_fs_default().existsSync(packageJsonPath)) try {
204
+ manifest = JSON.parse(external_node_fs_default().readFileSync(packageJsonPath, 'utf-8'));
205
+ } catch {
206
+ manifest = void 0;
207
+ }
208
+ else if (external_node_path_default().dirname(directory) !== directory) manifest = findOwningPackageManifest(external_node_path_default().dirname(directory), cache);
209
+ cache.set(directory, manifest);
210
+ return manifest;
211
+ };
212
+ const isPackageInstalled = (packageName, directory, moduleDirectories)=>moduleDirectories.some((moduleDirectory)=>{
213
+ if (external_node_path_default().isAbsolute(moduleDirectory)) return external_node_fs_default().existsSync(external_node_path_default().join(moduleDirectory, packageName));
214
+ let current = directory;
215
+ while(true){
216
+ if (external_node_fs_default().existsSync(external_node_path_default().join(current, moduleDirectory, packageName))) return true;
217
+ const parent = external_node_path_default().dirname(current);
218
+ if (parent === current) return false;
219
+ current = parent;
220
+ }
221
+ });
222
+ const createAbsentOptionalDependencyFilter = (isRedirected = ()=>false, moduleDirectories = [
223
+ 'node_modules'
224
+ ], aliasFields = [])=>{
225
+ const manifests = new Map();
226
+ return (request, context)=>{
227
+ const packageName = getPackageNameFromRequest(request);
228
+ if (!packageName || !context || isRedirected(request)) return false;
229
+ const manifest = findOwningPackageManifest(context, manifests);
230
+ if (!manifest) return false;
231
+ const optional = manifest.peerDependenciesMeta?.[packageName]?.optional === true || Object.hasOwn(manifest.optionalDependencies ?? {}, packageName);
232
+ return optional && !isRedirectedByAliasField(manifest, aliasFields, request) && !isPackageInstalled(packageName, context, moduleDirectories);
233
+ };
234
+ };
235
+ const getAliasNames = (alias)=>alias ? Array.isArray(alias) ? alias.map((entry)=>entry.onlyModule ? `${entry.name}$` : entry.name) : Object.keys(alias) : [];
236
+ const getExternalMatchers = (externals)=>{
237
+ if (Array.isArray(externals)) return externals.flatMap(getExternalMatchers);
238
+ if ('string' == typeof externals) return [
239
+ (request)=>request === externals
240
+ ];
241
+ if (externals instanceof RegExp) return [
242
+ (request)=>{
243
+ externals.lastIndex = 0;
244
+ return externals.test(request);
245
+ }
246
+ ];
247
+ if (externals && 'object' == typeof externals) {
248
+ const names = new Set(Object.entries(externals).filter(([, value])=>false !== value).map(([name])=>name));
126
249
  return [
127
- [
128
- builtin,
129
- `module-import ${nodeBuiltin}`
130
- ],
131
- [
132
- nodeBuiltin,
133
- `module-import ${nodeBuiltin}`
134
- ]
250
+ (request)=>names.has(request)
135
251
  ];
136
- }));
252
+ }
253
+ return [];
254
+ };
255
+ const createRequestRedirectMatcher = (options)=>{
256
+ const aliasNames = [
257
+ ...getAliasNames(options.resolve?.alias),
258
+ ...getAliasNames(options.resolve?.fallback)
259
+ ];
260
+ const externalMatchers = getExternalMatchers(options.externals);
261
+ return (request)=>externalMatchers.some((matches)=>matches(request)) || aliasNames.some((name)=>name.endsWith('$') ? request === name.slice(0, -1) : request === name || request.startsWith(`${name}/`));
262
+ };
263
+ const getFunctionExternals = (externals)=>Array.isArray(externals) ? externals.flatMap(getFunctionExternals) : 'function' == typeof externals ? [
264
+ externals
265
+ ] : [];
266
+ const callFunctionExternal = (external, data)=>new Promise((resolve, reject)=>{
267
+ const returned = external(data, (error, result)=>error ? reject(error) : resolve(result));
268
+ if (null !== returned && 'object' == typeof returned && 'function' == typeof returned.then) returned.then(resolve, reject);
269
+ else if (1 === external.length) resolve(returned);
270
+ });
271
+ const claimsByFunctionExternal = async (externals, data)=>{
272
+ for (const external of externals)try {
273
+ const result = await callFunctionExternal(external, data);
274
+ if (null != result && false !== result) return true;
275
+ } catch {
276
+ return true;
277
+ }
278
+ return false;
279
+ };
280
+ const PLUGIN_NAME = 'AbsentOptionalDependencyPlugin';
281
+ class AbsentOptionalDependencyPlugin {
282
+ apply(compiler) {
283
+ const isAbsent = createAbsentOptionalDependencyFilter(createRequestRedirectMatcher(compiler.options), compiler.options.resolve.modules, compiler.options.resolve.aliasFields);
284
+ const functionExternals = getFunctionExternals(compiler.options.externals);
285
+ compiler.hooks.normalModuleFactory.tap(PLUGIN_NAME, (factory)=>{
286
+ factory.hooks.beforeResolve.tapPromise(PLUGIN_NAME, async (data)=>{
287
+ if (!isAbsent(data.request, data.context)) return;
288
+ const claimed = await claimsByFunctionExternal(functionExternals, {
289
+ context: data.context,
290
+ contextInfo: {
291
+ issuer: data.contextInfo.issuer,
292
+ issuerLayer: data.contextInfo.issuerLayer ?? null
293
+ },
294
+ getResolve: (options)=>{
295
+ const resolver = factory.getResolver('normal', options ?? {});
296
+ function resolveRequest(context, request, callback) {
297
+ if (callback) return void resolver.resolve({}, context, request, {}, callback);
298
+ return new Promise((resolve, reject)=>{
299
+ resolver.resolve({}, context, request, {}, (error, result)=>error ? reject(error) : resolve(result || void 0));
300
+ });
301
+ }
302
+ return resolveRequest;
303
+ },
304
+ request: data.request
305
+ });
306
+ return claimed ? void 0 : false;
307
+ });
308
+ });
309
+ }
310
+ }
137
311
  const normalizeWorkerOutputName = (name)=>external_node_path_default().posix.normalize(name.replace(/\\/gu, '/')).toLowerCase();
138
312
  const reserveWorkerChunkName = (baseName, reservedOutputNames)=>{
139
313
  let name = baseName;
@@ -183,11 +357,8 @@ function applyCloudflareWorkerRspackConfig(chain, workerEntryNames) {
183
357
  chain.optimization.runtimeChunk(config.optimization.runtimeChunk);
184
358
  chain.optimization.splitChunks(config.optimization.splitChunks);
185
359
  }
186
- function applyCloudflareWorkerMfRuntimeBoundary(chain) {
187
- const runtimePlugin = (0, external_read_template_js_namespaceObject.getTemplatePath)('cloudflare-worker-mf-ssr-runtime-plugin.mjs');
188
- chain.plugins.delete('plugin-module-federation');
189
- chain.resolve.alias.set(`${MF_SSR_DATA_FETCH_RUNTIME_PLUGIN}$`, runtimePlugin);
190
- chain.resolve.alias.set(`${MF_SSR_DEV_RUNTIME_PLUGIN}$`, runtimePlugin);
360
+ function removeCloudflareWorkerDataLoaderClientTransform(chain) {
361
+ for (const [name, rule] of Object.entries(chain.module.rules.entries() ?? {}))if (rule.uses.values().some((use)=>DATA_LOADER_CLIENT_TRANSFORM.test(String(use.get('loader'))))) chain.module.rules.delete(name);
191
362
  }
192
363
  const getEffectBffEntry = (normalizedConfig, appContext)=>{
193
364
  if (!normalizedConfig.bff || 'hono' === normalizedConfig.bff.runtimeFramework) return;
@@ -198,18 +369,6 @@ const getEffectBffEntry = (normalizedConfig, appContext)=>{
198
369
  }
199
370
  return resolveJsOrTsEntry(external_node_path_default().resolve(appContext.apiDirectory, 'index'));
200
371
  };
201
- const CLOUDFLARE_DEPLOY_PROVIDERS = new Set([
202
- 'cloudflare',
203
- 'cloudflare_pages',
204
- 'cloudflare_workers'
205
- ]);
206
- const resolveStdEnvDeployProvider = ()=>external_std_env_namespaceObject.provider;
207
- const isCloudflareWorkerDeploy = (normalizedConfig, resolveDeployProvider)=>{
208
- const explicitTarget = normalizedConfig.deploy?.target || process.env.MODERNJS_DEPLOY;
209
- if (explicitTarget) return 'cloudflare' === explicitTarget;
210
- const detectedProvider = resolveDeployProvider();
211
- return detectedProvider ? CLOUDFLARE_DEPLOY_PROVIDERS.has(detectedProvider) : false;
212
- };
213
372
  const rewriteWorkerEntryPath = (entry)=>entry.replace('index.jsx', 'index.server.jsx').replace('bootstrap.server.jsx', 'index.server.jsx').replace('bootstrap.jsx', 'index.server.jsx');
214
373
  const rewriteWorkerEntryDescription = (description)=>{
215
374
  const entryImport = description.import;
@@ -237,28 +396,60 @@ const rewriteWorkerEntries = (entries)=>Object.fromEntries(Object.entries(entrie
237
396
  rewriteWorkerEntryDescription(value)
238
397
  ];
239
398
  }));
240
- const prependBundlerChain = (environment, handler)=>{
399
+ const prependBundlerChain = (environment, handler, finalHandler)=>{
241
400
  const bundlerChain = environment.tools?.bundlerChain;
401
+ const handlers = [
402
+ handler,
403
+ ...bundlerChain ? Array.isArray(bundlerChain) ? bundlerChain : [
404
+ bundlerChain
405
+ ] : [],
406
+ ...finalHandler ? [
407
+ finalHandler
408
+ ] : []
409
+ ];
242
410
  return {
243
411
  ...environment,
244
412
  tools: {
245
413
  ...environment.tools,
246
414
  htmlPlugin: false,
247
- bundlerChain: bundlerChain ? Array.isArray(bundlerChain) ? [
248
- handler,
249
- ...bundlerChain
250
- ] : [
251
- handler,
252
- bundlerChain
253
- ] : handler
415
+ bundlerChain: handlers
254
416
  }
255
417
  };
256
418
  };
419
+ const createWorkerRouteDataModule = ()=>[
420
+ `import { routes } from './${ROUTE_SERVER_LOADERS_FILE}';`,
421
+ `import { createRouteDataRequestHandler } from ${JSON.stringify((0, external_read_template_js_namespaceObject.getTemplatePath)(WORKER_ROUTE_DATA_TEMPLATE))};`,
422
+ '',
423
+ `export const ${external_cloudflare_output_contract_js_namespaceObject.CLOUDFLARE_ROUTE_DATA_HANDLER_EXPORT} =`,
424
+ ' createRouteDataRequestHandler(routes);',
425
+ ''
426
+ ].join('\n');
427
+ const getWorkerRouteDataEntries = (appContext)=>{
428
+ const { entrypoints, internalDirectory } = appContext;
429
+ if (!entrypoints || !internalDirectory) return {};
430
+ return Object.fromEntries(entrypoints.flatMap(({ entryName })=>{
431
+ const entryDirectory = external_node_path_default().join(internalDirectory, entryName);
432
+ if (!external_node_fs_default().existsSync(external_node_path_default().join(entryDirectory, SERVER_LOADER_COMBINED_FILE)) || !external_node_fs_default().existsSync(external_node_path_default().join(entryDirectory, ROUTE_SERVER_LOADERS_FILE))) return [];
433
+ const routeDataFile = external_node_path_default().join(entryDirectory, WORKER_ROUTE_DATA_FILE);
434
+ external_node_fs_default().writeFileSync(routeDataFile, createWorkerRouteDataModule());
435
+ return [
436
+ [
437
+ (0, external_cloudflare_output_contract_js_namespaceObject.getCloudflareWorkerRouteDataEntryName)(entryName),
438
+ [
439
+ routeDataFile
440
+ ]
441
+ ]
442
+ ];
443
+ }));
444
+ };
257
445
  const getWorkerEntries = (environment, normalizedConfig, appContext)=>{
258
446
  const configuredEntries = environment.source?.entry;
259
- if (!configuredEntries) return;
260
- const entries = rewriteWorkerEntries(configuredEntries);
261
447
  const effectApiEntry = getEffectBffEntry(normalizedConfig, appContext);
448
+ if (!configuredEntries && !effectApiEntry) return;
449
+ const entries = configuredEntries ? {
450
+ ...rewriteWorkerEntries(configuredEntries),
451
+ ...getWorkerRouteDataEntries(appContext)
452
+ } : {};
262
453
  return effectApiEntry ? {
263
454
  ...entries,
264
455
  [BFF_EFFECT_WORKER_ENTRY_NAME]: [
@@ -266,14 +457,11 @@ const getWorkerEntries = (environment, normalizedConfig, appContext)=>{
266
457
  ]
267
458
  } : entries;
268
459
  };
269
- const createCloudflareBundlerChain = (appContext, workerEntryNames)=>{
460
+ const createCloudflareBundlerChain = (appContext, workerEntryNames, rscEnabled)=>{
270
461
  const resolvePaths = [
271
462
  appContext.appDirectory,
272
463
  process.cwd()
273
464
  ];
274
- const tanstackRouterSsrServerFile = resolvePackageFile('@tanstack/router-core', 'dist/esm/ssr/ssr-server.js', resolvePaths);
275
- const runtimeRscWorkerFile = resolvePackageFile('@modern-js/runtime', 'dist/esm/rsc/server.worker.mjs', resolvePaths);
276
- const renderRscWorkerFile = resolvePackageFile('@modern-js/render', 'dist/esm/rscWorker.mjs', resolvePaths);
277
465
  const reactFile = resolvePackageFile('react', 'index.js', resolvePaths);
278
466
  const reactJsxRuntimeFile = resolvePackageFile('react', 'jsx-runtime.js', resolvePaths);
279
467
  const reactJsxDevRuntimeFile = resolvePackageFile('react', 'jsx-dev-runtime.js', resolvePaths);
@@ -283,62 +471,52 @@ const createCloudflareBundlerChain = (appContext, workerEntryNames)=>{
283
471
  ...resolvePaths,
284
472
  (0, external_read_template_js_namespaceObject.getTemplatePath)('')
285
473
  ]);
286
- const loadableServerWorkerFile = (0, external_read_template_js_namespaceObject.getTemplatePath)('cloudflare-worker-loadable-server.mjs');
287
- const fsPromisesWorkerFile = (0, external_read_template_js_namespaceObject.getTemplatePath)('cloudflare-worker-fs-promises.mjs');
288
- const pathWorkerFile = (0, external_read_template_js_namespaceObject.getTemplatePath)('cloudflare-worker-path.mjs');
289
474
  const entryNames = [
290
475
  ...workerEntryNames
291
476
  ];
292
477
  return (chain)=>{
293
478
  applyCloudflareWorkerRspackConfig(chain, entryNames);
479
+ removeCloudflareWorkerDataLoaderClientTransform(chain);
480
+ if (rscEnabled) chain.optimization.runtimeChunk(false);
294
481
  chain.output.module(true).library({
295
482
  type: 'module'
296
483
  }).publicPath('/').chunkFormat('module').chunkLoading('import').workerChunkLoading('import');
484
+ chain.node.set('__dirname', 'mock').set('__filename', 'mock');
297
485
  for (const condition of [
298
486
  'workerd',
299
487
  'worker',
300
488
  'webpack',
301
489
  (0, utils_namespaceObject.isProd)() ? 'production' : 'development',
302
- 'import',
303
- 'require',
304
490
  'module'
305
491
  ])chain.resolve.conditionNames.add(condition);
306
- applyCloudflareWorkerMfRuntimeBoundary(chain);
307
- if (tanstackRouterSsrServerFile) {
308
- chain.resolve.alias.set('@tanstack/router-core/ssr/server$', tanstackRouterSsrServerFile);
309
- chain.resolve.alias.set('@tanstack/router-core/ssr/server', tanstackRouterSsrServerFile);
310
- }
311
- if (runtimeRscWorkerFile) {
312
- chain.resolve.alias.set('@modern-js/runtime/rsc/server$', runtimeRscWorkerFile);
313
- chain.resolve.alias.set('@modern-js/runtime/rsc/server', runtimeRscWorkerFile);
314
- }
315
- if (renderRscWorkerFile) {
316
- chain.resolve.alias.set('@modern-js/render/rsc$', renderRscWorkerFile);
317
- chain.resolve.alias.set('@modern-js/render/rsc', renderRscWorkerFile);
318
- chain.resolve.alias.set('@modern-js/render/rsc-worker$', renderRscWorkerFile);
492
+ for (const [dependencyType, condition] of WORKER_DEPENDENCY_CONDITIONS)chain.resolve.byDependency.set(dependencyType, {
493
+ conditionNames: [
494
+ condition,
495
+ '...'
496
+ ]
497
+ });
498
+ chain.plugin('cloudflare-worker-absent-optional-dependencies').use(AbsentOptionalDependencyPlugin);
499
+ chain.plugins.delete('plugin-module-federation');
500
+ if (!rscEnabled) {
501
+ setAliasIfPresent(chain.resolve.alias, 'react$', reactFile);
502
+ setAliasIfPresent(chain.resolve.alias, 'react/jsx-runtime$', reactJsxRuntimeFile);
503
+ setAliasIfPresent(chain.resolve.alias, 'react/jsx-dev-runtime$', reactJsxDevRuntimeFile);
504
+ setAliasIfPresent(chain.resolve.alias, 'react-dom$', reactDomFile);
505
+ setAliasIfPresent(chain.resolve.alias, 'react-dom/server.edge$', reactDomServerEdgeFile);
319
506
  }
320
- setAliasIfPresent(chain.resolve.alias, 'react$', reactFile);
321
- setAliasIfPresent(chain.resolve.alias, 'react/jsx-runtime$', reactJsxRuntimeFile);
322
- setAliasIfPresent(chain.resolve.alias, 'react/jsx-dev-runtime$', reactJsxDevRuntimeFile);
323
- setAliasIfPresent(chain.resolve.alias, 'react-dom$', reactDomFile);
324
- setAliasIfPresent(chain.resolve.alias, 'react-dom/server.edge$', reactDomServerEdgeFile);
325
507
  setAliasIfPresent(chain.resolve.alias, '@loadable/component$', loadableComponentFile);
326
- setAliasIfPresent(chain.resolve.alias, '@loadable/server$', loadableServerWorkerFile);
327
- setAliasIfPresent(chain.resolve.alias, 'fs/promises$', fsPromisesWorkerFile);
328
- setAliasIfPresent(chain.resolve.alias, 'node:fs/promises$', fsPromisesWorkerFile);
329
- setAliasIfPresent(chain.resolve.alias, 'path$', pathWorkerFile);
330
- setAliasIfPresent(chain.resolve.alias, 'node:path$', pathWorkerFile);
331
- chain.resolve.alias.set('react-server-dom-rspack/server.node$', 'react-server-dom-rspack/server.edge');
332
- chain.resolve.alias.set('react-server-dom-rspack/server.node', 'react-server-dom-rspack/server.edge');
333
- chain.resolve.alias.set('react-server-dom-rspack/client.node$', 'react-server-dom-rspack/client.edge');
334
- chain.resolve.alias.set('react-server-dom-rspack/client.node', 'react-server-dom-rspack/client.edge');
335
- chain.resolve.fallback.set('fs', false);
336
- chain.resolve.fallback.set('node:fs', false);
337
508
  };
338
509
  };
339
- function getCloudflareBuilderEnvironments({ appContext, environments, normalizedConfig, resolveDeployProvider = resolveStdEnvDeployProvider }) {
340
- if (!isCloudflareWorkerDeploy(normalizedConfig, resolveDeployProvider)) return environments;
341
- const workerEnvironment = environments[builder_namespaceObject.SERVICE_WORKER_ENVIRONMENT_NAME];
510
+ function getCloudflareBuilderEnvironments({ appContext, environments, normalizedConfig }) {
511
+ if (appContext.deployTarget?.target !== 'cloudflare') return environments;
512
+ const workerEnvironment = environments[builder_namespaceObject.SERVICE_WORKER_ENVIRONMENT_NAME] ?? (appContext.apiOnly ? {
513
+ output: {
514
+ target: 'web-worker'
515
+ },
516
+ source: {
517
+ entry: {}
518
+ }
519
+ } : void 0);
342
520
  if (!workerEnvironment) return environments;
343
521
  const workerEntries = getWorkerEntries(workerEnvironment, normalizedConfig, appContext);
344
522
  if (!workerEntries) return environments;
@@ -353,7 +531,44 @@ function getCloudflareBuilderEnvironments({ appContext, environments, normalized
353
531
  ...workerEnvironment.source,
354
532
  entry: workerEntries
355
533
  }
356
- }, createCloudflareBundlerChain(appContext, Object.keys(workerEntries)));
534
+ }, createCloudflareBundlerChain(appContext, Object.keys(workerEntries), Boolean(normalizedConfig.server?.rsc)), normalizedConfig.server?.rsc ? (chain)=>{
535
+ for (const [name, packageName, file] of [
536
+ [
537
+ 'react$',
538
+ 'react',
539
+ 'index.js'
540
+ ],
541
+ [
542
+ 'react/jsx-runtime$',
543
+ 'react',
544
+ 'jsx-runtime.js'
545
+ ],
546
+ [
547
+ 'react/jsx-dev-runtime$',
548
+ 'react',
549
+ 'jsx-dev-runtime.js'
550
+ ],
551
+ [
552
+ 'react-dom$',
553
+ 'react-dom',
554
+ 'index.js'
555
+ ],
556
+ [
557
+ 'react-dom/server.edge$',
558
+ 'react-dom',
559
+ 'server.edge.js'
560
+ ]
561
+ ]){
562
+ const target = resolvePackageFile(packageName, file, [
563
+ appContext.appDirectory,
564
+ process.cwd()
565
+ ]);
566
+ if (target && chain.resolve.alias.get(name) === target) chain.resolve.alias.delete(name);
567
+ }
568
+ } : void 0);
569
+ if (appContext.apiOnly) return {
570
+ [builder_namespaceObject.SERVICE_WORKER_ENVIRONMENT_NAME]: cloudflareWorkerEnvironment
571
+ };
357
572
  return {
358
573
  ...environments,
359
574
  [builder_namespaceObject.SERVICE_WORKER_ENVIRONMENT_NAME]: cloudflareWorkerEnvironment
@@ -364,28 +579,31 @@ function applyCloudflareBuilderEnvironments(options) {
364
579
  environments: getCloudflareBuilderEnvironments(options)
365
580
  };
366
581
  }
367
- const createCloudflareBuilderPlugin = (resolveDeployProvider = resolveStdEnvDeployProvider)=>({
582
+ const createCloudflareBuilderPlugin = ()=>({
368
583
  name: '@modern-js/cloudflare-builder',
369
584
  setup (api) {
370
585
  api.modifyBuilderEnvironments(({ environments })=>applyCloudflareBuilderEnvironments({
371
586
  appContext: api.getAppContext(),
372
587
  environments,
373
- normalizedConfig: api.getNormalizedConfig(),
374
- resolveDeployProvider
588
+ normalizedConfig: api.getNormalizedConfig()
375
589
  }));
376
590
  }
377
591
  });
378
592
  exports.applyCloudflareBuilderEnvironments = __webpack_exports__.applyCloudflareBuilderEnvironments;
379
- exports.applyCloudflareWorkerMfRuntimeBoundary = __webpack_exports__.applyCloudflareWorkerMfRuntimeBoundary;
380
593
  exports.applyCloudflareWorkerRspackConfig = __webpack_exports__.applyCloudflareWorkerRspackConfig;
594
+ exports.claimsByFunctionExternal = __webpack_exports__.claimsByFunctionExternal;
595
+ exports.createAbsentOptionalDependencyFilter = __webpack_exports__.createAbsentOptionalDependencyFilter;
381
596
  exports.createCloudflareBuilderPlugin = __webpack_exports__.createCloudflareBuilderPlugin;
597
+ exports.createRequestRedirectMatcher = __webpack_exports__.createRequestRedirectMatcher;
382
598
  exports.getCloudflareBuilderEnvironments = __webpack_exports__.getCloudflareBuilderEnvironments;
383
599
  exports.getCloudflareWorkerRspackConfig = __webpack_exports__.getCloudflareWorkerRspackConfig;
384
600
  for(var __rspack_i in __webpack_exports__)if (-1 === [
385
601
  "applyCloudflareBuilderEnvironments",
386
- "applyCloudflareWorkerMfRuntimeBoundary",
387
602
  "applyCloudflareWorkerRspackConfig",
603
+ "claimsByFunctionExternal",
604
+ "createAbsentOptionalDependencyFilter",
388
605
  "createCloudflareBuilderPlugin",
606
+ "createRequestRedirectMatcher",
389
607
  "getCloudflareBuilderEnvironments",
390
608
  "getCloudflareWorkerRspackConfig"
391
609
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -39,27 +39,49 @@ const CLOUDFLARE_RUNTIME_TYPE = 'cloudflare-module-worker';
39
39
  const CLOUDFLARE_OUTPUT_PACKAGE_TYPE = 'module';
40
40
  const CLOUDFLARE_WORKER_PACKAGE_TYPE = 'commonjs';
41
41
  const CLOUDFLARE_WORKER_BUNDLE_FORMAT = 'commonjs';
42
+ const CLOUDFLARE_ROUTE_DATA_HANDLER_EXPORT = 'handleRouteDataRequest';
43
+ const getCloudflareWorkerRouteDataEntryName = (entryName)=>`${entryName}-server-loaders`;
42
44
  const CLOUDFLARE_WORKER_NODE_BUILTINS = [
45
+ '_http_agent',
46
+ '_http_client',
47
+ '_http_common',
48
+ '_http_incoming',
49
+ '_http_outgoing',
50
+ '_http_server',
51
+ '_tls_common',
52
+ '_tls_wrap',
43
53
  'assert',
44
54
  'assert/strict',
45
55
  'async_hooks',
46
56
  'buffer',
47
57
  'child_process',
58
+ 'cluster',
59
+ 'console',
60
+ 'constants',
48
61
  'crypto',
49
62
  'dgram',
63
+ 'diagnostics_channel',
50
64
  'dns',
65
+ 'dns/promises',
51
66
  'domain',
52
67
  'events',
53
68
  'fs',
54
69
  'fs/promises',
55
70
  'http',
56
71
  'http2',
72
+ 'https',
57
73
  'inspector',
74
+ 'inspector/promises',
58
75
  'module',
59
76
  'net',
60
77
  'os',
61
78
  'path',
79
+ 'path/posix',
80
+ 'path/win32',
81
+ 'perf_hooks',
62
82
  'process',
83
+ 'punycode',
84
+ 'querystring',
63
85
  'readline',
64
86
  'readline/promises',
65
87
  'repl',
@@ -69,6 +91,8 @@ const CLOUDFLARE_WORKER_NODE_BUILTINS = [
69
91
  'stream/promises',
70
92
  'stream/web',
71
93
  'string_decoder',
94
+ 'sys',
95
+ 'test',
72
96
  'timers',
73
97
  'timers/promises',
74
98
  'tls',
@@ -84,11 +108,13 @@ const CLOUDFLARE_WORKER_NODE_BUILTINS = [
84
108
  'zlib'
85
109
  ];
86
110
  const CLOUDFLARE_WORKER_PLATFORM_MODULES = [
87
- 'cloudflare:sockets'
111
+ 'cloudflare:sockets',
112
+ 'cloudflare:workers'
88
113
  ];
89
114
  const CLOUDFLARE_REQUIRED_COMPATIBILITY_FLAGS = [
90
115
  'nodejs_compat',
91
- 'global_fetch_strictly_public'
116
+ 'global_fetch_strictly_public',
117
+ 'enable_request_signal'
92
118
  ];
93
119
  __webpack_require__.d(__webpack_exports__, {}, {
94
120
  CLOUDFLARE_ASSETS_BINDING: CLOUDFLARE_ASSETS_BINDING,
@@ -96,6 +122,7 @@ __webpack_require__.d(__webpack_exports__, {}, {
96
122
  CLOUDFLARE_OUTPUT_PACKAGE_TYPE: CLOUDFLARE_OUTPUT_PACKAGE_TYPE,
97
123
  CLOUDFLARE_PUBLIC_ASSETS_DIRECTORY: CLOUDFLARE_PUBLIC_ASSETS_DIRECTORY,
98
124
  CLOUDFLARE_REQUIRED_COMPATIBILITY_FLAGS: CLOUDFLARE_REQUIRED_COMPATIBILITY_FLAGS,
125
+ CLOUDFLARE_ROUTE_DATA_HANDLER_EXPORT: CLOUDFLARE_ROUTE_DATA_HANDLER_EXPORT,
99
126
  CLOUDFLARE_RUNTIME_TYPE: CLOUDFLARE_RUNTIME_TYPE,
100
127
  CLOUDFLARE_WORKER_BUNDLE_DIRECTORY: CLOUDFLARE_WORKER_BUNDLE_DIRECTORY,
101
128
  CLOUDFLARE_WORKER_BUNDLE_FORMAT: CLOUDFLARE_WORKER_BUNDLE_FORMAT,
@@ -105,13 +132,15 @@ __webpack_require__.d(__webpack_exports__, {}, {
105
132
  CLOUDFLARE_WORKER_PACKAGE_FILE: CLOUDFLARE_WORKER_PACKAGE_FILE,
106
133
  CLOUDFLARE_WORKER_PACKAGE_TYPE: CLOUDFLARE_WORKER_PACKAGE_TYPE,
107
134
  CLOUDFLARE_WORKER_PLATFORM_MODULES: CLOUDFLARE_WORKER_PLATFORM_MODULES,
108
- CLOUDFLARE_WRANGLER_CONFIG_FILE: CLOUDFLARE_WRANGLER_CONFIG_FILE
135
+ CLOUDFLARE_WRANGLER_CONFIG_FILE: CLOUDFLARE_WRANGLER_CONFIG_FILE,
136
+ getCloudflareWorkerRouteDataEntryName: getCloudflareWorkerRouteDataEntryName
109
137
  });
110
138
  exports.CLOUDFLARE_ASSETS_BINDING = __webpack_exports__.CLOUDFLARE_ASSETS_BINDING;
111
139
  exports.CLOUDFLARE_OUTPUT_PACKAGE_FILE = __webpack_exports__.CLOUDFLARE_OUTPUT_PACKAGE_FILE;
112
140
  exports.CLOUDFLARE_OUTPUT_PACKAGE_TYPE = __webpack_exports__.CLOUDFLARE_OUTPUT_PACKAGE_TYPE;
113
141
  exports.CLOUDFLARE_PUBLIC_ASSETS_DIRECTORY = __webpack_exports__.CLOUDFLARE_PUBLIC_ASSETS_DIRECTORY;
114
142
  exports.CLOUDFLARE_REQUIRED_COMPATIBILITY_FLAGS = __webpack_exports__.CLOUDFLARE_REQUIRED_COMPATIBILITY_FLAGS;
143
+ exports.CLOUDFLARE_ROUTE_DATA_HANDLER_EXPORT = __webpack_exports__.CLOUDFLARE_ROUTE_DATA_HANDLER_EXPORT;
115
144
  exports.CLOUDFLARE_RUNTIME_TYPE = __webpack_exports__.CLOUDFLARE_RUNTIME_TYPE;
116
145
  exports.CLOUDFLARE_WORKER_BUNDLE_DIRECTORY = __webpack_exports__.CLOUDFLARE_WORKER_BUNDLE_DIRECTORY;
117
146
  exports.CLOUDFLARE_WORKER_BUNDLE_FORMAT = __webpack_exports__.CLOUDFLARE_WORKER_BUNDLE_FORMAT;
@@ -122,12 +151,14 @@ exports.CLOUDFLARE_WORKER_PACKAGE_FILE = __webpack_exports__.CLOUDFLARE_WORKER_P
122
151
  exports.CLOUDFLARE_WORKER_PACKAGE_TYPE = __webpack_exports__.CLOUDFLARE_WORKER_PACKAGE_TYPE;
123
152
  exports.CLOUDFLARE_WORKER_PLATFORM_MODULES = __webpack_exports__.CLOUDFLARE_WORKER_PLATFORM_MODULES;
124
153
  exports.CLOUDFLARE_WRANGLER_CONFIG_FILE = __webpack_exports__.CLOUDFLARE_WRANGLER_CONFIG_FILE;
154
+ exports.getCloudflareWorkerRouteDataEntryName = __webpack_exports__.getCloudflareWorkerRouteDataEntryName;
125
155
  for(var __rspack_i in __webpack_exports__)if (-1 === [
126
156
  "CLOUDFLARE_ASSETS_BINDING",
127
157
  "CLOUDFLARE_OUTPUT_PACKAGE_FILE",
128
158
  "CLOUDFLARE_OUTPUT_PACKAGE_TYPE",
129
159
  "CLOUDFLARE_PUBLIC_ASSETS_DIRECTORY",
130
160
  "CLOUDFLARE_REQUIRED_COMPATIBILITY_FLAGS",
161
+ "CLOUDFLARE_ROUTE_DATA_HANDLER_EXPORT",
131
162
  "CLOUDFLARE_RUNTIME_TYPE",
132
163
  "CLOUDFLARE_WORKER_BUNDLE_DIRECTORY",
133
164
  "CLOUDFLARE_WORKER_BUNDLE_FORMAT",
@@ -137,7 +168,8 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
137
168
  "CLOUDFLARE_WORKER_PACKAGE_FILE",
138
169
  "CLOUDFLARE_WORKER_PACKAGE_TYPE",
139
170
  "CLOUDFLARE_WORKER_PLATFORM_MODULES",
140
- "CLOUDFLARE_WRANGLER_CONFIG_FILE"
171
+ "CLOUDFLARE_WRANGLER_CONFIG_FILE",
172
+ "getCloudflareWorkerRouteDataEntryName"
141
173
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
142
174
  Object.defineProperty(exports, '__esModule', {
143
175
  value: true