mirror of
https://github.com/pnpm/pnpm.git
synced 2026-02-15 01:24:07 -05:00
* feat: enhance `store prune` to clean global virtual store `pnpm store prune` will now clean the global virtual store via a new project registry and mark-and-sweep garbage collection. * test: add store prune test for transitive dependency preservation * refactor: extract global virtual store pruning logic to a new file * fix: improve symlink handling in global virtual store pruning * fix: optimize removal of unreachable packages in global virtual store * fix: refine project registry error handling Throw `PnpmError` for inaccessible projects and specifically clean up stale symlinks for `ENOENT` errors. * test: create virtual store with install command * refactor: standardize global virtual store directory structure by placing unscoped packages under an `@` scope. * test: update store prune tests to use `toContain` and `not.toContain` assertions` * fix: linting issues * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: implemented CR suggestions * fix: revert not needed change * fix: use `is-subdir` to accurately determine if symlink targets are within the global virtual store. * revert: changes in package.json files * test: add `--config.ci=false` to store prune tests