Summary
knip pins oxc-resolver at the exact version 11.21.3. That published version
(along with 11.22.0 and 11.23.0) shipped a broken manifest containing an
unresolved pnpm workspace-only catalog specifier:
Because knip pins the exact broken version, any downstream project that resolves
dependencies without the lockfile — e.g. pnpm deploy --prod — fails:
ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC
No catalog entry 'vite-plus' was found for catalog 'default'.
pnpm install --frozen-lockfile is unaffected (it trusts the already-resolved
lockfile and never re-resolves catalog: specs), so this passes normal installs
and only surfaces in production deploy/prune paths that re-resolve the graph.
Upstream context
This was an oxc-resolver publishing bug, reported and fixed upstream:
oxc-project/oxc-resolver#1292. It's fixed in
[email protected]+ ("vite-plus": "^0.2.0"); 11.24.0 was never published.
However, knip still pins the broken release. oxc-resolver has been an exact
pin (11.21.3) since knip 6.18.0, and the latest 6.27.0 still pins it — so
there is no knip release that resolves to a fixed oxc-resolver, and consumers
have no way to fix it except a pnpm.overrides entry.
Reproduction
-
In a pnpm workspace, add knip as a devDependency (lockfile resolves [email protected]).
-
Run a graph-re-resolving command, e.g.:
pnpm deploy --filter <package> --prod ./out
-
Resolution fails with ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC on vite-plus.
Suggested fix
Bump the oxc-resolver dependency to ^11.24.1 (currently 11.24.2), and
ideally use a caret range rather than an exact pin so future upstream patches
float in automatically.
Environment
- knip:
6.27.0 (latest)
- oxc-resolver:
11.21.3 (pinned by knip)
- pnpm: catalog resolution during
pnpm deploy --prod
Summary
knip pins
oxc-resolverat the exact version11.21.3. That published version(along with
11.22.0and11.23.0) shipped a broken manifest containing anunresolved pnpm workspace-only catalog specifier:
Because knip pins the exact broken version, any downstream project that resolves
dependencies without the lockfile — e.g.
pnpm deploy --prod— fails:pnpm install --frozen-lockfileis unaffected (it trusts the already-resolvedlockfile and never re-resolves
catalog:specs), so this passes normal installsand only surfaces in production deploy/prune paths that re-resolve the graph.
Upstream context
This was an oxc-resolver publishing bug, reported and fixed upstream:
oxc-project/oxc-resolver#1292. It's fixed in
[email protected]+("vite-plus": "^0.2.0");11.24.0was never published.However, knip still pins the broken release.
oxc-resolverhas been an exactpin (
11.21.3) since knip6.18.0, and the latest6.27.0still pins it — sothere is no knip release that resolves to a fixed
oxc-resolver, and consumershave no way to fix it except a
pnpm.overridesentry.Reproduction
In a pnpm workspace, add
knipas a devDependency (lockfile resolves[email protected]).Run a graph-re-resolving command, e.g.:
Resolution fails with
ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEConvite-plus.Suggested fix
Bump the
oxc-resolverdependency to^11.24.1(currently11.24.2), andideally use a caret range rather than an exact pin so future upstream patches
float in automatically.
Environment
6.27.0(latest)11.21.3(pinned by knip)pnpm deploy --prod