You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As in #12079, plugin peer-depends typescript, and it also peer-depends parser which peer-depends typescript, so these are expected to resolve to the same version of typescript. This was the behavior of pnpm 9.8.0 and earlier.
Actual behavior
"5.9.3"
"6.0.3"
As in #12079, two incompatible versions of typescript are both visible to plugin via peer-dependency chains.
The merged patch #12081 only narrowly matches the scenario from #12079, and is fooled here by replacing the direct dependency shadow → plugin with a transitive dependency shadow → wrapper → plugin. A more principled solution is needed that fully addresses the algorithmic problem rather than narrowly matching a specific problematic scenario.
(Another scenario that remains problematic is when instead the direct peer-dependency plugin → typescript is replaced by a second transitive peer-dependency path plugin → wrapper → typescript.)
Last pnpm version that worked
9.8.0
pnpm version
11.5.0 (and
main54d2b57; not fixed by #12081)Code to reproduce the issue
Expected behavior
As in #12079,
pluginpeer-dependstypescript, and it also peer-dependsparserwhich peer-dependstypescript, so these are expected to resolve to the same version oftypescript. This was the behavior of pnpm 9.8.0 and earlier.Actual behavior
As in #12079, two incompatible versions of
typescriptare both visible topluginvia peer-dependency chains.Additional information
The merged patch #12081 only narrowly matches the scenario from #12079, and is fooled here by replacing the direct dependency
shadow→pluginwith a transitive dependencyshadow→wrapper→plugin. A more principled solution is needed that fully addresses the algorithmic problem rather than narrowly matching a specific problematic scenario.(Another scenario that remains problematic is when instead the direct peer-dependency
plugin→typescriptis replaced by a second transitive peer-dependency pathplugin→wrapper→typescript.)Node.js version
24.15.0
Operating System
Linux