diff --git a/packages/util/src/cross-spawn-spawner.ts b/packages/util/src/cross-spawn-spawner.ts index e863537a66..6a8a412b95 100644 --- a/packages/util/src/cross-spawn-spawner.ts +++ b/packages/util/src/cross-spawn-spawner.ts @@ -258,7 +258,7 @@ const makeCrossSpawnSpawner = Effect.gen(function* () { return { stdout, stderr, all: Stream.merge(stdout, stderr) } } - const spawn = (command: ChildProcess.StandardCommand, opts: NodeChildProcess.SpawnOptions) => + const launchProcess = (command: ChildProcess.StandardCommand, opts: NodeChildProcess.SpawnOptions) => Effect.callback((resume) => { const signal = Deferred.makeUnsafe() const proc = launch(command.command, command.args, opts) @@ -283,6 +283,14 @@ const makeCrossSpawnSpawner = Effect.gen(function* () { }) }) + const spawn = Effect.fnUntraced(function* ( + command: ChildProcess.StandardCommand, + opts: NodeChildProcess.SpawnOptions, + ) { + yield* Effect.logInfo("spawning process", { command: command.command, args: command.args, cwd: opts.cwd }) + return yield* launchProcess(command, opts) + }) + const killGroup = ( command: ChildProcess.StandardCommand, proc: NodeChildProcess.ChildProcess,