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
flowchart
A("@typescript-eslint/eslint-plugin") -->|peer-depends| B("@typescript-eslint/parser")
A -->|peer-depends| C(typescript)
B -->|peer-depends| C
Loading
@typescript-eslint/eslint-plugin peer-depends typescript, and it also peer-depends @typescript-eslint/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.
This typescript version mismatch leads to a crash at runtime in xo: TypeError: tsutils.unionConstituents is not a function or its return value is not iterable. For details and reproduction, see
Last pnpm version that worked
9.8.0
pnpm version
11.5.0
Code to reproduce the issue
pnpm i typescript@6.0.3 xo@2.0.2 cd -P node_modules/xo/../typescript-eslint/../@typescript-eslint/eslint-plugin/../.. jq .version typescript/package.json @typescript-eslint/parser/../../typescript/package.jsonExpected behavior
flowchart A("@typescript-eslint/eslint-plugin") -->|peer-depends| B("@typescript-eslint/parser") A -->|peer-depends| C(typescript) B -->|peer-depends| C@typescript-eslint/eslint-pluginpeer-dependstypescript, and it also peer-depends@typescript-eslint/parserwhich 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
This
typescriptversion mismatch leads to a crash at runtime inxo:TypeError: tsutils.unionConstituents is not a function or its return value is not iterable. For details and reproduction, seeAdditional information
This regression was introduced by
Node.js version
24.15.0
Operating System
Linux