You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Builds pnpm from its self-contained linux-x64 release archive and injects a
bin/pnpm wrapper so the artifact is consumed exactly like yarn's.
Covers pnpm 11.0.0 and newer: v11.0.0 is the first release to publish
pnpm-linux-x64.tar.gz. Earlier releases attach a bare pnpm-linux-x64 binary
rather than an archive and are out of range. Verified end to end against
11.24.0 and 12.0.0.
The npm registry package is not used, because it stopped being self-contained.
Through pnpm 11 it bundled a complete dist/ tree, but as of pnpm 12 it is a
~1 MB stub: its preinstall script downloads a platform-native binary, and the
bin/pnpm.mjs Corepack shim fetches that same binary on first run. Neither is
available to a buildpack staging offline, so sourcing from npm would keep
working right up until the first pnpm 12 build and then produce an artifact
that only runs with network access. The release archive ships the native binary
outright.
The archive is flat, so nothing is stripped and a bin/pnpm wrapper is injected
to provide the bin/<dep> layout. It resolves $0 through readlink -f because
buildpacks symlink bin/ entries into their own bin directory, where the binary
is not a sibling. InjectFile gains a mode-aware variant for this; the existing
entry point keeps its 0644 default.
0 commit comments