From e15cc3af6f16f1f4d7de8b4f8279800f9f069338 Mon Sep 17 00:00:00 2001 From: Michal Piechowiak Date: Thu, 6 Nov 2025 18:34:58 +0100 Subject: [PATCH] Revert "fix: don't pipe plugin output more than once at the time (#6765)" This reverts commit 08dad8dad97d4748b4f83f2027181fa5b6456f80. --- packages/build/src/log/stream.ts | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) 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) }