run402 1.60.1 → 1.60.3
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/lib/deploy-v2.mjs +27 -191
- package/lib/deploy.mjs +35 -2
- package/package.json +1 -1
- package/sdk/dist/namespaces/deploy.js +258 -2
- package/sdk/dist/namespaces/deploy.js.map +1 -1
- package/sdk/dist/node/deploy-manifest.d.ts +80 -0
- package/sdk/dist/node/deploy-manifest.d.ts.map +1 -0
- package/sdk/dist/node/deploy-manifest.js +356 -0
- package/sdk/dist/node/deploy-manifest.js.map +1 -0
- package/sdk/dist/node/index.d.ts +2 -0
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +1 -0
- package/sdk/dist/node/index.js.map +1 -1
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, isAbsolute, resolve as resolvePath, } from "node:path";
|
|
3
|
+
import { LocalError } from "../errors.js";
|
|
4
|
+
const CONTEXT = "normalizing deploy manifest";
|
|
5
|
+
const MANIFEST_FIELDS = new Set([
|
|
6
|
+
"project",
|
|
7
|
+
"project_id",
|
|
8
|
+
"idempotency_key",
|
|
9
|
+
"idempotencyKey",
|
|
10
|
+
"base",
|
|
11
|
+
"database",
|
|
12
|
+
"secrets",
|
|
13
|
+
"functions",
|
|
14
|
+
"site",
|
|
15
|
+
"subdomains",
|
|
16
|
+
"routes",
|
|
17
|
+
"checks",
|
|
18
|
+
]);
|
|
19
|
+
const MANIFEST_DATABASE_FIELDS = new Set(["migrations", "expose", "zero_downtime"]);
|
|
20
|
+
const MANIFEST_MIGRATION_FIELDS = new Set([
|
|
21
|
+
"id",
|
|
22
|
+
"checksum",
|
|
23
|
+
"sql",
|
|
24
|
+
"sql_ref",
|
|
25
|
+
"sql_path",
|
|
26
|
+
"sql_file",
|
|
27
|
+
"transaction",
|
|
28
|
+
]);
|
|
29
|
+
const MANIFEST_FUNCTIONS_FIELDS = new Set(["replace", "patch"]);
|
|
30
|
+
const MANIFEST_FUNCTIONS_PATCH_FIELDS = new Set(["set", "delete"]);
|
|
31
|
+
const MANIFEST_FUNCTION_FIELDS = new Set([
|
|
32
|
+
"runtime",
|
|
33
|
+
"source",
|
|
34
|
+
"files",
|
|
35
|
+
"entrypoint",
|
|
36
|
+
"config",
|
|
37
|
+
"schedule",
|
|
38
|
+
]);
|
|
39
|
+
const MANIFEST_SITE_FIELDS = new Set(["replace", "patch"]);
|
|
40
|
+
const MANIFEST_SITE_PATCH_FIELDS = new Set(["put", "delete"]);
|
|
41
|
+
export async function loadDeployManifest(path, opts = {}) {
|
|
42
|
+
const manifestPath = isAbsolute(path) ? path : resolvePath(process.cwd(), path);
|
|
43
|
+
let raw;
|
|
44
|
+
try {
|
|
45
|
+
raw = await readFile(manifestPath, "utf-8");
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
throw new LocalError(`Failed to read deploy manifest '${path}': ${err.message}`, "loading deploy manifest", err);
|
|
49
|
+
}
|
|
50
|
+
let parsed;
|
|
51
|
+
try {
|
|
52
|
+
parsed = JSON.parse(raw);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
throw new LocalError(`Deploy manifest is not valid JSON: ${err.message}`, "parsing deploy manifest", err);
|
|
56
|
+
}
|
|
57
|
+
const normalized = await normalizeDeployManifest(parsed, {
|
|
58
|
+
...opts,
|
|
59
|
+
baseDir: dirname(manifestPath),
|
|
60
|
+
});
|
|
61
|
+
return { ...normalized, manifestPath };
|
|
62
|
+
}
|
|
63
|
+
export async function normalizeDeployManifest(input, opts = {}) {
|
|
64
|
+
assertPlainRecord(input, "Deploy manifest");
|
|
65
|
+
const manifest = input;
|
|
66
|
+
assertKnownFields(manifest, "Deploy manifest", MANIFEST_FIELDS, {
|
|
67
|
+
subdomain: "Use `subdomains: { set: [name] }`.",
|
|
68
|
+
});
|
|
69
|
+
const project = resolveProject(manifest, opts);
|
|
70
|
+
const spec = { project };
|
|
71
|
+
if (manifest.base !== undefined)
|
|
72
|
+
spec.base = manifest.base;
|
|
73
|
+
if (manifest.subdomains !== undefined)
|
|
74
|
+
spec.subdomains = manifest.subdomains;
|
|
75
|
+
if (manifest.secrets !== undefined)
|
|
76
|
+
spec.secrets = manifest.secrets;
|
|
77
|
+
if (manifest.routes !== undefined)
|
|
78
|
+
spec.routes = manifest.routes;
|
|
79
|
+
if (manifest.checks !== undefined)
|
|
80
|
+
spec.checks = manifest.checks;
|
|
81
|
+
if (manifest.database !== undefined) {
|
|
82
|
+
spec.database = await mapDatabase(manifest.database, opts);
|
|
83
|
+
}
|
|
84
|
+
if (manifest.functions !== undefined) {
|
|
85
|
+
spec.functions = mapFunctions(manifest.functions, opts);
|
|
86
|
+
}
|
|
87
|
+
if (manifest.site !== undefined) {
|
|
88
|
+
spec.site = mapSite(manifest.site, opts);
|
|
89
|
+
}
|
|
90
|
+
const idempotencyKey = resolveIdempotencyKey(manifest);
|
|
91
|
+
return idempotencyKey === undefined
|
|
92
|
+
? { spec, manifest }
|
|
93
|
+
: { spec, idempotencyKey, manifest };
|
|
94
|
+
}
|
|
95
|
+
function resolveProject(manifest, opts) {
|
|
96
|
+
if (manifest.project !== undefined &&
|
|
97
|
+
manifest.project_id !== undefined &&
|
|
98
|
+
manifest.project !== manifest.project_id) {
|
|
99
|
+
throw new LocalError(`project conflict: manifest.project=${manifest.project} but manifest.project_id=${manifest.project_id}`, CONTEXT);
|
|
100
|
+
}
|
|
101
|
+
const manifestProject = manifest.project ?? manifest.project_id;
|
|
102
|
+
if (opts.project !== undefined &&
|
|
103
|
+
manifestProject !== undefined &&
|
|
104
|
+
opts.project !== manifestProject) {
|
|
105
|
+
throw new LocalError(`project conflict: manifest project=${manifestProject} but override project=${opts.project}`, CONTEXT);
|
|
106
|
+
}
|
|
107
|
+
const project = opts.project ?? manifestProject ?? opts.defaultProject;
|
|
108
|
+
if (!project) {
|
|
109
|
+
throw new LocalError("Deploy manifest requires project_id (or project). Pass a project override or set a default project before normalizing.", CONTEXT);
|
|
110
|
+
}
|
|
111
|
+
return project;
|
|
112
|
+
}
|
|
113
|
+
function resolveIdempotencyKey(manifest) {
|
|
114
|
+
if (manifest.idempotency_key !== undefined &&
|
|
115
|
+
manifest.idempotencyKey !== undefined &&
|
|
116
|
+
manifest.idempotency_key !== manifest.idempotencyKey) {
|
|
117
|
+
throw new LocalError("idempotency key conflict: idempotency_key and idempotencyKey differ", CONTEXT);
|
|
118
|
+
}
|
|
119
|
+
return manifest.idempotency_key ?? manifest.idempotencyKey;
|
|
120
|
+
}
|
|
121
|
+
async function mapDatabase(database, opts) {
|
|
122
|
+
assertPlainRecord(database, "Deploy manifest database");
|
|
123
|
+
assertKnownFields(database, "Deploy manifest database", MANIFEST_DATABASE_FIELDS);
|
|
124
|
+
const raw = database;
|
|
125
|
+
const out = {};
|
|
126
|
+
if (raw.expose !== undefined)
|
|
127
|
+
out.expose = raw.expose;
|
|
128
|
+
if (raw.zero_downtime !== undefined) {
|
|
129
|
+
out.zero_downtime = raw.zero_downtime;
|
|
130
|
+
}
|
|
131
|
+
if (raw.migrations !== undefined) {
|
|
132
|
+
if (!Array.isArray(raw.migrations)) {
|
|
133
|
+
throw new LocalError("Deploy manifest database.migrations must be an array", CONTEXT);
|
|
134
|
+
}
|
|
135
|
+
out.migrations = [];
|
|
136
|
+
for (const migration of raw.migrations) {
|
|
137
|
+
out.migrations.push(await mapMigration(migration, opts));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return out;
|
|
141
|
+
}
|
|
142
|
+
async function mapMigration(migration, opts) {
|
|
143
|
+
assertPlainRecord(migration, "Deploy manifest database.migrations[]");
|
|
144
|
+
assertKnownFields(migration, "Deploy manifest database.migrations[]", MANIFEST_MIGRATION_FIELDS);
|
|
145
|
+
const out = {
|
|
146
|
+
id: migration.id,
|
|
147
|
+
};
|
|
148
|
+
if (migration.sql !== undefined)
|
|
149
|
+
out.sql = migration.sql;
|
|
150
|
+
if (migration.sql_ref !== undefined)
|
|
151
|
+
out.sql_ref = migration.sql_ref;
|
|
152
|
+
if (migration.checksum !== undefined)
|
|
153
|
+
out.checksum = migration.checksum;
|
|
154
|
+
if (migration.transaction !== undefined)
|
|
155
|
+
out.transaction = migration.transaction;
|
|
156
|
+
const sqlPath = migration.sql_path ?? migration.sql_file;
|
|
157
|
+
if (migration.sql_path !== undefined &&
|
|
158
|
+
migration.sql_file !== undefined &&
|
|
159
|
+
migration.sql_path !== migration.sql_file) {
|
|
160
|
+
throw new LocalError(`Migration ${migration.id} has both sql_path and sql_file with different values`, CONTEXT);
|
|
161
|
+
}
|
|
162
|
+
if (out.sql === undefined && sqlPath !== undefined) {
|
|
163
|
+
const field = migration.sql_path !== undefined ? "sql_path" : "sql_file";
|
|
164
|
+
const abs = resolveLocalPath(sqlPath, opts.baseDir);
|
|
165
|
+
try {
|
|
166
|
+
out.sql = await readFile(abs, "utf-8");
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
throw new LocalError(`Failed to read migration ${field} '${sqlPath}': ${err.message}`, CONTEXT, err);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return out;
|
|
173
|
+
}
|
|
174
|
+
function mapFunctions(functions, opts) {
|
|
175
|
+
assertPlainRecord(functions, "Deploy manifest functions");
|
|
176
|
+
assertKnownFields(functions, "Deploy manifest functions", MANIFEST_FUNCTIONS_FIELDS);
|
|
177
|
+
const out = {};
|
|
178
|
+
const replace = functions.replace;
|
|
179
|
+
if (replace !== undefined) {
|
|
180
|
+
assertPlainRecord(replace, "Deploy manifest functions.replace");
|
|
181
|
+
out.replace = mapFunctionMap(replace, opts);
|
|
182
|
+
}
|
|
183
|
+
const patch = functions.patch;
|
|
184
|
+
if (patch !== undefined) {
|
|
185
|
+
assertPlainRecord(patch, "Deploy manifest functions.patch");
|
|
186
|
+
assertKnownFields(patch, "Deploy manifest functions.patch", MANIFEST_FUNCTIONS_PATCH_FIELDS);
|
|
187
|
+
out.patch = {};
|
|
188
|
+
if (patch.set !== undefined) {
|
|
189
|
+
assertPlainRecord(patch.set, "Deploy manifest functions.patch.set");
|
|
190
|
+
out.patch.set = mapFunctionMap(patch.set, opts);
|
|
191
|
+
}
|
|
192
|
+
if (patch.delete !== undefined) {
|
|
193
|
+
if (!Array.isArray(patch.delete)) {
|
|
194
|
+
throw new LocalError("Deploy manifest functions.patch.delete must be an array", CONTEXT);
|
|
195
|
+
}
|
|
196
|
+
out.patch.delete = patch.delete;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return out;
|
|
200
|
+
}
|
|
201
|
+
function mapFunctionMap(map, opts) {
|
|
202
|
+
const out = {};
|
|
203
|
+
for (const [name, fn] of Object.entries(map)) {
|
|
204
|
+
out[name] = mapFunction(fn, opts);
|
|
205
|
+
}
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
function mapFunction(fn, opts) {
|
|
209
|
+
assertPlainRecord(fn, "Deploy manifest function entry");
|
|
210
|
+
assertKnownFields(fn, "Deploy manifest function entry", MANIFEST_FUNCTION_FIELDS);
|
|
211
|
+
const raw = fn;
|
|
212
|
+
const out = {};
|
|
213
|
+
if (raw.runtime !== undefined)
|
|
214
|
+
out.runtime = raw.runtime;
|
|
215
|
+
if (raw.source !== undefined) {
|
|
216
|
+
out.source = fileEntryToContentSource(raw.source, opts, "functions.source");
|
|
217
|
+
}
|
|
218
|
+
if (raw.files !== undefined)
|
|
219
|
+
out.files = mapFileSet(raw.files, opts);
|
|
220
|
+
if (raw.entrypoint !== undefined)
|
|
221
|
+
out.entrypoint = raw.entrypoint;
|
|
222
|
+
if (raw.config !== undefined)
|
|
223
|
+
out.config = raw.config;
|
|
224
|
+
if (raw.schedule !== undefined)
|
|
225
|
+
out.schedule = raw.schedule;
|
|
226
|
+
return out;
|
|
227
|
+
}
|
|
228
|
+
function mapSite(site, opts) {
|
|
229
|
+
assertPlainRecord(site, "Deploy manifest site");
|
|
230
|
+
assertKnownFields(site, "Deploy manifest site", MANIFEST_SITE_FIELDS, {
|
|
231
|
+
file: "Use `site.replace` or `site.patch.put` with a path-keyed file map.",
|
|
232
|
+
files: "Use `site.replace` or `site.patch.put` with a path-keyed file map.",
|
|
233
|
+
});
|
|
234
|
+
const raw = site;
|
|
235
|
+
if (Object.prototype.hasOwnProperty.call(raw, "replace") &&
|
|
236
|
+
Object.prototype.hasOwnProperty.call(raw, "patch")) {
|
|
237
|
+
throw new LocalError("Deploy manifest site must use either replace or patch, not both", CONTEXT);
|
|
238
|
+
}
|
|
239
|
+
if (Object.prototype.hasOwnProperty.call(raw, "replace")) {
|
|
240
|
+
if (raw.replace === undefined) {
|
|
241
|
+
throw new LocalError("Deploy manifest site.replace is undefined", CONTEXT);
|
|
242
|
+
}
|
|
243
|
+
return { replace: mapFileSet(raw.replace, opts) };
|
|
244
|
+
}
|
|
245
|
+
const patch = {};
|
|
246
|
+
if (Object.prototype.hasOwnProperty.call(raw, "patch")) {
|
|
247
|
+
assertPlainRecord(raw.patch, "Deploy manifest site.patch");
|
|
248
|
+
const rawPatch = raw.patch;
|
|
249
|
+
assertKnownFields(rawPatch, "Deploy manifest site.patch", MANIFEST_SITE_PATCH_FIELDS);
|
|
250
|
+
if (rawPatch.put !== undefined) {
|
|
251
|
+
patch.put = mapFileSet(rawPatch.put, opts);
|
|
252
|
+
}
|
|
253
|
+
if (rawPatch.delete !== undefined) {
|
|
254
|
+
if (!Array.isArray(rawPatch.delete)) {
|
|
255
|
+
throw new LocalError("Deploy manifest site.patch.delete must be an array", CONTEXT);
|
|
256
|
+
}
|
|
257
|
+
patch.delete = rawPatch.delete;
|
|
258
|
+
}
|
|
259
|
+
return { patch };
|
|
260
|
+
}
|
|
261
|
+
throw new LocalError("Deploy manifest site must include replace or patch", CONTEXT);
|
|
262
|
+
}
|
|
263
|
+
function mapFileSet(map, opts) {
|
|
264
|
+
assertPlainRecord(map, "Deploy manifest file map");
|
|
265
|
+
const out = {};
|
|
266
|
+
for (const [path, entry] of Object.entries(map)) {
|
|
267
|
+
out[path] = fileEntryToContentSource(entry, opts, path);
|
|
268
|
+
}
|
|
269
|
+
return out;
|
|
270
|
+
}
|
|
271
|
+
function fileEntryToContentSource(entry, opts, label) {
|
|
272
|
+
if (typeof entry === "string")
|
|
273
|
+
return entry;
|
|
274
|
+
if (entry instanceof Uint8Array)
|
|
275
|
+
return entry;
|
|
276
|
+
if (entry instanceof ArrayBuffer)
|
|
277
|
+
return entry;
|
|
278
|
+
if (typeof Blob !== "undefined" && entry instanceof Blob)
|
|
279
|
+
return entry;
|
|
280
|
+
if (isReadableStream(entry))
|
|
281
|
+
return entry;
|
|
282
|
+
if (isContentRef(entry))
|
|
283
|
+
return { ...entry };
|
|
284
|
+
if (!isRecord(entry) || Array.isArray(entry)) {
|
|
285
|
+
return entry;
|
|
286
|
+
}
|
|
287
|
+
const rec = entry;
|
|
288
|
+
const encoding = rec.encoding;
|
|
289
|
+
if (encoding !== undefined &&
|
|
290
|
+
encoding !== "utf-8" &&
|
|
291
|
+
encoding !== "base64") {
|
|
292
|
+
throw new LocalError(`Unsupported encoding for ${label}: ${String(encoding)}`, CONTEXT);
|
|
293
|
+
}
|
|
294
|
+
if (typeof rec.path === "string" &&
|
|
295
|
+
!Object.prototype.hasOwnProperty.call(rec, "data")) {
|
|
296
|
+
const source = {
|
|
297
|
+
__source: "fs-file",
|
|
298
|
+
path: resolveLocalPath(rec.path, opts.baseDir),
|
|
299
|
+
};
|
|
300
|
+
return typeof entry.contentType === "string"
|
|
301
|
+
? { ...source, contentType: entry.contentType }
|
|
302
|
+
: source;
|
|
303
|
+
}
|
|
304
|
+
if (encoding === "base64") {
|
|
305
|
+
if (typeof rec.data !== "string") {
|
|
306
|
+
throw new LocalError(`Base64 file entry for ${label} must use a string data field`, CONTEXT);
|
|
307
|
+
}
|
|
308
|
+
const bytes = base64ToBytes(rec.data);
|
|
309
|
+
return typeof entry.contentType === "string"
|
|
310
|
+
? { data: bytes, contentType: entry.contentType }
|
|
311
|
+
: bytes;
|
|
312
|
+
}
|
|
313
|
+
if (Object.prototype.hasOwnProperty.call(rec, "data")) {
|
|
314
|
+
if (rec.data === undefined) {
|
|
315
|
+
throw new LocalError(`File entry for ${label} is missing data`, CONTEXT);
|
|
316
|
+
}
|
|
317
|
+
const data = rec.data;
|
|
318
|
+
return typeof entry.contentType === "string"
|
|
319
|
+
? { data, contentType: entry.contentType }
|
|
320
|
+
: data;
|
|
321
|
+
}
|
|
322
|
+
return entry;
|
|
323
|
+
}
|
|
324
|
+
function base64ToBytes(value) {
|
|
325
|
+
const buf = Buffer.from(value, "base64");
|
|
326
|
+
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
327
|
+
}
|
|
328
|
+
function resolveLocalPath(path, baseDir = process.cwd()) {
|
|
329
|
+
return isAbsolute(path) ? path : resolvePath(baseDir, path);
|
|
330
|
+
}
|
|
331
|
+
function isContentRef(value) {
|
|
332
|
+
return (isRecord(value) &&
|
|
333
|
+
typeof value.sha256 === "string" &&
|
|
334
|
+
typeof value.size === "number");
|
|
335
|
+
}
|
|
336
|
+
function isReadableStream(value) {
|
|
337
|
+
return (typeof ReadableStream !== "undefined" &&
|
|
338
|
+
value instanceof ReadableStream);
|
|
339
|
+
}
|
|
340
|
+
function isRecord(value) {
|
|
341
|
+
return value !== null && typeof value === "object";
|
|
342
|
+
}
|
|
343
|
+
function assertPlainRecord(value, label) {
|
|
344
|
+
if (!isRecord(value) || Array.isArray(value)) {
|
|
345
|
+
throw new LocalError(`${label} must be a JSON object`, CONTEXT);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
function assertKnownFields(value, label, allowed, hints = {}) {
|
|
349
|
+
for (const key of Object.keys(value)) {
|
|
350
|
+
if (allowed.has(key))
|
|
351
|
+
continue;
|
|
352
|
+
const hint = hints[key] ? ` ${hints[key]}` : "";
|
|
353
|
+
throw new LocalError(`Unknown ${label} field: ${key}.${hint}`, CONTEXT);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
//# sourceMappingURL=deploy-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-manifest.js","sourceRoot":"","sources":["../../src/node/deploy-manifest.ts"],"names":[],"mappings":"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"}
|
package/sdk/dist/node/index.d.ts
CHANGED
|
@@ -58,6 +58,8 @@ export { NodeSites } from "./sites-node.js";
|
|
|
58
58
|
export type { DeployDirOptions, DeployEvent as DeployDirEvent, LegacyDeployEvent as LegacyDeployDirEvent, } from "./sites-node.js";
|
|
59
59
|
export { fileSetFromDir, normalizeRelPath } from "./files.js";
|
|
60
60
|
export type { FileSetFromDirOptions } from "./files.js";
|
|
61
|
+
export { loadDeployManifest, normalizeDeployManifest } from "./deploy-manifest.js";
|
|
62
|
+
export type { DeployManifestDatabaseSpec, DeployManifestFileEntry, DeployManifestFileSet, DeployManifestFunctionsSpec, DeployManifestFunctionSpec, DeployManifestInput, DeployManifestMigrationSpec, DeployManifestSiteSpec, LoadDeployManifestOptions, NormalizedDeployManifest, NormalizeDeployManifestOptions, } from "./deploy-manifest.js";
|
|
61
63
|
export { signCiDelegation } from "./ci.js";
|
|
62
64
|
export type { SignCiDelegationOptions } from "./ci.js";
|
|
63
65
|
export { NodeCredentialsProvider } from "./credentials.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mGAAmG;IACnG,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAqB/D;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,WAAW,IAAI,cAAc,EAC7B,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtE,mBAAmB,aAAa,CAAC;AAEjC,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mGAAmG;IACnG,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAqB/D;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,WAAW,IAAI,cAAc,EAC7B,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtE,mBAAmB,aAAa,CAAC;AAEjC,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}
|
package/sdk/dist/node/index.js
CHANGED
|
@@ -55,6 +55,7 @@ export function run402(opts = {}) {
|
|
|
55
55
|
}
|
|
56
56
|
export { NodeSites } from "./sites-node.js";
|
|
57
57
|
export { fileSetFromDir, normalizeRelPath } from "./files.js";
|
|
58
|
+
export { loadDeployManifest, normalizeDeployManifest } from "./deploy-manifest.js";
|
|
58
59
|
export { signCiDelegation } from "./ci.js";
|
|
59
60
|
export { NodeCredentialsProvider } from "./credentials.js";
|
|
60
61
|
export { setupPaidFetch, createLazyPaidFetch } from "./paid-fetch.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAuB5C;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,OAA0B,EAAE;IACjD,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,uBAAuB,CAAC;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,KAAK,EACH,IAAI,CAAC,KAAK;YACV,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;KACtF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAI,IAAI,CAAC,KAAuC,CAAC,MAAM,CAAC;IACnE,IAAwC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAExE,OAAO,IAA6B,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,6EAA6E;AAC7E,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAuB5C;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,OAA0B,EAAE;IACjD,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,uBAAuB,CAAC;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,KAAK,EACH,IAAI,CAAC,KAAK;YACV,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;KACtF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAI,IAAI,CAAC,KAAuC,CAAC,MAAM,CAAC;IACnE,IAAwC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAExE,OAAO,IAA6B,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAcnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,6EAA6E;AAC7E,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}
|