Update pnpm to v10.8.0 #2

Merged
Jade merged 1 commit from renovate/pnpm-10.x into main 2025-04-09 01:04:20 +00:00
Owner

This PR contains the following updates:

Package Type Update Change
pnpm (source) packageManager minor 10.0.0+sha512.b8fef5494bd3fe4cbd4edabd0745df2ee5be3e4b0b8b08fa643aa3e4c6702ccc0f00d68fa8a8c9858a735a0032485a44990ed2810526c875e416f001b17df12b -> 10.8.0

Release Notes

pnpm/pnpm (pnpm)

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:

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

v10.7.1

Patch Changes
  • pnpm config set should convert the settings to their correct type before adding them to pnpm-workspace.yaml #​9355.
  • pnpm config get should read auth related settings via npm CLI #​9345.
  • Replace leading ~/ in a path in .npmrc with the home directory #​9217.

v10.7.0

Minor Changes
  • pnpm config get and list also show settings set in pnpm-workspace.yaml files #​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:

    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:

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

v10.6.5

Patch Changes
  • Remove warnings after having explicitly approved no builds #​9296.
  • When installing different dependency packages, should retain the ignoredBuilds field in the .modules.yaml file #​9240.
  • Fix usages of the catalog: protocol in injected local workspace packages. This previously errored with ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER. #​8715
  • Setting workspace-concurrency to less than or equal to 0 should work #​9297.

v10.6.4

Patch Changes
  • Fix pnpm dlx with --allow-build flag #​9263.
  • Invalid Node.js version in use-node-version should not cause pnpm itself to break #​9276.
  • The max amount of workers running for linking packages from the store has been reduced to 4 to achieve optimal results #​9286. The workers are performing many file system operations, so increasing the number of CPUs doesn't help performance after some point.

v10.6.3

Patch Changes
  • pnpm install --prod=false should not crash, when executed in a project with a pnpm-workspace.yaml file #​9233. This fixes regression introduced via #​9211.

  • Add the missing node-options config to recursive run #​9180.

  • Removed a branching code path that only executed when dedupe-peer-dependents=false. We believe this internal refactor will not result in behavior changes, but we expect it to make future pnpm versions behave more consistently for projects that override dedupe-peer-dependents to false. There should be less unique bugs from turning off dedupe-peer-dependents.

    See details in #​9259.

v10.6.2

Patch Changes
  • pnpm self-update should always update the version in the packageManager field of package.json.
  • Fix running pnpm CLI from pnpm CLI on Windows when the CLI is bundled to an executable #​8971.
  • pnpm patch-commit will now use the same filesystem as the store directory to compare and create patch files.
  • Don't show info output when --loglevel=error is used.
  • peerDependencyRules should be set in pnpm-workspace.yaml to take effect.

v10.6.1

Patch Changes
  • The pnpm CLI process should not stay hanging, when --silent reporting is used.
  • When --loglevel is set to error, don't show installation summary, execution time, and big tarball download progress.
  • Don't ignore pnpm.patchedDependencies from package.json #​9226.
  • When executing the approve-builds command, if package.json contains onlyBuiltDependencies or ignoredBuiltDependencies, the selected dependency package will continue to be written into package.json.
  • When a package version cannot be found in the package metadata, print the registry from which the package was fetched.

v10.6.0

Minor Changes
  • pnpm-workspace.yaml can now hold all the settings that .npmrc accepts. The settings should use camelCase #​9211.

    pnpm-workspace.yaml example:

    verifyDepsBeforeRun: install
    optimisticRepeatInstall: true
    publicHoistPattern:
      - "*types*"
      - "!@&#8203;types/react"
    
  • Projects using a file: dependency on a local tarball file (i.e. .tgz, .tar.gz, .tar) will see a performance improvement during installation. Previously, using a file: dependency on a tarball caused the lockfile resolution step to always run. The lockfile will now be considered up-to-date if the tarball is unchanged.

Patch Changes
  • pnpm self-update should not leave a directory with a broken pnpm installation if the installation fails.
  • fast-glob replace with tinyglobby to reduce the size of the pnpm CLI dependencies #​9169.
  • pnpm deploy should not remove fields from the deployed package's package.json file #​9215.
  • pnpm self-update should not read the pnpm settings from the package.json file in the current working directory.
  • Fix pnpm deploy creating a package.json without the imports and license field #​9193.
  • pnpm update -i should list only packages that have newer versions #​9206.
  • Fix a bug causing entries in the catalogs section of the pnpm-lock.yaml file to be removed when dedupe-peer-dependents=false on a filtered install. #​9112

