-
Notifications
You must be signed in to change notification settings - Fork 122
/
eslint.config.js
94 lines (91 loc) · 2.39 KB
/
eslint.config.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
92
93
94
const globals = require('globals');
const js = require('@eslint/js');
const { FlatCompat } = require('@eslint/eslintrc');
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
});
module.exports = [
...compat.extends('eslint:recommended', 'prettier'),
{
ignores: [
'eslint.config.js',
'coverage/**',
'node_modules/**',
'**/node_modules/**',
'**/dist/**/*',
'**/__tmp__/**/*',
'lerna.json',
'**/resources/**',
],
},
{
languageOptions: {
globals: {
...globals.browser,
...globals.jest,
...globals.node,
},
ecmaVersion: 8,
sourceType: 'commonjs',
},
rules: {
'no-mixed-spaces-and-tabs': [0, 'smart-tabs'],
quotes: [2, 'single', 'avoid-escape'],
'no-compare-neg-zero': 0,
'no-console': 0,
'no-debugger': 2,
'no-array-constructor': 2,
'no-caller': 2,
'no-catch-shadow': 2,
'no-eval': 2,
'no-extend-native': 2,
'no-extra-bind': 2,
'no-implied-eval': 2,
'no-irregular-whitespace': [2, { skipComments: true }],
'no-iterator': 2,
'no-label-var': 2,
'no-labels': 2,
'no-lone-blocks': 2,
'no-loop-func': 2,
'no-multi-spaces': 2,
'no-multi-str': 2,
'no-native-reassign': 2,
'no-new': 2,
'no-new-func': 2,
'no-new-object': 2,
'no-new-wrappers': 2,
'no-octal-escape': 2,
'no-proto': 2,
'no-return-assign': 2,
'no-script-url': 2,
'no-sequences': 2,
'no-shadow': 0,
'no-shadow-restricted-names': 2,
'no-spaced-func': 2,
'no-trailing-spaces': 2,
'no-undef-init': 2,
'no-unused-expressions': 2,
'no-unused-vars': 'off',
'no-use-before-define': 2,
'no-useless-escape': 0,
'no-with': 2,
'comma-spacing': 2,
curly: [2, 'all'],
'dot-notation': [2, { allowKeywords: true }],
'eol-last': 2,
'no-extra-parens': [2, 'functions'],
eqeqeq: 2,
'key-spacing': [2, { beforeColon: false, afterColon: true }],
'new-cap': 2,
'new-parens': 2,
semi: 2,
'semi-spacing': [2, { before: false, after: true }],
'space-infix-ops': 2,
'keyword-spacing': 2,
'space-unary-ops': [2, { words: true, nonwords: false }],
yoda: [2, 'never'],
},
},
];