pnpm 12.5.0 → 12.5.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,21 @@
1
1
  # pnpm
2
2
 
3
+ ## 12.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - pnpm now reports an unknown task setting in `pnpm-workspace.yaml` and carries on. It used to refuse to start, so a project could not use a task setting that only the pnpm version its `packageManager` pins reads. The setting is still an error when the running pnpm is that pinned version.
8
+
9
+ - Python interpreter installation now retries historical release metadata requests. It caches the release list for up to 24 hours and refreshes it once after a lookup miss. When a release omits the current platform, the search samples at most eight other releases before reporting that the lookup is inconclusive.
10
+
11
+ - Python `registries` entries now route packages by exact names or trailing-prefix patterns in `packages`. Registry declaration order no longer affects resolution. A matched package resolves exclusively from its assigned registry, including transitive and build dependencies. Use `packages: ["*"]` to declare the default index.
12
+
13
+ - `pnpm install` no longer fails with "Too many levels of symbolic links" when a Cargo configuration file above the workspace is a symlink, such as a `~/.cargo/config.toml` linked from a dotfiles repository.
14
+
15
+ - `pnpm install` now returns "Already up to date" in a workspace where `dedupeDirectDeps` left a project without a `node_modules` directory of its own. Such a project forced a full install on every run.
16
+
17
+ - `pnpm install` no longer refuses the repeat-install fast path just because a changed `pnpm-lock.yaml` is 16 MiB or larger. Such a lockfile forced a full install on the run after every change.
18
+
3
19
  ## 12.5.0
4
20
 
5
21
  pnpm 12.5.0 makes Python a first-class ecosystem, accepts Package URLs in `pnpm add`, names whole platforms in `supportedArchitectures`, and gives tasks machine-wide concurrency limits. It also fixes an install that could reuse one package's downloaded tarball for another.
@@ -2,11 +2,11 @@
2
2
  # Resolve $0 through symlinks so basedir is the shim's real directory.
3
3
  # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
4
  #
5
- # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed, and
6
- # uname go through `command -p`, which searches the system default path instead.
7
- # A dependency's bin cannot stand in for one of them and take over the shim
8
- # before it reaches its target. Directories come from `${link%/*}`, which needs
9
- # no helper at all.
5
+ # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed,
6
+ # uname, and printf go through `command -p`, which searches the system default
7
+ # path instead. A dependency's bin cannot stand in for one of them and take over
8
+ # the shim before it reaches its target. Directories come from `${link%/*}`,
9
+ # which needs no helper at all.
10
10
  link="$0"
11
11
  # `${link%/*}` needs a separator to strip. A bare name came from a PATH lookup
12
12
  # and stands for a file in the current directory.
@@ -23,7 +23,7 @@ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
23
23
  *) link="${link%/*}/$target" ;;
24
24
  esac
25
25
  done
26
- basedir=$(echo "$link" | command -p sed -e 's,\\,/,g')
26
+ basedir=$(command -p printf '%s\n' "$link" | command -p sed -e 's,\\,/,g')
27
27
  basedir="${basedir%/*}"
28
28
  basedir_win="$basedir"
29
29
  exe=""
@@ -2,11 +2,11 @@
2
2
  # Resolve $0 through symlinks so basedir is the shim's real directory.
3
3
  # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
4
  #
5
- # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed, and
6
- # uname go through `command -p`, which searches the system default path instead.
7
- # A dependency's bin cannot stand in for one of them and take over the shim
8
- # before it reaches its target. Directories come from `${link%/*}`, which needs
9
- # no helper at all.
5
+ # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed,
6
+ # uname, and printf go through `command -p`, which searches the system default
7
+ # path instead. A dependency's bin cannot stand in for one of them and take over
8
+ # the shim before it reaches its target. Directories come from `${link%/*}`,
9
+ # which needs no helper at all.
10
10
  link="$0"
11
11
  # `${link%/*}` needs a separator to strip. A bare name came from a PATH lookup
12
12
  # and stands for a file in the current directory.
@@ -23,7 +23,7 @@ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
23
23
  *) link="${link%/*}/$target" ;;
24
24
  esac
25
25
  done
26
- basedir=$(echo "$link" | command -p sed -e 's,\\,/,g')
26
+ basedir=$(command -p printf '%s\n' "$link" | command -p sed -e 's,\\,/,g')
27
27
  basedir="${basedir%/*}"
28
28
  basedir_win="$basedir"
29
29
  exe=""
@@ -2,11 +2,11 @@
2
2
  # Resolve $0 through symlinks so basedir is the shim's real directory.
3
3
  # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
4
  #
5
- # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed, and
6
- # uname go through `command -p`, which searches the system default path instead.
7
- # A dependency's bin cannot stand in for one of them and take over the shim
8
- # before it reaches its target. Directories come from `${link%/*}`, which needs
9
- # no helper at all.
5
+ # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed,
6
+ # uname, and printf go through `command -p`, which searches the system default
7
+ # path instead. A dependency's bin cannot stand in for one of them and take over
8
+ # the shim before it reaches its target. Directories come from `${link%/*}`,
9
+ # which needs no helper at all.
10
10
  link="$0"
11
11
  # `${link%/*}` needs a separator to strip. A bare name came from a PATH lookup
12
12
  # and stands for a file in the current directory.
@@ -23,7 +23,7 @@ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
23
23
  *) link="${link%/*}/$target" ;;
24
24
  esac
25
25
  done
26
- basedir=$(echo "$link" | command -p sed -e 's,\\,/,g')
26
+ basedir=$(command -p printf '%s\n' "$link" | command -p sed -e 's,\\,/,g')
27
27
  basedir="${basedir%/*}"
