From 6d9d02166525e901502c7a30bfc4d617380b0912 Mon Sep 17 00:00:00 2001 From: Steven Date: Mon, 22 Jun 2026 10:16:19 -0400 Subject: [PATCH] fix: skip deprecated phantomjs-prebuilt postinstall to stabilize CI phantomjs-prebuilt (deprecated) downloads and extracts a binary from GitHub releases in its postinstall to generate lib/location.js. The extraction consistently fails on macOS/Windows ("Install exited unexpectedly"), breaking `pnpm install` and CI regardless of the change under test. Retrying does not help. The nft trace test only relies on the phantomjs-prebuilt special case emitting the bin/ directory; lib/location.js is just an install-time artifact. Disable the postinstall build (pnpm allowBuilds) so installs are reliable on every OS, and drop lib/location.js from the expected trace output accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) --- pnpm-workspace.yaml | 6 +++++- test/unit/phantomjs-prebuilt/output.js | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b52bd647..ac0ebf65 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -16,7 +16,11 @@ allowBuilds: msgpackr-extract: false nice-napi: false oracledb: false - phantomjs-prebuilt: true + # phantomjs-prebuilt (deprecated) downloads and extracts a binary from GitHub + # releases in its postinstall, which fails to extract on macOS/Windows and + # breaks CI. That postinstall only generates lib/location.js, which the trace + # test does not need. Skip the build so installs are reliable everywhere. + phantomjs-prebuilt: false protobufjs: false sharp: false unix-dgram: false diff --git a/test/unit/phantomjs-prebuilt/output.js b/test/unit/phantomjs-prebuilt/output.js index 6f4dd301..37611aec 100644 --- a/test/unit/phantomjs-prebuilt/output.js +++ b/test/unit/phantomjs-prebuilt/output.js @@ -2,7 +2,6 @@ "node_modules/es6-promise/dist/es6-promise.js", "node_modules/es6-promise/package.json", "node_modules/phantomjs-prebuilt/bin/phantomjs", - "node_modules/phantomjs-prebuilt/lib/location.js", "node_modules/phantomjs-prebuilt/lib/phantomjs.js", "node_modules/phantomjs-prebuilt/package.json", "package.json",