eslint version conflict with TypeScript — how to fix
Quick Answer
# ESLint 9 (flat config) — use latest @typescript-eslint
npm install --save-dev eslint@^9 @typescript-eslint/parser@^8 @typescript-eslint/eslint-plugin@^8
# ESLint 8 (legacy config) — use v6
npm install --save-dev eslint@^8 @typescript-eslint/parser@^6 @typescript-eslint/eslint-plugin@^6
When this happens
npm ERR! peer eslint@"^8.56.0" from @typescript-eslint/eslint-plugin@6.21.0
npm ERR! node_modules/@typescript-eslint/eslint-plugin
npm ERR! Conflicting peer dependency: eslint@8.57.1
ESLint and @typescript-eslint must be at compatible major versions.
Other causes & fixes
Check current installed versions
npm ls eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
ESLint 9 flat config — eslint.config.js
// eslint.config.js (ESLint 9)
import tseslint from 'typescript-eslint';
export default tseslint.config(
...tseslint.configs.recommended
);
ESLint 8 legacy config — .eslintrc.json
// .eslintrc.json (ESLint 8)
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": ["plugin:@typescript-eslint/recommended"]
}
Related