Skip to content

Commit d7c4917

Browse files
chore(deps): update npm packages (major) (#6)
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`9.7.0` → `10.28.1`](https://renovatebot.com/diffs/npm/pnpm/9.7.0/10.28.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.28.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.28.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.7.0/10.28.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.7.0/10.28.1?slim=true) | | [vitest](https://vitest.dev) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`^2.0.5` → `^4.0.0`](https://renovatebot.com/diffs/npm/vitest/2.0.5/4.0.18) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.0.18?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.0.18?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/2.0.5/4.0.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/2.0.5/4.0.18?slim=true) | --- ### Release Notes <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.28.1`](https://redirect.github.com/pnpm/pnpm/compare/v10.28.0...v10.28.1) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.28.0...v10.28.1) ### [`v10.28.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.27.0...v10.28.0) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.27.0...v10.28.0) ### [`v10.27.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.26.2...v10.27.0) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.26.2...v10.27.0) ### [`v10.26.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v10.26.2): pnpm 10.26.2 [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.26.1...v10.26.2) #### Patch Changes - Improve error message when a package version exists but does not meet the `minimumReleaseAge` constraint. The error now clearly states that the version exists and shows a human-readable time since release (e.g., "released 6 hours ago") [#&#8203;10307](https://redirect.github.com/pnpm/pnpm/issues/10307). - Fix installation of Git dependencies using annotated tags [#&#8203;10335](https://redirect.github.com/pnpm/pnpm/issues/10335). Previously, pnpm would store the annotated tag object's SHA in the lockfile instead of the actual commit SHA. This caused `ERR_PNPM_GIT_CHECKOUT_FAILED` errors because the checked-out commit hash didn't match the stored tag object hash. - Binaries of runtime engines (Node.js, Deno, Bun) are written to `node_modules/.bin` before lifecycle scripts (install, postinstall, prepare) are executed [#&#8203;10244](https://redirect.github.com/pnpm/pnpm/issues/10244). - Try to avoid making network calls with preferOffline [#&#8203;10334](https://redirect.github.com/pnpm/pnpm/pull/10334). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.26.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v10.26.1): pnpm 10.26.1 [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.26.0...v10.26.1) #### Patch Changes - Don't fail on `pnpm add`, when `blockExoticSubdeps` is set to `true` [#&#8203;10324](https://redirect.github.com/pnpm/pnpm/issues/10324). - Always resolve git references to full commits and ensure `HEAD` points to the commit after checkout [#&#8203;10310](https://redirect.github.com/pnpm/pnpm/pull/10310). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.26.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.25.0...v10.26.0) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.25.0...v10.26.0) ### [`v10.25.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.24.0...v10.25.0) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.24.0...v10.25.0) ### [`v10.24.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.23.0...v10.24.0) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.23.0...v10.24.0) ### [`v10.23.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v10.23.0): pnpm 10.23 [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.22.0...v10.23.0) #### Minor Changes - Added `--lockfile-only` option to `pnpm list` [#&#8203;10020](https://redirect.github.com/pnpm/pnpm/issues/10020). #### Patch Changes - `pnpm self-update` should download pnpm from the configured npm registry [#&#8203;10205](https://redirect.github.com/pnpm/pnpm/pull/10205). - `pnpm self-update` should always install the non-executable pnpm package (pnpm in the registry) and never the `@pnpm/exe` package, when installing v11 or newer. We currently cannot ship `@pnpm/exe` as `pkg` doesn't work with ESM [#&#8203;10190](https://redirect.github.com/pnpm/pnpm/pull/10190). - Node.js runtime is not added to "dependencies" on `pnpm add`, if there's a `engines.runtime` setting declared in `package.json` [#&#8203;10209](https://redirect.github.com/pnpm/pnpm/issues/10209). - The installation should fail if an optional dependency cannot be installed due to a trust policy check failure [#&#8203;10208](https://redirect.github.com/pnpm/pnpm/issues/10208). - `pnpm list` and `pnpm why` now display npm: protocol for aliased packages (e.g., `foo npm:is-odd@3.0.1`) [#&#8203;8660](https://redirect.github.com/pnpm/pnpm/issues/8660). - Don't add an extra slash to the Node.js mirror URL [#&#8203;10204](https://redirect.github.com/pnpm/pnpm/pull/10204). - `pnpm store prune` should not fail if the store contains Node.js packages [#&#8203;10131](https://redirect.github.com/pnpm/pnpm/issues/10131). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.22.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v10.22.0): pnpm 10.22 [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.21.0...v10.22.0) #### Minor Changes - Added support for `trustPolicyExclude` [#&#8203;10164](https://redirect.github.com/pnpm/pnpm/issues/10164). You can now list one or more specific packages or versions that pnpm should allow to install, even if those packages don't satisfy the trust policy requirement. For example: ```yaml trustPolicy: no-downgrade trustPolicyExclude: - chokidar@4.0.3 - webpack@4.47.0 || 5.102.1 ``` - Allow to override the `engines` field on publish by the `publishConfig.engines` field. #### Patch Changes - Don't crash when two processes of pnpm are hardlinking the contents of a directory to the same destination simultaneously [#&#8203;10179](https://redirect.github.com/pnpm/pnpm/issues/10179). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.21.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.20.0...v10.21.0) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.20.0...v10.21.0) ### [`v10.20.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10200) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.19.0...v10.20.0) ##### Minor Changes - Support `--all` option in `pnpm --help` to list all commands [#&#8203;8628](https://redirect.github.com/pnpm/pnpm/pull/8628). ##### Patch Changes - When the `latest` version doesn't satisfy the maturity requirement configured by `minimumReleaseAge`, pick the highest version that is mature enough, even if it has a different major version [#&#8203;10100](https://redirect.github.com/pnpm/pnpm/issues/10100). - `create` command should not verify patch info. - Set `managePackageManagerVersions` to `false`, when switching to a different version of pnpm CLI, in order to avoid subsequent switches [#&#8203;10063](https://redirect.github.com/pnpm/pnpm/issues/10063). ### [`v10.19.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10190) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.18.3...v10.19.0) ##### Minor Changes - You can now allow specific versions of dependencies to run postinstall scripts. `onlyBuiltDependencies` now accepts package names with lists of trusted versions. For example: ```yaml onlyBuiltDependencies: - nx@21.6.4 || 21.6.5 - esbuild@0.25.1 ``` Related PR: [#&#8203;10104](https://redirect.github.com/pnpm/pnpm/pull/10104). - Added support for exact versions in `minimumReleaseAgeExclude` [#&#8203;9985](https://redirect.github.com/pnpm/pnpm/issues/9985). You can now list one or more specific versions that pnpm should allow to install, even if those versions don’t satisfy the maturity requirement set by `minimumReleaseAge`. For example: ```yaml minimumReleaseAge: 1440 minimumReleaseAgeExclude: - nx@21.6.5 - webpack@4.47.0 || 5.102.1 ``` ### [`v10.18.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10183) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.18.2...v10.18.3) ##### Patch Changes - Fix a bug where pnpm would infinitely recurse when using `verifyDepsBeforeInstall: install` and pre/post install scripts that called other pnpm scripts [#&#8203;10060](https://redirect.github.com/pnpm/pnpm/issues/10060). - Fixed scoped registry keys (e.g., `@scope:registry`) being parsed as property paths in `pnpm config get` when `--location=project` is used [#&#8203;9362](https://redirect.github.com/pnpm/pnpm/issues/9362). - Remove pnpm-specific CLI options before passing to npm publish to prevent "Unknown cli config" warnings [#&#8203;9646](https://redirect.github.com/pnpm/pnpm/issues/9646). - Fixed EISDIR error when bin field points to a directory [#&#8203;9441](https://redirect.github.com/pnpm/pnpm/issues/9441). - Preserve version and hasBin for variations packages [#&#8203;10022](https://redirect.github.com/pnpm/pnpm/issues/10022). - Fixed `pnpm config set --location=project` incorrectly handling keys with slashes (auth tokens, registry settings) [#&#8203;9884](https://redirect.github.com/pnpm/pnpm/issues/9884). - When both `pnpm-workspace.yaml` and `.npmrc` exist, `pnpm config set --location=project` now writes to `pnpm-workspace.yaml` (matching read priority) [#&#8203;10072](https://redirect.github.com/pnpm/pnpm/issues/10072). - Prevent a table width error in `pnpm outdated --long` [#&#8203;10040](https://redirect.github.com/pnpm/pnpm/issues/10040). - Sync bin links after injected dependencies are updated by build scripts. This ensures that binaries created during build processes are properly linked and accessible to consuming projects [#&#8203;10057](https://redirect.github.com/pnpm/pnpm/issues/10057). ### [`v10.18.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10182) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.18.1...v10.18.2) ##### Patch Changes - `pnpm outdated --long` should work [#&#8203;10040](https://redirect.github.com/pnpm/pnpm/issues/10040). - Replace ndjson with split2. Reduce the bundle size of pnpm CLI [#&#8203;10054](https://redirect.github.com/pnpm/pnpm/pull/10054). - `pnpm dlx` should request the full metadata of packages, when `minimumReleaseAge` is set [#&#8203;9963](https://redirect.github.com/pnpm/pnpm/issues/9963). - pnpm version switching should work when the pnpm home directory is in a symlinked directory [#&#8203;9715](https://redirect.github.com/pnpm/pnpm/issues/9715). - Fix `EPIPE` errors when piping output to other commands [#&#8203;10027](https://redirect.github.com/pnpm/pnpm/issues/10027). ### [`v10.18.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10181) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.18.0...v10.18.1) ##### Patch Changes - Don't print a warning, when `--lockfile-only` is used [#&#8203;8320](https://redirect.github.com/pnpm/pnpm/issues/8320). - `pnpm setup` creates a command shim to the pnpm executable. This is needed to be able to run `pnpm self-update` on Windows [#&#8203;5700](https://redirect.github.com/pnpm/pnpm/issues/5700). - When using pnpm catalogs and running a normal `pnpm install`, pnpm produced false positive warnings for "*skip adding to the default catalog because it already exists*". This warning now only prints when using `pnpm add --save-catalog` as originally intended. ### [`v10.18.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10180) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.17.1...v10.18.0) ##### Minor Changes - Added network performance monitoring to pnpm by implementing warnings for slow network requests, including both metadata fetches and tarball downloads. Added configuration options for warning thresholds: `fetchWarnTimeoutMs` and `fetchMinSpeedKiBps`. Warning messages are displayed when requests exceed time thresholds or fall below speed minimums Related PR: [#&#8203;10025](https://redirect.github.com/pnpm/pnpm/pull/10025). ##### Patch Changes - Retry filesystem operations on EAGAIN errors [#&#8203;9959](https://redirect.github.com/pnpm/pnpm/pull/9959). - Outdated command respects `minimumReleaseAge` configuration [#&#8203;10030](https://redirect.github.com/pnpm/pnpm/pull/10030). - Correctly apply the `cleanupUnusedCatalogs` configuration when removing dependent packages. - Don't fail with a meaningless error when `scriptShell` is set to `false` [#&#8203;8748](https://redirect.github.com/pnpm/pnpm/issues/8748). - `pnpm dlx` should not fail when `minimumReleaseAge` is set [#&#8203;10037](https://redirect.github.com/pnpm/pnpm/issues/10037). ### [`v10.17.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10171) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.17.0...v10.17.1) ##### Patch Changes - When a version specifier cannot be resolved because the versions don't satisfy the `minimumReleaseAge` setting, print this information out in the error message [#&#8203;9974](https://redirect.github.com/pnpm/pnpm/pull/9974). - Fix `state.json` creation path when executing `pnpm patch` in a workspace project [#&#8203;9733](https://redirect.github.com/pnpm/pnpm/pull/9733). - When `minimumReleaseAge` is set and the `latest` tag is not mature enough, prefer a non-deprecated version as the new `latest` [#&#8203;9987](https://redirect.github.com/pnpm/pnpm/issues/9987). ### [`v10.17.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10170) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.16.1...v10.17.0) ##### Minor Changes - The `minimumReleaseAgeExclude` setting now supports patterns. For instance: ```yaml minimumReleaseAge: 1440 minimumReleaseAgeExclude: - "@&#8203;eslint/*" ``` Related PR: [#&#8203;9984](https://redirect.github.com/pnpm/pnpm/pull/9984). ##### Patch Changes - Don't ignore the `minimumReleaseAge` check, when the package is requested by exact version and the packument is loaded from cache [#&#8203;9978](https://redirect.github.com/pnpm/pnpm/issues/9978). - When `minimumReleaseAge` is set and the active version under a dist-tag is not mature enough, do not downgrade to a prerelease version in case the original version wasn't a prerelease one [#&#8203;9979](https://redirect.github.com/pnpm/pnpm/issues/9979). ### [`v10.16.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10161) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.16.0...v10.16.1) ##### Patch Changes - The full metadata cache should be stored not at the same location as the abbreviated metadata. This fixes a bug where pnpm was loading the abbreviated metadata from cache and couldn't find the "time" field as a result [#&#8203;9963](https://redirect.github.com/pnpm/pnpm/issues/9963). - Forcibly disable ANSI color codes when generating patch diff [#&#8203;9914](https://redirect.github.com/pnpm/pnpm/pull/9914). ### [`v10.16.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10160) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.15.1...v10.16.0) ##### Minor Changes - There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new setting that delays the installation of newly released dependencies. In most cases, such attacks are discovered quickly and the malicious versions are removed from the registry within an hour. The new setting is called `minimumReleaseAge`. It specifies the number of minutes that must pass after a version is published before pnpm will install it. For example, setting `minimumReleaseAge: 1440` ensures that only packages released at least one day ago can be installed. If you set `minimumReleaseAge` but need to disable this restriction for certain dependencies, you can list them under the `minimumReleaseAgeExclude` setting. For instance, with the following configuration pnpm will always install the latest version of webpack, regardless of its release time: ```yaml minimumReleaseAgeExclude: - webpack ``` Related issue: [#&#8203;9921](https://redirect.github.com/pnpm/pnpm/issues/9921). - Added support for `finders` [#&#8203;9946](https://redirect.github.com/pnpm/pnpm/pull/9946). In the past, `pnpm list` and `pnpm why` could only search for dependencies by **name** (and optionally version). For example: ``` pnpm why minimist ``` prints the chain of dependencies to any installed instance of `minimist`: ``` verdaccio 5.20.1 ├─┬ handlebars 4.7.7 │ └── minimist 1.2.8 └─┬ mv 2.1.1 └─┬ mkdirp 0.5.6 └── minimist 1.2.8 ``` What if we want to search by **other properties** of a dependency, not just its name? For instance, find all packages that have `react@17` in their peer dependencies? This is now possible with "finder functions". Finder functions can be declared in `.pnpmfile.cjs` and invoked with the `--find-by=<function name>` flag when running `pnpm list` or `pnpm why`. Let's say we want to find any dependencies that have React 17 in peer dependencies. We can add this finder to our `.pnpmfile.cjs`: ```js module.exports = { finders: { react17: (ctx) => { return ctx.readManifest().peerDependencies?.react === "^17.0.0"; }, }, }; ``` Now we can use this finder function by running: ``` pnpm why --find-by=react17 ``` pnpm will find all dependencies that have this React in peer dependencies and print their exact locations in the dependency graph. ``` @&#8203;apollo/client 4.0.4 ├── @&#8203;graphql-typed-document-node/core 3.2.0 └── graphql-tag 2.12.6 ``` It is also possible to print out some additional information in the output by returning a string from the finder. For example, with the following finder: ```js module.exports = { finders: { react17: (ctx) => { const manifest = ctx.readManifest(); if (manifest.peerDependencies?.react === "^17.0.0") { return `license: ${manifest.license}`; } return false; }, }, }; ``` Every matched package will also print out the license from its `package.json`: ``` @&#8203;apollo/client 4.0.4 ├── @&#8203;graphql-typed-document-node/core 3.2.0 │ license: MIT └── graphql-tag 2.12.6 license: MIT ``` ##### Patch Changes - Fix deprecation warning printed when executing pnpm with Node.js 24 [#&#8203;9529](https://redirect.github.com/pnpm/pnpm/issues/9529). - Throw an error if `nodeVersion` is not set to an exact semver version [#&#8203;9934](https://redirect.github.com/pnpm/pnpm/issues/9934). - `pnpm publish` should be able to publish a `.tar.gz` file [#&#8203;9927](https://redirect.github.com/pnpm/pnpm/pull/9927). - Canceling a running process with Ctrl-C should make `pnpm run` return a non-zero exit code [#&#8203;9626](https://redirect.github.com/pnpm/pnpm/issues/9626). ### [`v10.15.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10151) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.15.0...v10.15.1) ##### Patch Changes - Fix `.pnp.cjs` crash when importing subpath [#&#8203;9904](https://redirect.github.com/pnpm/pnpm/issues/9904). - When resolving peer dependencies, pnpm looks whether the peer dependency is present in the root workspace project's dependencies. This change makes it so that the peer dependency is correctly resolved even from aliased npm-hosted dependencies or other types of dependencies [#&#8203;9913](https://redirect.github.com/pnpm/pnpm/issues/9913). ### [`v10.15.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10150) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.14.0...v10.15.0) ##### Minor Changes - Added the `cleanupUnusedCatalogs` configuration. When set to `true`, pnpm will remove unused catalog entries during installation [#&#8203;9793](https://redirect.github.com/pnpm/pnpm/pull/9793). - Automatically load pnpmfiles from config dependencies that are named `@*/pnpm-plugin-*` [#&#8203;9780](https://redirect.github.com/pnpm/pnpm/issues/9780). - `pnpm config get` now prints an INI string for an object value [#&#8203;9797](https://redirect.github.com/pnpm/pnpm/issues/9797). - `pnpm config get` now accepts property paths (e.g. `pnpm config get catalog.react`, `pnpm config get .catalog.react`, `pnpm config get 'packageExtensions["@&#8203;babel/parser"].peerDependencies["@&#8203;babel/types"]'`), and `pnpm config set` now accepts dot-leading or subscripted keys (e.g. `pnpm config set .ignoreScripts true`). - `pnpm config get --json` now prints a JSON serialization of config value, and `pnpm config set --json` now parses the input value as JSON. ##### Patch Changes - **Semi-breaking.** When automatically installing missing peer dependencies, prefer versions that are already present in the direct dependencies of the root workspace package [#&#8203;9835](https://redirect.github.com/pnpm/pnpm/pull/9835). - When executing the `pnpm create` command, must verify whether the node version is supported even if a cache already exists [#&#8203;9775](https://redirect.github.com/pnpm/pnpm/pull/9775). - When making requests for the non-abbreviated packument, add `*/*` to the `Accept` header to avoid getting a 406 error on AWS CodeArtifact [#&#8203;9862](https://redirect.github.com/pnpm/pnpm/issues/9862). - The standalone exe version of pnpm works with glibc 2.26 again [#&#8203;9734](https://redirect.github.com/pnpm/pnpm/issues/9734). - Fix a regression in which `pnpm dlx pkg --help` doesn't pass `--help` to `pkg` [#&#8203;9823](https://redirect.github.com/pnpm/pnpm/issues/9823). ### [`v10.14.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10140) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.13.1...v10.14.0) ##### Minor Changes - **Added support for JavaScript runtime resolution** Declare Node.js, Deno, or Bun in [`devEngines.runtime`](https://redirect.github.com/openjs-foundation/package-metadata-interoperability-collab-space/issues/15) (inside `package.json`) and let pnpm download and pin it automatically. Usage example: ```json { "devEngines": { "runtime": { "name": "node", "version": "^24.4.0", "onFail": "download" (we only support the "download" value for now) } } } ``` How it works: 1. `pnpm install` resolves your specified range to the latest matching runtime version. 2. The exact version (and checksum) is saved in the lockfile. 3. Scripts use the local runtime, ensuring consistency across environments. Why this is better: 1. This new setting supports also Deno and Bun (vs. our Node-only settings `useNodeVersion` and `executionEnv.nodeVersion`) 2. Supports version ranges (not just a fixed version). 3. The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity. 4. It can be used on any workspace project (like `executionEnv.nodeVersion`). So, different projects in a workspace can use different runtimes. 5. For now `devEngines.runtime` setting will install the runtime locally, which we will improve in future versions of pnpm by using a shared location on the computer. Related PR: [#&#8203;9755](https://redirect.github.com/pnpm/pnpm/pull/9755). - Add `--cpu`, `--libc`, and `--os` to `pnpm install`, `pnpm add`, and `pnpm dlx` to customize `supportedArchitectures` via the CLI [#&#8203;7510](https://redirect.github.com/pnpm/pnpm/issues/7510). ##### Patch Changes - Fix a bug in which `pnpm add` downloads packages whose `libc` differ from `pnpm.supportedArchitectures.libc`. - The integrities of the downloaded Node.js artifacts are verified [#&#8203;9750](https://redirect.github.com/pnpm/pnpm/pull/9750). - Allow `dlx` to parse CLI flags and options between the `dlx` command and the command to run or between the `dlx` command and `--` [#&#8203;9719](https://redirect.github.com/pnpm/pnpm/issues/9719). - `pnpm install --prod` should removing hoisted dev dependencies [#&#8203;9782](https://redirect.github.com/pnpm/pnpm/issues/9782). - Fix an edge case bug causing local tarballs to not re-link into the virtual store. This bug would happen when changing the contents of the tarball without renaming the file and running a filtered install. - Fix a bug causing `pnpm install` to incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies. ### [`v10.13.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10131) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.13.0...v10.13.1) ##### Patch Changes - Run user defined pnpmfiles after pnpmfiles of plugins. ### [`v10.13.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10130) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.12.4...v10.13.0) ##### Minor Changes - Added the possibility to load multiple pnpmfiles. The `pnpmfile` setting can now accept a list of pnpmfile locations [#&#8203;9702](https://redirect.github.com/pnpm/pnpm/pull/9702). - pnpm will now automatically load the `pnpmfile.cjs` file from any [config dependency](https://pnpm.io/config-dependencies) named `@pnpm/plugin-*` or `pnpm-plugin-*` [#&#8203;9729](https://redirect.github.com/pnpm/pnpm/pull/9729). The order in which config dependencies are initialized should not matter — they are initialized in alphabetical order. If a specific order is needed, the paths to the `pnpmfile.cjs` files in the config dependencies can be explicitly listed using the `pnpmfile` setting in `pnpm-workspace.yaml`. ##### Patch Changes - When patching dependencies installed via `pkg.pr.new`, treat them as Git tarball URLs [#&#8203;9694](https://redirect.github.com/pnpm/pnpm/pull/9694). - Prevent conflicts between local projects' config and the global config in `dangerouslyAllowAllBuilds`, `onlyBuiltDependencies`, `onlyBuiltDependenciesFile`, and `neverBuiltDependencies` [#&#8203;9628](https://redirect.github.com/pnpm/pnpm/issues/9628). - Sort keys in `pnpm-workspace.yaml` with deep [#&#8203;9701](https://redirect.github.com/pnpm/pnpm/pull/9701). - The `pnpm rebuild` command should not add pkgs included in `ignoredBuiltDependencies` to `ignoredBuilds` in `node_modules/.modules.yaml` [#&#8203;9338](https://redirect.github.com/pnpm/pnpm/issues/9338). - Replaced `shell-quote` with `shlex` for quoting command arguments [#&#8203;9381](https://redirect.github.com/pnpm/pnpm/issues/9381). ### [`v10.12.4`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10124) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.12.3...v10.12.4) ##### Patch Changes - Fix `pnpm licenses` command for local dependencies [#&#8203;9583](https://redirect.github.com/pnpm/pnpm/pull/9583). - Fix a bug in which `pnpm ls --filter=not-exist --json` prints nothing instead of an empty array [#&#8203;9672](https://redirect.github.com/pnpm/pnpm/issues/9672). - Fix a deadlock that sometimes happens during peer dependency resolution [#&#8203;9673](https://redirect.github.com/pnpm/pnpm/issues/9673). - Running `pnpm install` after `pnpm fetch` should hoist all dependencies that need to be hoisted. Fixes a regression introduced in \[v10.12.2] by \[[#&#8203;9648](https://redirect.github.com/pnpm/pnpm/issues/9648)]; resolves \[[#&#8203;9689](https://redirect.github.com/pnpm/pnpm/issues/9689)]. \[v10.12.2]: <https://github.com/pnpm/pnpm/releases/tag/v10.12.2Add> commentMore actions \[[#&#8203;9648](https://redirect.github.com/pnpm/pnpm/issues/9648)]: [#&#8203;9648](https://redirect.github.com/pnpm/pnpm/pull/9648) \[[#&#8203;9689](https://redirect.github.com/pnpm/pnpm/issues/9689)]: [#&#8203;9689](https://redirect.github.com/pnpm/pnpm/issues/9689) ### [`v10.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10123) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.12.2...v10.12.3) ##### Patch Changes - Restore hoisting of optional peer dependencies when installing with an outdated lockfile. Regression introduced in [v10.12.2] by [#&#8203;9648]; resolves [#&#8203;9685]. [v10.12.2]: https://redirect.github.com/pnpm/pnpm/releases/tag/v10.12.2 [#&#8203;9648]: https://redirect.github.com/pnpm/pnpm/pull/9648 [#&#8203;9685]: https://redirect.github.com/pnpm/pnpm/issues/9685 ### [`v10.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10122) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.12.1...v10.12.2) ##### Patch Changes - Fixed hoisting with `enableGlobalVirtualStore` set to `true` [#&#8203;9648](https://redirect.github.com/pnpm/pnpm/pull/9648). - Fix the `--help` and `-h` flags not working as expected for the `pnpm create` command. - The dependency package path output by the `pnpm licenses list --json` command is incorrect. - Fix a bug in which `pnpm deploy` fails due to overridden dependencies having peer dependencies causing `ERR_PNPM_OUTDATED_LOCKFILE` [#&#8203;9595](https://redirect.github.com/pnpm/pnpm/issues/9595). ### [`v10.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10121) ##### Minor Changes - **Experimental.** Added support for global virtual stores. When enabled, `node_modules` contains only symlinks to a central virtual store, rather to `node_modules/.pnpm`. By default, this central store is located at `<store-path>/links` (you can find the store path by running `pnpm store path`). In the central virtual store, each package is hard linked into a directory whose name is the hash of its dependency graph. This allows multiple projects on the system to symlink shared dependencies from this central location, significantly improving installation speed when a warm cache is available. > This is conceptually similar to how [NixOS manages packages](https://nixos.org/guides/how-nix-works/), using dependency graph hashes to create isolated and reusable package directories. To enable the global virtual store, set `enableGlobalVirtualStore: true` in your root `pnpm-workspace.yaml`, or globally via: ```sh pnpm config -g set enable-global-virtual-store true ``` NOTE: In CI environments, where caches are typically cold, this setting may slow down installation. pnpm automatically disables the global virtual store when running in CI. Related PR: [#&#8203;8190](https://redirect.github.com/pnpm/pnpm/pull/8190) * The `pnpm update` command now supports updating `catalog:` protocol dependencies and writes new specifiers to `pnpm-workspace.yaml`. * Added two new CLI options (`--save-catalog` and `--save-catalog-name=<name>`) to `pnpm add` to save new dependencies as catalog entries. `catalog:` or `catalog:<name>` will be added to `package.json` and the package specifier will be added to the `catalogs` or `catalog[<name>]` object in `pnpm-workspace.yaml` [#&#8203;9425](https://redirect.github.com/pnpm/pnpm/issues/9425). * **Semi-breaking.** The keys used for side-effects caches have changed. If you have a side-effects cache generated by a previous version of pnpm, the new version will not use it and will create a new cache instead [#&#8203;9605](https://redirect.github.com/pnpm/pnpm/pull/9605). * Added a new setting called `ci` for explicitly telling pnpm if the current environment is a CI or not. ##### Patch Changes - Sort versions printed by `pnpm patch` using semantic versioning rules. - Improve the way the error message displays mismatched specifiers. Show differences instead of 2 whole objects [#&#8203;9598](https://redirect.github.com/pnpm/pnpm/pull/9598). - Revert [#&#8203;9574](https://redirect.github.com/pnpm/pnpm/pull/9574) to fix a regression [#&#8203;9596](https://redirect.github.com/pnpm/pnpm/issues/9596). ### [`v10.11.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10111) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.11.0...v10.11.1) ##### Patch Changes - Fix an issue in which `pnpm deploy --legacy` creates unexpected directories when the root `package.json` has a workspace package as a peer dependency [#&#8203;9550](https://redirect.github.com/pnpm/pnpm/issues/9550). - Dependencies specified via a URL that redirects will only be locked to the target if it is immutable, fixing a regression when installing from GitHub releases. ([#&#8203;9531](https://redirect.github.com/pnpm/pnpm/issues/9531)) - Installation should not exit with an error if `strictPeerDependencies` is `true` but all issues are ignored by `peerDependencyRules` [#&#8203;9505](https://redirect.github.com/pnpm/pnpm/pull/9505). - Use `pnpm_config_` env variables instead of `npm_config_` [#&#8203;9571](https://redirect.github.com/pnpm/pnpm/pull/9571). - Fix a regression (in v10.9.0) causing the `--lockfile-only` flag on `pnpm update` to produce a different `pnpm-lock.yaml` than an update without the flag. - Let `pnpm deploy` work in repos with `overrides` when `inject-workspace-packages=true` [#&#8203;9283](https://redirect.github.com/pnpm/pnpm/issues/9283). - Fixed the problem of path loss caused by parsing URL address. Fixes a regression shipped in pnpm v10.11 via [#&#8203;9502](https://redirect.github.com/pnpm/pnpm/pull/9502). - `pnpm -r --silent run` should not print out section [#&#8203;9563](https://redirect.github.com/pnpm/pnpm/issues/9563). ### [`v10.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10110) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.10.0...v10.11.0) ##### Minor Changes - A new setting added for `pnpm init` to create a `package.json` with `type=module`, when `init-type` is `module`. Works as a flag for the init command too [#&#8203;9463](https://redirect.github.com/pnpm/pnpm/pull/9463). - Added support for Nushell to `pnpm setup` [#&#8203;6476](https://redirect.github.com/pnpm/pnpm/issues/6476). - Added two new flags to the `pnpm audit` command, `--ignore` and `--ignore-unfixable` [#&#8203;8474](https://redirect.github.com/pnpm/pnpm/pull/8474). Ignore all vulnerabilities that have no solution: ```shell > pnpm audit --ignore-unfixable ``` Provide a list of CVE's to ignore those specifically, even if they have a resolution. ```shell > pnpm audit --ignore=CVE-2021-1234 --ignore=CVE-2021-5678 ``` - Added support for recursively running pack in every project of a workspace [#&#8203;4351](https://redirect.github.com/pnpm/pnpm/issues/4351). Now you can run `pnpm -r pack` to pack all packages in the workspace. ##### Patch Changes - pnpm version management should work, when `dangerouslyAllowAllBuilds` is set to `true` [#&#8203;9472](https://redirect.github.com/pnpm/pnpm/issues/9472). - `pnpm link` should work from inside a workspace [#&#8203;9506](https://redirect.github.com/pnpm/pnpm/issues/9506). - Set the default `workspaceConcurrency` to `Math.min(os.availableParallelism(), 4)` [#&#8203;9493](https://redirect.github.com/pnpm/pnpm/pull/9493). - Installation should not exit with an error if `strictPeerDependencies` is `true` but all issues are ignored by `peerDependencyRules` [#&#8203;9505](https://redirect.github.com/pnpm/pnpm/pull/9505). - Read `updateConfig` from `pnpm-workspace.yaml` [#&#8203;9500](https://redirect.github.com/pnpm/pnpm/issues/9500). - Add support for `recursive pack` - Remove `url.parse` usage to fix warning on Node.js 24 [#&#8203;9492](https://redirect.github.com/pnpm/pnpm/issues/9492). - `pnpm run` should be able to run commands from the workspace root, if `ignoreScripts` is set tot `true` [#&#8203;4858](https://redirect.github.com/pnpm/pnpm/issues/4858). ### [`v10.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10100) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.9.0...v10.10.0) ##### Minor Changes - Allow loading the `preResolution`, `importPackage`, and `fetchers` hooks from local pnpmfile. ##### Patch Changes - Fix `cd` command, when `shellEmulator` is `true` [#&#8203;7838](https://redirect.github.com/pnpm/pnpm/issues/7838). - Sort keys in `pnpm-workspace.yaml` [#&#8203;9453](https://redirect.github.com/pnpm/pnpm/pull/9453). - Pass the `npm_package_json` environment variable to the executed scripts [#&#8203;9452](https://redirect.github.com/pnpm/pnpm/issues/9452). - Fixed a mistake in the description of the `--reporter=silent` option. ### [`v10.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1090) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.8.1...v10.9.0) ##### Minor Changes - **Added support for installing JSR packages.** You can now install JSR packages using the following syntax: ``` pnpm add jsr:<pkg_name> ``` or with a version range: ``` pnpm add jsr:<pkg_name>@&#8203;<range> ``` For example, running: ``` pnpm add jsr:@&#8203;foo/bar ``` will add the following entry to your `package.json`: ```json { "dependencies": { "@&#8203;foo/bar": "jsr:^0.1.2" } } ``` When publishing, this entry will be transformed into a format compatible with npm, older versions of Yarn, and previous pnpm versions: ```json { "dependencies": { "@&#8203;foo/bar": "npm:@&#8203;jsr/foo__bar@^0.1.2" } } ``` Related issue: [#&#8203;8941](https://redirect.github.com/pnpm/pnpm/issues/8941). Note: The `@jsr` scope defaults to <https://npm.jsr.io/> if the `@jsr:registry` setting is not defined. - Added a new setting, `dangerouslyAllowAllBuilds`, for automatically running any scripts of dependencies without the need to approve any builds. It was already possible to allow all builds by adding this to `pnpm-workspace.yaml`: ```yaml neverBuiltDependencies: [] ``` `dangerouslyAllowAllBuilds` has the same effect but also allows to be set globally via: ``` pnpm config set dangerouslyAllowAllBuilds true ``` It can also be set when running a command: ``` pnpm install --dangerously-allow-all-builds ``` ##### Patch Changes - Fix a false negative in `verifyDepsBeforeRun` when `nodeLinker` is `hoisted` and there is a workspace package without dependencies and `node_modules` directory [#&#8203;9424](https://redirect.github.com/pnpm/pnpm/issues/9424). - Explicitly drop `verifyDepsBeforeRun` support for `nodeLinker: pnp`. Combining `verifyDepsBeforeRun` and `nodeLinker: pnp` will now print a warning. ### [`v10.8.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1081) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.8.0...v10.8.1) ##### Patch Changes - Removed bright white highlighting, which didn't look good on some light themes [#&#8203;9389](https://redirect.github.com/pnpm/pnpm/pull/9389). - If there is no pnpm related configuration in `package.json`, `onlyBuiltDependencies` will be written to `pnpm-workspace.yaml` file [#&#8203;9404](https://redirect.github.com/pnpm/pnpm/pull/9404). ### [`v10.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1080) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.7.1...v10.8.0) ##### Minor Changes - **Experimental.** A new hook is supported for updating configuration settings. The hook can be provided via `.pnpmfile.cjs`. For example: ```js module.exports = { hooks: { updateConfig: (config) => ({ ...config, nodeLinker: "hoisted", }), }, }; ``` - Now you can use the `pnpm add` command with the `--config` flag to install new configurational dependencies [#&#8203;9377](https://redirect.github.com/pnpm/pnpm/pull/9377). ##### Patch Changes - Do not hang indefinitely, when there is a glob that starts with `!/` in `pnpm-workspace.yaml`. This fixes a regression introduced by [#&#8203;9169](https://redirect.github.com/pnpm/pnpm/pull/9169). - `pnpm audit --fix` should update the overrides in `pnpm-workspace.yaml`. - `pnpm link` should update overrides in `pnpm-workspace.yaml`, not in `package.json` [#&#8203;9365](https://redirect.github.com/pnpm/pnpm/pull/9365). ### [`v10.7.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1071) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.7.0...v10.7.1) ##### Patch Changes - `pnpm config set` should convert the settings to their correct type before adding them to `pnpm-workspace.yaml` [#&#8203;9355](https://redirect.github.com/pnpm/pnpm/issues/9355). - `pnpm config get` should read auth related settings via npm CLI [#&#8203;9345](https://redirect.github.com/pnpm/pnpm/issues/9345). - Replace leading `~/` in a path in `.npmrc` with the home directory [#&#8203;9217](https://redirect.github.com/pnpm/pnpm/issues/9217). ### [`v10.7.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1070) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.6.5...v10.7.0) ##### Minor Changes - `pnpm config get` and `list` also show settings set in `pnpm-workspace.yaml` files [#&#8203;9316](https://redirect.github.com/pnpm/pnpm/pull/9316). - It should be possible to use env variables in `pnpm-workspace.yaml` setting names and value. - Add an ability to patch dependencies by version ranges. Exact versions override version ranges, which in turn override name-only patches. Version range `*` is the same as name-only, except that patch application failure will not be ignored. For example: ```yaml patchedDependencies: foo: patches/foo-1.patch foo@^2.0.0: patches/foo-2.patch foo@2.1.0: patches/foo-3.patch ``` The above configuration would apply `patches/foo-3.patch` to `foo@2.1.0`, `patches/foo-2.patch` to all `foo` versions which satisfy `^2.0.0` except `2.1.0`, and `patches/foo-1.patch` to the remaining `foo` versions. > \[!WARNING] > The version ranges should not overlap. If you want to specialize a sub range, make sure to exclude it from the other keys. For example: > > ```yaml > # pnpm-workspace.yaml > patchedDependencies: > # the specialized sub range > 'foo@2.2.0-2.8.0': patches/foo.2.2.0-2.8.0.patch > # the more general patch, excluding the sub range above > 'foo@>=2.0.0 <2.2.0 || >2.8.0': 'patches/foo.gte2.patch > ``` > > In most cases, however, it's sufficient to just define an exact version to override the range. - `pnpm config set --location=project` saves the setting to a `pnpm-workspace.yaml` file if no `.npmrc` file is present in the directory [#&#8203;9316](https://redirect.github.com/pnpm/pnpm/pull/9316). - Rename `pnpm.allowNonAppliedPatches` to `pnpm.allowUnusedPatches`. The old name is still supported but it would print a deprecation warning message. - Add `pnpm.ignorePatchFailures` to manage whether pnpm would ignore patch application failures. If `ignorePatchFailures` is not set, pnpm would throw an error when patches with exact versions or version ranges fail to apply, and it would ignore failures from name-only patches. If `ignorePatchFailures` is explicitly set to `false`, pnpm would throw an error when any type of patch fails to apply. If `ignorePatchFailures` is explicitly set to `true`, pnpm would print a warning when any type of patch fails to apply. ##### Patch Changes - Remove dependency paths from audit output to prevent out-of-memory errors [#&#8203;9280](https://redirect.github.com/pnpm/pnpm/issues/9280). ### [`v10.6.5`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1065) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.6.4...v10.6.5) ##### Patch Changes - Remove warnings after having explicitly approved no builds [#&#8203;9296](https://redirect.github.com/pnpm/pnpm/issues/9296). - When installing different dependency packages, should retain the `ignoredBuilds` field in the `.modules.yaml` file [#&#8203;9240](https://redirect.github.com/pnpm/pnpm/issues/9240). - Fix usages of the [`catalog:` protocol](https://pnpm.io/catalogs) in [injected local workspace packages](https://pnpm.io/package_json#dependenciesmetainjected). This previously errored with `ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER`. [#&#8203;8715](https://redirect.github.com/pnpm/pnpm/issues/8715) - Setting `workspace-concurrency` to less than or equal to 0 should work [#&#8203;9297](https://redirect.github.com/pnpm/pnpm/issues/9297). ### [`v10.6.4`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1064) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.6.3...v10.6.4) ##### Patch Changes - Fix `pnpm dlx` with `--allow-build` flag [#&#8203;9263](https://redirect.github.com/pnpm/pnpm/issues/9263). - Invalid Node.js version in `use-node-version` should not cause pnpm itself to break [#&#8203;9276](https://redirect.github.com/pnpm/pnpm/issues/9276). - The max amount of workers running for linking packages from the store has been reduced to 4 to achieve optimal results [#&#8203;9286](https://redirect.github.com/pnpm/pnpm/issues/9286). The workers are performing many file system operations, so increasing the number of CPUs doesn't help perform </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/rolldown/rolldown-plugin-node-polyfills). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1 parent 6b1ee59 commit d7c4917

2 files changed

Lines changed: 619 additions & 617 deletions

File tree

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
"url": "https://github.com/rolldown/rolldown-plugin-node-polyfills/issues"
2929
},
3030
"homepage": "https://github.com/rolldown/rolldown-plugin-node-polyfills#readme",
31-
"packageManager": "pnpm@9.7.0",
31+
"packageManager": "pnpm@10.28.1",
3232
"devDependencies": {
3333
"@types/node": "^22.2.0",
3434
"rolldown": "canary",
3535
"typescript": "^5.5.4",
36-
"vitest": "^2.0.5"
36+
"vitest": "^4.0.0"
3737
}
3838
}

0 commit comments

Comments
 (0)