From 1b0d0d14fc4f50576f9e00ba78c3b3938e134c12 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 26 Apr 2023 23:22:20 +0200 Subject: [PATCH] errors lead to consistent exit code in issue detail (vercel/turbo#4716) ### Description issue snapshots are flaky due to alternating issue detail with exist code or not. It's a race condition between process exit after sending error and process killing after receiving error. --- crates/turbopack-node/js/src/ipc/index.ts | 3 ++- crates/turbopack-node/src/render/issue.rs | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/turbopack-node/js/src/ipc/index.ts b/crates/turbopack-node/js/src/ipc/index.ts index 53abf1344bc79..d13dd6190e1f4 100644 --- a/crates/turbopack-node/js/src/ipc/index.ts +++ b/crates/turbopack-node/js/src/ipc/index.ts @@ -134,8 +134,9 @@ function createIpc( }); } catch (err) { // ignore and exit anyway + process.exit(1); } - process.exit(1); + process.exit(0); }, }; } diff --git a/crates/turbopack-node/src/render/issue.rs b/crates/turbopack-node/src/render/issue.rs index 569566c28de5d..6e234755df9f2 100644 --- a/crates/turbopack-node/src/render/issue.rs +++ b/crates/turbopack-node/src/render/issue.rs @@ -38,7 +38,9 @@ impl Issue for RenderingIssue { let mut details = vec![]; if let Some(status) = self.status { - details.push(format!("Node.js exit code: {status}")); + if status != 0 { + details.push(format!("Node.js exit code: {status}")); + } } Ok(StringVc::cell(details.join("\n")))