alchemy 0.62.0 → 0.62.1
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 +512 -472
- package/bin/services/github-workflow.ts +204 -142
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/sveltekit/plugin.d.ts +2 -1
- package/lib/cloudflare/sveltekit/plugin.d.ts.map +1 -1
- package/lib/cloudflare/sveltekit/plugin.js +9 -0
- package/lib/cloudflare/sveltekit/plugin.js.map +1 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +3 -2
- package/lib/scope.js.map +1 -1
- package/lib/util/idempotent-spawn.d.ts +4 -1
- package/lib/util/idempotent-spawn.d.ts.map +1 -1
- package/lib/util/idempotent-spawn.js +26 -2
- package/lib/util/idempotent-spawn.js.map +1 -1
- package/package.json +1 -1
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/sveltekit/plugin.ts +14 -1
- package/src/scope.ts +4 -3
- package/src/util/idempotent-spawn.ts +29 -3
- package/templates/astro/alchemy.run.ts +4 -2
- package/templates/nuxt/alchemy.run.ts +4 -2
- package/templates/react-router/alchemy.run.ts +4 -2
- package/templates/rwsdk/alchemy.run.ts +3 -3
- package/templates/sveltekit/alchemy.run.ts +4 -2
- package/templates/tanstack-start/alchemy.run.ts +4 -2
- package/templates/typescript/alchemy.run.ts +2 -2
- package/templates/vite/alchemy.run.ts +3 -2
- package/templates/vite/src/worker.ts +13 -0
- package/templates/vite/tsconfig.json +0 -1
- package/templates/vite/worker/index.ts +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotent-spawn.js","sourceRoot":"","sources":["../../src/util/idempotent-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmBxC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,GAAG,EACH,GAAG,EACH,GAAG,EACH,SAAS,GAAG,YAAY,EACxB,YAAY,GAAG,CAAC,EAChB,MAAM,GAAG,KAAK,EACd,GAAG,GAAG,SAAS,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,KAAK,GAAG,KAAK,GACU;
|
|
1
|
+
{"version":3,"file":"idempotent-spawn.js","sourceRoot":"","sources":["../../src/util/idempotent-spawn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import adapter, { type AdapterOptions } from "@sveltejs/adapter-cloudflare";
|
|
2
|
+
import type { Adapter } from "@sveltejs/kit";
|
|
2
3
|
import { getPlatformProxyOptions } from "../cloudflare-env-proxy.ts";
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
const isSvelteLanguageServer = !!process.argv.find((arg) =>
|
|
6
|
+
arg.includes("svelte-language-server"),
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
export default (options?: AdapterOptions): Adapter => {
|
|
10
|
+
if (isSvelteLanguageServer) {
|
|
11
|
+
// the svelte language server runs from the root and therefore may be running in a different cwd than the `Website.cwd`
|
|
12
|
+
// for now, we work around this by returning a noop adapter to avoid breaking svelte intellisense
|
|
13
|
+
return {
|
|
14
|
+
adapt() {},
|
|
15
|
+
name: "alchemy-noop",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
5
18
|
const { platformProxy: proxyOptions, ...config } = options ?? {};
|
|
6
19
|
const platformProxy = getPlatformProxyOptions(proxyOptions);
|
|
7
20
|
return adapter({
|
package/src/scope.ts
CHANGED
|
@@ -293,17 +293,18 @@ export class Scope {
|
|
|
293
293
|
// TODO(sam): validate uniqueness? Ensure a flat .logs/${id}.log dir? Or nest in scope dirs?
|
|
294
294
|
id: string,
|
|
295
295
|
options: Omit<IdempotentSpawnOptions, "log" | "stateFile">,
|
|
296
|
-
) {
|
|
296
|
+
): Promise<E extends undefined ? undefined : string> {
|
|
297
297
|
const dotAlchemy = path.join(process.cwd(), ".alchemy");
|
|
298
298
|
const logsDir = path.join(dotAlchemy, "logs");
|
|
299
299
|
const pidsDir = path.join(dotAlchemy, "pids");
|
|
300
300
|
|
|
301
|
-
const
|
|
301
|
+
const result = await idempotentSpawn({
|
|
302
302
|
log: path.join(logsDir, `${id}.log`),
|
|
303
303
|
stateFile: path.join(pidsDir, `${id}.pid.json`),
|
|
304
304
|
...options,
|
|
305
305
|
});
|
|
306
|
-
|
|
306
|
+
this.onCleanup(result.stop);
|
|
307
|
+
return result.extracted as any;
|
|
307
308
|
}
|
|
308
309
|
|
|
309
310
|
/**
|
|
@@ -39,7 +39,10 @@ export async function idempotentSpawn({
|
|
|
39
39
|
extract,
|
|
40
40
|
isSameProcess,
|
|
41
41
|
quiet = false,
|
|
42
|
-
}: IdempotentSpawnOptions): Promise<
|
|
42
|
+
}: IdempotentSpawnOptions): Promise<{
|
|
43
|
+
extracted: Promise<string | undefined>;
|
|
44
|
+
stop: () => Promise<void>;
|
|
45
|
+
}> {
|
|
43
46
|
if (!processName && !isSameProcess) {
|
|
44
47
|
processName = cmd.split(" ")[0];
|
|
45
48
|
}
|
|
@@ -57,7 +60,7 @@ export async function idempotentSpawn({
|
|
|
57
60
|
resolveExtracted(undefined);
|
|
58
61
|
}
|
|
59
62
|
|
|
60
|
-
await ensureChildRunning();
|
|
63
|
+
const pid = await ensureChildRunning();
|
|
61
64
|
|
|
62
65
|
const write = quiet
|
|
63
66
|
? () => false
|
|
@@ -69,7 +72,10 @@ export async function idempotentSpawn({
|
|
|
69
72
|
write,
|
|
70
73
|
});
|
|
71
74
|
|
|
72
|
-
return
|
|
75
|
+
return {
|
|
76
|
+
extracted,
|
|
77
|
+
stop: async () => (pid ? await kill(pid) : undefined),
|
|
78
|
+
};
|
|
73
79
|
|
|
74
80
|
function isPidAlive(pid: number) {
|
|
75
81
|
if (!pid || Number.isNaN(pid)) return false;
|
|
@@ -300,4 +306,24 @@ export async function idempotentSpawn({
|
|
|
300
306
|
});
|
|
301
307
|
}
|
|
302
308
|
}
|
|
309
|
+
|
|
310
|
+
async function kill(pid: number) {
|
|
311
|
+
// 1. Kill with SIGTERM
|
|
312
|
+
try {
|
|
313
|
+
process.kill(pid, "SIGTERM");
|
|
314
|
+
} catch {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
// 2. Detect if it's still running.
|
|
318
|
+
// The process appears to remain in the process table even after it's exited, so `isPidAlive` will return true.
|
|
319
|
+
// However, if it's in the table, `find-process` will return it with a name of "<defunct>", so we can detect that instead.
|
|
320
|
+
const { default: find } = await import("find-process");
|
|
321
|
+
const processes = await find("pid", pid);
|
|
322
|
+
if (processes.some((p) => p.name !== "<defunct>")) {
|
|
323
|
+
// 3. If it's still running, kill with SIGKILL
|
|
324
|
+
try {
|
|
325
|
+
process.kill(pid, "SIGKILL");
|
|
326
|
+
} catch {}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
303
329
|
}
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import alchemy from "alchemy";
|
|
4
4
|
import { Astro } from "alchemy/cloudflare";
|
|
5
5
|
|
|
6
|
-
const app = await alchemy("
|
|
6
|
+
const app = await alchemy("{projectName}");
|
|
7
7
|
|
|
8
|
-
export const worker = await Astro("website"
|
|
8
|
+
export const worker = await Astro("website", {
|
|
9
|
+
name: `${app.name}-${app.stage}-website`,
|
|
10
|
+
});
|
|
9
11
|
|
|
10
12
|
console.log({
|
|
11
13
|
url: worker.url,
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import alchemy from "alchemy";
|
|
4
4
|
import { Nuxt } from "alchemy/cloudflare";
|
|
5
5
|
|
|
6
|
-
const app = await alchemy("
|
|
6
|
+
const app = await alchemy("{projectName}");
|
|
7
7
|
|
|
8
|
-
export const worker = await Nuxt("website"
|
|
8
|
+
export const worker = await Nuxt("website", {
|
|
9
|
+
name: `${app.name}-${app.stage}-website`,
|
|
10
|
+
});
|
|
9
11
|
|
|
10
12
|
console.log({
|
|
11
13
|
url: worker.url,
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import alchemy from "alchemy";
|
|
4
4
|
import { ReactRouter } from "alchemy/cloudflare";
|
|
5
5
|
|
|
6
|
-
const app = await alchemy("
|
|
6
|
+
const app = await alchemy("{projectName}");
|
|
7
7
|
|
|
8
|
-
export const worker = await ReactRouter("website"
|
|
8
|
+
export const worker = await ReactRouter("website", {
|
|
9
|
+
name: `${app.name}-${app.stage}-website`,
|
|
10
|
+
});
|
|
9
11
|
|
|
10
12
|
console.log({
|
|
11
13
|
url: worker.url,
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
import alchemy from "alchemy";
|
|
3
3
|
import { D1Database, DurableObjectNamespace, Redwood } from "alchemy/cloudflare";
|
|
4
4
|
|
|
5
|
-
const app = await alchemy("
|
|
5
|
+
const app = await alchemy("{projectName}");
|
|
6
6
|
|
|
7
7
|
const database = await D1Database("database", {
|
|
8
|
-
name:
|
|
8
|
+
name: `${app.name}-${app.stage}-database`,
|
|
9
9
|
migrationsDir: "migrations",
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
export const worker = await Redwood("website", {
|
|
13
|
-
name:
|
|
13
|
+
name: `${app.name}-${app.stage}-website`,
|
|
14
14
|
bindings: {
|
|
15
15
|
AUTH_SECRET_KEY: alchemy.secret(process.env.AUTH_SECRET_KEY),
|
|
16
16
|
DB: database,
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import alchemy from "alchemy";
|
|
4
4
|
import { SvelteKit } from "alchemy/cloudflare";
|
|
5
5
|
|
|
6
|
-
const app = await alchemy("
|
|
6
|
+
const app = await alchemy("{projectName}");
|
|
7
7
|
|
|
8
|
-
export const worker = await SvelteKit("website"
|
|
8
|
+
export const worker = await SvelteKit("website", {
|
|
9
|
+
name: `${app.name}-${app.stage}-website`,
|
|
10
|
+
});
|
|
9
11
|
|
|
10
12
|
console.log({
|
|
11
13
|
url: worker.url,
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import alchemy from "alchemy";
|
|
4
4
|
import { TanStackStart } from "alchemy/cloudflare";
|
|
5
5
|
|
|
6
|
-
const app = await alchemy("
|
|
6
|
+
const app = await alchemy("{projectName}");
|
|
7
7
|
|
|
8
|
-
export const worker = await TanStackStart("website"
|
|
8
|
+
export const worker = await TanStackStart("website", {
|
|
9
|
+
name: `${app.name}-${app.stage}-website`,
|
|
10
|
+
});
|
|
9
11
|
|
|
10
12
|
console.log({
|
|
11
13
|
url: worker.url,
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import alchemy from "alchemy";
|
|
4
4
|
import { Worker } from "alchemy/cloudflare";
|
|
5
5
|
|
|
6
|
-
const app = await alchemy("
|
|
6
|
+
const app = await alchemy("{projectName}");
|
|
7
7
|
|
|
8
8
|
export const worker = await Worker("worker", {
|
|
9
|
-
name:
|
|
9
|
+
name: `${app.name}-${app.stage}-website`,
|
|
10
10
|
entrypoint: "src/worker.ts",
|
|
11
11
|
});
|
|
12
12
|
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import alchemy from "alchemy";
|
|
4
4
|
import { Vite } from "alchemy/cloudflare";
|
|
5
5
|
|
|
6
|
-
const app = await alchemy("
|
|
6
|
+
const app = await alchemy("{projectName}");
|
|
7
7
|
|
|
8
8
|
export const worker = await Vite("website", {
|
|
9
|
-
|
|
9
|
+
name: `${app.name}-${app.stage}-website`,
|
|
10
|
+
entrypoint: "src/worker.ts",
|
|
10
11
|
});
|
|
11
12
|
|
|
12
13
|
console.log({
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
fetch(request) {
|
|
3
|
+
const url = new URL(request.url);
|
|
4
|
+
|
|
5
|
+
if (url.pathname.startsWith("/api/")) {
|
|
6
|
+
return Response.json({
|
|
7
|
+
name: "Cloudflare",
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
return new Response(null, { status: 404 });
|
|
11
|
+
},
|
|
12
|
+
} satisfies ExportedHandler<Env>;
|
|
13
|
+
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
fetch(request) {
|
|
3
|
-
const url = new URL(request.url);
|
|
4
|
-
|
|
5
|
-
if (url.pathname.startsWith("/api/")) {
|
|
6
|
-
return Response.json({
|
|
7
|
-
name: "Cloudflare",
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
return new Response(null, { status: 404 });
|
|
11
|
-
},
|
|
12
|
-
} satisfies ExportedHandler<Env>;
|