Skip to content

Files

Latest commit

16c344e · Jul 9, 2025

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Apr 22, 2024
Mar 17, 2024
Mar 17, 2024
Nov 22, 2024
Nov 4, 2024
Jun 9, 2025
Mar 17, 2024
Aug 6, 2024
Aug 6, 2024
Aug 6, 2024
Aug 6, 2024
Mar 17, 2024
Feb 17, 2025
Aug 6, 2024
Aug 6, 2024
Oct 15, 2024
Oct 23, 2024
Mar 3, 2025
Feb 3, 2025
Feb 24, 2025
Oct 15, 2024
Jan 27, 2025
Feb 15, 2025
Feb 15, 2025
Dec 14, 2024
Oct 15, 2024
Mar 3, 2025
Aug 6, 2024
Aug 6, 2024
Feb 15, 2025
Aug 6, 2024
Aug 6, 2024
Aug 6, 2024
Aug 6, 2024
Feb 15, 2025
Aug 6, 2024
Apr 4, 2024
Oct 15, 2024
Jun 2, 2024
Feb 15, 2025
Mar 17, 2024
Jun 23, 2025
Sep 23, 2024
Feb 3, 2025
Jan 13, 2025
Feb 15, 2025
Jan 20, 2025
Aug 6, 2024
Oct 15, 2024
Jun 8, 2024
Feb 15, 2025
Oct 15, 2024
Oct 15, 2024
Jan 21, 2025
Mar 17, 2024
Aug 6, 2024
Aug 6, 2024
Oct 15, 2024
Oct 15, 2024
Mar 17, 2024
Feb 15, 2025
May 8, 2024
Oct 15, 2024
Feb 15, 2025
Oct 15, 2024
Feb 15, 2025
Apr 22, 2024
Feb 15, 2025
Oct 15, 2024
Mar 17, 2024
Oct 15, 2024
Jan 15, 2025
Mar 17, 2024
Jan 27, 2025
Mar 17, 2024
Mar 17, 2024
Mar 17, 2024
Aug 6, 2024
Feb 15, 2025
Jul 29, 2024
Jan 27, 2025
Feb 15, 2025
Nov 27, 2024
Feb 15, 2025
Oct 15, 2024
Oct 15, 2024
Feb 3, 2025
Jul 9, 2025
Jul 6, 2024
Mar 17, 2024
Feb 17, 2025
Mar 17, 2024
Apr 21, 2025
Mar 17, 2024
May 5, 2025
Mar 2, 2025
Mar 31, 2025
Jan 21, 2025
Jan 21, 2025
Apr 22, 2025
Sep 30, 2024
Jan 21, 2025
Jan 21, 2025
Jan 21, 2025
Nov 14, 2024
Mar 17, 2024
Feb 15, 2025
May 31, 2025
Feb 15, 2025
Feb 15, 2025
Mar 17, 2024
Aug 6, 2024
Oct 15, 2024
Jul 12, 2024
Dec 14, 2024
Aug 6, 2024
Jul 6, 2025
Aug 6, 2024
Oct 15, 2024
Mar 17, 2024
Feb 15, 2025
Mar 17, 2024
Mar 17, 2024
Mar 17, 2024
Mar 17, 2024
Mar 17, 2024
Oct 15, 2024
Mar 17, 2024
Mar 31, 2025
Feb 17, 2025
Feb 15, 2025
Oct 15, 2024
Oct 15, 2024
Dec 14, 2024
Mar 17, 2024
Mar 17, 2024
Oct 15, 2024
May 26, 2024
Oct 15, 2024
Aug 6, 2024
Nov 11, 2024
Oct 15, 2024
Feb 15, 2025
Feb 5, 2025
Feb 3, 2025
Dec 31, 2024
Aug 6, 2024
Oct 15, 2024
Aug 6, 2024
Aug 6, 2024
Aug 6, 2024
Aug 6, 2024
Dec 31, 2024
Dec 7, 2024
Oct 15, 2024
Aug 6, 2024
May 19, 2025
Oct 15, 2024
Mar 3, 2025
Jan 21, 2025

README.md

title sidebar_label pagination_next pagination_prev slug
Overview
Overview
/

@typescript-eslint/eslint-plugin includes over 100 rules that detect best practice violations, bugs, and/or stylistic issues specifically for TypeScript code. All of our rules are listed below.

:::tip Instead of enabling rules one by one, we recommend using one of our pre-defined configs to enable a large set of recommended rules. :::

Rules

The rules are listed in alphabetical order. You can optionally filter them based on these categories:

import RulesTable from "@site/src/components/RulesTable";

Filtering

Config Group (⚙️)

"Config Group" refers to the pre-defined config that includes the rule. Extending from a configuration preset allow for enabling a large set of recommended rules all at once.

Metadata

  • 🔧 fixable refers to whether the rule contains an ESLint --fix auto-fixer.
  • 💡 has suggestions refers to whether the rule contains an ESLint suggestion fixer.
    • Sometimes, it is not safe to automatically fix the code with an auto-fixer. But in these cases, we often have a good guess of what the correct fix should be, and we can provide it as a suggestion to the developer.
  • 💭 requires type information refers to whether the rule requires typed linting.
  • 🧱 extension rule means that the rule is an extension of an core ESLint rule (see Extension Rules).
  • 💀 deprecated rule means that the rule should no longer be used and will be removed from the plugin in a future version.

Extension Rules

Some core ESLint rules do not support TypeScript syntax: either they crash, ignore the syntax, or falsely report against it. In these cases, we create what we call an "extension rule": a rule within our plugin that has the same functionality, but also supports TypeScript.

Extension rules generally completely replace the base rule from ESLint core. If the base rule is enabled in a config you extend from, you'll need to disable the base rule:

module.exports = {
  extends: ['eslint:recommended'],
  rules: {
    // Note: you must disable the base rule as it can report incorrect errors
    'no-unused-vars': 'off',
    '@typescript-eslint/no-unused-vars': 'error',
  },
};

Search for 🧱 extension rules in this page to see all extension rules.