@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,156 @@
|
|
|
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
|
+
createCloudflarePreset: ()=>createCloudflarePreset
|
|
41
|
+
});
|
|
42
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
43
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
44
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
45
|
+
const external_cloudflare_output_plan_js_namespaceObject = require("../cloudflare-output-plan.js");
|
|
46
|
+
const index_js_namespaceObject = require("../cloudflare-output-verifier/index.js");
|
|
47
|
+
const external_read_template_js_namespaceObject = require("../read-template.js");
|
|
48
|
+
const framework_output_js_namespaceObject = require("../release-envelope/framework-output.js");
|
|
49
|
+
const external_artifacts_js_namespaceObject = require("./artifacts.js");
|
|
50
|
+
const external_constants_js_namespaceObject = require("./constants.js");
|
|
51
|
+
const external_delivery_unit_js_namespaceObject = require("./delivery-unit.js");
|
|
52
|
+
const external_worker_manifest_js_namespaceObject = require("./worker-manifest.js");
|
|
53
|
+
const external_wrangler_config_js_namespaceObject = require("./wrangler-config.js");
|
|
54
|
+
const CLOUDFLARE_ENTRY_TEMPLATE_FRAGMENTS = [
|
|
55
|
+
'cloudflare-entry.001-bootstrap-security.mjs',
|
|
56
|
+
'cloudflare-entry.002-assets-routes.mjs',
|
|
57
|
+
'cloudflare-entry.003-i18n-locales.mjs',
|
|
58
|
+
'cloudflare-entry.004-rendering-css.mjs',
|
|
59
|
+
'cloudflare-entry.005-worker-dispatch.mjs',
|
|
60
|
+
'cloudflare-entry.006-fetch-handler.mjs'
|
|
61
|
+
];
|
|
62
|
+
const readCloudflareEntryTemplate = async ()=>(await Promise.all(CLOUDFLARE_ENTRY_TEMPLATE_FRAGMENTS.map((fragment)=>(0, external_read_template_js_namespaceObject.readTemplate)(fragment)))).join('');
|
|
63
|
+
const createCloudflarePreset = ({ api, appContext, modernConfig })=>{
|
|
64
|
+
const { apiOnly, appDirectory, distDirectory } = appContext;
|
|
65
|
+
const outputDirectory = external_node_path_default().join(appDirectory, '.output');
|
|
66
|
+
const outputPlan = (0, external_cloudflare_output_plan_js_namespaceObject.createCloudflareOutputPlan)(outputDirectory);
|
|
67
|
+
const publicDirectory = outputPlan.paths.publicAssets;
|
|
68
|
+
const workerEntryPath = outputPlan.paths.workerEntry;
|
|
69
|
+
const workerManifestPath = outputPlan.paths.workerManifest;
|
|
70
|
+
const routeSpecOutputPath = external_node_path_default().join(outputDirectory, external_constants_js_namespaceObject.ROUTE_SPEC_OUTPUT);
|
|
71
|
+
const wranglerConfigPath = outputPlan.paths.wranglerConfig;
|
|
72
|
+
const cloudflareArtifacts = (0, external_artifacts_js_namespaceObject.getCloudflareArtifacts)(modernConfig);
|
|
73
|
+
const publicAssetExcludes = (0, external_worker_manifest_js_namespaceObject.getPublicAssetExcludes)(appDirectory, modernConfig);
|
|
74
|
+
const releaseEnvelopeEnabled = api.isPluginExists('@modern-js/ultramodern-release-envelope');
|
|
75
|
+
let hasReleaseEnvelope = false;
|
|
76
|
+
return {
|
|
77
|
+
async prepare () {
|
|
78
|
+
await utils_namespaceObject.fs.remove(outputDirectory);
|
|
79
|
+
},
|
|
80
|
+
async writeOutput () {
|
|
81
|
+
if (releaseEnvelopeEnabled && await utils_namespaceObject.fs.pathExists(external_node_path_default().join(distDirectory, framework_output_js_namespaceObject.MICROVERTICAL_RELEASE_ENVELOPE_PATH))) await (0, framework_output_js_namespaceObject.emitFrameworkMicroVerticalReleaseEnvelope)({
|
|
82
|
+
apiOnly,
|
|
83
|
+
distDirectory,
|
|
84
|
+
target: 'cloudflare'
|
|
85
|
+
});
|
|
86
|
+
if (releaseEnvelopeEnabled) await (0, framework_output_js_namespaceObject.verifyBuildOutputReleaseEnvelope)(distDirectory, 'cloudflare');
|
|
87
|
+
await utils_namespaceObject.fs.copy(distDirectory, publicDirectory, {
|
|
88
|
+
filter: (src)=>{
|
|
89
|
+
const relativePath = external_node_path_default().relative(distDirectory, src).replace(/\\/gu, '/');
|
|
90
|
+
return 'release' !== relativePath && !relativePath.startsWith('release/') && 'public' !== relativePath && !relativePath.startsWith('public/') && (0, external_worker_manifest_js_namespaceObject.shouldCopyToPublicAssets)(src, distDirectory, publicAssetExcludes);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
const generatedPublicDirectory = external_node_path_default().join(distDirectory, 'public');
|
|
94
|
+
if (await utils_namespaceObject.fs.pathExists(generatedPublicDirectory)) await utils_namespaceObject.fs.copy(generatedPublicDirectory, publicDirectory, {
|
|
95
|
+
filter: (src)=>{
|
|
96
|
+
const relativePath = external_node_path_default().relative(generatedPublicDirectory, src).replace(/\\/gu, '/');
|
|
97
|
+
return 'release' !== relativePath && !relativePath.startsWith('release/') && (0, external_worker_manifest_js_namespaceObject.shouldCopyToPublicAssets)(src, generatedPublicDirectory, publicAssetExcludes);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
await utils_namespaceObject.fs.ensureDir(external_node_path_default().dirname(workerEntryPath));
|
|
101
|
+
await utils_namespaceObject.fs.ensureDir(external_node_path_default().dirname(workerManifestPath));
|
|
102
|
+
const routeSpecSourcePath = external_node_path_default().join(distDirectory, external_constants_js_namespaceObject.ROUTE_SPEC_FILE);
|
|
103
|
+
if (await utils_namespaceObject.fs.pathExists(routeSpecSourcePath)) await utils_namespaceObject.fs.copy(routeSpecSourcePath, routeSpecOutputPath);
|
|
104
|
+
const workerBundleSourceDirectory = external_node_path_default().join(distDirectory, external_constants_js_namespaceObject.WORKER_BUNDLE_DIRECTORY);
|
|
105
|
+
const workerBundleOutputDirectory = outputPlan.paths.workerBundle;
|
|
106
|
+
if (await utils_namespaceObject.fs.pathExists(workerBundleSourceDirectory)) {
|
|
107
|
+
await utils_namespaceObject.fs.copy(workerBundleSourceDirectory, workerBundleOutputDirectory, {
|
|
108
|
+
filter: (src)=>(0, external_worker_manifest_js_namespaceObject.shouldCopyToWorkerBundle)(src, workerBundleSourceDirectory)
|
|
109
|
+
});
|
|
110
|
+
await utils_namespaceObject.fs.writeJSON(outputPlan.paths.workerPackage, outputPlan.packages.worker);
|
|
111
|
+
}
|
|
112
|
+
await (0, external_artifacts_js_namespaceObject.copyCloudflareArtifacts)(appDirectory, outputDirectory, cloudflareArtifacts);
|
|
113
|
+
await (0, external_artifacts_js_namespaceObject.copyCloudflarePublicAssets)(appDirectory, publicDirectory, (0, external_artifacts_js_namespaceObject.getCloudflarePublicAssets)(modernConfig));
|
|
114
|
+
await (0, external_artifacts_js_namespaceObject.copyCloudflareD1Migrations)(appDirectory, outputDirectory, modernConfig);
|
|
115
|
+
await utils_namespaceObject.fs.writeJSON(wranglerConfigPath, (0, external_wrangler_config_js_namespaceObject.createWranglerConfig)(appDirectory, modernConfig), {
|
|
116
|
+
spaces: 2
|
|
117
|
+
});
|
|
118
|
+
const deliveryUnitStamp = await (0, external_delivery_unit_js_namespaceObject.resolveWorkerDeliveryUnitStamp)(appDirectory);
|
|
119
|
+
await utils_namespaceObject.fs.writeJSON(workerManifestPath, await (0, external_worker_manifest_js_namespaceObject.createWorkerManifest)(outputDirectory, modernConfig, appContext, deliveryUnitStamp), {
|
|
120
|
+
spaces: 2
|
|
121
|
+
});
|
|
122
|
+
await utils_namespaceObject.fs.writeJSON(outputPlan.paths.outputPackage, outputPlan.packages.output);
|
|
123
|
+
hasReleaseEnvelope = releaseEnvelopeEnabled && Boolean(await (0, framework_output_js_namespaceObject.stageCloudflareReleaseEnvelope)({
|
|
124
|
+
distDirectory,
|
|
125
|
+
outputDirectory
|
|
126
|
+
}));
|
|
127
|
+
},
|
|
128
|
+
async genEntry () {
|
|
129
|
+
const template = await readCloudflareEntryTemplate();
|
|
130
|
+
const manifest = await utils_namespaceObject.fs.readJSON(workerManifestPath);
|
|
131
|
+
await utils_namespaceObject.fs.writeFile(workerEntryPath, template.replace('p_workerManifest', JSON.stringify(manifest, null, 2)).replace('p_workerModuleLoaders', (0, external_worker_manifest_js_namespaceObject.createWorkerModuleLoaders)(manifest)));
|
|
132
|
+
const topologyDeliveryUnit = await (0, external_delivery_unit_js_namespaceObject.resolveTopologyDeliveryUnit)(appDirectory);
|
|
133
|
+
await (0, index_js_namespaceObject.assertCloudflareOutput)({
|
|
134
|
+
outputDirectory,
|
|
135
|
+
importWorker: false,
|
|
136
|
+
...topologyDeliveryUnit ? {
|
|
137
|
+
deliveryUnit: topologyDeliveryUnit
|
|
138
|
+
} : {}
|
|
139
|
+
});
|
|
140
|
+
if (hasReleaseEnvelope) {
|
|
141
|
+
await (0, framework_output_js_namespaceObject.emitCloudflareStagedReleaseEnvelope)({
|
|
142
|
+
distDirectory,
|
|
143
|
+
outputDirectory
|
|
144
|
+
});
|
|
145
|
+
await (0, framework_output_js_namespaceObject.verifyCloudflareReleaseEnvelopeStaging)(outputDirectory);
|
|
146
|
+
} else if (await utils_namespaceObject.fs.pathExists(external_node_path_default().join(outputDirectory, framework_output_js_namespaceObject.MICROVERTICAL_RELEASE_ENVELOPE_PATH))) throw new Error('[ultramodern-release-envelope] Cloudflare staging contains an envelope not selected from this MicroVertical build.');
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
exports.createCloudflarePreset = __webpack_exports__.createCloudflarePreset;
|
|
151
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
152
|
+
"createCloudflarePreset"
|
|
153
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
154
|
+
Object.defineProperty(exports, '__esModule', {
|
|
155
|
+
value: true
|
|
156
|
+
});
|
|
@@ -0,0 +1,205 @@
|
|
|
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
|
+
const DEFAULT_SECURITY_HEADERS = {
|
|
31
|
+
referrerPolicy: 'strict-origin-when-cross-origin',
|
|
32
|
+
contentTypeOptions: 'nosniff',
|
|
33
|
+
permissionsPolicy: 'camera=(), geolocation=(), microphone=(), payment=(), usb=()'
|
|
34
|
+
};
|
|
35
|
+
const DEFAULT_CORS_ALLOWED_METHODS = [
|
|
36
|
+
'GET',
|
|
37
|
+
'HEAD',
|
|
38
|
+
'POST',
|
|
39
|
+
'PUT',
|
|
40
|
+
'PATCH',
|
|
41
|
+
'DELETE',
|
|
42
|
+
'OPTIONS'
|
|
43
|
+
];
|
|
44
|
+
const DEFAULT_CSP_DIRECTIVES = {
|
|
45
|
+
'base-uri': [
|
|
46
|
+
"'self'"
|
|
47
|
+
],
|
|
48
|
+
'connect-src': [
|
|
49
|
+
"'self'",
|
|
50
|
+
'https:',
|
|
51
|
+
'http:',
|
|
52
|
+
'wss:',
|
|
53
|
+
'ws:'
|
|
54
|
+
],
|
|
55
|
+
'default-src': [
|
|
56
|
+
"'self'"
|
|
57
|
+
],
|
|
58
|
+
'font-src': [
|
|
59
|
+
"'self'",
|
|
60
|
+
'data:',
|
|
61
|
+
'https:',
|
|
62
|
+
'http:'
|
|
63
|
+
],
|
|
64
|
+
'form-action': [
|
|
65
|
+
"'self'"
|
|
66
|
+
],
|
|
67
|
+
'frame-ancestors': [
|
|
68
|
+
"'self'"
|
|
69
|
+
],
|
|
70
|
+
'img-src': [
|
|
71
|
+
"'self'",
|
|
72
|
+
'data:',
|
|
73
|
+
'blob:',
|
|
74
|
+
'https:',
|
|
75
|
+
'http:'
|
|
76
|
+
],
|
|
77
|
+
'manifest-src': [
|
|
78
|
+
"'self'",
|
|
79
|
+
'https:',
|
|
80
|
+
'http:'
|
|
81
|
+
],
|
|
82
|
+
'object-src': [
|
|
83
|
+
"'none'"
|
|
84
|
+
],
|
|
85
|
+
"script-src": [
|
|
86
|
+
"'self'",
|
|
87
|
+
"'unsafe-inline'",
|
|
88
|
+
"'unsafe-eval'",
|
|
89
|
+
'https:',
|
|
90
|
+
'http:',
|
|
91
|
+
'blob:'
|
|
92
|
+
],
|
|
93
|
+
'style-src': [
|
|
94
|
+
"'self'",
|
|
95
|
+
"'unsafe-inline'",
|
|
96
|
+
'https:',
|
|
97
|
+
'http:'
|
|
98
|
+
],
|
|
99
|
+
'worker-src': [
|
|
100
|
+
"'self'",
|
|
101
|
+
'blob:'
|
|
102
|
+
]
|
|
103
|
+
};
|
|
104
|
+
const normalizeDirectiveValues = (value)=>{
|
|
105
|
+
const values = Array.isArray(value) ? value : [
|
|
106
|
+
value
|
|
107
|
+
];
|
|
108
|
+
return [
|
|
109
|
+
...new Set(values.map((entry)=>entry.trim()).filter(Boolean))
|
|
110
|
+
];
|
|
111
|
+
};
|
|
112
|
+
const appendDirectiveValues = (directives, name, values)=>{
|
|
113
|
+
if (!values?.length) return;
|
|
114
|
+
directives[name] = normalizeDirectiveValues([
|
|
115
|
+
...directives[name] ?? [],
|
|
116
|
+
...values
|
|
117
|
+
]);
|
|
118
|
+
};
|
|
119
|
+
const createContentSecurityPolicy = (config)=>{
|
|
120
|
+
const mode = config?.mode ?? 'report-only';
|
|
121
|
+
if ('off' === mode) return {
|
|
122
|
+
mode,
|
|
123
|
+
directives: {},
|
|
124
|
+
reason: config?.reason
|
|
125
|
+
};
|
|
126
|
+
const directives = Object.fromEntries(Object.entries(DEFAULT_CSP_DIRECTIVES).map(([name, values])=>[
|
|
127
|
+
name,
|
|
128
|
+
[
|
|
129
|
+
...values
|
|
130
|
+
]
|
|
131
|
+
]));
|
|
132
|
+
for (const [name, value] of Object.entries(config?.directives ?? {}))if (false === value) delete directives[name];
|
|
133
|
+
else directives[name] = normalizeDirectiveValues(value);
|
|
134
|
+
if (config?.frameAncestors === false) delete directives['frame-ancestors'];
|
|
135
|
+
else if (config?.frameAncestors) directives['frame-ancestors'] = normalizeDirectiveValues(config.frameAncestors);
|
|
136
|
+
appendDirectiveValues(directives, "script-src", config?.additionalScriptSrc);
|
|
137
|
+
appendDirectiveValues(directives, 'style-src', config?.additionalStyleSrc);
|
|
138
|
+
appendDirectiveValues(directives, 'connect-src', config?.additionalConnectSrc);
|
|
139
|
+
appendDirectiveValues(directives, 'img-src', config?.additionalImgSrc);
|
|
140
|
+
if (config?.reportUri) directives['report-uri'] = [
|
|
141
|
+
config.reportUri
|
|
142
|
+
];
|
|
143
|
+
return {
|
|
144
|
+
mode,
|
|
145
|
+
directives,
|
|
146
|
+
reason: config?.reason
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
const createNoindexPolicy = (noindex)=>{
|
|
150
|
+
if (false === noindex) return {
|
|
151
|
+
workersDev: false,
|
|
152
|
+
localhost: false,
|
|
153
|
+
previewHostnames: []
|
|
154
|
+
};
|
|
155
|
+
if (true === noindex || void 0 === noindex) return {
|
|
156
|
+
workersDev: true,
|
|
157
|
+
localhost: true,
|
|
158
|
+
previewHostnames: []
|
|
159
|
+
};
|
|
160
|
+
return {
|
|
161
|
+
workersDev: noindex.workersDev ?? true,
|
|
162
|
+
localhost: noindex.localhost ?? true,
|
|
163
|
+
previewHostnames: noindex.previewHostnames ?? [],
|
|
164
|
+
reason: noindex.reason
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
const createCloudflareWorkerCorsPolicy = (cors)=>({
|
|
168
|
+
assets: cors?.assets ?? true,
|
|
169
|
+
allowedOrigins: normalizeDirectiveValues(cors?.allowedOrigins ?? []),
|
|
170
|
+
allowedMethods: cors?.allowedMethods?.length ? normalizeDirectiveValues(cors.allowedMethods.map((method)=>method.toUpperCase())) : DEFAULT_CORS_ALLOWED_METHODS,
|
|
171
|
+
allowedHeaders: cors?.allowedHeaders?.length ? normalizeDirectiveValues(cors.allowedHeaders) : [
|
|
172
|
+
'*'
|
|
173
|
+
],
|
|
174
|
+
reason: cors?.reason
|
|
175
|
+
});
|
|
176
|
+
const createCloudflareWorkerSecurityPolicy = (modernConfig)=>{
|
|
177
|
+
const security = modernConfig.deploy?.worker?.security;
|
|
178
|
+
if (security?.enabled === false) return {
|
|
179
|
+
enabled: false,
|
|
180
|
+
cors: createCloudflareWorkerCorsPolicy(security.cors),
|
|
181
|
+
reason: security.reason
|
|
182
|
+
};
|
|
183
|
+
return {
|
|
184
|
+
enabled: true,
|
|
185
|
+
headers: {
|
|
186
|
+
referrerPolicy: security?.headers?.referrerPolicy ?? DEFAULT_SECURITY_HEADERS.referrerPolicy,
|
|
187
|
+
contentTypeOptions: security?.headers?.contentTypeOptions ?? DEFAULT_SECURITY_HEADERS.contentTypeOptions,
|
|
188
|
+
permissionsPolicy: security?.headers?.permissionsPolicy ?? DEFAULT_SECURITY_HEADERS.permissionsPolicy
|
|
189
|
+
},
|
|
190
|
+
contentSecurityPolicy: createContentSecurityPolicy(security?.contentSecurityPolicy),
|
|
191
|
+
noindex: createNoindexPolicy(security?.noindex),
|
|
192
|
+
cors: createCloudflareWorkerCorsPolicy(security?.cors),
|
|
193
|
+
reason: security?.reason
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
__webpack_require__.d(__webpack_exports__, {}, {
|
|
197
|
+
createCloudflareWorkerSecurityPolicy: createCloudflareWorkerSecurityPolicy
|
|
198
|
+
});
|
|
199
|
+
exports.createCloudflareWorkerSecurityPolicy = __webpack_exports__.createCloudflareWorkerSecurityPolicy;
|
|
200
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
201
|
+
"createCloudflareWorkerSecurityPolicy"
|
|
202
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
203
|
+
Object.defineProperty(exports, '__esModule', {
|
|
204
|
+
value: true
|
|
205
|
+
});
|
|
@@ -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,66 @@
|
|
|
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
|
+
isJsonRecord: ()=>isJsonRecord,
|
|
41
|
+
isRecord: ()=>isRecord,
|
|
42
|
+
normalizeRelativePath: ()=>normalizeRelativePath
|
|
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 isRecord = (value)=>null !== value && 'object' == typeof value && !Array.isArray(value);
|
|
47
|
+
const normalizeRelativePath = (value, label, scope = 'app output', options = {})=>{
|
|
48
|
+
if ('string' != typeof value) throw new Error(`${label} must be a relative path inside the ${scope}.`);
|
|
49
|
+
const normalized = value.trim().replace(/\\/g, '/').replace(/^\.\/+/u, '').replace(/\/+$/u, '');
|
|
50
|
+
const segments = normalized.split('/');
|
|
51
|
+
const isRootDestination = '.' === normalized;
|
|
52
|
+
if (!normalized || external_node_path_default().isAbsolute(normalized) || !options.allowRoot && isRootDestination || segments.includes('..')) throw new Error(`${label} must be a relative path inside the ${scope}.`);
|
|
53
|
+
return normalized;
|
|
54
|
+
};
|
|
55
|
+
const isJsonRecord = (value)=>'object' == typeof value && null !== value && !Array.isArray(value);
|
|
56
|
+
exports.isJsonRecord = __webpack_exports__.isJsonRecord;
|
|
57
|
+
exports.isRecord = __webpack_exports__.isRecord;
|
|
58
|
+
exports.normalizeRelativePath = __webpack_exports__.normalizeRelativePath;
|
|
59
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
60
|
+
"isJsonRecord",
|
|
61
|
+
"isRecord",
|
|
62
|
+
"normalizeRelativePath"
|
|
63
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
64
|
+
Object.defineProperty(exports, '__esModule', {
|
|
65
|
+
value: true
|
|
66
|
+
});
|