-
Notifications
You must be signed in to change notification settings - Fork 3
/
.eslintrc.js
94 lines (94 loc) · 2.4 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
92
93
94
module.exports = {
'env': {
'browser': true,
'es2020': true,
'node': true
},
'extends': [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
],
'parser': '@typescript-eslint/parser',
'parserOptions': {
'ecmaVersion': 11,
'sourceType': 'module',
'tsconfigRootDir': __dirname,
'project': ['./tsconfig.json'],
},
'plugins': [
'@typescript-eslint'
],
'rules': {
'@typescript-eslint/indent': [
'error',
2
],
'@typescript-eslint/naming-convention': [
'error',
// match const global primitives and ensure they use UPPER_CASE
{
selector: ['variable'],
modifiers: ['const', 'global'],
types: ['boolean', 'string', 'number', 'array'],
format: ['UPPER_CASE'],
leadingUnderscore: 'forbid',
trailingUnderscore: 'forbid',
},
// match const global complex values and ensure they use PascalCase or snake_case
{
selector: ['variable'],
modifiers: ['const', 'global'],
format: ['UPPER_CASE', 'snake_case'],
leadingUnderscore: 'forbid',
trailingUnderscore: 'forbid',
},
// allow any case for destructured variables, to allow greater compatibility
// with other libraries which may use other formats
{
selector: ['variable'],
modifiers: ['destructured'],
format: null,
},
// all other variables should be snake_case
{
selector: ['variableLike'],
format: ['snake_case'],
leadingUnderscore: 'forbid',
trailingUnderscore: 'forbid',
},
// ensure static methods and members are PascalCase
{
selector: ['memberLike'],
modifiers: ['static'],
format: ['PascalCase'],
leadingUnderscore: 'forbid',
trailingUnderscore: 'forbid',
},
// ensure types are PascalCase
{
selector: ['typeLike'],
format: ['PascalCase'],
leadingUnderscore: 'forbid',
trailingUnderscore: 'forbid',
},
],
'linebreak-style': [
'error',
'unix'
],
'quotes': [
'error',
'single'
],
'semi': [
'error',
'always'
],
'no-unused-vars': [
'error',
{ 'varsIgnorePattern': '^_', 'argsIgnorePattern': '^_' },
],
'curly': 'error',
}
};