@heychunky/core 0.2.0 → 0.3.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.
- package/dist/admin/provision.d.ts +5 -1
- package/dist/admin/provision.d.ts.map +1 -1
- package/dist/admin/provision.js +4 -5
- package/dist/admin/provision.js.map +1 -1
- package/dist/admin/services/neon.d.ts.map +1 -1
- package/dist/admin/services/neon.js +30 -8
- package/dist/admin/services/neon.js.map +1 -1
- package/dist/config/environments.d.ts +13 -0
- package/dist/config/environments.d.ts.map +1 -1
- package/dist/config/environments.js +13 -0
- package/dist/config/environments.js.map +1 -1
- package/dist/http/errors.d.ts +11 -0
- package/dist/http/errors.d.ts.map +1 -1
- package/dist/http/errors.js +15 -0
- package/dist/http/errors.js.map +1 -1
- package/dist/services/db.d.ts.map +1 -1
- package/dist/services/db.js +24 -0
- package/dist/services/db.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,11 @@ import { type RunContext } from "./run.ts";
|
|
|
2
2
|
export interface AppSpec {
|
|
3
3
|
/** The app's name. Becomes the repository, the database and the project. */
|
|
4
4
|
name: string;
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* GitHub organisation. Omitted means the factory's, not the token's account
|
|
7
|
+
* — an app made on whoever happens to hold the token is a silent wrong
|
|
8
|
+
* answer rather than a default worth having.
|
|
9
|
+
*/
|
|
6
10
|
org?: string;
|
|
7
11
|
/** Give it a database. */
|
|
8
12
|
neon?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/admin/provision.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,WAAW,OAAO;IACtB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/admin/provision.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,WAAW,OAAO;IACtB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,SAAS;AACnB,uCAAuC;AACrC,QAAQ;AACV,qBAAqB;GACnB,SAAS;AACX,6CAA6C;GAC3C,cAAc;AAChB,+CAA+C;GAC7C,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,uCAAuC;IACvC,EAAE,EAAE,OAAO,CAAC;CACb;AA6GD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAgC5E"}
|
package/dist/admin/provision.js
CHANGED
|
@@ -24,7 +24,7 @@ import { github } from "./services/github.js";
|
|
|
24
24
|
import { vercel } from "./services/vercel.js";
|
|
25
25
|
import { neon } from "./services/neon.js";
|
|
26
26
|
import { KEY_FOR } from "./run.js";
|
|
27
|
-
import { BRANCHED, DEFAULT_BRANCH } from "../config/environments.js";
|
|
27
|
+
import { BRANCHED, DEFAULT_BRANCH, DEFAULT_ORG } from "../config/environments.js";
|
|
28
28
|
const STEPS = [
|
|
29
29
|
{
|
|
30
30
|
name: "github repo",
|
|
@@ -33,16 +33,15 @@ const STEPS = [
|
|
|
33
33
|
// What would be created, replaced below by what actually exists — the
|
|
34
34
|
// repository may be named a variant of the app, and later steps must link
|
|
35
35
|
// to the real one rather than to the name we guessed.
|
|
36
|
-
const
|
|
37
|
-
carry.repo = `${
|
|
38
|
-
const repo = await gh.findRepoFor(spec.name, spec.org);
|
|
36
|
+
const repo = await gh.findRepoFor(spec.name, spec.org ?? DEFAULT_ORG);
|
|
37
|
+
carry.repo = `${spec.org ?? DEFAULT_ORG}/${spec.name}`;
|
|
39
38
|
if (!repo)
|
|
40
39
|
return undefined;
|
|
41
40
|
carry.repo = repo.full_name;
|
|
42
41
|
return `${repo.full_name} · ${repo.private ? "private" : "PUBLIC"}`;
|
|
43
42
|
},
|
|
44
43
|
async create(spec, { gh }, carry) {
|
|
45
|
-
const repo = await gh.createRepo(spec.name, { org: spec.org });
|
|
44
|
+
const repo = await gh.createRepo(spec.name, { org: spec.org ?? DEFAULT_ORG });
|
|
46
45
|
carry.repo = repo.full_name;
|
|
47
46
|
return `${repo.full_name} · private`;
|
|
48
47
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/admin/provision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAmB,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/admin/provision.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon.d.ts","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"neon.d.ts","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"AAQA,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIrG,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAChG,MAAM,WAAW,UAAU;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;AAEvH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM;;YAKQ,MAAM;cAAQ,MAAM;cAAQ,MAAM;;oBAE/C,OAAO,CAAC,WAAW,EAAE,CAAC;wBAShB,MAAM,KAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;0BAelE,MAAM,SAAQ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KACtD,OAAO,CAAC,WAAW,CAAC;0BAYY,MAAM;8BAqB5B,MAAM,QAAQ,MAAM,aAAa,MAAM,KACjD,OAAO,CAAC,UAAU,CAAC;iCAkET,MAAM,YAAY,MAAM,QAAQ;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,KAC7D,OAAO,CAAC,IAAI,CAAC;8BA9BH,MAAM,YAAY,MAAM,QAAQ;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,KAC7D,OAAO,CAAC,IAAI,CAAC;+BAYH,MAAM,YAAY,MAAM,SAC7B;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KACzC,OAAO,CAAC,MAAM,CAAC;cAoCA,OAAO,CAAC,aAAa,CAAC;cAOtB,OAAO,CAAC,aAAa,CAAC;EAyBzC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* string and never for this key.
|
|
6
6
|
*/
|
|
7
7
|
import { request } from "../../http/request.js";
|
|
8
|
+
import { HttpError } from "../../http/errors.js";
|
|
8
9
|
import { probe, probeAccess } from "../../services/types.js";
|
|
9
10
|
const API = "https://console.neon.tech/api/v2";
|
|
10
11
|
export function neon(token) {
|
|
@@ -52,15 +53,36 @@ export function neon(token) {
|
|
|
52
53
|
* environment. The endpoint is what makes it a database rather than a
|
|
53
54
|
* snapshot.
|
|
54
55
|
*/
|
|
56
|
+
/**
|
|
57
|
+
* Create a branch, waiting out the project if it is still busy.
|
|
58
|
+
*
|
|
59
|
+
* A project created moments ago is still settling, and Neon refuses a branch
|
|
60
|
+
* during that window with 423 rather than queuing it. Provisioning creates a
|
|
61
|
+
* project and immediately asks for five branches, so this is the ordinary
|
|
62
|
+
* case rather than an unlucky one — and failing there leaves an app with a
|
|
63
|
+
* database and no environments.
|
|
64
|
+
*/
|
|
55
65
|
async function createBranch(projectId, name, parentId) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
const body = {
|
|
67
|
+
branch: { name, ...(parentId ? { parent_id: parentId } : {}) },
|
|
68
|
+
endpoints: [{ type: "read_write" }],
|
|
69
|
+
};
|
|
70
|
+
let wait = 1000;
|
|
71
|
+
for (let attempt = 0;; attempt++) {
|
|
72
|
+
try {
|
|
73
|
+
const { branch } = await request(`${API}/projects/${projectId}/branches`, { ...o, method: "POST", body });
|
|
74
|
+
return { id: branch.id, name: branch.name, parent_id: branch.parent_id, default: branch.default };
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
// Only what the provider called transient, and only for a while: a
|
|
78
|
+
// project that is still busy after half a minute is a real failure.
|
|
79
|
+
const busy = err instanceof HttpError && err.retryable && err.status === 423;
|
|
80
|
+
if (!busy || attempt >= 6)
|
|
81
|
+
throw err;
|
|
82
|
+
await new Promise((r) => setTimeout(r, wait));
|
|
83
|
+
wait = Math.min(wait * 2, 8000);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
64
86
|
}
|
|
65
87
|
/**
|
|
66
88
|
* Refresh one branch from its parent — copy-on-write, no dump, no transfer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAoB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,WAAW,EAA0C,MAAM,yBAAyB,CAAC;AAErG,MAAM,GAAG,GAAG,kCAAkC,CAAC;AAK/C,MAAM,UAAU,IAAI,CAAC,KAAa;IAChC,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,CAC/B,CAAC,MAAM,OAAO,CAAkE,GAAG,GAAG,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAErI,KAAK,UAAU,QAAQ;QACrB,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,aAAa,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,MAAM,OAAO,CAA8B,GAAG,GAAG,oBAAoB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAoC,EAAE,CAC3E,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAElD;;;;;;;;;;OAUG;IACH,KAAK,UAAU,aAAa,CAC1B,IAAY,EAAE,OAA4C,EAAE;QAE5D,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,eAAe,CAAC;QACxE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,MAAM,OAAO,CAA2B,GAAG,GAAG,WAAW,EAAE;YAChF,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;YACpB,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;SAC5D,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IACtF,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE,CAC3C,CAAC,MAAM,OAAO,CAA6B,GAAG,GAAG,aAAa,SAAS,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEzG;;;;;;;OAOG;IACH,KAAK,UAAU,YAAY,CACzB,SAAiB,EAAE,IAAY,EAAE,QAAiB;QAElD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAC9B,GAAG,GAAG,aAAa,SAAS,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,4 +47,17 @@ export declare const DEPLOYS: Partial<Record<Environment, {
|
|
|
47
47
|
}>>;
|
|
48
48
|
/** The environments a deployment ever reads. */
|
|
49
49
|
export declare const DEPLOYED: readonly Environment[];
|
|
50
|
+
/**
|
|
51
|
+
* The GitHub organisation an app is made in, unless a caller says otherwise.
|
|
52
|
+
*
|
|
53
|
+
* Without one, GitHub creates the repository on whatever account the token
|
|
54
|
+
* belongs to. That is a silent wrong answer rather than an error: the app is
|
|
55
|
+
* made, it works, and it is in the wrong place — and a repository can be
|
|
56
|
+
* transferred later where a Neon project and a Vercel project cannot be moved
|
|
57
|
+
* nearly as easily.
|
|
58
|
+
*
|
|
59
|
+
* The CLI has always passed `--org`. The API had no way to, so every app
|
|
60
|
+
* provisioned through it landed on the user account.
|
|
61
|
+
*/
|
|
62
|
+
export declare const DEFAULT_ORG = "heychunkydev";
|
|
50
63
|
//# sourceMappingURL=environments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/config/environments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,eAAO,MAAM,YAAY,yEAaf,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,kEAAkE;AAClE,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC,gFAAgF;AAChF,eAAO,MAAM,QAAQ,EAAE,SAAS,WAAW,EAAmD,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;IAAE,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAItH,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,QAAQ,EAAE,SAAS,WAAW,EAA6C,CAAC"}
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/config/environments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,eAAO,MAAM,YAAY,yEAaf,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,kEAAkE;AAClE,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC,gFAAgF;AAChF,eAAO,MAAM,QAAQ,EAAE,SAAS,WAAW,EAAmD,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;IAAE,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAItH,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,QAAQ,EAAE,SAAS,WAAW,EAA6C,CAAC;AAEzF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,iBAAiB,CAAC"}
|
|
@@ -59,4 +59,17 @@ export const DEPLOYS = {
|
|
|
59
59
|
};
|
|
60
60
|
/** The environments a deployment ever reads. */
|
|
61
61
|
export const DEPLOYED = ENVIRONMENTS.filter((e) => e in DEPLOYS);
|
|
62
|
+
/**
|
|
63
|
+
* The GitHub organisation an app is made in, unless a caller says otherwise.
|
|
64
|
+
*
|
|
65
|
+
* Without one, GitHub creates the repository on whatever account the token
|
|
66
|
+
* belongs to. That is a silent wrong answer rather than an error: the app is
|
|
67
|
+
* made, it works, and it is in the wrong place — and a repository can be
|
|
68
|
+
* transferred later where a Neon project and a Vercel project cannot be moved
|
|
69
|
+
* nearly as easily.
|
|
70
|
+
*
|
|
71
|
+
* The CLI has always passed `--org`. The API had no way to, so every app
|
|
72
|
+
* provisioned through it landed on the user account.
|
|
73
|
+
*/
|
|
74
|
+
export const DEFAULT_ORG = "heychunkydev";
|
|
62
75
|
//# sourceMappingURL=environments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../src/config/environments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mCAAmC;IACnC,YAAY;IACZ,kEAAkE;IAClE,SAAS;IACT,qEAAqE;IACrE,KAAK;IACL,mCAAmC;IACnC,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,uEAAuE;IACvE,QAAQ;CACA,CAAC;AAIX,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,gFAAgF;AAChF,MAAM,CAAC,MAAM,QAAQ,GAA2B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAuG;IACzH,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IACpC,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE;IACzC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;CAC3B,CAAC;AAEF,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAA2B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../src/config/environments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mCAAmC;IACnC,YAAY;IACZ,kEAAkE;IAClE,SAAS;IACT,qEAAqE;IACrE,KAAK;IACL,mCAAmC;IACnC,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,uEAAuE;IACvE,QAAQ;CACA,CAAC;AAIX,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,gFAAgF;AAChF,MAAM,CAAC,MAAM,QAAQ,GAA2B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAuG;IACzH,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IACpC,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE;IACzC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;CAC3B,CAAC;AAEF,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAA2B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;AAEzF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC"}
|
package/dist/http/errors.d.ts
CHANGED
|
@@ -28,6 +28,17 @@ export declare class ValidationError extends HttpError {
|
|
|
28
28
|
constructor(status: number, url: string, body: string);
|
|
29
29
|
get retryable(): boolean;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Busy with something else. The same request will work shortly.
|
|
33
|
+
*
|
|
34
|
+
* Neon answers 423 while a project it just created is still settling, and a
|
|
35
|
+
* branch asked for in that window is refused rather than queued. It reads like
|
|
36
|
+
* a client error and is not one — the request is correct and merely early.
|
|
37
|
+
*/
|
|
38
|
+
export declare class BusyError extends HttpError {
|
|
39
|
+
constructor(status: number, url: string, body: string);
|
|
40
|
+
get retryable(): boolean;
|
|
41
|
+
}
|
|
31
42
|
/** Slow down. Carries the provider's own advice on how long to wait. */
|
|
32
43
|
export declare class RateLimitError extends HttpError {
|
|
33
44
|
/** Seconds to wait, when the provider said. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8BAAsB,SAAU,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQpF,qEAAqE;IACrE,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC;CACnC;AAED,8EAA8E;AAC9E,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,8DAA8D;AAC9D,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrC,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,sEAAsE;AACtE,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,wEAAwE;AACxE,qBAAa,cAAe,SAAQ,SAAS;IAC3C,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAI1D,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,8CAA8C;AAC9C,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8BAAsB,SAAU,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQpF,qEAAqE;IACrE,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC;CACnC;AAED,8EAA8E;AAC9E,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,8DAA8D;AAC9D,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrC,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,sEAAsE;AACtE,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,wEAAwE;AACxE,qBAAa,cAAe,SAAQ,SAAS;IAC3C,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAI1D,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,8CAA8C;AAC9C,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAOlG"}
|
package/dist/http/errors.js
CHANGED
|
@@ -38,6 +38,19 @@ export class ValidationError extends HttpError {
|
|
|
38
38
|
}
|
|
39
39
|
get retryable() { return false; }
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Busy with something else. The same request will work shortly.
|
|
43
|
+
*
|
|
44
|
+
* Neon answers 423 while a project it just created is still settling, and a
|
|
45
|
+
* branch asked for in that window is refused rather than queued. It reads like
|
|
46
|
+
* a client error and is not one — the request is correct and merely early.
|
|
47
|
+
*/
|
|
48
|
+
export class BusyError extends HttpError {
|
|
49
|
+
constructor(status, url, body) {
|
|
50
|
+
super("BusyError", `Busy (${status}) — the resource is mid-operation`, status, url, body);
|
|
51
|
+
}
|
|
52
|
+
get retryable() { return true; }
|
|
53
|
+
}
|
|
41
54
|
/** Slow down. Carries the provider's own advice on how long to wait. */
|
|
42
55
|
export class RateLimitError extends HttpError {
|
|
43
56
|
/** Seconds to wait, when the provider said. */
|
|
@@ -61,6 +74,8 @@ export function errorFor(status, url, body, retryAfter) {
|
|
|
61
74
|
return new AuthError(status, url, body);
|
|
62
75
|
if (status === 404)
|
|
63
76
|
return new NotFoundError(url, body);
|
|
77
|
+
if (status === 423)
|
|
78
|
+
return new BusyError(status, url, body);
|
|
64
79
|
if (status === 429)
|
|
65
80
|
return new RateLimitError(url, body, retryAfter);
|
|
66
81
|
if (status >= 500)
|
package/dist/http/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,EAAE,CAAC,gBAAgB,EAAE,MAAM;iBAuCf,MAAM,WAAU,OAAO,EAAE,KAAQ,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,EAAE,CAAC,gBAAgB,EAAE,MAAM;iBAuCf,MAAM,WAAU,OAAO,EAAE,KAAQ,OAAO,CAAC,IAAI,CAAC;iBAoC9C,MAAM,WAAU,OAAO,EAAE,KAAQ,OAAO,CAAC,IAAI,CAAC;cAatD,OAAO,CAAC,MAAM,EAAE,CAAC;mBAOZ,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;EAelD"}
|
package/dist/services/db.js
CHANGED
|
@@ -54,12 +54,36 @@ export function db(connectionString) {
|
|
|
54
54
|
* — a promise kept by parsing the statement here would be worth very little.
|
|
55
55
|
*/
|
|
56
56
|
async function query(sql, params = []) {
|
|
57
|
+
refuseMultiple(sql);
|
|
57
58
|
const body = (await send({ queries: [{ query: sql, params }] }, { "Neon-Batch-Read-Only": "true" }));
|
|
58
59
|
const first = body.results?.[0];
|
|
59
60
|
return { rows: first?.rows ?? [], rowCount: first?.rowCount ?? 0 };
|
|
60
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Reject a statement that is really several.
|
|
64
|
+
*
|
|
65
|
+
* The endpoint runs one query per request. Sent two separated by a
|
|
66
|
+
* semicolon, it runs one of them and answers as though all was well: a
|
|
67
|
+
* `delete` followed by a `delete` reported "1 row affected" while the first
|
|
68
|
+
* one never happened. Silence is the problem — an error would have been
|
|
69
|
+
* fine. Semicolons inside a string literal or a dollar-quoted body are left
|
|
70
|
+
* alone, since those are one statement.
|
|
71
|
+
*/
|
|
72
|
+
function refuseMultiple(sql) {
|
|
73
|
+
const stripped = sql
|
|
74
|
+
.replace(/\$\$[\s\S]*?\$\$/g, "")
|
|
75
|
+
.replace(/'(?:[^']|'')*'/g, "")
|
|
76
|
+
.replace(/"(?:[^"]|"")*"/g, "")
|
|
77
|
+
.replace(/--[^\n]*/g, "")
|
|
78
|
+
.replace(/\/\*[\s\S]*?\*\//g, "");
|
|
79
|
+
if (/;\s*\S/.test(stripped)) {
|
|
80
|
+
throw new Error("One statement at a time. This runs a single query per request, so a " +
|
|
81
|
+
"second one after a semicolon would be dropped without saying so.");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
61
84
|
/** SQL that may change data. Gated in the registry, not here. */
|
|
62
85
|
async function write(sql, params = []) {
|
|
86
|
+
refuseMultiple(sql);
|
|
63
87
|
const body = (await send({ query: sql, params }));
|
|
64
88
|
return { rows: body.rows ?? [], rowCount: body.rowCount ?? 0 };
|
|
65
89
|
}
|
package/dist/services/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAa7C,MAAM,UAAU,EAAE,CAAC,gBAAwB;IACzC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,IAAI,MAAM,CAAC;IAEvC,KAAK,UAAU,IAAI,CACjB,IAAa,EACb,UAAkC,EAAE;QAEpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,wBAAwB,EAAE,gBAAgB;gBAC1C,GAAG,OAAO;aACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,sEAAsE;YACtE,uEAAuE;YACvE,gEAAgE;YAChE,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,KAAK,CAAC,GAAW,EAAE,SAAoB,EAAE;QACtD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CACtB,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EACrC,EAAE,sBAAsB,EAAE,MAAM,EAAE,CACnC,CAA4E,CAAC;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,iEAAiE;IACjE,KAAK,UAAU,KAAK,CAAC,GAAW,EAAE,SAAoB,EAAE;QACtD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAG/C,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,OAAO;QACL,KAAK;QACL,KAAK;QAEL,KAAK,CAAC,MAAM;YACV,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAC1B,gFAAgF,CACjF,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,KAAa;YACzB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAC1B;;;oCAG4B,EAC5B,CAAC,KAAK,CAAC,CACR,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAChC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC5B,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,KAAK;aACrC,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"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"}
|