ESLint React
A series of composable ESLint plugins for libraries and frameworks that use React as a UI runtime.
Features
- 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.
Public packages
All-in-one plugins
Mono plugins
Install
npm install --save-dev @eslint-react/eslint-plugin
yarn add --dev @eslint-react/eslint-plugin
pnpm add --save-dev @eslint-react/eslint-plugin
Setup
Flat Config
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,
},
},
];
Full Installation Guide ↗
Presets
Flat Config
- core
Enable rules that are renderer-agnostic. - dom
Enable rules that are specific to React DOM. - web-api
Enable rules for interacting with Web APIs. - recommended
Enable rules that are recommended by ESLint React.
This preset includes the core
, dom
, and web-api
presets. - recommended-typescript
Enable rules that are recommended by ESLint React and disable rules that can be covered by TypeScript.
This preset includes the recommended
preset. - recommended-type-checked
Enable rules that are recommended by ESLint React with additional rules that require type information.
This preset includes the recommended-typescript
preset.
Full Presets List↗
Rules
Rules Overview ↗
FAQ
Frequently Asked Questions ↗
Roadmap
Who is using?
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.electric-sql/pglite
- Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno.ensdomains/ensdomains-landing
- ENS Homepage V2, the main homepage of the ENS protocol.hairyf/overlastic
- A universal overlays utils, support react, vue, vanilla, svelte.hipstersmoothie/react-window-splitter
- A full featured window splitter for React.johannschopplich/unlazy
- Universal lazy loading library for placeholder images leveraging native browser APIs.luxdotdev/parsertime
- A web app written to help collegiate Overwatch players track their performance in scrims.npmgraph/npmgraph
- A tool for exploring NPM modules and dependencies.react-navigation/react-navigation
- Routing and navigation for your React Native apps.RebeccaStevens/eslint-config-rebeccastevens
- RebeccaStevens' ESLint config preset.refined-github/refined-github
- :octocat: Browser extension that simplifies the GitHub interface and adds useful features.RightCapitalHQ/frontend-style-guide
- RightCapital's frontend style guide.RSSNext/follow
- 🧡 Next generation information browser.satya164/PocketGear
- A clean and simple Pokédex app for Pokémon GO.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.timkurvers/wine-log-explorer
- Explorer for Wine logs.toss/suspensive
- Manage asynchronous operations, timing, error handling, detecting intersection of elements, and caching easily and declaratively (One of TanStack Query community resources).upleveled/eslint-config-upleveled
- UpLeveled ESLint defaults for programming in JavaScript, TypeScript, React, Next.js, Node.js, Postgres.js.
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.
Contributing
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!
License
This project is licensed under the MIT License - see the LICENSE file for details.
Inspiration