Files
pnpm/.changeset/remove-command-fast-path.md
T
Zoltan Kochan b65bb04fc0 perf: let pnpm remove skip resolution (#13712)
pnpm remove edits the manifest and then re-resolved the whole graph,
although its only lockfile drift is the importer edges it deleted —
exactly what the removal fast path absorbs.

pacquet: give remove its own ProjectMutation::UninstallSome instead of
the NoInstall it shared with link, import, fetch, and rebuild, and stop
forcing prefer_frozen_lockfile off; the gate admits the new variant via
may_fast_update_lockfile.

TypeScript: apply the uninstallSome manifest edit to the context projects
before the fast-path dispatch, and admit install+uninstallSome mutation
sets to the fast update and the frozen-like install. Explicitly frozen
runs keep their stricter behavior; the resolution path is unchanged.

When the removal handler declines, the freshness check fails and the
install re-resolves as before.

Related to pnpm/pnpm#13696.
2026-08-10 12:34:35 +02:00

404 B

@pnpm/installing.deps-installer, pacquet, pnpm
@pnpm/installing.deps-installer pacquet pnpm
patch patch patch

pnpm remove no longer re-resolves the dependency graph. The removed dependency's entries are dropped from pnpm-lock.yaml and anything they made unreachable is pruned, without registry access. The install still falls back to a full resolution when a surviving package resolves a peer dependency through the removed one.