@pnpm/exe 11.0.4 → 11.0.5
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/dist/pnpm.mjs +40020 -39871
- package/package.json +9 -10
- package/setup.js +39 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/exe",
|
|
3
|
-
"version": "11.0.
|
|
3
|
+
"version": "11.0.5",
|
|
4
4
|
"description": "Fast, disk space efficient package manager",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -32,19 +32,18 @@
|
|
|
32
32
|
"detect-libc": "^2.0.3"
|
|
33
33
|
},
|
|
34
34
|
"optionalDependencies": {
|
|
35
|
-
"@pnpm/linux-
|
|
36
|
-
"@pnpm/
|
|
37
|
-
"@pnpm/linuxstatic-
|
|
38
|
-
"@pnpm/
|
|
39
|
-
"@pnpm/
|
|
40
|
-
"@pnpm/
|
|
41
|
-
"@pnpm/
|
|
42
|
-
"@pnpm/win-x64": "11.0.4"
|
|
35
|
+
"@pnpm/linux-arm64": "11.0.5",
|
|
36
|
+
"@pnpm/linuxstatic-arm64": "11.0.5",
|
|
37
|
+
"@pnpm/linuxstatic-x64": "11.0.5",
|
|
38
|
+
"@pnpm/macos-arm64": "11.0.5",
|
|
39
|
+
"@pnpm/win-arm64": "11.0.5",
|
|
40
|
+
"@pnpm/linux-x64": "11.0.5",
|
|
41
|
+
"@pnpm/win-x64": "11.0.5"
|
|
43
42
|
},
|
|
44
43
|
"devDependencies": {
|
|
45
44
|
"@jest/globals": "30.3.0",
|
|
46
45
|
"execa": "npm:safe-execa@0.3.0",
|
|
47
|
-
"@pnpm/exe": "11.0.
|
|
46
|
+
"@pnpm/exe": "11.0.5",
|
|
48
47
|
"@pnpm/jest-config": "1100.0.4"
|
|
49
48
|
},
|
|
50
49
|
"jest": {
|
package/setup.js
CHANGED
|
@@ -14,7 +14,45 @@ import { exePlatformPkgName } from './platform-pkg-name.js'
|
|
|
14
14
|
// without triggering the side effects of this preinstall script.
|
|
15
15
|
const platform = process.platform
|
|
16
16
|
const pkgName = exePlatformPkgName(platform, process.arch, familySync())
|
|
17
|
-
|
|
17
|
+
let pkgJson
|
|
18
|
+
try {
|
|
19
|
+
pkgJson = fileURLToPath(import.meta.resolve(`${pkgName}/package.json`))
|
|
20
|
+
} catch (err) {
|
|
21
|
+
// Only treat ERR_MODULE_NOT_FOUND as "platform package not installed".
|
|
22
|
+
// Anything else (resolver bug, broken Node, etc.) should surface as-is.
|
|
23
|
+
if (err?.code !== 'ERR_MODULE_NOT_FOUND') throw err
|
|
24
|
+
|
|
25
|
+
// The platform package isn't on disk. The only currently-published host
|
|
26
|
+
// for which @pnpm/exe deliberately omits a binary is darwin-x64 (Intel
|
|
27
|
+
// Mac): Node.js SEA injection corrupts the binary on x64 Mach-O — see
|
|
28
|
+
// https://github.com/pnpm/pnpm/issues/11423 and upstream
|
|
29
|
+
// https://github.com/nodejs/node/issues/62893.
|
|
30
|
+
//
|
|
31
|
+
// Inside the pnpm workspace itself there's no platform package linked
|
|
32
|
+
// either — it would be `@pnpm/macos-x64` for darwin-x64 and we removed
|
|
33
|
+
// that workspace package entirely. We don't want a contributor on Intel
|
|
34
|
+
// hardware blocked from `pnpm install`-ing the repo to work on
|
|
35
|
+
// unrelated parts of pnpm, so skip silently when this script runs as
|
|
36
|
+
// the workspace's own @pnpm/exe (whose path always ends in
|
|
37
|
+
// pnpm/artifacts/exe). A path-suffix check is more precise than walking
|
|
38
|
+
// up for `pnpm-workspace.yaml` — that walk can false-positive if the
|
|
39
|
+
// user's globally-installed @pnpm/exe happens to live anywhere under
|
|
40
|
+
// an unrelated pnpm workspace tree.
|
|
41
|
+
if (import.meta.dirname.endsWith(path.join('pnpm', 'artifacts', 'exe'))) {
|
|
42
|
+
process.exit(0)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (platform === 'darwin' && process.arch === 'x64') {
|
|
46
|
+
console.error(
|
|
47
|
+
'@pnpm/exe does not ship a working binary for Intel macOS (darwin-x64) due to an upstream Node.js SEA bug.\n' +
|
|
48
|
+
'See https://github.com/pnpm/pnpm/issues/11423 and https://github.com/nodejs/node/issues/62893.\n' +
|
|
49
|
+
'Workaround: install pnpm via `npm install -g pnpm` (uses your system Node.js, no SEA), or use pnpm 10.x.'
|
|
50
|
+
)
|
|
51
|
+
} else {
|
|
52
|
+
console.error(`Could not find platform package "${pkgName}" — @pnpm/exe does not ship a binary for ${platform}-${process.arch}.`)
|
|
53
|
+
}
|
|
54
|
+
process.exit(1)
|
|
55
|
+
}
|
|
18
56
|
const executable = platform === 'win32' ? 'pnpm.exe' : 'pnpm'
|
|
19
57
|
const platformDir = path.dirname(pkgJson)
|
|
20
58
|
const bin = path.resolve(platformDir, executable)
|