-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patheslintrc.fix.js
88 lines (80 loc) · 1.65 KB
/
eslintrc.fix.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
// eslint-disable-next-line @typescript-eslint/no-var-requires
const base = require('./.eslintrc.js')
const rules = {
'key-spacing': [
'warn',
{
singleLine: {
beforeColon: false,
afterColon : true,
mode : 'strict',
},
multiLine: {
beforeColon: false,
afterColon : true,
align : 'colon',
},
},
],
'space-before-function-paren': [
'warn', {
anonymous : 'always',
named : 'never',
asyncArrow: 'always',
},
],
'generator-star-spacing': [
'warn',
{
before: true,
after : false,
},
],
'array-bracket-spacing': [
'warn',
'never',
{
singleValue : false,
arraysInArrays : false,
objectsInArrays: false,
},
],
'no-extra-semi' : 'error',
'semi-style' : ['error', 'first'],
semi : ['error', 'never', {beforeStatementContinuationChars: 'always'}],
'operator-linebreak': [
'error', 'before', {
overrides: {'=': 'after'},
},
],
'comma-dangle': [
'error',
{
arrays : 'always-multiline',
objects : 'always-multiline',
imports : 'always-multiline',
exports : 'always-multiline',
functions: 'always-multiline',
},
],
quotes: ['error', 'single', {avoidEscape: true}],
}
const rulesOff = {}
for (const key in rules) {
if (Object.prototype.hasOwnProperty.call(rules, key)) {
rulesOff[key] = 'off'
}
}
module.exports = {
root: true,
rules,
env: base.env,
parser : base.parser,
parserOptions: base.parserOptions,
plugins : base.plugins && base.plugins.filter(o => /^@typescript-eslint/.test(o)),
settings: base.settings,
overrides: base.overrides && base.overrides.map(o => ({
...o,
rules: rulesOff,
})),
}