Rules
The progress of all rule implementations is tracked here.
- Total number of rules: 640
- Rules turned on by default: 104
Legend for 'Fixable?' column:
- 🛠️: an auto-fix is available for this rule
- 💡: a suggestion is available for this rule
- ⚠️🛠️: a dangerous auto-fix is available for this rule
- ⚠️💡: a dangerous suggestion is available for this rule
- 🚧: an auto-fix or suggestion is possible, but currently not implemented
Correctness (199):
Code that is outright wrong or useless.
Perf (12):
Code that can be written to run faster.
| Rule name | Source | Default | Fixable? |
|---|---|---|---|
| no-await-in-loop | eslint | ||
| no-useless-call | eslint | ||
| no-accumulating-spread | oxc | ||
| no-map-spread | oxc | 🛠️💡 | |
| no-array-index-key | react | ||
| jsx-no-jsx-as-prop | react_perf | ||
| jsx-no-new-array-as-prop | react_perf | ||
| jsx-no-new-function-as-prop | react_perf | ||
| jsx-no-new-object-as-prop | react_perf | ||
| prefer-array-find | unicorn | 🚧 | |
| prefer-array-flat-map | unicorn | 🛠️ | |
| prefer-set-has | unicorn | ⚠️🛠️️ |
Restriction (80):
Lints which prevent the use of language and library features. Must not be enabled as a whole, should be considered on a case-by-case basis before enabling.
Suspicious (48):
code that is most likely wrong or useless.
Pedantic (113):
Lints which are rather strict or have occasional false positives.
Style (179):
Code that should be written in a more idiomatic way.
Nursery (9):
New lints that are still under development.
| Rule name | Source | Default | Fixable? |
|---|---|---|---|
| getter-return | eslint | ||
| no-misleading-character-class | eslint | ||
| no-undef | eslint | ||
| no-unreachable | eslint | ||
| export | import | ||
| named | import | ||
| branches-sharing-code | oxc | ||
| no-return-in-finally | promise | ||
| require-render-return | react |