Rules
The progress of all rule implementations is tracked here.
- Total number of rules: 466
- Rules turned on by default: 97
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 (171):
Code that is outright wrong or useless.
Perf (8):
Code that can be written to run faster.
Rule name | Source | Default | Fixable? |
---|---|---|---|
no-await-in-loop | eslint | ||
no-accumulating-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-set-has | unicorn | ⚠️🛠️️ |
Restriction (63):
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 (24):
code that is most likely wrong or useless.
Rule name | Source | Default | Fixable? |
---|---|---|---|
no-extend-native | eslint | ||
no-new | eslint | ||
no-unexpected-multiline | eslint | ⚠️🛠️️ | |
no-useless-concat | eslint | ||
no-useless-constructor | eslint | 🛠️ | |
no-duplicates | import | ||
no-named-as-default | import | ||
no-named-as-default-member | import | ||
no-self-import | import | ||
no-commented-out-tests | jest | ||
approx-constant | oxc | ||
misrefactored-assign-op | oxc | 🚧 | |
no-async-endpoint-handlers | oxc | ||
no-promise-in-callback | promise | ||
iframe-missing-sandbox | react | 🚧 | |
jsx-no-comment-textnodes | react | ||
jsx-no-script-url | react | 🚧 | |
react-in-jsx-scope | react | ||
style-prop-object | react | ||
no-confusing-non-null-assertion | typescript | 🚧 | |
no-extraneous-class | typescript | ||
no-unnecessary-type-constraint | typescript | ||
consistent-function-scoping | unicorn | 🚧 | |
prefer-add-event-listener | unicorn | 🚧 |
Pedantic (75):
Lints which are rather strict or have occasional false positives.
Style (114):
Code that should be written in a more idiomatic way.
Nursery (11):
New lints that are still under development.
Rule name | Source | Default | Fixable? |
---|---|---|---|
constructor-super | eslint | ||
getter-return | eslint | ||
no-restricted-imports | eslint | ||
no-undef | eslint | ||
no-unreachable | eslint | ||
export | import | ||
no-map-spread | oxc | 🛠️💡 | |
no-return-in-finally | promise | ||
exhaustive-deps | react | ||
require-render-return | react | ||
consistent-type-imports | typescript | 🛠️ |