v10.5.2

Patch Changes
  • The pnpm config set command should change the global .npmrc file by default.
    This was a regression introduced by #​9151 and shipped in pnpm v10.5.0.

v10.5.1

Patch Changes
  • Throw an error message if a pnpm-workspaces.yaml or pnpm-workspaces.yml file is found instead of a pnpm-workspace.yaml #​9170.
  • Fix the update of pnpm-workspace.yaml by the pnpm approve-builds command #​9168.
  • Normalize generated link paths in package.json #​9163
  • Specifying overrides in pnpm-workspace.yaml should work.
  • pnpm dlx should ignore settings from the package.json file in the current working directory #​9178.

v10.5.0

Minor Changes
  • Allow to set the "pnpm" settings from package.json via the pnpm-workspace.yaml file #​9121.

  • Added support for automatically syncing files of injected workspace packages after pnpm run #​9081. Use the sync-injected-deps-after-scripts setting to specify which scripts build the workspace package. This tells pnpm when syncing is needed. The setting should be defined in a .npmrc file at the root of the workspace. Example:

    sync-injected-deps-after-scripts[]=compile
    
  • The packages field in pnpm-workspace.yaml became optional.

Patch Changes
  • pnpm link with no parameters should work as if --global is specified #​9151.
  • Allow scope registry CLI option without --config. prefix such as --@&#8203;scope:registry=https://scope.example.com/npm #​9089.
  • pnpm link <path> should calculate relative path from the root of the workspace directory #​9132.
  • Fix a bug causing catalog snapshots to be removed from the pnpm-lock.yaml file when using --fix-lockfile and --filter. #​8639
  • Fix a bug causing catalog protocol dependencies to not re-resolve on a filtered install #​8638.

v10.4.1

Patch Changes
  • Throws an error when the value provided by the --allow-build option overlaps with the pnpm.ignoredBuildDependencies list #​9105.
  • Print pnpm's version after the execution time at the end of the console output.
  • Print warning about ignored builds of dependencies on repeat install #​9106.
  • Setting init-package-manager should work.

v10.4.0

Minor Changes
  • pnpm approve-builds --global works now for allowing dependencies of globally installed packages to run postinstall scripts.

  • The pnpm add command now supports a new flag, --allow-build, which allows building the specified dependencies. For instance, if you want to install a package called bundle that has esbuild as a dependency and want to allow esbuild to run postinstall scripts, you can run:

    pnpm --allow-build=esbuild add bundle
    

    This will run esbuild's postinstall script and also add it to the pnpm.onlyBuiltDependencies field of package.json. So, esbuild will always be allowed to run its scripts in the future.

    Related PR: #​9086.

  • The pnpm init command adds a packageManager field with the current version of pnpm CLI #​9069. To disable this behaviour, set the init-package-manager setting to false.

Patch Changes
  • pnpm approve-builds should work after two consecutive pnpm install runs #​9083.
  • Fix instruction for updating pnpm with corepack #​9101.
  • The pnpm version specified by packageManager cannot start with v.

v10.3.0

Minor Changes
  • Added a new setting called strict-dep-builds. When enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts) #​9071.
Patch Changes
  • Fix a false negative of verify-deps-before-run after pnpm install --production|--no-optional #​9019.
  • Print the warning about blocked installation scripts at the end of the installation output and make it more prominent.

v10.2.1

Patch Changes
  • Don't read a package from side-effects cache if it isn't allowed to be built #​9042.
  • pnpm approve-builds should work, when executed from a subdirectory of a workspace #​9042.
  • pnpm deploy --legacy should work without injected dependencies.
  • Add information about how to deploy without "injected dependencies" to the "pnpm deploy" error message.

v10.2.0

Minor Changes
  • Packages executed via pnpm dlx and pnpm create are allowed to be built (run postinstall scripts) by default.

    If the packages executed by dlx or create have dependencies that have to be built, they should be listed via the --allow-build flag. For instance, if you want to run a package called bundle that has esbuild in dependencies and want to allow esbuild to run postinstall scripts, run:

    pnpm --allow-build=esbuild dlx bundle
    

    Related PR: #​9026.

