pnpm 12.10.0 → 12.10.1

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,33 @@
1
1
  # pnpm
2
2
 
3
+ ## 12.10.1
4
+
5
+ This release fixes `pnpm install` failures after an `overrides` change and on a filtered frozen install with `catalogPrune`. It also fixes several bugs in the experimental `nodeLinker.type: loaded`, which now keeps its generated files in `node_modules`.
6
+
7
+ ### Patch Changes
8
+
9
+ - With `nodeLinker.type: loaded`, pnpm now writes its generated files to `node_modules`, which projects already ignore in git. The store manifest and loader are `node_modules/.pnpm/.store-manifest.json` and `node_modules/.pnpm/.store-loader.mjs`. Bin shims are in `node_modules/.bin`.
10
+
11
+ Earlier versions wrote `.pnpm-store.json` and `.pnpm-store-loader.mjs` to the project root, and a `.pnpm` directory to the root and to each workspace package. Delete them after reinstalling.
12
+
13
+ - With `nodeLinker.type: loaded`, packages that ship their own `node_modules` directory, such as `npm` with its bundled dependencies, now load from the store. Before, one such package in the install stopped every Node.js process from starting.
14
+
15
+ - With `nodeLinker.type: loaded`, scripts can now run a Node.js runtime installed through `devEngines.runtime`. Before, every script that called `node` re-ran its own shim until it failed with "Argument list too long".
16
+
17
+ - With `nodeLinker.type: loaded`, Node.js processes start faster. In a project with 13,000 stored files, the startup overhead per process dropped from 67 ms to 18 ms.
18
+
19
+ - `pnpm install` no longer fails with `ERR_PNPM_NO_MATCHING_VERSION` after a change to `overrides` when the lockfile resolves an optional peer dependency to an npm alias of another package [#16654](https://github.com/pnpm/pnpm/issues/16654).
20
+
21
+ - A frozen install with `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records. Before, `pnpm install --frozen-lockfile --filter` failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` when some workspace projects were missing from disk [#16638](https://github.com/pnpm/pnpm/issues/16638).
22
+
23
+ - `pnpm install --fix-lockfile` no longer removes the `deprecated` and `hasBin` fields from lockfile entries [#6600](https://github.com/pnpm/pnpm/issues/6600).
24
+
25
+ - With `enableGlobalVirtualStore`, an install that updates `node_modules` now repairs a package in the global virtual store that an interrupted install left without some of its dependency links or package files. Before, such an install kept the incomplete package if the project's `node_modules` already recorded it [#16642](https://github.com/pnpm/pnpm/issues/16642).
26
+
27
+ - `pnpm install` now skips the Cargo and Python projects inside a nested directory that has its own `pnpm-workspace.yaml` or `.git` directory, such as a git worktree of the same workspace or a separate clone.
28
+
29
+ - The `Request took` warning for package metadata now starts timing when pnpm sends the request. Before, it also counted the time the request waited for a free request slot, so large installs printed it for requests the registry answered quickly.
30
+
3
31
  ## 12.10.0
4
32
 
5
33
  This release adds an experimental `loaded` node linker, lets `pnpm-lock.yaml` record resolution settings, and reads cached registry metadata faster. It also carries several security fixes, including one that stops a dependency version from writing files outside the global virtual store.
@@ -1,9 +1,9 @@
1
1
  {
2
- "lastValidatedTimestamp": 1791244929665,
2
+ "lastValidatedTimestamp": 1791305376391,
3
3
  "projects": {
4
4
  "/home/runner/_work/pnpm/pnpm/pnpm/npm/pnpm/temp-deploy": {
5
5
  "name": "pacquet",
6
- "version": "12.10.0",
6
+ "version": "12.10.1",
7
7
  "hasModulesDir": true
8
8
  }
9
9
  },
@@ -28,9 +28,9 @@
28
28
  "@commitlint/config-conventional": "^21.2.3",
29
29
  "@commitlint/prompt-cli": "^21.2.3",
30
30
  "@cyclonedx/cyclonedx-library": "10.3.0",
31
- "@emnapi/wasi-threads": "2.1.0",
31
+ "@emnapi/wasi-threads": "2.2.0",
32
32
  "@eslint/js": "^10.0.1",
33
- "@inquirer/prompts": "^8.7.2",
33
+ "@inquirer/prompts": "^8.7.3",
34
34
  "@jest/globals": "30.4.1",
35
35
  "@npm/types": "^2.1.0",
36
36
  "@openpgp/web-stream-tools": "0.3.1",
@@ -132,6 +132,7 @@
132
132
  "dint": "^5.1.0",
133
133
  "dir-is-case-sensitive": "^3.0.0",
134
134
  "empathic": "^2.1.0",
135
+ "enhanced-resolve": "5.26.0",
135
136
  "esbuild": "^0.28.2",
136
137
  "escape-string-regexp": "^5.0.0",
137
138
  "eslint": "^10.12.0",
@@ -156,7 +157,7 @@
156
157
  "http-proxy-agent": "^9.1.0",
157
158
  "https-proxy-agent": "^9.1.0",
158
159
  "https-proxy-server-express": "0.1.2",
159
- "human-id": "^4.2.1",
160
+ "human-id": "^4.2.2",
160
161
  "husky": "^9.1.7",
161
162
  "hyperdrive-schemas": "^2.0.0",
162
163
  "ini": "6.0.0",
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "./dist/node_modules/node-gyp/gyp/gyp"
10
10
  ]
11
11
  },
12
- "version": "12.10.0",
12
+ "version": "12.10.1",
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.10.0",
50
- "@pnpm/exe.win32-arm64": "12.10.0",
51
- "@pnpm/exe.darwin-x64": "12.10.0",
52
- "@pnpm/exe.darwin-arm64": "12.10.0",
53
- "@pnpm/exe.linux-x64": "12.10.0",
54
- "@pnpm/exe.linux-arm64": "12.10.0",
55
- "@pnpm/exe.linux-riscv64": "12.10.0",
56
- "@pnpm/exe.linux-ppc64": "12.10.0",
57
- "@pnpm/exe.linux-s390x": "12.10.0",
58
- "@pnpm/exe.linux-x64-musl": "12.10.0",
59
- "@pnpm/exe.linux-arm64-musl": "12.10.0",
60
- "@pnpm/exe.freebsd-x64": "12.10.0",
61
- "@pnpm/exe.android-arm64": "12.10.0",
62
- "@pnpm/exe.android-x64": "12.10.0"
49
+ "@pnpm/exe.win32-x64": "12.10.1",
50
+ "@pnpm/exe.win32-arm64": "12.10.1",
51
+ "@pnpm/exe.darwin-x64": "12.10.1",
52
+ "@pnpm/exe.darwin-arm64": "12.10.1",
53
+ "@pnpm/exe.linux-x64": "12.10.1",
54
+ "@pnpm/exe.linux-arm64": "12.10.1",
55
+ "@pnpm/exe.linux-riscv64": "12.10.1",
56
+ "@pnpm/exe.linux-ppc64": "12.10.1",
57
+ "@pnpm/exe.linux-s390x": "12.10.1",
58
+ "@pnpm/exe.linux-x64-musl": "12.10.1",
59
+ "@pnpm/exe.linux-arm64-musl": "12.10.1",
60
+ "@pnpm/exe.freebsd-x64": "12.10.1",
61
+ "@pnpm/exe.android-arm64": "12.10.1",
62
+ "@pnpm/exe.android-x64": "12.10.1"
63
63
  },
64
64
  "scripts": {
65
65
  "preinstall": "node install.js",