@pnpm/exe 12.4.1 → 12.4.2

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.
@@ -1,9 +1,9 @@
1
1
  {
2
- "lastValidatedTimestamp": 1789057805684,
2
+ "lastValidatedTimestamp": 1789466800429,
3
3
  "projects": {
4
4
  "/home/runner/_work/pnpm/pnpm/pnpm/npm/pnpm/temp-deploy": {
5
5
  "name": "pacquet",
6
- "version": "12.4.1"
6
+ "version": "12.4.2"
7
7
  }
8
8
  },
9
9
  "pnpmfiles": [],
@@ -94,7 +94,6 @@
94
94
  "@yarnpkg/lockfile": "^1.1.0",
95
95
  "@yarnpkg/nm": "4.1.1",
96
96
  "@yarnpkg/pnp": "^4.1.7",
97
- "@zkochan/cmd-shim": "^9.0.7",
98
97
  "@zkochan/retry": "^0.2.0",
99
98
  "@zkochan/rimraf": "^4.0.0",
100
99
  "@zkochan/table": "^2.0.1",
@@ -142,7 +141,7 @@
142
141
  "fast-glob": "^3.3.3",
143
142
  "fs-extra": "^11.4.0",
144
143
  "fuse-native": "^2.2.6",
145
- "get-pnpm": "^0.0.3",
144
+ "get-pnpm": "^0.0.4",
146
145
  "get-port": "^7.2.0",
147
146
  "ghooks": "2.0.4",
148
147
  "graceful-fs": "^4.2.11",
@@ -172,6 +171,7 @@
172
171
  "lru-cache": "^11.5.2",
173
172
  "make-empty-dir": "^4.0.0",
174
173
  "mdast-util-to-string": "^4.0.0",
174
+ "memfs": "^3.5.3",
175
175
  "memoize": "^11.0.0",
176
176
  "micromatch": "^4.0.8",
177
177
  "msgpackr": "2.1.0",
@@ -311,15 +311,13 @@
311
311
  "write-ini-file",
312
312
  "write-json5-file",
313
313
  "write-yaml-file",
314
- "http-proxy-middleware@3.0.7",
315
- "get-pnpm@0.0.3"
314
+ "http-proxy-middleware@3.0.7"
316
315
  ],
317
316
  "minimumReleaseAgeIgnoreMissingTime": true,
318
317
  "minimumReleaseAgeStrict": true,
319
318
  "nodeLinker": "hoisted",
320
319
  "optional": true,
321
320
  "patchedDependencies": {
322
- "adm-zip@0.6.0": "../../../../__patches__/adm-zip@0.6.0.patch",
323
321
  "graceful-fs@4.2.11": "../../../../__patches__/graceful-fs@4.2.11.patch",
324
322
  "normalize-registry-url@2.0.1": "../../../../__patches__/normalize-registry-url@2.0.1.patch"
325
323
  },
@@ -1,3 +1,11 @@
1
+ const V12_ONLY_TARGETS = new Set([
2
+ 'android-arm64',
3
+ 'android-x64',
4
+ 'freebsd-x64',
5
+ 'linux-ppc64',
6
+ 'linux-riscv64',
7
+ 'linux-s390x',
8
+ ]);
1
9
  /**
2
10
  * Name of the npm package that carries the pnpm executable for `target`.
3
11
  *
@@ -6,15 +14,22 @@
6
14
  * publishes `@pnpm/exe.<process.platform>-<arch>[-musl]`, while v11 and older
7
15
  * publish `@pnpm/<macos|win|linux|linuxstatic>-<arch>`.
8
16
  *
9
- * @throws if pnpm publishes no binary for the host — either because the
10
- * architecture was never supported, or because of the v11-only Intel macOS gap.
17
+ * @throws if pnpm publishes no binary for the host — because the host is not
18
+ * built for at all, because the binary arrived in v12 and an older major was
19
+ * asked for, or because of the v11-only Intel macOS gap.
11
20
  */
