mirror of
https://github.com/pnpm/pnpm.git
synced 2026-07-20 20:52:33 -04:00
Two cases surfaced by the latest reviewer round: 1) FUSE handler crashed with a non-null assertion on integrity for pre-CVE-fix lockfiles that don't carry integrity for git-hosted tarballs. Fall back to gitHostedStoreIndexKey so the daemon can still serve those packages. 2) Once a lockfile committed by a newer pnpm carries integrity, getFilesIndexFilePath probes only storeIndexKey(integrity, pkgId). An older local store may still have the entry under gitHostedStoreIndexKey, so the install would refetch — and in offline mode hard-fail with NO_OFFLINE_TARBALL — even though the tarball is already on disk. Plumb the StoreIndex into the package-requester and migrate the entry to the integrity key on the fly when we detect this state. Both fallbacks are tagged TODO(v12): once v12 forces lockfile regeneration and any pnpm v11-written store will already have the integrity-keyed entry, this bridging code can be removed. --- Written by an agent (Claude Code, claude-opus-4-7).
@pnpm/modules-mounter.daemon
Mounts a node_modules directory with FUSE
Installation
pnpm add @pnpm/modules-mounter.daemon --global
Usage
Before mounting the modules directory, all the packages should be fetched to the store. This can be done by running:
pnpm install --lockfile-only
Once the packages are in the store, run:
mount-modules
If something goes wrong and the modules directory will be not accessible, unmount it using:
unmount <path to node_modules>
License
MIT