@bleedingdev/modern-js-app-tools-extensions 3.9.0-ultramodern.2 → 3.9.0-ultramodern.20
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/dist/cjs/backend-federation-build/codegen.js +267 -0
- package/dist/cjs/backend-federation-build/config.js +239 -0
- package/dist/cjs/backend-federation-build/emit.js +154 -0
- package/dist/cjs/backend-federation-build/index.js +53 -0
- package/dist/cjs/build-config/build-environment.js +129 -0
- package/dist/cjs/build-config/precompress/plugin.js +124 -0
- package/dist/cjs/build-config/precompress/types.js +18 -0
- package/dist/cjs/build-config/public.js +43 -0
- package/dist/cjs/build-config/remote-address.js +58 -0
- package/dist/cjs/cloudflare/artifacts.js +8 -19
- package/dist/cjs/cloudflare/constants.js +1 -1
- package/dist/cjs/cloudflare/delivery-unit.js +23 -42
- package/dist/cjs/cloudflare/index.js +10 -2
- package/dist/cjs/cloudflare/worker-manifest.js +13 -4
- package/dist/cjs/cloudflare/wrangler-config.js +35 -7
- package/dist/cjs/cloudflare-builder.js +251 -75
- package/dist/cjs/cloudflare-output-contract.js +69 -3
- package/dist/cjs/cloudflare-output-verifier/identity.js +29 -27
- 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 +14 -6
- package/dist/cjs/config.js +34 -1
- package/dist/cjs/deploy-output/npmAliases.js +251 -0
- package/dist/cjs/deploy-output/plugin.js +97 -0
- package/dist/cjs/deploy-output/public-assets.js +146 -0
- package/dist/cjs/deploy-output/target.js +104 -0
- package/dist/cjs/deploy-output/trace-files.js +90 -0
- package/dist/cjs/native-type-checker.js +193 -0
- package/dist/cjs/policy-defaults.js +101 -0
- package/dist/cjs/release-envelope/framework-output.js +153 -79
- package/dist/cjs/release-envelope/index.js +10 -4
- package/dist/cjs/release-envelope/plugin.js +18 -13
- package/dist/cjs/release-identity.js +5 -6
- package/dist/cjs/runtime-package-resolution.js +118 -0
- package/dist/cjs/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
- package/dist/cjs/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
- package/dist/cjs/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
- package/dist/cjs/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
- package/dist/cjs/templates/cloudflare-worker-route-data.mjs +1069 -0
- package/dist/esm/backend-federation-build/codegen.mjs +216 -0
- package/dist/esm/backend-federation-build/config.mjs +163 -0
- package/dist/esm/backend-federation-build/emit.mjs +103 -0
- package/dist/esm/backend-federation-build/index.mjs +1 -0
- package/dist/esm/build-config/build-environment.mjs +88 -0
- package/dist/esm/build-config/precompress/plugin.mjs +76 -0
- package/dist/esm/build-config/precompress/types.mjs +0 -0
- package/dist/esm/build-config/public.mjs +1 -0
- package/dist/esm/build-config/remote-address.mjs +20 -0
- package/dist/esm/cloudflare/artifacts.mjs +8 -19
- package/dist/esm/cloudflare/constants.mjs +1 -1
- package/dist/esm/cloudflare/delivery-unit.mjs +17 -36
- package/dist/esm/cloudflare/index.mjs +10 -2
- package/dist/esm/cloudflare/worker-manifest.mjs +13 -4
- package/dist/esm/cloudflare/wrangler-config.mjs +35 -7
- package/dist/esm/cloudflare-builder.mjs +245 -75
- package/dist/esm/cloudflare-output-contract.mjs +59 -2
- package/dist/esm/cloudflare-output-verifier/identity.mjs +27 -25
- 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 +15 -7
- package/dist/esm/config.mjs +3 -0
- package/dist/esm/deploy-output/npmAliases.mjs +199 -0
- package/dist/esm/deploy-output/plugin.mjs +46 -0
- package/dist/esm/deploy-output/public-assets.mjs +82 -0
- package/dist/esm/deploy-output/target.mjs +57 -0
- package/dist/esm/deploy-output/trace-files.mjs +38 -0
- package/dist/esm/native-type-checker.mjs +142 -0
- package/dist/esm/policy-defaults.mjs +45 -0
- package/dist/esm/release-envelope/framework-output.mjs +130 -56
- package/dist/esm/release-envelope/index.mjs +10 -4
- package/dist/esm/release-envelope/plugin.mjs +18 -13
- package/dist/esm/release-identity.mjs +5 -6
- package/dist/esm/runtime-package-resolution.mjs +60 -0
- package/dist/esm/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
- package/dist/esm/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
- package/dist/esm/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
- package/dist/esm/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
- package/dist/esm/templates/cloudflare-worker-route-data.mjs +1069 -0
- package/dist/esm-node/backend-federation-build/codegen.mjs +217 -0
- package/dist/esm-node/backend-federation-build/config.mjs +164 -0
- package/dist/esm-node/backend-federation-build/emit.mjs +104 -0
- package/dist/esm-node/backend-federation-build/index.mjs +2 -0
- package/dist/esm-node/build-config/build-environment.mjs +89 -0
- package/dist/esm-node/build-config/precompress/plugin.mjs +77 -0
- package/dist/esm-node/build-config/precompress/types.mjs +1 -0
- package/dist/esm-node/build-config/public.mjs +2 -0
- 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/constants.mjs +1 -1
- package/dist/esm-node/cloudflare/delivery-unit.mjs +17 -36
- package/dist/esm-node/cloudflare/index.mjs +10 -2
- package/dist/esm-node/cloudflare/worker-manifest.mjs +13 -4
- package/dist/esm-node/cloudflare/wrangler-config.mjs +35 -7
- package/dist/esm-node/cloudflare-builder.mjs +245 -75
- package/dist/esm-node/cloudflare-output-contract.mjs +59 -2
- package/dist/esm-node/cloudflare-output-verifier/identity.mjs +27 -25
- 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 +15 -7
- package/dist/esm-node/config.mjs +3 -0
- package/dist/esm-node/deploy-output/npmAliases.mjs +200 -0
- package/dist/esm-node/deploy-output/plugin.mjs +49 -0
- package/dist/esm-node/deploy-output/public-assets.mjs +83 -0
- package/dist/esm-node/deploy-output/target.mjs +58 -0
- package/dist/esm-node/deploy-output/trace-files.mjs +39 -0
- package/dist/esm-node/native-type-checker.mjs +143 -0
- package/dist/esm-node/policy-defaults.mjs +46 -0
- package/dist/esm-node/release-envelope/framework-output.mjs +130 -56
- package/dist/esm-node/release-envelope/index.mjs +10 -4
- package/dist/esm-node/release-envelope/plugin.mjs +18 -13
- package/dist/esm-node/release-identity.mjs +5 -6
- package/dist/esm-node/runtime-package-resolution.mjs +61 -0
- package/dist/esm-node/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
- package/dist/esm-node/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
- package/dist/esm-node/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
- package/dist/esm-node/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
- package/dist/esm-node/templates/cloudflare-worker-route-data.mjs +1069 -0
- package/dist/types/backend-federation-build/codegen.d.ts +116 -0
- package/dist/types/backend-federation-build/config.d.ts +121 -0
- package/dist/types/backend-federation-build/emit.d.ts +21 -0
- package/dist/types/backend-federation-build/index.d.ts +2 -0
- package/dist/types/build-config/build-environment.d.ts +14 -0
- package/dist/types/build-config/precompress/plugin.d.ts +4 -0
- package/dist/types/build-config/precompress/types.d.ts +19 -0
- package/dist/types/build-config/public.d.ts +2 -0
- 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 +3 -3
- package/dist/types/cloudflare/worker-manifest.d.ts +2 -2
- package/dist/types/cloudflare/wrangler-config.d.ts +6 -0
- package/dist/types/cloudflare-builder.d.ts +49 -9
- package/dist/types/cloudflare-output-contract.d.ts +4 -1
- package/dist/types/cloudflare-output-verifier/identity.d.ts +1 -1
- package/dist/types/cloudflare-output-verifier/worker-bundles.d.ts +2 -2
- package/dist/types/config.d.ts +29 -1
- package/dist/types/deploy-output/npmAliases.d.ts +14 -0
- package/dist/types/deploy-output/plugin.d.ts +35 -0
- package/dist/types/deploy-output/public-assets.d.ts +51 -0
- package/dist/types/deploy-output/target.d.ts +29 -0
- package/dist/types/deploy-output/trace-files.d.ts +17 -0
- package/dist/types/native-type-checker.d.ts +15 -0
- package/dist/types/policy-defaults.d.ts +46 -0
- package/dist/types/precompress/LICENSE +20 -0
- package/dist/types/precompress/index.d.ts +76 -0
- package/dist/types/release-envelope/framework-output.d.ts +8 -3
- package/dist/types/release-envelope/plugin.d.ts +7 -7
- package/dist/types/runtime-package-resolution.d.ts +28 -0
- package/dist/types/templates/cloudflare-worker-route-data.d.mts +14 -0
- package/package.json +97 -15
- package/src/backend-federation-build/codegen.ts +254 -0
- package/src/backend-federation-build/config.ts +492 -0
- package/src/backend-federation-build/emit.ts +213 -0
- package/src/backend-federation-build/index.ts +2 -0
- package/src/build-config/build-environment.ts +160 -0
- package/src/build-config/precompress/plugin.ts +140 -0
- package/src/build-config/precompress/types.ts +26 -0
- package/src/build-config/public.ts +5 -0
- package/src/build-config/remote-address.ts +33 -0
- package/src/cloudflare/artifacts.ts +22 -43
- package/src/cloudflare/constants.ts +1 -1
- package/src/cloudflare/delivery-unit.ts +42 -53
- package/src/cloudflare/index.ts +24 -11
- package/src/cloudflare/worker-manifest.ts +20 -3
- package/src/cloudflare/wrangler-config.ts +86 -10
- package/src/cloudflare-builder.ts +472 -151
- package/src/cloudflare-output-contract.ts +70 -0
- package/src/cloudflare-output-verifier/identity.ts +5 -1
- 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 +32 -14
- package/src/config.ts +34 -6
- package/src/deploy-output/npmAliases.ts +382 -0
- package/src/deploy-output/plugin.ts +86 -0
- package/src/deploy-output/public-assets.ts +224 -0
- package/src/deploy-output/target.ts +106 -0
- package/src/deploy-output/trace-files.ts +67 -0
- package/src/native-type-checker.ts +183 -0
- package/src/policy-defaults.ts +127 -0
- package/src/release-envelope/framework-output.ts +346 -94
- package/src/release-envelope/index.ts +26 -5
- package/src/release-envelope/plugin.ts +43 -40
- package/src/release-identity.ts +13 -2
- package/src/runtime-package-resolution.ts +115 -0
- package/src/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
- package/src/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
- package/src/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
- package/src/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
- package/src/templates/cloudflare-worker-route-data.mjs +1069 -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,53 @@
|
|
|
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
|
+
default: ()=>external_emit_js_default(),
|
|
41
|
+
emitBackendFederationArtifacts: ()=>external_emit_js_namespaceObject.emitBackendFederationArtifacts
|
|
42
|
+
});
|
|
43
|
+
const external_emit_js_namespaceObject = require("./emit.js");
|
|
44
|
+
var external_emit_js_default = /*#__PURE__*/ __webpack_require__.n(external_emit_js_namespaceObject);
|
|
45
|
+
exports["default"] = __webpack_exports__["default"];
|
|
46
|
+
exports.emitBackendFederationArtifacts = __webpack_exports__.emitBackendFederationArtifacts;
|
|
47
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
48
|
+
"default",
|
|
49
|
+
"emitBackendFederationArtifacts"
|
|
50
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
51
|
+
Object.defineProperty(exports, '__esModule', {
|
|
52
|
+
value: true
|
|
53
|
+
});
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
getBuildConfigEnvironment: ()=>getBuildConfigEnvironment,
|
|
32
|
+
resolveEffectTsgoCompiler: ()=>resolveEffectTsgoCompiler
|
|
33
|
+
});
|
|
34
|
+
const external_node_child_process_namespaceObject = require("node:child_process");
|
|
35
|
+
const external_node_crypto_namespaceObject = require("node:crypto");
|
|
36
|
+
const external_node_fs_namespaceObject = require("node:fs");
|
|
37
|
+
const external_node_module_namespaceObject = require("node:module");
|
|
38
|
+
const external_node_os_namespaceObject = require("node:os");
|
|
39
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
40
|
+
const EFFECT_TSGO_PACKAGE = '@effect/tsgo';
|
|
41
|
+
const EFFECT_TSGO_BIN = 'effect-tsgo';
|
|
42
|
+
const EFFECT_TSGO_RESOLUTION_ERROR = 'Unable to resolve the Effect TS-Go compiler. Install "@effect/tsgo" and a native TypeScript backend for this build config, or set EFFECT_TSGO_BIN.';
|
|
43
|
+
const executableEffectTsgoCompilers = new Map();
|
|
44
|
+
function resolveEffectTsgoCli(from) {
|
|
45
|
+
const projectRequire = (0, external_node_module_namespaceObject.createRequire)(from);
|
|
46
|
+
const packageJsonPath = projectRequire.resolve(`${EFFECT_TSGO_PACKAGE}/package.json`);
|
|
47
|
+
const packageJson = JSON.parse((0, external_node_fs_namespaceObject.readFileSync)(packageJsonPath, 'utf-8'));
|
|
48
|
+
const bin = 'string' == typeof packageJson.bin ? packageJson.bin : packageJson.bin?.[EFFECT_TSGO_BIN];
|
|
49
|
+
if (!bin) throw new Error(EFFECT_TSGO_RESOLUTION_ERROR);
|
|
50
|
+
return (0, external_node_path_namespaceObject.resolve)((0, external_node_path_namespaceObject.dirname)(packageJsonPath), bin);
|
|
51
|
+
}
|
|
52
|
+
function resolveExecutableEffectTsgoCompiler(compilerPath) {
|
|
53
|
+
if ('win32' === process.platform) return compilerPath;
|
|
54
|
+
const sourcePath = (0, external_node_fs_namespaceObject.realpathSync)(compilerPath);
|
|
55
|
+
const source = (0, external_node_fs_namespaceObject.lstatSync)(sourcePath);
|
|
56
|
+
if (!source.isFile()) throw new Error(EFFECT_TSGO_RESOLUTION_ERROR);
|
|
57
|
+
try {
|
|
58
|
+
(0, external_node_fs_namespaceObject.accessSync)(sourcePath, external_node_fs_namespaceObject.constants.X_OK);
|
|
59
|
+
return compilerPath;
|
|
60
|
+
} catch {}
|
|
61
|
+
const cachedCompiler = executableEffectTsgoCompilers.get(sourcePath);
|
|
62
|
+
if (cachedCompiler) try {
|
|
63
|
+
(0, external_node_fs_namespaceObject.accessSync)(cachedCompiler, external_node_fs_namespaceObject.constants.X_OK);
|
|
64
|
+
return cachedCompiler;
|
|
65
|
+
} catch {
|
|
66
|
+
executableEffectTsgoCompilers.delete(sourcePath);
|
|
67
|
+
}
|
|
68
|
+
const compilerBytes = (0, external_node_fs_namespaceObject.readFileSync)(sourcePath);
|
|
69
|
+
const compilerDigest = (0, external_node_crypto_namespaceObject.createHash)('sha256').update(compilerBytes).digest('hex');
|
|
70
|
+
const compilerDirectory = (0, external_node_path_namespaceObject.join)((0, external_node_os_namespaceObject.tmpdir)(), 'modern-js', 'effect-tsgo', compilerDigest);
|
|
71
|
+
(0, external_node_fs_namespaceObject.mkdirSync)(compilerDirectory, {
|
|
72
|
+
recursive: true,
|
|
73
|
+
mode: 448
|
|
74
|
+
});
|
|
75
|
+
const executableCompiler = (0, external_node_path_namespaceObject.join)(compilerDirectory, (0, external_node_path_namespaceObject.basename)(sourcePath));
|
|
76
|
+
try {
|
|
77
|
+
(0, external_node_fs_namespaceObject.accessSync)(executableCompiler, external_node_fs_namespaceObject.constants.X_OK);
|
|
78
|
+
} catch {
|
|
79
|
+
const temporaryCompiler = (0, external_node_path_namespaceObject.join)(compilerDirectory, `.${(0, external_node_path_namespaceObject.basename)(sourcePath)}.${process.pid}.tmp`);
|
|
80
|
+
(0, external_node_fs_namespaceObject.rmSync)(temporaryCompiler, {
|
|
81
|
+
force: true
|
|
82
|
+
});
|
|
83
|
+
try {
|
|
84
|
+
(0, external_node_fs_namespaceObject.writeFileSync)(temporaryCompiler, compilerBytes, {
|
|
85
|
+
flag: 'wx',
|
|
86
|
+
mode: 448
|
|
87
|
+
});
|
|
88
|
+
(0, external_node_fs_namespaceObject.chmodSync)(temporaryCompiler, 448);
|
|
89
|
+
(0, external_node_fs_namespaceObject.renameSync)(temporaryCompiler, executableCompiler);
|
|
90
|
+
} finally{
|
|
91
|
+
(0, external_node_fs_namespaceObject.rmSync)(temporaryCompiler, {
|
|
92
|
+
force: true
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
(0, external_node_fs_namespaceObject.accessSync)(executableCompiler, external_node_fs_namespaceObject.constants.X_OK);
|
|
97
|
+
executableEffectTsgoCompilers.set(sourcePath, executableCompiler);
|
|
98
|
+
return executableCompiler;
|
|
99
|
+
}
|
|
100
|
+
function getBuildConfigEnvironment(name) {
|
|
101
|
+
return process.env[name];
|
|
102
|
+
}
|
|
103
|
+
function resolveEffectTsgoCompiler(options) {
|
|
104
|
+
const configuredCompiler = getBuildConfigEnvironment('EFFECT_TSGO_BIN')?.trim();
|
|
105
|
+
if (configuredCompiler) try {
|
|
106
|
+
return resolveExecutableEffectTsgoCompiler(configuredCompiler);
|
|
107
|
+
} catch {
|
|
108
|
+
throw new Error(EFFECT_TSGO_RESOLUTION_ERROR);
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const compiler = (0, external_node_child_process_namespaceObject.execFileSync)(process.execPath, [
|
|
112
|
+
resolveEffectTsgoCli(options.from),
|
|
113
|
+
'get-exe-path'
|
|
114
|
+
], {
|
|
115
|
+
encoding: 'utf-8'
|
|
116
|
+
}).trim();
|
|
117
|
+
if (compiler) return resolveExecutableEffectTsgoCompiler(compiler);
|
|
118
|
+
} catch {}
|
|
119
|
+
throw new Error(EFFECT_TSGO_RESOLUTION_ERROR);
|
|
120
|
+
}
|
|
121
|
+
exports.getBuildConfigEnvironment = __webpack_exports__.getBuildConfigEnvironment;
|
|
122
|
+
exports.resolveEffectTsgoCompiler = __webpack_exports__.resolveEffectTsgoCompiler;
|
|
123
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
124
|
+
"getBuildConfigEnvironment",
|
|
125
|
+
"resolveEffectTsgoCompiler"
|
|
126
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
127
|
+
Object.defineProperty(exports, '__esModule', {
|
|
128
|
+
value: true
|
|
129
|
+
});
|
|
@@ -0,0 +1,124 @@
|
|
|
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
|
+
builderPluginAdapterPrecompress: ()=>builderPluginAdapterPrecompress
|
|
41
|
+
});
|
|
42
|
+
const external_node_zlib_namespaceObject = require("node:zlib");
|
|
43
|
+
const external_compression_webpack_plugin_namespaceObject = require("compression-webpack-plugin");
|
|
44
|
+
var external_compression_webpack_plugin_default = /*#__PURE__*/ __webpack_require__.n(external_compression_webpack_plugin_namespaceObject);
|
|
45
|
+
const DEFAULT_PRECOMPRESS_TEST = /\.(js|mjs|cjs|css|html|svg|json|map)$/i;
|
|
46
|
+
const DEFAULT_PRECOMPRESS_THRESHOLD = 10240;
|
|
47
|
+
const DEFAULT_PRECOMPRESS_MIN_RATIO = 0.8;
|
|
48
|
+
const createDefaultGzipOptions = ()=>({
|
|
49
|
+
algorithm: 'gzip',
|
|
50
|
+
filename: '[path][base].gz',
|
|
51
|
+
test: DEFAULT_PRECOMPRESS_TEST,
|
|
52
|
+
threshold: DEFAULT_PRECOMPRESS_THRESHOLD,
|
|
53
|
+
minRatio: DEFAULT_PRECOMPRESS_MIN_RATIO,
|
|
54
|
+
compressionOptions: {
|
|
55
|
+
level: 6
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const createDefaultBrotliOptions = ()=>({
|
|
59
|
+
algorithm: 'brotliCompress',
|
|
60
|
+
filename: '[path][base].br',
|
|
61
|
+
test: DEFAULT_PRECOMPRESS_TEST,
|
|
62
|
+
threshold: DEFAULT_PRECOMPRESS_THRESHOLD,
|
|
63
|
+
minRatio: DEFAULT_PRECOMPRESS_MIN_RATIO,
|
|
64
|
+
compressionOptions: {
|
|
65
|
+
params: {
|
|
66
|
+
[external_node_zlib_namespaceObject.constants.BROTLI_PARAM_QUALITY]: 9
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const mergeCompressionOptions = (base, next)=>{
|
|
71
|
+
const merged = {
|
|
72
|
+
...base,
|
|
73
|
+
...next
|
|
74
|
+
};
|
|
75
|
+
if (base.compressionOptions || next.compressionOptions) {
|
|
76
|
+
const baseCompressionOptions = base.compressionOptions;
|
|
77
|
+
const nextCompressionOptions = next.compressionOptions;
|
|
78
|
+
const mergedCompressionOptions = {
|
|
79
|
+
...baseCompressionOptions,
|
|
80
|
+
...nextCompressionOptions
|
|
81
|
+
};
|
|
82
|
+
if (baseCompressionOptions?.params || nextCompressionOptions?.params) mergedCompressionOptions.params = {
|
|
83
|
+
...baseCompressionOptions?.params,
|
|
84
|
+
...nextCompressionOptions?.params
|
|
85
|
+
};
|
|
86
|
+
merged.compressionOptions = mergedCompressionOptions;
|
|
87
|
+
}
|
|
88
|
+
return merged;
|
|
89
|
+
};
|
|
90
|
+
const resolveCodecOptions = (codecConfig, createDefaultOptions)=>{
|
|
91
|
+
if (false === codecConfig) return null;
|
|
92
|
+
if (void 0 === codecConfig || true === codecConfig) return createDefaultOptions();
|
|
93
|
+
return mergeCompressionOptions(createDefaultOptions(), codecConfig);
|
|
94
|
+
};
|
|
95
|
+
const resolvePrecompressConfig = (precompress)=>{
|
|
96
|
+
if (false === precompress || void 0 === precompress) return false;
|
|
97
|
+
if (true === precompress) return {};
|
|
98
|
+
return precompress;
|
|
99
|
+
};
|
|
100
|
+
const builderPluginAdapterPrecompress = (precompress)=>({
|
|
101
|
+
name: 'builder-plugin-adapter-modern-precompress',
|
|
102
|
+
setup (api) {
|
|
103
|
+
api.modifyBundlerChain((chain, { isProd, target })=>{
|
|
104
|
+
if (!isProd || 'web' !== target) return;
|
|
105
|
+
const precompressConfig = resolvePrecompressConfig(precompress);
|
|
106
|
+
if (false === precompressConfig) return;
|
|
107
|
+
const gzipOptions = resolveCodecOptions(precompressConfig.gzip, createDefaultGzipOptions);
|
|
108
|
+
if (gzipOptions) chain.plugin('modern-precompress-gzip').use(external_compression_webpack_plugin_default(), [
|
|
109
|
+
gzipOptions
|
|
110
|
+
]);
|
|
111
|
+
const brotliOptions = resolveCodecOptions(precompressConfig.brotli, createDefaultBrotliOptions);
|
|
112
|
+
if (brotliOptions) chain.plugin('modern-precompress-brotli').use(external_compression_webpack_plugin_default(), [
|
|
113
|
+
brotliOptions
|
|
114
|
+
]);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
exports.builderPluginAdapterPrecompress = __webpack_exports__.builderPluginAdapterPrecompress;
|
|
119
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
120
|
+
"builderPluginAdapterPrecompress"
|
|
121
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
122
|
+
Object.defineProperty(exports, '__esModule', {
|
|
123
|
+
value: true
|
|
124
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.r = (exports1)=>{
|
|
5
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
6
|
+
value: 'Module'
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
})();
|
|
13
|
+
var __webpack_exports__ = {};
|
|
14
|
+
__webpack_require__.r(__webpack_exports__);
|
|
15
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
16
|
+
Object.defineProperty(exports, '__esModule', {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
getBuildConfigEnvironment: ()=>external_build_environment_js_namespaceObject.getBuildConfigEnvironment,
|
|
32
|
+
resolveEffectTsgoCompiler: ()=>external_build_environment_js_namespaceObject.resolveEffectTsgoCompiler
|
|
33
|
+
});
|
|
34
|
+
const external_build_environment_js_namespaceObject = require("./build-environment.js");
|
|
35
|
+
exports.getBuildConfigEnvironment = __webpack_exports__.getBuildConfigEnvironment;
|
|
36
|
+
exports.resolveEffectTsgoCompiler = __webpack_exports__.resolveEffectTsgoCompiler;
|
|
37
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
38
|
+
"getBuildConfigEnvironment",
|
|
39
|
+
"resolveEffectTsgoCompiler"
|
|
40
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
41
|
+
Object.defineProperty(exports, '__esModule', {
|
|
42
|
+
value: true
|
|
43
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
createRemoteManifestUrl: ()=>createRemoteManifestUrl
|
|
32
|
+
});
|
|
33
|
+
const surface_resolution_namespaceObject = require("@modern-js/surface-resolution");
|
|
34
|
+
const target_js_namespaceObject = require("../deploy-output/target.js");
|
|
35
|
+
const external_build_environment_js_namespaceObject = require("./build-environment.js");
|
|
36
|
+
function createRemoteManifestUrl(options) {
|
|
37
|
+
const env = {
|
|
38
|
+
...Object.fromEntries([
|
|
39
|
+
options.manifestEnv,
|
|
40
|
+
options.publicUrlEnv,
|
|
41
|
+
'ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN'
|
|
42
|
+
].map((name)=>[
|
|
43
|
+
name,
|
|
44
|
+
(0, external_build_environment_js_namespaceObject.getBuildConfigEnvironment)(name)
|
|
45
|
+
])),
|
|
46
|
+
MODERNJS_DEPLOY: (0, target_js_namespaceObject.resolveDeployTarget)().target
|
|
47
|
+
};
|
|
48
|
+
const address = (0, surface_resolution_namespaceObject.resolveBrowserManifestAddress)(env, options, (0, external_build_environment_js_namespaceObject.getBuildConfigEnvironment)('NODE_ENV') ?? 'production');
|
|
49
|
+
if (!address.ok) throw new Error(`Remote ${options.mfName}: ${address.reason}`);
|
|
50
|
+
return env[options.manifestEnv]?.trim() || `${options.mfName}@${address.manifestUrl}`;
|
|
51
|
+
}
|
|
52
|
+
exports.createRemoteManifestUrl = __webpack_exports__.createRemoteManifestUrl;
|
|
53
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
54
|
+
"createRemoteManifestUrl"
|
|
55
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
56
|
+
Object.defineProperty(exports, '__esModule', {
|
|
57
|
+
value: true
|
|
58
|
+
});
|
|
@@ -47,6 +47,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
47
47
|
const external_node_path_namespaceObject = require("node:path");
|
|
48
48
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
49
49
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
50
|
+
const public_assets_js_namespaceObject = require("../deploy-output/public-assets.js");
|
|
50
51
|
const external_constants_js_namespaceObject = require("./constants.js");
|
|
51
52
|
const external_utils_js_namespaceObject = require("./utils.js");
|
|
52
53
|
const normalizeCloudflareArtifact = (artifact, index)=>{
|
|
@@ -62,18 +63,7 @@ const normalizeCloudflareArtifact = (artifact, index)=>{
|
|
|
62
63
|
};
|
|
63
64
|
};
|
|
64
65
|
const getCloudflareArtifacts = (modernConfig)=>(modernConfig.deploy?.worker?.artifacts ?? []).map(normalizeCloudflareArtifact);
|
|
65
|
-
const
|
|
66
|
-
const from = (0, external_utils_js_namespaceObject.normalizeRelativePath)(asset.from, `deploy.worker.publicAssets[${index}].from`, 'app root');
|
|
67
|
-
const to = (0, external_utils_js_namespaceObject.normalizeRelativePath)(asset.to, `deploy.worker.publicAssets[${index}].to`, 'Cloudflare public output', {
|
|
68
|
-
allowRoot: true
|
|
69
|
-
});
|
|
70
|
-
return {
|
|
71
|
-
from,
|
|
72
|
-
to,
|
|
73
|
-
index
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
const getCloudflarePublicAssets = (modernConfig)=>(modernConfig.deploy?.worker?.publicAssets ?? []).map(normalizeCloudflarePublicAsset);
|
|
66
|
+
const getCloudflarePublicAssets = (modernConfig)=>(0, public_assets_js_namespaceObject.normalizeDeclaredPublicAssets)(modernConfig.deploy?.worker?.publicAssets, public_assets_js_namespaceObject.CLOUDFLARE_PUBLIC_ASSET_SCOPE);
|
|
77
67
|
const copyCloudflareArtifacts = async (appDirectory, outputDirectory, artifacts)=>{
|
|
78
68
|
for (const artifact of artifacts){
|
|
79
69
|
const sourcePath = external_node_path_default().join(appDirectory, artifact.from);
|
|
@@ -81,13 +71,12 @@ const copyCloudflareArtifacts = async (appDirectory, outputDirectory, artifacts)
|
|
|
81
71
|
await utils_namespaceObject.fs.copy(sourcePath, external_node_path_default().join(outputDirectory, artifact.to));
|
|
82
72
|
}
|
|
83
73
|
};
|
|
84
|
-
const copyCloudflarePublicAssets = async (appDirectory,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
};
|
|
74
|
+
const copyCloudflarePublicAssets = async (appDirectory, outputDirectory, publicAssets)=>(0, public_assets_js_namespaceObject.stageDeclaredPublicAssets)({
|
|
75
|
+
appDirectory,
|
|
76
|
+
outputDirectory,
|
|
77
|
+
assets: publicAssets,
|
|
78
|
+
scope: public_assets_js_namespaceObject.CLOUDFLARE_PUBLIC_ASSET_SCOPE
|
|
79
|
+
});
|
|
91
80
|
const copyCloudflareD1Migrations = async (appDirectory, outputDirectory, modernConfig)=>{
|
|
92
81
|
for (const [index, database] of (modernConfig.deploy?.worker?.d1Databases ?? []).entries()){
|
|
93
82
|
if (!database.migrationsDir) continue;
|
|
@@ -73,7 +73,7 @@ const DEFAULT_SERVER_ONLY_PUBLIC_ASSET_EXCLUDES = [
|
|
|
73
73
|
];
|
|
74
74
|
const BFF_EFFECT_WORKER_ENTRY = `${WORKER_BUNDLE_DIRECTORY}/__modern_bff_effect.js`;
|
|
75
75
|
const BFF_EFFECT_WORKER_DISPATCHER_EXPORT = '__modern_create_effect_bff_dispatcher';
|
|
76
|
-
const EFFECT_BFF_CLOUDFLARE_IMPORT_GUIDANCE = 'Ensure the Effect API entry exists at api/index.ts or bff.effect.entry, and import Cloudflare edge handlers from @modern-js/
|
|
76
|
+
const EFFECT_BFF_CLOUDFLARE_IMPORT_GUIDANCE = 'Ensure the Effect API entry exists at api/index.ts or bff.effect.entry, and import Cloudflare edge handlers from @modern-js/bff-effect/effect-edge instead of lambda/Hono server helpers.';
|
|
77
77
|
const DEFAULT_COMPATIBILITY_DATE = '2026-06-02';
|
|
78
78
|
const COMPATIBILITY_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/u;
|
|
79
79
|
const REQUIRED_COMPATIBILITY_FLAGS = external_cloudflare_output_contract_js_namespaceObject.CLOUDFLARE_REQUIRED_COMPATIBILITY_FLAGS;
|
|
@@ -42,15 +42,15 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
42
42
|
});
|
|
43
43
|
const external_node_path_namespaceObject = require("node:path");
|
|
44
44
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
45
|
+
const backend_federation_contracts_namespaceObject = require("@modern-js/backend-federation-contracts");
|
|
45
46
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
46
|
-
const universal_namespaceObject = require("@modern-js/utils/universal");
|
|
47
47
|
const external_release_identity_js_namespaceObject = require("../release-identity.js");
|
|
48
48
|
const external_utils_js_namespaceObject = require("./utils.js");
|
|
49
|
-
const
|
|
49
|
+
const TOPOLOGY_PATH = 'topology/reference-topology.json';
|
|
50
50
|
const findWorkspaceRoot = async (appDirectory)=>{
|
|
51
51
|
let current = external_node_path_default().resolve(appDirectory);
|
|
52
52
|
for(;;){
|
|
53
|
-
if (await utils_namespaceObject.fs.pathExists(external_node_path_default().join(current,
|
|
53
|
+
if (await utils_namespaceObject.fs.pathExists(external_node_path_default().join(current, TOPOLOGY_PATH))) return current;
|
|
54
54
|
const parent = external_node_path_default().dirname(current);
|
|
55
55
|
if (parent === current) return;
|
|
56
56
|
current = parent;
|
|
@@ -67,41 +67,30 @@ const stampReleaseIdentity = (identity, workspaceRoot)=>{
|
|
|
67
67
|
})
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
|
-
const
|
|
70
|
+
const resolveTopologyApp = async (appDirectory)=>{
|
|
71
71
|
const workspaceRoot = await findWorkspaceRoot(appDirectory);
|
|
72
72
|
if (!workspaceRoot) return;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
if (!(0, external_utils_js_namespaceObject.isRecord)(compactConfig)) return {
|
|
82
|
-
workspaceRoot
|
|
83
|
-
};
|
|
84
|
-
const topology = (0, external_utils_js_namespaceObject.isRecord)(compactConfig.topology) ? compactConfig.topology : void 0;
|
|
85
|
-
const apps = Array.isArray(topology?.apps) ? topology.apps : void 0;
|
|
86
|
-
if (!apps) return {
|
|
87
|
-
app: compactConfig,
|
|
88
|
-
workspaceRoot
|
|
89
|
-
};
|
|
73
|
+
const topology = await utils_namespaceObject.fs.readJSON(external_node_path_default().join(workspaceRoot, TOPOLOGY_PATH));
|
|
74
|
+
if (!(0, external_utils_js_namespaceObject.isRecord)(topology) || !(0, external_utils_js_namespaceObject.isRecord)(topology.shell) || !Array.isArray(topology.verticals) || void 0 !== topology.shells && !Array.isArray(topology.shells)) throw new Error('[cloudflare-delivery-unit] Invalid declared reference topology.');
|
|
75
|
+
const apps = [
|
|
76
|
+
topology.shell,
|
|
77
|
+
...topology.verticals,
|
|
78
|
+
...Array.isArray(topology.shells) ? topology.shells : []
|
|
79
|
+
];
|
|
90
80
|
const resolvedAppDirectory = external_node_path_default().resolve(appDirectory);
|
|
91
81
|
const app = apps.find((candidate)=>{
|
|
92
82
|
if (!(0, external_utils_js_namespaceObject.isRecord)(candidate)) return false;
|
|
93
|
-
const appPath = (0,
|
|
83
|
+
const appPath = (0, backend_federation_contracts_namespaceObject.nonEmptyString)(candidate.path);
|
|
94
84
|
return void 0 !== appPath && external_node_path_default().resolve(workspaceRoot, appPath.replace(/^\.\/+/u, '')) === resolvedAppDirectory;
|
|
95
85
|
});
|
|
86
|
+
if (!(0, external_utils_js_namespaceObject.isRecord)(app)) throw new Error(`[cloudflare-delivery-unit] ${appDirectory} is missing from the declared reference topology.`);
|
|
96
87
|
return {
|
|
97
|
-
|
|
98
|
-
app
|
|
99
|
-
} : {},
|
|
88
|
+
app,
|
|
100
89
|
workspaceRoot
|
|
101
90
|
};
|
|
102
91
|
};
|
|
103
92
|
const createDeliveryUnitStamp = (identity, app)=>{
|
|
104
|
-
const surfaceProfile = (0,
|
|
93
|
+
const surfaceProfile = (0, backend_federation_contracts_namespaceObject.nonEmptyString)(app?.surfaceProfile);
|
|
105
94
|
const emitsUi = 'api-only' !== surfaceProfile;
|
|
106
95
|
const emitsApi = 'ui-only' !== surfaceProfile;
|
|
107
96
|
return {
|
|
@@ -123,30 +112,22 @@ const createDeliveryUnitStamp = (identity, app)=>{
|
|
|
123
112
|
};
|
|
124
113
|
};
|
|
125
114
|
const resolveTopologyDeliveryUnit = async (appDirectory)=>{
|
|
126
|
-
const resolved = await
|
|
115
|
+
const resolved = await resolveTopologyApp(appDirectory);
|
|
127
116
|
if (!resolved?.app) return;
|
|
128
|
-
const identity = (0,
|
|
129
|
-
|
|
117
|
+
const identity = (0, backend_federation_contracts_namespaceObject.toDeliveryUnitIdentity)(resolved.app.deliveryUnit);
|
|
118
|
+
if (!identity) throw new Error('[cloudflare-delivery-unit] Declared app is missing a valid delivery-unit identity.');
|
|
119
|
+
return createDeliveryUnitStamp(stampReleaseIdentity(identity, resolved.workspaceRoot), resolved.app);
|
|
130
120
|
};
|
|
131
121
|
const resolveWorkerDeliveryUnitStamp = async (appDirectory)=>{
|
|
132
|
-
const buildArtifactPath = external_node_path_default().join(appDirectory,
|
|
133
|
-
const buildModulePath = external_node_path_default().join(appDirectory, universal_namespaceObject.ULTRAMODERN_BUILD_MODULE_PATH);
|
|
122
|
+
const buildArtifactPath = external_node_path_default().join(appDirectory, backend_federation_contracts_namespaceObject.ULTRAMODERN_BUILD_ARTIFACT_PATH);
|
|
134
123
|
let identity;
|
|
135
124
|
if (await utils_namespaceObject.fs.pathExists(buildArtifactPath)) {
|
|
136
125
|
const artifact = await utils_namespaceObject.fs.readJSON(buildArtifactPath);
|
|
137
|
-
if (!(0,
|
|
138
|
-
identity = (0,
|
|
139
|
-
} else if (await utils_namespaceObject.fs.pathExists(buildModulePath)) {
|
|
140
|
-
console.warn(`[cloudflare] ${buildArtifactPath} missing; falling back to legacy regex parsing of ${buildModulePath}. Regenerate the workspace to emit ultramodern-build.json.`);
|
|
141
|
-
const source = await utils_namespaceObject.fs.readFile(buildModulePath, 'utf8');
|
|
142
|
-
identity = (0, universal_namespaceObject.toDeliveryUnitIdentity)({
|
|
143
|
-
buildMarker: source.match(/\bbuild:\s*['"]([^'"]+)['"]/u)?.[1],
|
|
144
|
-
unitId: source.match(/\bunitId:\s*['"]([^'"]+)['"]/u)?.[1],
|
|
145
|
-
sourceRevision: source.match(/\bsourceRevision:\s*['"]([^'"]+)['"]/u)?.[1]
|
|
146
|
-
});
|
|
126
|
+
if (!(0, backend_federation_contracts_namespaceObject.isUltramodernBuildArtifact)(artifact)) return;
|
|
127
|
+
identity = (0, backend_federation_contracts_namespaceObject.toDeliveryUnitIdentity)(artifact.deliveryUnit);
|
|
147
128
|
}
|
|
148
129
|
if (!identity) return;
|
|
149
|
-
const resolved = await
|
|
130
|
+
const resolved = await resolveTopologyApp(appDirectory);
|
|
150
131
|
if (resolved) identity = stampReleaseIdentity(identity, resolved.workspaceRoot);
|
|
151
132
|
return createDeliveryUnitStamp(identity, resolved?.app);
|
|
152
133
|
};
|
|
@@ -41,6 +41,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
41
41
|
});
|
|
42
42
|
const external_node_path_namespaceObject = require("node:path");
|
|
43
43
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
44
|
+
const backend_federation_contracts_namespaceObject = require("@modern-js/backend-federation-contracts");
|
|
44
45
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
45
46
|
const external_cloudflare_output_plan_js_namespaceObject = require("../cloudflare-output-plan.js");
|
|
46
47
|
const index_js_namespaceObject = require("../cloudflare-output-verifier/index.js");
|
|
@@ -73,12 +74,13 @@ const createCloudflarePreset = ({ api, appContext, modernConfig })=>{
|
|
|
73
74
|
const publicAssetExcludes = (0, external_worker_manifest_js_namespaceObject.getPublicAssetExcludes)(appDirectory, modernConfig);
|
|
74
75
|
const releaseEnvelopeEnabled = api.isPluginExists('@modern-js/ultramodern-release-envelope');
|
|
75
76
|
let hasReleaseEnvelope = false;
|
|
77
|
+
let declaredPublicAssets = [];
|
|
76
78
|
return {
|
|
77
79
|
async prepare () {
|
|
78
80
|
await utils_namespaceObject.fs.remove(outputDirectory);
|
|
79
81
|
},
|
|
80
82
|
async writeOutput () {
|
|
81
|
-
if (releaseEnvelopeEnabled
|
|
83
|
+
if (releaseEnvelopeEnabled) await (0, framework_output_js_namespaceObject.emitFrameworkMicroVerticalReleaseEnvelope)({
|
|
82
84
|
apiOnly,
|
|
83
85
|
distDirectory,
|
|
84
86
|
target: 'cloudflare'
|
|
@@ -87,6 +89,11 @@ const createCloudflarePreset = ({ api, appContext, modernConfig })=>{
|
|
|
87
89
|
await utils_namespaceObject.fs.copy(distDirectory, publicDirectory, {
|
|
88
90
|
filter: (src)=>{
|
|
89
91
|
const relativePath = external_node_path_default().relative(distDirectory, src).replace(/\\/gu, '/');
|
|
92
|
+
if (apiOnly && '' !== relativePath && ![
|
|
93
|
+
backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_MANIFEST_FILE,
|
|
94
|
+
backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_REMOTE_ENTRY_FILE,
|
|
95
|
+
backend_federation_contracts_namespaceObject.ULTRAMODERN_BUILD_ARTIFACT_FILE
|
|
96
|
+
].includes(relativePath)) return false;
|
|
90
97
|
return 'release' !== relativePath && !relativePath.startsWith('release/') && 'public' !== relativePath && !relativePath.startsWith('public/') && (0, external_worker_manifest_js_namespaceObject.shouldCopyToPublicAssets)(src, distDirectory, publicAssetExcludes);
|
|
91
98
|
}
|
|
92
99
|
});
|
|
@@ -110,7 +117,7 @@ const createCloudflarePreset = ({ api, appContext, modernConfig })=>{
|
|
|
110
117
|
await utils_namespaceObject.fs.writeJSON(outputPlan.paths.workerPackage, outputPlan.packages.worker);
|
|
111
118
|
}
|
|
112
119
|
await (0, external_artifacts_js_namespaceObject.copyCloudflareArtifacts)(appDirectory, outputDirectory, cloudflareArtifacts);
|
|
113
|
-
await (0, external_artifacts_js_namespaceObject.copyCloudflarePublicAssets)(appDirectory,
|
|
120
|
+
declaredPublicAssets = await (0, external_artifacts_js_namespaceObject.copyCloudflarePublicAssets)(appDirectory, outputDirectory, (0, external_artifacts_js_namespaceObject.getCloudflarePublicAssets)(modernConfig));
|
|
114
121
|
await (0, external_artifacts_js_namespaceObject.copyCloudflareD1Migrations)(appDirectory, outputDirectory, modernConfig);
|
|
115
122
|
await utils_namespaceObject.fs.writeJSON(wranglerConfigPath, (0, external_wrangler_config_js_namespaceObject.createWranglerConfig)(appDirectory, modernConfig), {
|
|
116
123
|
spaces: 2
|
|
@@ -139,6 +146,7 @@ const createCloudflarePreset = ({ api, appContext, modernConfig })=>{
|
|
|
139
146
|
});
|
|
140
147
|
if (hasReleaseEnvelope) {
|
|
141
148
|
await (0, framework_output_js_namespaceObject.emitCloudflareStagedReleaseEnvelope)({
|
|
149
|
+
declaredPublicAssets,
|
|
142
150
|
distDirectory,
|
|
143
151
|
outputDirectory
|
|
144
152
|
});
|