12
21
  export function platformPackageName({ major, platform, arch, musl }) {
13
- if (arch !== 'x64' && arch !== 'arm64') {
14
- throw new Error('Sorry! pnpm currently only provides pre-built binaries for x86_64/arm64 architectures.');
22
+ const target = `${platform}-${arch}`;
23
+ if (V12_ONLY_TARGETS.has(target)) {
24
+ if (major >= 12)
25
+ return `@pnpm/exe.${target}`;
26
+ throw new Error(`pnpm v${major} does not provide a pre-built binary for ${target}. pnpm 12 does:
27
+
28
+ npx get-pnpm 12`);
15
29
  }
16
- if (platform !== 'darwin' && platform !== 'linux' && platform !== 'win32') {
17
- throw new Error(`Sorry! pnpm does not provide a pre-built binary for ${platform}.`);
30
+ if ((arch !== 'x64' && arch !== 'arm64') ||
31
+ (platform !== 'darwin' && platform !== 'linux' && platform !== 'win32')) {
32
+ throw new Error(`Sorry! pnpm does not provide a pre-built binary for ${target}.`);
18
33
  }
19
34
  if (platform === 'darwin' && arch === 'x64' && major === 11) {
20
35
  throw new Error(`pnpm v11 does not provide a working binary for Intel macOS (darwin-x64) due to an upstream Node.js SEA bug.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-pnpm",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Installs pnpm as a standalone executable",
5
5
  "keywords": [
6
6
  "pnpm",
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "./dist/node_modules/node-gyp/gyp/gyp"
10
10
  ]
11
11
  },
12
- "version": "12.4.1",
12
+ "version": "12.4.2",
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.4.1",
50
- "@pnpm/exe.win32-arm64": "12.4.1",
51
- "@pnpm/exe.darwin-x64": "12.4.1",
52
- "@pnpm/exe.darwin-arm64": "12.4.1",
53
- "@pnpm/exe.linux-x64": "12.4.1",
54
- "@pnpm/exe.linux-arm64": "12.4.1",
55
- "@pnpm/exe.linux-riscv64": "12.4.1",
56
- "@pnpm/exe.linux-ppc64": "12.4.1",
57
- "@pnpm/exe.linux-s390x": "12.4.1",
58
- "@pnpm/exe.linux-x64-musl": "12.4.1",
59
- "@pnpm/exe.linux-arm64-musl": "12.4.1",
60
- "@pnpm/exe.freebsd-x64": "12.4.1",
61
- "@pnpm/exe.android-arm64": "12.4.1",
62
- "@pnpm/exe.android-x64": "12.4.1"
49
+ "@pnpm/exe.win32-x64": "12.4.2",
50
+ "@pnpm/exe.win32-arm64": "12.4.2",
51
+ "@pnpm/exe.darwin-x64": "12.4.2",
52
+ "@pnpm/exe.darwin-arm64": "12.4.2",
53
+ "@pnpm/exe.linux-x64": "12.4.2",
54
+ "@pnpm/exe.linux-arm64": "12.4.2",
55
+ "@pnpm/exe.linux-riscv64": "12.4.2",
56
+ "@pnpm/exe.linux-ppc64": "12.4.2",
57
+ "@pnpm/exe.linux-s390x": "12.4.2",
58
+ "@pnpm/exe.linux-x64-musl": "12.4.2",
59
+ "@pnpm/exe.linux-arm64-musl": "12.4.2",
60
+ "@pnpm/exe.freebsd-x64": "12.4.2",
61
+ "@pnpm/exe.android-arm64": "12.4.2",
62
+ "@pnpm/exe.android-x64": "12.4.2"
63
63
  },
64
64
  "scripts": {
65
65
  "preinstall": "node install.js",
package/pn CHANGED
@@ -1,2 +1,36 @@
1
1
  #!/bin/sh
2
- exec pnpm "$@"
2
+ # `pn` is `pnpm`. The pnpm it hands over to is the one installed alongside it,
3
+ # found relative to this file: a `PATH` lookup would run whatever other pnpm
4
+ # comes first there, and would find nothing at all when the directory holding
5
+ # these bins is not on `PATH`.
6
+ #
7
+ # $0 is whatever shim or symlink `pn` was launched through, so walk to the file
8
+ # itself first. The hop cap matches the kernel's ELOOP limit, so a cycle cannot
9
+ # hang the script. Directories come from `${self%/*}` and `readlink` runs through
10
+ # `command -p`, so the caller's `PATH` decides nothing here.
11
+ self=$0
12
+ # `${self%/*}` needs a slash to strip. A bare name came from a `PATH` lookup and
13
+ # stands for a file in the current directory.
14
+ case $self in
15
+ */*) ;;
16
+ *) self=./$self ;;
17
+ esac
18
+ hops=0
19
+ while [ -L "$self" ] && [ "$hops" -lt 40 ]; do
20
+ hops=$((hops + 1))
21
+ link=$(command -p readlink "$self")
22
+ case $link in
23
+ /*) self=$link ;;
24
+ *) self=${self%/*}/$link ;;
25
+ esac
26
+ done
27
+ # The walk has to end at a regular file. Running out of hops leaves $self a
28
+ # symlink; a chain that changed under us can leave it dangling or a directory, and
29
+ # a failed readlink leaves a trailing slash. Each case would take `pnpm` from the
30
+ # wrong directory — the substitution this script exists to prevent.
31
+ if [ -L "$self" ] || [ ! -f "$self" ]; then
32
+ echo "pn: could not resolve $0 to a regular file within 40 symlink hops." >&2
33
+ exit 1
34
+ fi
35
+
36
+ exec "${self%/*}/pnpm" "$@"
package/pnpm CHANGED
@@ -24,15 +24,25 @@ fi
24
24
  # $0 is whatever shim or symlink pnpm was launched through; ./bin/pnpm.mjs is
25
25
  # found relative to this file. The hop cap matches the kernel's ELOOP limit, so
26
26
  # a cycle cannot hang the script.
27
+ #
28
+ # `readlink` runs through `command -p`, which searches the system default path,
29
+ # and directories come from `${self%/*}`, which runs nothing at all. The caller's
30
+ # PATH therefore decides only which `node` runs, which is what it is for.
27
31
  self=$0
32
+ # `${self%/*}` needs a slash to strip. A bare name came from a PATH lookup and
33
+ # stands for a file in the current directory.
34
+ case $self in
35
+ */*) ;;
36
+ *) self=./$self ;;
37
+ esac
28
38
  hops=0
29
39
  while [ -L "$self" ] && [ "$hops" -lt 40 ]; do
30
40
  hops=$((hops + 1))
31
- link=$(readlink "$self")
41
+ link=$(command -p readlink "$self")
32
42
  case $link in
33
43
  /*) self=$link ;;
34
- *) self=$(dirname "$self")/$link ;;
44
+ *) self=${self%/*}/$link ;;
35
45
  esac
36
46
  done
37
47
 
38
- exec node "$(dirname "$self")/bin/pnpm.mjs" "$@"
48
+ exec node "${self%/*}/bin/pnpm.mjs" "$@"
package/pnpx CHANGED
@@ -1,2 +1,36 @@
1
1
  #!/bin/sh
2
- exec pnpm dlx "$@"
2
+ # `pnpx` is `pnpm dlx`. The pnpm it hands over to is the one installed alongside
3
+ # it, found relative to this file: a `PATH` lookup would run whatever other pnpm
4
+ # comes first there, and would find nothing at all when the directory holding
5
+ # these bins is not on `PATH`.
6
+ #
7
+ # $0 is whatever shim or symlink `pnpx` was launched through, so walk to the file
8
+ # itself first. The hop cap matches the kernel's ELOOP limit, so a cycle cannot
9
+ # hang the script. Directories come from `${self%/*}` and `readlink` runs through
10
+ # `command -p`, so the caller's `PATH` decides nothing here.
11
+ self=$0
12
+ # `${self%/*}` needs a slash to strip. A bare name came from a `PATH` lookup and
13
+ # stands for a file in the current directory.
14
+ case $self in
15
+ */*) ;;
16
+ *) self=./$self ;;
17
+ esac
18
+ hops=0
19
+ while [ -L "$self" ] && [ "$hops" -lt 40 ]; do
20
+ hops=$((hops + 1))
21
+ link=$(command -p readlink "$self")
22
+ case $link in
23
+ /*) self=$link ;;
24
+ *) self=${self%/*}/$link ;;
25
+ esac
26
+ done
27
+ # The walk has to end at a regular file. Running out of hops leaves $self a
28
+ # symlink; a chain that changed under us can leave it dangling or a directory, and
29
+ # a failed readlink leaves a trailing slash. Each case would take `pnpm` from the
30
+ # wrong directory — the substitution this script exists to prevent.
31
+ if [ -L "$self" ] || [ ! -f "$self" ]; then
32
+ echo "pnpx: could not resolve $0 to a regular file within 40 symlink hops." >&2
33
+ exit 1
34
+ fi
35
+
36
+ exec "${self%/*}/pnpm" dlx "$@"
package/pnx CHANGED
@@ -1,2 +1,36 @@
1
1
  #!/bin/sh
2
- exec pnpm dlx "$@"
2
+ # `pnx` is `pnpm dlx`. The pnpm it hands over to is the one installed alongside
3
+ # it, found relative to this file: a `PATH` lookup would run whatever other pnpm
4
+ # comes first there, and would find nothing at all when the directory holding
5
+ # these bins is not on `PATH`.
6
+ #
7
+ # $0 is whatever shim or symlink `pnx` was launched through, so walk to the file
8
+ # itself first. The hop cap matches the kernel's ELOOP limit, so a cycle cannot
9
+ # hang the script. Directories come from `${self%/*}` and `readlink` runs through
10
+ # `command -p`, so the caller's `PATH` decides nothing here.
11
+ self=$0
12
+ # `${self%/*}` needs a slash to strip. A bare name came from a `PATH` lookup and
13
+ # stands for a file in the current directory.
14
+ case $self in
15
+ */*) ;;
16
+ *) self=./$self ;;
17
+ esac
18
+ hops=0
19
+ while [ -L "$self" ] && [ "$hops" -lt 40 ]; do
20
+ hops=$((hops + 1))
21
+ link=$(command -p readlink "$self")
22
+ case $link in
23
+ /*) self=$link ;;
24
+ *) self=${self%/*}/$link ;;
25
+ esac
26
+ done
27
+ # The walk has to end at a regular file. Running out of hops leaves $self a
28
+ # symlink; a chain that changed under us can leave it dangling or a directory, and
29
+ # a failed readlink leaves a trailing slash. Each case would take `pnpm` from the
30
+ # wrong directory — the substitution this script exists to prevent.
31
+ if [ -L "$self" ] || [ ! -f "$self" ]; then
32
+ echo "pnx: could not resolve $0 to a regular file within 40 symlink hops." >&2
33
+ exit 1
34
+ fi
35
+
36
+ exec "${self%/*}/pnpm" dlx "$@"
@@ -1 +0,0 @@
1
- {"packages":{".":{"url":"..","dependencies":{"get-pnpm":"get-pnpm","node-gyp":"node-gyp","pacquet":"."}},"@isaacs/fs-minipass":{"url":"./@isaacs/fs-minipass","dependencies":{"@isaacs/fs-minipass":"@isaacs/fs-minipass","minipass":"minipass"}},"abbrev":{"url":"./abbrev","dependencies":{"abbrev":"abbrev"}},"chownr":{"url":"./chownr","dependencies":{"chownr":"chownr"}},"env-paths":{"url":"./env-paths","dependencies":{"env-paths":"env-paths"}},"exponential-backoff":{"url":"./exponential-backoff","dependencies":{"exponential-backoff":"exponential-backoff"}},"fdir":{"url":"./fdir","dependencies":{"fdir":"fdir","picomatch":"picomatch"}},"get-pnpm":{"url":"./get-pnpm","dependencies":{"get-pnpm":"get-pnpm"}},"graceful-fs":{"url":"./graceful-fs","dependencies":{"graceful-fs":"graceful-fs"}},"isexe":{"url":"./isexe","dependencies":{"isexe":"isexe"}},"minipass":{"url":"./minipass","dependencies":{"minipass":"minipass"}},"minizlib":{"url":"./minizlib","dependencies":{"minipass":"minipass","minizlib":"minizlib"}},"node-gyp":{"url":"./node-gyp","dependencies":{"env-paths":"env-paths","exponential-backoff":"exponential-backoff","graceful-fs":"graceful-fs","node-gyp":"node-gyp","nopt":"nopt","proc-log":"proc-log","semver":"semver","tar":"tar","tinyglobby":"tinyglobby","undici":"undici","which":"which"}},"nopt":{"url":"./nopt","dependencies":{"abbrev":"abbrev","nopt":"nopt"}},"picomatch":{"url":"./picomatch","dependencies":{"picomatch":"picomatch"}},"proc-log":{"url":"./proc-log","dependencies":{"proc-log":"proc-log"}},"semver":{"url":"./semver","dependencies":{"semver":"semver"}},"tar":{"url":"./tar","dependencies":{"@isaacs/fs-minipass":"@isaacs/fs-minipass","chownr":"chownr","minipass":"minipass","minizlib":"minizlib","tar":"tar","yallist":"yallist"}},"tinyglobby":{"url":"./tinyglobby","dependencies":{"fdir":"fdir","picomatch":"picomatch","tinyglobby":"tinyglobby"}},"undici":{"url":"./undici","dependencies":{"undici":"undici"}},"which":{"url":"./which","dependencies":{"isexe":"isexe","which":"which"}},"yallist":{"url":"./yallist","dependencies":{"yallist":"yallist"}}}}