Patch Changes
  • Quote args for scripts with shell-quote to support new lines (on POSIX only) #​8980.
  • Fix a bug in which pnpm deploy fails to read the correct projectId when the deploy source is the same as the workspace directory #​9001.
  • Proxy settings should be respected, when resolving Git-hosted dependencies #​6530.
  • Prevent overrides from adding invalid version ranges to peerDependencies by keeping the peerDependencies and overriding them with prod dependencies #​8978.
  • Sort the package names in the "pnpm.onlyBuiltDependencies" list saved by pnpm approve-builds.

v10.1.0

Minor Changes
  • Added a new command for printing the list of dependencies with ignored build scripts: pnpm ignored-builds #​8963.
  • Added a new command for approving dependencies for running scripts during installation: pnpm approve-builds #​8963.
  • Added a new setting called optimistic-repeat-install. When enabled, a fast check will be performed before proceeding to installation. This way a repeat install or an install on a project with everything up-to-date becomes a lot faster. But some edge cases might arise, so we keep it disabled by default for now #​8977.
  • Added a new field "pnpm.ignoredBuiltDependencies" for explicitly listing packages that should not be built. When a package is in the list, pnpm will not print an info message about that package not being built #​8935.
Patch Changes
  • Verify that the package name is valid when executing the publish command.
  • When running pnpm install, the preprepare and postprepare scripts of the project should be executed #​8989.
  • Allow workspace: and catalog: to be part of wider version range in peerDependencies.
  • pnpm deploy should inherit the pnpm object from the root package.json #​8991.
  • Make sure that the deletion of a node_modules in a sub-project of a monorepo is detected as out-of-date #​8959.
  • Fix infinite loop caused by lifecycle scripts using pnpm to execute other scripts during pnpm install with verify-deps-before-run=install #​8954.
  • Replace strip-ansi with the built-in util.stripVTControlCharacters #​9009.
  • Do not print patched dependencies as ignored dependencies that require a build #​8952.

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.0.0+sha512.b8fef5494bd3fe4cbd4edabd0745df2ee5be3e4b0b8b08fa643aa3e4c6702ccc0f00d68fa8a8c9858a735a0032485a44990ed2810526c875e416f001b17df12b` -> `10.8.0`](https://renovatebot.com/diffs/npm/pnpm/10.0.0/10.8.0) | --- ### Release Notes <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.8.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1080) ##### 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://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://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://github.com/pnpm/pnpm/pull/9365). ### [`v10.7.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1071) ##### Patch Changes - `pnpm config set` should convert the settings to their correct type before adding them to `pnpm-workspace.yaml` [#&#8203;9355](https://github.com/pnpm/pnpm/issues/9355). - `pnpm config get` should read auth related settings via npm CLI [#&#8203;9345](https://github.com/pnpm/pnpm/issues/9345). - Replace leading `~/` in a path in `.npmrc` with the home directory [#&#8203;9217](https://github.com/pnpm/pnpm/issues/9217). ### [`v10.7.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1070) ##### Minor Changes - `pnpm config get` and `list` also show settings set in `pnpm-workspace.yaml` files [#&#8203;9316](https://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://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://github.com/pnpm/pnpm/issues/9280). ### [`v10.6.5`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1065) ##### Patch Changes - Remove warnings after having explicitly approved no builds [#&#8203;9296](https://github.com/pnpm/pnpm/issues/9296). - When installing different dependency packages, should retain the `ignoredBuilds` field in the `.modules.yaml` file [#&#8203;9240](https://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://github.com/pnpm/pnpm/issues/8715) - Setting `workspace-concurrency` to less than or equal to 0 should work [#&#8203;9297](https://github.com/pnpm/pnpm/issues/9297). ### [`v10.6.4`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1064) ##### Patch Changes - Fix `pnpm dlx` with `--allow-build` flag [#&#8203;9263](https://github.com/pnpm/pnpm/issues/9263). - Invalid Node.js version in `use-node-version` should not cause pnpm itself to break [#&#8203;9276](https://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://github.com/pnpm/pnpm/issues/9286). The workers are performing many file system operations, so increasing the number of CPUs doesn't help performance after some point. ### [`v10.6.3`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1063) ##### Patch Changes - `pnpm install --prod=false` should not crash, when executed in a project with a `pnpm-workspace.yaml` file [#&#8203;9233](https://github.com/pnpm/pnpm/issues/9233). This fixes regression introduced via [#&#8203;9211](https://github.com/pnpm/pnpm/pull/9211). - Add the missing `node-options` config to `recursive run` [#&#8203;9180](https://github.com/pnpm/pnpm/issues/9180). - Removed a branching code path that only executed when `dedupe-peer-dependents=false`. We believe this internal refactor will not result in behavior changes, but we expect it to make future pnpm versions behave more consistently for projects that override `dedupe-peer-dependents` to false. There should be less unique bugs from turning off `dedupe-peer-dependents`. See details in [#&#8203;9259](https://github.com/pnpm/pnpm/pull/9259). ### [`v10.6.2`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1062) ##### Patch Changes - `pnpm self-update` should always update the version in the `packageManager` field of `package.json`. - Fix running pnpm CLI from pnpm CLI on Windows when the CLI is bundled to an executable [#&#8203;8971](https://github.com/pnpm/pnpm/issues/8971). - `pnpm patch-commit` will now use the same filesystem as the store directory to compare and create patch files. - Don't show info output when `--loglevel=error` is used. - `peerDependencyRules` should be set in `pnpm-workspace.yaml` to take effect. ### [`v10.6.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1061) ##### Patch Changes - The pnpm CLI process should not stay hanging, when `--silent` reporting is used. - When `--loglevel` is set to `error`, don't show installation summary, execution time, and big tarball download progress. - Don't ignore pnpm.patchedDependencies from `package.json` [#&#8203;9226](https://github.com/pnpm/pnpm/issues/9226). - When executing the `approve-builds` command, if package.json contains `onlyBuiltDependencies` or `ignoredBuiltDependencies`, the selected dependency package will continue to be written into `package.json`. - When a package version cannot be found in the package metadata, print the registry from which the package was fetched. ### [`v10.6.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1060) ##### Minor Changes - `pnpm-workspace.yaml` can now hold all the settings that `.npmrc` accepts. The settings should use camelCase [#&#8203;9211](https://github.com/pnpm/pnpm/pull/9211). `pnpm-workspace.yaml` example: ```yaml verifyDepsBeforeRun: install optimisticRepeatInstall: true publicHoistPattern: - "*types*" - "!@&#8203;types/react" ``` - Projects using a `file:` dependency on a local tarball file (i.e. `.tgz`, `.tar.gz`, `.tar`) will see a performance improvement during installation. Previously, using a `file:` dependency on a tarball caused the lockfile resolution step to always run. The lockfile will now be considered up-to-date if the tarball is unchanged. ##### Patch Changes - `pnpm self-update` should not leave a directory with a broken pnpm installation if the installation fails. - `fast-glob` replace with `tinyglobby` to reduce the size of the pnpm CLI dependencies [#&#8203;9169](https://github.com/pnpm/pnpm/pull/9169). - `pnpm deploy` should not remove fields from the deployed package's `package.json` file [#&#8203;9215](https://github.com/pnpm/pnpm/issues/9215). - `pnpm self-update` should not read the pnpm settings from the `package.json` file in the current working directory. - Fix `pnpm deploy` creating a `package.json` without the `imports` and `license` field [#&#8203;9193](https://github.com/pnpm/pnpm/issues/9193). - `pnpm update -i` should list only packages that have newer versions [#&#8203;9206](https://github.com/pnpm/pnpm/issues/9206). - Fix a bug causing entries in the `catalogs` section of the `pnpm-lock.yaml` file to be removed when `dedupe-peer-dependents=false` on a filtered install. [#&#8203;9112](https://github.com/pnpm/pnpm/issues/9112) ### [`v10.5.2`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1052) ##### Patch Changes - The `pnpm config set` command should change the global `.npmrc` file by default. This was a regression introduced by [#&#8203;9151](https://github.com/pnpm/pnpm/pull/9151) and shipped in pnpm v10.5.0. ### [`v10.5.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1051) ##### Patch Changes - Throw an error message if a `pnpm-workspaces.yaml` or `pnpm-workspaces.yml` file is found instead of a `pnpm-workspace.yaml` [#&#8203;9170](https://github.com/pnpm/pnpm/issues/9170). - Fix the update of `pnpm-workspace.yaml` by the `pnpm approve-builds` command [#&#8203;9168](https://github.com/pnpm/pnpm/issues/9168). - Normalize generated link paths in `package.json` [#&#8203;9163](https://github.com/pnpm/pnpm/pull/9163) - Specifying `overrides` in `pnpm-workspace.yaml` should work. - `pnpm dlx` should ignore settings from the `package.json` file in the current working directory [#&#8203;9178](https://github.com/pnpm/pnpm/issues/9178). ### [`v10.5.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1050) ##### Minor Changes - Allow to set the "pnpm" settings from `package.json` via the `pnpm-workspace.yaml` file [#&#8203;9121](https://github.com/pnpm/pnpm/pull/9121). - Added support for automatically syncing files of injected workspace packages after `pnpm run` [#&#8203;9081](https://github.com/pnpm/pnpm/issues/9081). Use the `sync-injected-deps-after-scripts` setting to specify which scripts build the workspace package. This tells pnpm when syncing is needed. The setting should be defined in a `.npmrc` file at the root of the workspace. Example: ```ini sync-injected-deps-after-scripts[]=compile ``` - The `packages` field in `pnpm-workspace.yaml` became optional. ##### Patch Changes - `pnpm link` with no parameters should work as if `--global` is specified [#&#8203;9151](https://github.com/pnpm/pnpm/pull/9151). - Allow scope registry CLI option without `--config.` prefix such as `--@&#8203;scope:registry=https://scope.example.com/npm` [#&#8203;9089](https://github.com/pnpm/pnpm/pull/9089). - `pnpm link <path>` should calculate relative path from the root of the workspace directory [#&#8203;9132](https://github.com/pnpm/pnpm/pull/9132). - Fix a bug causing catalog snapshots to be removed from the `pnpm-lock.yaml` file when using `--fix-lockfile` and `--filter`. [#&#8203;8639](https://github.com/pnpm/pnpm/issues/8639) - Fix a bug causing catalog protocol dependencies to not re-resolve on a filtered install [#&#8203;8638](https://github.com/pnpm/pnpm/issues/8638). ### [`v10.4.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1041) ##### Patch Changes - Throws an error when the value provided by the `--allow-build` option overlaps with the `pnpm.ignoredBuildDependencies` list [#&#8203;9105](https://github.com/pnpm/pnpm/pull/9105). - Print pnpm's version after the execution time at the end of the console output. - Print warning about ignored builds of dependencies on repeat install [#&#8203;9106](https://github.com/pnpm/pnpm/issues/9106). - Setting `init-package-manager` should work. ### [`v10.4.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1040) ##### Minor Changes - `pnpm approve-builds --global` works now for allowing dependencies of globally installed packages to run postinstall scripts. - The `pnpm add` command now supports a new flag, `--allow-build`, which allows building the specified dependencies. For instance, if you want to install a package called `bundle` that has `esbuild` as a dependency and want to allow `esbuild` to run postinstall scripts, you can run: pnpm --allow-build=esbuild add bundle This will run `esbuild`'s postinstall script and also add it to the `pnpm.onlyBuiltDependencies` field of `package.json`. So, `esbuild` will always be allowed to run its scripts in the future. Related PR: [#&#8203;9086](https://github.com/pnpm/pnpm/pull/9086). - The `pnpm init` command adds a `packageManager` field with the current version of pnpm CLI [#&#8203;9069](https://github.com/pnpm/pnpm/pull/9069). To disable this behaviour, set the `init-package-manager` setting to `false`. ##### Patch Changes - `pnpm approve-builds` should work after two consecutive `pnpm install` runs [#&#8203;9083](https://github.com/pnpm/pnpm/pull/9083). - Fix instruction for updating pnpm with corepack [#&#8203;9101](https://github.com/pnpm/pnpm/pull/9101). - The pnpm version specified by `packageManager` cannot start with `v`. ### [`v10.3.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1030) ##### Minor Changes - Added a new setting called `strict-dep-builds`. When enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts) [#&#8203;9071](https://github.com/pnpm/pnpm/pull/9071). ##### Patch Changes - Fix a false negative of `verify-deps-before-run` after `pnpm install --production|--no-optional` [#&#8203;9019](https://github.com/pnpm/pnpm/issues/9019). - Print the warning about blocked installation scripts at the end of the installation output and make it more prominent. ### [`v10.2.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1021) ##### Patch Changes - Don't read a package from side-effects cache if it isn't allowed to be built [#&#8203;9042](https://github.com/pnpm/pnpm/issues/9042). - `pnpm approve-builds` should work, when executed from a subdirectory of a workspace [#&#8203;9042](https://github.com/pnpm/pnpm/issues/9042). - `pnpm deploy --legacy` should work without injected dependencies. - Add information about how to deploy without "injected dependencies" to the "pnpm deploy" error message. ### [`v10.2.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1020) ##### Minor Changes - Packages executed via `pnpm dlx` and `pnpm create` are allowed to be built (run postinstall scripts) by default. If the packages executed by `dlx` or `create` have dependencies that have to be built, they should be listed via the `--allow-build` flag. For instance, if you want to run a package called `bundle` that has `esbuild` in dependencies and want to allow `esbuild` to run postinstall scripts, run: pnpm --allow-build=esbuild dlx bundle Related PR: [#&#8203;9026](https://github.com/pnpm/pnpm/pull/9026). ##### Patch Changes - Quote args for scripts with shell-quote to support new lines (on POSIX only) [#&#8203;8980](https://github.com/pnpm/pnpm/issues/8980). - Fix a bug in which `pnpm deploy` fails to read the correct `projectId` when the deploy source is the same as the workspace directory [#&#8203;9001](https://github.com/pnpm/pnpm/issues/9001). - Proxy settings should be respected, when resolving Git-hosted dependencies [#&#8203;6530](https://github.com/pnpm/pnpm/issues/6530). - Prevent `overrides` from adding invalid version ranges to `peerDependencies` by keeping the `peerDependencies` and overriding them with prod `dependencies` [#&#8203;8978](https://github.com/pnpm/pnpm/issues/8978). - Sort the package names in the "pnpm.onlyBuiltDependencies" list saved by `pnpm approve-builds`. ### [`v10.1.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1010) ##### Minor Changes - Added a new command for printing the list of dependencies with ignored build scripts: `pnpm ignored-builds` [#&#8203;8963](https://github.com/pnpm/pnpm/pull/8963). - Added a new command for approving dependencies for running scripts during installation: `pnpm approve-builds` [#&#8203;8963](https://github.com/pnpm/pnpm/pull/8963). - Added a new setting called `optimistic-repeat-install`. When enabled, a fast check will be performed before proceeding to installation. This way a repeat install or an install on a project with everything up-to-date becomes a lot faster. But some edge cases might arise, so we keep it disabled by default for now [#&#8203;8977](https://github.com/pnpm/pnpm/pull/8977). - Added a new field "pnpm.ignoredBuiltDependencies" for explicitly listing packages that should not be built. When a package is in the list, pnpm will not print an info message about that package not being built [#&#8203;8935](https://github.com/pnpm/pnpm/issues/8935). ##### Patch Changes - Verify that the package name is valid when executing the publish command. - When running `pnpm install`, the `preprepare` and `postprepare` scripts of the project should be executed [#&#8203;8989](https://github.com/pnpm/pnpm/pull/8989). - Allow `workspace:` and `catalog:` to be part of wider version range in `peerDependencies`. - `pnpm deploy` should inherit the `pnpm` object from the root `package.json` [#&#8203;8991](https://github.com/pnpm/pnpm/pull/8991). - Make sure that the deletion of a `node_modules` in a sub-project of a monorepo is detected as out-of-date [#&#8203;8959](https://github.com/pnpm/pnpm/issues/8959). - Fix infinite loop caused by lifecycle scripts using `pnpm` to execute other scripts during `pnpm install` with `verify-deps-before-run=install` [#&#8203;8954](https://github.com/pnpm/pnpm/issues/8954). - Replace `strip-ansi` with the built-in `util.stripVTControlCharacters` [#&#8203;9009](https://github.com/pnpm/pnpm/pull/9009). - Do not print patched dependencies as ignored dependencies that require a build [#&#8203;8952](https://github.com/pnpm/pnpm/issues/8952). </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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzYuMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Jade force-pushed renovate/pnpm-10.x from 3a1caf9622 to d37d6ba22c 2025-04-09 01:03:36 +00:00 Compare
Jade merged commit d37d6ba22c into main 2025-04-09 01:04:20 +00:00
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#2
No description provided.