@webflow/cloud-app 0.1.0-beta.10
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 +161 -0
- package/dist/bindings.d.ts +190 -0
- package/dist/bindings.d.ts.map +1 -0
- package/dist/bindings.js +126 -0
- package/dist/bindings.js.map +1 -0
- package/dist/compat-date.d.ts +68 -0
- package/dist/compat-date.d.ts.map +1 -0
- package/dist/compat-date.js +169 -0
- package/dist/compat-date.js.map +1 -0
- package/dist/config/package-json.d.ts +57 -0
- package/dist/config/package-json.d.ts.map +1 -0
- package/dist/config/package-json.js +94 -0
- package/dist/config/package-json.js.map +1 -0
- package/dist/config/webflow-json.d.ts +47 -0
- package/dist/config/webflow-json.d.ts.map +1 -0
- package/dist/config/webflow-json.js +72 -0
- package/dist/config/webflow-json.js.map +1 -0
- package/dist/create-webflow-json.d.ts +21 -0
- package/dist/create-webflow-json.d.ts.map +1 -0
- package/dist/create-webflow-json.js +168 -0
- package/dist/create-webflow-json.js.map +1 -0
- package/dist/diagnostics.d.ts +23 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +31 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/errors.d.ts +13 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +23 -0
- package/dist/errors.js.map +1 -0
- package/dist/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.d.ts +28 -0
- package/dist/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.d.ts.map +1 -0
- package/dist/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.js +148 -0
- package/dist/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.js.map +1 -0
- package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.d.ts +34 -0
- package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.d.ts.map +1 -0
- package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.js +89 -0
- package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.js.map +1 -0
- package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.d.ts +39 -0
- package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.d.ts.map +1 -0
- package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.js +93 -0
- package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.js.map +1 -0
- package/dist/frameworks/astro/astro5.d.ts +28 -0
- package/dist/frameworks/astro/astro5.d.ts.map +1 -0
- package/dist/frameworks/astro/astro5.js +276 -0
- package/dist/frameworks/astro/astro5.js.map +1 -0
- package/dist/frameworks/astro/astro6.d.ts +28 -0
- package/dist/frameworks/astro/astro6.d.ts.map +1 -0
- package/dist/frameworks/astro/astro6.js +305 -0
- package/dist/frameworks/astro/astro6.js.map +1 -0
- package/dist/frameworks/astro/astro7.d.ts +28 -0
- package/dist/frameworks/astro/astro7.d.ts.map +1 -0
- package/dist/frameworks/astro/astro7.js +303 -0
- package/dist/frameworks/astro/astro7.js.map +1 -0
- package/dist/frameworks/astro/index.d.ts +10 -0
- package/dist/frameworks/astro/index.d.ts.map +1 -0
- package/dist/frameworks/astro/index.js +16 -0
- package/dist/frameworks/astro/index.js.map +1 -0
- package/dist/frameworks/astro/session-check.d.ts +24 -0
- package/dist/frameworks/astro/session-check.d.ts.map +1 -0
- package/dist/frameworks/astro/session-check.js +166 -0
- package/dist/frameworks/astro/session-check.js.map +1 -0
- package/dist/frameworks/astro/templates/astro.config.webflow.ts +61 -0
- package/dist/frameworks/astro/templates/v5/astro.config.mjs.template +25 -0
- package/dist/frameworks/astro/templates/v5/webflow-loader.ts +126 -0
- package/dist/frameworks/astro/templates/v5/wrangler.json +6 -0
- package/dist/frameworks/astro/templates/v6/astro.config.mjs.template +35 -0
- package/dist/frameworks/astro/templates/v6/webflow-loader.ts +126 -0
- package/dist/frameworks/astro/templates/v6/wrangler.json +9 -0
- package/dist/frameworks/astro/templates/v7/astro.config.mjs.template +34 -0
- package/dist/frameworks/astro/templates/v7/webflow-loader.ts +125 -0
- package/dist/frameworks/astro/templates/v7/wrangler.json +9 -0
- package/dist/frameworks/astro/templates/webflow-image-url.ts +140 -0
- package/dist/frameworks/base.d.ts +134 -0
- package/dist/frameworks/base.d.ts.map +1 -0
- package/dist/frameworks/base.js +175 -0
- package/dist/frameworks/base.js.map +1 -0
- package/dist/frameworks/errors.d.ts +72 -0
- package/dist/frameworks/errors.d.ts.map +1 -0
- package/dist/frameworks/errors.js +120 -0
- package/dist/frameworks/errors.js.map +1 -0
- package/dist/frameworks/nextjs/adapter-resolver.d.ts +72 -0
- package/dist/frameworks/nextjs/adapter-resolver.d.ts.map +1 -0
- package/dist/frameworks/nextjs/adapter-resolver.js +246 -0
- package/dist/frameworks/nextjs/adapter-resolver.js.map +1 -0
- package/dist/frameworks/nextjs/index.d.ts +38 -0
- package/dist/frameworks/nextjs/index.d.ts.map +1 -0
- package/dist/frameworks/nextjs/index.js +268 -0
- package/dist/frameworks/nextjs/index.js.map +1 -0
- package/dist/frameworks/nextjs/templates/next.config.ts.template +13 -0
- package/dist/frameworks/nextjs/templates/next.config.webflow.ts +46 -0
- package/dist/frameworks/nextjs/templates/open-next.config.ts +3 -0
- package/dist/frameworks/nextjs/templates/webflow-loader.ts +44 -0
- package/dist/frameworks/nextjs/templates/wrangler.json +6 -0
- package/dist/frameworks/registry.d.ts +127 -0
- package/dist/frameworks/registry.d.ts.map +1 -0
- package/dist/frameworks/registry.js +257 -0
- package/dist/frameworks/registry.js.map +1 -0
- package/dist/frameworks/static/index.d.ts +116 -0
- package/dist/frameworks/static/index.d.ts.map +1 -0
- package/dist/frameworks/static/index.js +394 -0
- package/dist/frameworks/static/index.js.map +1 -0
- package/dist/frameworks/static/templates/wrangler.json +8 -0
- package/dist/frameworks/types.d.ts +138 -0
- package/dist/frameworks/types.d.ts.map +1 -0
- package/dist/frameworks/types.js +3 -0
- package/dist/frameworks/types.js.map +1 -0
- package/dist/frameworks/vite/index.d.ts +46 -0
- package/dist/frameworks/vite/index.d.ts.map +1 -0
- package/dist/frameworks/vite/index.js +303 -0
- package/dist/frameworks/vite/index.js.map +1 -0
- package/dist/frameworks/vite/templates/vite.config.ts.template +14 -0
- package/dist/frameworks/vite/templates/vite.config.webflow.ts +52 -0
- package/dist/frameworks/vite/templates/wrangler.json +10 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +136 -0
- package/dist/index.js.map +1 -0
- package/dist/pipeline.d.ts +12 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +293 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/ports/command-runner.d.ts +59 -0
- package/dist/ports/command-runner.d.ts.map +1 -0
- package/dist/ports/command-runner.js +126 -0
- package/dist/ports/command-runner.js.map +1 -0
- package/dist/ports/filesystem.d.ts +19 -0
- package/dist/ports/filesystem.d.ts.map +1 -0
- package/dist/ports/filesystem.js +68 -0
- package/dist/ports/filesystem.js.map +1 -0
- package/dist/ports/index.d.ts +17 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +14 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/logger.d.ts +22 -0
- package/dist/ports/logger.d.ts.map +1 -0
- package/dist/ports/logger.js +18 -0
- package/dist/ports/logger.js.map +1 -0
- package/dist/ports/telemetry.d.ts +23 -0
- package/dist/ports/telemetry.d.ts.map +1 -0
- package/dist/ports/telemetry.js +12 -0
- package/dist/ports/telemetry.js.map +1 -0
- package/dist/static-base-href.d.ts +31 -0
- package/dist/static-base-href.d.ts.map +1 -0
- package/dist/static-base-href.js +183 -0
- package/dist/static-base-href.js.map +1 -0
- package/dist/toolchain/errors.d.ts +32 -0
- package/dist/toolchain/errors.d.ts.map +1 -0
- package/dist/toolchain/errors.js +31 -0
- package/dist/toolchain/errors.js.map +1 -0
- package/dist/toolchain/resolver.d.ts +25 -0
- package/dist/toolchain/resolver.d.ts.map +1 -0
- package/dist/toolchain/resolver.js +200 -0
- package/dist/toolchain/resolver.js.map +1 -0
- package/dist/toolchain/types.d.ts +52 -0
- package/dist/toolchain/types.d.ts.map +1 -0
- package/dist/toolchain/types.js +10 -0
- package/dist/toolchain/types.js.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/fs.d.ts +29 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +126 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +27 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/node-version.d.ts +20 -0
- package/dist/utils/node-version.d.ts.map +1 -0
- package/dist/utils/node-version.js +113 -0
- package/dist/utils/node-version.js.map +1 -0
- package/dist/utils/process.d.ts +25 -0
- package/dist/utils/process.d.ts.map +1 -0
- package/dist/utils/process.js +40 -0
- package/dist/utils/process.js.map +1 -0
- package/dist/utils/reserved-env.d.ts +26 -0
- package/dist/utils/reserved-env.d.ts.map +1 -0
- package/dist/utils/reserved-env.js +51 -0
- package/dist/utils/reserved-env.js.map +1 -0
- package/dist/utils/template.d.ts +15 -0
- package/dist/utils/template.d.ts.map +1 -0
- package/dist/utils/template.js +75 -0
- package/dist/utils/template.js.map +1 -0
- package/dist/utils/version.d.ts +9 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +52 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/wrangler.d.ts +195 -0
- package/dist/wrangler.d.ts.map +1 -0
- package/dist/wrangler.js +372 -0
- package/dist/wrangler.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-webflow-json.js","sourceRoot":"","sources":["../src/create-webflow-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type DiagnosticLevel = 'warn' | 'error';
|
|
2
|
+
export declare const DiagnosticCode: {
|
|
3
|
+
readonly ASTRO_SESSION_BINDING_MISSING: "ASTRO_SESSION_BINDING_MISSING";
|
|
4
|
+
readonly WRANGLER_JSON_INVALID: "WRANGLER_JSON_INVALID";
|
|
5
|
+
};
|
|
6
|
+
export type DiagnosticCode = (typeof DiagnosticCode)[keyof typeof DiagnosticCode];
|
|
7
|
+
export interface Diagnostic {
|
|
8
|
+
level: DiagnosticLevel;
|
|
9
|
+
code: DiagnosticCode;
|
|
10
|
+
/** One sentence: what is wrong and what it breaks. No newlines. */
|
|
11
|
+
message: string;
|
|
12
|
+
/** One sentence: the exact change to make. No newlines. */
|
|
13
|
+
fix?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const DIAGNOSTIC_LINE_PATTERN: RegExp;
|
|
16
|
+
export declare function formatDiagnostic({ level, code, message, fix }: Diagnostic): string;
|
|
17
|
+
export declare function parseDiagnostic(line: string): {
|
|
18
|
+
level: DiagnosticLevel;
|
|
19
|
+
code: string;
|
|
20
|
+
message: string;
|
|
21
|
+
fix?: string;
|
|
22
|
+
} | undefined;
|
|
23
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/C,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID,eAAO,MAAM,uBAAuB,QAC6B,CAAC;AAElE,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,GAAG,MAAM,CAKlF;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAOrF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Machine-readable build diagnostics. The format and code registry match cosmic-builder's BUILD_DIAGNOSTICS.md
|
|
3
|
+
// (keep codes in sync). Agents, the CLI and (later) the dashboard pick these
|
|
4
|
+
// lines out of the build log by the `[cloud:<level>:<CODE>]` prefix, so a code
|
|
5
|
+
// must never change meaning once shipped.
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.DIAGNOSTIC_LINE_PATTERN = exports.DiagnosticCode = void 0;
|
|
8
|
+
exports.formatDiagnostic = formatDiagnostic;
|
|
9
|
+
exports.parseDiagnostic = parseDiagnostic;
|
|
10
|
+
exports.DiagnosticCode = {
|
|
11
|
+
ASTRO_SESSION_BINDING_MISSING: 'ASTRO_SESSION_BINDING_MISSING',
|
|
12
|
+
WRANGLER_JSON_INVALID: 'WRANGLER_JSON_INVALID',
|
|
13
|
+
};
|
|
14
|
+
// Matches the first line of a diagnostic. Errors may carry detail lines after it.
|
|
15
|
+
// Leading whitespace is allowed because the CLI indents every log line.
|
|
16
|
+
exports.DIAGNOSTIC_LINE_PATTERN = /^\s*\[cloud:(warn|error):([A-Z0-9_]+)\] (.*?)(?: Fix: (.*))?$/;
|
|
17
|
+
function formatDiagnostic({ level, code, message, fix }) {
|
|
18
|
+
if (/[\r\n]/.test(message) || (fix && /[\r\n]/.test(fix))) {
|
|
19
|
+
throw new Error(`diagnostic ${code}: message and fix must be single-line`);
|
|
20
|
+
}
|
|
21
|
+
return `[cloud:${level}:${code}] ${message}` + (fix ? ` Fix: ${fix}` : '');
|
|
22
|
+
}
|
|
23
|
+
function parseDiagnostic(line) {
|
|
24
|
+
const match = exports.DIAGNOSTIC_LINE_PATTERN.exec(line.split('\n', 1)[0]);
|
|
25
|
+
if (!match) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const [, level, code, message, fix] = match;
|
|
29
|
+
return { level: level, code, message, ...(fix !== undefined ? { fix } : {}) };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";AAAA,+GAA+G;AAC/G,6EAA6E;AAC7E,+EAA+E;AAC/E,0CAA0C;;;AAyB1C,4CAKC;AAED,0CASC;AArCY,QAAA,cAAc,GAAG;IAC5B,6BAA6B,EAAE,+BAA+B;IAC9D,qBAAqB,EAAE,uBAAuB;CACtC,CAAC;AAaX,kFAAkF;AAClF,wEAAwE;AAC3D,QAAA,uBAAuB,GAClC,+DAA+D,CAAC;AAElE,SAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAc;IACxE,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,uCAAuC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,UAAU,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,eAAe,CAC7B,IAAY;IAEZ,MAAM,KAAK,GAAG,+BAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,OAAO,EAAE,KAAK,EAAE,KAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACnG,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error hierarchy for the build engine. Hosts can branch on these to map build
|
|
3
|
+
* failures onto their own UX (CLI error formatting, deploy status, etc.).
|
|
4
|
+
* Framework-specific errors will be added here as the builders are extracted.
|
|
5
|
+
*/
|
|
6
|
+
export declare class WebflowAppError extends Error {
|
|
7
|
+
constructor(message: string);
|
|
8
|
+
}
|
|
9
|
+
/** Thrown by API surface that is declared but not yet implemented. */
|
|
10
|
+
export declare class NotImplementedError extends WebflowAppError {
|
|
11
|
+
constructor(what: string);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,sEAAsE;AACtE,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,IAAI,EAAE,MAAM;CAGzB"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotImplementedError = exports.WebflowAppError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Error hierarchy for the build engine. Hosts can branch on these to map build
|
|
6
|
+
* failures onto their own UX (CLI error formatting, deploy status, etc.).
|
|
7
|
+
* Framework-specific errors will be added here as the builders are extracted.
|
|
8
|
+
*/
|
|
9
|
+
class WebflowAppError extends Error {
|
|
10
|
+
constructor(message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = new.target.name;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.WebflowAppError = WebflowAppError;
|
|
16
|
+
/** Thrown by API surface that is declared but not yet implemented. */
|
|
17
|
+
class NotImplementedError extends WebflowAppError {
|
|
18
|
+
constructor(what) {
|
|
19
|
+
super(`${what} is not implemented yet`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.NotImplementedError = NotImplementedError;
|
|
23
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AALD,0CAKC;AAED,sEAAsE;AACtE,MAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,IAAY;QACtB,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IAC1C,CAAC;CACF;AAJD,kDAIC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guard for the Astro 6/7 verbatim assets copy (`staticAssetsMirrorUrlLayout`).
|
|
3
|
+
*
|
|
4
|
+
* The generated `astro.config` sets `base = mountPath`, so a correct `@astrojs/cloudflare`
|
|
5
|
+
* (>= 13.3.1 on Astro 6, all 14.x on Astro 7) nests the client tree under
|
|
6
|
+
* `<assetsPath>/<mount>/`, and `copyAssets` copies `assetsPath` as-is into the assets root.
|
|
7
|
+
* A buggy adapter (withastro/astro#16276) emits a FLAT tree instead, which would be published
|
|
8
|
+
* at the wrong URLs, so fail the build rather than ship it.
|
|
9
|
+
*
|
|
10
|
+
* A tree is nested only when `<assetsPath>/<mount>` is a directory AND the mount's top-level
|
|
11
|
+
* directory is the only entry next to adapter/platform metadata files. The mount dir alone is not
|
|
12
|
+
* proof: a flat tree plus a same-named page route (e.g. `src/pages/<mount>/`) also produces
|
|
13
|
+
* `<assetsPath>/<mount>/`. Any other root entry (`_astro/`, a custom `build.assets` dir, public
|
|
14
|
+
* files) means the client tree is flat, so this is deliberately not tied to the `_astro` name.
|
|
15
|
+
*
|
|
16
|
+
* Throws only when ALL of these hold:
|
|
17
|
+
* - the mount is not the root,
|
|
18
|
+
* - the tree is not nested (see above),
|
|
19
|
+
* - `<assetsPath>` exists and holds an entry other than adapter/platform metadata files.
|
|
20
|
+
* Everything else passes: a missing `assetsPath`, a metadata-only tree, and an asset-less app
|
|
21
|
+
* (an empty `<mount>/` dir still counts as nested).
|
|
22
|
+
*
|
|
23
|
+
* `ensureCompatibleCloudflareAdapter` clamps the adapter into a base-path-fixed range, which is
|
|
24
|
+
* what keeps this nearly unreachable. It is reachable through a non-semver adapter spec (git URL,
|
|
25
|
+
* `file:`, alias) whose range it cannot verify and therefore leaves alone.
|
|
26
|
+
*/
|
|
27
|
+
export declare function assertAdapterNestedUnderMount(cwd: string, assetsPath: string, cleanMountPath: string): void;
|
|
28
|
+
//# sourceMappingURL=assert-adapter-nested-under-mount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert-adapter-nested-under-mount.d.ts","sourceRoot":"","sources":["../../../../src/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,IAAI,CA4CN"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.assertAdapterNestedUnderMount = assertAdapterNestedUnderMount;
|
|
37
|
+
const fs = __importStar(require("node:fs"));
|
|
38
|
+
const path = __importStar(require("node:path"));
|
|
39
|
+
const errors_1 = require("../../errors");
|
|
40
|
+
/** Adapter/platform metadata that legitimately sits at the assets root, next to the mount dir. */
|
|
41
|
+
const ADAPTER_METADATA_FILES = new Set(['_headers', '_redirects', '.assetsignore', '_routes.json']);
|
|
42
|
+
/**
|
|
43
|
+
* True when `p` is an existing directory. A missing path is not a directory, and neither is a path
|
|
44
|
+
* below a regular file: Node 20 throws ENOTDIR there even with `throwIfNoEntry: false` (Node 22
|
|
45
|
+
* returns undefined), so treat both as "not a directory". Other errors (e.g. EACCES) surface as a
|
|
46
|
+
* `FrameworkBuildError` with the original error as `cause`, so hosts can classify them.
|
|
47
|
+
*/
|
|
48
|
+
function isDirectory(p) {
|
|
49
|
+
try {
|
|
50
|
+
return fs.statSync(p).isDirectory();
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
const code = e.code;
|
|
54
|
+
if (code === 'ENOENT' || code === 'ENOTDIR') {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
throw new errors_1.FrameworkBuildError(`Failed to inspect the build output: ${e.message}`, {
|
|
58
|
+
cause: e,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** Directory entries of `dir`; fs errors surface as a `FrameworkBuildError` like `isDirectory`. */
|
|
63
|
+
function listEntries(dir) {
|
|
64
|
+
try {
|
|
65
|
+
return fs.readdirSync(dir);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
throw new errors_1.FrameworkBuildError(`Failed to inspect the build output: ${e.message}`, {
|
|
69
|
+
cause: e,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Guard for the Astro 6/7 verbatim assets copy (`staticAssetsMirrorUrlLayout`).
|
|
75
|
+
*
|
|
76
|
+
* The generated `astro.config` sets `base = mountPath`, so a correct `@astrojs/cloudflare`
|
|
77
|
+
* (>= 13.3.1 on Astro 6, all 14.x on Astro 7) nests the client tree under
|
|
78
|
+
* `<assetsPath>/<mount>/`, and `copyAssets` copies `assetsPath` as-is into the assets root.
|
|
79
|
+
* A buggy adapter (withastro/astro#16276) emits a FLAT tree instead, which would be published
|
|
80
|
+
* at the wrong URLs, so fail the build rather than ship it.
|
|
81
|
+
*
|
|
82
|
+
* A tree is nested only when `<assetsPath>/<mount>` is a directory AND the mount's top-level
|
|
83
|
+
* directory is the only entry next to adapter/platform metadata files. The mount dir alone is not
|
|
84
|
+
* proof: a flat tree plus a same-named page route (e.g. `src/pages/<mount>/`) also produces
|
|
85
|
+
* `<assetsPath>/<mount>/`. Any other root entry (`_astro/`, a custom `build.assets` dir, public
|
|
86
|
+
* files) means the client tree is flat, so this is deliberately not tied to the `_astro` name.
|
|
87
|
+
*
|
|
88
|
+
* Throws only when ALL of these hold:
|
|
89
|
+
* - the mount is not the root,
|
|
90
|
+
* - the tree is not nested (see above),
|
|
91
|
+
* - `<assetsPath>` exists and holds an entry other than adapter/platform metadata files.
|
|
92
|
+
* Everything else passes: a missing `assetsPath`, a metadata-only tree, and an asset-less app
|
|
93
|
+
* (an empty `<mount>/` dir still counts as nested).
|
|
94
|
+
*
|
|
95
|
+
* `ensureCompatibleCloudflareAdapter` clamps the adapter into a base-path-fixed range, which is
|
|
96
|
+
* what keeps this nearly unreachable. It is reachable through a non-semver adapter spec (git URL,
|
|
97
|
+
* `file:`, alias) whose range it cannot verify and therefore leaves alone.
|
|
98
|
+
*/
|
|
99
|
+
function assertAdapterNestedUnderMount(cwd, assetsPath, cleanMountPath) {
|
|
100
|
+
if (!cleanMountPath) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const assetsDir = path.join(cwd, assetsPath);
|
|
104
|
+
if (!isDirectory(assetsDir)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const found = listEntries(assetsDir)
|
|
108
|
+
.filter((entry) => !ADAPTER_METADATA_FILES.has(entry))
|
|
109
|
+
.sort();
|
|
110
|
+
const nestedDirExists = isDirectory(path.join(assetsDir, cleanMountPath));
|
|
111
|
+
// A nested tree holds only the mount's top-level directory next to adapter metadata.
|
|
112
|
+
const mountRoot = cleanMountPath.split('/')[0];
|
|
113
|
+
// Case-insensitive: on a case-insensitive filesystem `/App` resolves to a real `app/` dir.
|
|
114
|
+
const strayEntries = found.filter((entry) => entry.toLowerCase() !== mountRoot.toLowerCase());
|
|
115
|
+
if (nestedDirExists && strayEntries.length === 0) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (found.length === 0) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const adapterVersion = resolveAdapterVersion(cwd);
|
|
122
|
+
const reason = nestedDirExists
|
|
123
|
+
? `${assetsPath}/ holds top-level entries [${strayEntries.join(', ')}] next to ` +
|
|
124
|
+
`${assetsPath}/${cleanMountPath}/ (a flat tree plus a page route named like the mount ` +
|
|
125
|
+
`would look like this)`
|
|
126
|
+
: `${assetsPath}/${cleanMountPath}/ is missing`;
|
|
127
|
+
const upgradeHint = 'Upgrade @astrojs/cloudflare to >=13.3.1 (Astro 6) or >=14 (Astro 7).';
|
|
128
|
+
// The build's top-level handler logs only `error.message`, so the actionable
|
|
129
|
+
// guidance must live in the message itself — not just in `remediation`.
|
|
130
|
+
throw new errors_1.FrameworkValidationError(`The Cloudflare adapter did not nest static assets under the mount path ` +
|
|
131
|
+
`"/${cleanMountPath}": ${reason}, and ${assetsPath}/ ` +
|
|
132
|
+
`contains: ${found.join(', ')}. ` +
|
|
133
|
+
`Detected @astrojs/cloudflare ${adapterVersion ?? '(version unknown)'}. ${upgradeHint}`, {
|
|
134
|
+
remediation: upgradeHint,
|
|
135
|
+
documentationUrl: 'https://github.com/withastro/astro/issues/16276',
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/** Installed `@astrojs/cloudflare` version, when it can be read from node_modules. */
|
|
139
|
+
function resolveAdapterVersion(cwd) {
|
|
140
|
+
try {
|
|
141
|
+
const pkg = JSON.parse(fs.readFileSync(path.join(cwd, 'node_modules', '@astrojs', 'cloudflare', 'package.json'), 'utf8'));
|
|
142
|
+
return typeof pkg.version === 'string' ? pkg.version : undefined;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=assert-adapter-nested-under-mount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert-adapter-nested-under-mount.js","sourceRoot":"","sources":["../../../../src/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Logger, CommandRunner } from '../../../ports';
|
|
2
|
+
export interface EnsureCompatibleCloudflareAdapterParams {
|
|
3
|
+
log: Logger;
|
|
4
|
+
runCommand: CommandRunner;
|
|
5
|
+
cwd: string;
|
|
6
|
+
/** e.g. `@astrojs/cloudflare`. */
|
|
7
|
+
adapterName: string;
|
|
8
|
+
/**
|
|
9
|
+
* The adapter range compatible with the project's Astro version, from
|
|
10
|
+
* `resolveCloudflareAdapterRange` (e.g. `>=14.1.7 <14.2.0` or `^13.3.1`).
|
|
11
|
+
*/
|
|
12
|
+
compatibleRange: string;
|
|
13
|
+
/** The user's declared adapter spec (from package.json), or undefined if absent. */
|
|
14
|
+
declaredVersion: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Ensure the project resolves a `@astrojs/cloudflare` within the range that is
|
|
18
|
+
* compatible with its Astro version (see `resolveCloudflareAdapterRange`).
|
|
19
|
+
*
|
|
20
|
+
* - Adapter absent -> install the compatible range.
|
|
21
|
+
* - Declared range NOT a subset of the compatible range -> force-install the
|
|
22
|
+
* compatible range and warn. This catches both a too-low range (a base-path-buggy
|
|
23
|
+
* 13.x, withastro/astro#16276) and a too-high one (an unbounded `^14.0.0` that
|
|
24
|
+
* floats to 14.2.x and breaks Astro 7.0/7.1, whose adapter peerDeps lie).
|
|
25
|
+
* - Declared range already within the compatible range -> leave it alone.
|
|
26
|
+
* - Unparseable spec (`workspace:` / `file:` / `npm:` alias) -> warn and leave it;
|
|
27
|
+
* we cannot reason about the range, and forcing could clobber an intentional link.
|
|
28
|
+
*
|
|
29
|
+
* `npm install --save <pkg>@<range>` rewrites BOTH package.json and the lockfile
|
|
30
|
+
* entry for this package, so a forced install overrides a lockfile-pinned
|
|
31
|
+
* incompatible version.
|
|
32
|
+
*/
|
|
33
|
+
export declare function ensureCompatibleCloudflareAdapter(params: EnsureCompatibleCloudflareAdapterParams): Promise<void>;
|
|
34
|
+
//# sourceMappingURL=ensure-compatible-cloudflare-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-compatible-cloudflare-adapter.d.ts","sourceRoot":"","sources":["../../../../src/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG5D,MAAM,WAAW,uCAAuC;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,aAAa,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,oFAAoF;IACpF,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,uCAAuC,GAC9C,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ensureCompatibleCloudflareAdapter = ensureCompatibleCloudflareAdapter;
|
|
37
|
+
const semver = __importStar(require("semver"));
|
|
38
|
+
const utils_1 = require("../../../utils");
|
|
39
|
+
/**
|
|
40
|
+
* Ensure the project resolves a `@astrojs/cloudflare` within the range that is
|
|
41
|
+
* compatible with its Astro version (see `resolveCloudflareAdapterRange`).
|
|
42
|
+
*
|
|
43
|
+
* - Adapter absent -> install the compatible range.
|
|
44
|
+
* - Declared range NOT a subset of the compatible range -> force-install the
|
|
45
|
+
* compatible range and warn. This catches both a too-low range (a base-path-buggy
|
|
46
|
+
* 13.x, withastro/astro#16276) and a too-high one (an unbounded `^14.0.0` that
|
|
47
|
+
* floats to 14.2.x and breaks Astro 7.0/7.1, whose adapter peerDeps lie).
|
|
48
|
+
* - Declared range already within the compatible range -> leave it alone.
|
|
49
|
+
* - Unparseable spec (`workspace:` / `file:` / `npm:` alias) -> warn and leave it;
|
|
50
|
+
* we cannot reason about the range, and forcing could clobber an intentional link.
|
|
51
|
+
*
|
|
52
|
+
* `npm install --save <pkg>@<range>` rewrites BOTH package.json and the lockfile
|
|
53
|
+
* entry for this package, so a forced install overrides a lockfile-pinned
|
|
54
|
+
* incompatible version.
|
|
55
|
+
*/
|
|
56
|
+
async function ensureCompatibleCloudflareAdapter(params) {
|
|
57
|
+
const { log, runCommand, cwd, adapterName, compatibleRange, declaredVersion } = params;
|
|
58
|
+
if (!declaredVersion) {
|
|
59
|
+
log.warn(`Installing ${adapterName}@${compatibleRange} (required for Cloudflare deployment)...`);
|
|
60
|
+
await (0, utils_1.npm)({
|
|
61
|
+
log,
|
|
62
|
+
runCommand,
|
|
63
|
+
cwd,
|
|
64
|
+
args: ['install', '--save', `${adapterName}@${compatibleRange}`],
|
|
65
|
+
});
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const declaredRange = semver.validRange(declaredVersion);
|
|
69
|
+
if (!declaredRange) {
|
|
70
|
+
// workspace:/file:/npm: alias and other non-semver specs — can't compare, leave as-is.
|
|
71
|
+
log.warn(`Cannot verify ${adapterName}@${declaredVersion} against the compatible range ${compatibleRange}; ` +
|
|
72
|
+
`leaving it as declared. If the build fails, pin ${adapterName}@${compatibleRange} manually.`);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (semver.subset(declaredRange, compatibleRange)) {
|
|
76
|
+
// Every version the declared range allows is already compatible.
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
log.warn(`${adapterName}@${declaredVersion} is outside the range compatible with your Astro version ` +
|
|
80
|
+
`(${compatibleRange}). Installing ${adapterName}@${compatibleRange} to avoid broken asset serving ` +
|
|
81
|
+
`or missing-export build failures on mounted apps.`);
|
|
82
|
+
await (0, utils_1.npm)({
|
|
83
|
+
log,
|
|
84
|
+
runCommand,
|
|
85
|
+
cwd,
|
|
86
|
+
args: ['install', '--save', `${adapterName}@${compatibleRange}`],
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=ensure-compatible-cloudflare-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-compatible-cloudflare-adapter.js","sourceRoot":"","sources":["../../../../src/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,8EA4CC;AAjFD,+CAAiC;AAGjC,0CAAqC;AAiBrC;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,iCAAiC,CACrD,MAA+C;IAE/C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAEvF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CACN,cAAc,WAAW,IAAI,eAAe,0CAA0C,CACvF,CAAC;QACF,MAAM,IAAA,WAAG,EAAC;YACR,GAAG;YACH,UAAU;YACV,GAAG;YACH,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,uFAAuF;QACvF,GAAG,CAAC,IAAI,CACN,iBAAiB,WAAW,IAAI,eAAe,iCAAiC,eAAe,IAAI;YACjG,mDAAmD,WAAW,IAAI,eAAe,YAAY,CAChG,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;QAClD,iEAAiE;QACjE,OAAO;IACT,CAAC;IAED,GAAG,CAAC,IAAI,CACN,GAAG,WAAW,IAAI,eAAe,2DAA2D;QAC1F,IAAI,eAAe,iBAAiB,WAAW,IAAI,eAAe,iCAAiC;QACnG,mDAAmD,CACtD,CAAC;IACF,MAAM,IAAA,WAAG,EAAC;QACR,GAAG;QACH,UAAU;QACV,GAAG;QACH,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;KACjE,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** One Astro line and the `@astrojs/cloudflare` range that is compatible with it. */
|
|
2
|
+
export interface AdapterCompatRow {
|
|
3
|
+
/** Matched against the project's declared Astro version (coerced to its floor). */
|
|
4
|
+
astroRange: string;
|
|
5
|
+
/** The `@astrojs/cloudflare` range to install/clamp to for this Astro line. */
|
|
6
|
+
adapterRange: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Astro -> `@astrojs/cloudflare` compatibility, newest Astro line first.
|
|
10
|
+
*
|
|
11
|
+
* The adapter's own peerDependencies are too loose to trust: 14.2.0 imports
|
|
12
|
+
* `beginContentEntryCollection`, an export that only exists in astro@7.2.0, yet
|
|
13
|
+
* still declares peer `astro@^7.0.0`. An unbounded `^14.0.0` install therefore
|
|
14
|
+
* floats to 14.2.x and breaks Astro 7.0/7.1 builds. We pin a bounded window per
|
|
15
|
+
* Astro line instead: wide enough to pull the latest compatible adapter, capped
|
|
16
|
+
* below the first release that needs a newer Astro than the declared line
|
|
17
|
+
* guarantees.
|
|
18
|
+
*
|
|
19
|
+
* Each floor also sits at or above the base-path fix (withastro/astro#16276,
|
|
20
|
+
* adapter 13.3.1; every 14.x is clean), so resolving from this table keeps the
|
|
21
|
+
* verbatim `dist/client` copy correct.
|
|
22
|
+
*
|
|
23
|
+
* Keyed on the declared Astro floor: a project that declares `astro@^7.0.0`
|
|
24
|
+
* promises to run on 7.0, so its adapter must stay 7.0-compatible (< 14.2.0)
|
|
25
|
+
* even if the caret later floats Astro up. Adapter 14.1.x works across all of
|
|
26
|
+
* 7.x, so clamping down is always safe.
|
|
27
|
+
*/
|
|
28
|
+
export declare const CLOUDFLARE_ADAPTER_TABLE: readonly AdapterCompatRow[];
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the compatible `@astrojs/cloudflare` range for a declared Astro version.
|
|
31
|
+
*
|
|
32
|
+
* Matches the first table row the Astro version's floor satisfies. Throws when
|
|
33
|
+
* the version is unparseable or outside every known line, so a builder fails
|
|
34
|
+
* loudly rather than silently installing an unbounded adapter.
|
|
35
|
+
*
|
|
36
|
+
* @param declaredAstroVersion The `astro` spec from package.json (e.g. `^7.0.0`).
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveCloudflareAdapterRange(declaredAstroVersion: string | undefined): string;
|
|
39
|
+
//# sourceMappingURL=resolve-cloudflare-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-cloudflare-adapter.d.ts","sourceRoot":"","sources":["../../../../src/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.ts"],"names":[],"mappings":"AAIA,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAQ/D,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CA2B9F"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CLOUDFLARE_ADAPTER_TABLE = void 0;
|
|
37
|
+
exports.resolveCloudflareAdapterRange = resolveCloudflareAdapterRange;
|
|
38
|
+
const semver = __importStar(require("semver"));
|
|
39
|
+
const errors_1 = require("../../errors");
|
|
40
|
+
/**
|
|
41
|
+
* Astro -> `@astrojs/cloudflare` compatibility, newest Astro line first.
|
|
42
|
+
*
|
|
43
|
+
* The adapter's own peerDependencies are too loose to trust: 14.2.0 imports
|
|
44
|
+
* `beginContentEntryCollection`, an export that only exists in astro@7.2.0, yet
|
|
45
|
+
* still declares peer `astro@^7.0.0`. An unbounded `^14.0.0` install therefore
|
|
46
|
+
* floats to 14.2.x and breaks Astro 7.0/7.1 builds. We pin a bounded window per
|
|
47
|
+
* Astro line instead: wide enough to pull the latest compatible adapter, capped
|
|
48
|
+
* below the first release that needs a newer Astro than the declared line
|
|
49
|
+
* guarantees.
|
|
50
|
+
*
|
|
51
|
+
* Each floor also sits at or above the base-path fix (withastro/astro#16276,
|
|
52
|
+
* adapter 13.3.1; every 14.x is clean), so resolving from this table keeps the
|
|
53
|
+
* verbatim `dist/client` copy correct.
|
|
54
|
+
*
|
|
55
|
+
* Keyed on the declared Astro floor: a project that declares `astro@^7.0.0`
|
|
56
|
+
* promises to run on 7.0, so its adapter must stay 7.0-compatible (< 14.2.0)
|
|
57
|
+
* even if the caret later floats Astro up. Adapter 14.1.x works across all of
|
|
58
|
+
* 7.x, so clamping down is always safe.
|
|
59
|
+
*/
|
|
60
|
+
exports.CLOUDFLARE_ADAPTER_TABLE = [
|
|
61
|
+
// Bounded at `<8.0.0` on purpose: `Astro7Builder.detect` accepts major >= 7, so a
|
|
62
|
+
// future Astro 8 would land here. Leaving it open-ended would silently hand Astro 8
|
|
63
|
+
// a `^14.2.0` adapter that only peers `astro@^7`. The bound makes an unmapped major
|
|
64
|
+
// fail loudly (see resolveCloudflareAdapterRange) until a row is added for it.
|
|
65
|
+
{ astroRange: '>=7.2.0 <8.0.0', adapterRange: '^14.2.0' },
|
|
66
|
+
{ astroRange: '>=7.0.0 <7.2.0', adapterRange: '>=14.1.7 <14.2.0' },
|
|
67
|
+
{ astroRange: '>=6.0.0 <7.0.0', adapterRange: '^13.3.1' },
|
|
68
|
+
];
|
|
69
|
+
/**
|
|
70
|
+
* Resolve the compatible `@astrojs/cloudflare` range for a declared Astro version.
|
|
71
|
+
*
|
|
72
|
+
* Matches the first table row the Astro version's floor satisfies. Throws when
|
|
73
|
+
* the version is unparseable or outside every known line, so a builder fails
|
|
74
|
+
* loudly rather than silently installing an unbounded adapter.
|
|
75
|
+
*
|
|
76
|
+
* @param declaredAstroVersion The `astro` spec from package.json (e.g. `^7.0.0`).
|
|
77
|
+
*/
|
|
78
|
+
function resolveCloudflareAdapterRange(declaredAstroVersion) {
|
|
79
|
+
const coerced = declaredAstroVersion ? semver.coerce(declaredAstroVersion) : null;
|
|
80
|
+
if (!coerced) {
|
|
81
|
+
throw new errors_1.FrameworkValidationError(`Cannot resolve a @astrojs/cloudflare version: unrecognized Astro version "${declaredAstroVersion ?? '(absent)'}".`, {
|
|
82
|
+
remediation: 'Pin a concrete Astro version, e.g.: npm install astro@^7.0.0',
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
const row = exports.CLOUDFLARE_ADAPTER_TABLE.find((candidate) => semver.satisfies(coerced, candidate.astroRange));
|
|
86
|
+
if (!row) {
|
|
87
|
+
throw new errors_1.FrameworkValidationError(`No @astrojs/cloudflare mapping for Astro ${coerced.version}. Add a row to CLOUDFLARE_ADAPTER_TABLE.`, {
|
|
88
|
+
remediation: 'This Astro version is outside the range this builder supports. Pin a supported Astro major, or update CLOUDFLARE_ADAPTER_TABLE.',
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return row.adapterRange;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=resolve-cloudflare-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-cloudflare-adapter.js","sourceRoot":"","sources":["../../../../src/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,sEA2BC;AA9ED,+CAAiC;AAEjC,yCAAwD;AAUxD;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,wBAAwB,GAAgC;IACnE,kFAAkF;IAClF,oFAAoF;IACpF,oFAAoF;IACpF,+EAA+E;IAC/E,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE;IACzD,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE;IAClE,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE;CAC1D,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAAC,oBAAwC;IACpF,MAAM,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iCAAwB,CAChC,6EACE,oBAAoB,IAAI,UAC1B,IAAI,EACJ;YACE,WAAW,EAAE,8DAA8D;SAC5E,CACF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,gCAAwB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACtD,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAChD,CAAC;IACF,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,iCAAwB,CAChC,4CAA4C,OAAO,CAAC,OAAO,0CAA0C,EACrG;YACE,WAAW,EACT,iIAAiI;SACpI,CACF,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,YAAY,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FrameworkBuilder } from '../base';
|
|
2
|
+
import type { BuildOutput, FrameworkInfo, PackageJson, WebflowJson, DetectionResult, AdapterPackage, IntegrationPackage, WebflowLoaderConfig, NodeVersionRequirement } from '../types';
|
|
3
|
+
export declare class Astro5Builder extends FrameworkBuilder {
|
|
4
|
+
static frameworkName: string;
|
|
5
|
+
get info(): FrameworkInfo;
|
|
6
|
+
getFrameworkVersion(): string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Detect if this is an Astro 5 (or older) project.
|
|
9
|
+
*
|
|
10
|
+
* Version is always determined from package.json, not webflow.json.
|
|
11
|
+
* Astro6Builder is checked first in the registry, so Astro 6+ projects won't
|
|
12
|
+
* reach this builder.
|
|
13
|
+
*/
|
|
14
|
+
static detect(packageJson: PackageJson, webflowJson?: WebflowJson): DetectionResult;
|
|
15
|
+
validate(): Promise<void>;
|
|
16
|
+
getCloudflareAdapter(): AdapterPackage;
|
|
17
|
+
getRequiredIntegrations(): IntegrationPackage[];
|
|
18
|
+
installDependencies(): Promise<void>;
|
|
19
|
+
getWebflowLoader(): WebflowLoaderConfig;
|
|
20
|
+
getUserConfigPatterns(): string[];
|
|
21
|
+
getWranglerTemplatePath(): string;
|
|
22
|
+
getAdditionalConfigFiles(): string[];
|
|
23
|
+
prepareConfig(): Promise<void>;
|
|
24
|
+
getBuildCommand(): string;
|
|
25
|
+
getNodeVersionRequirement(): NodeVersionRequirement;
|
|
26
|
+
static getOutputDeployMetadata(): BuildOutput;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=astro5.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astro5.d.ts","sourceRoot":"","sources":["../../../src/frameworks/astro/astro5.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAelB,qBAAa,aAAc,SAAQ,gBAAgB;IACjD,OAAgB,aAAa,SAAW;IAMxC,IAAI,IAAI,IAAI,aAAa,CAOxB;IAEQ,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAQlD;;;;;;OAMG;WACa,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,eAAe;IAgCtF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C/B,oBAAoB,IAAI,cAAc;IAOtC,uBAAuB,IAAI,kBAAkB,EAAE;IAUzC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC1C,gBAAgB,IAAI,mBAAmB;IAQvC,qBAAqB,IAAI,MAAM,EAAE;IAIjC,uBAAuB,IAAI,MAAM;IAIjC,wBAAwB,IAAI,MAAM,EAAE;IAS9B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkEpC,eAAe,IAAI,MAAM;IAIzB,yBAAyB,IAAI,sBAAsB;WAWnC,uBAAuB,IAAI,WAAW;CAUvD"}
|