ugly-app 0.1.941 → 0.1.943

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/README.md CHANGED
@@ -906,6 +906,33 @@ nothing serves. Configure in `.uglyapp`:
906
906
  Dev serves the same files off disk at same-origin, so a newly added asset works
907
907
  before it has ever been published.
908
908
 
909
+ ### `hostBundle` — serve the vite bundle from the CDN too
910
+
911
+ ```json
912
+ "staticAssets": { "hostBundle": true }
913
+ ```
914
+
915
+ Opt-in. Publish provisions `static.<zone>` (or `<app>-static.<zone>` for a
916
+ subdomain app), persists the `baseUrl`, and vite then emits every asset URL
917
+ against it. Because the URLs are content-addressed rather than build-id
918
+ prefixed, a byte-identical chunk keeps its URL across deploys — so returning
919
+ users re-download only what actually changed, and each deploy uploads a
920
+ handful of KB instead of the whole bundle.
921
+
922
+ The first deploy only provisions; the bundle moves to the CDN on the next one.
923
+ That is deliberate — a single pass would point the bundle at a hostname whose
924
+ TLS certificate may not have issued yet.
925
+
926
+ **Workers are handled for you, but know why.** The bundle is then cross-origin,
927
+ and `new Worker(url)` *rejects a cross-origin script URL outright* — that is
928
+ structural, and no CORS or CORP header lifts it. `bootstrapApp` installs a
929
+ shim that routes such URLs through a same-origin `blob:` importing the real
930
+ script, so `new Worker(new URL('./x.worker.ts', import.meta.url))` keeps
931
+ working. `SharedWorker` is **not** shimmed: every blob URL is unique, so the
932
+ same trick would give each caller a private worker and break sharing. Register
933
+ service workers by root-absolute path (`/sw.js`) — `register()` resolves
934
+ against the document, so those stay same-origin.
935
+
909
936
  ---
910
937
 
911
938
  ## Workers & cron
@@ -106,5 +106,24 @@ export declare function keepRootFilesSameOrigin(html: string, cdnBase: string |
106
106
  * data:/blob:, the PWA manifest which the worker synthesises).
107
107
  */
108
108
  export declare function stagedPathForUrl(url: string, buildId: string, cdnBase: string | null): string | null;
109
+ /**
110
+ * Check that everything the document references has a staged file behind it.
111
+ *
112
+ * Two very different failures look identical here, and only one is worth
113
+ * blocking a deploy:
114
+ *
115
+ * DRIFT — the file IS in `dist/client` but was not staged. The URL-emitting
116
+ * step (vite's `base`) and the staging step disagree, so EVERY asset 404s
117
+ * while the deploy reports success. This is the bug that took ugly.chat
118
+ * down; it is fatal.
119
+ *
120
+ * DANGLING — the file is not in `dist/client` either. The app references
121
+ * something it never built (ugly-meal's `/icon.png`: present in
122
+ * `client/public/`, never copied to the output, and 404 in production long
123
+ * before any of this). Nothing about staging is wrong, and failing the
124
+ * build would make a long-standing cosmetic 404 suddenly undeployable —
125
+ * so warn, loudly, and let the deploy through.
126
+ */
127
+ export declare function assertStagedReferences(html: string, r2UploadDir: string, clientDir: string, buildId: string, cdnBase: string | null): void;
109
128
  export {};
110
129
  //# sourceMappingURL=buildWorkers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildWorkers.d.ts","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA2CH,UAAU,mBAAmB;IAC3B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,eAAe,CACnC,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CA4O7B;AAkDD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,GACP,MAAM,CA2DR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,GACP,MAAM,CAgCR;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAgC3E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,MAAM,GAAG,IAAI,CAoBf"}
1
+ {"version":3,"file":"buildWorkers.d.ts","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA2CH,UAAU,mBAAmB;IAC3B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,eAAe,CACnC,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAkP7B;AAkDD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,GACP,MAAM,CA2DR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,GACP,MAAM,CAgCR;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAgC3E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,MAAM,GAAG,IAAI,CAoBf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,IAAI,CAkCN"}
@@ -150,7 +150,7 @@ export async function runBuildWorkers(opts = {}) {
150
150
  // The emitted URLs and the staged keys are produced by two different code
151
151
  // paths (vite's `base`, and the staging above), and when they disagree the
152
152
  // symptom is a 404 on every asset with a deploy that reports success.
153
- assertStagedReferences(rewrittenHtml, r2UploadDir, buildId, cdnBase);
153
+ assertStagedReferences(rewrittenHtml, r2UploadDir, clientDir, buildId, cdnBase);
154
154
  // ── PWA web manifest — baked here (the Worker can't read `.uglyapp` at
155
155
  // runtime) and threaded into the wrapper below; served at /manifest.webmanifest.
156
156
  const webManifest = buildWebManifest(cfg);
@@ -462,25 +462,54 @@ export function stagedPathForUrl(url, buildId, cdnBase) {
462
462
  : `builds/${buildId}/${rest}`;
463
463
  }
464
464
  /**
465
- * Fail the build when the document points at something we did not stage.
466
- * This is the guard for the class of bug where the URL-emitting step and the
467
- * file-staging step drift apart — the deploy succeeds and the app is dead.
465
+ * Check that everything the document references has a staged file behind it.
466
+ *
467
+ * Two very different failures look identical here, and only one is worth
468
+ * blocking a deploy:
469
+ *
470
+ * DRIFT — the file IS in `dist/client` but was not staged. The URL-emitting
471
+ * step (vite's `base`) and the staging step disagree, so EVERY asset 404s
472
+ * while the deploy reports success. This is the bug that took ugly.chat
473
+ * down; it is fatal.
474
+ *
475
+ * DANGLING — the file is not in `dist/client` either. The app references
476
+ * something it never built (ugly-meal's `/icon.png`: present in
477
+ * `client/public/`, never copied to the output, and 404 in production long
478
+ * before any of this). Nothing about staging is wrong, and failing the
479
+ * build would make a long-standing cosmetic 404 suddenly undeployable —
480
+ * so warn, loudly, and let the deploy through.
468
481
  */
469
- function assertStagedReferences(html, r2UploadDir, buildId, cdnBase) {
470
- const missing = [];
482
+ export function assertStagedReferences(html, r2UploadDir, clientDir, buildId, cdnBase) {
483
+ const drift = [];
484
+ const dangling = [];
471
485
  for (const m of html.matchAll(/\s(?:src|href)="([^"]+)"/g)) {
472
486
  const url = m[1];
473
487
  const rel = stagedPathForUrl(url, buildId, cdnBase);
474
488
  if (!rel)
475
489
  continue;
476
- if (!existsSync(path.join(r2UploadDir, ...rel.split('/')))) {
477
- missing.push(`${url} → expected ${rel}`);
490
+ if (existsSync(path.join(r2UploadDir, ...rel.split('/'))))
491
+ continue;
492
+ // `rel` is `builds/<id>/<p>` or `static/<p>`; `<p>` is the client-dir path.
493
+ const p = rel.replace(/^builds\/[^/]+\//, '').replace(/^static\//, '');
494
+ if (existsSync(path.join(clientDir, ...p.split('/')))) {
495
+ drift.push(`${url} → expected ${rel}`);
478
496
  }
497
+ else {
498
+ dangling.push(url);
499
+ }
500
+ }
501
+ if (dangling.length) {
502
+ // eslint-disable-next-line no-console
503
+ console.warn(`[build:workers] the document references ${dangling.length} file(s) that ` +
504
+ `the client build never produced, so they 404 at runtime:\n ` +
505
+ `${dangling.join('\n ')}\n` +
506
+ ` Not a staging problem — check they exist and are being copied ` +
507
+ `(files in client/public/ land at the site root).`);
479
508
  }
480
- if (missing.length) {
481
- throw new Error(`[build:workers] the document references ${missing.length} asset(s) that ` +
482
- `were not staged for upload — deploying this would 404 every one of ` +
483
- `them:\n ${missing.join('\n ')}\n` +
509
+ if (drift.length) {
510
+ throw new Error(`[build:workers] the document references ${drift.length} asset(s) that ` +
511
+ `were built but not staged for upload — deploying this would 404 ` +
512
+ `every one of them:\n ${drift.join('\n ')}\n` +
484
513
  `This means the emitted URLs and the staged R2 keys disagree.`);
485
514
  }
486
515
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildWorkers.js","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildWorkers.js","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"staticOps.d.ts","sourceRoot":"","sources":["../../../src/cli/publish/staticOps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,iBAAiB,CAAC;AAI3D,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,QAAoB,CAAC;AAYpD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAYf;AA4FD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAYR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAEzE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CA6GR"}
1
+ {"version":3,"file":"staticOps.d.ts","sourceRoot":"","sources":["../../../src/cli/publish/staticOps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,iBAAiB,CAAC;AAI3D,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,QAAoB,CAAC;AAoBpD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAYf;AA4FD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAYR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAEzE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CA2HR"}
@@ -20,11 +20,18 @@ export const REST_PUT_MAX_BYTES = 300 * 1024 * 1024;
20
20
  /** Content-addressed keys never change meaning, so cache them forever. */
21
21
  const IMMUTABLE = 'public, max-age=31536000, immutable';
22
22
  /**
23
- * In-flight DELETEs against the REST object API. High enough that the first GC
24
- * of a long-lived app finishes in minutes rather than hours, low enough not to
25
- * trip Cloudflare's per-token API rate limit (1200 requests / 5 min).
23
+ * In-flight DELETEs against the REST object API, so the first GC of a
24
+ * long-lived app finishes in minutes rather than hours.
25
+ *
26
+ * Chosen empirically. A single app's sweep runs clean at this rate (measured:
27
+ * 8,339 deletes in ~3 min, ~46 req/s, zero 429s), but a fleet-wide rollout —
28
+ * several apps each clearing tens of thousands of objects back to back — DOES
29
+ * get throttled. So the value is paired with 429 retry below rather than being
30
+ * relied on to stay under any limit; raise it only alongside that backoff.
26
31
  */
27
32
  const DELETE_CONCURRENCY = 16;
33
+ /** 429 retries per object before the sweep gives up on it. */
34
+ const DELETE_MAX_RETRIES = 5;
28
35
  /**
29
36
  * Run `fn` over `items` with at most `limit` in flight, preserving fail-fast
30
37
  * semantics: the first rejection propagates once the in-flight work settles.
@@ -212,9 +219,24 @@ export function createApiR2Ops(args) {
212
219
  // objects, which at ~150 ms each is over an hour of wall clock while the
213
220
  // publish appears hung. Run a bounded pool instead.
214
221
  await runPool(keys, DELETE_CONCURRENCY, async (key) => {
215
- const res = await globalThis.fetch(`${base}/objects/${encodeURIComponent(key)}`, { method: 'DELETE', headers: auth });
216
- // A 404 means it is already gone, which is the desired end state.
217
- if (!res.ok && res.status !== 404) {
222
+ for (let attempt = 0;; attempt++) {
223
+ const res = await globalThis.fetch(`${base}/objects/${encodeURIComponent(key)}`, { method: 'DELETE', headers: auth });
224
+ // A 404 means it is already gone, which is the desired end state.
225
+ if (res.ok || res.status === 404)
226
+ return;
227
+ // 429 is the API asking us to slow down, not a failure. Without a
228
+ // retry the FIRST one aborts the whole sweep — measured across a
229
+ // fleet rollout, where several apps each delete tens of thousands
230
+ // of objects back to back and reliably hit the limit. Honour
231
+ // Retry-After when given, else back off exponentially.
232
+ if (res.status === 429 && attempt < DELETE_MAX_RETRIES) {
233
+ const hinted = Number(res.headers.get('retry-after'));
234
+ const waitMs = Number.isFinite(hinted)
235
+ ? hinted * 1000
236
+ : Math.min(2 ** attempt * 500, 8000);
237
+ await new Promise((r) => setTimeout(r, waitMs));
238
+ continue;
239
+ }
218
240
  throw new Error(`r2 delete ${key} failed: ${res.status}`);
219
241
  }
220
242
  });
@@ -1 +1 @@
1
- {"version":3,"file":"staticOps.js","sourceRoot":"","sources":["../../../src/cli/publish/staticOps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staticOps.js","sourceRoot":"","sources":["../../../src/cli/publish/staticOps.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.941";
1
+ export declare const CLI_VERSION = "0.1.943";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.941";
2
+ export const CLI_VERSION = "0.1.943";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ugly-app",
3
3
  "packageManager": "pnpm@10.34.5",
4
- "version": "0.1.941",
4
+ "version": "0.1.943",
5
5
  "type": "module",
6
6
  "comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
7
7
  "files": [
@@ -0,0 +1,112 @@
1
+ import { mkdtempSync, mkdirSync, writeFileSync } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import path from 'node:path';
4
+ import { afterEach, describe, expect, it, vi } from 'vitest';
5
+ import { assertStagedReferences } from './buildWorkers.js';
6
+
7
+ const BUILD = '1785310735107';
8
+
9
+ /** A staging dir + client dir, each pre-populated with the given rel paths. */
10
+ function fixture(staged: string[], built: string[]) {
11
+ const root = mkdtempSync(path.join(tmpdir(), 'staged-'));
12
+ const r2 = path.join(root, 'r2-upload');
13
+ const client = path.join(root, 'dist-client');
14
+ for (const [dir, files] of [
15
+ [r2, staged],
16
+ [client, built],
17
+ ] as const) {
18
+ for (const f of files) {
19
+ const abs = path.join(dir, ...f.split('/'));
20
+ mkdirSync(path.dirname(abs), { recursive: true });
21
+ writeFileSync(abs, 'x');
22
+ }
23
+ mkdirSync(dir, { recursive: true });
24
+ }
25
+ return { r2, client };
26
+ }
27
+
28
+ afterEach(() => vi.restoreAllMocks());
29
+
30
+ describe('assertStagedReferences', () => {
31
+ // DRIFT: vite emitted a URL, staging put the file somewhere else. Every
32
+ // asset 404s while the deploy reports success — the bug that took ugly.chat
33
+ // down. Must be fatal.
34
+ it('throws when a BUILT file was not staged', () => {
35
+ const { r2, client } = fixture([], ['assets/index-Abc.js']);
36
+ expect(() =>
37
+ assertStagedReferences(
38
+ `<script src="/${BUILD}/assets/index-Abc.js"></script>`,
39
+ r2,
40
+ client,
41
+ BUILD,
42
+ null,
43
+ ),
44
+ ).toThrow(/built but not staged/);
45
+ });
46
+
47
+ // DANGLING: ugly-meal references /icon.png, which lives in client/public/
48
+ // but was never copied to the output — a 404 that predates any of this.
49
+ // Failing here would make a cosmetic 404 suddenly undeployable.
50
+ it('warns but does NOT throw when the file was never built', () => {
51
+ const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
52
+ const { r2, client } = fixture([], []);
53
+ expect(() =>
54
+ assertStagedReferences(
55
+ `<link href="/icon.png" rel="icon">`,
56
+ r2,
57
+ client,
58
+ BUILD,
59
+ null,
60
+ ),
61
+ ).not.toThrow();
62
+ expect(warn).toHaveBeenCalledWith(
63
+ expect.stringContaining('never produced'),
64
+ );
65
+ });
66
+
67
+ it('passes silently when everything is staged', () => {
68
+ const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
69
+ const { r2, client } = fixture(
70
+ [`builds/${BUILD}/assets/index-Abc.js`],
71
+ ['assets/index-Abc.js'],
72
+ );
73
+ expect(() =>
74
+ assertStagedReferences(
75
+ `<script src="/${BUILD}/assets/index-Abc.js"></script>`,
76
+ r2,
77
+ client,
78
+ BUILD,
79
+ null,
80
+ ),
81
+ ).not.toThrow();
82
+ expect(warn).not.toHaveBeenCalled();
83
+ });
84
+
85
+ // With hostBundle the staged key is static/<p>, not builds/<id>/<p>.
86
+ it('resolves CDN-based URLs against the static/ prefix', () => {
87
+ const cdn = 'https://meal-static.ugly.bot/static/';
88
+ const { r2, client } = fixture(
89
+ ['static/assets/index-Abc.js'],
90
+ ['assets/index-Abc.js'],
91
+ );
92
+ expect(() =>
93
+ assertStagedReferences(
94
+ `<script src="${cdn}assets/index-Abc.js"></script>`,
95
+ r2,
96
+ client,
97
+ BUILD,
98
+ cdn,
99
+ ),
100
+ ).not.toThrow();
101
+ });
102
+
103
+ // A route link is not an asset; treating it as one fails every SPA build.
104
+ it('ignores extensionless route links', () => {
105
+ const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
106
+ const { r2, client } = fixture([], []);
107
+ expect(() =>
108
+ assertStagedReferences(`<a href="/about">x</a>`, r2, client, BUILD, null),
109
+ ).not.toThrow();
110
+ expect(warn).not.toHaveBeenCalled();
111
+ });
112
+ });
@@ -222,7 +222,13 @@ export async function runBuildWorkers(
222
222
  // The emitted URLs and the staged keys are produced by two different code
223
223
  // paths (vite's `base`, and the staging above), and when they disagree the
224
224
  // symptom is a 404 on every asset with a deploy that reports success.
225
- assertStagedReferences(rewrittenHtml, r2UploadDir, buildId, cdnBase);
225
+ assertStagedReferences(
226
+ rewrittenHtml,
227
+ r2UploadDir,
228
+ clientDir,
229
+ buildId,
230
+ cdnBase,
231
+ );
226
232
 
227
233
  // ── PWA web manifest — baked here (the Worker can't read `.uglyapp` at
228
234
  // runtime) and threaded into the wrapper below; served at /manifest.webmanifest.
@@ -605,30 +611,60 @@ export function stagedPathForUrl(
605
611
  }
606
612
 
607
613
  /**
608
- * Fail the build when the document points at something we did not stage.
609
- * This is the guard for the class of bug where the URL-emitting step and the
610
- * file-staging step drift apart — the deploy succeeds and the app is dead.
614
+ * Check that everything the document references has a staged file behind it.
615
+ *
616
+ * Two very different failures look identical here, and only one is worth
617
+ * blocking a deploy:
618
+ *
619
+ * DRIFT — the file IS in `dist/client` but was not staged. The URL-emitting
620
+ * step (vite's `base`) and the staging step disagree, so EVERY asset 404s
621
+ * while the deploy reports success. This is the bug that took ugly.chat
622
+ * down; it is fatal.
623
+ *
624
+ * DANGLING — the file is not in `dist/client` either. The app references
625
+ * something it never built (ugly-meal's `/icon.png`: present in
626
+ * `client/public/`, never copied to the output, and 404 in production long
627
+ * before any of this). Nothing about staging is wrong, and failing the
628
+ * build would make a long-standing cosmetic 404 suddenly undeployable —
629
+ * so warn, loudly, and let the deploy through.
611
630
  */
612
- function assertStagedReferences(
631
+ export function assertStagedReferences(
613
632
  html: string,
614
633
  r2UploadDir: string,
634
+ clientDir: string,
615
635
  buildId: string,
616
636
  cdnBase: string | null,
617
637
  ): void {
618
- const missing: string[] = [];
638
+ const drift: string[] = [];
639
+ const dangling: string[] = [];
619
640
  for (const m of html.matchAll(/\s(?:src|href)="([^"]+)"/g)) {
620
641
  const url = m[1]!;
621
642
  const rel = stagedPathForUrl(url, buildId, cdnBase);
622
643
  if (!rel) continue;
623
- if (!existsSync(path.join(r2UploadDir, ...rel.split('/')))) {
624
- missing.push(`${url} → expected ${rel}`);
644
+ if (existsSync(path.join(r2UploadDir, ...rel.split('/')))) continue;
645
+ // `rel` is `builds/<id>/<p>` or `static/<p>`; `<p>` is the client-dir path.
646
+ const p = rel.replace(/^builds\/[^/]+\//, '').replace(/^static\//, '');
647
+ if (existsSync(path.join(clientDir, ...p.split('/')))) {
648
+ drift.push(`${url} → expected ${rel}`);
649
+ } else {
650
+ dangling.push(url);
625
651
  }
626
652
  }
627
- if (missing.length) {
653
+ if (dangling.length) {
654
+ // eslint-disable-next-line no-console
655
+ console.warn(
656
+ `[build:workers] the document references ${dangling.length} file(s) that ` +
657
+ `the client build never produced, so they 404 at runtime:\n ` +
658
+ `${dangling.join('\n ')}\n` +
659
+ ` Not a staging problem — check they exist and are being copied ` +
660
+ `(files in client/public/ land at the site root).`,
661
+ );
662
+ }
663
+ if (drift.length) {
628
664
  throw new Error(
629
- `[build:workers] the document references ${missing.length} asset(s) that ` +
630
- `were not staged for upload — deploying this would 404 every one of ` +
631
- `them:\n ${missing.join('\n ')}\n` +
665
+ `[build:workers] the document references ${drift.length} asset(s) that ` +
666
+ `were built but not staged for upload — deploying this would 404 ` +
667
+ `every one of them:\n ${drift.join('\n ')}\n` +
632
668
  `This means the emitted URLs and the staged R2 keys disagree.`,
633
669
  );
634
670
  }
@@ -32,12 +32,20 @@ export const REST_PUT_MAX_BYTES = 300 * 1024 * 1024;
32
32
  const IMMUTABLE = 'public, max-age=31536000, immutable';
33
33
 
34
34
  /**
35
- * In-flight DELETEs against the REST object API. High enough that the first GC
36
- * of a long-lived app finishes in minutes rather than hours, low enough not to
37
- * trip Cloudflare's per-token API rate limit (1200 requests / 5 min).
35
+ * In-flight DELETEs against the REST object API, so the first GC of a
36
+ * long-lived app finishes in minutes rather than hours.
37
+ *
38
+ * Chosen empirically. A single app's sweep runs clean at this rate (measured:
39
+ * 8,339 deletes in ~3 min, ~46 req/s, zero 429s), but a fleet-wide rollout —
40
+ * several apps each clearing tens of thousands of objects back to back — DOES
41
+ * get throttled. So the value is paired with 429 retry below rather than being
42
+ * relied on to stay under any limit; raise it only alongside that backoff.
38
43
  */
39
44
  const DELETE_CONCURRENCY = 16;
40
45
 
46
+ /** 429 retries per object before the sweep gives up on it. */
47
+ const DELETE_MAX_RETRIES = 5;
48
+
41
49
  /**
42
50
  * Run `fn` over `items` with at most `limit` in flight, preserving fail-fast
43
51
  * semantics: the first rejection propagates once the in-flight work settles.
@@ -280,12 +288,26 @@ export function createApiR2Ops(args: {
280
288
  // objects, which at ~150 ms each is over an hour of wall clock while the
281
289
  // publish appears hung. Run a bounded pool instead.
282
290
  await runPool(keys, DELETE_CONCURRENCY, async (key) => {
283
- const res = await globalThis.fetch(
284
- `${base}/objects/${encodeURIComponent(key)}`,
285
- { method: 'DELETE', headers: auth },
286
- );
287
- // A 404 means it is already gone, which is the desired end state.
288
- if (!res.ok && res.status !== 404) {
291
+ for (let attempt = 0; ; attempt++) {
292
+ const res = await globalThis.fetch(
293
+ `${base}/objects/${encodeURIComponent(key)}`,
294
+ { method: 'DELETE', headers: auth },
295
+ );
296
+ // A 404 means it is already gone, which is the desired end state.
297
+ if (res.ok || res.status === 404) return;
298
+ // 429 is the API asking us to slow down, not a failure. Without a
299
+ // retry the FIRST one aborts the whole sweep — measured across a
300
+ // fleet rollout, where several apps each delete tens of thousands
301
+ // of objects back to back and reliably hit the limit. Honour
302
+ // Retry-After when given, else back off exponentially.
303
+ if (res.status === 429 && attempt < DELETE_MAX_RETRIES) {
304
+ const hinted = Number(res.headers.get('retry-after'));
305
+ const waitMs = Number.isFinite(hinted)
306
+ ? hinted * 1000
307
+ : Math.min(2 ** attempt * 500, 8000);
308
+ await new Promise((r) => setTimeout(r, waitMs));
309
+ continue;
310
+ }
289
311
  throw new Error(`r2 delete ${key} failed: ${res.status}`);
290
312
  }
291
313
  });
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.941";
2
+ export const CLI_VERSION = "0.1.943";
@@ -58,6 +58,35 @@ social scrapers and the app-store card address them at fixed URLs.
58
58
  <img src="/assets/logo.png" alt="Logo" />
59
59
  ```
60
60
 
61
+ ## `hostBundle` — put the vite bundle on the CDN too
62
+
63
+ ```json
64
+ "staticAssets": { "hostBundle": true }
65
+ ```
66
+
67
+ Opt-in, in `.uglyapp`. Publish provisions the static host, then vite emits every
68
+ bundle URL against it. Content-addressed URLs mean an unchanged chunk keeps its
69
+ URL across deploys, so each deploy uploads a few KB instead of the whole bundle.
70
+
71
+ The first deploy only provisions — the bundle moves on the next one. Don't try
72
+ to short-circuit that: a single pass would point the bundle at a hostname whose
73
+ TLS certificate may not have issued yet.
74
+
75
+ **What this changes for you: the bundle is now cross-origin.** Two consequences
76
+ worth knowing before you debug them:
77
+
78
+ - `new Worker(new URL('./x.worker.ts', import.meta.url))` still works —
79
+ `bootstrapApp` shims it. The constructor *rejects a cross-origin script URL
80
+ outright* and no CORS/CORP header lifts it, so the shim routes it through a
81
+ same-origin `blob:`. **`SharedWorker` is not shimmed** (unique blob URLs would
82
+ break sharing); don't reach for it.
83
+ - Register service workers by root-absolute path (`/sw.js`). `register()`
84
+ resolves against the document, so root paths stay same-origin.
85
+ - A bare `<img src>`/`<audio src>` pointed at the static host is a no-CORS
86
+ request. It's covered by a zone CORP rule, but if that rule is ever missing
87
+ the asset is blocked by COEP as a healthy 200 that never renders — use
88
+ `crossOriginProps()` when in doubt.
89
+
61
90
  ## Generating assets with imageGen
62
91
  ```ts
63
92
  app.registerFunction('createAsset', async (ctx, input: { prompt: string; name: string }) => {