fix(ci): add cross-platform binaries to package-lock.json#13
Merged
Conversation
The lockfile generated during the yarn->npm migration only recorded the macOS-arm64 esbuild binary and omitted fsevents, because npm prunes optional deps for other platforms from the lockfile when run on macOS. This passed npm ci on macOS but broke npm ci on ubuntu-latest in the Publish workflow (Missing: @esbuild/*@0.18.19 / fsevents@2.3.3 from lock file). Add all 22 @esbuild platform binaries (@0.18.19) and fsevents (@2.3.3) at the pinned versions. Purely additive — no dependency versions change, so the build stays on TypeScript 5.1.6 (a full regen would have drifted 140 packages incl. typescript 6.x, breaking the build).
enzomonjardin
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Publish workflow failed at
npm cionubuntu-latest:The lockfile produced during the yarn→npm migration only recorded the
@esbuild/darwin-arm64binary and omittedfsevents— npm prunes optional deps for other platforms from the lockfile whennpm installruns on macOS. Sonpm cipassed on macOS (where theValidate PRjobs run) but failed on Linux.Fix
Surgically add the 22 missing platform entries at their pinned versions:
@esbuild/*binaries@0.18.19fsevents@2.3.3This is purely additive (372 insertions, 0 deletions). No dependency versions change.
Verification
npm ci(macOS)npm run build(still TypeScript 5.1.6)npm ci --os=linux --cpu=x64 --libc=glibc --dry-run— no "missing from lock" error