@bleedingdev/modern-js-app-tools-extensions 3.8.3-ultramodern.2
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/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/cjs/cloudflare/artifacts.js +127 -0
- package/dist/cjs/cloudflare/constants.js +141 -0
- package/dist/cjs/cloudflare/delivery-unit.js +161 -0
- package/dist/cjs/cloudflare/i18n-worker.js +135 -0
- package/dist/cjs/cloudflare/index.js +156 -0
- package/dist/cjs/cloudflare/security-policies.js +205 -0
- package/dist/cjs/cloudflare/types.js +18 -0
- package/dist/cjs/cloudflare/utils.js +66 -0
- package/dist/cjs/cloudflare/worker-manifest.js +239 -0
- package/dist/cjs/cloudflare/wrangler-config.js +205 -0
- package/dist/cjs/cloudflare-builder.js +394 -0
- package/dist/cjs/cloudflare-output-contract.js +108 -0
- package/dist/cjs/cloudflare-output-plan.js +93 -0
- package/dist/cjs/cloudflare-output-verifier/identity.js +92 -0
- package/dist/cjs/cloudflare-output-verifier/index.js +188 -0
- package/dist/cjs/cloudflare-output-verifier/issues.js +54 -0
- package/dist/cjs/cloudflare-output-verifier/manifest.js +89 -0
- package/dist/cjs/cloudflare-output-verifier/mutation-policy.js +151 -0
- package/dist/cjs/cloudflare-output-verifier/worker-bundles.js +378 -0
- package/dist/cjs/config.js +18 -0
- package/dist/cjs/css-extract-runtime-plugin.js +74 -0
- package/dist/cjs/index.js +125 -0
- package/dist/cjs/read-template.js +56 -0
- package/dist/cjs/release-envelope/canonical.js +68 -0
- package/dist/cjs/release-envelope/framework-output.js +649 -0
- package/dist/cjs/release-envelope/index.js +399 -0
- package/dist/cjs/release-envelope/plugin.js +102 -0
- package/dist/cjs/release-envelope/types.js +51 -0
- package/dist/cjs/release-identity.js +110 -0
- package/dist/cjs/templates/cloudflare-entry.001-bootstrap-security.mjs +251 -0
- package/dist/cjs/templates/cloudflare-entry.002-assets-routes.mjs +191 -0
- package/dist/cjs/templates/cloudflare-entry.003-i18n-locales.mjs +514 -0
- package/dist/cjs/templates/cloudflare-entry.004-rendering-css.mjs +1194 -0
- package/dist/cjs/templates/cloudflare-entry.005-worker-dispatch.mjs +421 -0
- package/dist/cjs/templates/cloudflare-entry.006-fetch-handler.mjs +93 -0
- package/dist/cjs/templates/cloudflare-worker-fs-promises.mjs +11 -0
- package/dist/cjs/templates/cloudflare-worker-loadable-server.mjs +281 -0
- package/dist/cjs/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
- package/dist/cjs/templates/cloudflare-worker-path.mjs +98 -0
- package/dist/esm/cloudflare/artifacts.mjs +64 -0
- package/dist/esm/cloudflare/constants.mjs +34 -0
- package/dist/esm/cloudflare/delivery-unit.mjs +110 -0
- package/dist/esm/cloudflare/i18n-worker.mjs +97 -0
- package/dist/esm/cloudflare/index.mjs +108 -0
- package/dist/esm/cloudflare/security-policies.mjs +167 -0
- package/dist/esm/cloudflare/types.mjs +0 -0
- package/dist/esm/cloudflare/utils.mjs +12 -0
- package/dist/esm/cloudflare/worker-manifest.mjs +179 -0
- package/dist/esm/cloudflare/wrangler-config.mjs +151 -0
- package/dist/esm/cloudflare-builder.mjs +327 -0
- package/dist/esm/cloudflare-output-contract.mjs +31 -0
- package/dist/esm/cloudflare-output-plan.mjs +45 -0
- package/dist/esm/cloudflare-output-verifier/identity.mjs +54 -0
- package/dist/esm/cloudflare-output-verifier/index.mjs +133 -0
- package/dist/esm/cloudflare-output-verifier/issues.mjs +10 -0
- package/dist/esm/cloudflare-output-verifier/manifest.mjs +51 -0
- package/dist/esm/cloudflare-output-verifier/mutation-policy.mjs +99 -0
- package/dist/esm/cloudflare-output-verifier/worker-bundles.mjs +313 -0
- package/dist/esm/config.mjs +0 -0
- package/dist/esm/css-extract-runtime-plugin.mjs +32 -0
- package/dist/esm/index.mjs +10 -0
- package/dist/esm/read-template.mjs +5 -0
- package/dist/esm/release-envelope/canonical.mjs +21 -0
- package/dist/esm/release-envelope/framework-output.mjs +573 -0
- package/dist/esm/release-envelope/index.mjs +335 -0
- package/dist/esm/release-envelope/plugin.mjs +54 -0
- package/dist/esm/release-envelope/types.mjs +7 -0
- package/dist/esm/release-identity.mjs +66 -0
- package/dist/esm/templates/cloudflare-entry.001-bootstrap-security.mjs +251 -0
- package/dist/esm/templates/cloudflare-entry.002-assets-routes.mjs +191 -0
- package/dist/esm/templates/cloudflare-entry.003-i18n-locales.mjs +514 -0
- package/dist/esm/templates/cloudflare-entry.004-rendering-css.mjs +1194 -0
- package/dist/esm/templates/cloudflare-entry.005-worker-dispatch.mjs +421 -0
- package/dist/esm/templates/cloudflare-entry.006-fetch-handler.mjs +93 -0
- package/dist/esm/templates/cloudflare-worker-fs-promises.mjs +11 -0
- package/dist/esm/templates/cloudflare-worker-loadable-server.mjs +281 -0
- package/dist/esm/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
- package/dist/esm/templates/cloudflare-worker-path.mjs +98 -0
- package/dist/esm-node/cloudflare/artifacts.mjs +65 -0
- package/dist/esm-node/cloudflare/constants.mjs +35 -0
- package/dist/esm-node/cloudflare/delivery-unit.mjs +111 -0
- package/dist/esm-node/cloudflare/i18n-worker.mjs +98 -0
- package/dist/esm-node/cloudflare/index.mjs +109 -0
- package/dist/esm-node/cloudflare/security-policies.mjs +168 -0
- package/dist/esm-node/cloudflare/types.mjs +1 -0
- package/dist/esm-node/cloudflare/utils.mjs +13 -0
- package/dist/esm-node/cloudflare/worker-manifest.mjs +180 -0
- package/dist/esm-node/cloudflare/wrangler-config.mjs +152 -0
- package/dist/esm-node/cloudflare-builder.mjs +328 -0
- package/dist/esm-node/cloudflare-output-contract.mjs +32 -0
- package/dist/esm-node/cloudflare-output-plan.mjs +46 -0
- package/dist/esm-node/cloudflare-output-verifier/identity.mjs +55 -0
- package/dist/esm-node/cloudflare-output-verifier/index.mjs +134 -0
- package/dist/esm-node/cloudflare-output-verifier/issues.mjs +11 -0
- package/dist/esm-node/cloudflare-output-verifier/manifest.mjs +52 -0
- package/dist/esm-node/cloudflare-output-verifier/mutation-policy.mjs +100 -0
- package/dist/esm-node/cloudflare-output-verifier/worker-bundles.mjs +314 -0
- package/dist/esm-node/config.mjs +1 -0
- package/dist/esm-node/css-extract-runtime-plugin.mjs +33 -0
- package/dist/esm-node/index.mjs +11 -0
- package/dist/esm-node/read-template.mjs +9 -0
- package/dist/esm-node/release-envelope/canonical.mjs +22 -0
- package/dist/esm-node/release-envelope/framework-output.mjs +574 -0
- package/dist/esm-node/release-envelope/index.mjs +336 -0
- package/dist/esm-node/release-envelope/plugin.mjs +55 -0
- package/dist/esm-node/release-envelope/types.mjs +8 -0
- package/dist/esm-node/release-identity.mjs +67 -0
- package/dist/esm-node/templates/cloudflare-entry.001-bootstrap-security.mjs +251 -0
- package/dist/esm-node/templates/cloudflare-entry.002-assets-routes.mjs +191 -0
- package/dist/esm-node/templates/cloudflare-entry.003-i18n-locales.mjs +514 -0
- package/dist/esm-node/templates/cloudflare-entry.004-rendering-css.mjs +1194 -0
- package/dist/esm-node/templates/cloudflare-entry.005-worker-dispatch.mjs +421 -0
- package/dist/esm-node/templates/cloudflare-entry.006-fetch-handler.mjs +93 -0
- package/dist/esm-node/templates/cloudflare-worker-fs-promises.mjs +11 -0
- package/dist/esm-node/templates/cloudflare-worker-loadable-server.mjs +281 -0
- package/dist/esm-node/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
- package/dist/esm-node/templates/cloudflare-worker-path.mjs +98 -0
- package/dist/types/cloudflare/artifacts.d.ts +15 -0
- package/dist/types/cloudflare/constants.d.ts +24 -0
- package/dist/types/cloudflare/delivery-unit.d.ts +23 -0
- package/dist/types/cloudflare/i18n-worker.d.ts +22 -0
- package/dist/types/cloudflare/index.d.ts +2 -0
- package/dist/types/cloudflare/security-policies.d.ts +52 -0
- package/dist/types/cloudflare/types.d.ts +28 -0
- package/dist/types/cloudflare/utils.d.ts +6 -0
- package/dist/types/cloudflare/worker-manifest.d.ts +149 -0
- package/dist/types/cloudflare/wrangler-config.d.ts +51 -0
- package/dist/types/cloudflare-builder.d.ts +59 -0
- package/dist/types/cloudflare-output-contract.d.ts +14 -0
- package/dist/types/cloudflare-output-plan.d.ts +34 -0
- package/dist/types/cloudflare-output-verifier/identity.d.ts +8 -0
- package/dist/types/cloudflare-output-verifier/index.d.ts +18 -0
- package/dist/types/cloudflare-output-verifier/issues.d.ts +14 -0
- package/dist/types/cloudflare-output-verifier/manifest.d.ts +2 -0
- package/dist/types/cloudflare-output-verifier/mutation-policy.d.ts +14 -0
- package/dist/types/cloudflare-output-verifier/worker-bundles.d.ts +20 -0
- package/dist/types/config.d.ts +175 -0
- package/dist/types/css-extract-runtime-plugin.d.ts +6 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/read-template.d.ts +2 -0
- package/dist/types/release-envelope/canonical.d.ts +5 -0
- package/dist/types/release-envelope/framework-output.d.ts +32 -0
- package/dist/types/release-envelope/index.d.ts +6 -0
- package/dist/types/release-envelope/plugin.d.ts +30 -0
- package/dist/types/release-envelope/types.d.ts +62 -0
- package/dist/types/release-identity.d.ts +16 -0
- package/dist/types/templates/cloudflare-entry.001-bootstrap-security.d.mts +1 -0
- package/dist/types/templates/cloudflare-entry.002-assets-routes.d.mts +1 -0
- package/dist/types/templates/cloudflare-entry.003-i18n-locales.d.mts +1 -0
- package/dist/types/templates/cloudflare-entry.004-rendering-css.d.mts +1 -0
- package/dist/types/templates/cloudflare-entry.005-worker-dispatch.d.mts +1 -0
- package/dist/types/templates/cloudflare-entry.006-fetch-handler.d.mts +4 -0
- package/dist/types/templates/cloudflare-worker-fs-promises.d.mts +5 -0
- package/dist/types/templates/cloudflare-worker-loadable-server.d.mts +48 -0
- package/dist/types/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +13 -0
- package/dist/types/templates/cloudflare-worker-path.d.mts +21 -0
- package/package.json +131 -0
- package/src/cloudflare/artifacts.ts +165 -0
- package/src/cloudflare/constants.ts +50 -0
- package/src/cloudflare/delivery-unit.ts +195 -0
- package/src/cloudflare/i18n-worker.ts +197 -0
- package/src/cloudflare/index.ts +259 -0
- package/src/cloudflare/security-policies.ts +194 -0
- package/src/cloudflare/types.ts +33 -0
- package/src/cloudflare/utils.ts +40 -0
- package/src/cloudflare/worker-manifest.ts +313 -0
- package/src/cloudflare/wrangler-config.ts +338 -0
- package/src/cloudflare-builder.ts +653 -0
- package/src/cloudflare-output-contract.ts +30 -0
- package/src/cloudflare-output-plan.ts +108 -0
- package/src/cloudflare-output-verifier/identity.ts +87 -0
- package/src/cloudflare-output-verifier/index.ts +277 -0
- package/src/cloudflare-output-verifier/issues.ts +54 -0
- package/src/cloudflare-output-verifier/manifest.ts +76 -0
- package/src/cloudflare-output-verifier/mutation-policy.ts +159 -0
- package/src/cloudflare-output-verifier/worker-bundles.ts +664 -0
- package/src/config.ts +196 -0
- package/src/css-extract-runtime-plugin.ts +70 -0
- package/src/index.ts +10 -0
- package/src/read-template.ts +8 -0
- package/src/release-envelope/canonical.ts +58 -0
- package/src/release-envelope/framework-output.ts +1121 -0
- package/src/release-envelope/index.ts +656 -0
- package/src/release-envelope/plugin.ts +125 -0
- package/src/release-envelope/types.ts +83 -0
- package/src/release-identity.ts +134 -0
- package/src/templates/cloudflare-entry.001-bootstrap-security.mjs +251 -0
- package/src/templates/cloudflare-entry.002-assets-routes.mjs +191 -0
- package/src/templates/cloudflare-entry.003-i18n-locales.mjs +514 -0
- package/src/templates/cloudflare-entry.004-rendering-css.mjs +1194 -0
- package/src/templates/cloudflare-entry.005-worker-dispatch.mjs +421 -0
- package/src/templates/cloudflare-entry.006-fetch-handler.mjs +93 -0
- package/src/templates/cloudflare-worker-fs-promises.mjs +11 -0
- package/src/templates/cloudflare-worker-loadable-server.mjs +281 -0
- package/src/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
- package/src/templates/cloudflare-worker-path.mjs +98 -0
|
@@ -0,0 +1,239 @@
|
|
|
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
|
+
createWorkerManifest: ()=>createWorkerManifest,
|
|
41
|
+
createWorkerModuleLoaders: ()=>createWorkerModuleLoaders,
|
|
42
|
+
getPublicAssetExcludes: ()=>getPublicAssetExcludes,
|
|
43
|
+
shouldCopyToPublicAssets: ()=>shouldCopyToPublicAssets,
|
|
44
|
+
shouldCopyToWorkerBundle: ()=>shouldCopyToWorkerBundle
|
|
45
|
+
});
|
|
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 utils_namespaceObject = require("@modern-js/utils");
|
|
49
|
+
const external_artifacts_js_namespaceObject = require("./artifacts.js");
|
|
50
|
+
const external_constants_js_namespaceObject = require("./constants.js");
|
|
51
|
+
const external_i18n_worker_js_namespaceObject = require("./i18n-worker.js");
|
|
52
|
+
const external_security_policies_js_namespaceObject = require("./security-policies.js");
|
|
53
|
+
const external_utils_js_namespaceObject = require("./utils.js");
|
|
54
|
+
const external_wrangler_config_js_namespaceObject = require("./wrangler-config.js");
|
|
55
|
+
const createMissingEffectBffWorkerError = (outputDirectory, worker)=>new Error(`Cloudflare Effect API runtime is configured, but the BFF worker bundle is missing: ${external_node_path_default().join(outputDirectory, worker)}. ${external_constants_js_namespaceObject.EFFECT_BFF_CLOUDFLARE_IMPORT_GUIDANCE}`);
|
|
56
|
+
const createEffectBffWorkerManifest = (modernConfig)=>{
|
|
57
|
+
const bff = modernConfig.bff;
|
|
58
|
+
const configuredPolicy = bff?.crossProjectPolicy;
|
|
59
|
+
if (configuredPolicy?.verifyProducerIdentity !== void 0) throw new Error('Cloudflare Effect BFF cannot serialize bff.crossProjectPolicy.verifyProducerIdentity into the worker manifest. Configure a worker-native identity binding before enabling this policy at the edge.');
|
|
60
|
+
const crossProjectPolicy = {
|
|
61
|
+
...configuredPolicy,
|
|
62
|
+
enabled: configuredPolicy?.enabled ?? Boolean(bff?.isCrossProjectServer),
|
|
63
|
+
requireEnvelope: configuredPolicy?.requireEnvelope ?? true,
|
|
64
|
+
requireOperationContext: configuredPolicy?.requireOperationContext ?? true,
|
|
65
|
+
requireOperationContextDetails: configuredPolicy?.requireOperationContextDetails ?? true,
|
|
66
|
+
requireOperationSchemaHash: configuredPolicy?.requireOperationSchemaHash ?? true,
|
|
67
|
+
requireOperationVersion: configuredPolicy?.requireOperationVersion ?? true,
|
|
68
|
+
allowUnknownOperations: configuredPolicy?.allowUnknownOperations ?? false,
|
|
69
|
+
expectedOperationContracts: {
|
|
70
|
+
...configuredPolicy?.expectedOperationContracts ?? {}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const openapi = bff?.effect?.openapi;
|
|
74
|
+
const dataPlatform = bff?.effect?.dataPlatform;
|
|
75
|
+
return {
|
|
76
|
+
...void 0 === openapi ? {} : {
|
|
77
|
+
openapi
|
|
78
|
+
},
|
|
79
|
+
...void 0 === dataPlatform ? {} : {
|
|
80
|
+
dataPlatform
|
|
81
|
+
},
|
|
82
|
+
crossProjectPolicy
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
const createModuleFederationWorkerManifest = async (outputDirectory)=>{
|
|
86
|
+
const manifestPath = external_node_path_default().join(outputDirectory, external_constants_js_namespaceObject.PUBLIC_ASSETS_DIRECTORY, 'mf-manifest.json');
|
|
87
|
+
if (!await utils_namespaceObject.fs.pathExists(manifestPath)) return;
|
|
88
|
+
const manifest = await utils_namespaceObject.fs.readJson(manifestPath);
|
|
89
|
+
const name = (0, external_utils_js_namespaceObject.isRecord)(manifest) && 'string' == typeof manifest.name ? manifest.name : void 0;
|
|
90
|
+
const manifestExposes = (0, external_utils_js_namespaceObject.isRecord)(manifest) && Array.isArray(manifest.exposes) ? manifest.exposes : [];
|
|
91
|
+
const exposes = manifestExposes.filter(external_utils_js_namespaceObject.isRecord).flatMap((expose)=>{
|
|
92
|
+
if ('string' != typeof expose.path) return [];
|
|
93
|
+
const assets = (0, external_utils_js_namespaceObject.isRecord)(expose.assets) ? expose.assets : void 0;
|
|
94
|
+
const css = assets && (0, external_utils_js_namespaceObject.isRecord)(assets.css) ? assets.css : void 0;
|
|
95
|
+
return [
|
|
96
|
+
{
|
|
97
|
+
path: expose.path,
|
|
98
|
+
css: [
|
|
99
|
+
...css && Array.isArray(css.sync) ? css.sync : [],
|
|
100
|
+
...css && Array.isArray(css.async) ? css.async : []
|
|
101
|
+
].filter((asset)=>'string' == typeof asset && asset.endsWith('.css'))
|
|
102
|
+
}
|
|
103
|
+
];
|
|
104
|
+
});
|
|
105
|
+
return name && exposes.length > 0 ? {
|
|
106
|
+
name,
|
|
107
|
+
exposes
|
|
108
|
+
} : void 0;
|
|
109
|
+
};
|
|
110
|
+
const createWorkerManifest = async (outputDirectory, modernConfig, appContext, deliveryUnitStamp)=>{
|
|
111
|
+
const routeSpec = await (0, external_artifacts_js_namespaceObject.readRouteSpec)(outputDirectory);
|
|
112
|
+
const routes = await Promise.all(routeSpec.routes.map(async (route)=>{
|
|
113
|
+
const worker = 'string' == typeof route.worker ? route.worker : void 0;
|
|
114
|
+
return {
|
|
115
|
+
urlPath: route.urlPath,
|
|
116
|
+
entryName: route.entryName,
|
|
117
|
+
entryPath: route.entryPath,
|
|
118
|
+
isSSR: Boolean(route.isSSR),
|
|
119
|
+
worker,
|
|
120
|
+
workerExists: worker ? await utils_namespaceObject.fs.pathExists(external_node_path_default().join(outputDirectory, worker)) : false
|
|
121
|
+
};
|
|
122
|
+
}));
|
|
123
|
+
const bffPrefix = modernConfig.bff?.prefix;
|
|
124
|
+
const primaryBffPrefix = Array.isArray(bffPrefix) ? bffPrefix[0] : bffPrefix;
|
|
125
|
+
const isEffectApi = Boolean(modernConfig.bff) && modernConfig.bff?.runtimeFramework !== 'hono';
|
|
126
|
+
const effectApiWorkerExists = await utils_namespaceObject.fs.pathExists(external_node_path_default().join(outputDirectory, external_constants_js_namespaceObject.BFF_EFFECT_WORKER_ENTRY));
|
|
127
|
+
const serviceBindings = (0, external_wrangler_config_js_namespaceObject.createWorkerManifestServiceBindings)((0, external_wrangler_config_js_namespaceObject.createWorkerServiceBindings)(modernConfig, void 0));
|
|
128
|
+
const moduleFederation = await createModuleFederationWorkerManifest(outputDirectory);
|
|
129
|
+
if (isEffectApi && primaryBffPrefix && !effectApiWorkerExists) throw createMissingEffectBffWorkerError(outputDirectory, external_constants_js_namespaceObject.BFF_EFFECT_WORKER_ENTRY);
|
|
130
|
+
const effectBffManifest = isEffectApi ? createEffectBffWorkerManifest(modernConfig) : void 0;
|
|
131
|
+
return {
|
|
132
|
+
version: 1,
|
|
133
|
+
runtime: {
|
|
134
|
+
type: external_constants_js_namespaceObject.CLOUDFLARE_RUNTIME_TYPE,
|
|
135
|
+
entry: external_constants_js_namespaceObject.WORKER_ENTRY,
|
|
136
|
+
fetchExport: true,
|
|
137
|
+
nodeListen: false
|
|
138
|
+
},
|
|
139
|
+
assets: {
|
|
140
|
+
binding: external_constants_js_namespaceObject.ASSETS_BINDING,
|
|
141
|
+
directory: `./${external_constants_js_namespaceObject.PUBLIC_ASSETS_DIRECTORY}`,
|
|
142
|
+
runWorkerFirst: true
|
|
143
|
+
},
|
|
144
|
+
routeSpec: {
|
|
145
|
+
file: external_constants_js_namespaceObject.ROUTE_SPEC_OUTPUT,
|
|
146
|
+
routes
|
|
147
|
+
},
|
|
148
|
+
workerBundles: {
|
|
149
|
+
directory: external_constants_js_namespaceObject.WORKER_BUNDLE_DIRECTORY,
|
|
150
|
+
format: external_constants_js_namespaceObject.CLOUDFLARE_WORKER_BUNDLE_FORMAT,
|
|
151
|
+
importableFromModuleWorker: true,
|
|
152
|
+
requestHandlerExport: 'requestHandler'
|
|
153
|
+
},
|
|
154
|
+
resources: {
|
|
155
|
+
loadableStats: external_constants_js_namespaceObject.LOADABLE_STATS_FILE,
|
|
156
|
+
routeManifest: external_constants_js_namespaceObject.ROUTE_MANIFEST_FILE
|
|
157
|
+
},
|
|
158
|
+
security: (0, external_security_policies_js_namespaceObject.createCloudflareWorkerSecurityPolicy)(modernConfig),
|
|
159
|
+
...void 0 === moduleFederation ? {} : {
|
|
160
|
+
moduleFederation
|
|
161
|
+
},
|
|
162
|
+
...deliveryUnitStamp ? {
|
|
163
|
+
deliveryUnit: deliveryUnitStamp
|
|
164
|
+
} : {},
|
|
165
|
+
i18n: (0, external_i18n_worker_js_namespaceObject.createI18nWorkerManifest)(routeSpec, appContext),
|
|
166
|
+
bff: isEffectApi && primaryBffPrefix && effectApiWorkerExists ? {
|
|
167
|
+
dispatcherExport: external_constants_js_namespaceObject.BFF_EFFECT_WORKER_DISPATCHER_EXPORT,
|
|
168
|
+
runtimeFramework: 'effect',
|
|
169
|
+
prefix: primaryBffPrefix,
|
|
170
|
+
worker: external_constants_js_namespaceObject.BFF_EFFECT_WORKER_ENTRY,
|
|
171
|
+
effect: effectBffManifest
|
|
172
|
+
} : void 0,
|
|
173
|
+
...void 0 === serviceBindings ? {} : {
|
|
174
|
+
serviceBindings
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
const createWorkerModuleLoaders = (manifest)=>{
|
|
179
|
+
const imports = new Map();
|
|
180
|
+
for (const route of manifest.routeSpec.routes)if (route.worker && route.workerExists) {
|
|
181
|
+
const importPath = `../${String(route.worker).replace(/^\/+/u, '')}`;
|
|
182
|
+
imports.set(route.worker, `() => import(${JSON.stringify(importPath)})`);
|
|
183
|
+
}
|
|
184
|
+
if (manifest.bff?.worker) {
|
|
185
|
+
const importPath = `../${String(manifest.bff.worker).replace(/^\/+/u, '')}`;
|
|
186
|
+
imports.set(manifest.bff.worker, `() => import(${JSON.stringify(importPath)})`);
|
|
187
|
+
}
|
|
188
|
+
if (0 === imports.size) return '{}';
|
|
189
|
+
const loaders = [
|
|
190
|
+
...imports.entries()
|
|
191
|
+
].map(([worker, loader])=>`${JSON.stringify(worker)}: ${loader}`);
|
|
192
|
+
return `{\n${loaders.join(',\n')}\n}`;
|
|
193
|
+
};
|
|
194
|
+
const getPublicAssetExcludes = (appDirectory, modernConfig)=>[
|
|
195
|
+
...external_constants_js_namespaceObject.DEFAULT_SERVER_ONLY_PUBLIC_ASSET_EXCLUDES.filter((directory)=>{
|
|
196
|
+
try {
|
|
197
|
+
return utils_namespaceObject.fs.statSync(external_node_path_default().join(appDirectory, directory)).isDirectory();
|
|
198
|
+
} catch {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}),
|
|
202
|
+
...modernConfig.deploy?.worker?.publicAssetExcludes ?? []
|
|
203
|
+
].map((entry)=>(0, external_utils_js_namespaceObject.normalizeRelativePath)(entry, 'deploy.worker.publicAssetExcludes'));
|
|
204
|
+
const shouldCopyToPublicAssets = (src, distDirectory, publicAssetExcludes)=>{
|
|
205
|
+
const relativePath = external_node_path_default().relative(distDirectory, src);
|
|
206
|
+
if (!relativePath) return true;
|
|
207
|
+
const normalizedRelativePath = relativePath.replace(/\\/g, '/');
|
|
208
|
+
const [topLevelDirectory] = normalizedRelativePath.split('/');
|
|
209
|
+
const basename = normalizedRelativePath.split('/').pop() ?? '';
|
|
210
|
+
return normalizedRelativePath !== external_constants_js_namespaceObject.ROUTE_SPEC_FILE && topLevelDirectory !== external_constants_js_namespaceObject.WORKER_BUNDLE_DIRECTORY && topLevelDirectory !== external_constants_js_namespaceObject.SERVER_BUNDLE_DIRECTORY && '.env' !== basename && !basename.startsWith('.env.') && !publicAssetExcludes.some((exclude)=>normalizedRelativePath === exclude || normalizedRelativePath.startsWith(`${exclude}/`));
|
|
211
|
+
};
|
|
212
|
+
const shouldCopyToWorkerBundle = (src, workerBundleDirectory)=>{
|
|
213
|
+
const relativePath = external_node_path_default().relative(workerBundleDirectory, src);
|
|
214
|
+
if (!relativePath) return true;
|
|
215
|
+
const normalizedRelativePath = relativePath.replace(/\\/g, '/');
|
|
216
|
+
const basename = external_node_path_default().basename(normalizedRelativePath);
|
|
217
|
+
if (basename.startsWith('.') || normalizedRelativePath.includes('/.')) return false;
|
|
218
|
+
if (utils_namespaceObject.fs.statSync(src).isDirectory()) return true;
|
|
219
|
+
return [
|
|
220
|
+
'.cjs',
|
|
221
|
+
'.js',
|
|
222
|
+
'.mjs'
|
|
223
|
+
].includes(external_node_path_default().extname(normalizedRelativePath));
|
|
224
|
+
};
|
|
225
|
+
exports.createWorkerManifest = __webpack_exports__.createWorkerManifest;
|
|
226
|
+
exports.createWorkerModuleLoaders = __webpack_exports__.createWorkerModuleLoaders;
|
|
227
|
+
exports.getPublicAssetExcludes = __webpack_exports__.getPublicAssetExcludes;
|
|
228
|
+
exports.shouldCopyToPublicAssets = __webpack_exports__.shouldCopyToPublicAssets;
|
|
229
|
+
exports.shouldCopyToWorkerBundle = __webpack_exports__.shouldCopyToWorkerBundle;
|
|
230
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
231
|
+
"createWorkerManifest",
|
|
232
|
+
"createWorkerModuleLoaders",
|
|
233
|
+
"getPublicAssetExcludes",
|
|
234
|
+
"shouldCopyToPublicAssets",
|
|
235
|
+
"shouldCopyToWorkerBundle"
|
|
236
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
237
|
+
Object.defineProperty(exports, '__esModule', {
|
|
238
|
+
value: true
|
|
239
|
+
});
|
|
@@ -0,0 +1,205 @@
|
|
|
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
|
+
createWorkerManifestServiceBindings: ()=>createWorkerManifestServiceBindings,
|
|
41
|
+
createWorkerServiceBindings: ()=>createWorkerServiceBindings,
|
|
42
|
+
createWranglerConfig: ()=>createWranglerConfig
|
|
43
|
+
});
|
|
44
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
45
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
46
|
+
const external_constants_js_namespaceObject = require("./constants.js");
|
|
47
|
+
const external_utils_js_namespaceObject = require("./utils.js");
|
|
48
|
+
const getCompatibilityDate = (modernConfig)=>{
|
|
49
|
+
const configuredDate = modernConfig.deploy?.worker?.compatibilityDate?.trim();
|
|
50
|
+
const compatibilityDate = configuredDate || external_constants_js_namespaceObject.DEFAULT_COMPATIBILITY_DATE;
|
|
51
|
+
if (!external_constants_js_namespaceObject.COMPATIBILITY_DATE_PATTERN.test(compatibilityDate)) throw new Error(`deploy.worker.compatibilityDate must use YYYY-MM-DD, received ${JSON.stringify(compatibilityDate)}.`);
|
|
52
|
+
return compatibilityDate;
|
|
53
|
+
};
|
|
54
|
+
const getWorkerName = (appDirectory)=>{
|
|
55
|
+
const basename = external_node_path_default().basename(appDirectory);
|
|
56
|
+
return basename.replace(/[^a-zA-Z0-9-_]/g, '-') || 'modern-cloudflare-worker';
|
|
57
|
+
};
|
|
58
|
+
const getConfiguredWorkerName = (appDirectory, modernConfig)=>{
|
|
59
|
+
const configuredName = modernConfig.deploy?.worker?.name?.trim();
|
|
60
|
+
return configuredName || getWorkerName(appDirectory);
|
|
61
|
+
};
|
|
62
|
+
const getConfiguredWrangler = (modernConfig)=>{
|
|
63
|
+
const wrangler = modernConfig.deploy?.worker?.wrangler;
|
|
64
|
+
if (void 0 === wrangler) return {};
|
|
65
|
+
if (!(0, external_utils_js_namespaceObject.isJsonRecord)(wrangler)) throw new Error('deploy.worker.wrangler must be a JSON object.');
|
|
66
|
+
return wrangler;
|
|
67
|
+
};
|
|
68
|
+
const createWranglerCompatibilityFlags = (configuredFlags)=>{
|
|
69
|
+
if (void 0 === configuredFlags) return [
|
|
70
|
+
...external_constants_js_namespaceObject.REQUIRED_COMPATIBILITY_FLAGS
|
|
71
|
+
];
|
|
72
|
+
if (!Array.isArray(configuredFlags) || configuredFlags.some((flag)=>'string' != typeof flag)) throw new Error('deploy.worker.wrangler.compatibility_flags must be an array of strings.');
|
|
73
|
+
return [
|
|
74
|
+
...new Set([
|
|
75
|
+
...configuredFlags,
|
|
76
|
+
...external_constants_js_namespaceObject.REQUIRED_COMPATIBILITY_FLAGS
|
|
77
|
+
])
|
|
78
|
+
];
|
|
79
|
+
};
|
|
80
|
+
const createWranglerAssetsConfig = (configuredAssets)=>{
|
|
81
|
+
if (void 0 !== configuredAssets && !(0, external_utils_js_namespaceObject.isJsonRecord)(configuredAssets)) throw new Error('deploy.worker.wrangler.assets must be an object.');
|
|
82
|
+
return {
|
|
83
|
+
...(0, external_utils_js_namespaceObject.isJsonRecord)(configuredAssets) ? configuredAssets : {},
|
|
84
|
+
directory: `./${external_constants_js_namespaceObject.PUBLIC_ASSETS_DIRECTORY}`,
|
|
85
|
+
binding: external_constants_js_namespaceObject.ASSETS_BINDING,
|
|
86
|
+
run_worker_first: true
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
const assertNonEmptyString = (value, label)=>{
|
|
90
|
+
if ('string' != typeof value || 0 === value.trim().length) throw new Error(`${label} must be a non-empty string.`);
|
|
91
|
+
return value.trim();
|
|
92
|
+
};
|
|
93
|
+
const normalizeD1Database = (database, index)=>{
|
|
94
|
+
const binding = assertNonEmptyString(database.binding, `deploy.worker.d1Databases[${index}].binding`);
|
|
95
|
+
const databaseName = assertNonEmptyString(database.databaseName, `deploy.worker.d1Databases[${index}].databaseName`);
|
|
96
|
+
const databaseId = assertNonEmptyString(database.databaseId, `deploy.worker.d1Databases[${index}].databaseId`);
|
|
97
|
+
const migrationsDir = void 0 === database.migrationsDir ? void 0 : (0, external_utils_js_namespaceObject.normalizeRelativePath)(database.migrationsDir, `deploy.worker.d1Databases[${index}].migrationsDir`, 'app root');
|
|
98
|
+
const previewDatabaseId = void 0 === database.previewDatabaseId ? void 0 : assertNonEmptyString(database.previewDatabaseId, `deploy.worker.d1Databases[${index}].previewDatabaseId`);
|
|
99
|
+
return {
|
|
100
|
+
binding,
|
|
101
|
+
database_name: databaseName,
|
|
102
|
+
database_id: databaseId,
|
|
103
|
+
...void 0 === migrationsDir ? {} : {
|
|
104
|
+
migrations_dir: migrationsDir
|
|
105
|
+
},
|
|
106
|
+
...void 0 === previewDatabaseId ? {} : {
|
|
107
|
+
preview_database_id: previewDatabaseId
|
|
108
|
+
},
|
|
109
|
+
...void 0 === database.remote ? {} : {
|
|
110
|
+
remote: database.remote
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
const createWranglerD1Databases = (modernConfig, configuredWranglerD1)=>{
|
|
115
|
+
const d1Databases = modernConfig.deploy?.worker?.d1Databases;
|
|
116
|
+
if (void 0 === d1Databases) return configuredWranglerD1;
|
|
117
|
+
if (void 0 !== configuredWranglerD1) throw new Error('Use deploy.worker.d1Databases or deploy.worker.wrangler.d1_databases, not both.');
|
|
118
|
+
if (!Array.isArray(d1Databases)) throw new Error('deploy.worker.d1Databases must be an array.');
|
|
119
|
+
return d1Databases.map(normalizeD1Database);
|
|
120
|
+
};
|
|
121
|
+
const normalizeServiceBinding = (service, index)=>{
|
|
122
|
+
const binding = assertNonEmptyString(service.binding, `deploy.worker.services[${index}].binding`);
|
|
123
|
+
const serviceName = assertNonEmptyString(service.service, `deploy.worker.services[${index}].service`);
|
|
124
|
+
const prefix = void 0 === service.prefix ? void 0 : assertNonEmptyString(service.prefix, `deploy.worker.services[${index}].prefix`);
|
|
125
|
+
if (void 0 !== service.fragments && !Array.isArray(service.fragments)) throw new Error(`deploy.worker.services[${index}].fragments must be an array.`);
|
|
126
|
+
const fragments = void 0 === service.fragments ? void 0 : service.fragments.map((fragment, fragmentIndex)=>({
|
|
127
|
+
remote: assertNonEmptyString(fragment.remote, `deploy.worker.services[${index}].fragments[${fragmentIndex}].remote`),
|
|
128
|
+
expose: assertNonEmptyString(fragment.expose, `deploy.worker.services[${index}].fragments[${fragmentIndex}].expose`),
|
|
129
|
+
boundaryId: assertNonEmptyString(fragment.boundaryId, `deploy.worker.services[${index}].fragments[${fragmentIndex}].boundaryId`),
|
|
130
|
+
path: assertNonEmptyString(fragment.path, `deploy.worker.services[${index}].fragments[${fragmentIndex}].path`)
|
|
131
|
+
}));
|
|
132
|
+
return {
|
|
133
|
+
binding,
|
|
134
|
+
service: serviceName,
|
|
135
|
+
...void 0 === prefix ? {} : {
|
|
136
|
+
prefix
|
|
137
|
+
},
|
|
138
|
+
...void 0 === fragments ? {} : {
|
|
139
|
+
fragments
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
const createWorkerServiceBindings = (modernConfig, configuredWranglerServices)=>{
|
|
144
|
+
const services = modernConfig.deploy?.worker?.services;
|
|
145
|
+
if (void 0 === services) return configuredWranglerServices;
|
|
146
|
+
if (void 0 !== configuredWranglerServices) throw new Error('Use deploy.worker.services or deploy.worker.wrangler.services, not both.');
|
|
147
|
+
if (!Array.isArray(services)) throw new Error('deploy.worker.services must be an array.');
|
|
148
|
+
return services.map(normalizeServiceBinding);
|
|
149
|
+
};
|
|
150
|
+
const createWranglerServices = (serviceBindings)=>{
|
|
151
|
+
if (!Array.isArray(serviceBindings)) return serviceBindings;
|
|
152
|
+
if (!serviceBindings.every(external_utils_js_namespaceObject.isJsonRecord)) return serviceBindings;
|
|
153
|
+
return serviceBindings.map((service)=>{
|
|
154
|
+
const { prefix, fragments, ...wranglerService } = service;
|
|
155
|
+
return wranglerService;
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
const createWorkerManifestServiceBindings = (serviceBindings)=>{
|
|
159
|
+
if (!Array.isArray(serviceBindings)) return;
|
|
160
|
+
const bindings = serviceBindings;
|
|
161
|
+
const manifestBindings = bindings.filter((service)=>(0, external_utils_js_namespaceObject.isJsonRecord)(service) && 'string' == typeof service.binding && 'string' == typeof service.service && ('string' == typeof service.prefix || Array.isArray(service.fragments) && service.fragments.length > 0)).map((service)=>({
|
|
162
|
+
binding: service.binding,
|
|
163
|
+
service: service.service,
|
|
164
|
+
interface: 'fetch',
|
|
165
|
+
...void 0 === service.prefix ? {} : {
|
|
166
|
+
prefix: service.prefix
|
|
167
|
+
},
|
|
168
|
+
...void 0 === service.fragments ? {} : {
|
|
169
|
+
fragments: service.fragments
|
|
170
|
+
}
|
|
171
|
+
}));
|
|
172
|
+
return manifestBindings.length > 0 ? manifestBindings : void 0;
|
|
173
|
+
};
|
|
174
|
+
const createWranglerConfig = (appDirectory, modernConfig)=>{
|
|
175
|
+
const wrangler = getConfiguredWrangler(modernConfig);
|
|
176
|
+
const d1Databases = createWranglerD1Databases(modernConfig, wrangler.d1_databases);
|
|
177
|
+
const serviceBindings = createWorkerServiceBindings(modernConfig, wrangler.services);
|
|
178
|
+
const wranglerServices = createWranglerServices(serviceBindings);
|
|
179
|
+
return {
|
|
180
|
+
$schema: 'node_modules/wrangler/config-schema.json',
|
|
181
|
+
name: getConfiguredWorkerName(appDirectory, modernConfig),
|
|
182
|
+
compatibility_date: getCompatibilityDate(modernConfig),
|
|
183
|
+
...wrangler,
|
|
184
|
+
main: external_constants_js_namespaceObject.WORKER_ENTRY,
|
|
185
|
+
compatibility_flags: createWranglerCompatibilityFlags(wrangler.compatibility_flags),
|
|
186
|
+
assets: createWranglerAssetsConfig(wrangler.assets),
|
|
187
|
+
...void 0 === d1Databases ? {} : {
|
|
188
|
+
d1_databases: d1Databases
|
|
189
|
+
},
|
|
190
|
+
...void 0 === wranglerServices ? {} : {
|
|
191
|
+
services: wranglerServices
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
exports.createWorkerManifestServiceBindings = __webpack_exports__.createWorkerManifestServiceBindings;
|
|
196
|
+
exports.createWorkerServiceBindings = __webpack_exports__.createWorkerServiceBindings;
|
|
197
|
+
exports.createWranglerConfig = __webpack_exports__.createWranglerConfig;
|
|
198
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
199
|
+
"createWorkerManifestServiceBindings",
|
|
200
|
+
"createWorkerServiceBindings",
|
|
201
|
+
"createWranglerConfig"
|
|
202
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
203
|
+
Object.defineProperty(exports, '__esModule', {
|
|
204
|
+
value: true
|
|
205
|
+
});
|