Files
pnpm/lockfile/fs
Zoltan Kochan cd2dc7d481 refactor: prefix internal scripts with . to hide them (#11051)
* fix: ensure PNPM_HOME/bin is in PATH during pnpm setup

When upgrading from old pnpm (global bin = PNPM_HOME) to new pnpm
(global bin = PNPM_HOME/bin), `pnpm setup` would fail because the
spawned `pnpm add -g` checks that the global bin dir is in PATH.
Prepend PNPM_HOME/bin to PATH in the spawned process env so the
check passes during the transition.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: update pnpm to v11 beta 2

* chore: update pnpm to v11 beta 2

* chore: update pnpm to v11 beta 2

* chore: update pnpm to v11 beta 2

* fix: lint

* refactor: rename _-prefixed scripts to .-prefixed scripts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: update root package.json to use .test instead of _test

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ci: update action-setup

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:30:56 +01:00
..
2025-10-21 15:30:20 +02:00

@pnpm/lockfile.fs

Read/write pnpm-lock.yaml files

Reads and writes the wanted (pnpm-lock.yaml) and current (node_modules/.pnpm-lock.yaml) lockfile files of pnpm. Lockfile files are the state files of the node_modules installed via pnpm. They are like the package-lock.json of npm or the yarn.lock of Yarn.

Install

pnpm add @pnpm/lockfile.fs

API

readWantedLockfile(pkgPath, opts) => Promise<Lockfile>

Reads the pnpm-lock.yaml file from the root of the package.

Arguments

  • pkgPath - Path - the path to the project
  • opts.ignoreIncompatible - Boolean - false by default. If true, throws an error if the lockfile file format is not compatible with the current library.

readCurrentLockfile(virtualStoreDir, opts) => Promise<Lockfile>

Reads the lockfile file from <virtualStoreDir>/lock.yaml.

existsNonEmptyWantedLockfile(pkgPath) => Promise<Boolean>

Returns true if a pnpm-lock.yaml exists in the root of the package.

writeLockfiles(opts) => Promise<void>

Writes the wanted/current lockfile files. When they are empty, removes them.

Arguments

  • opts.wantedLockfile
  • opts.wantedLockfileDir
  • opts.currentLockfile
  • opts.currentLockfileDir
  • [opts.forceSharedFormat]

writeWantedLockfile(pkgPath, wantedLockfile) => Promise<void>

Writes the wanted lockfile file only. Sometimes it is needed just to update the wanted lockfile without touching node_modules.

writeCurrentLockfile(virtualStoreDir, currentLockfile) => Promise<void>

Writes the current lockfile file only.

License

MIT