Repository navigation
node: Fix missing bins with pnpm v12 - #560
Merged
Merged
Conversation
bbhtt
reviewed
Oct 11, 2026
|
|
||
| _SANITIZE_RE = re.compile(r'[\\/:*?"<>|]') | ||
| _MAX_LENGTH_WITHOUT_HASH = 120 | ||
| _MANIFEST_FIELDS = ( |
Collaborator
There was a problem hiding this comment.
What is the source of these fields? Is there any documentation?
Contributor
Author
There was a problem hiding this comment.
They're the package.json fields pnpm keeps in its store index, from normalizeBundledManifest.ts: https://github.com/pnpm/pnpm/blob/27be1a9a5aa7e7728443545ce1ccfce619212074/pnpm11/store/cafs/src/normalizeBundledManifest.ts
I synced the list with it and added a comment explaining where they come from.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since pnpm 12.4.1, an offline install from a generated store links no bins. pnpm now reads
binfrom the manifest in the store index instead of each package'spackage.json, and the generator only writesnameandversionthere. Sonode_modules/.binstays empty, and scripts fail with errors likeCommand "vite" not found.The generator now copies the manifest fields pnpm keeps in its own store index (
bin, dependencies,engines,os/cpu/libc, …) from each package'spackage.json.It also adds a test and a README note for pnpm v12: use
--pnpm-store-version v11, and install with--trust-lockfile. Without that flag, pnpm checks the lockfile against the registry and fails offline withERR_PNPM_NO_OFFLINE_META.Follow-up to #555 / #559.