Skip to content

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:

ts
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.

Released under the MIT License. (415bda77)