Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
feat(eslint-plugin): add new 'strict' config#4706
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes fromall commits
7b05b84
418577c
792c751
c17ad3e
1707478
9c0dbd6
d741d55
903247f
b237870
a4a7c45
5131919
51b19d2
cc23e5f
48d7225
c9d67dc
a5134bd
009bc6d
789cab6
d577332
3bebc55
3e8ed85
0fe329e
9f9921c
aa469d2
be77517
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
--- | ||
id: configs | ||
sidebar_label: Configurations | ||
title: Configurations | ||
--- | ||
## Built-In Configurations | ||
`@typescript-eslint/eslint-plugin` includes built-in configurations you can extend from to pull in the recommended starting rules. | ||
With the exception of `strict`, all configurations are considered "stable". | ||
Rule additions and removals are treated as breaking changes and will only be done in major version bumps. | ||
### `eslint-recommended` | ||
This ruleset is meant to be used after extending `eslint:recommended`. | ||
It disables core ESLint rules that are already checked by the TypeScript compiler. | ||
Additionally, it enables rules that promote using the more modern constructs TypeScript allows for. | ||
```jsonc | ||
{ | ||
"extends": [ | ||
"eslint:recommended", | ||
"plugin:@typescript-eslint/eslint-recommended" | ||
] | ||
} | ||
``` | ||
This config is automatically included if you use any of the other configurations mentioned on this page. | ||
### `recommended` | ||
Recommended rules for code correctness that you can drop in without additional configuration. | ||
These rules are those whose reports are almost always for a bad practice and/or likely bug. | ||
`recommended` also disables rules known to conflict with this repository, or cause issues in TypeScript codebases. | ||
```json | ||
{ | ||
"extends": ["plugin:@typescript-eslint/recommended"] | ||
} | ||
``` | ||
::tip | ||
We strongly recommend all TypeScript projects extend from this configuration. | ||
::: | ||
### `recommended-requiring-type-checking` | ||
Additional recommended rules that require type information. | ||
Rules in this configuration are similarly useful to those in `recommended`. | ||
```json | ||
{ | ||
"extends": [ | ||
"plugin:@typescript-eslint/recommended", | ||
"plugin:@typescript-eslint/recommended-requiring-type-checking" | ||
] | ||
} | ||
``` | ||
::tip | ||
We recommend all TypeScript projects extend from this configuration, with the caveat that rules using type information take longer to run. | ||
See [Linting with Type Information](/docs/linting/type-linting) for more details. | ||
::: | ||
### `strict` | ||
Additional strict rules that can also catch bugs but are more opinionated than recommended rules. | ||
```json | ||
{ | ||
"extends": [ | ||
"plugin:@typescript-eslint/recommended", | ||
"plugin:@typescript-eslint/recommended-requiring-type-checking", | ||
"plugin:@typescript-eslint/strict" | ||
] | ||
} | ||
``` | ||
::tip | ||
We recommend a TypeScript project extend from this configuration only if a nontrivial percentage of its developers are highly proficient in TypeScript. | ||
::: | ||
## Overriding Configurations | ||
These configurations are our recommended starting points, but **you don't need to use them as-is**. | ||
ESLint allows you to configure your own rule settings on top of any extended configurations. | ||
See [ESLint's Configuring Rules docs](https://eslint.org/docs/user-guide/configuring/rules#using-configuration-files). | ||
### Suggesting Configuration Changes | ||
If you feel strongly that a specific rule should (or should not) be one of these configurations, please feel free to [file an issue](TODO: NEW ISSUE TEMPLATE) along with a **detailed** argument explaining your reasoning. |
Large diffs are not rendered by default.
Uh oh!
There was an error while loading.Please reload this page.
Large diffs are not rendered by default.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.