@bleedingdev/modern-js-app-tools-extensions 3.9.0-ultramodern.8 → 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.
- package/README.md +23 -0
- package/dist/cjs/backend-federation-build/codegen.js +29 -18
- package/dist/cjs/backend-federation-build/config.js +84 -45
- package/dist/cjs/backend-federation-build/emit.js +63 -22
- package/dist/cjs/build-config/build-environment.js +25 -162
- package/dist/cjs/build-config/internal-effect-discovery.js +143 -0
- package/dist/cjs/build-config/public.js +2 -5
- package/dist/cjs/build-config/remote-address.js +58 -0
- package/dist/cjs/cloudflare/artifacts.js +8 -19
- package/dist/cjs/cloudflare/delivery-unit.js +125 -43
- package/dist/cjs/cloudflare/index.js +14 -4
- package/dist/cjs/cloudflare/native-renderer.js +100 -0
- package/dist/cjs/cloudflare/renderer-identity.js +106 -0
- package/dist/cjs/cloudflare/worker-manifest.js +54 -13
- package/dist/cjs/cloudflare/worker-options.js +48 -0
- package/dist/cjs/cloudflare/wrangler-config.js +210 -13
- package/dist/cjs/cloudflare-builder.js +307 -89
- package/dist/cjs/cloudflare-output-contract.js +36 -4
- package/dist/cjs/cloudflare-output-verifier/identity.js +112 -23
- package/dist/cjs/cloudflare-output-verifier/index.js +10 -0
- package/dist/cjs/cloudflare-output-verifier/manifest.js +46 -0
- package/dist/cjs/cloudflare-output-verifier/mutation-policy.js +7 -1
- package/dist/cjs/cloudflare-output-verifier/worker-bundles.js +10 -5
- package/dist/cjs/config.js +10 -5
- package/dist/cjs/deploy-output/npmAliases.js +92 -6
- package/dist/cjs/deploy-output/plugin.js +27 -6
- package/dist/cjs/deploy-output/public-assets.js +146 -0
- package/dist/cjs/deploy-output/target.js +57 -1
- package/dist/cjs/deploy-output/trace-files.js +99 -0
- package/dist/cjs/module-federation-config/exposes.js +70 -0
- package/dist/cjs/module-federation-config/index.js +73 -0
- package/dist/cjs/module-federation-config/inspect.js +103 -0
- package/dist/cjs/module-federation-config/object-literal.js +87 -0
- package/dist/cjs/module-federation-config/syntax.js +151 -0
- package/dist/cjs/module-federation-config/types.js +18 -0
- package/dist/cjs/native-type-checker.js +164 -18
- package/dist/cjs/policy-defaults.js +110 -0
- package/dist/cjs/release-envelope/canonical.js +2 -9
- package/dist/cjs/release-envelope/contract.js +68 -0
- package/dist/cjs/release-envelope/framework-output.js +296 -105
- package/dist/cjs/release-envelope/index.js +150 -36
- package/dist/cjs/release-envelope/plugin.js +24 -15
- package/dist/cjs/release-envelope/renderer-output-stamp.js +170 -0
- package/dist/cjs/release-envelope/types.js +10 -8
- package/dist/cjs/release-identity.js +8 -5
- package/dist/cjs/renderer-build-identity.js +134 -0
- package/dist/cjs/runtime-package-resolution.js +118 -0
- package/dist/cjs/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
- package/dist/cjs/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
- package/dist/cjs/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
- package/dist/cjs/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
- package/dist/cjs/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
- package/dist/cjs/templates/cloudflare-worker-route-data.mjs +1069 -0
- package/dist/cjs/workspace-topology.js +84 -0
- package/dist/esm/backend-federation-build/codegen.mjs +29 -18
- package/dist/esm/backend-federation-build/config.mjs +74 -38
- package/dist/esm/backend-federation-build/emit.mjs +64 -23
- package/dist/esm/build-config/build-environment.mjs +26 -160
- package/dist/esm/build-config/internal-effect-discovery.mjs +102 -0
- package/dist/esm/build-config/public.mjs +1 -1
- package/dist/esm/build-config/remote-address.mjs +20 -0
- package/dist/esm/cloudflare/artifacts.mjs +8 -19
- package/dist/esm/cloudflare/delivery-unit.mjs +124 -45
- package/dist/esm/cloudflare/index.mjs +15 -5
- package/dist/esm/cloudflare/native-renderer.mjs +48 -0
- package/dist/esm/cloudflare/renderer-identity.mjs +57 -0
- package/dist/esm/cloudflare/worker-manifest.mjs +55 -14
- package/dist/esm/cloudflare/worker-options.mjs +10 -0
- package/dist/esm/cloudflare/wrangler-config.mjs +203 -12
- package/dist/esm/cloudflare-builder.mjs +301 -89
- package/dist/esm/cloudflare-output-contract.mjs +29 -3
- package/dist/esm/cloudflare-output-verifier/identity.mjs +113 -24
- package/dist/esm/cloudflare-output-verifier/index.mjs +10 -0
- package/dist/esm/cloudflare-output-verifier/manifest.mjs +46 -0
- package/dist/esm/cloudflare-output-verifier/mutation-policy.mjs +7 -1
- package/dist/esm/cloudflare-output-verifier/worker-bundles.mjs +11 -6
- package/dist/esm/config.mjs +3 -1
- package/dist/esm/deploy-output/npmAliases.mjs +92 -6
- package/dist/esm/deploy-output/plugin.mjs +24 -6
- package/dist/esm/deploy-output/public-assets.mjs +82 -0
- package/dist/esm/deploy-output/target.mjs +50 -3
- package/dist/esm/deploy-output/trace-files.mjs +47 -0
- package/dist/esm/module-federation-config/exposes.mjs +18 -0
- package/dist/esm/module-federation-config/index.mjs +4 -0
- package/dist/esm/module-federation-config/inspect.mjs +65 -0
- package/dist/esm/module-federation-config/object-literal.mjs +43 -0
- package/dist/esm/module-federation-config/syntax.mjs +101 -0
- package/dist/esm/module-federation-config/types.mjs +0 -0
- package/dist/esm/native-type-checker.mjs +158 -18
- package/dist/esm/policy-defaults.mjs +51 -0
- package/dist/esm/release-envelope/canonical.mjs +2 -9
- package/dist/esm/release-envelope/contract.mjs +21 -0
- package/dist/esm/release-envelope/framework-output.mjs +297 -106
- package/dist/esm/release-envelope/index.mjs +149 -38
- package/dist/esm/release-envelope/plugin.mjs +24 -15
- package/dist/esm/release-envelope/renderer-output-stamp.mjs +112 -0
- package/dist/esm/release-envelope/types.mjs +2 -3
- package/dist/esm/release-identity.mjs +8 -5
- package/dist/esm/renderer-build-identity.mjs +82 -0
- package/dist/esm/runtime-package-resolution.mjs +60 -0
- package/dist/esm/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
- package/dist/esm/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
- package/dist/esm/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
- package/dist/esm/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
- package/dist/esm/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
- package/dist/esm/templates/cloudflare-worker-route-data.mjs +1069 -0
- package/dist/esm/workspace-topology.mjs +21 -0
- package/dist/esm-node/backend-federation-build/codegen.mjs +29 -18
- package/dist/esm-node/backend-federation-build/config.mjs +74 -38
- package/dist/esm-node/backend-federation-build/emit.mjs +64 -23
- package/dist/esm-node/build-config/build-environment.mjs +26 -160
- package/dist/esm-node/build-config/internal-effect-discovery.mjs +103 -0
- package/dist/esm-node/build-config/public.mjs +1 -1
- package/dist/esm-node/build-config/remote-address.mjs +21 -0
- package/dist/esm-node/cloudflare/artifacts.mjs +8 -19
- package/dist/esm-node/cloudflare/delivery-unit.mjs +124 -45
- package/dist/esm-node/cloudflare/index.mjs +15 -5
- package/dist/esm-node/cloudflare/native-renderer.mjs +49 -0
- package/dist/esm-node/cloudflare/renderer-identity.mjs +58 -0
- package/dist/esm-node/cloudflare/worker-manifest.mjs +55 -14
- package/dist/esm-node/cloudflare/worker-options.mjs +11 -0
- package/dist/esm-node/cloudflare/wrangler-config.mjs +203 -12
- package/dist/esm-node/cloudflare-builder.mjs +301 -89
- package/dist/esm-node/cloudflare-output-contract.mjs +29 -3
- package/dist/esm-node/cloudflare-output-verifier/identity.mjs +113 -24
- package/dist/esm-node/cloudflare-output-verifier/index.mjs +10 -0
- package/dist/esm-node/cloudflare-output-verifier/manifest.mjs +46 -0
- package/dist/esm-node/cloudflare-output-verifier/mutation-policy.mjs +7 -1
- package/dist/esm-node/cloudflare-output-verifier/worker-bundles.mjs +11 -6
- package/dist/esm-node/config.mjs +3 -1
- package/dist/esm-node/deploy-output/npmAliases.mjs +92 -6
- package/dist/esm-node/deploy-output/plugin.mjs +24 -6
- package/dist/esm-node/deploy-output/public-assets.mjs +83 -0
- package/dist/esm-node/deploy-output/target.mjs +50 -3
- package/dist/esm-node/deploy-output/trace-files.mjs +48 -0
- package/dist/esm-node/module-federation-config/exposes.mjs +19 -0
- package/dist/esm-node/module-federation-config/index.mjs +5 -0
- package/dist/esm-node/module-federation-config/inspect.mjs +66 -0
- package/dist/esm-node/module-federation-config/object-literal.mjs +44 -0
- package/dist/esm-node/module-federation-config/syntax.mjs +102 -0
- package/dist/esm-node/module-federation-config/types.mjs +1 -0
- package/dist/esm-node/native-type-checker.mjs +158 -18
- package/dist/esm-node/policy-defaults.mjs +52 -0
- package/dist/esm-node/release-envelope/canonical.mjs +2 -9
- package/dist/esm-node/release-envelope/contract.mjs +22 -0
- package/dist/esm-node/release-envelope/framework-output.mjs +297 -106
- package/dist/esm-node/release-envelope/index.mjs +149 -38
- package/dist/esm-node/release-envelope/plugin.mjs +24 -15
- package/dist/esm-node/release-envelope/renderer-output-stamp.mjs +113 -0
- package/dist/esm-node/release-envelope/types.mjs +2 -3
- package/dist/esm-node/release-identity.mjs +8 -5
- package/dist/esm-node/renderer-build-identity.mjs +83 -0
- package/dist/esm-node/runtime-package-resolution.mjs +61 -0
- package/dist/esm-node/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
- package/dist/esm-node/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
- package/dist/esm-node/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
- package/dist/esm-node/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
- package/dist/esm-node/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
- package/dist/esm-node/templates/cloudflare-worker-route-data.mjs +1069 -0
- package/dist/esm-node/workspace-topology.mjs +22 -0
- package/dist/types/backend-federation-build/codegen.d.ts +30 -0
- package/dist/types/backend-federation-build/config.d.ts +10 -57
- package/dist/types/backend-federation-build/emit.d.ts +12 -2
- package/dist/types/backend-federation-build/index.d.ts +1 -1
- package/dist/types/build-config/build-environment.d.ts +1 -9
- package/dist/types/build-config/internal-effect-discovery.d.ts +4 -0
- package/dist/types/build-config/public.d.ts +1 -1
- package/dist/types/build-config/remote-address.d.ts +3 -0
- package/dist/types/cloudflare/artifacts.d.ts +7 -6
- package/dist/types/cloudflare/constants.d.ts +1 -1
- package/dist/types/cloudflare/delivery-unit.d.ts +38 -7
- package/dist/types/cloudflare/native-renderer.d.ts +30 -0
- package/dist/types/cloudflare/renderer-identity.d.ts +25 -0
- package/dist/types/cloudflare/worker-manifest.d.ts +17 -2
- package/dist/types/cloudflare/worker-options.d.ts +20 -0
- package/dist/types/cloudflare/wrangler-config.d.ts +55 -2
- package/dist/types/cloudflare-builder.d.ts +51 -8
- package/dist/types/cloudflare-output-contract.d.ts +5 -3
- package/dist/types/cloudflare-output-verifier/identity.d.ts +7 -3
- package/dist/types/cloudflare-output-verifier/worker-bundles.d.ts +2 -2
- package/dist/types/config.d.ts +98 -13
- package/dist/types/deploy-output/plugin.d.ts +29 -9
- package/dist/types/deploy-output/public-assets.d.ts +51 -0
- package/dist/types/deploy-output/target.d.ts +28 -5
- package/dist/types/deploy-output/trace-files.d.ts +17 -0
- package/dist/types/module-federation-config/exposes.d.ts +11 -0
- package/dist/types/module-federation-config/index.d.ts +5 -0
- package/dist/types/module-federation-config/inspect.d.ts +2 -0
- package/dist/types/module-federation-config/object-literal.d.ts +4 -0
- package/dist/types/module-federation-config/syntax.d.ts +7 -0
- package/dist/types/module-federation-config/types.d.ts +20 -0
- package/dist/types/native-type-checker.d.ts +26 -3
- package/dist/types/policy-defaults.d.ts +56 -0
- package/dist/types/release-envelope/canonical.d.ts +5 -5
- package/dist/types/release-envelope/contract.d.mts +8 -0
- package/dist/types/release-envelope/framework-output.d.ts +23 -13
- package/dist/types/release-envelope/index.d.ts +17 -5
- package/dist/types/release-envelope/plugin.d.ts +10 -6
- package/dist/types/release-envelope/renderer-output-stamp.d.ts +34 -0
- package/dist/types/release-envelope/types.d.ts +42 -4
- package/dist/types/release-identity.d.ts +3 -2
- package/dist/types/renderer-build-identity.d.ts +30 -0
- package/dist/types/runtime-package-resolution.d.ts +28 -0
- package/dist/types/templates/cloudflare-worker-route-data.d.mts +14 -0
- package/dist/types/workspace-topology.d.ts +91 -0
- package/package.json +97 -26
- package/src/backend-federation-build/codegen.ts +28 -19
- package/src/backend-federation-build/config.ts +189 -123
- package/src/backend-federation-build/emit.ts +119 -38
- package/src/backend-federation-build/index.ts +4 -1
- package/src/build-config/build-environment.ts +59 -285
- package/src/build-config/internal-effect-discovery.ts +239 -0
- package/src/build-config/public.ts +0 -1
- package/src/build-config/remote-address.ts +33 -0
- package/src/cloudflare/artifacts.ts +22 -43
- package/src/cloudflare/delivery-unit.ts +283 -60
- package/src/cloudflare/index.ts +35 -19
- package/src/cloudflare/native-renderer.ts +117 -0
- package/src/cloudflare/renderer-identity.ts +171 -0
- package/src/cloudflare/worker-manifest.ts +108 -10
- package/src/cloudflare/worker-options.ts +60 -0
- package/src/cloudflare/wrangler-config.ts +390 -14
- package/src/cloudflare-builder.ts +543 -170
- package/src/cloudflare-output-contract.ts +45 -2
- package/src/cloudflare-output-verifier/identity.ts +138 -7
- package/src/cloudflare-output-verifier/index.ts +20 -0
- package/src/cloudflare-output-verifier/manifest.ts +77 -0
- package/src/cloudflare-output-verifier/mutation-policy.ts +11 -1
- package/src/cloudflare-output-verifier/worker-bundles.ts +27 -11
- package/src/config.ts +101 -19
- package/src/deploy-output/npmAliases.ts +141 -4
- package/src/deploy-output/plugin.ts +55 -18
- package/src/deploy-output/public-assets.ts +224 -0
- package/src/deploy-output/target.ts +97 -14
- package/src/deploy-output/trace-files.ts +80 -0
- package/src/module-federation-config/exposes.ts +46 -0
- package/src/module-federation-config/index.ts +22 -0
- package/src/module-federation-config/inspect.ts +157 -0
- package/src/module-federation-config/object-literal.ts +76 -0
- package/src/module-federation-config/syntax.ts +212 -0
- package/src/module-federation-config/types.ts +22 -0
- package/src/native-type-checker.ts +281 -26
- package/src/policy-defaults.ts +157 -0
- package/src/release-envelope/canonical.ts +6 -18
- package/src/release-envelope/contract.mjs +28 -0
- package/src/release-envelope/framework-output.ts +681 -156
- package/src/release-envelope/index.ts +315 -60
- package/src/release-envelope/plugin.ts +54 -38
- package/src/release-envelope/renderer-output-stamp.ts +210 -0
- package/src/release-envelope/types.ts +75 -6
- package/src/release-identity.ts +19 -2
- package/src/renderer-build-identity.ts +168 -0
- package/src/runtime-package-resolution.ts +115 -0
- package/src/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
- package/src/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
- package/src/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
- package/src/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
- package/src/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
- package/src/templates/cloudflare-worker-route-data.mjs +1069 -0
- package/src/workspace-topology.ts +125 -0
- package/dist/cjs/templates/cloudflare-worker-fs-promises.mjs +0 -11
- package/dist/cjs/templates/cloudflare-worker-loadable-server.mjs +0 -281
- package/dist/cjs/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
- package/dist/cjs/templates/cloudflare-worker-path.mjs +0 -98
- package/dist/esm/templates/cloudflare-worker-fs-promises.mjs +0 -11
- package/dist/esm/templates/cloudflare-worker-loadable-server.mjs +0 -281
- package/dist/esm/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
- package/dist/esm/templates/cloudflare-worker-path.mjs +0 -98
- package/dist/esm-node/templates/cloudflare-worker-fs-promises.mjs +0 -11
- package/dist/esm-node/templates/cloudflare-worker-loadable-server.mjs +0 -281
- package/dist/esm-node/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
- package/dist/esm-node/templates/cloudflare-worker-path.mjs +0 -98
- package/dist/types/templates/cloudflare-worker-fs-promises.d.mts +0 -5
- package/dist/types/templates/cloudflare-worker-loadable-server.d.mts +0 -48
- package/dist/types/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +0 -13
- package/dist/types/templates/cloudflare-worker-path.d.mts +0 -21
- package/src/templates/cloudflare-worker-fs-promises.mjs +0 -11
- package/src/templates/cloudflare-worker-loadable-server.mjs +0 -281
- package/src/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
- package/src/templates/cloudflare-worker-path.mjs +0 -98
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
(()=>{
|
|
25
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
26
|
+
})();
|
|
27
|
+
(()=>{
|
|
28
|
+
__webpack_require__.r = (exports1)=>{
|
|
29
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
30
|
+
value: 'Module'
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
33
|
+
value: true
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
var __webpack_exports__ = {};
|
|
38
|
+
__webpack_require__.r(__webpack_exports__);
|
|
39
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
rendererProfileKey: ()=>rendererProfileKey,
|
|
41
|
+
resolveRendererBuildIdentities: ()=>resolveRendererBuildIdentities
|
|
42
|
+
});
|
|
43
|
+
const external_node_crypto_namespaceObject = require("node:crypto");
|
|
44
|
+
const external_node_fs_namespaceObject = require("node:fs");
|
|
45
|
+
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
46
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
47
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
48
|
+
const backend_federation_contracts_namespaceObject = require("@modern-js/backend-federation-contracts");
|
|
49
|
+
const external_release_identity_js_namespaceObject = require("./release-identity.js");
|
|
50
|
+
const LOCKFILES = [
|
|
51
|
+
'pnpm-lock.yaml',
|
|
52
|
+
'package-lock.json',
|
|
53
|
+
'yarn.lock',
|
|
54
|
+
'bun.lock',
|
|
55
|
+
'bun.lockb'
|
|
56
|
+
];
|
|
57
|
+
const processNonce = (0, external_node_crypto_namespaceObject.randomUUID)();
|
|
58
|
+
const sha256 = (value)=>(0, external_node_crypto_namespaceObject.createHash)('sha256').update(value).digest('hex');
|
|
59
|
+
function rendererProfileKey(profile) {
|
|
60
|
+
return sha256(JSON.stringify([
|
|
61
|
+
profile.renderer,
|
|
62
|
+
profile.protocolVersion,
|
|
63
|
+
profile.compiler,
|
|
64
|
+
profile.hydration,
|
|
65
|
+
profile.router,
|
|
66
|
+
Object.entries(profile.dependencies ?? {}).sort(([left], [right])=>left < right ? -1 : left > right ? 1 : 0)
|
|
67
|
+
]));
|
|
68
|
+
}
|
|
69
|
+
function lockfileHash(projectRoot) {
|
|
70
|
+
let directory = external_node_path_default().resolve(projectRoot);
|
|
71
|
+
for(;;){
|
|
72
|
+
for (const name of LOCKFILES)try {
|
|
73
|
+
return sha256(external_node_fs_default().readFileSync(external_node_path_default().join(directory, name)));
|
|
74
|
+
} catch (error) {
|
|
75
|
+
if ('ENOENT' !== error.code) throw error;
|
|
76
|
+
}
|
|
77
|
+
const parent = external_node_path_default().dirname(directory);
|
|
78
|
+
if (parent === directory) return '';
|
|
79
|
+
directory = parent;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function resolveRendererBuildIdentities(options) {
|
|
83
|
+
const profile = {
|
|
84
|
+
renderer: options.profile.renderer,
|
|
85
|
+
protocolVersion: options.profile.protocolVersion,
|
|
86
|
+
compiler: options.profile.compiler,
|
|
87
|
+
hydration: options.profile.hydration,
|
|
88
|
+
router: options.profile.router
|
|
89
|
+
};
|
|
90
|
+
const validation = (0, backend_federation_contracts_namespaceObject.validateRendererProfile)(profile);
|
|
91
|
+
if (!validation.ok || options.renderer !== profile.renderer) throw new Error(`Renderer/profile identity mismatch: ${JSON.stringify(validation.errors)}.`);
|
|
92
|
+
const entries = [
|
|
93
|
+
...options.entryNames
|
|
94
|
+
].sort();
|
|
95
|
+
if (0 === entries.length || new Set(entries).size !== entries.length || entries.some((value)=>!value || '__proto__' === value)) throw new Error('Renderer build identity requires unique nonempty entry names.');
|
|
96
|
+
const routerValidation = (0, backend_federation_contracts_namespaceObject.validateRendererRouterBindings)(options.routerBindings, entries, 'routerBindings', options.routerFrameworks);
|
|
97
|
+
if (!routerValidation.ok) throw new Error(`Invalid renderer router bindings: ${JSON.stringify(routerValidation.errors)}.`);
|
|
98
|
+
const projectRoot = external_node_path_default().resolve(options.projectRoot);
|
|
99
|
+
const appId = options.appId ?? JSON.parse(external_node_fs_default().readFileSync(external_node_path_default().join(projectRoot, 'package.json'), 'utf8')).name;
|
|
100
|
+
if ('string' != typeof appId || !appId || appId.trim() !== appId) throw new Error('Renderer application identity requires a delivery artifact appId or a package name.');
|
|
101
|
+
const profileKey = rendererProfileKey(options.profile);
|
|
102
|
+
const sourceRevision = (0, external_release_identity_js_namespaceObject.resolveUltramodernSourceRevision)(projectRoot, options.sourceRevision);
|
|
103
|
+
const buildId = sha256(JSON.stringify([
|
|
104
|
+
profileKey,
|
|
105
|
+
lockfileHash(projectRoot),
|
|
106
|
+
'development' === options.mode || 'workspace' === sourceRevision ? processNonce : sourceRevision
|
|
107
|
+
]));
|
|
108
|
+
const identities = Object.fromEntries(entries.map((entryName)=>[
|
|
109
|
+
entryName,
|
|
110
|
+
Object.freeze({
|
|
111
|
+
renderer: options.renderer,
|
|
112
|
+
appId,
|
|
113
|
+
entryName,
|
|
114
|
+
protocolVersion: 1,
|
|
115
|
+
buildId
|
|
116
|
+
})
|
|
117
|
+
]));
|
|
118
|
+
return Object.freeze({
|
|
119
|
+
identities: Object.freeze(identities),
|
|
120
|
+
buildId,
|
|
121
|
+
profileKey,
|
|
122
|
+
sourceRevision,
|
|
123
|
+
routerBindings: (0, backend_federation_contracts_namespaceObject.immutableRendererRouterBindings)(options.routerBindings)
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
exports.rendererProfileKey = __webpack_exports__.rendererProfileKey;
|
|
127
|
+
exports.resolveRendererBuildIdentities = __webpack_exports__.resolveRendererBuildIdentities;
|
|
128
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
129
|
+
"rendererProfileKey",
|
|
130
|
+
"resolveRendererBuildIdentities"
|
|
131
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
132
|
+
Object.defineProperty(exports, '__esModule', {
|
|
133
|
+
value: true
|
|
134
|
+
});
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
(()=>{
|
|
25
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
26
|
+
})();
|
|
27
|
+
(()=>{
|
|
28
|
+
__webpack_require__.r = (exports1)=>{
|
|
29
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
30
|
+
value: 'Module'
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
33
|
+
value: true
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
var __webpack_exports__ = {};
|
|
38
|
+
__webpack_require__.r(__webpack_exports__);
|
|
39
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
canResolveRuntimePackage: ()=>canResolveRuntimePackage,
|
|
41
|
+
collectRuntimePackageModuleDirectories: ()=>collectRuntimePackageModuleDirectories,
|
|
42
|
+
createRuntimePackageResolutionPlugin: ()=>createRuntimePackageResolutionPlugin,
|
|
43
|
+
findHostingModuleDirectory: ()=>findHostingModuleDirectory
|
|
44
|
+
});
|
|
45
|
+
const external_node_fs_namespaceObject = require("node:fs");
|
|
46
|
+
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
47
|
+
const external_node_module_namespaceObject = require("node:module");
|
|
48
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
49
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
50
|
+
const external_node_url_namespaceObject = require("node:url");
|
|
51
|
+
const findHostingModuleDirectory = (packageName, fromDirectory)=>{
|
|
52
|
+
let directory = external_node_path_default().resolve(fromDirectory);
|
|
53
|
+
for(;;){
|
|
54
|
+
const candidate = external_node_path_default().join(directory, 'node_modules');
|
|
55
|
+
if (external_node_fs_default().existsSync(external_node_path_default().join(candidate, packageName))) return candidate;
|
|
56
|
+
const parent = external_node_path_default().dirname(directory);
|
|
57
|
+
if (parent === directory) return;
|
|
58
|
+
directory = parent;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const collectRuntimePackageModuleDirectories = (packageNames, registrarUrl)=>{
|
|
62
|
+
const registrarDirectory = external_node_path_default().dirname((0, external_node_url_namespaceObject.fileURLToPath)(registrarUrl));
|
|
63
|
+
const directories = [];
|
|
64
|
+
for (const packageName of packageNames){
|
|
65
|
+
const directory = findHostingModuleDirectory(packageName, registrarDirectory);
|
|
66
|
+
if (directory && !directories.includes(directory)) directories.push(directory);
|
|
67
|
+
}
|
|
68
|
+
return directories;
|
|
69
|
+
};
|
|
70
|
+
const appendModuleDirectories = (config, directories)=>{
|
|
71
|
+
if (0 === directories.length) return;
|
|
72
|
+
config.resolve ??= {};
|
|
73
|
+
const existing = config.resolve.modules ?? [
|
|
74
|
+
'node_modules'
|
|
75
|
+
];
|
|
76
|
+
config.resolve.modules = [
|
|
77
|
+
...existing,
|
|
78
|
+
...directories.filter((directory)=>!existing.includes(directory))
|
|
79
|
+
];
|
|
80
|
+
};
|
|
81
|
+
const createRuntimePackageResolutionPlugin = (directories)=>({
|
|
82
|
+
name: 'ultramodern:runtime-package-resolution',
|
|
83
|
+
setup (api) {
|
|
84
|
+
api.modifyRspackConfig({
|
|
85
|
+
order: 'post',
|
|
86
|
+
handler (config) {
|
|
87
|
+
appendModuleDirectories(config, directories);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
api.onBeforeCreateCompiler({
|
|
91
|
+
order: 'post',
|
|
92
|
+
handler ({ bundlerConfigs }) {
|
|
93
|
+
for (const config of bundlerConfigs)appendModuleDirectories(config, directories);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
const canResolveRuntimePackage = (packageName, registrarUrl)=>{
|
|
99
|
+
try {
|
|
100
|
+
(0, external_node_module_namespaceObject.createRequire)(registrarUrl).resolve(packageName);
|
|
101
|
+
return true;
|
|
102
|
+
} catch {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
exports.canResolveRuntimePackage = __webpack_exports__.canResolveRuntimePackage;
|
|
107
|
+
exports.collectRuntimePackageModuleDirectories = __webpack_exports__.collectRuntimePackageModuleDirectories;
|
|
108
|
+
exports.createRuntimePackageResolutionPlugin = __webpack_exports__.createRuntimePackageResolutionPlugin;
|
|
109
|
+
exports.findHostingModuleDirectory = __webpack_exports__.findHostingModuleDirectory;
|
|
110
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
111
|
+
"canResolveRuntimePackage",
|
|
112
|
+
"collectRuntimePackageModuleDirectories",
|
|
113
|
+
"createRuntimePackageResolutionPlugin",
|
|
114
|
+
"findHostingModuleDirectory"
|
|
115
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
116
|
+
Object.defineProperty(exports, '__esModule', {
|
|
117
|
+
value: true
|
|
118
|
+
});
|
|
@@ -3,8 +3,12 @@ const MODERN_WORKER_MANIFEST = p_workerManifest;
|
|
|
3
3
|
export const modernWorkerManifest = MODERN_WORKER_MANIFEST;
|
|
4
4
|
const WORKER_MODULE_LOADERS = p_workerModuleLoaders;
|
|
5
5
|
const workerModulePromises = new Map();
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
// workerd forbids awaiting I/O (a `fetch()` Promise) that was started by a
|
|
7
|
+
// different request's execution context. This worker isolate outlives any
|
|
8
|
+
// single request, so this map may only ever hold settled, plain JSON values
|
|
9
|
+
// — never a live fetch Promise shared across requests. In-flight dedupe is
|
|
10
|
+
// instead scoped per request; see `createRemoteJsonFetchScope`.
|
|
11
|
+
const remoteJsonCache = new Map();
|
|
8
12
|
const CORS_POLICY = MODERN_WORKER_MANIFEST.security?.cors || {};
|
|
9
13
|
const ASSET_CORS_ENABLED = CORS_POLICY.assets !== false;
|
|
10
14
|
const APP_CORS_ALLOWED_ORIGINS = (CORS_POLICY.allowedOrigins || []).map(
|
|
@@ -24,9 +28,6 @@ const ASSET_CORS_HEADERS = {
|
|
|
24
28
|
'access-control-allow-origin': '*',
|
|
25
29
|
};
|
|
26
30
|
|
|
27
|
-
globalThis.__dirname ??= '/';
|
|
28
|
-
globalThis.__filename ??= '/index.js';
|
|
29
|
-
|
|
30
31
|
function getAllowedAppCorsOrigin(request) {
|
|
31
32
|
if (APP_CORS_ALLOWED_ORIGINS.length === 0) {
|
|
32
33
|
return null;
|
|
@@ -226,7 +227,11 @@ function withCloudflareSecurityHeaders(response, request) {
|
|
|
226
227
|
}
|
|
227
228
|
|
|
228
229
|
function createRenderableRequest(request) {
|
|
229
|
-
if (
|
|
230
|
+
if (
|
|
231
|
+
request.method !== 'HEAD' ||
|
|
232
|
+
request.headers.get('x-rsc-action') ||
|
|
233
|
+
request.headers.get('x-rsc-tree')
|
|
234
|
+
) {
|
|
230
235
|
return request;
|
|
231
236
|
}
|
|
232
237
|
|
|
@@ -242,6 +247,9 @@ function finalizeResponseForRequest(response, request) {
|
|
|
242
247
|
|
|
243
248
|
const headers = new Headers(securedResponse.headers);
|
|
244
249
|
headers.delete('content-length');
|
|
250
|
+
// A HEAD response sends no body, so release the producer's stream instead of abandoning it:
|
|
251
|
+
// a stream nobody reads never finishes, and whatever waits for its end never runs.
|
|
252
|
+
securedResponse.body?.cancel().catch(() => undefined);
|
|
245
253
|
|
|
246
254
|
return new Response(null, {
|
|
247
255
|
headers,
|
|
@@ -20,7 +20,7 @@ function withAssetHeaders(response, request) {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
async function createCorsPreflightResponse(request,
|
|
23
|
+
async function createCorsPreflightResponse(request, _env) {
|
|
24
24
|
if (request.method !== 'OPTIONS') {
|
|
25
25
|
return null;
|
|
26
26
|
}
|
|
@@ -71,7 +71,15 @@ async function fetchAssetByPath(pathname, request, env) {
|
|
|
71
71
|
const url = new URL(request.url);
|
|
72
72
|
url.pathname = `/${pathname.replace(/^\/+/u, '')}`;
|
|
73
73
|
|
|
74
|
-
return fetchAsset(
|
|
74
|
+
return fetchAsset(
|
|
75
|
+
new Request(url, {
|
|
76
|
+
method: 'GET',
|
|
77
|
+
headers: request.headers,
|
|
78
|
+
redirect: request.redirect,
|
|
79
|
+
signal: request.signal,
|
|
80
|
+
}),
|
|
81
|
+
env,
|
|
82
|
+
);
|
|
75
83
|
}
|
|
76
84
|
|
|
77
85
|
async function fetchAssetByPathFollowingRedirects(
|