Skip to content

build: record all esbuild optional platform deps in package-lock.json#30

Merged
tnj merged 2 commits into
mainfrom
fix-lockfile
Jun 1, 2026
Merged

build: record all esbuild optional platform deps in package-lock.json#30
tnj merged 2 commits into
mainfrom
fix-lockfile

Conversation

@tnj
Copy link
Copy Markdown
Member

@tnj tnj commented Jun 1, 2026

Background

After PR #29 was merged, the Release workflow (run 26742104342) failed at npm ci, so @deploygate/mcp@1.5.0 was never published to npm. The git tag and GitHub Release for v1.5.0 were already created.

Cause

The package-lock.json committed in #26 only recorded the host-platform esbuild binary (@esbuild/darwin-arm64) — 1 of the 26 optional platform packages.

  • CI (ci.yml) runs on the npm 10 bundled with Node 20, which tolerates the missing optional platform packages, so it passed.
  • The release publish path runs npm install -g npm@latest (npm 11) -> npm ci. npm 11 treats the missing optional platform packages as out-of-sync (EUSAGE) and aborts before reaching npm publish.

Fix

Regenerated package-lock.json with npm 11 so all 26 @esbuild/* platform entries are present. Verified npm ci passes under both npm 10 and npm 11 (npm 11 npm ci --dry-run succeeds). The diff is additions only (425 insertions, no deletions).

🤖 Generated with Claude Code

The lockfile committed in #26 only recorded the host-platform esbuild
binary (@esbuild/darwin-arm64). npm 10 (used by CI) tolerates the
missing optional platform packages, but the release job upgrades to
npm@latest (v11), whose `npm ci` treats them as out-of-sync and aborts
before `npm publish` — which is why the 1.5.0 release tag/GitHub release
were created but the npm package was never published.

Regenerated with npm 11 so all 26 @esbuild/* platform entries are
present and `npm ci` passes under both npm 10 and 11.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates package-lock.json to add various platform-specific @esbuild dependency packages (version 0.28.0), including support for AIX, Android, Darwin, FreeBSD, Linux, NetBSD, OpenBSD, OpenHarmony, SunOS, and Windows architectures. There are no review comments to assess, and I have no additional feedback to provide.

@tnj tnj requested a review from Copilot June 1, 2026 08:12
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tnj tnj merged commit 2896aa8 into main Jun 1, 2026
4 checks passed
@tnj tnj deleted the fix-lockfile branch June 1, 2026 08:13
tnj added a commit that referenced this pull request Jun 1, 2026
#32)

The 1.5.0 release (#29) created the git tag and GitHub Release, but the
npm publish step failed (broken lockfile, fixed separately in #30), so
1.5.0 was never published to npm. Deleting the v1.5.0 tag/Release to
retrigger publishing instead corrupted release-please's baseline
(manifest said 1.5.0 with no matching tag), causing it to propose a
bogus 1.3.1 downgrade.

Revert the 1.5.0 version bump and CHANGELOG entry so the manifest (1.4.0)
matches the existing deploygate--v1.4.0 tag. This restores a consistent
"1.4.0 released" baseline; release-please will then re-propose 1.5.0
cleanly from the feature commits since v1.4.0, and the publish will run
with the fixed lockfile (#30, retained here).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants