diff --git a/packages/build/src/log/stream.ts b/packages/build/src/log/stream.ts index 27b5163bd7..da79141fc1 100644 --- a/packages/build/src/log/stream.ts +++ b/packages/build/src/log/stream.ts @@ -47,25 +47,13 @@ const pushBuildCommandOutput = function (output: string, logsArray: string[]) { logsArray.push(output) } -const pipedPluginProcesses = new WeakMap>() - // Start plugin step output -export const pipePluginOutput = function ( - childProcess: ChildProcess, - logs: Logs, - standardStreams: StandardStreams, -): LogsListeners | undefined { - if (pipedPluginProcesses.has(childProcess)) { - return pipedPluginProcesses.get(childProcess) +export const pipePluginOutput = function (childProcess: ChildProcess, logs: Logs, standardStreams: StandardStreams) { + if (!logsAreBuffered(logs)) { + return streamOutput(childProcess, standardStreams) } - const listeners = !logsAreBuffered(logs) - ? streamOutput(childProcess, standardStreams) - : pushOutputToLogs(childProcess, logs, standardStreams.outputFlusher) - - pipedPluginProcesses.set(childProcess, listeners) - - return listeners + return pushOutputToLogs(childProcess, logs, standardStreams.outputFlusher) } // Stop streaming/buffering plugin step output @@ -83,12 +71,10 @@ export const unpipePluginOutput = async function ( } unpushOutputToLogs(childProcess, listeners.stdoutListener, listeners.stderrListener) - - pipedPluginProcesses.delete(childProcess) } // Usually, we stream stdout/stderr because it is more efficient -const streamOutput = function (childProcess: ChildProcess, standardStreams: StandardStreams): undefined { +const streamOutput = function (childProcess: ChildProcess, standardStreams: StandardStreams) { childProcess.stdout?.pipe(standardStreams.stdout) childProcess.stderr?.pipe(standardStreams.stderr) }