28
28
  basedir_win="$basedir"
29
29
  exe=""
@@ -2,11 +2,11 @@
2
2
  # Resolve $0 through symlinks so basedir is the shim's real directory.
3
3
  # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
4
  #
5
- # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed, and
6
- # uname go through `command -p`, which searches the system default path instead.
7
- # A dependency's bin cannot stand in for one of them and take over the shim
8
- # before it reaches its target. Directories come from `${link%/*}`, which needs
9
- # no helper at all.
5
+ # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed,
6
+ # uname, and printf go through `command -p`, which searches the system default
7
+ # path instead. A dependency's bin cannot stand in for one of them and take over
8
+ # the shim before it reaches its target. Directories come from `${link%/*}`,
9
+ # which needs no helper at all.
10
10
  link="$0"
11
11
  # `${link%/*}` needs a separator to strip. A bare name came from a PATH lookup
12
12
  # and stands for a file in the current directory.
@@ -23,7 +23,7 @@ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
23
23
  *) link="${link%/*}/$target" ;;
24
24
  esac
25
25
  done
26
- basedir=$(echo "$link" | command -p sed -e 's,\\,/,g')
26
+ basedir=$(command -p printf '%s\n' "$link" | command -p sed -e 's,\\,/,g')
27
27
  basedir="${basedir%/*}"
28
28
  basedir_win="$basedir"
29
29
  exe=""
@@ -2,11 +2,11 @@
2
2
  # Resolve $0 through symlinks so basedir is the shim's real directory.
3
3
  # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
4
  #
5
- # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed, and
6
- # uname go through `command -p`, which searches the system default path instead.
7
- # A dependency's bin cannot stand in for one of them and take over the shim
8
- # before it reaches its target. Directories come from `${link%/*}`, which needs
9
- # no helper at all.
5
+ # A shim runs with node_modules/.bin at the front of PATH, so readlink, sed,
6
+ # uname, and printf go through `command -p`, which searches the system default
7
+ # path instead. A dependency's bin cannot stand in for one of them and take over
8
+ # the shim before it reaches its target. Directories come from `${link%/*}`,
9
+ # which needs no helper at all.
10
10
  link="$0"
11
11
  # `${link%/*}` needs a separator to strip. A bare name came from a PATH lookup
12
12
  # and stands for a file in the current directory.
@@ -23,7 +23,7 @@ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
23
23
  *) link="${link%/*}/$target" ;;
24
24
  esac
25
25
  done
26
- basedir=$(echo "$link" | command -p sed -e 's,\\,/,g')
26
+ basedir=$(command -p printf '%s\n' "$link" | command -p sed -e 's,\\,/,g')
27
27
  basedir="${basedir%/*}"
28
28
  basedir_win="$basedir"
29
29
  exe=""
@@ -1,9 +1,9 @@
1
1
  {
2
- "lastValidatedTimestamp": 1789748282784,
2
+ "lastValidatedTimestamp": 1789765288371,
3
3
  "projects": {
4
4
  "/home/runner/_work/pnpm/pnpm/pnpm/npm/pnpm/temp-deploy": {
5
5
  "name": "pacquet",
6
- "version": "12.5.0"
6
+ "version": "12.5.1"
7
7
  }
8
8
  },
9
9
  "pnpmfiles": [],
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "./dist/node_modules/node-gyp/gyp/gyp"
10
10
  ]
11
11
  },
12
- "version": "12.5.0",
12
+ "version": "12.5.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.5.0",
50
- "@pnpm/exe.win32-arm64": "12.5.0",
51
- "@pnpm/exe.darwin-x64": "12.5.0",
52
- "@pnpm/exe.darwin-arm64": "12.5.0",
53
- "@pnpm/exe.linux-x64": "12.5.0",
54
- "@pnpm/exe.linux-arm64": "12.5.0",
55
- "@pnpm/exe.linux-riscv64": "12.5.0",
56
- "@pnpm/exe.linux-ppc64": "12.5.0",
57
- "@pnpm/exe.linux-s390x": "12.5.0",
58
- "@pnpm/exe.linux-x64-musl": "12.5.0",
59
- "@pnpm/exe.linux-arm64-musl": "12.5.0",
60
- "@pnpm/exe.freebsd-x64": "12.5.0",
61
- "@pnpm/exe.android-arm64": "12.5.0",
62
- "@pnpm/exe.android-x64": "12.5.0"
49
+ "@pnpm/exe.win32-x64": "12.5.1",
50
+ "@pnpm/exe.win32-arm64": "12.5.1",
51
+ "@pnpm/exe.darwin-x64": "12.5.1",
52
+ "@pnpm/exe.darwin-arm64": "12.5.1",
53
+ "@pnpm/exe.linux-x64": "12.5.1",
54
+ "@pnpm/exe.linux-arm64": "12.5.1",
55
+ "@pnpm/exe.linux-riscv64": "12.5.1",
56
+ "@pnpm/exe.linux-ppc64": "12.5.1",
57
+ "@pnpm/exe.linux-s390x": "12.5.1",
58
+ "@pnpm/exe.linux-x64-musl": "12.5.1",
59
+ "@pnpm/exe.linux-arm64-musl": "12.5.1",
60
+ "@pnpm/exe.freebsd-x64": "12.5.1",
61
+ "@pnpm/exe.android-arm64": "12.5.1",
62
+ "@pnpm/exe.android-x64": "12.5.1"
63
63
  },
64
64
  "scripts": {
65
65
  "preinstall": "node install.js",