@enormora/eslint-config-base 0.0.62 → 0.0.64

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,725 +1,7 @@
1
- import arrayFunctionPlugin from 'eslint-plugin-array-func';
2
- import noBarrelFiles from 'eslint-plugin-no-barrel-files';
3
- import promisePlugin from 'eslint-plugin-promise';
4
- import * as regexpPlugin from 'eslint-plugin-regexp';
5
- import sonarjsPlugin from 'eslint-plugin-sonarjs';
6
- import unicornPlugin from 'eslint-plugin-unicorn';
7
- const maxSwitchCases = 6;
8
- export const bestPracticesRuleSet = {
9
- plugins: {
10
- unicorn: unicornPlugin,
11
- promise: promisePlugin,
12
- 'array-func': arrayFunctionPlugin,
13
- sonarjs: sonarjsPlugin,
14
- 'no-barrel-files': noBarrelFiles,
15
- regexp: regexpPlugin
16
- },
17
- settings: {},
18
- rules: {
19
- 'unicorn/string-content': 'off',
20
- 'unicorn/consistent-template-literal-escape': 'error',
21
- 'unicorn/prefer-string-trim-start-end': 'error',
22
- 'unicorn/prefer-set-has': 'error',
23
- 'unicorn/prefer-string-replace-all': 'error',
24
- 'unicorn/prefer-number-properties': ['error', { checkInfinity: true, checkNaN: true }],
25
- 'unicorn/prefer-negative-index': 'error',
26
- 'unicorn/prefer-modern-dom-apis': 'off',
27
- 'unicorn/no-null': 'off',
28
- 'unicorn/catch-error-name': 'error',
29
- 'unicorn/consistent-function-scoping': 'off',
30
- 'unicorn/custom-error-definition': 'error',
31
- 'unicorn/error-message': 'error',
32
- 'unicorn/escape-case': 'error',
33
- 'unicorn/expiring-todo-comments': 'error',
34
- 'unicorn/explicit-length-check': 'error',
35
- 'unicorn/no-useless-length-check': 'error',
36
- 'unicorn/filename-case': 'off',
37
- 'unicorn/no-immediate-mutation': 'error',
38
- 'unicorn/new-for-builtins': 'error',
39
- 'unicorn/no-abusive-eslint-disable': 'error',
40
- 'unicorn/no-console-spaces': 'error',
41
- 'unicorn/no-array-callback-reference': 'off',
42
- 'unicorn/no-for-loop': 'error',
43
- 'unicorn/no-keyword-prefix': 'off',
44
- 'unicorn/no-nested-ternary': 'off',
45
- 'unicorn/no-new-buffer': 'error',
46
- 'unicorn/no-process-exit': 'error',
47
- 'unicorn/no-unreadable-array-destructuring': 'error',
48
- 'unicorn/no-unused-properties': 'error',
49
- 'unicorn/no-zero-fractions': 'error',
50
- 'unicorn/number-literal-case': 'error',
51
- 'unicorn/prefer-add-event-listener': 'error',
52
- 'unicorn/prefer-keyboard-event-key': 'error',
53
- 'unicorn/prefer-array-flat-map': 'error',
54
- 'unicorn/prefer-includes': 'error',
55
- 'unicorn/prefer-dom-node-append': 'error',
56
- 'unicorn/prefer-dom-node-remove': 'error',
57
- 'unicorn/prefer-query-selector': 'error',
58
- 'unicorn/prefer-reflect-apply': 'error',
59
- 'unicorn/prefer-spread': 'off',
60
- 'unicorn/prefer-string-starts-ends-with': 'error',
61
- 'unicorn/prefer-string-slice': 'error',
62
- 'unicorn/prefer-dom-node-text-content': 'error',
63
- 'unicorn/prefer-type-error': 'error',
64
- 'unicorn/name-replacements': 'off',
65
- 'unicorn/throw-new-error': 'error',
66
- 'unicorn/no-array-reduce': 'off',
67
- 'unicorn/no-useless-undefined': 'off',
68
- 'unicorn/prefer-optional-catch-binding': 'error',
69
- 'unicorn/no-object-as-default-parameter': 'off',
70
- 'unicorn/prefer-array-find': 'error',
71
- 'unicorn/import-style': 'off',
72
- 'unicorn/numeric-separators-style': 'error',
73
- 'unicorn/prefer-math-trunc': 'error',
74
- 'unicorn/prefer-ternary': 'error',
75
- 'unicorn/prefer-array-some': 'error',
76
- 'unicorn/prefer-default-parameters': 'error',
77
- 'unicorn/no-lonely-if': 'error',
78
- 'unicorn/empty-brace-spaces': 'off',
79
- 'unicorn/prefer-date-now': 'error',
80
- 'unicorn/consistent-destructuring': 'off',
81
- 'unicorn/no-new-array': 'error',
82
- 'unicorn/no-this-assignment': 'error',
83
- 'unicorn/prefer-array-index-of': 'error',
84
- 'unicorn/prefer-regexp-test': 'error',
85
- 'unicorn/no-static-only-class': 'error',
86
- 'unicorn/prefer-array-flat': 'error',
87
- 'unicorn/prefer-module': 'off',
88
- 'unicorn/prefer-node-protocol': 'error',
89
- 'unicorn/prefer-switch': 'off',
90
- 'unicorn/no-document-cookie': 'off',
91
- 'unicorn/require-array-join-separator': 'off',
92
- 'unicorn/require-number-to-fixed-digits-argument': 'off',
93
- 'unicorn/prefer-prototype-methods': 'off',
94
- 'unicorn/no-array-method-this-argument': 'off',
95
- 'unicorn/require-post-message-target-origin': 'error',
96
- 'unicorn/no-useless-spread': 'error',
97
- 'unicorn/prefer-object-from-entries': 'error',
98
- 'unicorn/no-useless-fallback-in-spread': 'error',
99
- 'unicorn/no-invalid-remove-event-listener': 'off',
100
- 'unicorn/template-indent': 'error',
101
- 'unicorn/no-empty-file': 'error',
102
- 'unicorn/prefer-export-from': 'error',
103
- 'unicorn/no-await-expression-member': 'error',
104
- 'unicorn/prefer-code-point': 'error',
105
- 'unicorn/no-thenable': 'off',
106
- 'unicorn/no-barrel-files': 'off',
107
- 'unicorn/no-useless-promise-resolve-reject': 'error',
108
- 'unicorn/relative-url-style': 'off',
109
- 'unicorn/text-encoding-identifier-case': 'off',
110
- 'unicorn/no-useless-switch-case': 'error',
111
- 'unicorn/prefer-modern-math-apis': 'error',
112
- 'unicorn/no-unreadable-iife': 'error',
113
- 'unicorn/prefer-native-coercion-functions': 'error',
114
- 'unicorn/prefer-event-target': 'off',
115
- 'unicorn/prefer-logical-operator-over-ternary': 'off',
116
- 'unicorn/no-unnecessary-await': 'error',
117
- 'unicorn/switch-case-braces': 'off',
118
- 'unicorn/no-negated-condition': 'error',
119
- 'unicorn/no-typeof-undefined': 'error',
120
- 'unicorn/prefer-set-size': 'error',
121
- 'unicorn/prefer-blob-reading-methods': 'error',
122
- 'unicorn/prefer-top-level-await': 'off',
123
- 'unicorn/prefer-at': 'error',
124
- 'unicorn/no-unnecessary-polyfills': 'off',
125
- 'unicorn/no-single-promise-in-promise-methods': 'error',
126
- 'unicorn/no-await-in-promise-methods': 'error',
127
- 'unicorn/no-anonymous-default-export': 'error',
128
- 'unicorn/consistent-empty-array-spread': 'error',
129
- 'unicorn/no-invalid-fetch-options': 'error',
130
- 'unicorn/no-magic-array-flat-depth': 'error',
131
- 'unicorn/no-negation-in-equality-check': 'error',
132
- 'unicorn/prefer-string-raw': 'off',
133
- 'unicorn/prefer-structured-clone': 'error',
134
- 'unicorn/consistent-existence-index-check': 'error',
135
- 'unicorn/prefer-global-this': 'error',
136
- 'unicorn/prefer-math-min-max': 'error',
137
- 'unicorn/consistent-assert': 'error',
138
- 'unicorn/consistent-date-clone': 'error',
139
- 'unicorn/no-accessor-recursion': 'error',
140
- 'unicorn/no-array-reverse': 'error',
141
- 'unicorn/no-array-sort': 'error',
142
- 'unicorn/no-instanceof-builtins': 'error',
143
- 'unicorn/no-named-default': 'error',
144
- 'unicorn/no-unnecessary-array-flat-depth': 'error',
145
- 'unicorn/no-unnecessary-array-splice-count': 'error',
146
- 'unicorn/no-unnecessary-slice-end': 'error',
147
- 'unicorn/no-useless-iterator-to-array': 'error',
148
- 'unicorn/no-useless-error-capture-stack-trace': 'error',
149
- 'unicorn/prefer-bigint-literals': 'error',
150
- 'unicorn/prefer-class-fields': 'error',
151
- 'unicorn/prefer-classlist-toggle': 'error',
152
- 'unicorn/prefer-import-meta-properties': 'off',
153
- 'unicorn/prefer-simple-condition-first': 'error',
154
- 'unicorn/prefer-single-call': 'error',
155
- 'unicorn/require-module-attributes': 'error',
156
- 'unicorn/require-module-specifiers': 'error',
157
- 'unicorn/no-useless-collection-argument': 'error',
158
- 'unicorn/prefer-response-static-json': 'error',
159
- 'unicorn/consistent-conditional-object-spread': ['error', 'ternary'],
160
- 'unicorn/consistent-tuple-labels': 'error',
161
- 'unicorn/default-export-style': 'off',
162
- 'unicorn/no-accidental-bitwise-operator': 'error',
163
- 'unicorn/no-array-concat-in-loop': 'error',
164
- 'unicorn/no-array-front-mutation': 'error',
165
- 'unicorn/no-array-sort-for-min-max': 'error',
166
- 'unicorn/no-async-promise-finally': 'error',
167
- 'unicorn/no-boolean-sort-comparator': 'error',
168
- 'unicorn/no-chained-comparison': 'error',
169
- 'unicorn/no-collection-bracket-access': 'error',
170
- 'unicorn/no-constant-zero-expression': 'error',
171
- 'unicorn/no-double-comparison': 'error',
172
- 'unicorn/no-duplicate-if-branches': 'error',
173
- 'unicorn/no-duplicate-logical-operands': 'error',
174
- 'unicorn/no-impossible-length-comparison': 'error',
175
- 'unicorn/no-invalid-character-comparison': 'error',
176
- 'unicorn/no-invalid-well-known-symbol-methods': 'error',
177
- 'unicorn/no-loop-iterable-mutation': 'error',
178
- 'unicorn/no-misrefactored-assignment': 'error',
179
- 'unicorn/no-nonstandard-builtin-properties': 'error',
180
- 'unicorn/no-unnecessary-array-flat-map': 'error',
181
- 'unicorn/no-unnecessary-boolean-comparison': 'error',
182
- 'unicorn/no-unnecessary-fetch-options': 'error',
183
- 'unicorn/no-unsafe-promise-all-settled-values': 'error',
184
- 'unicorn/no-useless-compound-assignment': 'error',
185
- 'unicorn/no-useless-delete-check': 'error',
186
- 'unicorn/no-useless-logical-operand': 'error',
187
- 'unicorn/no-xor-as-exponentiation': 'error',
188
- 'unicorn/prefer-abort-signal-any': 'error',
189
- 'unicorn/prefer-abort-signal-timeout': 'error',
190
- 'unicorn/prefer-aggregate-error': 'error',
191
- 'unicorn/prefer-array-from-async': 'error',
192
- 'unicorn/prefer-array-from-range': 'error',
193
- 'unicorn/prefer-array-iterable-methods': 'error',
194
- 'unicorn/prefer-block-statement-over-iife': 'error',
195
- 'unicorn/prefer-boolean-return': 'off',
196
- 'unicorn/prefer-continue': 'error',
197
- 'unicorn/prefer-error-is-error': 'off',
198
- 'unicorn/prefer-flat-math-min-max': 'error',
199
- 'unicorn/prefer-group-by': 'off',
200
- 'unicorn/prefer-hoisting-branch-code': 'error',
201
- 'unicorn/prefer-iterator-helpers': 'off',
202
- 'unicorn/prefer-math-constants': 'error',
203
- 'unicorn/prefer-promise-try': 'off',
204
- 'unicorn/prefer-promise-with-resolvers': 'off',
205
- 'unicorn/prefer-regexp-escape': 'off',
206
- 'unicorn/prefer-set-methods': 'off',
207
- 'unicorn/prefer-simplified-conditions': 'error',
208
- 'unicorn/prefer-single-replace': 'error',
209
- 'unicorn/prefer-unary-minus': 'error',
210
- 'unicorn/prefer-url-can-parse': 'error',
211
- 'unicorn/prefer-url-search-parameters': 'error',
212
- 'unicorn/prefer-while-loop-condition': 'error',
213
- 'unicorn/isolated-functions': 'off',
214
- 'unicorn/switch-case-break-position': 'error',
215
- 'unicorn/class-reference-in-static-methods': 'error',
216
- 'unicorn/comment-content': 'off',
217
- 'unicorn/consistent-boolean-name': 'off',
218
- 'unicorn/consistent-class-member-order': 'off',
219
- 'unicorn/consistent-compound-words': 'error',
220
- 'unicorn/consistent-export-decorator-position': 'error',
221
- 'unicorn/consistent-arrow-return-style': 'error',
222
- 'unicorn/consistent-function-style': 'off',
223
- 'unicorn/consistent-json-file-read': 'error',
224
- 'unicorn/consistent-optional-chaining': 'error',
225
- 'unicorn/explicit-timer-delay': 'error',
226
- 'unicorn/id-match': 'off',
227
- 'unicorn/iteration-fallback-style': 'error',
228
- 'unicorn/logical-assignment-operators': 'off',
229
- 'unicorn/max-nested-calls': 'off',
230
- 'unicorn/no-array-fill-with-reference-type': 'error',
231
- 'unicorn/no-array-from-fill': 'error',
232
- 'unicorn/no-array-splice': 'error',
233
- 'unicorn/no-asterisk-prefix-in-documentation-comments': 'off',
234
- 'unicorn/no-break-in-nested-loop': 'error',
235
- 'unicorn/no-computed-property-existence-check': 'error',
236
- 'unicorn/no-confusing-array-splice': 'error',
237
- 'unicorn/no-confusing-array-with': 'error',
238
- 'unicorn/no-declarations-before-early-exit': 'off',
239
- 'unicorn/no-duplicate-loops': 'error',
240
- 'unicorn/no-duplicate-set-values': 'error',
241
- 'unicorn/no-error-property-assignment': 'error',
242
- 'unicorn/no-exports-in-scripts': 'error',
243
- 'unicorn/no-for-each': 'off',
244
- 'unicorn/no-global-object-property-assignment': 'error',
245
- 'unicorn/no-incorrect-template-string-interpolation': 'off',
246
- 'unicorn/no-invalid-argument-count': 'error',
247
- 'unicorn/no-manually-wrapped-comments': 'off',
248
- 'unicorn/no-mismatched-map-key': 'error',
249
- 'unicorn/no-negated-array-predicate': 'error',
250
- 'unicorn/no-negated-comparison': 'error',
251
- 'unicorn/no-non-function-verb-prefix': 'off',
252
- 'unicorn/no-object-methods-with-collections': 'error',
253
- 'unicorn/no-optional-chaining-on-undeclared-variable': 'error',
254
- 'unicorn/no-redundant-comparison': 'error',
255
- 'unicorn/no-return-array-push': 'error',
256
- 'unicorn/no-subtraction-comparison': 'error',
257
- 'unicorn/no-this-outside-of-class': 'error',
258
- 'unicorn/no-top-level-assignment-in-function': 'error',
259
- 'unicorn/no-top-level-side-effects': 'off',
260
- 'unicorn/no-uncalled-method': 'error',
261
- 'unicorn/no-undeclared-class-members': 'error',
262
- 'unicorn/no-unnecessary-global-this': 'error',
263
- 'unicorn/no-unnecessary-nested-ternary': 'error',
264
- 'unicorn/no-unnecessary-splice': 'error',
265
- 'unicorn/no-unreadable-for-of-expression': 'error',
266
- 'unicorn/no-unreadable-new-expression': 'error',
267
- 'unicorn/no-unreadable-object-destructuring': 'error',
268
- 'unicorn/no-unsafe-buffer-conversion': 'error',
269
- 'unicorn/no-unsafe-property-key': 'error',
270
- 'unicorn/no-unsafe-sqlite-interpolation': 'off',
271
- 'unicorn/no-unsafe-string-replacement': 'error',
272
- 'unicorn/no-unused-array-method-return': 'error',
273
- 'unicorn/no-useless-boolean-cast': 'error',
274
- 'unicorn/no-useless-coercion': 'error',
275
- 'unicorn/no-useless-concat': 'error',
276
- 'unicorn/no-useless-continue': 'error',
277
- 'unicorn/no-useless-else': 'error',
278
- 'unicorn/no-useless-override': 'error',
279
- 'unicorn/no-useless-recursion': 'off',
280
- 'unicorn/no-useless-template-literals': 'error',
281
- 'unicorn/operator-assignment': 'off',
282
- 'unicorn/prefer-array-from-map': 'error',
283
- 'unicorn/prefer-array-last-methods': 'error',
284
- 'unicorn/prefer-array-slice': 'error',
285
- 'unicorn/prefer-await': 'off',
286
- 'unicorn/prefer-direct-iteration': 'error',
287
- 'unicorn/prefer-dispose': 'off',
288
- 'unicorn/prefer-early-return': 'off',
289
- 'unicorn/prefer-else-if': 'error',
290
- 'unicorn/prefer-get-or-insert-computed': 'off',
291
- 'unicorn/prefer-global-number-constants': 'off',
292
- 'unicorn/prefer-has-check': 'error',
293
- 'unicorn/prefer-https': 'error',
294
- 'unicorn/prefer-identifier-import-export-specifiers': 'error',
295
- 'unicorn/prefer-includes-over-repeated-comparisons': 'error',
296
- 'unicorn/prefer-iterable-in-constructor': 'error',
297
- 'unicorn/prefer-iterator-concat': 'off',
298
- 'unicorn/prefer-iterator-to-array': 'error',
299
- 'unicorn/prefer-iterator-to-array-at-end': 'error',
300
- 'unicorn/prefer-map-from-entries': 'error',
301
- 'unicorn/prefer-math-abs': 'error',
302
- 'unicorn/prefer-minimal-ternary': 'error',
303
- 'unicorn/prefer-number-coercion': 'off',
304
- 'unicorn/prefer-number-is-safe-integer': 'error',
305
- 'unicorn/prefer-object-define-properties': 'error',
306
- 'unicorn/prefer-object-destructuring-defaults': 'error',
307
- 'unicorn/prefer-object-iterable-methods': 'error',
308
- 'unicorn/prefer-private-class-fields': 'off',
309
- 'unicorn/prefer-queue-microtask': 'error',
310
- 'unicorn/prefer-short-arrow-method': 'off',
311
- 'unicorn/prefer-simple-sort-comparator': 'error',
312
- 'unicorn/prefer-single-array-predicate': 'error',
313
- 'unicorn/prefer-single-object-destructuring': 'error',
314
- 'unicorn/prefer-smaller-scope': 'error',
315
- 'unicorn/prefer-split-limit': 'error',
316
- 'unicorn/prefer-string-match-all': 'error',
317
- 'unicorn/prefer-string-pad-start-end': 'error',
318
- 'unicorn/prefer-string-repeat': 'error',
319
- 'unicorn/prefer-temporal': 'off',
320
- 'unicorn/prefer-type-literal-last': 'error',
321
- 'unicorn/prefer-uint8array-base64': 'off',
322
- 'unicorn/prefer-unicode-code-point-escapes': 'error',
323
- 'unicorn/prefer-url-href': 'error',
324
- 'unicorn/require-array-sort-compare': 'error',
325
- 'unicorn/require-proxy-trap-boolean-return': 'error',
326
- 'unicorn/try-complexity': 'error',
327
- 'unicorn/no-missing-local-resource': 'off',
328
- 'unicorn/no-multiple-promise-resolver-calls': 'error',
329
- 'unicorn/no-shorthand-property-overrides': 'off',
330
- 'unicorn/no-transition-all': 'off',
331
- 'unicorn/no-unnecessary-string-trim': 'error',
332
- 'unicorn/no-useless-re-export': 'error',
333
- 'unicorn/prefer-explicit-viewport-units': 'off',
334
- 'unicorn/prefer-then-catch': 'error',
335
- 'unicorn/require-frontmatter-fields': 'off',
336
- 'unicorn/single-line-block-comment-style': 'error',
337
- 'array-func/from-map': 'error',
338
- 'array-func/no-unnecessary-this-arg': 'error',
339
- 'array-func/prefer-array-from': 'error',
340
- 'array-func/avoid-reverse': 'error',
341
- 'array-func/prefer-flat-map': 'error',
342
- 'array-func/prefer-flat': 'error',
343
- 'sonarjs/anchor-precedence': 'error',
344
- 'sonarjs/argument-type': 'error',
345
- 'sonarjs/arguments-order': 'error',
346
- 'sonarjs/arguments-usage': 'off',
347
- 'sonarjs/array-callback-without-return': 'off',
348
- 'sonarjs/array-constructor': 'off',
349
- 'sonarjs/arrow-function-convention': 'off',
350
- 'sonarjs/assertions-in-test-cases': 'off',
351
- 'sonarjs/assertions-in-tests': 'off',
352
- 'sonarjs/async-test-assertions': 'off',
353
- 'sonarjs/aws-apigateway-public-api': 'off',
354
- 'sonarjs/aws-ec2-rds-dms-public': 'off',
355
- 'sonarjs/aws-ec2-unencrypted-ebs-volume': 'off',
356
- 'sonarjs/aws-efs-unencrypted': 'off',
357
- 'sonarjs/aws-iam-all-privileges': 'off',
358
- 'sonarjs/aws-iam-all-resources-accessible': 'off',
359
- 'sonarjs/aws-iam-privilege-escalation': 'off',
360
- 'sonarjs/aws-iam-public-access': 'off',
361
- 'sonarjs/aws-opensearchservice-domain': 'off',
362
- 'sonarjs/aws-rds-unencrypted-databases': 'off',
363
- 'sonarjs/aws-restricted-ip-admin-access': 'off',
364
- 'sonarjs/aws-s3-bucket-granted-access': 'off',
365
- 'sonarjs/aws-s3-bucket-insecure-http': 'off',
366
- 'sonarjs/aws-s3-bucket-public-access': 'off',
367
- 'sonarjs/aws-s3-bucket-versioning': 'off',
368
- 'sonarjs/aws-sagemaker-unencrypted-notebook': 'off',
369
- 'sonarjs/aws-sns-unencrypted-topics': 'off',
370
- 'sonarjs/aws-sqs-unencrypted-queue': 'off',
371
- 'sonarjs/bitwise-operators': 'off',
372
- 'sonarjs/block-scoped-var': 'off',
373
- 'sonarjs/bool-param-default': 'off',
374
- 'sonarjs/call-argument-line': 'error',
375
- 'sonarjs/chai-determinate-assertion': 'off',
376
- 'sonarjs/class-name': 'error',
377
- 'sonarjs/class-prototype': 'off',
378
- 'sonarjs/code-eval': 'off',
379
- 'sonarjs/cognitive-complexity': 'off',
380
- 'sonarjs/comma-or-logical-or-case': 'error',
381
- 'sonarjs/comment-regex': 'off',
382
- 'sonarjs/concise-regex': 'error',
383
- 'sonarjs/constructor-for-side-effects': 'error',
384
- 'sonarjs/content-length': 'off',
385
- 'sonarjs/content-security-policy': 'off',
386
- 'sonarjs/cookie-no-httponly': 'off',
387
- 'sonarjs/cors': 'off',
388
- 'sonarjs/csrf': 'off',
389
- 'sonarjs/cyclomatic-complexity': 'off',
390
- 'sonarjs/declarations-in-global-scope': 'off',
391
- 'sonarjs/deprecation': 'error',
392
- 'sonarjs/destructuring-assignment-syntax': 'off',
393
- 'sonarjs/different-types-comparison': 'error',
394
- 'sonarjs/disabled-auto-escaping': 'off',
395
- 'sonarjs/disabled-resource-integrity': 'off',
396
- 'sonarjs/disabled-timeout': 'off',
397
- 'sonarjs/dompurify-unsafe-config': 'off',
398
- 'sonarjs/duplicates-in-character-class': 'error',
399
- 'sonarjs/dynamically-constructed-templates': 'off',
400
- 'sonarjs/elseif-without-else': 'off',
401
- 'sonarjs/empty-string-repetition': 'error',
402
- 'sonarjs/encryption-secure-mode': 'off',
403
- 'sonarjs/existing-groups': 'error',
404
- 'sonarjs/explicit-test-skip': 'off',
405
- 'sonarjs/expression-complexity': 'off',
406
- 'sonarjs/file-header': 'off',
407
- 'sonarjs/file-name-differ-from-class': 'off',
408
- 'sonarjs/file-permissions': 'off',
409
- 'sonarjs/file-uploads': 'off',
410
- 'sonarjs/fixme-tag': 'off',
411
- 'sonarjs/for-in': 'off',
412
- 'sonarjs/for-loop-increment-sign': 'error',
413
- 'sonarjs/function-inside-loop': 'off',
414
- 'sonarjs/function-name': 'off',
415
- 'sonarjs/function-return-type': 'error',
416
- 'sonarjs/future-reserved-words': 'error',
417
- 'sonarjs/generator-without-yield': 'off',
418
- 'sonarjs/hardcoded-secret-signatures': 'error',
419
- 'sonarjs/hashing': 'off',
420
- 'sonarjs/hooks-before-test-cases': 'off',
421
- 'sonarjs/in-operator-type-error': 'error',
422
- 'sonarjs/inconsistent-function-call': 'error',
423
- 'sonarjs/index-of-compare-to-positive-number': 'error',
424
- 'sonarjs/insecure-cookie': 'off',
425
- 'sonarjs/insecure-jwt-token': 'off',
426
- 'sonarjs/inverted-assertion-arguments': 'off',
427
- 'sonarjs/jsx-no-leaked-render': 'off',
428
- 'sonarjs/label-position': 'off',
429
- 'sonarjs/link-with-target-blank': 'off',
430
- 'sonarjs/max-lines': 'off',
431
- 'sonarjs/max-lines-per-function': 'off',
432
- 'sonarjs/max-switch-cases': ['error', maxSwitchCases],
433
- 'sonarjs/max-union-size': 'off',
434
- 'sonarjs/memoize-cache-key': 'off',
435
- 'sonarjs/misplaced-loop-counter': 'error',
436
- 'sonarjs/nested-control-flow': 'off',
437
- 'sonarjs/new-operator-misuse': 'error',
438
- 'sonarjs/no-all-duplicated-branches': 'error',
439
- 'sonarjs/no-alphabetical-sort': 'error',
440
- 'sonarjs/no-angular-bypass-sanitization': 'off',
441
- 'sonarjs/no-array-delete': 'error',
442
- 'sonarjs/no-associative-arrays': 'error',
443
- 'sonarjs/no-async-constructor': 'error',
444
- 'sonarjs/no-built-in-override': 'off',
445
- 'sonarjs/no-case-label-in-switch': 'error',
446
- 'sonarjs/no-clear-text-protocols': 'off',
447
- 'sonarjs/no-code-after-done': 'off',
448
- 'sonarjs/no-collapsible-if': 'error',
449
- 'sonarjs/no-collection-size-mischeck': 'error',
450
- 'sonarjs/no-commented-code': 'off',
451
- 'sonarjs/no-control-regex': 'off',
452
- 'sonarjs/no-dead-store': 'off',
453
- 'sonarjs/no-debug-commands-in-ui-tests': 'off',
454
- 'sonarjs/no-default-utility-imports': 'off',
455
- 'sonarjs/no-delete-var': 'off',
456
- 'sonarjs/no-duplicate-in-composite': 'off',
457
- 'sonarjs/no-duplicate-string': 'off',
458
- 'sonarjs/no-duplicate-test-title': 'off',
459
- 'sonarjs/no-duplicated-branches': 'error',
460
- 'sonarjs/no-element-overwrite': 'error',
461
- 'sonarjs/no-empty-after-reluctant': 'error',
462
- 'sonarjs/no-empty-alternatives': 'error',
463
- 'sonarjs/no-empty-character-class': 'off',
464
- 'sonarjs/no-empty-collection': 'error',
465
- 'sonarjs/no-empty-group': 'error',
466
- 'sonarjs/no-empty-test-file': 'off',
467
- 'sonarjs/no-empty-test-title': 'off',
468
- 'sonarjs/no-equals-in-for-termination': 'error',
469
- 'sonarjs/no-exclusive-tests': 'off',
470
- 'sonarjs/no-extra-arguments': 'off',
471
- 'sonarjs/no-fallthrough': 'off',
472
- 'sonarjs/no-fixed-wait-in-tests': 'off',
473
- 'sonarjs/no-floating-point-equality': 'error',
474
- 'sonarjs/no-for-in-iterable': 'off',
475
- 'sonarjs/no-forced-browser-interaction': 'off',
476
- 'sonarjs/no-function-declaration-in-block': 'off',
477
- 'sonarjs/no-global-this': 'error',
478
- 'sonarjs/no-globals-shadowing': 'off',
479
- 'sonarjs/no-gratuitous-expressions': 'error',
480
- 'sonarjs/no-hardcoded-ip': 'error',
481
- 'sonarjs/no-hardcoded-passwords': 'error',
482
- 'sonarjs/no-hardcoded-secrets': 'error',
483
- 'sonarjs/no-hook-setter-in-body': 'off',
484
- 'sonarjs/no-identical-conditions': 'error',
485
- 'sonarjs/no-identical-expressions': 'error',
486
- 'sonarjs/no-identical-functions': 'error',
487
- 'sonarjs/no-ignored-exceptions': 'error',
488
- 'sonarjs/no-ignored-return': 'error',
489
- 'sonarjs/no-implicit-dependencies': 'off',
490
- 'sonarjs/no-implicit-global': 'off',
491
- 'sonarjs/no-in-misuse': 'error',
492
- 'sonarjs/no-incompatible-assertion-types': 'off',
493
- 'sonarjs/no-incomplete-assertions': 'off',
494
- 'sonarjs/no-inconsistent-returns': 'off',
495
- 'sonarjs/no-incorrect-string-concat': 'off',
496
- 'sonarjs/no-internal-api-use': 'error',
497
- 'sonarjs/no-interpolation-in-inline-snapshots': 'off',
498
- 'sonarjs/no-invalid-regexp': 'off',
499
- 'sonarjs/no-invariant-returns': 'error',
500
- 'sonarjs/no-inverted-boolean-check': 'error',
501
- 'sonarjs/no-labels': 'off',
502
- 'sonarjs/no-literal-call': 'error',
503
- 'sonarjs/no-mime-sniff': 'off',
504
- 'sonarjs/no-misleading-array-reverse': 'error',
505
- 'sonarjs/no-misleading-character-class': 'off',
506
- 'sonarjs/no-mixed-completion-style': 'off',
507
- 'sonarjs/no-nested-assignment': 'error',
508
- 'sonarjs/no-nested-conditional': 'off',
509
- 'sonarjs/no-nested-functions': 'error',
510
- 'sonarjs/no-nested-incdec': 'off',
511
- 'sonarjs/no-nested-switch': 'error',
512
- 'sonarjs/no-nested-template-literals': 'error',
513
- 'sonarjs/no-os-command-from-path': 'off',
514
- 'sonarjs/no-parameter-reassignment': 'error',
515
- 'sonarjs/no-primitive-wrappers': 'off',
516
- 'sonarjs/no-redundant-assignments': 'error',
517
- 'sonarjs/no-redundant-boolean': 'off',
518
- 'sonarjs/no-redundant-jump': 'off',
519
- 'sonarjs/no-redundant-optional': 'error',
520
- 'sonarjs/no-reference-error': 'off',
521
- 'sonarjs/no-referrer-policy': 'off',
522
- 'sonarjs/no-regex-spaces': 'off',
523
- 'sonarjs/no-require-or-define': 'off',
524
- 'sonarjs/no-return-type-any': 'off',
525
- 'sonarjs/no-same-argument-assert': 'off',
526
- 'sonarjs/no-same-line-conditional': 'error',
527
- 'sonarjs/no-selector-parameter': 'error',
528
- 'sonarjs/no-session-cookies-on-static-assets': 'off',
529
- 'sonarjs/no-skipped-tests': 'off',
530
- 'sonarjs/no-small-switch': 'error',
531
- 'sonarjs/no-sonar-comments': 'off',
532
- 'sonarjs/no-table-as-layout': 'off',
533
- 'sonarjs/no-trivial-assertions': 'off',
534
- 'sonarjs/no-try-promise': 'error',
535
- 'sonarjs/no-undefined-argument': 'error',
536
- 'sonarjs/no-undefined-assignment': 'off',
537
- 'sonarjs/no-unenclosed-multiline-block': 'off',
538
- 'sonarjs/no-uniq-key': 'off',
539
- 'sonarjs/no-unthrown-error': 'error',
540
- 'sonarjs/no-unused-collection': 'error',
541
- 'sonarjs/no-unused-function-argument': 'off',
542
- 'sonarjs/no-unused-vars': 'off',
543
- 'sonarjs/no-use-of-empty-return-value': 'error',
544
- 'sonarjs/no-useless-catch': 'off',
545
- 'sonarjs/no-useless-increment': 'off',
546
- 'sonarjs/no-useless-intersection': 'error',
547
- 'sonarjs/no-useless-react-setstate': 'off',
548
- 'sonarjs/no-variable-usage-before-declaration': 'off',
549
- 'sonarjs/no-weak-cipher': 'off',
550
- 'sonarjs/no-weak-keys': 'off',
551
- 'sonarjs/no-wildcard-import': 'off',
552
- 'sonarjs/non-existent-operator': 'error',
553
- 'sonarjs/non-number-in-arithmetic-expression': 'off',
554
- 'sonarjs/null-dereference': 'error',
555
- 'sonarjs/object-alt-content': 'off',
556
- 'sonarjs/operation-returning-nan': 'off',
557
- 'sonarjs/parameterized-tests': 'off',
558
- 'sonarjs/post-message': 'off',
559
- 'sonarjs/prefer-default-last': 'off',
560
- 'sonarjs/prefer-immediate-return': 'off',
561
- 'sonarjs/prefer-native-lodash-alternative': 'off',
562
- 'sonarjs/prefer-object-literal': 'off',
563
- 'sonarjs/prefer-promise-shorthand': 'error',
564
- 'sonarjs/prefer-read-only-props': 'off',
565
- 'sonarjs/prefer-regexp-exec': 'error',
566
- 'sonarjs/prefer-single-boolean-return': 'error',
567
- 'sonarjs/prefer-specific-assertions': 'off',
568
- 'sonarjs/prefer-type-guard': 'error',
569
- 'sonarjs/prefer-while': 'error',
570
- 'sonarjs/production-debug': 'off',
571
- 'sonarjs/pseudo-random': 'error',
572
- 'sonarjs/public-static-readonly': 'error',
573
- 'sonarjs/publicly-writable-directories': 'off',
574
- 'sonarjs/reduce-initial-value': 'error',
575
- 'sonarjs/redundant-type-aliases': 'error',
576
- 'sonarjs/regex-complexity': 'error',
577
- 'sonarjs/review-blockchain-mnemonic': 'off',
578
- 'sonarjs/session-regeneration': 'off',
579
- 'sonarjs/shorthand-property-grouping': 'off',
580
- 'sonarjs/single-char-in-character-classes': 'error',
581
- 'sonarjs/single-character-alternation': 'error',
582
- // regexp/no-super-linear-backtracking subsumes this with a sound NFA-based analysis
583
- // (sonarjs is heuristic); see the regexp/* block below.
584
- 'sonarjs/slow-regex': 'off',
585
- 'sonarjs/sql-queries': 'off',
586
- 'sonarjs/stable-tests': 'off',
587
- 'sonarjs/stateful-regex': 'error',
588
- 'sonarjs/strict-transport-security': 'off',
589
- 'sonarjs/strings-comparison': 'off',
590
- 'sonarjs/super-linear-regex': 'error',
591
- 'sonarjs/synchronous-suite-callback': 'off',
592
- 'sonarjs/table-header': 'off',
593
- 'sonarjs/table-header-reference': 'off',
594
- 'sonarjs/test-check-exception': 'off',
595
- 'sonarjs/todo-tag': 'off',
596
- 'sonarjs/too-many-break-or-continue-in-loop': 'off',
597
- 'sonarjs/unicode-aware-regex': 'off',
598
- 'sonarjs/unused-import': 'off',
599
- 'sonarjs/unused-named-groups': 'error',
600
- 'sonarjs/unverified-certificate': 'off',
601
- 'sonarjs/unverified-hostname': 'off',
602
- 'sonarjs/updated-const-var': 'off',
603
- 'sonarjs/updated-loop-counter': 'error',
604
- 'sonarjs/use-type-alias': 'error',
605
- 'sonarjs/values-not-convertible-to-numbers': 'off',
606
- 'sonarjs/variable-name': 'off',
607
- 'sonarjs/void-use': 'off',
608
- 'sonarjs/weak-ssl': 'off',
609
- 'sonarjs/x-powered-by': 'off',
610
- 'sonarjs/xml-parser-xxe': 'off',
611
- 'promise/avoid-new': 'off',
612
- 'promise/no-nesting': 'error',
613
- 'promise/no-promise-in-callback': 'error',
614
- 'promise/no-callback-in-promise': 'error',
615
- 'promise/no-native': 'off',
616
- 'promise/prefer-await-to-callbacks': 'off',
617
- 'promise/catch-or-return': 'error',
618
- 'promise/always-return': 'off',
619
- 'promise/param-names': 'error',
620
- 'promise/no-return-wrap': [
621
- 'error',
622
- {
623
- allowReject: true
624
- }
625
- ],
626
- 'promise/no-new-statics': 'error',
627
- 'promise/no-return-in-finally': 'error',
628
- 'promise/valid-params': 'error',
629
- 'promise/prefer-await-to-then': ['error', { strict: true }],
630
- 'promise/no-multiple-resolved': 'error',
631
- 'promise/spec-only': 'error',
632
- 'promise/prefer-catch': 'error',
633
- 'no-barrel-files/no-barrel-files': 'error',
634
- 'no-barrel-files/prefer-source-imports': 'error',
635
- // eslint-plugin-regexp — purely additive on top of core / unicorn / sonarjs regex coverage.
636
- // Rules with a working equivalent already in core, unicorn, or sonarjs are turned off here so
637
- // each diagnostic is reported by exactly one rule. The only swap is regexp/no-super-linear-backtracking
638
- // taking over from the (off-above) sonarjs/slow-regex.
639
- 'regexp/confusing-quantifier': 'error',
640
- 'regexp/control-character-escape': 'error',
641
- 'regexp/match-any': 'error',
642
- 'regexp/negation': 'error',
643
- 'regexp/no-contradiction-with-assertion': 'error',
644
- 'regexp/no-dupe-disjunctions': 'error',
645
- 'regexp/no-empty-capturing-group': 'error',
646
- 'regexp/no-empty-group': 'error',
647
- 'regexp/no-empty-lookarounds-assertion': 'error',
648
- 'regexp/no-empty-string-literal': 'error',
649
- 'regexp/no-escape-backspace': 'error',
650
- 'regexp/no-extra-lookaround-assertions': 'error',
651
- 'regexp/no-invisible-character': 'error',
652
- 'regexp/no-lazy-ends': 'error',
653
- 'regexp/no-legacy-features': 'error',
654
- 'regexp/no-misleading-capturing-group': 'error',
655
- 'regexp/no-missing-g-flag': 'error',
656
- 'regexp/no-non-standard-flag': 'error',
657
- 'regexp/no-obscure-range': 'error',
658
- 'regexp/no-octal': 'error',
659
- 'regexp/no-optional-assertion': 'error',
660
- 'regexp/no-potentially-useless-backreference': 'error',
661
- 'regexp/no-standalone-backslash': 'error',
662
- 'regexp/no-super-linear-backtracking': 'error',
663
- 'regexp/no-super-linear-move': 'error',
664
- 'regexp/no-trivially-nested-assertion': 'error',
665
- 'regexp/no-trivially-nested-quantifier': 'error',
666
- 'regexp/no-unused-capturing-group': 'error',
667
- 'regexp/no-useless-assertions': 'error',
668
- 'regexp/no-useless-character-class': 'error',
669
- 'regexp/no-useless-dollar-replacements': 'error',
670
- 'regexp/no-useless-flag': 'error',
671
- 'regexp/no-useless-lazy': 'error',
672
- 'regexp/no-useless-non-capturing-group': 'error',
673
- 'regexp/no-useless-quantifier': 'error',
674
- 'regexp/no-useless-range': 'error',
675
- 'regexp/no-useless-set-operand': 'error',
676
- 'regexp/no-useless-string-literal': 'error',
677
- 'regexp/no-useless-two-nums-quantifier': 'error',
678
- 'regexp/no-zero-quantifier': 'error',
679
- 'regexp/optimal-lookaround-quantifier': 'error',
680
- 'regexp/optimal-quantifier-concatenation': 'error',
681
- 'regexp/prefer-escape-replacement-dollar-char': 'error',
682
- 'regexp/prefer-named-backreference': 'error',
683
- 'regexp/prefer-named-replacement': 'error',
684
- 'regexp/prefer-result-array-groups': 'error',
685
- 'regexp/prefer-set-operation': 'error',
686
- 'regexp/prefer-unicode-codepoint-escapes': 'error',
687
- 'regexp/simplify-set-operations': 'error',
688
- // Overlap with existing rules — keep the existing rule as single source of truth.
689
- 'regexp/no-control-character': 'off', // core no-control-regex
690
- 'regexp/no-dupe-characters-character-class': 'off', // sonarjs/duplicates-in-character-class
691
- 'regexp/no-empty-alternative': 'off', // sonarjs/no-empty-alternatives
692
- 'regexp/no-empty-character-class': 'off', // core no-empty-character-class
693
- 'regexp/no-invalid-regexp': 'off', // core no-invalid-regexp
694
- 'regexp/no-misleading-unicode-character': 'off', // core no-misleading-character-class
695
- 'regexp/no-useless-backreference': 'off', // core no-useless-backreference
696
- 'regexp/no-useless-escape': 'off', // core no-useless-escape
697
- 'regexp/prefer-character-class': 'off', // unicorn/better-regex + sonarjs/concise-regex
698
- 'regexp/prefer-d': 'off', // unicorn/better-regex
699
- 'regexp/prefer-named-capture-group': 'off', // core prefer-named-capture-group
700
- 'regexp/prefer-plus-quantifier': 'off', // unicorn/better-regex
701
- 'regexp/prefer-question-quantifier': 'off', // unicorn/better-regex
702
- 'regexp/prefer-regexp-exec': 'off', // @typescript-eslint/prefer-regexp-exec
703
- 'regexp/prefer-regexp-test': 'off', // unicorn/prefer-regexp-test
704
- 'regexp/prefer-star-quantifier': 'off', // unicorn/better-regex
705
- 'regexp/prefer-w': 'off', // unicorn/better-regex
706
- 'regexp/require-unicode-regexp': 'off', // matches core require-unicode-regexp (off)
707
- 'regexp/strict': 'off', // unicorn/better-regex
708
- // Pure style preferences outside the project's scope.
709
- 'regexp/grapheme-string-literal': 'off',
710
- 'regexp/hexadecimal-escape': 'off',
711
- 'regexp/letter-case': 'off',
712
- 'regexp/prefer-lookaround': 'off',
713
- 'regexp/prefer-predefined-assertion': 'off',
714
- 'regexp/prefer-quantifier': 'off',
715
- 'regexp/prefer-range': 'off',
716
- 'regexp/require-unicode-sets-regexp': 'off',
717
- 'regexp/sort-alternatives': 'off',
718
- 'regexp/sort-character-class-elements': 'off',
719
- 'regexp/sort-flags': 'off',
720
- 'regexp/unicode-escape': 'off',
721
- 'regexp/unicode-property': 'off',
722
- 'regexp/use-ignore-case': 'off'
723
- }
724
- };
1
+ import 'eslint-plugin-array-func';
2
+ import 'eslint-plugin-no-barrel-files';
3
+ import 'eslint-plugin-promise';
4
+ import 'eslint-plugin-regexp';
5
+ import 'eslint-plugin-sonarjs';
6
+ import 'eslint-plugin-unicorn';
725
7
  //# sourceMappingURL=best-practices.js.map