Update pnpm to v10.15.1 #3

Open
Jade wants to merge 1 commit from renovate/pnpm-10.x into main
Owner

This PR contains the following updates:

Package Type Update Change
pnpm (source) packageManager minor 10.8.0+sha512.0e82714d1b5b43c74610193cb20734897c1d00de89d0e18420aebc5977fa13d780a9cb05734624e81ebd81cc876cd464794850641c48b9544326b5622ca29971 -> 10.15.1

Release Notes

pnpm/pnpm (pnpm)

v10.15.1

Compare Source

Patch Changes
  • Fix .pnp.cjs crash when importing subpath #​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 #​9913.

v10.15.0

Compare Source

Minor Changes
  • Added the cleanupUnusedCatalogs configuration. When set to true, pnpm will remove unused catalog entries during installation #​9793.
  • Automatically load pnpmfiles from config dependencies that are named @*/pnpm-plugin-* #​9780.
  • pnpm config get now prints an INI string for an object value #​9797.
  • pnpm config get now accepts property paths (e.g. pnpm config get catalog.react, pnpm config get .catalog.react, pnpm config get 'packageExtensions["@​babel/parser"].peerDependencies["@​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 #​9835.
  • When executing the pnpm create command, must verify whether the node version is supported even if a cache already exists #​9775.
  • When making requests for the non-abbreviated packument, add */* to the Accept header to avoid getting a 406 error on AWS CodeArtifact #​9862.
  • The standalone exe version of pnpm works with glibc 2.26 again #​9734.
  • Fix a regression in which pnpm dlx pkg --help doesn't pass --help to pkg #​9823.

v10.14.0

Compare Source

Minor Changes
  • Added support for JavaScript runtime resolution

    Declare Node.js, Deno, or Bun in devEngines.runtime (inside package.json) and let pnpm download and pin it automatically.

    Usage example:

    {
      "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: #​9755.

  • Add --cpu, --libc, and --os to pnpm install, pnpm add, and pnpm dlx to customize supportedArchitectures via the CLI #​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 #​9750.
  • Allow dlx to parse CLI flags and options between the dlx command and the command to run or between the dlx command and -- #​9719.
  • pnpm install --prod should removing hoisted dev dependencies #​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

Compare Source

Patch Changes
  • Run user defined pnpmfiles after pnpmfiles of plugins.

v10.13.0

Compare Source

Minor Changes
  • Added the possibility to load multiple pnpmfiles. The pnpmfile setting can now accept a list of pnpmfile locations #​9702.

  • pnpm will now automatically load the pnpmfile.cjs file from any config dependency named @pnpm/plugin-* or pnpm-plugin-* #​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 #​9694.
  • Prevent conflicts between local projects' config and the global config in dangerouslyAllowAllBuilds, onlyBuiltDependencies, onlyBuiltDependenciesFile, and neverBuiltDependencies #​9628.
  • Sort keys in pnpm-workspace.yaml with deep #​9701.
  • The pnpm rebuild command should not add pkgs included in ignoredBuiltDependencies to ignoredBuilds in node_modules/.modules.yaml #​9338.
  • Replaced shell-quote with shlex for quoting command arguments #​9381.

v10.12.4

Compare Source

Patch Changes

v10.12.3

Compare Source

Patch Changes
  • Restore hoisting of optional peer dependencies when installing with an outdated lockfile.
    Regression introduced in v10.12.2 by #​9648; resolves #​9685.

v10.12.2

Compare Source

Patch Changes
  • Fixed hoisting with enableGlobalVirtualStore set to true #​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 #​9595.

v10.12.1

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, 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:

    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: #​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 #​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 #​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 #​9598.
  • Revert #​9574 to fix a regression #​9596.

v10.11.1

Compare Source

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 #​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. (#​9531)
  • Installation should not exit with an error if strictPeerDependencies is true but all issues are ignored by peerDependencyRules #​9505.
  • Use pnpm_config_ env variables instead of npm_config_ #​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 #​9283.
  • Fixed the problem of path loss caused by parsing URL address. Fixes a regression shipped in pnpm v10.11 via #​9502.
  • pnpm -r --silent run should not print out section #​9563.

v10.11.0

Compare Source

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 #​9463.

  • Added support for Nushell to pnpm setup #​6476.

  • Added two new flags to the pnpm audit command, --ignore and --ignore-unfixable #​8474.

    Ignore all vulnerabilities that have no solution:

    > pnpm audit --ignore-unfixable
    

    Provide a list of CVE's to ignore those specifically, even if they have a resolution.

    > pnpm audit --ignore=CVE-2021-1234 --ignore=CVE-2021-5678
    
  • Added support for recursively running pack in every project of a workspace #​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 #​9472.
  • pnpm link should work from inside a workspace #​9506.
  • Set the default workspaceConcurrency to Math.min(os.availableParallelism(), 4) #​9493.
  • Installation should not exit with an error if strictPeerDependencies is true but all issues are ignored by peerDependencyRules #​9505.
  • Read updateConfig from pnpm-workspace.yaml #​9500.
  • Add support for recursive pack
  • Remove url.parse usage to fix warning on Node.js 24 #​9492.
  • pnpm run should be able to run commands from the workspace root, if ignoreScripts is set tot true #​4858.

v10.10.0

Compare Source

Minor Changes
  • Allow loading the preResolution, importPackage, and fetchers hooks from local pnpmfile.
Patch Changes
  • Fix cd command, when shellEmulator is true #​7838.
  • Sort keys in pnpm-workspace.yaml #​9453.
  • Pass the npm_package_json environment variable to the executed scripts #​9452.
  • Fixed a mistake in the description of the --reporter=silent option.

v10.9.0

Compare Source

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:

    {
      "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:

    {
      "dependencies": {
        "@&#8203;foo/bar": "npm:@&#8203;jsr/foo__bar@^0.1.2"
      }
    }
    

    Related issue: #​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:

    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 #​9424.
  • Explicitly drop verifyDepsBeforeRun support for nodeLinker: pnp. Combining verifyDepsBeforeRun and nodeLinker: pnp will now print a warning.

v10.8.1

Compare Source

Patch Changes
  • Removed bright white highlighting, which didn't look good on some light themes #​9389.
  • If there is no pnpm related configuration in package.json, onlyBuiltDependencies will be written to pnpm-workspace.yaml file #​9404.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm)) | packageManager | minor | [`10.8.0+sha512.0e82714d1b5b43c74610193cb20734897c1d00de89d0e18420aebc5977fa13d780a9cb05734624e81ebd81cc876cd464794850641c48b9544326b5622ca29971` -> `10.15.1`](https://renovatebot.com/diffs/npm/pnpm/10.8.0/10.15.1) | --- ### Release Notes <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.15.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10151) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.15.0...v10.15.1) ##### Patch Changes - Fix `.pnp.cjs` crash when importing subpath [#&#8203;9904](https://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://github.com/pnpm/pnpm/issues/9913). ### [`v10.15.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10150) [Compare Source](https://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://github.com/pnpm/pnpm/pull/9793). - Automatically load pnpmfiles from config dependencies that are named `@*/pnpm-plugin-*` [#&#8203;9780](https://github.com/pnpm/pnpm/issues/9780). - `pnpm config get` now prints an INI string for an object value [#&#8203;9797](https://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://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://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://github.com/pnpm/pnpm/issues/9862). - The standalone exe version of pnpm works with glibc 2.26 again [#&#8203;9734](https://github.com/pnpm/pnpm/issues/9734). - Fix a regression in which `pnpm dlx pkg --help` doesn't pass `--help` to `pkg` [#&#8203;9823](https://github.com/pnpm/pnpm/issues/9823). ### [`v10.14.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10140) [Compare Source](https://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://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://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://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://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://github.com/pnpm/pnpm/issues/9719). - `pnpm install --prod` should removing hoisted dev dependencies [#&#8203;9782](https://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://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10131) [Compare Source](https://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://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10130) [Compare Source](https://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://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://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://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://github.com/pnpm/pnpm/issues/9628). - Sort keys in `pnpm-workspace.yaml` with deep [#&#8203;9701](https://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://github.com/pnpm/pnpm/issues/9338). - Replaced `shell-quote` with `shlex` for quoting command arguments [#&#8203;9381](https://github.com/pnpm/pnpm/issues/9381). ### [`v10.12.4`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10124) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.12.3...v10.12.4) ##### Patch Changes - Fix `pnpm licenses` command for local dependencies [#&#8203;9583](https://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://github.com/pnpm/pnpm/issues/9672). - Fix a deadlock that sometimes happens during peer dependency resolution [#&#8203;9673](https://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://github.com/pnpm/pnpm/issues/9648)]; resolves \[[#&#8203;9689](https://github.com/pnpm/pnpm/issues/9689)]. \[v10.12.2]: <https://github.com/pnpm/pnpm/releases/tag/v10.12.2Add> commentMore actions \[[#&#8203;9648](https://github.com/pnpm/pnpm/issues/9648)]: [#&#8203;9648](https://github.com/pnpm/pnpm/pull/9648) \[[#&#8203;9689](https://github.com/pnpm/pnpm/issues/9689)]: [#&#8203;9689](https://github.com/pnpm/pnpm/issues/9689) ### [`v10.12.3`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10123) [Compare Source](https://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://github.com/pnpm/pnpm/releases/tag/v10.12.2 [#&#8203;9648]: https://github.com/pnpm/pnpm/pull/9648 [#&#8203;9685]: https://github.com/pnpm/pnpm/issues/9685 ### [`v10.12.2`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10122) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.12.1...v10.12.2) ##### Patch Changes - Fixed hoisting with `enableGlobalVirtualStore` set to `true` [#&#8203;9648](https://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://github.com/pnpm/pnpm/issues/9595). ### [`v10.12.1`](https://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://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://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://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://github.com/pnpm/pnpm/pull/9598). - Revert [#&#8203;9574](https://github.com/pnpm/pnpm/pull/9574) to fix a regression [#&#8203;9596](https://github.com/pnpm/pnpm/issues/9596). ### [`v10.11.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10111) [Compare Source](https://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://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://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://github.com/pnpm/pnpm/pull/9505). - Use `pnpm_config_` env variables instead of `npm_config_` [#&#8203;9571](https://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://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://github.com/pnpm/pnpm/pull/9502). - `pnpm -r --silent run` should not print out section [#&#8203;9563](https://github.com/pnpm/pnpm/issues/9563). ### [`v10.11.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10110) [Compare Source](https://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://github.com/pnpm/pnpm/pull/9463). - Added support for Nushell to `pnpm setup` [#&#8203;6476](https://github.com/pnpm/pnpm/issues/6476). - Added two new flags to the `pnpm audit` command, `--ignore` and `--ignore-unfixable` [#&#8203;8474](https://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://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://github.com/pnpm/pnpm/issues/9472). - `pnpm link` should work from inside a workspace [#&#8203;9506](https://github.com/pnpm/pnpm/issues/9506). - Set the default `workspaceConcurrency` to `Math.min(os.availableParallelism(), 4)` [#&#8203;9493](https://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://github.com/pnpm/pnpm/pull/9505). - Read `updateConfig` from `pnpm-workspace.yaml` [#&#8203;9500](https://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://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://github.com/pnpm/pnpm/issues/4858). ### [`v10.10.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10100) [Compare Source](https://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://github.com/pnpm/pnpm/issues/7838). - Sort keys in `pnpm-workspace.yaml` [#&#8203;9453](https://github.com/pnpm/pnpm/pull/9453). - Pass the `npm_package_json` environment variable to the executed scripts [#&#8203;9452](https://github.com/pnpm/pnpm/issues/9452). - Fixed a mistake in the description of the `--reporter=silent` option. ### [`v10.9.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1090) [Compare Source](https://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://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://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://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1081) [Compare Source](https://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://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://github.com/pnpm/pnpm/pull/9404). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4wIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/pnpm-10.x:renovate/pnpm-10.x
git switch renovate/pnpm-10.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/pnpm-10.x
git switch renovate/pnpm-10.x
git rebase main
git switch main
git merge --ff-only renovate/pnpm-10.x
git switch renovate/pnpm-10.x
git rebase main
git switch main
git merge --no-ff renovate/pnpm-10.x
git switch main
git merge --squash renovate/pnpm-10.x
git switch main
git merge --ff-only renovate/pnpm-10.x
git switch main
git merge renovate/pnpm-10.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Jade/forgejo-mirror-github!3
No description provided.