alchemy 0.63.1 → 0.64.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/bin/alchemy.js +96 -86
- package/lib/alchemy.d.ts +4 -0
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js +10 -4
- package/lib/alchemy.js.map +1 -1
- package/lib/apply.d.ts +3 -0
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +11 -1
- package/lib/apply.js.map +1 -1
- package/lib/cloudflare/bindings.d.ts +3 -1
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/bucket.d.ts +2 -1
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/bundle/cloudflare-internal.d.ts +6 -0
- package/lib/cloudflare/bundle/cloudflare-internal.d.ts.map +1 -0
- package/lib/cloudflare/bundle/cloudflare-internal.js +39 -0
- package/lib/cloudflare/bundle/cloudflare-internal.js.map +1 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.d.ts +2 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.d.ts.map +1 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.js +9 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.js.map +1 -0
- package/lib/cloudflare/bundle/plugin-als-external.d.ts +6 -0
- package/lib/cloudflare/bundle/plugin-als-external.d.ts.map +1 -0
- package/lib/cloudflare/bundle/plugin-als-external.js +12 -0
- package/lib/cloudflare/bundle/plugin-als-external.js.map +1 -0
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.d.ts +4 -1
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.d.ts.map +1 -1
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.js +23 -23
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.js.map +1 -1
- package/lib/cloudflare/bundle/plugin-node-compat.d.ts +11 -0
- package/lib/cloudflare/bundle/plugin-node-compat.d.ts.map +1 -0
- package/lib/cloudflare/bundle/plugin-node-compat.js +93 -0
- package/lib/cloudflare/bundle/plugin-node-compat.js.map +1 -0
- package/lib/cloudflare/d1-local-migrations.js.map +1 -1
- package/lib/cloudflare/durable-object-namespace.d.ts +1 -0
- package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -1
- package/lib/cloudflare/durable-object-namespace.js.map +1 -1
- package/lib/cloudflare/website.d.ts.map +1 -1
- package/lib/cloudflare/website.js +80 -82
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker-bundle.d.ts +6 -0
- package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
- package/lib/cloudflare/worker-bundle.js +34 -10
- package/lib/cloudflare/worker-bundle.js.map +1 -1
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
- package/lib/cloudflare/worker-metadata.js +1 -0
- package/lib/cloudflare/worker-metadata.js.map +1 -1
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +24 -6
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +2 -4
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +16 -14
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/context.d.ts +3 -1
- package/lib/context.d.ts.map +1 -1
- package/lib/context.js +2 -2
- package/lib/context.js.map +1 -1
- package/lib/destroy.d.ts +8 -0
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +20 -4
- package/lib/destroy.js.map +1 -1
- package/lib/planetscale/api/client.gen.d.ts +1750 -0
- package/lib/planetscale/api/client.gen.d.ts.map +1 -0
- package/lib/planetscale/api/client.gen.js +2401 -0
- package/lib/planetscale/api/client.gen.js.map +1 -0
- package/lib/planetscale/api/index.d.ts +3 -0
- package/lib/planetscale/api/index.d.ts.map +1 -0
- package/lib/planetscale/api/index.js +4 -0
- package/lib/planetscale/api/index.js.map +1 -0
- package/lib/planetscale/api/types.gen.d.ts +12156 -0
- package/lib/planetscale/api/types.gen.d.ts.map +1 -0
- package/lib/planetscale/api/types.gen.js +2 -0
- package/lib/planetscale/api/types.gen.js.map +1 -0
- package/lib/planetscale/branch.d.ts +5 -8
- package/lib/planetscale/branch.d.ts.map +1 -1
- package/lib/planetscale/branch.js +111 -97
- package/lib/planetscale/branch.js.map +1 -1
- package/lib/planetscale/database.d.ts +2 -6
- package/lib/planetscale/database.d.ts.map +1 -1
- package/lib/planetscale/database.js +157 -118
- package/lib/planetscale/database.js.map +1 -1
- package/lib/planetscale/index.d.ts +1 -1
- package/lib/planetscale/index.d.ts.map +1 -1
- package/lib/planetscale/index.js +1 -1
- package/lib/planetscale/index.js.map +1 -1
- package/lib/planetscale/password.d.ts +4 -7
- package/lib/planetscale/password.d.ts.map +1 -1
- package/lib/planetscale/password.js +71 -56
- package/lib/planetscale/password.js.map +1 -1
- package/lib/planetscale/utils.d.ts +8 -6
- package/lib/planetscale/utils.d.ts.map +1 -1
- package/lib/planetscale/utils.js +85 -70
- package/lib/planetscale/utils.js.map +1 -1
- package/lib/scope.d.ts +5 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +11 -3
- package/lib/scope.js.map +1 -1
- package/lib/util/dedent.d.ts +3 -14
- package/lib/util/dedent.d.ts.map +1 -1
- package/lib/util/dedent.js +28 -52
- package/lib/util/dedent.js.map +1 -1
- package/package.json +4 -3
- package/src/alchemy.ts +14 -6
- package/src/apply.ts +13 -1
- package/src/cloudflare/bindings.ts +3 -1
- package/src/cloudflare/bucket.ts +3 -1
- package/src/cloudflare/bundle/cloudflare-internal.ts +42 -0
- package/src/cloudflare/bundle/nodejs-builtin-modules.ts +14 -0
- package/src/cloudflare/bundle/plugin-als-external.ts +13 -0
- package/src/cloudflare/bundle/plugin-hybrid-node-compat.ts +29 -28
- package/src/cloudflare/bundle/plugin-node-compat.ts +114 -0
- package/src/cloudflare/d1-local-migrations.ts +2 -2
- package/src/cloudflare/durable-object-namespace.ts +1 -0
- package/src/cloudflare/website.ts +88 -89
- package/src/cloudflare/worker-bundle.ts +46 -9
- package/src/cloudflare/worker-metadata.ts +2 -0
- package/src/cloudflare/worker.ts +35 -7
- package/src/cloudflare/wrangler.json.ts +108 -110
- package/src/context.ts +5 -3
- package/src/destroy.ts +26 -8
- package/src/planetscale/api/client.gen.ts +2882 -0
- package/src/planetscale/api/index.ts +4 -0
- package/src/planetscale/api/types.gen.ts +13041 -0
- package/src/planetscale/branch.ts +152 -169
- package/src/planetscale/database.ts +195 -204
- package/src/planetscale/index.ts +1 -1
- package/src/planetscale/password.ts +86 -85
- package/src/planetscale/utils.ts +141 -122
- package/src/scope.ts +12 -3
- package/src/util/dedent.ts +33 -61
- package/templates/astro/alchemy.run.ts +1 -3
- package/templates/hono/alchemy.run.ts +0 -1
- package/templates/nuxt/alchemy.run.ts +1 -3
- package/templates/react-router/alchemy.run.ts +1 -3
- package/templates/rwsdk/alchemy.run.ts +0 -2
- package/templates/sveltekit/alchemy.run.ts +1 -3
- package/templates/tanstack-start/alchemy.run.ts +1 -3
- package/templates/typescript/alchemy.run.ts +0 -1
- package/templates/vite/alchemy.run.ts +0 -1
- package/workers/cloudflare-state-store.js +58 -58
- package/lib/cloudflare/bundle/externals.d.ts +0 -3
- package/lib/cloudflare/bundle/externals.d.ts.map +0 -1
- package/lib/cloudflare/bundle/externals.js +0 -35
- package/lib/cloudflare/bundle/externals.js.map +0 -1
- package/lib/cloudflare/bundle/plugin-compat-warning.d.ts +0 -10
- package/lib/cloudflare/bundle/plugin-compat-warning.d.ts.map +0 -1
- package/lib/cloudflare/bundle/plugin-compat-warning.js +0 -67
- package/lib/cloudflare/bundle/plugin-compat-warning.js.map +0 -1
- package/lib/planetscale/api.d.ts +0 -53
- package/lib/planetscale/api.d.ts.map +0 -1
- package/lib/planetscale/api.js +0 -84
- package/lib/planetscale/api.js.map +0 -1
- package/src/cloudflare/bundle/externals.ts +0 -36
- package/src/cloudflare/bundle/plugin-compat-warning.ts +0 -94
- package/src/planetscale/api.ts +0 -115
package/lib/scope.js
CHANGED
|
@@ -131,6 +131,10 @@ export class Scope {
|
|
|
131
131
|
}
|
|
132
132
|
this.dataMutex = new AsyncMutex();
|
|
133
133
|
}
|
|
134
|
+
async has(id, type) {
|
|
135
|
+
const state = await this.state.get(id);
|
|
136
|
+
return state !== undefined && (type === undefined || state.kind === type);
|
|
137
|
+
}
|
|
134
138
|
createPhysicalName(id, delimiter = "-") {
|
|
135
139
|
const app = this.appName;
|
|
136
140
|
const stage = this.stage;
|
|
@@ -290,8 +294,8 @@ export class Scope {
|
|
|
290
294
|
}
|
|
291
295
|
return null;
|
|
292
296
|
}
|
|
293
|
-
async finalize(
|
|
294
|
-
const shouldForce = force ||
|
|
297
|
+
async finalize(options) {
|
|
298
|
+
const shouldForce = options?.force ||
|
|
295
299
|
this.parent === undefined ||
|
|
296
300
|
this?.parent?.scopeName === this.root.scopeName;
|
|
297
301
|
if (this.phase === "read") {
|
|
@@ -314,7 +318,10 @@ export class Scope {
|
|
|
314
318
|
const orphanIds = Array.from(resourceIds.filter((id) => !aliveIds.has(id)));
|
|
315
319
|
if (shouldForce) {
|
|
316
320
|
await this.destroyPendingDeletions();
|
|
317
|
-
await Promise.all(Array.from(this.children.values()).map((child) => child.finalize(
|
|
321
|
+
await Promise.all(Array.from(this.children.values()).map((child) => child.finalize({
|
|
322
|
+
force: shouldForce,
|
|
323
|
+
noop: options?.noop,
|
|
324
|
+
})));
|
|
318
325
|
}
|
|
319
326
|
const orphans = await Promise.all(orphanIds.map(async (id) => (await this.state.get(id)).output)).then((orphans) => orphans.filter((orphan) =>
|
|
320
327
|
//we never want to mark the stage scope as an orphan
|
|
@@ -324,6 +331,7 @@ export class Scope {
|
|
|
324
331
|
quiet: this.quiet,
|
|
325
332
|
strategy: this.destroyStrategy,
|
|
326
333
|
force: shouldForce,
|
|
334
|
+
noop: options?.noop,
|
|
327
335
|
});
|
|
328
336
|
this.rootTelemetryClient?.record({
|
|
329
337
|
event: "app.success",
|
package/lib/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
package/lib/util/dedent.d.ts
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* This allows writing multi-line strings with proper indentation in the source code
|
|
4
|
-
* while removing that indentation in the output string.
|
|
2
|
+
* Tagged template literal for removing indentation from a block of text.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
* const message = dedent`
|
|
8
|
-
* This is a multi-line string
|
|
9
|
-
* that will have its indentation removed.
|
|
10
|
-
* This line has extra indentation that will be preserved.
|
|
11
|
-
* `;
|
|
12
|
-
* // Result:
|
|
13
|
-
* // "This is a multi-line string
|
|
14
|
-
* // that will have its indentation removed.
|
|
15
|
-
* // This line has extra indentation that will be preserved."
|
|
4
|
+
* If the first line is empty, it will be ignored.
|
|
16
5
|
*/
|
|
17
|
-
export declare function dedent(strings: TemplateStringsArray, ...values:
|
|
6
|
+
export declare function dedent(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
18
7
|
//# sourceMappingURL=dedent.d.ts.map
|
package/lib/util/dedent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedent.d.ts","sourceRoot":"","sources":["../../src/util/dedent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dedent.d.ts","sourceRoot":"","sources":["../../src/util/dedent.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,UAmCzE"}
|
package/lib/util/dedent.js
CHANGED
|
@@ -1,61 +1,37 @@
|
|
|
1
|
+
import assert from "node:assert";
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
* This allows writing multi-line strings with proper indentation in the source code
|
|
4
|
-
* while removing that indentation in the output string.
|
|
3
|
+
* Tagged template literal for removing indentation from a block of text.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* const message = dedent`
|
|
8
|
-
* This is a multi-line string
|
|
9
|
-
* that will have its indentation removed.
|
|
10
|
-
* This line has extra indentation that will be preserved.
|
|
11
|
-
* `;
|
|
12
|
-
* // Result:
|
|
13
|
-
* // "This is a multi-line string
|
|
14
|
-
* // that will have its indentation removed.
|
|
15
|
-
* // This line has extra indentation that will be preserved."
|
|
5
|
+
* If the first line is empty, it will be ignored.
|
|
16
6
|
*/
|
|
17
7
|
export function dedent(strings, ...values) {
|
|
18
|
-
//
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
lines.shift();
|
|
8
|
+
// Convert template literal arguments back to a regular string
|
|
9
|
+
const raw = String.raw({ raw: strings }, ...values);
|
|
10
|
+
// Split the string by lines
|
|
11
|
+
let lines = raw.split("\n");
|
|
12
|
+
assert(lines.length > 0);
|
|
13
|
+
// If the last line is just whitespace, remove it
|
|
14
|
+
if (lines[lines.length - 1].trim() === "") {
|
|
15
|
+
lines = lines.slice(0, lines.length - 1);
|
|
27
16
|
}
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
17
|
+
// Find the minimum-length indent, excluding the first line
|
|
18
|
+
let minIndent = "";
|
|
19
|
+
// (Could use `minIndent.length` for this, but then would need to start with
|
|
20
|
+
// infinitely long string)
|
|
21
|
+
let minIndentLength = Number.POSITIVE_INFINITY;
|
|
22
|
+
for (const line of lines.slice(1)) {
|
|
23
|
+
const indent = line.match(/^[ \t]*/)?.[0];
|
|
24
|
+
if (indent != null && indent.length < minIndentLength) {
|
|
25
|
+
minIndent = indent;
|
|
26
|
+
minIndentLength = indent.length;
|
|
27
|
+
}
|
|
35
28
|
}
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
.reduce((min, line) => {
|
|
40
|
-
const indent = line.match(/^[ \t]*/)?.[0].length || 0;
|
|
41
|
-
// Handle potentially infinite min if all lines are blank (though handled by early return)
|
|
42
|
-
return indent < min ? indent : min;
|
|
43
|
-
}, Number.POSITIVE_INFINITY);
|
|
44
|
-
// If minIndent remains Infinity (only blank lines existed), return empty string.
|
|
45
|
-
// This case should be caught by the lines.length check above, but belt-and-suspenders.
|
|
46
|
-
if (minIndent === Number.POSITIVE_INFINITY) {
|
|
47
|
-
return "";
|
|
29
|
+
// If the first line is just whitespace, remove it
|
|
30
|
+
if (lines.length > 0 && lines[0].trim() === "") {
|
|
31
|
+
lines = lines.slice(1);
|
|
48
32
|
}
|
|
49
|
-
// Remove
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (line.trim().length === 0) {
|
|
53
|
-
return "";
|
|
54
|
-
}
|
|
55
|
-
// Apply dedent only to lines with content
|
|
56
|
-
return line.substring(minIndent);
|
|
57
|
-
});
|
|
58
|
-
// Join the lines back together
|
|
59
|
-
return dedented.join("\n");
|
|
33
|
+
// Remove indent from all lines, and return them all joined together
|
|
34
|
+
lines = lines.map((line) => line.startsWith(minIndent) ? line.substring(minIndent.length) : line);
|
|
35
|
+
return lines.join("\n");
|
|
60
36
|
}
|
|
61
37
|
//# sourceMappingURL=dedent.js.map
|
package/lib/util/dedent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedent.js","sourceRoot":"","sources":["../../src/util/dedent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dedent.js","sourceRoot":"","sources":["../../src/util/dedent.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAA6B,EAAE,GAAG,MAAiB;IACxE,8DAA8D;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;IACpD,4BAA4B;IAC5B,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzB,iDAAiD;IACjD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,2DAA2D;IAC3D,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,4EAA4E;IAC5E,0BAA0B;IAC1B,IAAI,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACtD,SAAS,GAAG,MAAM,CAAC;YACnB,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,oEAAoE;IACpE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.64.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Sam Goodwin <sam@alchemy.run>",
|
|
6
6
|
"homepage": "https://alchemy.run",
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
},
|
|
148
148
|
"dependencies": {
|
|
149
149
|
"@aws-sdk/credential-providers": "^3.0.0",
|
|
150
|
-
"@cloudflare/unenv-preset": "^2.6.
|
|
150
|
+
"@cloudflare/unenv-preset": "^2.6.3",
|
|
151
151
|
"@iarna/toml": "^2.2.5",
|
|
152
152
|
"@smithy/node-config-provider": "^4.0.0",
|
|
153
153
|
"aws4fetch": "^1.0.20",
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
"@aws-sdk/client-ssm": "^3.0.0",
|
|
183
183
|
"@aws-sdk/client-sts": "^3.0.0",
|
|
184
184
|
"@cloudflare/vite-plugin": "^1.10.1",
|
|
185
|
-
"@cloudflare/workers-types": "
|
|
185
|
+
"@cloudflare/workers-types": "^4.20250805.0",
|
|
186
186
|
"@libsql/client": "^0.15.12",
|
|
187
187
|
"@octokit/rest": "^21.1.1",
|
|
188
188
|
"astro": "^5.13.2",
|
|
@@ -269,6 +269,7 @@
|
|
|
269
269
|
"@types/libsodium-wrappers": "^0.7.14",
|
|
270
270
|
"@types/node": "latest",
|
|
271
271
|
"@types/ws": "^8.18.1",
|
|
272
|
+
"@workos-inc/node": "^7.69.1",
|
|
272
273
|
"arktype": "^2.1.16",
|
|
273
274
|
"astro": "^5.13.2",
|
|
274
275
|
"braintrust": "^0.0.201",
|
package/src/alchemy.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execArgv } from "node:process";
|
|
2
2
|
import { onExit } from "signal-exit";
|
|
3
|
-
import {
|
|
4
|
-
import { DestroyStrategy,
|
|
3
|
+
import { isReplacedSignal } from "./apply.ts";
|
|
4
|
+
import { DestroyStrategy, destroy, isDestroyedSignal } from "./destroy.ts";
|
|
5
5
|
import { env } from "./env.ts";
|
|
6
6
|
import {
|
|
7
7
|
ResourceFQN,
|
|
@@ -239,6 +239,10 @@ export interface AlchemyOptions {
|
|
|
239
239
|
* @default "sequential"
|
|
240
240
|
*/
|
|
241
241
|
destroyStrategy?: DestroyStrategy;
|
|
242
|
+
/**
|
|
243
|
+
* If true, children of the resource will not be destroyed (but their state will be deleted).
|
|
244
|
+
*/
|
|
245
|
+
noop?: boolean;
|
|
242
246
|
/**
|
|
243
247
|
* If true, will not print any Create/Update/Delete messages.
|
|
244
248
|
*
|
|
@@ -327,6 +331,7 @@ async function run<T>(
|
|
|
327
331
|
scopeName: id,
|
|
328
332
|
telemetryClient,
|
|
329
333
|
});
|
|
334
|
+
let noop = options?.noop ?? false;
|
|
330
335
|
try {
|
|
331
336
|
if (options?.isResource !== true && _scope.parent) {
|
|
332
337
|
// TODO(sam): this is an awful hack to differentiate between naked scopes and resources
|
|
@@ -364,13 +369,16 @@ async function run<T>(
|
|
|
364
369
|
}
|
|
365
370
|
return await _scope.run(async () => fn.bind(_scope)(_scope));
|
|
366
371
|
} catch (error) {
|
|
367
|
-
if (
|
|
368
|
-
!(error instanceof DestroyedSignal || error instanceof ReplacedSignal)
|
|
369
|
-
) {
|
|
372
|
+
if (!(isDestroyedSignal(error) || isReplacedSignal(error))) {
|
|
370
373
|
_scope.fail();
|
|
371
374
|
}
|
|
375
|
+
if (isDestroyedSignal(error)) {
|
|
376
|
+
noop = noop || error.noop;
|
|
377
|
+
}
|
|
372
378
|
throw error;
|
|
373
379
|
} finally {
|
|
374
|
-
await _scope.finalize(
|
|
380
|
+
await _scope.finalize({
|
|
381
|
+
noop,
|
|
382
|
+
});
|
|
375
383
|
}
|
|
376
384
|
}
|
package/src/apply.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type { Telemetry } from "./util/telemetry/index.ts";
|
|
|
22
22
|
export interface ApplyOptions {
|
|
23
23
|
quiet?: boolean;
|
|
24
24
|
alwaysUpdate?: boolean;
|
|
25
|
+
noop?: boolean;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export function apply<Out extends Resource>(
|
|
@@ -32,7 +33,12 @@ export function apply<Out extends Resource>(
|
|
|
32
33
|
return _apply(resource, props, options);
|
|
33
34
|
}
|
|
34
35
|
|
|
36
|
+
export function isReplacedSignal(error: any): error is ReplacedSignal {
|
|
37
|
+
return error instanceof Error && (error as any).kind === "ReplacedSignal";
|
|
38
|
+
}
|
|
39
|
+
|
|
35
40
|
export class ReplacedSignal extends Error {
|
|
41
|
+
readonly kind = "ReplacedSignal";
|
|
36
42
|
public force: boolean;
|
|
37
43
|
|
|
38
44
|
constructor(force?: boolean) {
|
|
@@ -185,6 +191,7 @@ async function _apply<Out extends Resource>(
|
|
|
185
191
|
isResource: true,
|
|
186
192
|
parent: scope,
|
|
187
193
|
destroyStrategy: provider.options?.destroyStrategy ?? "sequential",
|
|
194
|
+
noop: options?.noop,
|
|
188
195
|
},
|
|
189
196
|
async () =>
|
|
190
197
|
await provider.handler.bind(ctx)(resource[ResourceID], props),
|
|
@@ -199,6 +206,7 @@ async function _apply<Out extends Resource>(
|
|
|
199
206
|
props: state.oldProps,
|
|
200
207
|
output: oldOutput,
|
|
201
208
|
},
|
|
209
|
+
noop: options?.noop,
|
|
202
210
|
});
|
|
203
211
|
} else {
|
|
204
212
|
if (
|
|
@@ -219,7 +227,11 @@ async function _apply<Out extends Resource>(
|
|
|
219
227
|
|
|
220
228
|
output = await alchemy.run(
|
|
221
229
|
resource[ResourceID],
|
|
222
|
-
{
|
|
230
|
+
{
|
|
231
|
+
isResource: true,
|
|
232
|
+
parent: scope,
|
|
233
|
+
noop: options?.noop,
|
|
234
|
+
},
|
|
223
235
|
async () =>
|
|
224
236
|
provider.handler.bind(
|
|
225
237
|
context({
|
|
@@ -10,7 +10,7 @@ import type { AnalyticsEngineDataset } from "./analytics-engine.ts";
|
|
|
10
10
|
import type { Assets } from "./assets.ts";
|
|
11
11
|
import type { Bound } from "./bound.ts";
|
|
12
12
|
import type { BrowserRendering } from "./browser-rendering.ts";
|
|
13
|
-
import type { R2Bucket } from "./bucket.ts";
|
|
13
|
+
import type { R2Bucket, R2BucketJurisdiction } from "./bucket.ts";
|
|
14
14
|
import type { Container } from "./container.ts";
|
|
15
15
|
import type { D1Database } from "./d1-database.ts";
|
|
16
16
|
import type { DispatchNamespace } from "./dispatch-namespace.ts";
|
|
@@ -317,6 +317,8 @@ export interface WorkerBindingR2Bucket {
|
|
|
317
317
|
type: "r2_bucket";
|
|
318
318
|
/** Bucket name */
|
|
319
319
|
bucket_name: string;
|
|
320
|
+
/** Jurisdiction */
|
|
321
|
+
jurisdiction?: R2BucketJurisdiction;
|
|
320
322
|
}
|
|
321
323
|
|
|
322
324
|
/**
|
package/src/cloudflare/bucket.ts
CHANGED
|
@@ -15,6 +15,8 @@ import {
|
|
|
15
15
|
} from "./api.ts";
|
|
16
16
|
import { deleteMiniflareBinding } from "./miniflare/delete.ts";
|
|
17
17
|
|
|
18
|
+
export type R2BucketJurisdiction = "default" | "eu" | "fedramp";
|
|
19
|
+
|
|
18
20
|
/**
|
|
19
21
|
* Properties for creating or updating an R2 Bucket
|
|
20
22
|
*/
|
|
@@ -44,7 +46,7 @@ export interface BucketProps extends CloudflareApiOptions {
|
|
|
44
46
|
* Optional jurisdiction for the bucket
|
|
45
47
|
* Determines the regulatory jurisdiction the bucket data falls under
|
|
46
48
|
*/
|
|
47
|
-
jurisdiction?:
|
|
49
|
+
jurisdiction?: R2BucketJurisdiction;
|
|
48
50
|
|
|
49
51
|
/**
|
|
50
52
|
* Whether to allow public access through the r2.dev subdomain
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Plugin } from "esbuild";
|
|
2
|
+
import { dedent } from "../../util/dedent.ts";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* An esbuild plugin that will mark any `cloudflare:...` imports as external.
|
|
6
|
+
*/
|
|
7
|
+
export const cloudflareInternalPlugin: Plugin = {
|
|
8
|
+
name: "cloudflare-internal-imports",
|
|
9
|
+
setup(pluginBuild) {
|
|
10
|
+
const paths = new Set();
|
|
11
|
+
pluginBuild.onStart(() => paths.clear());
|
|
12
|
+
pluginBuild.onResolve({ filter: /^cloudflare:.*/ }, (args) => {
|
|
13
|
+
paths.add(args.path);
|
|
14
|
+
return { external: true };
|
|
15
|
+
});
|
|
16
|
+
pluginBuild.onEnd(() => {
|
|
17
|
+
if (pluginBuild.initialOptions.format === "iife" && paths.size > 0) {
|
|
18
|
+
// If we are bundling in "Service Worker" mode,
|
|
19
|
+
// imports of external modules such as `cloudflare:...`,
|
|
20
|
+
// which won't be inlined/bundled by esbuild, are invalid.
|
|
21
|
+
const pathList = new Intl.ListFormat("en-US").format(
|
|
22
|
+
Array.from(paths.keys())
|
|
23
|
+
.map((p) => `"${p}"`)
|
|
24
|
+
.sort(),
|
|
25
|
+
);
|
|
26
|
+
return {
|
|
27
|
+
errors: [
|
|
28
|
+
{
|
|
29
|
+
text: dedent`
|
|
30
|
+
Unexpected external import of ${pathList}.
|
|
31
|
+
Your worker has no default export, which means it is assumed to be a Service Worker format Worker.
|
|
32
|
+
Did you mean to create a ES Module format Worker?
|
|
33
|
+
If so, try adding \`export default { ... }\` in your entry-point.
|
|
34
|
+
See https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/.
|
|
35
|
+
`,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { builtinModules } from "node:module";
|
|
2
|
+
|
|
3
|
+
export const NODEJS_MODULES_RE = new RegExp(
|
|
4
|
+
`^(node:)?(${builtinModules
|
|
5
|
+
.filter(
|
|
6
|
+
(m) =>
|
|
7
|
+
![
|
|
8
|
+
// in some runtimes (like bun), `ws` is a built-in module but is not in `node`
|
|
9
|
+
// bundling for `nodejs_compat` should not polyfill these modules
|
|
10
|
+
"ws",
|
|
11
|
+
].includes(m),
|
|
12
|
+
)
|
|
13
|
+
.join("|")})$`,
|
|
14
|
+
);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Plugin } from "esbuild";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An esbuild plugin that will mark `node:async_hooks` imports as external.
|
|
5
|
+
*/
|
|
6
|
+
export const esbuildPluginAsyncLocalStorage: Plugin = {
|
|
7
|
+
name: "async-local-storage-imports",
|
|
8
|
+
setup(pluginBuild) {
|
|
9
|
+
pluginBuild.onResolve({ filter: /^node:async_hooks(\/|$)/ }, () => {
|
|
10
|
+
return { external: true };
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
};
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import type { Plugin, PluginBuild } from "esbuild";
|
|
6
6
|
import assert from "node:assert";
|
|
7
|
-
import
|
|
7
|
+
import { createRequire } from "node:module";
|
|
8
8
|
import nodePath from "node:path";
|
|
9
9
|
import { dedent } from "../../util/dedent.ts";
|
|
10
|
+
import { NODEJS_MODULES_RE } from "./nodejs-builtin-modules.ts";
|
|
10
11
|
|
|
11
12
|
const _require =
|
|
12
13
|
typeof require === "undefined" ? createRequire(import.meta.url) : require;
|
|
@@ -19,15 +20,34 @@ const REQUIRED_UNENV_ALIAS_NAMESPACE = "required-unenv-alias";
|
|
|
19
20
|
*
|
|
20
21
|
* @returns ESBuild plugin
|
|
21
22
|
*/
|
|
22
|
-
export function esbuildPluginHybridNodeCompat(
|
|
23
|
+
export function esbuildPluginHybridNodeCompat({
|
|
24
|
+
compatibilityDate,
|
|
25
|
+
compatibilityFlags,
|
|
26
|
+
}: {
|
|
27
|
+
compatibilityDate?: string;
|
|
28
|
+
compatibilityFlags?: string[];
|
|
29
|
+
}): Plugin {
|
|
23
30
|
return {
|
|
24
31
|
name: "hybrid-nodejs_compat",
|
|
25
|
-
|
|
32
|
+
async setup(build) {
|
|
26
33
|
// `unenv` and `@cloudflare/unenv-preset` only publish esm
|
|
27
34
|
const { defineEnv } = await import("unenv");
|
|
28
|
-
const {
|
|
35
|
+
const { getCloudflarePreset } = await import("@cloudflare/unenv-preset");
|
|
36
|
+
|
|
29
37
|
const { alias, inject, external, polyfill } = defineEnv({
|
|
30
|
-
presets: [
|
|
38
|
+
presets: [
|
|
39
|
+
getCloudflarePreset({
|
|
40
|
+
compatibilityDate,
|
|
41
|
+
compatibilityFlags,
|
|
42
|
+
}),
|
|
43
|
+
{
|
|
44
|
+
alias: {
|
|
45
|
+
// Force esbuild to use the node implementation of debug instead of unenv's no-op stub.
|
|
46
|
+
// The alias is processed by handleUnenvAliasedPackages which uses require.resolve().
|
|
47
|
+
debug: "debug",
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
],
|
|
31
51
|
npmShims: true,
|
|
32
52
|
}).env;
|
|
33
53
|
|
|
@@ -39,19 +59,6 @@ export function esbuildPluginHybridNodeCompat(): Plugin {
|
|
|
39
59
|
};
|
|
40
60
|
}
|
|
41
61
|
|
|
42
|
-
const NODEJS_MODULES_RE = new RegExp(
|
|
43
|
-
`^(node:)?(${module.builtinModules
|
|
44
|
-
.filter(
|
|
45
|
-
(m) =>
|
|
46
|
-
![
|
|
47
|
-
// in some runtimes (like bun), `ws` is a built-in module but is not in `node`
|
|
48
|
-
// bundling for `nodejs_compat` should not polyfill these modules
|
|
49
|
-
"ws",
|
|
50
|
-
].includes(m),
|
|
51
|
-
)
|
|
52
|
-
.join("|")})$`,
|
|
53
|
-
);
|
|
54
|
-
|
|
55
62
|
/**
|
|
56
63
|
* If we are bundling a "Service Worker" formatted Worker, imports of external modules,
|
|
57
64
|
* which won't be inlined/bundled by esbuild, are invalid.
|
|
@@ -108,8 +115,8 @@ function handleRequireCallsToNodeJSBuiltins(build: PluginBuild) {
|
|
|
108
115
|
({ path }) => {
|
|
109
116
|
return {
|
|
110
117
|
contents: dedent`
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
import libDefault from '${path}';
|
|
119
|
+
module.exports = libDefault;`,
|
|
113
120
|
loader: "js",
|
|
114
121
|
};
|
|
115
122
|
},
|
|
@@ -133,7 +140,7 @@ function handleUnenvAliasedPackages(
|
|
|
133
140
|
for (const [module, unresolvedAlias] of Object.entries(alias)) {
|
|
134
141
|
try {
|
|
135
142
|
aliasAbsolute[module] = _require.resolve(unresolvedAlias);
|
|
136
|
-
} catch
|
|
143
|
+
} catch {
|
|
137
144
|
// this is an alias for package that is not installed in the current app => ignore
|
|
138
145
|
}
|
|
139
146
|
}
|
|
@@ -144,17 +151,12 @@ function handleUnenvAliasedPackages(
|
|
|
144
151
|
|
|
145
152
|
build.onResolve({ filter: UNENV_ALIAS_RE }, (args) => {
|
|
146
153
|
const unresolvedAlias = alias[args.path];
|
|
147
|
-
|
|
148
154
|
// Convert `require()` calls for NPM packages to a virtual ES Module that can be imported avoiding the require calls.
|
|
149
155
|
// Note: Does not apply to Node.js packages that are handled in `handleRequireCallsToNodeJSBuiltins`
|
|
150
156
|
if (
|
|
151
157
|
args.kind === "require-call" &&
|
|
152
158
|
(unresolvedAlias.startsWith("unenv/npm/") ||
|
|
153
|
-
unresolvedAlias.startsWith("unenv/mock/")
|
|
154
|
-
// this does not exist in the original wrangler code but does seem to resolve the problem
|
|
155
|
-
// TODO(sam): is this the right solution? Why does the same code work in wrangler?
|
|
156
|
-
unresolvedAlias.startsWith("@cloudflare/unenv-preset/npm/") ||
|
|
157
|
-
unresolvedAlias.startsWith("@cloudflare/unenv-preset/mock/"))
|
|
159
|
+
unresolvedAlias.startsWith("unenv/mock/"))
|
|
158
160
|
) {
|
|
159
161
|
return {
|
|
160
162
|
path: args.path,
|
|
@@ -200,7 +202,6 @@ function handleNodeJSGlobals(
|
|
|
200
202
|
) {
|
|
201
203
|
const UNENV_VIRTUAL_MODULE_RE = /_virtual_unenv_global_polyfill-(.+)$/;
|
|
202
204
|
const prefix = nodePath.resolve(
|
|
203
|
-
// getBasePath(),
|
|
204
205
|
import.meta.dirname,
|
|
205
206
|
"_virtual_unenv_global_polyfill-",
|
|
206
207
|
);
|