Files
pnpm/pnpm
Zoltan Kochan 64588da2d9 fix(workspace-state): keep the state file readable to other users (#17438)
The workspace state file was written through `private_named_tempfile_in`,
so `node_modules/.pnpm-workspace-state-v1.json` ended up 0600 while pnpm 11
left it 0644 (`fs.writeFile`). Another user could not read it, so the
deps-status check before `pnpm run` treated `node_modules` as stale and
reinstalled. A Docker image that installs as root and runs as a non-root
user hits this on every start.

Add `pnpm_fs::umask_named_tempfile_in`, which creates the temp file with
0666 narrowed by the umask, and use it for the state file. The write
stays without an fsync, as before.
2026-10-28 01:31:28 +01:00
..
2026-10-22 21:48:09 +02:00
2026-10-22 21:48:09 +02:00

pnpm v12 (pacquet)

The pnpm v12 CLI is implemented in Rust. pacquet is its in-repository package name; the published CLI and executable are named pnpm.

pnpm v12 is the target for new feature development. The TypeScript pnpm v11 CLI under ../pnpm11/ is maintained for bug fixes. Bugs present in both versions are fixed in both implementations. Bugs present in only one version are fixed in that version. New features are not backported to v11.

See CONTRIBUTING.md for development setup, debugging, testing, and benchmarking.

Benchmark