alchemy 0.62.0 → 0.62.2

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.
@@ -1,8 +1,11 @@
1
+ /** biome-ignore-all lint/suspicious/noTemplateCurlyInString: we are building a github template workflow */
1
2
  import { spinner } from "@clack/prompts";
2
- import * as fs from "fs-extra";
3
+ import fs from "fs-extra";
3
4
  import path from "node:path";
5
+ import YAML from "yaml";
4
6
  import { throwWithContext } from "../errors.ts";
5
7
  import type { ProjectContext } from "../types.ts";
8
+ import { PackageManager } from "./package-manager.ts";
6
9
 
7
10
  export async function addGitHubWorkflowToAlchemy(
8
11
  context: ProjectContext,
@@ -16,147 +19,222 @@ export async function addGitHubWorkflowToAlchemy(
16
19
  const workflowDir = path.join(context.path, ".github", "workflows");
17
20
  await fs.ensureDir(workflowDir);
18
21
 
19
- const prPreviewWorkflow = `name: Preview
20
-
21
- on:
22
- pull_request:
23
- types: [opened, reopened, synchronize, closed]
24
-
25
- # Ensure only one workflow runs at a time per PR
26
- concurrency:
27
- group: "pr-preview-\${{ github.event.pull_request.number }}"
28
- cancel-in-progress: false
29
-
30
- jobs:
31
- deploy-preview:
32
- if: \${{ github.event.action != 'closed' }}
33
- runs-on: ubuntu-latest
34
- permissions:
35
- contents: read
36
- pull-requests: write
37
- steps:
38
- - uses: actions/checkout@v4
39
-
40
- - name: Setup Bun
41
- uses: oven-sh/setup-bun@v1
42
- with:
43
- bun-version: latest
44
-
45
- - name: Install dependencies
46
- shell: bash
47
- run: bun install
48
-
49
- - name: Deploy Preview
50
- run: bun run deploy
51
- env:
52
- BRANCH_PREFIX: pr-\${{ github.event.pull_request.number }}
53
- GITHUB_SHA: \${{ github.event.pull_request.head.sha }}
54
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
55
- GITHUB_REPOSITORY_OWNER: \${{ github.repository_owner }}
56
- GITHUB_REPOSITORY_NAME: \${{ github.event.repository.name }}
57
- PULL_REQUEST: \${{ github.event.pull_request.number }}
58
- CLOUDFLARE_API_TOKEN: \${{ secrets.CLOUDFLARE_API_TOKEN }}
59
- CLOUDFLARE_ACCOUNT_ID: \${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
60
-
61
- cleanup-preview:
62
- if: \${{ github.event.action == 'closed' }}
63
- runs-on: ubuntu-latest
64
- permissions:
65
- contents: read
66
- pull-requests: write
67
- steps:
68
- - uses: actions/checkout@v4
69
-
70
- - name: Setup Bun
71
- uses: oven-sh/setup-bun@v1
72
- with:
73
- bun-version: latest
74
-
75
- - name: Install dependencies
76
- shell: bash
77
- run: bun install
78
-
79
- - name: Cleanup Preview
80
- run: bun run destroy
81
- env:
82
- BRANCH_PREFIX: pr-\${{ github.event.pull_request.number }}
83
- GITHUB_SHA: \${{ github.event.pull_request.head.sha }}
84
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
85
- GITHUB_REPOSITORY_OWNER: \${{ github.repository_owner }}
86
- GITHUB_REPOSITORY_NAME: \${{ github.event.repository.name }}
87
- PULL_REQUEST: \${{ github.event.pull_request.number }}
88
- CLOUDFLARE_API_TOKEN: \${{ secrets.CLOUDFLARE_API_TOKEN }}
89
- CLOUDFLARE_ACCOUNT_ID: \${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
90
- `;
91
-
92
- const publishWorkflow = `name: Publish
93
-
94
- on:
95
- push:
96
- branches: [main]
97
-
98
- # Ensure only one workflow runs at a time
99
- concurrency:
100
- group: "publish"
101
- cancel-in-progress: false
102
-
103
- jobs:
104
- publish:
105
- runs-on: ubuntu-latest
106
- permissions:
107
- contents: read
108
- steps:
109
- - uses: actions/checkout@v4
110
-
111
- - name: Setup Bun
112
- uses: oven-sh/setup-bun@v1
113
- with:
114
- bun-version: latest
115
-
116
- - name: Install dependencies
117
- shell: bash
118
- run: bun install
119
-
120
- - name: Deploy to Production
121
- run: bun run deploy
122
- env:
123
- STAGE: prod
124
- GITHUB_SHA: \${{ github.sha }}
125
- CLOUDFLARE_API_TOKEN: \${{ secrets.CLOUDFLARE_API_TOKEN }}
126
- CLOUDFLARE_ACCOUNT_ID: \${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
127
- `;
22
+ const pmCommands =
23
+ PackageManager[context.packageManager] ?? PackageManager.bun;
24
+ const installCmd = pmCommands.install;
25
+ const runCmd = pmCommands.run;
26
+
27
+ // Get the current Node.js major version
28
+ const nodeVersion = process.version.match(/^v(\d+)/)?.[1] || "22";
29
+
30
+ const installRuntime =
31
+ context.packageManager === "bun"
32
+ ? {
33
+ name: "Setup Bun",
34
+ uses: "oven-sh/setup-bun@v1",
35
+ with: { "bun-version": "latest" },
36
+ }
37
+ : context.packageManager === "deno"
38
+ ? {
39
+ name: "Setup Deno",
40
+ uses: "denoland/setup-deno@v1",
41
+ with: { "deno-version": "v1.x" },
42
+ }
43
+ : {
44
+ name: "Setup Node.js",
45
+ uses: "actions/setup-node@v4",
46
+ with: {
47
+ "node-version": nodeVersion,
48
+ ...(context.packageManager === "pnpm" ||
49
+ context.packageManager === "yarn"
50
+ ? { cache: context.packageManager }
51
+ : {}),
52
+ },
53
+ };
54
+
55
+ const installAdditionalPackageManager =
56
+ context.packageManager === "pnpm"
57
+ ? [
58
+ {
59
+ name: "Setup pnpm",
60
+ uses: "pnpm/action-setup@v3",
61
+ with: { version: "9" },
62
+ },
63
+ ]
64
+ : [];
65
+
66
+ const installDependencies = {
67
+ name: "Install dependencies",
68
+ shell: "bash",
69
+ run: installCmd,
70
+ };
128
71
 
129
72
  await fs.writeFile(
130
73
  path.join(workflowDir, "pr-preview.yml"),
131
- prPreviewWorkflow,
74
+ YAML.stringify({
75
+ name: "Preview",
76
+ on: {
77
+ pull_request: {
78
+ types: ["opened", "reopened", "synchronize", "closed"],
79
+ },
80
+ },
81
+ concurrency: {
82
+ group: "pr-preview-\${{ github.event.pull_request.number }}",
83
+ "cancel-in-progress": false,
84
+ },
85
+ jobs: {
86
+ "deploy-preview": {
87
+ if: "\${{ github.event.action != 'closed' }}",
88
+ "runs-on": "ubuntu-latest",
89
+ permissions: {
90
+ contents: "read",
91
+ "pull-requests": "write",
92
+ },
93
+ steps: [
94
+ { uses: "actions/checkout@v4" },
95
+ installRuntime,
96
+ ...installAdditionalPackageManager,
97
+ installDependencies,
98
+ {
99
+ name: "Deploy Preview",
100
+ run: `${runCmd} deploy --stage pr-\${{ github.event.pull_request.number }}`,
101
+ env: {
102
+ GITHUB_SHA: "${{ github.event.pull_request.head.sha }}",
103
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}",
104
+ GITHUB_REPOSITORY_OWNER: "${{ github.repository_owner }}",
105
+ GITHUB_REPOSITORY_NAME: "${{ github.event.repository.name }}",
106
+ PULL_REQUEST: "${{ github.event.pull_request.number }}",
107
+ CLOUDFLARE_EMAIL: "${{ secrets.CLOUDFLARE_EMAIL }}",
108
+ CLOUDFLARE_API_TOKEN: "${{ secrets.CLOUDFLARE_API_TOKEN }}",
109
+ CLOUDFLARE_ACCOUNT_ID: "${{ secrets.CLOUDFLARE_ACCOUNT_ID }}",
110
+ ALCHEMY_PASSWORD: "${{ secrets.ALCHEMY_PASSWORD }}",
111
+ ALCHEMY_STATE_TOKEN: "${{ secrets.ALCHEMY_STATE_TOKEN }}",
112
+ },
113
+ },
114
+ ],
115
+ },
116
+ "cleanup-preview": {
117
+ if: "${{ github.event.action == 'closed' }}",
118
+ "runs-on": "ubuntu-latest",
119
+ permissions: {
120
+ contents: "read",
121
+ "pull-requests": "write",
122
+ },
123
+ steps: [
124
+ { uses: "actions/checkout@v4" },
125
+ installRuntime,
126
+ ...installAdditionalPackageManager,
127
+ installDependencies,
128
+ {
129
+ name: "Cleanup Preview",
130
+ run: `${runCmd} destroy`,
131
+ env: {
132
+ GITHUB_SHA: "${{ github.event.pull_request.head.sha }}",
133
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}",
134
+ GITHUB_REPOSITORY_OWNER: "${{ github.repository_owner }}",
135
+ GITHUB_REPOSITORY_NAME: "${{ github.event.repository.name }}",
136
+ PULL_REQUEST: "${{ github.event.pull_request.number }}",
137
+ CLOUDFLARE_EMAIL: "${{ secrets.CLOUDFLARE_EMAIL }}",
138
+ CLOUDFLARE_API_TOKEN: "${{ secrets.CLOUDFLARE_API_TOKEN }}",
139
+ CLOUDFLARE_ACCOUNT_ID: "${{ secrets.CLOUDFLARE_ACCOUNT_ID }}",
140
+ ALCHEMY_PASSWORD: "${{ secrets.ALCHEMY_PASSWORD }}",
141
+ ALCHEMY_STATE_TOKEN: "${{ secrets.ALCHEMY_STATE_TOKEN }}",
142
+ },
143
+ },
144
+ ],
145
+ },
146
+ },
147
+ } as const),
148
+ );
149
+ await fs.writeFile(
150
+ path.join(workflowDir, "publish.yml"),
151
+ YAML.stringify({
152
+ name: "Publish",
153
+ on: {
154
+ push: {
155
+ branches: ["main"],
156
+ },
157
+ },
158
+ concurrency: {
159
+ group: "publish",
160
+ "cancel-in-progress": false,
161
+ },
162
+ jobs: {
163
+ publish: {
164
+ "runs-on": "ubuntu-latest",
165
+ permissions: {
166
+ contents: "read",
167
+ },
168
+ steps: [
169
+ { uses: "actions/checkout@v4" },
170
+ context.packageManager === "bun"
171
+ ? {
172
+ name: "Setup Bun",
173
+ uses: "oven-sh/setup-bun@v1",
174
+ with: { "bun-version": "latest" },
175
+ }
176
+ : context.packageManager === "deno"
177
+ ? {
178
+ name: "Setup Deno",
179
+ uses: "denoland/setup-deno@v1",
180
+ with: { "deno-version": "v1.x" },
181
+ }
182
+ : {
183
+ name: "Setup Node.js",
184
+ uses: "actions/setup-node@v4",
185
+ with: {
186
+ "node-version": nodeVersion,
187
+ ...(context.packageManager === "pnpm" ||
188
+ context.packageManager === "yarn"
189
+ ? { cache: context.packageManager }
190
+ : {}),
191
+ },
192
+ },
193
+ ...(context.packageManager === "pnpm"
194
+ ? [
195
+ {
196
+ name: "Setup pnpm",
197
+ uses: "pnpm/action-setup@v3",
198
+ with: { version: "9" },
199
+ },
200
+ ]
201
+ : []),
202
+ { name: "Install dependencies", shell: "bash", run: installCmd },
203
+ {
204
+ name: "Deploy to Production",
205
+ run: `${runCmd} deploy`,
206
+ env: {
207
+ STAGE: "prod",
208
+ GITHUB_SHA: "${{ github.sha }}",
209
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}",
210
+ CLOUDFLARE_EMAIL: "${{ secrets.CLOUDFLARE_EMAIL }}",
211
+ CLOUDFLARE_API_TOKEN: "${{ secrets.CLOUDFLARE_API_TOKEN }}",
212
+ CLOUDFLARE_ACCOUNT_ID: "${{ secrets.CLOUDFLARE_ACCOUNT_ID }}",
213
+ ALCHEMY_PASSWORD: "${{ secrets.ALCHEMY_PASSWORD }}",
214
+ ALCHEMY_STATE_TOKEN: "${{ secrets.ALCHEMY_STATE_TOKEN }}",
215
+ },
216
+ },
217
+ ],
218
+ },
219
+ },
220
+ } as const),
132
221
  );
133
- await fs.writeFile(path.join(workflowDir, "publish.yml"), publishWorkflow);
134
222
 
135
223
  let code = await fs.readFile(alchemyFilePath, "utf-8");
136
224
 
137
225
  const alchemyImportRegex = /(import alchemy from "alchemy";)/;
138
226
  const alchemyImportMatch = code.match(alchemyImportRegex);
139
227
  if (alchemyImportMatch) {
140
- const githubImport = '\nimport { GitHubComment } from "alchemy/github";';
228
+ const githubImport = `\nimport { GitHubComment } from "alchemy/github";
229
+ import { CloudflareStateStore } from "alchemy/state";`;
141
230
  code = code.replace(alchemyImportRegex, `$1${githubImport}`);
142
231
  }
143
232
 
144
233
  const lastImportRegex = /import[^;]+from[^;]+;(\s*\n)*/g;
145
234
  let lastImportMatch;
146
- let lastImportEnd = 0;
147
235
 
148
236
  while ((lastImportMatch = lastImportRegex.exec(code)) !== null) {
149
- lastImportEnd = lastImportMatch.index + lastImportMatch[0].length;
150
- }
151
-
152
- if (lastImportEnd > 0) {
153
- const stageVariable = `
154
- const stage = process.env.STAGE || process.env.BRANCH_PREFIX || "dev";
155
- `;
156
- code =
157
- code.slice(0, lastImportEnd) +
158
- stageVariable +
159
- code.slice(lastImportEnd);
237
+ lastImportMatch.index + lastImportMatch[0].length;
160
238
  }
161
239
 
162
240
  const appCallRegex = /const app = await alchemy\("([^"]+)"\);/;
@@ -166,29 +244,11 @@ const stage = process.env.STAGE || process.env.BRANCH_PREFIX || "dev";
166
244
  code = code.replace(
167
245
  appCallRegex,
168
246
  `const app = await alchemy("${appName}", {
169
- stage,
247
+ stateStore: (scope) => new CloudflareStateStore(scope),
170
248
  });`,
171
249
  );
172
250
  }
173
251
 
174
- const cloudflareResourceRegex =
175
- /(await (?:Worker|TanStackStart|Nuxt|Astro|Website|SvelteKit|Redwood|ReactRouter|Vite)\([^,]+,\s*{[^}]*)(}\);)/g;
176
- code = code.replace(
177
- cloudflareResourceRegex,
178
- (match, beforeClosing, closing) => {
179
- if (beforeClosing.includes("version:")) {
180
- return match;
181
- }
182
-
183
- const hasTrailingComma = beforeClosing.trim().endsWith(",");
184
- const versionProp = hasTrailingComma
185
- ? ` version: stage === "prod" ? undefined : stage,\n`
186
- : `,\n version: stage === "prod" ? undefined : stage,\n`;
187
-
188
- return beforeClosing + versionProp + closing;
189
- },
190
- );
191
-
192
252
  const finalizeRegex = /(await app\.finalize\(\);)/;
193
253
  const finalizeMatch = code.match(finalizeRegex);
194
254
  if (finalizeMatch) {
@@ -54,6 +54,8 @@ export async function copyTemplate(
54
54
  await fs.copy(srcPath, destPath);
55
55
  }
56
56
 
57
+ await substituteProjectName(context);
58
+
57
59
  await updateTemplatePackageJson(context);
58
60
 
59
61
  await addPackageDependencies({
@@ -83,6 +85,13 @@ export async function copyTemplate(
83
85
  }
84
86
  }
85
87
 
88
+ async function substituteProjectName(context: ProjectContext): Promise<void> {
89
+ const alchemyFile = join(context.path, "alchemy.run.ts");
90
+ const code = await fs.readFile(alchemyFile, "utf8");
91
+ const newCode = code.replace("{projectName}", context.name);
92
+ await fs.writeFile(alchemyFile, newCode);
93
+ }
94
+
86
95
  async function updateTemplatePackageJson(
87
96
  context: ProjectContext,
88
97
  ): Promise<void> {
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
3
3
  */
4
- export declare const DEFAULT_COMPATIBILITY_DATE = "2025-08-13";
4
+ export declare const DEFAULT_COMPATIBILITY_DATE = "2025-08-16";
5
5
  //# sourceMappingURL=compatibility-date.gen.d.ts.map
@@ -3,5 +3,5 @@
3
3
  /**
4
4
  * The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
5
5
  */
6
- export const DEFAULT_COMPATIBILITY_DATE = "2025-08-13";
6
+ export const DEFAULT_COMPATIBILITY_DATE = "2025-08-16";
7
7
  //# sourceMappingURL=compatibility-date.gen.js.map
@@ -1,4 +1,5 @@
1
1
  import { type AdapterOptions } from "@sveltejs/adapter-cloudflare";
2
- declare const _default: (options?: AdapterOptions) => import("@sveltejs/kit").Adapter;
2
+ import type { Adapter } from "@sveltejs/kit";
3
+ declare const _default: (options?: AdapterOptions) => Adapter;
3
4
  export default _default;
4
5
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/sveltekit/plugin.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;yBAG5D,UAAU,cAAc;AAAxC,wBAQE"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/sveltekit/plugin.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;yBAO7B,UAAU,cAAc,KAAG,OAAO;AAAlD,wBAgBE"}
@@ -1,6 +1,15 @@
1
1
  import adapter, {} from "@sveltejs/adapter-cloudflare";
2
2
  import { getPlatformProxyOptions } from "../cloudflare-env-proxy.js";
3
+ const isSvelteLanguageServer = !!process.argv.find((arg) => arg.includes("svelte-language-server"));
3
4
  export default (options) => {
5
+ if (isSvelteLanguageServer) {
6
+ // the svelte language server runs from the root and therefore may be running in a different cwd than the `Website.cwd`
7
+ // for now, we work around this by returning a noop adapter to avoid breaking svelte intellisense
8
+ return {
9
+ adapt() { },
10
+ name: "alchemy-noop",
11
+ };
12
+ }
4
13
  const { platformProxy: proxyOptions, ...config } = options ?? {};
5
14
  const platformProxy = getPlatformProxyOptions(proxyOptions);
6
15
  return adapter({
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cloudflare/sveltekit/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAuB,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,eAAe,CAAC,OAAwB,EAAE,EAAE;IAC1C,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACjE,MAAM,aAAa,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC;QACb,aAAa;QACb,MAAM,EAAE,aAAa,CAAC,UAAU;QAChC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cloudflare/sveltekit/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAuB,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,sBAAsB,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACzD,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CACvC,CAAC;AAEF,eAAe,CAAC,OAAwB,EAAW,EAAE;IACnD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,uHAAuH;QACvH,iGAAiG;QACjG,OAAO;YACL,KAAK,KAAI,CAAC;YACV,IAAI,EAAE,cAAc;SACrB,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACjE,MAAM,aAAa,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC;QACb,aAAa;QACb,MAAM,EAAE,aAAa,CAAC,UAAU;QAChC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
package/lib/scope.js CHANGED
@@ -142,12 +142,13 @@ export class Scope {
142
142
  const dotAlchemy = path.join(process.cwd(), ".alchemy");
143
143
  const logsDir = path.join(dotAlchemy, "logs");
144
144
  const pidsDir = path.join(dotAlchemy, "pids");
145
- const extracted = await idempotentSpawn({
145
+ const result = await idempotentSpawn({
146
146
  log: path.join(logsDir, `${id}.log`),
147
147
  stateFile: path.join(pidsDir, `${id}.pid.json`),
148
148
  ...options,
149
149
  });
150
- return extracted;
150
+ this.onCleanup(result.stop);
151
+ return result.extracted;
151
152
  }
152
153
  /**
153
154
  * @internal
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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"}
@@ -20,5 +20,8 @@ export interface IdempotentSpawnOptions {
20
20
  *
21
21
  * Use: await ensureLoggedChildAndMirror({ cmd: "vite dev" })
22
22
  */
23
- export declare function idempotentSpawn({ cmd, cwd, env, stateFile, overlapBytes, resume, log, processName, extract, isSameProcess, quiet, }: IdempotentSpawnOptions): Promise<string | undefined>;
23
+ export declare function idempotentSpawn({ cmd, cwd, env, stateFile, overlapBytes, resume, log, processName, extract, isSameProcess, quiet, }: IdempotentSpawnOptions): Promise<{
24
+ extracted: Promise<string | undefined>;
25
+ stop: () => Promise<void>;
26
+ }>;
24
27
  //# sourceMappingURL=idempotent-spawn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"idempotent-spawn.d.ts","sourceRoot":"","sources":["../../src/util/idempotent-spawn.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,EACpC,GAAG,EACH,GAAG,EACH,GAAG,EACH,SAAwB,EACxB,YAAgB,EAChB,MAAc,EACd,GAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,KAAa,GACd,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqQtD"}
1
+ {"version":3,"file":"idempotent-spawn.d.ts","sourceRoot":"","sources":["../../src/util/idempotent-spawn.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,EACpC,GAAG,EACH,GAAG,EACH,GAAG,EACH,SAAwB,EACxB,YAAgB,EAChB,MAAc,EACd,GAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,KAAa,GACd,EAAE,sBAAsB,GAAG,OAAO,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC,CA4RD"}
@@ -22,7 +22,7 @@ export async function idempotentSpawn({ cmd, cwd, env, stateFile = "state.json",
22
22
  if (!extract) {
23
23
  resolveExtracted(undefined);
24
24
  }
25
- await ensureChildRunning();
25
+ const pid = await ensureChildRunning();
26
26
  const write = quiet
27
27
  ? () => false
28
28
  : (buf) => process.stdout.write(buf);
@@ -31,7 +31,10 @@ export async function idempotentSpawn({ cmd, cwd, env, stateFile = "state.json",
31
31
  stateKey: `${path.resolve(outPath)}::stdout`,
32
32
  write,
33
33
  });
34
- return extracted;
34
+ return {
35
+ extracted,
36
+ stop: async () => (pid ? await kill(pid) : undefined),
37
+ };
35
38
  function isPidAlive(pid) {
36
39
  if (!pid || Number.isNaN(pid))
37
40
  return false;
@@ -233,5 +236,26 @@ export async function idempotentSpawn({ cmd, cwd, env, stateFile = "state.json",
233
236
  });
234
237
  }
235
238
  }
239
+ async function kill(pid) {
240
+ // 1. Kill with SIGTERM
241
+ try {
242
+ process.kill(pid, "SIGTERM");
243
+ }
244
+ catch {
245
+ return;
246
+ }
247
+ // 2. Detect if it's still running.
248
+ // The process appears to remain in the process table even after it's exited, so `isPidAlive` will return true.
249
+ // However, if it's in the table, `find-process` will return it with a name of "<defunct>", so we can detect that instead.
250
+ const { default: find } = await import("find-process");
251
+ const processes = await find("pid", pid);
252
+ if (processes.some((p) => p.name !== "<defunct>")) {
253
+ // 3. If it's still running, kill with SIGKILL
254
+ try {
255
+ process.kill(pid, "SIGKILL");
256
+ }
257
+ catch { }
258
+ }
259
+ }
236
260
  }
237
261
  //# sourceMappingURL=idempotent-spawn.js.map