-
Notifications
You must be signed in to change notification settings - Fork 1
Commit b93101b
authored
chore(deps): update pnpm to v10 (#46)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`9.15.9` ->
`10.11.1`](https://renovatebot.com/diffs/npm/pnpm/9.15.9/10.11.1) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>pnpm/pnpm (pnpm)</summary>
###
[`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
[#​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.
([#​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`
[#​9505](https://redirect.github.com/pnpm/pnpm/pull/9505).
- Use `pnpm_config_` env variables instead of `npm_config_`
[#​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`
[#​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
[#​9502](https://redirect.github.com/pnpm/pnpm/pull/9502).
- `pnpm -r --silent run` should not print out section
[#​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
[#​9463](https://redirect.github.com/pnpm/pnpm/pull/9463).
- Added support for Nushell to `pnpm setup`
[#​6476](https://redirect.github.com/pnpm/pnpm/issues/6476).
- Added two new flags to the `pnpm audit` command, `--ignore` and
`--ignore-unfixable`
[#​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
[#​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`
[#​9472](https://redirect.github.com/pnpm/pnpm/issues/9472).
- `pnpm link` should work from inside a workspace
[#​9506](https://redirect.github.com/pnpm/pnpm/issues/9506).
- Set the default `workspaceConcurrency` to
`Math.min(os.availableParallelism(), 4)`
[#​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`
[#​9505](https://redirect.github.com/pnpm/pnpm/pull/9505).
- Read `updateConfig` from `pnpm-workspace.yaml`
[#​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
[#​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`
[#​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`
[#​7838](https://redirect.github.com/pnpm/pnpm/issues/7838).
- Sort keys in `pnpm-workspace.yaml`
[#​9453](https://redirect.github.com/pnpm/pnpm/pull/9453).
- Pass the `npm_package_json` environment variable to the executed
scripts
[#​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>@​<range>
For example, running:
pnpm add jsr:@​foo/bar
will add the following entry to your `package.json`:
```json
{
"dependencies": {
"@​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": {
"@​foo/bar": "npm:@​jsr/foo__bar@^0.1.2"
}
}
```
Related issue:
[#​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
[#​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
[#​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
[#​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
[#​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
[#​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`
[#​9365](https://redirect.github.com/pnpm/pnpm/pull/9365).
###
[`v10.7.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v10.7.1):
pnpm 10.7.1
[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`
[#​9355](https://redirect.github.com/pnpm/pnpm/issues/9355).
- `pnpm config get` should read auth related settings via npm CLI
[#​9345](https://redirect.github.com/pnpm/pnpm/issues/9345).
- Replace leading `~/` in a path in `.npmrc` with the home directory
[#​9217](https://redirect.github.com/pnpm/pnpm/issues/9217).
#### 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>
<td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
</td>
<td align="center" valign="middle">
<a href="https://syntax.fm/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/syntaxfm.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/syntaxfm_light.svg" />
<img src="https://pnpm.io/img/users/syntaxfm.svg" width="90"
alt="Syntax" />
</picture>
</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://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg?0" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg?0" />
<img src="https://pnpm.io/img/users/nx.svg" width="70" alt="Nx" />
</picture>
</a>
</td>
</tr>
<tr>
<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://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
</a>
</td>
</tr>
<tr>
<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>
<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>
</tr>
</tbody>
</table>
###
[`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
[#​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
[email protected]: patches/foo-3.patch
```
The above configuration would apply `patches/foo-3.patch` to
`[email protected]`, `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
> '[email protected]': 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](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
[#​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
[#​9296](https://redirect.github.com/pnpm/pnpm/issues/9296).
- When installing different dependency packages, should retain the
`ignoredBuilds` field in the `.modules.yaml` file
[#​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`.
[#​8715](https://redirect.github.com/pnpm/pnpm/issues/8715)
- Setting `workspace-concurrency` to less than or equal to 0 should work
[#​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
[#​9263](https://redirect.github.com/pnpm/pnpm/issues/9263).
- Invalid Node.js version in `use-node-version` should not cause pnpm
itself to break
[#​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
[#​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 performance after some point.
###
[`v10.6.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1063)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.6.2...v10.6.3)
##### Patch Changes
- `pnpm install --prod=false` should not crash, when executed in a
project with a `pnpm-workspace.yaml` file
[#​9233](https://redirect.github.com/pnpm/pnpm/issues/9233). This
fixes regression introduced via
[#​9211](https://redirect.github.com/pnpm/pnpm/pull/9211).
- Add the missing `node-options` config to `recursive run`
[#​9180](https://redirect.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
[#​9259](https://redirect.github.com/pnpm/pnpm/pull/9259).
###
[`v10.6.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1062)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.6.1...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](https://redirect.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://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1061)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.6.0...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](https://redirect.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://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1060)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.5.2...v10.6.0)
##### Minor Changes
- `pnpm-workspace.yaml` can now hold all the settings that `.npmrc`
accepts. The settings should use camelCase
[#​9211](https://redirect.github.com/pnpm/pnpm/pull/9211).
`pnpm-workspace.yaml` example:
```yaml
verifyDepsBeforeRun: install
optimisticRepeatInstall: true
publicHoistPattern:
- "*types*"
- "!@​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](https://redirect.github.com/pnpm/pnpm/pull/9169).
- `pnpm deploy` should not remove fields from the deployed package's
`package.json` file
[#​9215](https://redirect.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
[#​9193](https://redirect.github.com/pnpm/pnpm/issues/9193).
- `pnpm update -i` should list only packages that have newer versions
[#​9206](https://redirect.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.
[#​9112](https://redirect.github.com/pnpm/pnpm/issues/9112)
###
[`v10.5.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1052)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.5.1...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](https://redirect.github.com/pnpm/pnpm/pull/9151) and
shipped in pnpm v10.5.0.
###
[`v10.5.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1051)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/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](https://redirect.github.com/pnpm/pnpm/issues/9170).
- Fix the update of `pnpm-workspace.yaml` by the `pnpm approve-builds`
command
[#​9168](https://redirect.github.com/pnpm/pnpm/issues/9168).
- Normalize generated link paths in `package.json`
[#​9163](https://redirect.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
[#​9178](https://redirect.github.com/pnpm/pnpm/issues/9178).
###
[`v10.5.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1050)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.4.1...v10.5.0)
##### Minor Changes
- Allow to set the "pnpm" settings from `package.json` via the
`pnpm-workspace.yaml` file
[#​9121](https://redirect.github.com/pnpm/pnpm/pull/9121).
- Added support for automatically syncing files of injected workspace
packages after `pnpm run`
[#​9081](https://redirect.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
[#​9151](https://redirect.github.com/pnpm/pnpm/pull/9151).
- Allow scope registry CLI option without `--config.` prefix such as
`--@​scope:registry=https://scope.example.com/npm`
[#​9089](https://redirect.github.com/pnpm/pnpm/pull/9089).
- `pnpm link <path>` should calculate relative path from the root of the
workspace directory
[#​9132](https://redirect.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`.
[#​8639](https://redirect.github.com/pnpm/pnpm/issues/8639)
- Fix a bug causing catalog protocol dependencies to not re-resolve on a
filtered install
[#​8638](https://redirect.github.com/pnpm/pnpm/issues/8638).
###
[`v10.4.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1041)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.4.0...v10.4.1)
##### Patch Changes
- Throws an error when the value provided by the `--allow-build` option
overlaps with the `pnpm.ignoredBuildDependencies` list
[#​9105](https://redirect.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
[#​9106](https://redirect.github.com/pnpm/pnpm/issues/9106).
- Setting `init-package-manager` should work.
###
[`v10.4.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1040)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.3.0...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](https://redirect.github.com/pnpm/pnpm/pull/9086).
- The `pnpm init` command adds a `packageManager` field with the current
version of pnpm CLI
[#​9069](https://redirect.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 [#​9083](https://redirect.github.com/pnpm/pnpm/pull/9083).
- Fix instruction for updating pnpm with corepack
[#​9101](https://redirect.github.com/pnpm/pnpm/pull/9101).
- The pnpm version specified by `packageManager` cannot start with `v`.
###
[`v10.3.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1030)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.2.1...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](https://redirect.github.com/pnpm/pnpm/pull/9071).
##### Patch Changes
- Fix a false negative of `verify-deps-before-run` after `pnpm install
--production|--no-optional`
[#​9019](https://redirect.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://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1021)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.2.0...v10.2.1)
##### Patch Changes
- Don't read a package from side-effects cache if it isn't allowed to be
built [#​9042](https://redirect.github.com/pnpm/pnpm/issues/9042).
- `pnpm approve-builds` should work, when executed from a subdirectory
of a workspace
[#​9042](https://redirect.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://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1020)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.1.0...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](https://redirect.github.com/pnpm/pnpm/pull/9026).
##### Patch Changes
- Quote args for scripts with shell-quote to support new lines (on POSIX
only) [#​8980](https://redirect.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
[#​9001](https://redirect.github.com/pnpm/pnpm/issues/9001).
- Proxy settings should be respected, when resolving Git-hosted
dependencies
[#​6530](https://redirect.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`
[#​8978](https://redirect.github.com/pnpm/pnpm/issues/8978).
- Sort the package names in the "pnpm.onlyBuiltDependencies" list saved
by `pnpm approve-builds`.
###
[`v10.1.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1010)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.0.0...v10.1.0)
##### Minor Changes
- Added a new command for printing the list of dependencies with ignored
build scripts: `pnpm ignored-builds`
[#​8963](https://redirect.github.com/pnpm/pnpm/pull/8963).
- Added a new command for approving dependencies for running scripts
during installation: `pnpm approve-builds`
[#​8963](https://redirect.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
[#​8977](https://redirect.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 [#​8935](https://redirect.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
[#​8989](https://redirect.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`
[#​8991](https://redirect.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
[#​8959](https://redirect.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`
[#​8954](https://redirect.github.com/pnpm/pnpm/issues/8954).
- Replace `strip-ansi` with the built-in `util.stripVTControlCharacters`
[#​9009](https://redirect.github.com/pnpm/pnpm/pull/9009).
- Do not print patched dependencies as ignored dependencies that require
a build
[#​8952](https://redirect.github.com/pnpm/pnpm/issues/8952).
###
[`v10.0.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1000)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.15.9...v10.0.0)
##### Major Changes
- Lifecycle scripts of dependencies are not executed during installation
by default! This is a breaking change aimed at increasing security. In
order to allow lifecycle scripts of specific dependencies, they should
be listed in the `pnpm.onlyBuiltDependencies` field of `package.json`
[#​8897](https://redirect.github.com/pnpm/pnpm/pull/8897). For
example:
```json
{
"pnpm": {
"onlyBuiltDependencies": ["fsevents"]
}
}
```
- `pnpm link` behavior updated:
The `pnpm link` command now adds overrides to the root `package.json`.
- In a workspace: The override is added to the root of the workspace,
linking the dependency to all projects in the workspace.
- Global linking: To link a package globally, run `pnpm link` from the
package’s directory. Previously, you needed to use `pnpm link -g`.
Related PR:
[#​8653](https://redirect.github.com/pnpm/pnpm/pull/8653)
- Secure hashing with SHA256:
Various hashing algorithms have been updated to SHA256 for enhanced
security and consistency:
- Long paths inside `node_modules/.pnpm` are now hashed with SHA256.
- Long peer dependency hashes in the lockfile now use SHA256 instead of
MD5. (This affects very few users since these are only used for long
keys.)
- The hash stored in the `packageExtensionsChecksum` field of
`pnpm-lock.yaml` is now SHA256.
- The side effects cache keys now use SHA256.
- The pnpmfile checksum in the lockfile now uses SHA256
([#​8530](https://redirect.github.com/pnpm/pnpm/pull/8530)).
- Configuration updates:
- `manage-package-manager-versions`: enabled by default. pnpm now
manages its own version based on the `packageManager` field in
`package.json` by default.
- `public-hoist-pattern`: nothing is hoisted by default. Packages
containing `eslint` or `prettier` in their name are no longer hoisted to
the root of `node_modules`. Related Issue:
[#​8378](https://redirect.github.com/pnpm/pnpm/issues/8378)
- Upgraded `@yarnpkg/extensions` to v2.0.3. This may alter your
lockfile.
- `virtual-store-dir-max-length`: the default value on Windows has been
reduced to 60 characters.
- Reduced environment variables for scripts:
During script execution, fewer `npm_package_*` environment variables are
set. Only `name`, `version`, `bin`, `engines`, and `config` remain.
Related Issue:
[#​8552](https://redirect.github.com/pnpm/pnpm/issues/8552)
- All dependencies are now installed even if `NODE_ENV=production`.
Related Issue:
[#​8827](https://redirect.github.com/pnpm/pnpm/issues/8827)
- Changes to the global store:
- Store version bumped to v10.
- Some registries allow identical content to be published under
different package names or versions. To accommodate this, index files in
the store are now stored using both the content hash and package
identifier.
This approach ensures that we can:
1. Validate that the integrity in the lockfile corresponds to the
correct package, which might not be the case after a poorly resolved Git
conflict.
2. Allow the same content to be referenced by different packages or
different versions of the same package.
Related PR:
[#​8510](https://redirect.github.com/pnpm/pnpm/pull/8510)
Related Issue:
[#​8204](https://redirect.github.com/pnpm/pnpm/issues/8204)
- More efficient side effects indexing. The structure of index files in
the store has changed. Side effects are now tracked more efficiently by
listing only file differences rather than all files.
Related PR:
[#​8636](https://redirect.github.com/pnpm/pnpm/pull/8636)
- A new `index` directory stores package content mappings. Previously,
these files were in `files`.
- Other breaking changes:
- The `#` character is now escaped in directory names within
`node_modules/.pnpm`.
Related PR:
[#​8557](https://redirect.github.com/pnpm/pnpm/pull/8557)
- Running `pnpm add --global pnpm` or `pnpm add --global
@​pnpm/exe` now fails with an error message, directing you to use
`pnpm self-update` instead.
Related PR:
[#​8728](https://redirect.github.com/pnpm/pnpm/pull/8728)
- Dependencies added via a URL now record the final resolved URL in the
lockfile, ensuring that any redirects are fully captured.
Related Issue:
[#​8833](https://redirect.github.com/pnpm/pnpm/issues/8833)
- The `pnpm deploy` command now only works in workspaces that have
`inject-workspace-packages=true`. This limitation is introduced to allow
us to create a proper lockfile for the deployed project using the
workspace lockfile.
- Removed conversion from lockfile v6 to v9. If you need v6-to-v9
conversion, use pnpm CLI v9.
- `pnpm test` now passes all parameters after the `test` keyword
directly to the underlying script. This matches the behavior of `pnpm
run test`. Previously you needed to use the `--` prefix.
Related PR:
[#​8619](https://redirect.github.com/pnpm/pnpm/pull/8619)
- `node-gyp` updated to version 11.
- `pnpm deploy` now tries creating a dedicated lockfile from a shared
lockfile for deployment. It will fallback to deployment without a
lockfile if there is no shared lockfile or `force-legacy-deploy` is set
to `true`.
##### Minor Changes
- Added support for a new type of dependencies called "configurational
dependencies". These dependencies are installed before all the other
types of dependencies (before "dependencies", "devDependencies",
"optionalDependencies").
Configurational dependencies cannot have dependencies of their own or
lifecycle scripts. They should be added using exact version and the
integrity checksum. Example:
```json
{
"pnpm": {
"configDependencies": {
"my-configs":
"1.0.0+sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="
}
}
}
```
Related RFC: [#​8](https://redirect.github.com/pnpm/rfcs/pull/8).
Related PR:
[#​8915](https://redirect.github.com/pnpm/pnpm/pull/8915).
- New settings:
- New `verify-deps-before-run` setting. This setting controls how `pnpm`
checks `node_modules` before running scripts:
- `install`: Automatically run `pnpm install` if `node_modules` is
outdated.
- `warn`: Print a warning if `node_modules` is outdated.
- `prompt`: Prompt the user to confirm running `pnpm install` if
`node_modules` is outdated.
- `error`: Throw an error if `node_modules` is outdated.
- `false`: Disable dependency checks.
Related Issue:
[#​8585](https://redirect.github.com/pnpm/pnpm/issues/8585)
- New `inject-workspace-packages` setting enables hard-linking all local
workspace dependencies instead of symlinking them. Previously, this
could be achieved using
[`dependenciesMeta[].injected`](https://pnpm.io/package_json#dependenciesmetainjected),
which remains supported.
Related PR:
[#​8836](https://redirect.github.com/pnpm/pnpm/pull/8836)
- Faster repeat installs:
On repeated installs, `pnpm` performs a quick check to ensure
`node_modules` is up to date.
Related PR:
[#​8838](https://redirect.github.com/pnpm/pnpm/pull/8838)
- `pnpm add` integrates with default workspace catalog:
When adding a dependency, `pnpm add` checks the default workspace
catalog. If the dependency and version requirement match the catalog,
`pnpm add` uses the `catalog:` protocol. Without a specified version, it
matches the catalog’s version. If it doesn’t match, it falls back to
standard behavior.
Related Issue:
[#​8640](https://redirect.github.com/pnpm/pnpm/issues/8640)
- `pnpm dlx` now resolves packages to their exact versions and uses
these exact versions for cache keys. This ensures `pnpm dlx` always
installs the latest requested packages.
Related PR:
[#​8811](https://redirect.github.com/pnpm/pnpm/pull/8811)
- No `node_modules` validation on certain commands. Commands that should
not modify `node_modules` (e.g., `pnpm install --lockfile-only`) no
longer validate or purge `node_modules`.
Related PR:
[#​8657](https://redirect.github.com/pnpm/pnpm/pull/8657)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/mmkal/eslint-plugin-mmkal).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjQwLjQwLjMiLCJ0YXJnZXRCcmFuY2giOiJkZXBzIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 676f1fd commit b93101bCopy full SHA for b93101b
File tree
Expand file treeCollapse file tree
1 file changed
+1
-1
lines changedFilter options
Expand file treeCollapse file tree
1 file changed
+1
-1
lines changedCollapse file: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
5 |
| - | |
| 5 | + | |
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
|
0 commit comments