@@ -24,14 +24,36 @@ module.exports = {
2424 } ,
2525 plugins : [ '@typescript-eslint' , 'jest' , 'jsdoc' ] ,
2626 rules : {
27- 'prettier/prettier' : 'error' ,
28- 'no-unused-vars' : 'off' , // let typescript-eslint handle this
29- 'no-console' : 'error' ,
30- 'linebreak-style' : 'off' ,
27+ 'arrow-body-style' : 'warn' ,
28+ 'arrow-parens' : [ 'off' , 'always' ] ,
29+ 'brace-style' : [ 'off' , 'off' ] ,
30+ camelcase : 'warn' ,
31+ 'class-methods-use-this' : 'warn' ,
3132 'comma-dangle' : 'off' ,
33+ complexity : 'off' ,
3234 'constructor-super' : 'error' ,
35+ curly : [ 'warn' , 'multi-line' ] ,
36+ 'default-case' : 'error' ,
37+ 'dot-notation' : 'error' ,
38+ 'eol-last' : 'off' ,
39+ eqeqeq : [ 'error' , 'smart' ] ,
3340 'for-direction' : [ 'error' ] ,
3441 'getter-return' : 'warn' ,
42+ 'guard-for-in' : 'error' ,
43+ 'id-match' : 'error' ,
44+ 'jsdoc/check-alignment' : 'error' ,
45+ 'jsdoc/check-indentation' : 'error' ,
46+ 'jsdoc/newline-after-description' : 'warn' ,
47+ 'linebreak-style' : 'off' ,
48+ 'max-classes-per-file' : 'off' ,
49+ 'max-len' : 'off' ,
50+ 'new-parens' : 'off' ,
51+ 'newline-per-chained-call' : 'off' ,
52+ 'no-bitwise' : 'off' ,
53+ 'no-caller' : 'error' ,
54+ 'no-duplicate-imports' : 'error' ,
55+ 'no-eval' : 'error' ,
56+ 'no-console' : 'error' ,
3557 'no-async-promise-executor' : [ 'error' ] ,
3658 'no-case-declarations' : [ 'error' ] ,
3759 'no-class-assign' : [ 'error' ] ,
@@ -61,40 +83,79 @@ module.exports = {
6183 'no-func-assign' : [ 'error' ] ,
6284 'no-global-assign' : [ 'error' ] ,
6385 'no-inner-declarations' : [ 'error' ] ,
86+ 'no-invalid-this' : 'off' ,
6487 'no-invalid-regexp' : [ 'error' ] ,
6588 'no-irregular-whitespace' : 'off' ,
6689 'no-misleading-character-class' : [ 'error' ] ,
6790 'no-mixed-spaces-and-tabs' : [ 'error' ] ,
91+ 'no-multiple-empty-lines' : 'off' ,
6892 'no-new-symbol' : [ 'error' ] ,
93+ 'no-new-wrappers' : 'error' ,
6994 'no-obj-calls' : [ 'error' ] ,
7095 'no-octal' : [ 'error' ] ,
7196 'no-prototype-builtins' : [ 'error' ] ,
7297 'no-redeclare' : 'warn' ,
7398 'no-regex-spaces' : [ 'error' ] ,
99+ 'no-return-await' : 'error' ,
74100 'no-self-assign' : [ 'error' ] ,
101+ 'no-shadow' : [
102+ 'off' ,
103+ {
104+ hoist : 'all' ,
105+ } ,
106+ ] ,
75107 'no-shadow-restricted-names' : [ 'error' ] ,
76108 'no-sparse-arrays' : [ 'error' ] ,
109+ 'no-template-curly-in-string' : 'error' ,
77110 'no-this-before-super' : [ 'error' ] ,
111+ 'no-throw-literal' : 'error' ,
112+ 'no-trailing-spaces' : 'off' ,
113+ 'no-undef-init' : 'error' ,
114+ 'no-underscore-dangle' : 'off' ,
115+ 'no-unused-expressions' : 'error' ,
78116 'no-undef' : [ 'error' ] ,
79117 'no-unexpected-multiline' : [ 'error' ] ,
80118 'no-unreachable' : [ 'error' ] ,
81119 'no-unsafe-finally' : 'error' ,
82120 'no-unsafe-negation' : [ 'error' ] ,
83121 'no-unused-labels' : 'error' ,
122+ 'no-unused-vars' : 'off' , // let typescript-eslint handle this
84123 'no-useless-catch' : [ 'error' ] ,
85124 'no-useless-escape' : 'warn' ,
125+ 'no-var' : 'error' ,
86126 'no-with' : [ 'error' ] ,
127+ 'object-shorthand' : 'error' ,
128+ 'one-var' : [ 'error' , 'never' ] ,
129+ 'padding-line-between-statements' : [
130+ "error" ,
131+ { blankLine : "always" , prev : "*" , next : "return" }
132+ ] ,
133+ 'prefer-const' : 'error' ,
134+ 'prefer-object-spread' : 'error' ,
135+ 'prefer-template' : 'error' ,
136+ 'prettier/prettier' : 'error' ,
137+ 'quote-props' : 'off' ,
138+ radix : 'error' ,
87139 'require-yield' : [ 'error' ] ,
140+ 'space-before-function-paren' : 'off' ,
141+ 'space-in-parens' : [ 'off' , 'never' ] ,
142+ 'spaced-comment' : [
143+ 'warn' ,
144+ 'always' ,
145+ {
146+ markers : [ '/' ] ,
147+ } ,
148+ ] ,
88149 'use-isnan' : 'error' ,
89150 'valid-typeof' : 'off' ,
90- '@typescript-eslint/no-unused-vars' : [ "error" , { "argsIgnorePattern" : "^_" } ] ,
91151 '@typescript-eslint/adjacent-overload-signatures' : 'error' ,
92152 '@typescript-eslint/array-type' : [
93153 'warn' ,
94154 {
95155 default : 'array' ,
96156 } ,
97157 ] ,
158+ '@typescript-eslint/ban-ts-ignore' : 'off' ,
98159 '@typescript-eslint/ban-types' : [
99160 'error' ,
100161 {
@@ -120,12 +181,9 @@ module.exports = {
120181 } ,
121182 } ,
122183 ] ,
123- '@typescript-eslint/prefer-regexp-exec' : 'warn' ,
124- '@typescript-eslint/prefer-string-starts-ends-with' : 'warn' ,
125- '@typescript-eslint/unbound-method' : 'off' ,
126- '@typescript-eslint/prefer-includes' : 'warn' ,
127184 '@typescript-eslint/consistent-type-assertions' : 'error' ,
128185 '@typescript-eslint/consistent-type-definitions' : 'error' ,
186+ '@typescript-eslint/explicit-function-return-type' : 'off' ,
129187 '@typescript-eslint/explicit-member-accessibility' : [
130188 'error' ,
131189 {
@@ -146,11 +204,9 @@ module.exports = {
146204 } ,
147205 } ,
148206 ] ,
149- '@typescript-eslint/require-await' : 'off' ,
150- '@typescript-eslint/ban-ts-ignore' : 'off' ,
207+ '@typescript-eslint/no-unused-vars' : [ "error" , { "argsIgnorePattern" : "^_" } ] ,
151208 '@typescript-eslint/no-empty-function' : [ 'error' , { 'allow' : [ 'arrowFunctions' ] } ] ,
152209 '@typescript-eslint/no-empty-interface' : 'off' ,
153- '@typescript-eslint/explicit-function-return-type' : 'off' ,
154210 '@typescript-eslint/no-explicit-any' : 'off' ,
155211 '@typescript-eslint/no-for-in-array' : 'error' ,
156212 '@typescript-eslint/no-inferrable-types' : 'error' ,
@@ -163,13 +219,18 @@ module.exports = {
163219 '@typescript-eslint/no-unsafe-member-access' : 'off' ,
164220 '@typescript-eslint/no-unsafe-return' : 'off' ,
165221 '@typescript-eslint/no-unnecessary-boolean-literal-compare' : 'error' ,
222+ '@typescript-eslint/no-unnecessary-type-assertion' : 'warn' ,
166223 '@typescript-eslint/no-use-before-define' : 'off' ,
167224 '@typescript-eslint/no-var-requires' : 'off' ,
168- '@typescript-eslint/restrict-template-expressions' : 'off' ,
225+ '@typescript-eslint/prefer-includes' : 'warn' ,
226+ '@typescript-eslint/prefer-regexp-exec' : 'warn' ,
227+ '@typescript-eslint/prefer-string-starts-ends-with' : 'warn' ,
169228 '@typescript-eslint/prefer-for-of' : 'off' ,
170229 '@typescript-eslint/prefer-function-type' : 'error' ,
171230 '@typescript-eslint/prefer-namespace-keyword' : 'error' ,
172231 '@typescript-eslint/prefer-readonly' : 'error' ,
232+ '@typescript-eslint/restrict-template-expressions' : 'off' ,
233+ '@typescript-eslint/require-await' : 'off' ,
173234 '@typescript-eslint/triple-slash-reference' : [
174235 'error' ,
175236 {
@@ -179,65 +240,8 @@ module.exports = {
179240 } ,
180241 ] ,
181242 '@typescript-eslint/type-annotation-spacing' : 'off' ,
243+ '@typescript-eslint/unbound-method' : 'off' ,
182244 '@typescript-eslint/unified-signatures' : 'error' ,
183- '@typescript-eslint/no-unnecessary-type-assertion' : 'warn' ,
184- 'arrow-body-style' : 'warn' ,
185- 'arrow-parens' : [ 'off' , 'always' ] ,
186- 'brace-style' : [ 'off' , 'off' ] ,
187- camelcase : 'warn' ,
188- 'class-methods-use-this' : 'warn' ,
189- complexity : 'off' ,
190- curly : [ 'warn' , 'multi-line' ] ,
191- 'default-case' : 'error' ,
192- 'dot-notation' : 'error' ,
193- 'eol-last' : 'off' ,
194- eqeqeq : [ 'error' , 'smart' ] ,
195- 'guard-for-in' : 'error' ,
196- 'id-match' : 'error' ,
197- 'jsdoc/check-alignment' : 'error' ,
198- 'jsdoc/check-indentation' : 'error' ,
199- 'jsdoc/newline-after-description' : 'warn' ,
200- 'max-classes-per-file' : 'off' ,
201- 'max-len' : 'off' ,
202- 'new-parens' : 'off' ,
203- 'newline-per-chained-call' : 'off' ,
204- 'no-bitwise' : 'off' ,
205- 'no-caller' : 'error' ,
206- 'no-duplicate-imports' : 'error' ,
207- 'no-eval' : 'error' ,
208- 'no-invalid-this' : 'off' ,
209- 'no-multiple-empty-lines' : 'off' ,
210- 'no-new-wrappers' : 'error' ,
211- 'no-return-await' : 'error' ,
212- 'no-shadow' : [
213- 'off' ,
214- {
215- hoist : 'all' ,
216- } ,
217- ] ,
218- 'no-template-curly-in-string' : 'error' ,
219- 'no-throw-literal' : 'error' ,
220- 'no-trailing-spaces' : 'off' ,
221- 'no-undef-init' : 'error' ,
222- 'no-underscore-dangle' : 'off' ,
223- 'no-unused-expressions' : 'error' ,
224- 'no-var' : 'error' ,
225- 'object-shorthand' : 'error' ,
226- 'one-var' : [ 'error' , 'never' ] ,
227- 'prefer-const' : 'warn' ,
228- 'prefer-object-spread' : 'error' ,
229- 'prefer-template' : 'error' ,
230- 'quote-props' : 'off' ,
231- radix : 'error' ,
232- 'space-before-function-paren' : 'off' ,
233- 'space-in-parens' : [ 'off' , 'never' ] ,
234- 'spaced-comment' : [
235- 'warn' ,
236- 'always' ,
237- {
238- markers : [ '/' ] ,
239- } ,
240- ] ,
241245 } ,
242246 settings : { } ,
243247}
0 commit comments