diff --git a/packages/core/src/utils/spawn.ts b/packages/core/src/utils/spawn.ts index 759605fe..35b2e0e0 100644 --- a/packages/core/src/utils/spawn.ts +++ b/packages/core/src/utils/spawn.ts @@ -83,11 +83,12 @@ export function safeSpawn(params: SafeSpawnParams): Promise { child.stderr.setEncoding("utf8"); const rlErr = createInterface({ input: child.stderr }); + let rl: ReturnType | undefined; if (stdoutMode === "lines") { child.stdout.setEncoding("utf8"); - const rl = createInterface({ input: child.stdout }); + rl = createInterface({ input: child.stdout }); rl.on("line", (line) => { if (onStdout) onStdout(line); @@ -107,6 +108,9 @@ export function safeSpawn(params: SafeSpawnParams): Promise { }); child.on("error", (err) => { + rlErr.close(); + rl?.close(); + resolve({ exitCode: -1, summary: lastStdout,