1
+ module . exports = {
2
+ parser : '@typescript-eslint/parser' ,
3
+ parserOptions : {
4
+ project : 'tsconfig.json' ,
5
+ sourceType : 'module'
6
+ } ,
7
+ plugins : [ '@typescript-eslint/eslint-plugin' ] ,
8
+ extends : [ 'plugin:@typescript-eslint/recommended' , 'plugin:prettier/recommended' ] ,
9
+ root : true ,
10
+ env : {
11
+ node : true ,
12
+ jest : true
13
+ } ,
14
+ ignorePatterns : [ '.eslintrc.js' ] ,
15
+ rules : {
16
+ 'prettier/prettier' : 0 ,
17
+ 'no-console' : 'error' ,
18
+ // "@typescript-eslint/consistent-type-imports": "error",
19
+ '@typescript-eslint/no-unused-vars' : [
20
+ 'error'
21
+ // {
22
+ // "argsIgnorePattern": "_"
23
+ // }
24
+ ] ,
25
+ '@typescript-eslint/array-type' : 'error' ,
26
+ 'template-curly-spacing' : 'error' ,
27
+ '@typescript-eslint/explicit-function-return-type' : 'error' ,
28
+ '@typescript-eslint/explicit-module-boundary-types' : 'warn' ,
29
+ '@typescript-eslint/no-explicit-any' : 'error' ,
30
+ '@typescript-eslint/no-use-before-define' : 'error' ,
31
+ complexity : [ 'error' , 50 ] ,
32
+ 'array-callback-return' : 'error' ,
33
+ curly : 'error' ,
34
+ 'default-case' : 'error' ,
35
+ 'default-case-last' : 'error' ,
36
+ 'default-param-last' : 'error' ,
37
+ camelcase : [ 2 , { properties : 'always' } ] ,
38
+ 'no-invalid-this' : 'error' ,
39
+ 'no-return-assign' : 'error' ,
40
+ 'no-unused-expressions' : [ 'error' , { allowTernary : true } ] ,
41
+ 'no-useless-concat' : 'error' ,
42
+ 'no-useless-return' : 'error' ,
43
+ 'guard-for-in' : 'error' ,
44
+ 'no-case-declarations' : 'error' ,
45
+ 'no-implicit-coercion' : 'error' ,
46
+ 'no-lone-blocks' : 'error' ,
47
+ 'no-loop-func' : 'error' ,
48
+ 'no-param-reassign' : 'error' ,
49
+ 'no-return-await' : 'error' ,
50
+ 'no-self-compare' : 'error' ,
51
+ 'no-throw-literal' : 'error' ,
52
+ 'no-useless-catch' : 'error' ,
53
+ 'prefer-promise-reject-errors' : 'error' ,
54
+ 'vars-on-top' : 'error' ,
55
+ yoda : [ 'error' , 'always' ] ,
56
+ 'arrow-body-style' : [ 'warn' , 'as-needed' ] ,
57
+ 'no-useless-rename' : 'error' ,
58
+ 'prefer-destructuring' : [
59
+ 'error' ,
60
+ {
61
+ array : true ,
62
+ object : true
63
+ } ,
64
+ {
65
+ enforceForRenamedProperties : false
66
+ }
67
+ ] ,
68
+ 'prefer-numeric-literals' : 'error' ,
69
+ 'prefer-rest-params' : 'warn' ,
70
+ 'prefer-spread' : 'error' ,
71
+ 'array-bracket-newline' : [ 'error' , { multiline : true , minItems : null } ] ,
72
+ 'array-bracket-spacing' : 'error' ,
73
+ 'brace-style' : [ 'error' , '1tbs' , { allowSingleLine : true } ] ,
74
+ 'block-spacing' : 'error' ,
75
+ 'comma-dangle' : 'error' ,
76
+ 'comma-spacing' : 'error' ,
77
+ 'comma-style' : 'error' ,
78
+ 'computed-property-spacing' : 'error' ,
79
+ 'func-call-spacing' : 'error' ,
80
+ 'implicit-arrow-linebreak' : [ 'error' , 'beside' ] ,
81
+ 'keyword-spacing' : 'error' ,
82
+ 'multiline-ternary' : [ 'error' , 'always-multiline' ] ,
83
+ 'no-mixed-operators' : 'error' ,
84
+ 'no-multiple-empty-lines' : [ 'error' , { max : 2 , maxEOF : 1 } ] ,
85
+ 'no-tabs' : 'error' ,
86
+ 'no-unneeded-ternary' : 'error' ,
87
+ 'no-whitespace-before-property' : 'error' ,
88
+ 'nonblock-statement-body-position' : [ 'error' , 'below' ] ,
89
+ 'object-property-newline' : [ 'error' , { allowAllPropertiesOnSameLine : true } ] ,
90
+ semi : [ 'error' , 'always' ] ,
91
+ 'semi-spacing' : 'error' ,
92
+ 'space-before-blocks' : 'error' ,
93
+ 'space-in-parens' : 'error' ,
94
+ 'space-infix-ops' : 'error' ,
95
+ 'space-unary-ops' : 'error' ,
96
+ 'arrow-spacing' : 'error' ,
97
+ 'no-confusing-arrow' : 'off' ,
98
+ 'no-var' : 'error' ,
99
+ 'object-shorthand' : 'error' ,
100
+ 'prefer-const' : 'error' ,
101
+ 'prefer-template' : 'error' ,
102
+ quotes : [ 'warn' , 'single' , { allowTemplateLiterals : true } ]
103
+ }
104
+ } ;
0 commit comments