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.
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.