@webflow/cloud-app 0.1.0-beta.8 → 0.1.0

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.
Files changed (58) hide show
  1. package/README.md +20 -51
  2. package/dist/bindings.d.ts +5 -0
  3. package/dist/bindings.d.ts.map +1 -1
  4. package/dist/bindings.js +10 -4
  5. package/dist/bindings.js.map +1 -1
  6. package/dist/compat-date.d.ts +68 -0
  7. package/dist/compat-date.d.ts.map +1 -0
  8. package/dist/compat-date.js +169 -0
  9. package/dist/compat-date.js.map +1 -0
  10. package/dist/diagnostics.d.ts +23 -0
  11. package/dist/diagnostics.d.ts.map +1 -0
  12. package/dist/diagnostics.js +31 -0
  13. package/dist/diagnostics.js.map +1 -0
  14. package/dist/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.d.ts +3 -3
  15. package/dist/frameworks/astro/adapter-patches/assert-adapter-nested-under-mount.js +3 -3
  16. package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.d.ts +34 -0
  17. package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.d.ts.map +1 -0
  18. package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.js +89 -0
  19. package/dist/frameworks/astro/adapter-patches/ensure-compatible-cloudflare-adapter.js.map +1 -0
  20. package/dist/frameworks/astro/adapter-patches/ensure-fixed-cloudflare-adapter.d.ts +2 -2
  21. package/dist/frameworks/astro/adapter-patches/ensure-fixed-cloudflare-adapter.js +2 -2
  22. package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.d.ts +39 -0
  23. package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.d.ts.map +1 -0
  24. package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.js +93 -0
  25. package/dist/frameworks/astro/adapter-patches/resolve-cloudflare-adapter.js.map +1 -0
  26. package/dist/frameworks/astro/astro6.d.ts.map +1 -1
  27. package/dist/frameworks/astro/astro6.js +11 -9
  28. package/dist/frameworks/astro/astro6.js.map +1 -1
  29. package/dist/frameworks/astro/astro7.d.ts.map +1 -1
  30. package/dist/frameworks/astro/astro7.js +12 -9
  31. package/dist/frameworks/astro/astro7.js.map +1 -1
  32. package/dist/frameworks/astro/session-check.d.ts +27 -0
  33. package/dist/frameworks/astro/session-check.d.ts.map +1 -0
  34. package/dist/frameworks/astro/session-check.js +173 -0
  35. package/dist/frameworks/astro/session-check.js.map +1 -0
  36. package/dist/frameworks/astro/templates/astro.config.webflow.ts +86 -1
  37. package/dist/frameworks/astro/templates/v5/webflow-loader.ts +4 -1
  38. package/dist/frameworks/astro/templates/v6/webflow-loader.ts +4 -1
  39. package/dist/frameworks/astro/templates/v7/webflow-loader.ts +4 -1
  40. package/dist/frameworks/static/templates/wrangler.json +2 -1
  41. package/dist/index.d.ts +5 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +18 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/pipeline.d.ts.map +1 -1
  46. package/dist/pipeline.js +20 -1
  47. package/dist/pipeline.js.map +1 -1
  48. package/dist/static-base-href.d.ts +31 -0
  49. package/dist/static-base-href.d.ts.map +1 -0
  50. package/dist/static-base-href.js +183 -0
  51. package/dist/static-base-href.js.map +1 -0
  52. package/dist/types.d.ts +5 -0
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/wrangler.d.ts +5 -2
  55. package/dist/wrangler.d.ts.map +1 -1
  56. package/dist/wrangler.js +135 -7
  57. package/dist/wrangler.js.map +1 -1
  58. package/package.json +4 -4
@@ -0,0 +1,183 @@
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.staticBaseHref = staticBaseHref;
37
+ exports.injectBaseHref = injectBaseHref;
38
+ exports.injectBaseHrefIntoTree = injectBaseHrefIntoTree;
39
+ /**
40
+ * Mount-aware `<base href>` injection for no-framework static apps.
41
+ *
42
+ * A static app's HTML is served verbatim — nothing rewrites its URLs. When the
43
+ * app is mounted under a path (e.g. `/docs`), a relative reference like
44
+ * `<link href="styles.css">` resolves against the *request* URL, not the asset
45
+ * location: the index served slash-less at `/docs` resolves it to `/styles.css`
46
+ * (404) instead of `/docs/styles.css`. Framework apps avoid this because the
47
+ * framework bakes the mount into its asset URLs as a `base`/`basePath`; a static
48
+ * app has no build step to do that, so the engine injects the base at copy time.
49
+ *
50
+ * Each document gets a `<base>` pointing at ITS OWN directory within the mount,
51
+ * so relative URLs resolve exactly as a browser would against that document's
52
+ * location: the root `index.html` and a root `404.html` get `/docs/`, while a
53
+ * sub-page `about/index.html` gets `/docs/about/`. This fixes the slash-less
54
+ * mount-root case without changing how a sub-page resolves `./img.png`.
55
+ */
56
+ const fs = __importStar(require("node:fs"));
57
+ const path = __importStar(require("node:path"));
58
+ const HTML_FILE = /\.html?$/i;
59
+ /** Byte spans of `<!-- ... -->` comments, so tag matching can skip them. */
60
+ function commentRanges(html) {
61
+ const ranges = [];
62
+ const re = /<!--[\s\S]*?-->/g;
63
+ let m;
64
+ while ((m = re.exec(html)) !== null) {
65
+ ranges.push([m.index, m.index + m[0].length]);
66
+ }
67
+ return ranges;
68
+ }
69
+ /** First match of `re` (must be global) whose start is outside every comment. */
70
+ function matchOutsideComments(html, re, comments) {
71
+ re.lastIndex = 0;
72
+ let m;
73
+ while ((m = re.exec(html)) !== null) {
74
+ const i = m.index;
75
+ if (!comments.some(([s, e]) => i >= s && i < e)) {
76
+ return m;
77
+ }
78
+ }
79
+ return null;
80
+ }
81
+ /**
82
+ * The `<base>` href for a static app served under `prefix` (the mount / asset
83
+ * path prefix) and an optional document sub-directory, or `null` for a root
84
+ * mount, where relative URLs already resolve correctly and no base is needed.
85
+ * Always a single leading + trailing slash so relative URLs resolve against
86
+ * that directory; each segment is percent-encoded so a space/unicode mount
87
+ * yields a valid URL matching the served (encoded) asset path.
88
+ */
89
+ function staticBaseHref(prefix, subDir = '') {
90
+ const encode = (p) => p.split('/').filter(Boolean).map(encodeURIComponent).join('/');
91
+ const mount = encode(prefix);
92
+ if (!mount) {
93
+ return null;
94
+ }
95
+ const sub = encode(subDir);
96
+ return sub ? `/${mount}/${sub}/` : `/${mount}/`;
97
+ }
98
+ /**
99
+ * Insert `<base href>` into one HTML document, ignoring any match inside an HTML
100
+ * comment. Returns the input unchanged when the document already declares a real
101
+ * `<base href>` (the author's wins) — a bare `<base target>`, a `<base-card>`
102
+ * custom element, or a commented-out `<base>` do not count. The tag goes
103
+ * immediately after the opening `<head>` so it precedes any URL-bearing element;
104
+ * a document with no `<head>`/`<html>` gets a minimal `<head>` wrapper after any
105
+ * leading doctype, so the base never precedes the doctype (quirks mode).
106
+ */
107
+ function injectBaseHref(html, baseHref) {
108
+ const comments = commentRanges(html);
109
+ if (matchOutsideComments(html, /<base\b[^>]*\bhref\s*=/gi, comments)) {
110
+ return html;
111
+ }
112
+ const tag = `<base href="${baseHref}" />`;
113
+ const head = matchOutsideComments(html, /<head\b[^>]*>/gi, comments);
114
+ if (head) {
115
+ const at = head.index + head[0].length;
116
+ return `${html.slice(0, at)}\n ${tag}${html.slice(at)}`;
117
+ }
118
+ const htmlTag = matchOutsideComments(html, /<html\b[^>]*>/gi, comments);
119
+ if (htmlTag) {
120
+ const at = htmlTag.index + htmlTag[0].length;
121
+ return `${html.slice(0, at)}\n <head>${tag}</head>${html.slice(at)}`;
122
+ }
123
+ const doctype = matchOutsideComments(html, /<!doctype\b[^>]*>/gi, comments);
124
+ if (doctype) {
125
+ const at = doctype.index + doctype[0].length;
126
+ return `${html.slice(0, at)}\n<head>${tag}</head>${html.slice(at)}`;
127
+ }
128
+ return `<head>${tag}</head>\n${html}`;
129
+ }
130
+ /**
131
+ * Inject a document-relative `<base>` into every `.html`/`.htm` file under
132
+ * `dir`, where `prefix` is the mount / asset-path prefix the tree is served
133
+ * under. Each file's base points at its own sub-directory within the mount.
134
+ * Files are read and written as binary (`latin1`) so non-UTF-8 content survives
135
+ * the round-trip untouched (the injected tag is ASCII). Symlinks are not
136
+ * followed (matches the asset copy policy). A root mount (`/`) is a no-op.
137
+ * Returns the number of files changed.
138
+ */
139
+ function injectBaseHrefIntoTree(log, dir, prefix) {
140
+ if (staticBaseHref(prefix) === null) {
141
+ return 0;
142
+ }
143
+ let changed = 0;
144
+ const walk = (d, rel) => {
145
+ let entries;
146
+ try {
147
+ entries = fs.readdirSync(d, { withFileTypes: true });
148
+ }
149
+ catch (error) {
150
+ // The tree was just written by the copy step, so a read failure here is
151
+ // abnormal — surface it rather than silently shipping unstyled pages.
152
+ log.warn(`could not read ${d} while injecting <base>: ${String(error)}`);
153
+ return;
154
+ }
155
+ for (const entry of entries) {
156
+ const p = path.join(d, entry.name);
157
+ if (entry.isSymbolicLink()) {
158
+ continue;
159
+ }
160
+ if (entry.isDirectory()) {
161
+ walk(p, rel ? `${rel}/${entry.name}` : entry.name);
162
+ continue;
163
+ }
164
+ if (!entry.isFile() || !HTML_FILE.test(entry.name)) {
165
+ continue;
166
+ }
167
+ const baseHref = staticBaseHref(prefix, rel);
168
+ if (!baseHref) {
169
+ continue;
170
+ }
171
+ const html = fs.readFileSync(p, 'latin1');
172
+ const next = injectBaseHref(html, baseHref);
173
+ if (next !== html) {
174
+ fs.writeFileSync(p, next, 'latin1');
175
+ changed++;
176
+ log.debug(`injected <base href="${baseHref}"> into ${p}`);
177
+ }
178
+ }
179
+ };
180
+ walk(dir, '');
181
+ return changed;
182
+ }
183
+ //# sourceMappingURL=static-base-href.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-base-href.js","sourceRoot":"","sources":["../src/static-base-href.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -34,6 +34,11 @@ export interface BuildOptions {
34
34
  deployUrl?: string;
35
35
  /** Framework override; normally read from `webflow.json#cloud.framework`. */
36
36
  frameworkHint?: Framework;
37
+ /**
38
+ * Settle the worker's `compatibility_date` at build and record it for the deploy (see
39
+ * compat-date.ts). Off by default: the template date is used unchanged.
40
+ */
41
+ compatDatePolicy?: boolean;
37
42
  /** Extra environment variables made available to the build. */
38
43
  env?: Record<string, string>;
39
44
  /** Host-injected ports. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhG,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,SAAS,EAAE,SAAS,CAAC;IACrB,uEAAuE;IACvE,cAAc,EAAE,cAAc,CAAC;IAC/B,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,EAAE,aAAa,CAAC;IAC3B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,SAAS,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhG,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,SAAS,EAAE,SAAS,CAAC;IACrB,uEAAuE;IACvE,cAAc,EAAE,cAAc,CAAC;IAC/B,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,EAAE,aAAa,CAAC;IAC3B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,SAAS,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
@@ -183,10 +183,13 @@ export declare function loadWranglerJson(log: Logger, cwd: string, file?: string
183
183
  * `builder.prepareConfig()`; frameworks must not touch the file.
184
184
  *
185
185
  * 1. Save user `wrangler.{json,jsonc}` as `clouduser.wrangler.json`.
186
- * 2. Copy `builder.getWranglerTemplatePath()` over `wrangler.json`.
186
+ * 2. Copy `builder.getWranglerTemplatePath()` over `wrangler.json`, then settle its
187
+ * `compatibility_date` (see compat-date.ts) so the build bundles at it.
187
188
  * 3. Merge user `kv_namespaces` / `r2_buckets` / `d1_databases` into it.
188
189
  * 4. Copy D1 migrations dirs into `clouduser/migrations/<dir>`.
189
190
  */
190
- export declare function handleWranglerJson(log: Logger, builder: FrameworkBuilder, cwd: string): void;
191
+ export declare function handleWranglerJson(log: Logger, builder: FrameworkBuilder, cwd: string, opts?: {
192
+ compatDatePolicy?: boolean;
193
+ }): void;
191
194
  export {};
192
195
  //# sourceMappingURL=wrangler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../src/wrangler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAW1D,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoDR,CAAC;AAEjB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAwB,GAC7B,YAAY,GAAG,SAAS,CA+B1B;AAOD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAmI5F"}
1
+ {"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../src/wrangler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAgB1D,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoDR,CAAC;AAEjB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AA+H9D,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAwB,GAC7B,YAAY,GAAG,SAAS,CA+B1B;AAOD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,IAAI,CA+JN"}
package/dist/wrangler.js CHANGED
@@ -54,9 +54,14 @@ const zod_1 = require("zod");
54
54
  const jsonc = __importStar(require("jsonc-parser"));
55
55
  const utils_1 = require("./utils");
56
56
  const webflow_json_1 = require("./config/webflow-json");
57
+ const compat_date_1 = require("./compat-date");
58
+ const errors_1 = require("./frameworks/errors");
59
+ const session_check_1 = require("./frameworks/astro/session-check");
60
+ const diagnostics_1 = require("./diagnostics");
57
61
  const bindings_1 = require("./bindings");
58
- // Schema covers all wrangler.json variants we read: user source and framework
59
- // template. `main` is optional because the user's source may omit it.
62
+ // Strict schema for the framework template and generated files; the user's
63
+ // source uses `userWranglerJsonSchema` below. `main` is optional because the
64
+ // user's source may omit it.
60
65
  const wranglerJsonSchema = zod_1.z
61
66
  .object({
62
67
  name: zod_1.z.string(),
@@ -104,6 +109,102 @@ const wranglerJsonSchema = zod_1.z
104
109
  .default([]),
105
110
  })
106
111
  .passthrough();
112
+ // The user's source config (and its clouduser.wrangler.json backup). KV `id` and
113
+ // D1 `database_id` are optional here: the deployer provisions each resource and
114
+ // writes the real id, so the user's value is a placeholder. `placement.mode`
115
+ // takes any string: wrangler also accepts "off", and a schema mismatch here fails
116
+ // the build. `assets.directory` is optional: the Cloudflare Vite plugin fills it
117
+ // in, and the build takes `assets` from the template, not from this file.
118
+ // Template and generated files keep the strict schema above.
119
+ const userWranglerJsonSchema = wranglerJsonSchema.extend({
120
+ assets: zod_1.z
121
+ .object({
122
+ directory: zod_1.z.string().optional(),
123
+ binding: zod_1.z.string().optional(),
124
+ })
125
+ .passthrough()
126
+ .optional(),
127
+ placement: zod_1.z
128
+ .object({
129
+ mode: zod_1.z.string(),
130
+ })
131
+ .passthrough()
132
+ .optional(),
133
+ d1_databases: zod_1.z
134
+ .array(zod_1.z
135
+ .object({
136
+ database_name: zod_1.z.string(),
137
+ database_id: zod_1.z.string().optional(),
138
+ binding: zod_1.z.string(),
139
+ migrations_dir: zod_1.z.string().optional(),
140
+ })
141
+ .passthrough())
142
+ .default([]),
143
+ kv_namespaces: zod_1.z
144
+ .array(zod_1.z
145
+ .object({
146
+ binding: zod_1.z.string(),
147
+ id: zod_1.z.string().optional(),
148
+ })
149
+ .passthrough())
150
+ .default([]),
151
+ });
152
+ // Wrangler itself accepts comments and trailing commas in both wrangler.json and
153
+ // wrangler.jsonc, so only real syntax errors count. jsonc.parse never throws: it
154
+ // repairs what it can and reports the rest through `errors`.
155
+ function parseJsonc(raw) {
156
+ const errors = [];
157
+ const value = jsonc.parse(raw, errors, { allowTrailingComma: true });
158
+ const problems = errors.map((e) => {
159
+ const before = raw.slice(0, e.offset).split('\n');
160
+ const line = before.length;
161
+ const column = before[before.length - 1].length + 1;
162
+ return `line ${line}, column ${column}: ${jsonc.printParseErrorCode(e.error)}`;
163
+ });
164
+ return { value, problems };
165
+ }
166
+ function formatZodIssues(error) {
167
+ return error.issues.map((issue) => {
168
+ const fieldPath = issue.path.reduce((acc, part) => typeof part === 'number' ? `${acc}[${part}]` : acc ? `${acc}.${part}` : String(part), '');
169
+ return fieldPath ? `${fieldPath}: ${issue.message}` : issue.message;
170
+ });
171
+ }
172
+ // Reads the user's wrangler config, telling "no file" (most apps) apart from
173
+ // "file present but invalid", which must fail the build rather than silently
174
+ // drop every storage binding.
175
+ function readUserWranglerJson(cwd, file) {
176
+ const filePath = path.join(cwd, file);
177
+ if (!fs.statSync(filePath, { throwIfNoEntry: false })) {
178
+ return { kind: 'absent' };
179
+ }
180
+ const { value, problems } = parseJsonc(fs.readFileSync(filePath, 'utf8'));
181
+ if (problems.length > 0) {
182
+ return { kind: 'invalid', filePath, problems };
183
+ }
184
+ const result = userWranglerJsonSchema.safeParse(value);
185
+ if (!result.success) {
186
+ return { kind: 'invalid', filePath, problems: formatZodIssues(result.error) };
187
+ }
188
+ return { kind: 'valid', filePath, config: result.data };
189
+ }
190
+ function invalidUserWranglerJsonError(filePath, problems) {
191
+ const file = path.basename(filePath);
192
+ // Hosts that log only `message` still show the fields and the fix, so both go
193
+ // in the message itself; `remediation` adds the hint on top. The first line is
194
+ // a WRANGLER_JSON_INVALID diagnostic, the same as cosmic-builder's.
195
+ return new errors_1.FrameworkValidationError((0, diagnostics_1.formatDiagnostic)({
196
+ level: 'error',
197
+ code: diagnostics_1.DiagnosticCode.WRANGLER_JSON_INVALID,
198
+ message: `${file} is invalid, so its storage bindings (kv_namespaces, d1_databases, r2_buckets) cannot be applied.`,
199
+ fix: `correct the problems below in ${file} and redeploy.`,
200
+ }) +
201
+ '\n' +
202
+ problems.map((p) => ` - ${p}`).join('\n') +
203
+ `\nRequired fields: name, compatibility_date; ` +
204
+ `kv_namespaces[].binding; d1_databases[].binding and database_name; r2_buckets[].binding and bucket_name.`, {
205
+ remediation: 'The platform provisions the KV namespace and D1 database ids at deploy time, so `id` and `database_id` can be omitted.',
206
+ });
207
+ }
107
208
  function loadWranglerJson(log, cwd, file = 'wrangler.json') {
108
209
  const filePath = path.join(cwd, file);
109
210
  if (!fs.statSync(filePath, { throwIfNoEntry: false })) {
@@ -143,11 +244,12 @@ function hasLegacyBindings(w) {
143
244
  * `builder.prepareConfig()`; frameworks must not touch the file.
144
245
  *
145
246
  * 1. Save user `wrangler.{json,jsonc}` as `clouduser.wrangler.json`.
146
- * 2. Copy `builder.getWranglerTemplatePath()` over `wrangler.json`.
247
+ * 2. Copy `builder.getWranglerTemplatePath()` over `wrangler.json`, then settle its
248
+ * `compatibility_date` (see compat-date.ts) so the build bundles at it.
147
249
  * 3. Merge user `kv_namespaces` / `r2_buckets` / `d1_databases` into it.
148
250
  * 4. Copy D1 migrations dirs into `clouduser/migrations/<dir>`.
149
251
  */
150
- function handleWranglerJson(log, builder, cwd) {
252
+ function handleWranglerJson(log, builder, cwd, opts = {}) {
151
253
  // Find the user's wrangler config (prefer .json, fall back to .jsonc).
152
254
  let originalFilePath = null;
153
255
  const jsonPath = path.join(cwd, 'wrangler.json');
@@ -158,9 +260,18 @@ function handleWranglerJson(log, builder, cwd) {
158
260
  else if (fs.statSync(jsoncPath, { throwIfNoEntry: false })) {
159
261
  originalFilePath = jsoncPath;
160
262
  }
161
- const legacyUserWrangler = originalFilePath
162
- ? loadWranglerJson(log, cwd, path.basename(originalFilePath))
163
- : undefined;
263
+ // An invalid file fails the build even when webflow.json declares the
264
+ // bindings: `main` and `compatibility_date` still come from it.
265
+ const userResult = originalFilePath
266
+ ? readUserWranglerJson(cwd, path.basename(originalFilePath))
267
+ : { kind: 'absent' };
268
+ if (userResult.kind === 'invalid') {
269
+ throw invalidUserWranglerJsonError(userResult.filePath, userResult.problems);
270
+ }
271
+ const legacyUserWrangler = userResult.kind === 'valid' ? userResult.config : undefined;
272
+ if (legacyUserWrangler) {
273
+ log.debug(`loaded ${originalFilePath}: ${JSON.stringify(legacyUserWrangler)}`);
274
+ }
164
275
  // Bindings declared in webflow.json (the canonical, user-facing surface) take
165
276
  // precedence over a legacy user wrangler.json. Synthesize the same binding
166
277
  // bridge from them so the rest of this function — and the deployer — are
@@ -182,6 +293,18 @@ function handleWranglerJson(log, builder, cwd) {
182
293
  else {
183
294
  userProvided = legacyUserWrangler;
184
295
  }
296
+ // Warning only: never fails the build and never provisions (detection is a heuristic).
297
+ const sessionWarning = (0, session_check_1.astroSessionBindingWarning)({
298
+ framework: builder.info.name,
299
+ cwd,
300
+ configFile: originalFilePath ? path.basename(originalFilePath) : undefined,
301
+ kvNamespaces: userProvided?.kv_namespaces ?? [],
302
+ // webflow.json bindings replace wrangler's kv_namespaces, so the fix must name it.
303
+ bindingsSource: (0, bindings_1.hasAnyBindings)(webflowBindings) ? 'webflow.json' : 'wrangler',
304
+ });
305
+ if (sessionWarning) {
306
+ log.warn(sessionWarning);
307
+ }
185
308
  // Step 1: save the parsed user config as clouduser.wrangler.json. We always
186
309
  // normalize to .json — even when the source is .jsonc — because every
187
310
  // downstream consumer hardcodes that path. Comments in the user's .jsonc are
@@ -199,6 +322,11 @@ function handleWranglerJson(log, builder, cwd) {
199
322
  }
200
323
  log.info(`copying wrangler template for ${builder.info.name} to ${targetPath}`);
201
324
  fs.copyFileSync(templatePath, targetPath);
325
+ // The user's own date comes from their wrangler.json, never from the webflow.json bindings
326
+ // bridge (whose date is a placeholder).
327
+ (0, compat_date_1.applyCompatDateAtBuild)(log, cwd, legacyUserWrangler?.compatibility_date, {
328
+ policyEnabled: opts.compatDatePolicy,
329
+ });
202
330
  if (!userProvided) {
203
331
  log.debug('no user-provided wrangler.json found, skipping binding merge and migrations');
204
332
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"wrangler.js","sourceRoot":"","sources":["../src/wrangler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrangler.js","sourceRoot":"","sources":["../src/wrangler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webflow/cloud-app",
3
- "version": "0.1.0-beta.8",
3
+ "version": "0.1.0",
4
4
  "description": "Build a JS framework app (Vite, Next.js, Astro) into a Webflow Cloud (Cloudflare Workers) bundle. Framework detection, adapter injection, and config generation are handled for you — declare what you need in webflow.json and nothing else.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,14 +35,14 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/jest": "^30.0.0",
38
- "@types/node": "^20.0.0",
38
+ "@types/node": "^22.13.0",
39
39
  "@types/semver": "^7.5.8",
40
40
  "jest": "^30.0.3",
41
- "ts-jest": "^29.4.0",
41
+ "jest-config-custom": "*",
42
42
  "tsconfig": "*",
43
43
  "typescript": "^5"
44
44
  },
45
45
  "engines": {
46
- "node": ">=20"
46
+ "node": ">=22.13.0"
47
47
  }
48
48
  }