Skip to content

Switch from npm to pnpm - #201

Merged
lehni merged 1 commit into
nextfrom
chore/pnpm
Oct 11, 2026
Merged

lehni merged 1 commit into
nextfrom
chore/pnpm

Conversation

@lehni

@lehni lehni commented Oct 11, 2026 •

Copy link
Copy Markdown

Switch the development tooling of next from npm to pnpm (from #198, was #136):

  • pnpm-lock.yaml, converted from package-lock.json with pnpm import, so it has the same resolved versions, and "packageManager": "pnpm@12.9.0".
  • pnpm-workspace.yaml allows the build script of sqlite3. It also sets esbuild to false, because pnpm 12 fails the install for unapproved build scripts, and esbuild's script only checks its binary, which comes from an optional dependency anyway. pnpm 12 calls this setting allowBuilds, not onlyBuiltDependencies.
  • tedious is ^20.3.0, locked to 20.3.6: pnpm only installs packages older than a day by default (minimumReleaseAge), and 20.3.7 was younger than that.
  • peggy 5.1.0 is a devDependency, so build:parsers no longer needs npx.
  • CI and the docs workflow run pnpm/action-setup@v6 and pnpm install --frozen-lockfile.
  • contributing.md, the docker-compose comments and the test session's hint use pnpm. The user-facing install docs and the standalone examples keep npm install.

pnpm pack and npm pack produce the same files. lib/ and typings/ are identical, and package.json only differs in the changed scripts and devDependencies, plus pnpm moving scripts to the end. Locally the full suite passes (5916 tests, lint, typings), and so do the parser check, TypeScript 5.1 and the docs build.

@lehni lehni added the 4.0 Breaking change, deferred to 4.0 (#53) label Oct 11, 2026
@lehni
lehni merged commit 12e9123 into next Oct 11, 2026
6 checks passed
This was referenced Oct 12, 2026
@lehni
lehni deleted the chore/pnpm branch October 12, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.0 Breaking change, deferred to 4.0 (#53)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant