A set of composable ESLint rules for libraries and frameworks that use React as a UI runtime.
- Simple: Low configuration overhead with sensible defaults.
- Flexible: Increased flexibility with more granular severity control.
- Comprehensive: First-class support for TypeScript, React UI libraries, polymorphic components.
- Advanced Analysis: Handles complex scenarios and identifies problems that other tools might miss.
@eslint-react/eslint-plugin
- The main ESLint plugin package including all rules and config presets in this repository.
eslint-plugin-react-x
- Core rules (renderer-agnostic, compatible with x-platform).eslint-plugin-react-dom
- DOM specific rules for React DOM.eslint-plugin-react-web-api
- Rules for interacting with Web APIs.eslint-plugin-react-hooks-extra
- Extra React Hooks rules.eslint-plugin-react-naming-convention
- Naming convention rules.
npm install --save-dev typescript-eslint @eslint-react/eslint-plugin
// eslint.config.js
// @ts-check
import eslintJs from "@eslint/js";
import eslintReact from "@eslint-react/eslint-plugin";
import tseslint from "typescript-eslint";
export default tseslint.config({
files: ["**/*.ts", "**/*.tsx"],
extends: [
eslintJs.configs.recommended,
tseslint.configs.recommended,
eslintReact.configs.recommended,
],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
projectService: true,
},
},
rules: {
// Put rules you want to override here
"@eslint-react/prefer-shorthand-boolean": "warn",
},
});
- Core (
core
)
Enable rules for"react"
. - DOM (
dom
)
Enable rules for"react-dom"
. - Web API (
web-api
)
Enable rules for interacting with Web APIs.
- Recommended (
recommended
)
Enforce rules that are recommended by ESLint React for general purpose React + React DOM applications. This preset includes thecore
,dom
, andweb-api
presets.
-
Recommended TypeScript (
recommended-typescript
)
Same as therecommended
preset but disables rules that can be enforced by TypeScript. -
Recommended Type-Checked (
recommended-type-checked
)
Same as therecommended-typescript
preset but enables additional rules that require type information.
antfu/eslint-config
- Anthony's ESLint config preset.eslint-config-sheriff
- A comprehensive and opinionated Typescript-first ESLint configuration.eslint-config-sukka
- Sukka's ESLint config preset.
Data collected from GitHub dependents network, if there are any mismatch or outdated information, feel free to open issue or pull request.
Find more on GitHub Dependents.
Please follow our contributing guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.