Skip to content

chore(js): migrate packages to pnpm - #1766

Merged
chaliy merged 7 commits into
mainfrom
2026-05-25-js-pnpm
May 25, 2026
Merged

chaliy merged 7 commits into
mainfrom
2026-05-25-js-pnpm

Conversation

@chaliy

@chaliy chaliy commented May 25, 2026

Copy link
Copy Markdown
Contributor

What

Migrate bashkit JavaScript packages, examples, and the site from npm lockfiles/install commands to pnpm 10.33.0.

Why

Use one package manager across JS surfaces while keeping Cloudflare-compatible pnpm 10 support and Node 20 JS CI compatibility.

How

  • Replaced package-lock.json files with pnpm-lock.yaml for crates/bashkit-js, examples, and site.
  • Updated GitHub Actions JS, publish-js, coverage, and site workflows to install/cache with pnpm.
  • Kept npm registry publish and verification commands for @everruns/bashkit.
  • Added pnpm build-script allowlists for esbuild, sharp, and workerd where needed.
  • Updated docs/examples/spec references from npm commands to pnpm.

Risk

  • Medium
  • JS release and site deployment workflows now rely on pnpm setup and lockfiles; native binding publishing still needs CI validation across platform matrix.

Checklist

  • Tests added or updated
  • Backward compatibility considered
  • Local JS and site smoke checks passed
  • Pre-PR checks passed

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented May 25, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
bashkit 46cc133 Commit Preview URL May 25 2026, 11:21 PM

@chaliy
chaliy merged commit 206aa72 into main May 25, 2026
37 checks passed
@chaliy
chaliy deleted the 2026-05-25-js-pnpm branch May 25, 2026 23:32
chaliy added a commit that referenced this pull request May 27, 2026
…rding (#1798)

## Summary

The v0.7.2 npm publish failed because `pnpm run build:napi -- ...`
inserts a `--` separator that napi-rs CLI treats as "forward everything
after to cargo." So `--use-napi-cross` (a napi flag) got routed to cargo
and crashed with `error: unexpected argument '--use-napi-cross' found`.
(With npm there was no inserted separator, so the flag stayed with napi
— the pnpm migration in #1766 silently changed the behaviour, but it
wasn't exercised until the v0.7.2 release run.)

Fix: replace `pnpm run build:napi -- ...` with `pnpm exec napi build
...` so napi is invoked directly with no separator inserted.

## Test plan

- [ ] CI green on this PR
- [ ] After merge, manually dispatch `publish-js.yml` on `main` — npm
should receive `@everruns/bashkit@0.7.2` (package.json on main is
already at 0.7.2 from the v0.7.2 release).


---
_Generated by [Claude
Code](https://claude.ai/code/session_019kNtzz8Ere2zoJnThMdbUY)_
chaliy added a commit that referenced this pull request May 30, 2026
## What
Migrate bashkit JavaScript packages, examples, and the site from npm
lockfiles/install commands to pnpm 10.33.0.

## Why
Use one package manager across JS surfaces while keeping
Cloudflare-compatible pnpm 10 support and Node 20 JS CI compatibility.

## How
- Replaced package-lock.json files with pnpm-lock.yaml for
crates/bashkit-js, examples, and site.
- Updated GitHub Actions JS, publish-js, coverage, and site workflows to
install/cache with pnpm.
- Kept npm registry publish and verification commands for
@everruns/bashkit.
- Added pnpm build-script allowlists for esbuild, sharp, and workerd
where needed.
- Updated docs/examples/spec references from npm commands to pnpm.

## Risk
- Medium
- JS release and site deployment workflows now rely on pnpm setup and
lockfiles; native binding publishing still needs CI validation across
platform matrix.

## Checklist
- [x] Tests added or updated
- [x] Backward compatibility considered
- [x] Local JS and site smoke checks passed
- [x] Pre-PR checks passed
chaliy added a commit that referenced this pull request May 30, 2026
…rding (#1798)

## Summary

The v0.7.2 npm publish failed because `pnpm run build:napi -- ...`
inserts a `--` separator that napi-rs CLI treats as "forward everything
after to cargo." So `--use-napi-cross` (a napi flag) got routed to cargo
and crashed with `error: unexpected argument '--use-napi-cross' found`.
(With npm there was no inserted separator, so the flag stayed with napi
— the pnpm migration in #1766 silently changed the behaviour, but it
wasn't exercised until the v0.7.2 release run.)

Fix: replace `pnpm run build:napi -- ...` with `pnpm exec napi build
...` so napi is invoked directly with no separator inserted.

## Test plan

- [ ] CI green on this PR
- [ ] After merge, manually dispatch `publish-js.yml` on `main` — npm
should receive `@everruns/bashkit@0.7.2` (package.json on main is
already at 0.7.2 from the v0.7.2 release).


---
_Generated by [Claude
Code](https://claude.ai/code/session_019kNtzz8Ere2zoJnThMdbUY)_
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