ugly-app 0.1.943 → 0.1.944
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/dist/cli/publish/staticOps.d.ts.map +1 -1
- package/dist/cli/publish/staticOps.js +22 -12
- package/dist/cli/publish/staticOps.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/package.json +1 -1
- package/src/cli/publish/staticOps.ts +27 -15
- package/src/cli/version.ts +1 -1
|
@@ -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;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,
|
|
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,CAuIR"}
|
|
@@ -218,23 +218,33 @@ export function createApiR2Ops(args) {
|
|
|
218
218
|
// has been deploying for months faces tens of thousands of stale build
|
|
219
219
|
// objects, which at ~150 ms each is over an hour of wall clock while the
|
|
220
220
|
// publish appears hung. Run a bounded pool instead.
|
|
221
|
+
// A sweep is tens of thousands of requests long, so ANY per-request
|
|
222
|
+
// failure mode is near-certain to occur at least once — and one
|
|
223
|
+
// unretried failure discards the whole sweep. Both observed live on a
|
|
224
|
+
// 43k-object app: HTTP 429 (the API asking us to slow down) and a bare
|
|
225
|
+
// `fetch failed` (a dropped connection under sustained load). Neither is
|
|
226
|
+
// a real error, so retry both.
|
|
227
|
+
const backoff = (attempt, hintSec) => Number.isFinite(Number(hintSec))
|
|
228
|
+
? Number(hintSec) * 1000
|
|
229
|
+
: Math.min(2 ** attempt * 500, 8000);
|
|
221
230
|
await runPool(keys, DELETE_CONCURRENCY, async (key) => {
|
|
222
231
|
for (let attempt = 0;; attempt++) {
|
|
223
|
-
const
|
|
232
|
+
const canRetry = attempt < DELETE_MAX_RETRIES;
|
|
233
|
+
let res;
|
|
234
|
+
try {
|
|
235
|
+
res = await globalThis.fetch(`${base}/objects/${encodeURIComponent(key)}`, { method: 'DELETE', headers: auth });
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
if (!canRetry)
|
|
239
|
+
throw err;
|
|
240
|
+
await new Promise((r) => setTimeout(r, backoff(attempt)));
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
224
243
|
// A 404 means it is already gone, which is the desired end state.
|
|
225
244
|
if (res.ok || res.status === 404)
|
|
226
245
|
return;
|
|
227
|
-
|
|
228
|
-
|
|
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));
|
|
246
|
+
if ((res.status === 429 || res.status >= 500) && canRetry) {
|
|
247
|
+
await new Promise((r) => setTimeout(r, backoff(attempt, res.headers.get('retry-after'))));
|
|
238
248
|
continue;
|
|
239
249
|
}
|
|
240
250
|
throw new Error(`r2 delete ${key} failed: ${res.status}`);
|
|
@@ -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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"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.944";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
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.
|
|
4
|
+
"version": "0.1.944",
|
|
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": [
|
|
@@ -287,25 +287,37 @@ export function createApiR2Ops(args: {
|
|
|
287
287
|
// has been deploying for months faces tens of thousands of stale build
|
|
288
288
|
// objects, which at ~150 ms each is over an hour of wall clock while the
|
|
289
289
|
// publish appears hung. Run a bounded pool instead.
|
|
290
|
+
// A sweep is tens of thousands of requests long, so ANY per-request
|
|
291
|
+
// failure mode is near-certain to occur at least once — and one
|
|
292
|
+
// unretried failure discards the whole sweep. Both observed live on a
|
|
293
|
+
// 43k-object app: HTTP 429 (the API asking us to slow down) and a bare
|
|
294
|
+
// `fetch failed` (a dropped connection under sustained load). Neither is
|
|
295
|
+
// a real error, so retry both.
|
|
296
|
+
const backoff = (attempt: number, hintSec?: string | null): number =>
|
|
297
|
+
Number.isFinite(Number(hintSec))
|
|
298
|
+
? Number(hintSec) * 1000
|
|
299
|
+
: Math.min(2 ** attempt * 500, 8000);
|
|
300
|
+
|
|
290
301
|
await runPool(keys, DELETE_CONCURRENCY, async (key) => {
|
|
291
302
|
for (let attempt = 0; ; attempt++) {
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
303
|
+
const canRetry = attempt < DELETE_MAX_RETRIES;
|
|
304
|
+
let res: Response;
|
|
305
|
+
try {
|
|
306
|
+
res = await globalThis.fetch(
|
|
307
|
+
`${base}/objects/${encodeURIComponent(key)}`,
|
|
308
|
+
{ method: 'DELETE', headers: auth },
|
|
309
|
+
);
|
|
310
|
+
} catch (err) {
|
|
311
|
+
if (!canRetry) throw err;
|
|
312
|
+
await new Promise((r) => setTimeout(r, backoff(attempt)));
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
296
315
|
// A 404 means it is already gone, which is the desired end state.
|
|
297
316
|
if (res.ok || res.status === 404) return;
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
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));
|
|
317
|
+
if ((res.status === 429 || res.status >= 500) && canRetry) {
|
|
318
|
+
await new Promise((r) =>
|
|
319
|
+
setTimeout(r, backoff(attempt, res.headers.get('retry-after'))),
|
|
320
|
+
);
|
|
309
321
|
continue;
|
|
310
322
|
}
|
|
311
323
|
throw new Error(`r2 delete ${key} failed: ${res.status}`);
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.944";
|