Skip to content

release: v1.14.19 — fix release pipeline for real (npm 10 --ignore-scripts bug) - #308

Merged
ranxianglei merged 1 commit into
masterfrom
2026-08-15_release-v1.14.19
Aug 14, 2026
Merged

release: v1.14.19 — fix release pipeline for real (npm 10 --ignore-scripts bug)#308
ranxianglei merged 1 commit into
masterfrom
2026-08-15_release-v1.14.19

Conversation

@ranxianglei

Copy link
Copy Markdown
Owner

Problem

v1.14.18 (#306) was merged but never published — release.yml failed at the exact same verify-package.mjs step as v1.14.17. The v1.14.18 fix (npm pack --ignore-scripts) turned out to be insufficient: the CI runner uses Node 22 (npm 10.9.x), and npm 10 runs the prepare lifecycle hook during npm pack even when --ignore-scripts is passed. The flag works on npm 11 (local Node 25), which is why local verification passed but CI failed.

When prepare runs, tsup writes CLI Building entry: index.ts to stdout, breaking JSON.parse in verify-package.mjs.

Two consecutive versions (1.14.17, 1.14.18) failed to publish because of this.

Fix

Redirect the prepare build's stdout to stderr: "prepare": "npm run build 1>&2" in package.json.

  • Build output (informational) goes to stderr
  • stdout stays pure JSON regardless of npm version or whether --ignore-scripts works
  • Verified empirically with npm 10.9.9 locally: npm pack --dry-run --json returns valid JSON (173 tarball entries) both with and without --ignore-scripts
  • The --ignore-scripts flag from v1.14.18 is kept (harmless on npm 10, skips redundant rebuild on npm 11)
  • npm install github:...#branch path unaffected — prepare still runs and still builds dist/

Verification

  • npm run build: 391.59 KB ✓
  • node scripts/verify-package.mjs: passed, 173 tarball entries ✓ (npm 10.9.9 + npm 11.12.1)
  • ./scripts/ci/check-pr.sh: all checks passed ✓
  • 976 tests pass, typecheck clean

After merge

CI will auto-publish v1.14.19 to npm latest (this also finally ships everything from the unpublished 1.14.17 + 1.14.18). Then PR #307 (promote stable) needs retargeting from v1.14.18 → v1.14.19.

@github-actions

Copy link
Copy Markdown

📦 Built Plugin Artifact

Branch: 2026-08-15_release-v1.14.19 (6172d54)

Option A — Install from npm PR tag (recommended)

opencode plugin opencode-acp@pr-308 --global

Each push to this PR publishes a new version under the pr-308 npm tag.

Option B — Install from GitHub

opencode plugin "github:ranxianglei/opencode-acp#2026-08-15_release-v1.14.19" --global

Option C — Download artifact

  1. Download the artifact from the Actions run
  2. Extract the tarball and install:
tar xzf opencode-acp-pr308.tgz
cp -r package/dist ~/.cache/opencode/packages/opencode-acp@latest/node_modules/opencode-acp/dist
  1. Restart opencode to pick up changes.

This comment is automatically updated on each push.

@ranxianglei
ranxianglei merged commit d6b540e into master Aug 14, 2026
6 checks passed
@github-actions

Copy link
Copy Markdown

Published opencode-acp@1.14.19 to npm latest tag.

opencode plugin opencode-acp@latest --global

npm | GitHub Release

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.

1 participant