1
1
/* eslint-disable */
2
+ const styles = require ( './style' ) ;
3
+ const variables = require ( './variables' ) ;
4
+ const errors = require ( './errors' ) ;
5
+ const bestPractices = require ( './best-practices' ) ;
6
+ const es6 = require ( './es6' ) ;
7
+
8
+ const replaceRule = ( name , ruleSet , fallback ) => {
9
+ return {
10
+ [ name ] : 0 ,
11
+ [ `@typescript-eslint/${ name } ` ] : ruleSet . rules [ name ] || fallback || 0 ,
12
+ } ;
13
+ } ;
14
+
2
15
/* [12.04.2019] add typescript support */
3
16
module . exports = {
4
17
rules : {
5
18
'require-jsdoc' : 0 ,
6
- 'camelcase' : 0 ,
7
- 'indent' : 0 ,
19
+ camelcase : 0 ,
8
20
'no-unused-vars' : 0 ,
9
21
'no-use-before-define' : 0 ,
10
22
'no-useless-constructor' : 0 ,
11
23
24
+ // default overrides
25
+ // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#extension-rules
26
+ ...replaceRule ( 'brace-style' , styles ) ,
27
+ ...replaceRule ( 'comma-dangle' , errors ) ,
28
+ ...replaceRule ( 'comma-spacing' , styles ) ,
29
+ ...replaceRule ( 'default-param-last' , styles ) ,
30
+ ...replaceRule ( 'dot-notation' , bestPractices ) ,
31
+ ...replaceRule ( 'func-call-spacing' , styles ) ,
32
+ ...replaceRule ( 'indent' , styles ) ,
33
+ ...replaceRule ( 'init-declarations' , variables ) ,
34
+ ...replaceRule ( 'keyword-spacing' , styles ) ,
35
+ ...replaceRule ( 'lines-between-class-members' , styles ) ,
36
+ ...replaceRule ( 'no-array-constructor' , styles ) ,
37
+ ...replaceRule ( 'no-dupe-class-members' , es6 ) ,
38
+ ...replaceRule ( 'no-duplicate-imports' , es6 ) ,
39
+ ...replaceRule ( 'no-empty-function' , bestPractices ) ,
40
+ ...replaceRule ( 'no-extra-parens' , errors ) ,
41
+ ...replaceRule ( 'no-extra-semi' , errors ) ,
42
+ ...replaceRule ( 'no-implied-eval' , bestPractices ) ,
43
+ ...replaceRule ( 'no-invalid-this' , bestPractices ) ,
44
+ ...replaceRule ( 'no-loop-func' , bestPractices ) ,
45
+ ...replaceRule ( 'no-loss-of-precision' , bestPractices ) ,
46
+ ...replaceRule ( 'no-magic-numbers' , bestPractices ) ,
47
+ ...replaceRule ( 'no-redeclare' , bestPractices ) ,
48
+ ...replaceRule ( 'no-shadow' , variables ) ,
49
+ ...replaceRule ( 'no-throw-literal' , bestPractices ) ,
50
+ ...replaceRule ( 'no-unused-expressions' , bestPractices ) ,
51
+ ...replaceRule ( 'no-unused-vars' , variables ) ,
52
+ ...replaceRule ( 'no-use-before-define' , variables ) ,
53
+ ...replaceRule ( 'no-useless-constructor' , es6 ) ,
54
+ ...replaceRule ( 'quotes' , styles ) ,
55
+ ...replaceRule ( 'require-await' , styles ) ,
56
+ ...replaceRule ( 'return-await' , styles ) ,
57
+ ...replaceRule ( 'semi' , styles ) ,
58
+ ...replaceRule ( 'space-before-function-paren' , styles ) ,
59
+ ...replaceRule ( 'space-infix-ops' , styles ) ,
60
+
12
61
// Require that member overloads be consecutive (adjacent-overload-signatures from TSLint)
13
62
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md
14
63
'@typescript-eslint/adjacent-overload-signatures' : 2 ,
@@ -27,46 +76,47 @@ module.exports = {
27
76
28
77
// Enforces naming conventions for everything across a codebase (naming-convention)
29
78
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/naming-convention.md
30
- '@typescript-eslint/naming-convention' : [ 2 ,
31
- {
32
- "selector" : "variable" ,
33
- "format" : [ "camelCase" , "UPPER_CASE" , "PascalCase" ] ,
34
- "leadingUnderscore" : "allow"
35
- } ,
79
+ '@typescript-eslint/naming-convention' : [
80
+ 2 ,
81
+ {
82
+ selector : 'variable' ,
83
+ format : [ 'camelCase' , 'UPPER_CASE' , 'PascalCase' ] ,
84
+ leadingUnderscore : 'allow' ,
85
+ } ,
86
+ {
87
+ selector : 'class' ,
88
+ format : [ 'PascalCase' ] ,
89
+ } ,
36
90
{
37
- " selector" : "class" ,
38
- " format" : [ " PascalCase" ]
91
+ selector : 'enum' ,
92
+ format : [ 'UPPER_CASE' , ' PascalCase' ] ,
39
93
} ,
40
94
{
41
- " selector" : "enum" ,
42
- " format" : [ "UPPER_CASE" , " PascalCase" ]
95
+ selector : 'typeAlias' ,
96
+ format : [ ' PascalCase' ] ,
43
97
} ,
44
98
{
45
- "selector" : "typeAlias" ,
46
- "format" : [ "PascalCase" ]
99
+ selector : 'interface' ,
100
+ format : [ 'PascalCase' ] ,
101
+ prefix : [ 'I' ] ,
47
102
} ,
48
103
{
49
- "selector" : "interface" ,
50
- "format" : [ "PascalCase" ] ,
51
- "prefix" : [ "I" ]
52
- } ,
53
- {
54
- "selector" : "method" ,
55
- "modifiers" : [ "private" ] ,
56
- "format" : [ "camelCase" ] ,
57
- "leadingUnderscore" : "require"
58
- } ,
59
- {
60
- "selector" : "property" ,
61
- "modifiers" : [ "private" ] ,
62
- "format" : [ "camelCase" ] ,
63
- "leadingUnderscore" : "require"
64
- } ,
65
- {
66
- "selector" : "typeParameter" ,
67
- "format" : [ "PascalCase" ] ,
68
- "prefix" : [ "T" ]
69
- } ,
104
+ selector : 'method' ,
105
+ modifiers : [ 'private' ] ,
106
+ format : [ 'camelCase' ] ,
107
+ leadingUnderscore : 'require' ,
108
+ } ,
109
+ {
110
+ selector : 'property' ,
111
+ modifiers : [ 'private' ] ,
112
+ format : [ 'camelCase' ] ,
113
+ leadingUnderscore : 'require' ,
114
+ } ,
115
+ {
116
+ selector : 'typeParameter' ,
117
+ format : [ 'PascalCase' ] ,
118
+ prefix : [ 'T' ] ,
119
+ } ,
70
120
] ,
71
121
72
122
// Require explicit return types on functions and class methods (explicit-function-return-type)
@@ -91,7 +141,10 @@ module.exports = {
91
141
92
142
// Enforces consistent usage of type assertions. (consistent-type-assertions)
93
143
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-assertions.md
94
- '@typescript-eslint/consistent-type-assertions' : [ 2 , { assertionStyle : 'as' , objectLiteralTypeAssertions : 'allow-as-parameter' } ] ,
144
+ '@typescript-eslint/consistent-type-assertions' : [
145
+ 2 ,
146
+ { assertionStyle : 'as' , objectLiteralTypeAssertions : 'allow-as-parameter' } ,
147
+ ] ,
95
148
96
149
// Disallow generic Array constructors (no-array-constructor)
97
150
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-array-constructor.md
@@ -144,7 +197,7 @@ module.exports = {
144
197
145
198
// Sets preference level for triple slash directives versus ES6-style import declarations.
146
199
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/triple-slash-reference.md
147
- '@typescript-eslint/triple-slash-reference' : [ 2 , { ' path' : 'always' , ' types' : 'prefer-import' , ' lib' : 'always' } ] ,
200
+ '@typescript-eslint/triple-slash-reference' : [ 2 , { path : 'always' , types : 'prefer-import' , lib : 'always' } ] ,
148
201
149
202
// Disallow the use of type aliases (no-type-alias)
150
203
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-type-alias.md
@@ -201,6 +254,5 @@ module.exports = {
201
254
// Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.
202
255
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/unified-signatures.md
203
256
'@typescript-eslint/unified-signatures' : 2 ,
204
-
205
257
} ,
206
258
} ;
0 commit comments