Skip to content

fix(ci): add cross-platform binaries to package-lock.json#13

Merged
baransu merged 1 commit into
mainfrom
baransu/github-actions-job-failure
Jun 2, 2026
Merged

fix(ci): add cross-platform binaries to package-lock.json#13
baransu merged 1 commit into
mainfrom
baransu/github-actions-job-failure

Conversation

@baransu
Copy link
Copy Markdown
Contributor

@baransu baransu commented Jun 2, 2026

Problem

The Publish workflow failed at npm ci on ubuntu-latest:

npm error `npm ci` can only install packages when your package.json and
package-lock.json are in sync.
npm error Missing: @esbuild/linux-x64@0.18.19 from lock file
npm error Missing: fsevents@2.3.3 from lock file   (+ 20 other platforms)

The lockfile produced during the yarn→npm migration only recorded the @esbuild/darwin-arm64 binary and omitted fsevents — npm prunes optional deps for other platforms from the lockfile when npm install runs on macOS. So npm ci passed on macOS (where the Validate PR jobs run) but failed on Linux.

Fix

Surgically add the 22 missing platform entries at their pinned versions:

  • all 22 @esbuild/* binaries @0.18.19
  • fsevents@2.3.3

This is purely additive (372 insertions, 0 deletions). No dependency versions change.

A full rm package-lock.json && npm install regen was rejected: it drifted 140 packages (incl. typescript 5.1.6 → 6.0.3 and @types/node 20.4.8 → 20.19.41), which breaks npm run build.

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

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).
@baransu baransu added the release-patch A PR that contains this label will, upon merge, trigger a patch release label Jun 2, 2026
@baransu baransu merged commit a869262 into main Jun 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-patch A PR that contains this label will, upon merge, trigger a patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants