A series of composable ESLint rules rewritten from scratch for libraries and frameworks that use React as a UI runtime.
- Universal rules for libraries and frameworks that use React as a UI runtime.
- Well designed rule behaviors and sensible defaults.
- Maximum flexibility through minimum rule options.
@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-hooks-extra
- Extra React Hooks rules.eslint-plugin-react-naming-convention
- Naming convention rules.
AndreaPontrandolfo/sheriff
- A comprehensive and opinionated Typescript-first ESLint configuration.antfu/eslint-config
- Anthony's ESLint config preset.christopher-buss/roblox-ts-eslint-config
- iSentinel's ESLint config preset for Roblox-TS.DimensionDev/Maskbook
- The portal to the new, open Internet. ([I:b]).dream-num/univer
- Univer is an open-source alternative to Google Sheets, Slides, and Docs.ensdomains/ensdomains-landing
- ENS Homepage V2, the main homepage of the ENS protocol.hairyf/overlastic
- A universal overlays utils, support react, vue, vanilla, svelte.johannschopplich/unlazy
- Universal lazy loading library for placeholder images leveraging native browser APIs.react-navigation/react-navigation
- Routing and navigation for your React Native apps.RSSNext/follow
- 🧡 Next generation information browser.SukkaW/eslint-config-sukka
- ESLint configuration of Sukka.SukkaW/foxact
- React Hooks/Utils done right. For Browser, SSR, and React Server Components.TanStack/form
- 🤖 Powerful and type-safe form state management for the web. TS/JS, React Form, Solid Form, Lit Form and Vue Form.TanStack/query
- 🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.TanStack/router
- 🤖 Fully typesafe Router for React (and friends) w/ built-in caching, 1st class search-param APIs, client-side cache integration and isomorphic rendering.TanStack/store
- 🤖 Framework agnostic, type-safe store w/ reactive framework adapters.
Data collected from GitHub dependents network, if there are any mismatch or outdated information, feel free to open issue or pull request.
Find more projects using ESLint React on GitHub.
# npm
npm install --save-dev @eslint-react/eslint-plugin
Add the plugin to your eslint.config.js
:
// @ts-check
import js from "@eslint/js";
import react from "@eslint-react/eslint-plugin";
import * as tsParser from "@typescript-eslint/parser";
export default [
js.configs.recommended,
{
files: ["**/*.{ts,tsx}"],
...react.configs.recommended,
languageOptions: {
parser: tsParser,
},
},
];
Add the plugin to your .eslintrc.json
:
{
"parser": "@typescript-eslint/parser",
"plugins": ["@eslint-react/eslint-plugin"],
"extends": ["eslint:recommended"],
"overrides": [
{
"files": ["**/*.{ts,tsx}"],
"extends": [
"plugin:@eslint-react/recommended-legacy"
]
}
]
}
- core
Enable rules that are renderer-agnostic. - recommended
Enable rules that are recommended by ESLint React.
This preset includes thecore
preset. - recommended-type-checked
Enable rules that are recommended by ESLint React with additional rules that require type information.
This preset includes therecommended
preset. - dom
Enable rules that are specific to React DOM. - off-dom
Disable rules that are specific to React DOM. - off
Disable all rules in this plugin except for debug rules.
- core-legacy
Enable rules that are renderer-agnostic. - recommended-legacy
Enable rules that are recommended by ESLint React.
This preset includes thecore-legacy
preset. - recommended-type-checked-legacy
Enable rules that are recommended by ESLint React with additional rules that require type information.
This preset includes therecommended-legacy
preset. - dom-legacy
Enable rules that are specific to React DOM. - off-dom-legacy
Disable rules that are specific to React DOM. - off-legacy
Disable all rules in this plugin except for debug rules.
Before you start working on something, it's best to check if there is an existing issue first. It's also a good idea to reach the maintainer and confirm if it makes sense or if someone else is already working on it.
Please make sure to read the Contributing Guide before making a pull request.
Thank you to everyone contributing to ESLint React!
This project is licensed under the MIT License - see the LICENSE file for details.