Replacements for eslint-plugin-react
@eslint-react/eslint-plugin
@eslint-react/eslint-plugin is not a drop-in replacement, but a feature‑rich alternative that covers many of the same (and additional) rules.
Flat config example:
import eslintReact from '@eslint-react/eslint-plugin'
import reactPlugin from 'eslint-plugin-react'
export default [
{
files: ['**/*.{jsx,tsx}'],
plugins: {
react: reactPlugin,
'@eslint-react': eslintReact
},
rules: {
...reactPlugin.configs.recommended.rules,
...eslintReact.configs.recommended.rules,
'react/no-unknown-property': 'error',
'@eslint-react/dom/no-unknown-property': 'error'
}
}
]NOTE
@eslint-react/eslint-plugin is not a drop‑in replacement. Use their migration guide to map rules/options and automate changes where possible.
Oxlint
Oxlint is a high-performance linter for JavaScript and TypeScript, built on the Rust-based Oxc compiler stack. It's intended to be fully backwards-compatible with ESLint, having ported most of the ESLint rules, as well as those from popular plugins including eslint-plugin-react.
The migration process from ESLint is covered in the Oxlint documentation, and can be done automatically from an ESLint flat config using npx @oxlint/migrate.
NOTE
Oxlint is not necessarily a full drop-in replacement, as not all of the eslint-plugin-react rules have been, or will be, implemented. Check the GitHub issue to view the progress.