-
Notifications
You must be signed in to change notification settings - Fork 25
/
.eslintrc.js
41 lines (40 loc) · 1.04 KB
/
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
This file, along with most of the eslint dependencies, has been set up
through eslint --init
*/
module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'plugin:react/recommended',
'airbnb',
'airbnb-typescript',
// this disables all the stylistic rules of the above, letting prettier handle it outside eslint
'prettier',
],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 12,
sourceType: 'module',
project: ['./tsconfig.json'],
},
plugins: ['react', '@typescript-eslint'],
ignorePatterns: 'tests',
rules: {
// https://redux-toolkit.js.org/usage/immer-reducers#linting-state-mutations
'no-param-reassign': [
'error',
{ props: true, ignorePropertyModificationsFor: ['state'] },
],
/*
TypeScript does not seem to pick up defaultProps on functional components.
Optional props will be receiving default values on destructuring.
*/
'react/require-default-props': 'off',
},
};