pnpm 12.11.2 → 12.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # pnpm
2
2
 
3
+ ## 12.12.0
4
+
5
+ This release shares task results and dependency builds through a remote cache, adds the `addMissingPeerTypes` setting, and lets `pnpm add --config` and `pnpm update` manage configuration dependencies. It also fixes `dangerouslyAllowAllBuilds` running the build scripts of packages that `allowBuilds` denies.
6
+
7
+ ### Minor Changes
8
+
9
+ - `pnpm pipeline` can share task results between machines. A result is a signed artifact stored on a pnpr server or on a server that speaks the Turborepo Remote Cache API, such as Vercel Remote Cache.
10
+
11
+ The remote side-effects cache can also store dependency builds on a Turborepo Remote Cache server. Both caches read the new `remoteCache` setting, which names the server and holds the signing keys. `pnpm pipeline --report` records the run under the organization `remoteCache.org` names.
12
+
13
+ - Added the `addMissingPeerTypes` setting, which links the `@types` package of a peer dependency next to every package that peer-depends on it. For example, a package that peer-depends on `react` gets the project's `@types/react` linked next to it. This lets TypeScript find the types of a peer dependency when the global virtual store is on [#15689](https://github.com/pnpm/pnpm/discussions/15689).
14
+
15
+ - `pnpm add --config` and `pnpm update` now handle configuration dependencies the way they handle other dependencies [#16814](https://github.com/pnpm/pnpm/issues/16814).
16
+
17
+ `pnpm add --config` saves a version range in `pnpm-workspace.yaml` by the same rules as `pnpm add`, so `pnpm add --config my-config@latest` saves a range such as `^1.2.0`. It also resolves the package again when `pnpm-lock.yaml` already locks an older version.
18
+
19
+ `pnpm update` updates configuration dependencies within their ranges, and `pnpm update --latest` moves them to their latest version. A selector such as `pnpm update my-config` updates only the configuration dependencies it names.
20
+
21
+ ### Patch Changes
22
+
23
+ - A package set to `false` in `allowBuilds` no longer runs its build scripts when `dangerouslyAllowAllBuilds` is `true`. The two settings together now allow every build except the denied ones. Previously, `dangerouslyAllowAllBuilds` ignored the denials.
24
+
25
+ - pnpm now switches to the pnpm version a project pins even when it cannot read its configuration. Previously, a setting it rejected in the global config file, an `.npmrc` file, or `_auth`, or a `pnpm-workspace.yaml` it could not parse, stopped every command, `pnpm --version` included.
26
+
27
+ - `pnpm update` and `pnpm why` accept `--depth Infinity` again. They failed with `invalid value 'Infinity' for '--depth <DEPTH>'` [#16817](https://github.com/pnpm/pnpm/issues/16817).
28
+
29
+ - `pnpm deploy` without `injectWorkspacePackages` now binds a peer dependency of a linked workspace package to the version its parent provides, as an injected install does. Previously the deploy failed with `ERR_PNPM_DEPLOY_AMBIGUOUS_PEER` whenever other packages in the deployed graph depended on different versions of that peer [#16807](https://github.com/pnpm/pnpm/issues/16807).
30
+
31
+ - `pnpm deploy --legacy` no longer fails with `ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER` when a workspace dependency of the deployed project declares a `workspace:` peer dependency that the project does not depend on itself. pnpm now copies that peer from the workspace into the deploy directory.
32
+
33
+ An auto-installed peer declared with `workspace:` now always resolves to the workspace project. Previously, `workspace:*` and `workspace:^1.0.0` peers could be installed from the registry [#16806](https://github.com/pnpm/pnpm/issues/16806).
34
+
35
+ - Repeat installs no longer resolve again when an injected workspace package lists a dependency also as a peer dependency.
36
+
37
+ - Sped up frozen installs of unchanged injected workspace packages that use hardlinks.
38
+
39
+ - Sped up workspace discovery with subtree exclusions such as `!generated/**`.
40
+
41
+ - A key under a registry URL in the `_auth` setting that does not start with `@` is now skipped with a warning, so a field a later pnpm version adds there no longer breaks this one. A key that holds an `authToken` object but lacks its `@`, such as `org` for `@org`, is still an error.
42
+
3
43
  ## 12.11.2
4
44
 
5
45
  This release fixes `--workspace-concurrency=Infinity`, filters set by an `updateConfig` hook, and store fetches with `enable-modules-dir=false`.
@@ -1,9 +1,9 @@
1
1
  {
2
- "lastValidatedTimestamp": 1791563620568,
2
+ "lastValidatedTimestamp": 1791659870175,
3
3
  "projects": {
4
4
  "/home/runner/_work/pnpm/pnpm/pnpm/npm/pnpm/temp-deploy": {
5
5
  "name": "pacquet",
6
- "version": "12.11.2",
6
+ "version": "12.12.0",
7
7
  "hasModulesDir": true
8
8
  }
9
9
  },
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "./dist/node_modules/node-gyp/gyp/gyp"
10
10
  ]
11
11
  },
12
- "version": "12.11.2",
12
+ "version": "12.12.0",
13
13
  "description": "Fast, disk space efficient package manager",
14
14
  "keywords": [
15
15
  "pnpm",
@@ -46,20 +46,20 @@
46
46
  "THIRD-PARTY-NOTICES.md"
47
47
  ],
48
48
  "optionalDependencies": {
49
- "@pnpm/exe.win32-x64": "12.11.2",
50
- "@pnpm/exe.win32-arm64": "12.11.2",
51
- "@pnpm/exe.darwin-x64": "12.11.2",
52
- "@pnpm/exe.darwin-arm64": "12.11.2",
53
- "@pnpm/exe.linux-x64": "12.11.2",
54
- "@pnpm/exe.linux-arm64": "12.11.2",
55
- "@pnpm/exe.linux-riscv64": "12.11.2",
56
- "@pnpm/exe.linux-ppc64": "12.11.2",
57
- "@pnpm/exe.linux-s390x": "12.11.2",
58
- "@pnpm/exe.linux-x64-musl": "12.11.2",
59
- "@pnpm/exe.linux-arm64-musl": "12.11.2",
60
- "@pnpm/exe.freebsd-x64": "12.11.2",
61
- "@pnpm/exe.android-arm64": "12.11.2",
62
- "@pnpm/exe.android-x64": "12.11.2"
49
+ "@pnpm/exe.win32-x64": "12.12.0",
50
+ "@pnpm/exe.win32-arm64": "12.12.0",
51
+ "@pnpm/exe.darwin-x64": "12.12.0",
52
+ "@pnpm/exe.darwin-arm64": "12.12.0",
53
+ "@pnpm/exe.linux-x64": "12.12.0",
54
+ "@pnpm/exe.linux-arm64": "12.12.0",
55
+ "@pnpm/exe.linux-riscv64": "12.12.0",
56
+ "@pnpm/exe.linux-ppc64": "12.12.0",
57
+ "@pnpm/exe.linux-s390x": "12.12.0",
58
+ "@pnpm/exe.linux-x64-musl": "12.12.0",
59
+ "@pnpm/exe.linux-arm64-musl": "12.12.0",
60
+ "@pnpm/exe.freebsd-x64": "12.12.0",
61
+ "@pnpm/exe.android-arm64": "12.12.0",
62
+ "@pnpm/exe.android-x64": "12.12.0"
63
63
  },
64
64
  "scripts": {
65
65
  "preinstall": "node install.js",