v10.1.0
📦 pnpmView on GitHub →
✨ 4 features🐛 8 fixes🔧 13 symbols
Summary
This release introduces new commands (`pnpm ignored-builds`, `pnpm approve-builds`), a performance‑focused setting, and a field to ignore built dependencies, while also fixing several bugs around publishing, scripts execution, peerDependencies handling, and internal utilities.
✨ New Features
- Added `pnpm ignored-builds` command to print list of dependencies with ignored build scripts.
- Added `pnpm approve-builds` command to approve dependencies for running scripts during installation.
- Introduced `optimistic-repeat-install` setting to speed up repeat installs when everything is up‑to‑date.
- Added `pnpm.ignoredBuiltDependencies` field to explicitly list packages that should not be built.
🐛 Bug Fixes
- Publish command now validates that the package name is valid.
- `preprepare` and `postprepare` scripts are now executed during `pnpm install`.
- `workspace:` and `catalog:` prefixes are now allowed in wider version ranges for `peerDependencies`.
- `pnpm deploy` now inherits the `pnpm` object from the root `package.json`.
- Deletion of a `node_modules` folder in a sub‑project of a monorepo is detected as out‑of‑date.
- Fixed infinite loop caused by lifecycle scripts using `pnpm` with `verify-deps-before-run=install`.
- Replaced `strip-ansi` with built‑in `util.stripVTControlCharacters`.
- Patched dependencies are no longer printed as ignored dependencies that require a build.
🔧 Affected Symbols
pnpm ignored-builds commandpnpm approve-builds commandoptimistic-repeat-install settingpnpm.ignoredBuiltDependencies fieldpublish command validationpreprepare script executionpostprepare script executionpeerDependencies range handling for workspace: and catalog:pnpm deploy inheritance behaviornode_modules deletion detection in monorepoverify-deps-before-run lifecycle handlingstrip-ansi replacement with util.stripVTControlCharactersignored dependencies printing logic