@averay/codeformat 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,310 +0,0 @@
1
- /* eslint sort-keys: "error" -- Organise rules */
2
-
3
- import eslintCommentsPlugin from 'eslint-plugin-eslint-comments';
4
- import importPlugin from 'eslint-plugin-import';
5
- import jsdocPlugin from 'eslint-plugin-jsdoc';
6
- import promisePlugin from 'eslint-plugin-promise';
7
- import regexpPlugin from 'eslint-plugin-regexp';
8
- import sonarjsPlugin from 'eslint-plugin-sonarjs';
9
- import unicornPlugin from 'eslint-plugin-unicorn';
10
-
11
- export default {
12
- // eslint-disable-next-line unicorn/no-useless-spread -- Keeps the unprefixed core rules together
13
- ...{
14
- 'accessor-pairs': ['error', { setWithoutGet: true }],
15
- 'array-callback-return': 'error',
16
- 'block-scoped-var': 'error',
17
- 'capitalized-comments': ['error', 'always', { ignoreConsecutiveComments: true }],
18
- 'consistent-return': 'error',
19
- 'consistent-this': ['error', '_this'],
20
- 'constructor-super': 'error',
21
- 'default-case': 'error',
22
- 'default-case-last': 'error',
23
- 'default-param-last': 'error',
24
- 'dot-notation': 'error',
25
- eqeqeq: ['error', 'always', { null: 'ignore' }],
26
- 'for-direction': 'error',
27
- 'func-names': ['error', 'as-needed'],
28
- 'func-style': ['error', 'declaration', { allowArrowFunctions: true }],
29
- 'getter-return': 'error',
30
- 'global-require': 'error',
31
- 'grouped-accessor-pairs': ['error', 'getBeforeSet'],
32
- 'guard-for-in': 'error',
33
- 'id-denylist': ['error', 'cb', 'e', 'enc', 'err', 'evt'],
34
- 'lines-between-class-members': 'error',
35
- 'logical-assignment-operators': ['error', 'always'],
36
- 'max-classes-per-file': ['error', 1],
37
- 'max-statements-per-line': 'error',
38
- 'multiline-comment-style': 'error',
39
- 'new-cap': ['error', { properties: true }],
40
- 'no-alert': 'error',
41
- 'no-array-constructor': 'error',
42
- 'no-async-promise-executor': 'error',
43
- 'no-await-in-loop': 'error',
44
- 'no-bitwise': 'error',
45
- 'no-buffer-constructor': 'error',
46
- 'no-caller': 'error',
47
- 'no-case-declarations': 'error',
48
- 'no-class-assign': 'error',
49
- 'no-compare-neg-zero': 'error',
50
- 'no-cond-assign': 'error',
51
- 'no-const-assign': 'error',
52
- 'no-constant-binary-expression': 'error',
53
- 'no-constant-condition': 'error',
54
- 'no-constructor-return': 'error',
55
- 'no-control-regex': 'error',
56
- 'no-debugger': 'error',
57
- 'no-delete-var': 'error',
58
- 'no-div-regex': 'error',
59
- 'no-dupe-args': 'error',
60
- 'no-dupe-class-members': 'error',
61
- 'no-dupe-else-if': 'error',
62
- 'no-dupe-keys': 'error',
63
- 'no-duplicate-case': 'error',
64
- 'no-duplicate-imports': 'error',
65
- 'no-empty': 'error',
66
- 'no-empty-character-class': 'error',
67
- 'no-empty-function': 'error',
68
- 'no-empty-pattern': 'error',
69
- 'no-empty-static-block': 'error',
70
- 'no-eval': 'error',
71
- 'no-ex-assign': 'error',
72
- 'no-extend-native': 'error',
73
- 'no-extra-bind': 'error',
74
- 'no-extra-boolean-cast': 'error',
75
- 'no-extra-label': 'error',
76
- 'no-fallthrough': 'error',
77
- 'no-func-assign': 'error',
78
- 'no-global-assign': 'error',
79
- 'no-implicit-coercion': 'error',
80
- 'no-implicit-globals': 'error',
81
- 'no-implied-eval': 'error',
82
- 'no-import-assign': 'error',
83
- 'no-inner-declarations': 'error',
84
- 'no-invalid-regexp': 'error',
85
- 'no-invalid-this': 'error',
86
- 'no-irregular-whitespace': 'error',
87
- 'no-iterator': 'error',
88
- 'no-label-var': 'error',
89
- 'no-labels': ['error', { allowLoop: true }],
90
- 'no-lone-blocks': 'error',
91
- 'no-loop-func': 'error',
92
- 'no-loss-of-precision': 'error',
93
- 'no-magic-numbers': [
94
- 'error',
95
- {
96
- detectObjects: true,
97
- enforceConst: true,
98
- ignore: [-1, 0, 1],
99
- ignoreArrayIndexes: true,
100
- ignoreClassFieldInitialValues: true,
101
- ignoreDefaultValues: true,
102
- },
103
- ],
104
- 'no-misleading-character-class': 'error',
105
- 'no-mixed-requires': 'error',
106
- 'no-multi-assign': 'error',
107
- 'no-multi-str': 'error',
108
- 'no-nested-ternary': 'error',
109
- 'no-new': 'error',
110
- 'no-new-func': 'error',
111
- 'no-new-native-nonconstructor': 'error',
112
- 'no-new-object': 'error',
113
- 'no-new-require': 'error',
114
- 'no-new-symbol': 'error',
115
- 'no-new-wrappers': 'error',
116
- 'no-nonoctal-decimal-escape': 'error',
117
- 'no-obj-calls': 'error',
118
- 'no-octal': 'error',
119
- 'no-octal-escape': 'error',
120
- 'no-path-concat': 'error',
121
- 'no-plusplus': 'error',
122
- 'no-process-env': 'error',
123
- 'no-process-exit': 'error',
124
- 'no-promise-executor-return': 'error',
125
- 'no-proto': 'error',
126
- 'no-prototype-builtins': 'error',
127
- 'no-redeclare': 'error',
128
- 'no-regex-spaces': 'error',
129
- 'no-restricted-globals': ['error', 'event'],
130
- 'no-restricted-syntax': ['error', 'WithStatement', "BinaryExpression[operator='in']"],
131
- 'no-return-assign': 'error',
132
- 'no-return-await': 'error',
133
- 'no-script-url': 'error',
134
- 'no-self-assign': 'error',
135
- 'no-self-compare': 'error',
136
- 'no-sequences': 'error',
137
- 'no-setter-return': 'error',
138
- 'no-shadow': ['error', { hoist: 'all' }],
139
- 'no-shadow-restricted-names': 'error',
140
- 'no-sparse-arrays': 'error',
141
- 'no-template-curly-in-string': 'error',
142
- 'no-this-before-super': 'error',
143
- 'no-throw-literal': 'error',
144
- 'no-undef': 'error',
145
- 'no-undef-init': 'error',
146
- 'no-underscore-dangle': [
147
- 'error',
148
- {
149
- allow: ['_', '_this', '_1', '_2', '_3', '_4', '_5', '_6', '_7', '_8', '_9'],
150
- allowAfterSuper: true,
151
- allowAfterThis: true,
152
- allowAfterThisConstructor: true,
153
- allowFunctionParams: false,
154
- allowInArrayDestructuring: false,
155
- enforceInClassFields: true,
156
- enforceInMethodNames: true,
157
- },
158
- ],
159
- 'no-unmodified-loop-condition': 'error',
160
- 'no-unneeded-ternary': 'error',
161
- 'no-unreachable': 'error',
162
- 'no-unreachable-loop': 'error',
163
- 'no-unsafe-finally': 'error',
164
- 'no-unsafe-negation': 'error',
165
- 'no-unsafe-optional-chaining': 'error',
166
- 'no-unused-expressions': 'error',
167
- 'no-unused-labels': 'error',
168
- 'no-unused-private-class-members': 'error',
169
- 'no-unused-vars': [
170
- 'error',
171
- {
172
- argsIgnorePattern: '^_\\w*$',
173
- caughtErrorsIgnorePattern: '^_\\w*$',
174
- varsIgnorePattern: '^(_\\d*|React)$',
175
- },
176
- ],
177
- 'no-use-before-define': 'error',
178
- 'no-useless-backreference': 'error',
179
- 'no-useless-call': 'error',
180
- 'no-useless-catch': 'error',
181
- 'no-useless-computed-key': ['error', { enforceForClassMembers: true }],
182
- 'no-useless-concat': 'error',
183
- 'no-useless-constructor': 'error',
184
- 'no-useless-escape': 'error',
185
- 'no-useless-rename': 'error',
186
- 'no-useless-return': 'error',
187
- 'no-var': 'error',
188
- 'no-void': 'error',
189
- 'no-with': 'error',
190
- 'object-shorthand': ['error', 'always', { avoidExplicitReturnArrows: true, avoidQuotes: true }],
191
- 'one-var': ['error', 'never'],
192
- 'operator-assignment': 'error',
193
- 'padding-line-between-statements': [
194
- 'error',
195
- /* eslint-disable sort-keys -- Logically ordered */
196
- { blankLine: 'always', prev: 'directive', next: '*' },
197
- { blankLine: 'always', prev: 'function', next: 'function' },
198
- /* eslint-enable sort-keys -- Restore */
199
- ],
200
- 'prefer-arrow-callback': 'error',
201
- 'prefer-const': 'error',
202
- 'prefer-destructuring': 'error',
203
- 'prefer-exponentiation-operator': 'error',
204
- 'prefer-numeric-literals': 'error',
205
- 'prefer-object-spread': 'error',
206
- 'prefer-promise-reject-errors': 'error',
207
- 'prefer-regex-literals': ['error', { disallowRedundantWrapping: true }],
208
- 'prefer-rest-params': 'error',
209
- 'prefer-spread': 'error',
210
- 'prefer-template': 'error',
211
- radix: 'error',
212
- 'require-atomic-updates': 'error',
213
- 'require-unicode-regexp': 'error',
214
- 'require-yield': 'error',
215
- 'spaced-comment': 'error',
216
- 'symbol-description': 'error',
217
- 'use-isnan': 'error',
218
- 'valid-typeof': 'error',
219
- 'vars-on-top': 'error',
220
- yoda: 'error',
221
- },
222
-
223
- ...eslintCommentsPlugin.configs.recommended.rules,
224
- 'eslint-comments/no-unused-disable': 'error',
225
- 'eslint-comments/require-description': 'error',
226
-
227
- ...importPlugin.configs.recommended.rules,
228
- 'import/consistent-type-specifier-style': ['error', 'prefer-inline'],
229
- 'import/first': ['error', 'absolute-first'],
230
- 'import/newline-after-import': 'error',
231
- 'import/no-absolute-path': 'error',
232
- 'import/no-amd': 'error',
233
- 'import/no-anonymous-default-export': [
234
- 'error',
235
- { allowArray: true, allowCallExpression: true, allowLiteral: true, allowNew: true, allowObject: true },
236
- ],
237
- 'import/no-commonjs': 'error',
238
- 'import/no-cycle': ['error', { ignoreExternal: true }],
239
- 'import/no-duplicates': ['error', { 'prefer-inline': true }],
240
- 'import/no-dynamic-require': 'error',
241
- 'import/no-empty-named-blocks': 'error',
242
- 'import/no-extraneous-dependencies': 'error',
243
- 'import/no-mutable-exports': 'error',
244
- 'import/no-named-as-default-member': 'error',
245
- 'import/no-named-default': 'error',
246
- 'import/no-self-import': 'error',
247
- 'import/no-unresolved': ['error', { caseSensitiveStrict: true }],
248
- 'import/no-unused-modules': 'error',
249
- 'import/no-useless-path-segments': 'error',
250
- 'import/no-webpack-loader-syntax': 'error',
251
- 'import/order': [
252
- 'error',
253
- {
254
- alphabetize: { order: 'asc' },
255
- groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
256
- 'newlines-between': 'always',
257
- warnOnUnassignedImports: true,
258
- },
259
- ],
260
- 'import/prefer-default-export': 'error',
261
-
262
- ...jsdocPlugin.configs.recommended.rules,
263
- 'jsdoc/check-indentation': 'error',
264
- 'jsdoc/check-syntax': 'error',
265
- 'jsdoc/match-description': ['error', { matchDescription: '[A-Z]', tags: { param: true, returns: true } }],
266
- 'jsdoc/no-bad-blocks': 'error',
267
- 'jsdoc/no-defaults': 'error',
268
- 'jsdoc/require-asterisk-prefix': 'error',
269
- 'jsdoc/require-jsdoc': 'off',
270
- 'jsdoc/require-returns': 'off',
271
- 'jsdoc/sort-tags': 'error',
272
-
273
- ...promisePlugin.configs.recommended.rules,
274
- 'promise/no-multiple-resolved': 'error',
275
-
276
- ...regexpPlugin.configs.recommended.rules,
277
- 'regexp/hexadecimal-escape': ['error', 'never'],
278
- 'regexp/letter-case': 'error',
279
- 'regexp/no-empty-character-class': 'error',
280
- 'regexp/no-extra-lookaround-assertions': 'error',
281
- 'regexp/no-misleading-capturing-group': 'error',
282
- 'regexp/no-misleading-unicode-character': 'error',
283
- 'regexp/no-missing-g-flag': 'error',
284
- 'regexp/no-octal': 'error',
285
- 'regexp/no-standalone-backslash': 'error',
286
- 'regexp/prefer-escape-replacement-dollar-char': 'error',
287
- 'regexp/prefer-named-backreference': 'error',
288
- 'regexp/prefer-named-replacement': 'error',
289
- 'regexp/prefer-quantifier': 'error',
290
- 'regexp/prefer-result-array-groups': 'error',
291
- 'regexp/unicode-escape': 'error',
292
- 'regexp/use-ignore-case': 'error',
293
-
294
- ...sonarjsPlugin.configs.recommended.rules,
295
- 'sonarjs/cognitive-complexity': 'off',
296
- 'sonarjs/max-switch-cases': 'off',
297
- 'sonarjs/no-inverted-boolean-check': 'error',
298
- 'sonarjs/no-nested-template-literals': 'off',
299
- 'sonarjs/no-small-switch': 'off',
300
- 'sonarjs/prefer-immediate-return': 'off',
301
- 'sonarjs/prefer-single-boolean-return': 'off',
302
-
303
- ...unicornPlugin.configs.recommended.rules,
304
- 'unicorn/filename-case': 'off',
305
- 'unicorn/no-null': 'off',
306
- 'unicorn/no-unsafe-regex': 'error',
307
- 'unicorn/prefer-event-target': 'error',
308
- 'unicorn/prevent-abbreviations': 'off',
309
- 'unicorn/require-post-message-target-origin': 'error',
310
- };
@@ -1,226 +0,0 @@
1
- /* eslint sort-keys: "error" -- Organise rules */
2
-
3
- import js from '@eslint/js';
4
- import typescriptPlugin from '@typescript-eslint/eslint-plugin';
5
- import importPlugin from 'eslint-plugin-import';
6
-
7
- export default {
8
- ...js.configs.recommended.rules,
9
- ...importPlugin.configs.typescript.rules,
10
- ...typescriptPlugin.configs['eslint-recommended'].rules,
11
- ...typescriptPlugin.configs.recommended.rules,
12
- ...typescriptPlugin.configs['recommended-requiring-type-checking'].rules,
13
- ...typescriptPlugin.configs.strict.rules,
14
-
15
- // eslint-disable-next-line unicorn/no-useless-spread -- Keeps the unprefixed core rules together
16
- ...{
17
- 'default-param-last': 'off',
18
- 'dot-notation': 'off',
19
- 'lines-between-class-members': 'off',
20
- 'no-array-constructor': 'off',
21
- 'no-dupe-class-members': 'off',
22
- 'no-empty-function': 'off',
23
- 'no-implied-eval': 'off',
24
- 'no-invalid-this': 'off',
25
- 'no-loop-func': 'off',
26
- 'no-loss-of-precision': 'off',
27
- 'no-magic-numbers': 'off',
28
- 'no-redeclare': 'off',
29
- 'no-restricted-imports': 'off',
30
- 'no-return-await': 'off',
31
- 'no-shadow': 'off',
32
- 'no-throw-literal': 'off',
33
- 'no-unused-expressions': 'off',
34
- 'no-unused-vars': 'off',
35
- 'no-use-before-define': 'off',
36
- 'no-useless-constructor': 'off',
37
- 'padding-line-between-statements': 'off',
38
- },
39
-
40
- '@typescript-eslint/adjacent-overload-signatures': 'error',
41
- '@typescript-eslint/array-type': 'error',
42
- '@typescript-eslint/await-thenable': 'error',
43
- '@typescript-eslint/ban-ts-comment': 'error',
44
- '@typescript-eslint/ban-types': 'error',
45
- '@typescript-eslint/class-literal-property-style': 'off', // Breaks subclassed getters
46
- '@typescript-eslint/consistent-indexed-object-style': 'error',
47
- '@typescript-eslint/consistent-type-assertions': [
48
- 'error',
49
- { assertionStyle: 'as', objectLiteralTypeAssertions: 'allow' },
50
- ],
51
- '@typescript-eslint/consistent-type-definitions': ['error', 'interface'],
52
- '@typescript-eslint/consistent-type-exports': ['error', { fixMixedExportsWithInlineTypeSpecifier: true }],
53
- '@typescript-eslint/consistent-type-imports': 'error',
54
- '@typescript-eslint/default-param-last': 'error',
55
- '@typescript-eslint/dot-notation': 'error',
56
- '@typescript-eslint/explicit-function-return-type': ['error', { allowExpressions: true }],
57
- '@typescript-eslint/explicit-member-accessibility': ['error', { overrides: { constructors: 'no-public' } }],
58
- '@typescript-eslint/explicit-module-boundary-types': ['error', { allowArgumentsExplicitlyTypedAsAny: true }],
59
- '@typescript-eslint/member-ordering': 'off',
60
- '@typescript-eslint/method-signature-style': 'error',
61
- '@typescript-eslint/naming-convention': [
62
- 'error',
63
- /* eslint-disable sort-keys -- Logically ordered */
64
- {
65
- selector: 'default',
66
- format: ['camelCase'],
67
- },
68
- {
69
- selector: 'variable',
70
- modifiers: ['const'],
71
- format: ['camelCase', 'PascalCase', 'UPPER_CASE'],
72
- },
73
- {
74
- selector: 'variable',
75
- modifiers: ['const'],
76
- filter: { regex: '^_(static|\\d+)?$', match: true },
77
- format: ['camelCase'],
78
- leadingUnderscore: 'allow',
79
- },
80
- {
81
- selector: 'parameter',
82
- format: ['camelCase'],
83
- leadingUnderscore: 'allow',
84
- },
85
- {
86
- selector: 'property',
87
- format: ['camelCase', 'UPPER_CASE'],
88
- },
89
- {
90
- selector: 'classProperty',
91
- modifiers: ['static'],
92
- format: ['camelCase', 'PascalCase', 'UPPER_CASE'],
93
- },
94
- {
95
- selector: 'enumMember',
96
- format: ['camelCase', 'PascalCase', 'UPPER_CASE'],
97
- },
98
- {
99
- selector: 'function',
100
- format: ['camelCase', 'PascalCase'],
101
- },
102
- {
103
- selector: 'typeLike',
104
- format: ['PascalCase'],
105
- },
106
- {
107
- selector: ['objectLiteralProperty'],
108
- format: [],
109
- },
110
- {
111
- selector: ['classProperty', 'objectLiteralMethod'],
112
- format: ['camelCase', 'UPPER_CASE'],
113
- },
114
- {
115
- selector: 'typeParameter',
116
- format: ['PascalCase'],
117
- custom: { regex: '^([A-Z]|T[A-Z][a-zA-Z]+|key)$', match: true },
118
- },
119
- /* eslint-enable sort-keys -- Logically ordered */
120
- ],
121
- '@typescript-eslint/no-array-constructor': 'error',
122
- '@typescript-eslint/no-base-to-string': 'error',
123
- '@typescript-eslint/no-confusing-non-null-assertion': 'error',
124
- '@typescript-eslint/no-confusing-void-expression': 'error',
125
- '@typescript-eslint/no-dupe-class-members': 'error',
126
- '@typescript-eslint/no-duplicate-imports': 'error',
127
- '@typescript-eslint/no-empty-function': 'error',
128
- '@typescript-eslint/no-empty-interface': ['error', { allowSingleExtends: true }],
129
- '@typescript-eslint/no-explicit-any': 'off',
130
- '@typescript-eslint/no-extra-non-null-assertion': 'error',
131
- '@typescript-eslint/no-extraneous-class': 'error',
132
- '@typescript-eslint/no-floating-promises': 'error',
133
- '@typescript-eslint/no-for-in-array': 'error',
134
- '@typescript-eslint/no-implied-eval': 'error',
135
- '@typescript-eslint/no-inferrable-types': ['error', { ignoreParameters: true }],
136
- '@typescript-eslint/no-invalid-this': 'error',
137
- '@typescript-eslint/no-invalid-void-type': 'error',
138
- '@typescript-eslint/no-loop-func': 'error',
139
- '@typescript-eslint/no-loss-of-precision': 'error',
140
- '@typescript-eslint/no-magic-numbers': [
141
- 'error',
142
- {
143
- detectObjects: true,
144
- enforceConst: true,
145
- ignore: [-1, 0, 1],
146
- ignoreArrayIndexes: true,
147
- ignoreClassFieldInitialValues: true,
148
- ignoreDefaultValues: true,
149
- },
150
- ],
151
- '@typescript-eslint/no-meaningless-void-operator': 'error',
152
- '@typescript-eslint/no-misused-new': 'error',
153
- '@typescript-eslint/no-misused-promises': 'error',
154
- '@typescript-eslint/no-namespace': 'error',
155
- '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error',
156
- '@typescript-eslint/no-non-null-asserted-optional-chain': 'error',
157
- '@typescript-eslint/no-non-null-assertion': 'error',
158
- '@typescript-eslint/no-redeclare': 'error',
159
- '@typescript-eslint/no-require-imports': 'error',
160
- '@typescript-eslint/no-restricted-imports': 'error',
161
- '@typescript-eslint/no-shadow': ['error', { hoist: 'all' }],
162
- '@typescript-eslint/no-this-alias': 'error',
163
- '@typescript-eslint/no-throw-literal': 'error',
164
- '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error',
165
- '@typescript-eslint/no-unnecessary-condition': ['error', { allowConstantLoopConditions: true }],
166
- '@typescript-eslint/no-unnecessary-qualifier': 'error',
167
- '@typescript-eslint/no-unnecessary-type-arguments': 'error',
168
- '@typescript-eslint/no-unnecessary-type-assertion': 'error',
169
- '@typescript-eslint/no-unnecessary-type-constraint': 'error',
170
- '@typescript-eslint/no-unused-expressions': 'error',
171
- '@typescript-eslint/no-unused-vars': [
172
- 'error',
173
- {
174
- argsIgnorePattern: '^_\\w*$',
175
- caughtErrorsIgnorePattern: '^_\\w*$',
176
- varsIgnorePattern: '^(_\\d*|React)$',
177
- },
178
- ],
179
- '@typescript-eslint/no-use-before-define': 'error',
180
- '@typescript-eslint/no-useless-constructor': 'error',
181
- '@typescript-eslint/no-useless-empty-export': 'error',
182
- '@typescript-eslint/no-var-requires': 'error',
183
- '@typescript-eslint/non-nullable-type-assertion-style': 'error',
184
- '@typescript-eslint/padding-line-between-statements': [
185
- 'error',
186
- /* eslint-disable sort-keys -- Logically ordered */
187
- { blankLine: 'always', prev: 'directive', next: '*' },
188
- { blankLine: 'always', prev: 'function', next: 'function' },
189
- { blankLine: 'never', prev: 'interface', next: 'class' },
190
- /* eslint-enable sort-keys -- Logically ordered */
191
- ],
192
- '@typescript-eslint/prefer-as-const': 'error',
193
- '@typescript-eslint/prefer-enum-initializers': 'error',
194
- '@typescript-eslint/prefer-for-of': 'error',
195
- '@typescript-eslint/prefer-function-type': 'error',
196
- '@typescript-eslint/prefer-includes': 'error',
197
- '@typescript-eslint/prefer-literal-enum-member': 'error',
198
- '@typescript-eslint/prefer-namespace-keyword': 'error',
199
- '@typescript-eslint/prefer-nullish-coalescing': [
200
- 'error',
201
- { ignoreConditionalTests: false, ignoreMixedLogicalExpressions: false },
202
- ],
203
- '@typescript-eslint/prefer-optional-chain': 'error',
204
- '@typescript-eslint/prefer-readonly': 'error',
205
- '@typescript-eslint/prefer-reduce-type-parameter': 'error',
206
- '@typescript-eslint/prefer-return-this-type': 'error',
207
- '@typescript-eslint/prefer-string-starts-ends-with': 'error',
208
- '@typescript-eslint/prefer-ts-expect-error': 'error',
209
- '@typescript-eslint/promise-function-async': 'error',
210
- '@typescript-eslint/require-array-sort-compare': 'error',
211
- '@typescript-eslint/restrict-plus-operands': 'error',
212
- '@typescript-eslint/restrict-template-expressions': 'error',
213
- '@typescript-eslint/return-await': 'error',
214
- '@typescript-eslint/strict-boolean-expressions': [
215
- 'error',
216
- { allowNullableObject: false, allowNullableString: false, allowNumber: false, allowString: false },
217
- ],
218
- '@typescript-eslint/switch-exhaustiveness-check': 'error',
219
- '@typescript-eslint/triple-slash-reference': 'error',
220
- '@typescript-eslint/unbound-method': 'off', // Does not support @autobind nor recognise binding in constructors
221
- '@typescript-eslint/unified-signatures': 'error',
222
-
223
- 'jsdoc/no-types': 'error',
224
- 'jsdoc/require-param-type': 'off',
225
- 'jsdoc/require-returns-type': 'off',
226
- };