ESLint 10.9.0 plugin compatibility matrix

Every plugin below is installed into a clean temp directory against real ESLint 9.39.5 and ESLint 10.9.0, has every rule it exports enabled at error, and lints a fixture corpus of ordinary React, hooks, CommonJS, ESM and TypeScript source.

A declared peerDependencies range is a claim. This is the execution. It is wrong in both directions: plugins that declare ^9 and run perfectly, and plugins that install happily and then throw inside a rule.

Generated 2026-08-22T10:01:48.594Z · 54 plugins · schema v1 · matrix.json

7blocked on 10.9.0
5safe to force
42already declare ^10
54plugins executed
PluginDeclared eslint peer range ESLint 9.39.5ESLint 10.9.0Verdict
eslint-plugin-react-hooks@7.1.183.1M/wk ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 clean29 rules ok clean29 rules ok ready
eslint-plugin-jsx-a11y@6.10.238.0M/wk ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 clean39 rules ok clean39 rules ok safe to force
eslint-plugin-prettier@5.5.637.0M/wk >=8.0.0 clean1 rules ok clean1 rules ok ready
eslint-plugin-react-refresh@0.5.435.3M/wk ^9 || ^10 clean1 rules ok clean1 rules ok ready
@next/eslint-plugin-next@16.3.229.1M/wk none clean22 rules ok clean22 rules ok safe to force
eslint-plugin-storybook@10.5.107.6M/wk >=8 clean16 rules ok clean16 rules ok ready
eslint-plugin-testing-library@7.16.27.1M/wk ^8.57.0 || ^9.0.0 || ^10.0.0 clean29 rules ok clean29 rules ok ready
eslint-plugin-n@18.3.06.9M/wk >=8.57.1 clean30 rules ok clean30 rules ok ready
eslint-plugin-unicorn@73.0.05.9M/wk >=10.4 clean337 rules ok clean337 rules ok ready
eslint-plugin-es-x@10.0.05.6M/wk >=10.6.0 clean369 rules ok clean369 rules ok ready
eslint-plugin-promise@7.3.05.4M/wk ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 clean17 rules ok clean17 rules ok ready
eslint-plugin-vue@10.10.05.3M/wk ^8.57.0 || ^9.0.0 || ^10.0.0 clean252 rules ok clean252 rules ok ready
@stylistic/eslint-plugin@5.10.05.3M/wk ^9.0.0 || ^10.0.0 clean67 rules ok clean67 rules ok ready
eslint-plugin-jsdoc@64.2.15.3M/wk ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 clean76 rules ok clean76 rules ok ready
eslint-plugin-import-x@4.17.15.3M/wk ^8.57.0 || ^9.0.0 || ^10.0.0 clean47 rules ok clean47 rules ok ready
eslint-plugin-simple-import-sort@14.0.04.7M/wk >=5.0.0 clean2 rules ok clean2 rules ok ready
eslint-plugin-playwright@2.11.04.2M/wk >=8.40.0 clean59 rules ok clean59 rules ok ready
eslint-plugin-security@4.0.13.5M/wk none clean14 rules ok clean14 rules ok safe to force
eslint-plugin-sonarjs@4.2.03.1M/wk ^8.0.0 || ^9.0.0 || ^10.0.0 clean279 rules ok clean279 rules ok ready
eslint-plugin-cypress@7.0.03.0M/wk >=10 clean13 rules ok clean13 rules ok ready
@vitest/eslint-plugin@1.6.272.9M/wk >=8.57.0 clean79 rules ok clean79 rules ok ready
@angular-eslint/eslint-plugin@22.1.02.7M/wk ^9.0.0 || ^10.0.0 clean50 rules ok clean50 rules ok ready
@tanstack/eslint-plugin-query@5.101.42.6M/wk ^8.57.0 || ^9.0.0 || ^10.0.0 clean8 rules ok clean8 rules ok ready
eslint-plugin-perfectionist@5.10.12.3M/wk ^8.45.0 || ^9.0.0 || ^10.0.0 clean23 rules ok clean23 rules ok ready
eslint-plugin-turbo@2.10.112.2M/wk >6.6.0 clean1 rules ok clean1 rules ok ready
eslint-plugin-no-only-tests@3.4.02.1M/wk none clean1 rules ok clean1 rules ok safe to force
@eslint-community/eslint-plugin-eslint-comments@4.7.22.0M/wk ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 clean9 rules ok clean9 rules ok ready
eslint-plugin-regexp@3.2.01.6M/wk >=9.38.0 clean82 rules ok clean82 rules ok ready
eslint-plugin-jest-dom@5.10.11.5M/wk ^6.8.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 clean12 rules ok clean12 rules ok ready
@eslint-react/eslint-plugin@5.18.61.5M/wk * clean82 rules ok clean82 rules ok ready
eslint-plugin-mocha@12.0.21.4M/wk >=10.2.0 clean33 rules ok clean33 rules ok ready
eslint-plugin-boundaries@7.2.01.4M/wk >=6.0.0 clean10 rules ok clean10 rules ok ready
eslint-plugin-svelte@3.23.01.3M/wk ^8.57.1 || ^9.0.0 || ^10.0.0 clean84 rules ok clean84 rules ok ready
eslint-plugin-react-compiler@19.1.0-rc.21.3M/wk >=7 clean1 rules ok clean1 rules ok ready
eslint-plugin-jsonc@3.4.11.2M/wk >=9.38.0 clean42 rules ok clean42 rules ok ready
eslint-plugin-compat@7.0.21.1M/wk ^9.0.0 || ^10.0.0 clean1 rules ok clean1 rules ok ready
eslint-plugin-i18next@6.1.51.0M/wk none clean1 rules ok clean1 rules ok safe to force
eslint-plugin-yml@3.8.11.0M/wk >=9.38.0 clean29 rules ok clean29 rules ok ready
eslint-plugin-vitest@0.5.4650k/wk ^8.57.0 || ^9.0.0 clean44 rules ok load failClass extends value undefined is not a constructor or null blocked
eslint-plugin-deprecation@3.0.0505k/wk ^8.0.0 clean1 rules ok load failClass extends value undefined is not a constructor or null blocked
eslint-plugin-markdown@5.1.0459k/wk >=8 clean0 rules ok clean0 rules ok ready
eslint-plugin-toml@1.5.0409k/wk >=9.38.0 clean22 rules ok clean22 rules ok ready
eslint-plugin-eslint-plugin@7.6.2342k/wk >=9.0.0 clean38 rules ok clean38 rules ok ready
@html-eslint/eslint-plugin@0.65.0252k/wk >=8.0.0 || ^10.0.0-0 clean65 rules ok clean65 rules ok ready
eslint-plugin-depend@1.5.0249k/wk >=8.40.0 clean1 rules ok clean1 rules ok ready
@ternaus/eslint-plugin-react@8.0.0575/wk ^10.0.0 clean11 rules ok clean11 rules ok ready