-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eslintrc.js
91 lines (91 loc) · 3.22 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* eslint-disable no-undef */
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
plugins: [
'@typescript-eslint',
//'jest',
'import',
'react-hooks',
'unused-imports',
//'prettier',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:jsx-a11y/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
//'plugin:jest/recommended',
//'prettier',
],
rules: {
indent: ['error', 2],
'linebreak-style': ['error', 'unix'],
quotes: ['error', 'single'],
semi: ['error', 'always'],
'no-console': 'warn',
'@typescript-eslint/no-use-before-define': 'warn',
'@typescript-eslint/no-unused-vars': 'off',
'unused-imports/no-unused-imports': 'error',
'unused-imports/no-unused-vars': [
'error',
{ 'vars': 'all', 'varsIgnorePattern': '^_', 'args': 'after-used', 'argsIgnorePattern': '^_' }
],
//'@typescript-eslint/explicit-function-return-type': 'warn', // Consider using explicit annotations for object literals and function return types even when they can be inferred.
'no-empty': 'warn',
'import/no-unresolved': 'error',
//'prettier/prettier': 'error',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn'
},
'settings': {
'react': {
'createClass': 'createReactClass', // Regex for Component Factory to use,
// default to "createReactClass"
'pragma': 'React', // Pragma to use, default to "React"
'fragment': 'Fragment', // Fragment to use (may be a property of <pragma>), default to "Fragment"
'version': 'detect', // React version. "detect" automatically picks the version you have installed.
// You can also use `16.0`, `16.3`, etc, if you want to override the detected value.
// It will default to "latest" and warn if missing, and to "detect" in the future
//'flowVersion': '0.53' // Flow version
},
'componentWrapperFunctions': [
// The name of any function used to wrap components, e.g. Mobx `observer` function. If this isn't set, components wrapped by these functions will be skipped.
'observer', // `property`
{'property': 'styled'}, // `object` is optional
{'property': 'observer', 'object': 'Mobx'},
{'property': 'observer', 'object': '<pragma>'} // sets `object` to whatever value `settings.react.pragma` is set to
],
'formComponents': [
// Components used as alternatives to <form> for forms, eg. <Form endpoint={ url } />
'CustomForm',
{'name': 'Form', 'formAttribute': 'endpoint'}
],
'linkComponents': [
// Components used as alternatives to <a> for linking, eg. <Link to={ url } />
'Hyperlink',
{'name': 'Link', 'linkAttribute': 'to'}
],
'import/parsers': {
'@typescript-eslint/parser': ['.ts', '.tsx']
},
'import/resolver': {
'typescript': {
'alwaysTryTypes': true,
}
}
},
'overrides': [
{
'files': ['*.graphql'],
'parser': '@graphql-eslint/eslint-plugin',
'plugins': ['@graphql-eslint'],
'rules': {
'@graphql-eslint/known-type-names': 'error'
}
}
]
};