Skip to content

Monorepo for eslint-plugin-react-[x, dom, web-api, hooks-extra, naming-convention].

License

Notifications You must be signed in to change notification settings

Rel1cx/eslint-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4b96d92 · Apr 2, 2025
Mar 29, 2025
Apr 2, 2025
Mar 30, 2025
Mar 30, 2025
Apr 2, 2025
Mar 29, 2025
Mar 21, 2025
Apr 2, 2025
Apr 2, 2025
Apr 2, 2025
Apr 1, 2025
Oct 27, 2023
Jan 17, 2025
Dec 30, 2024
Dec 14, 2024
Apr 2, 2025
Apr 1, 2025
Mar 28, 2025
Feb 3, 2024
Jan 13, 2025
Apr 1, 2025
Feb 26, 2025
Mar 30, 2025
Mar 26, 2025
Feb 19, 2025
Feb 19, 2025
Apr 2, 2025
Apr 2, 2025
Feb 9, 2025
Feb 19, 2025

Repository files navigation

logo

ESLint React

Version Downloads

A series of composable ESLint Plugins for libraries and frameworks that use React as a UI runtime.

Features

  • Modern: First-class support for TypeScript, React 19, and more.
  • Flexible: Increased flexibility with more granular severity control.
  • Performant: Built with performance in mind, optimized for large codebases.
  • Comprehensive: Handles complex scenarios and identifies problems that other tools might miss.

Public Packages

Modular

All-In-One

Installation

Note

ESLint React requires the following minimum versions:

  • node@18.18.0
  • eslint@8.57.0
  • typescript@4.9.5

Install

npm install --save-dev typescript-eslint @eslint-react/eslint-plugin

Setup

// 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-typescript"],
  ],
  languageOptions: {
    parser: tseslint.parser,
    parserOptions: {
      projectService: true,
    },
  },
  rules: {
    // Put rules you want to override here
    "@eslint-react/no-class-component": "error",
  },
});

Full Installation Guide ↗

Presets

Bare Bones

  • Core (core)
    Enable rules for "react".
  • DOM (dom)
    Enable rules for "react-dom".
  • Web API (web-api)
    Enable rules for interacting with Web APIs.

General Purpose

  • Recommended (recommended)
    Enforce rules that are recommended by ESLint React for general purpose React + React DOM projects.
    This preset includes the core, dom, and web-api presets.

TypeScript Specialized

  • Recommended TypeScript (recommended-typescript)
    Same as the recommended preset but disables rules that can be enforced by TypeScript.

  • Recommended Type-Checked (recommended-type-checked)
    Same as the recommended-typescript preset but enables additional rules that require type information.

Full Presets List ↗

Rules

Rules Overview ↗

FAQ

Frequently Asked Questions ↗

Roadmap

Contributing

Contributions are welcome!

Please follow our contributing guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.