@lego/eslint-config-react
Version:
LEGO shareable eslint config for js projects
80 lines (61 loc) • 1.6 kB
Markdown
# @lego/eslint-config-react
## Installation
Install this config package:
```bash
$ npm i -D @lego/eslint-config-react
```
## Usage
Extend your `eslint.json`, and make sure `@lego/eslint-config-react` has been added, but make
sure it's always at the end.
```json
{
"extends": ["@lego/eslint-config", "@lego/eslint-config-react"]
}
```
with TypeScript:
```json
{
"extends": ["@lego/eslint-config-typescript", "@lego/eslint-config-react"]
}
```
with TypeScript & React:
```json
{
"extends": [
"@lego/eslint-config-typescript",
"@lego/eslint-config-react",
"@lego/eslint-config-prettier"
]
}
```
### Overriding Rules
With the above `eslint.json` configuration example, you can still use or override already defined
rules as such:
```json
{
"extends": [
"@lego/eslint-config-typescript",
"@lego/eslint-config-react",
"@lego/eslint-config-prettier"
],
"rules": {
// eslint-config rules
"camelcase": "warn",
// @typescript-eslint/eslint-plugin rules
"@typescript-eslint/no-useless-constructor": "error",
// eslint-plugin-react rules
"react/jsx-child-element-spacing": "error",
// eslint-plugin-react-hooks rules
"react-hooks/exhaustive-deps": "warn",
// eslint-plugin-prettier rules
"prettier/prettier": [
"error",
{
"singleQuote": false
}
]
}
}
```
It's recommended to inspect the defined rule's configurations where the reasoning for the
configuration lives. If a configuration could benefit more than just the project you're working on, feel free to create a pull request.