@st1ggy/linter-config 7.3.1 → 8.0.0

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.
Files changed (49) hide show
  1. package/README.md +127 -8
  2. package/data/oxlint-config-inventory.json +2268 -0
  3. package/data/oxlint-rule-map.json +91896 -0
  4. package/data/oxlint-source-inventory.json +107728 -0
  5. package/docs/OXLINT_RULE_MAPPING.md +2972 -0
  6. package/docs/RULE_MAPPING.md +15 -0
  7. package/package.json +68 -3
  8. package/scripts/README.md +37 -1
  9. package/scripts/init-astro-ox.sh +4 -0
  10. package/scripts/init-common-ox.sh +4 -0
  11. package/scripts/init-next-ox.sh +4 -0
  12. package/scripts/init-react-ox.sh +4 -0
  13. package/scripts/init-solid-ox.sh +4 -0
  14. package/scripts/init-svelte-ox.sh +4 -0
  15. package/scripts/linter-init-core.mjs +104 -24
  16. package/scripts/linter-init.mjs +24 -32
  17. package/src/oxfmt/index.d.ts +8 -0
  18. package/src/oxfmt/oxfmt.config.common.js +16 -0
  19. package/src/oxlint/configs/config.astro.js +4093 -0
  20. package/src/oxlint/configs/config.common.js +3206 -0
  21. package/src/oxlint/configs/config.next.js +3588 -0
  22. package/src/oxlint/configs/config.react.js +3499 -0
  23. package/src/oxlint/configs/config.solid.js +4972 -0
  24. package/src/oxlint/configs/config.svelte.js +3302 -0
  25. package/src/oxlint/create-config.js +40 -0
  26. package/src/oxlint/index.d.ts +49 -0
  27. package/src/oxlint/oxlint.config.astro.js +4 -0
  28. package/src/oxlint/oxlint.config.common.js +4 -0
  29. package/src/oxlint/oxlint.config.next.js +4 -0
  30. package/src/oxlint/oxlint.config.react.js +4 -0
  31. package/src/oxlint/oxlint.config.solid.js +4 -0
  32. package/src/oxlint/oxlint.config.svelte.js +4 -0
  33. package/src/oxlint/plugins/astro.js +41 -0
  34. package/src/oxlint/plugins/eslint-core.js +5 -0
  35. package/src/oxlint/plugins/fresh-source-code.js +30 -0
  36. package/src/oxlint/plugins/import-x.js +38 -0
  37. package/src/oxlint/plugins/next.js +1 -0
  38. package/src/oxlint/plugins/prettier.js +1 -0
  39. package/src/oxlint/plugins/react-hooks.js +1 -0
  40. package/src/oxlint/plugins/react.js +1 -0
  41. package/src/oxlint/plugins/solid.js +1 -0
  42. package/src/oxlint/plugins/sonarjs.js +5 -0
  43. package/src/oxlint/plugins/stylistic.js +1 -0
  44. package/src/oxlint/plugins/svelte.js +42 -0
  45. package/src/oxlint/plugins/typescript.js +1 -0
  46. package/src/oxlint/plugins/unicorn.js +5 -0
  47. package/src/oxlint/stacks.js +17 -0
  48. package/scripts/package-smoke.mjs +0 -56
  49. package/scripts/solid-config.test.mjs +0 -134
@@ -0,0 +1,4093 @@
1
+ // Generated by scripts/oxlint-generate.mjs.
2
+ /* eslint-disable unicorn/prefer-string-raw, unicorn/numeric-separators-style -- Serialized rule options. */
3
+ export default {
4
+ formatter: 'prettier',
5
+ plugins: ['eslint', 'import', 'typescript', 'unicorn'],
6
+ jsPlugins: [
7
+ 'astro',
8
+ 'eslint-js',
9
+ 'import-x-js',
10
+ 'prettier',
11
+ 'sonarjs',
12
+ 'stylistic-js',
13
+ 'typescript-js',
14
+ 'unicorn-js',
15
+ ],
16
+ settings: {
17
+ 'import-x/extensions': ['.ts', '.tsx', '.cts', '.mts', '.js', '.jsx', '.cjs', '.mjs'],
18
+ 'import-x/external-module-folders': ['node_modules', 'node_modules/@types'],
19
+ 'import-x/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx', '.cts', '.mts'] },
20
+ 'import-x/resolver': { typescript: true, node: true },
21
+ react: { version: '999.999.999' },
22
+ 'st1ggy/import-defaults': {
23
+ 'import-x/extensions': ['.ts', '.tsx', '.cts', '.mts', '.js', '.jsx', '.cjs', '.mjs'],
24
+ 'import-x/external-module-folders': ['node_modules', 'node_modules/@types'],
25
+ 'import-x/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx', '.cts', '.mts'] },
26
+ 'import-x/resolver': { typescript: true, node: true },
27
+ react: { version: '999.999.999' },
28
+ },
29
+ 'st1ggy/import-scopes': [
30
+ {
31
+ extension: 'astro',
32
+ settings: {
33
+ 'import-x/extensions': ['.ts', '.tsx', '.cts', '.mts', '.js', '.jsx', '.cjs', '.mjs'],
34
+ 'import-x/external-module-folders': ['node_modules', 'node_modules/@types'],
35
+ 'import-x/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx', '.cts', '.mts'] },
36
+ 'import-x/resolver': { typescript: true },
37
+ react: { version: '999.999.999' },
38
+ },
39
+ },
40
+ ],
41
+ },
42
+ profiles: {
43
+ '2b199fa30e3c3ae5': {
44
+ rules: {
45
+ 'stylistic-js/lines-between-class-members': [
46
+ 2,
47
+ 'always',
48
+ { exceptAfterOverload: true, exceptAfterSingleLine: true },
49
+ ],
50
+ 'stylistic-js/padding-line-between-statements': [
51
+ 2,
52
+ { blankLine: 'always', prev: '*', next: 'if' },
53
+ { blankLine: 'always', prev: 'if', next: 'if' },
54
+ { blankLine: 'always', prev: ['const', 'let'], next: '*' },
55
+ { blankLine: 'any', prev: ['const', 'let'], next: ['const', 'let'] },
56
+ { blankLine: 'always', prev: '*', next: 'return' },
57
+ { blankLine: 'always', prev: '*', next: 'case' },
58
+ { blankLine: 'always', prev: 'if', next: '*' },
59
+ ],
60
+ 'stylistic-js/spaced-comment': [2, 'always'],
61
+ 'typescript/adjacent-overload-signatures': [2],
62
+ 'typescript-js/array-type': [2],
63
+ 'typescript/ban-ts-comment': [
64
+ 2,
65
+ { 'ts-expect-error': 'allow-with-description', 'ts-ignore': 'allow-with-description' },
66
+ ],
67
+ 'typescript/ban-tslint-comment': [2],
68
+ 'typescript/class-literal-property-style': [2],
69
+ 'typescript/consistent-generic-constructors': [2],
70
+ 'typescript/consistent-indexed-object-style': [2],
71
+ 'typescript/consistent-type-assertions': [2],
72
+ 'typescript/consistent-type-definitions': [2, 'type'],
73
+ 'typescript/consistent-type-imports': [2, { fixStyle: 'inline-type-imports' }],
74
+ 'eslint/no-array-constructor': [2],
75
+ 'typescript/no-confusing-non-null-assertion': [2],
76
+ 'typescript/no-duplicate-enum-values': [2],
77
+ 'eslint/no-empty-function': [2, { allow: [] }],
78
+ 'typescript/no-empty-object-type': [2],
79
+ 'typescript/no-explicit-any': [2],
80
+ 'typescript/no-extra-non-null-assertion': [2],
81
+ 'typescript/no-inferrable-types': [2],
82
+ 'typescript/no-misused-new': [2],
83
+ 'typescript/no-namespace': [2],
84
+ 'typescript/no-non-null-asserted-optional-chain': [2],
85
+ 'typescript/no-require-imports': [2],
86
+ 'eslint/no-shadow': [2, { ignoreTypeValueShadow: true }],
87
+ 'typescript/no-this-alias': [2],
88
+ 'typescript/no-unnecessary-type-constraint': [2],
89
+ 'typescript/no-unsafe-declaration-merging': [2],
90
+ 'typescript/no-unsafe-function-type': [2],
91
+ 'eslint/no-unused-expressions': [
92
+ 2,
93
+ { allowShortCircuit: false, allowTaggedTemplates: false, allowTernary: false },
94
+ ],
95
+ 'eslint/no-unused-vars': [2, { ignoreRestSiblings: true }],
96
+ 'typescript/no-wrapper-object-types': [2],
97
+ 'typescript-js/prefer-as-const': [2],
98
+ 'typescript/prefer-for-of': [2],
99
+ 'typescript/prefer-function-type': [2],
100
+ 'typescript/prefer-namespace-keyword': [2],
101
+ 'typescript/switch-exhaustiveness-check': [2],
102
+ 'typescript/triple-slash-reference': [2],
103
+ 'eslint/arrow-body-style': [2, 'as-needed'],
104
+ 'eslint-js/camelcase': [
105
+ 2,
106
+ { allow: [], ignoreDestructuring: false, ignoreGlobals: false, ignoreImports: false, properties: 'always' },
107
+ ],
108
+ 'eslint/constructor-super': [2],
109
+ 'eslint/for-direction': [2],
110
+ 'eslint/getter-return': [2, { allowImplicit: false }],
111
+ 'import/default': [2],
112
+ 'import/export': [2],
113
+ 'import/extensions': [2, 'never', { js: 'never', json: 'ignorePackages' }],
114
+ 'import/namespace': [2],
115
+ 'import/newline-after-import': [2],
116
+ 'import/no-duplicates': [2, { considerQueryString: true }],
117
+ 'import/no-named-as-default': [1],
118
+ 'import/no-named-as-default-member': [1],
119
+ 'import-x-js/no-unresolved': [2, { caseSensitive: true }],
120
+ 'import-x-js/order': [
121
+ 2,
122
+ {
123
+ 'newlines-between': 'always',
124
+ groups: [['builtin', 'external'], ['internal'], ['parent'], ['sibling', 'index', 'object'], ['type']],
125
+ pathGroups: [{ pattern: '@/**', group: 'external', position: 'after' }],
126
+ alphabetize: { order: 'asc', caseInsensitive: false, orderImportKind: 'ignore' },
127
+ distinctGroup: true,
128
+ sortTypesGroup: false,
129
+ named: false,
130
+ warnOnUnassignedImports: false,
131
+ },
132
+ ],
133
+ 'eslint-js/newline-before-return': [2],
134
+ 'eslint/no-async-promise-executor': [2],
135
+ 'eslint/no-case-declarations': [2],
136
+ 'eslint/no-class-assign': [2],
137
+ 'eslint/no-compare-neg-zero': [2],
138
+ 'eslint/no-cond-assign': [2, 'except-parens'],
139
+ 'eslint/no-console': [1, {}],
140
+ 'eslint/no-const-assign': [2],
141
+ 'eslint/no-constant-binary-expression': [2, { checkRelationalComparisons: false }],
142
+ 'eslint/no-constant-condition': [2, { checkLoops: 'allExceptWhileTrue' }],
143
+ 'eslint/no-control-regex': [2],
144
+ 'eslint/no-debugger': [1],
145
+ 'eslint/no-delete-var': [2],
146
+ 'eslint-js/no-dupe-args': [2],
147
+ 'eslint/no-dupe-class-members': [2],
148
+ 'eslint/no-dupe-else-if': [2],
149
+ 'eslint/no-dupe-keys': [2],
150
+ 'eslint/no-duplicate-case': [2],
151
+ 'eslint/no-empty': [2, { allowEmptyCatch: false }],
152
+ 'eslint/no-empty-character-class': [2],
153
+ 'eslint/no-empty-pattern': [2, { allowObjectPatternsAsParameters: false }],
154
+ 'eslint/no-empty-static-block': [2],
155
+ 'eslint/no-ex-assign': [2],
156
+ 'eslint/no-extra-boolean-cast': [2, {}],
157
+ 'eslint/no-fallthrough': [2, { allowEmptyCase: false, reportUnusedFallthroughComment: false }],
158
+ 'eslint/no-func-assign': [2],
159
+ 'eslint/no-global-assign': [2, { exceptions: [] }],
160
+ 'eslint/no-import-assign': [2],
161
+ 'eslint/no-invalid-regexp': [2, {}],
162
+ 'eslint/no-irregular-whitespace': [
163
+ 2,
164
+ { skipComments: false, skipJSXText: false, skipRegExps: false, skipStrings: true, skipTemplates: false },
165
+ ],
166
+ 'eslint/no-loss-of-precision': [2],
167
+ 'eslint/no-misleading-character-class': [2, { allowEscape: false }],
168
+ 'eslint/no-new-native-nonconstructor': [2],
169
+ 'eslint/no-nonoctal-decimal-escape': [2],
170
+ 'eslint/no-obj-calls': [2],
171
+ 'eslint-js/no-octal': [2],
172
+ 'eslint/no-prototype-builtins': [2],
173
+ 'eslint/no-redeclare': [2, { builtinGlobals: true }],
174
+ 'eslint/no-regex-spaces': [2],
175
+ 'eslint-js/no-restricted-syntax': [
176
+ 2,
177
+ { selector: 'WithStatement', message: '`with` statement are not allowed.' },
178
+ { selector: 'ForInStatement', message: 'Use for..of instead.' },
179
+ {
180
+ selector: 'TSEnumDeclaration',
181
+ message: "Don't declare enums, use type union of literal strings or constants.",
182
+ },
183
+ { selector: 'MemberExpression[object.name="React"]', message: 'Use named imports from react.' },
184
+ {
185
+ selector:
186
+ 'CallExpression[callee.property.name="replaceAll"] > Literal[regex.flags=/^[^g]*$/].arguments:first-child',
187
+ message: 'Missing "g" flag in regular expression.',
188
+ },
189
+ ],
190
+ 'eslint/no-self-assign': [2, { props: true }],
191
+ 'eslint/no-setter-return': [2],
192
+ 'eslint/no-shadow-restricted-names': [2, { reportGlobalThis: true }],
193
+ 'eslint/no-sparse-arrays': [2],
194
+ 'eslint/no-this-before-super': [2],
195
+ 'eslint/no-unassigned-vars': [2],
196
+ 'eslint/no-unreachable': [2],
197
+ 'eslint/no-unsafe-finally': [2],
198
+ 'eslint/no-unsafe-negation': [2, { enforceForOrderingRelations: false }],
199
+ 'eslint/no-unsafe-optional-chaining': [2, { disallowArithmeticOperators: false }],
200
+ 'eslint/no-unused-labels': [2],
201
+ 'eslint/no-unused-private-class-members': [2],
202
+ 'eslint/no-useless-assignment': [2],
203
+ 'eslint/no-useless-backreference': [2],
204
+ 'eslint/no-useless-catch': [2],
205
+ 'eslint/no-useless-escape': [2, { allowRegexCharacters: [] }],
206
+ 'eslint/no-with': [2],
207
+ 'eslint/object-shorthand': [2, 'always'],
208
+ 'eslint/prefer-const': [2, { destructuring: 'any', ignoreReadBeforeAssign: false }],
209
+ 'eslint/prefer-template': [2],
210
+ 'eslint-js/preserve-caught-error': [2, { requireCatchParameter: false, errorClassNames: [] }],
211
+ 'prettier/prettier': [2],
212
+ 'eslint/require-yield': [2],
213
+ 'sonarjs/assertions-in-test-cases': [2],
214
+ 'sonarjs/async-test-assertions': [2],
215
+ 'sonarjs/aws-apigateway-public-api': [2],
216
+ 'sonarjs/aws-ec2-rds-dms-public': [2],
217
+ 'sonarjs/aws-ec2-unencrypted-ebs-volume': [2],
218
+ 'sonarjs/aws-efs-unencrypted': [2],
219
+ 'sonarjs/aws-iam-all-privileges': [2],
220
+ 'sonarjs/aws-iam-privilege-escalation': [2],
221
+ 'sonarjs/aws-iam-public-access': [2],
222
+ 'sonarjs/aws-opensearchservice-domain': [2],
223
+ 'sonarjs/aws-rds-unencrypted-databases': [2],
224
+ 'sonarjs/aws-restricted-ip-admin-access': [2],
225
+ 'sonarjs/aws-s3-bucket-granted-access': [2],
226
+ 'sonarjs/aws-s3-bucket-insecure-http': [2],
227
+ 'sonarjs/aws-s3-bucket-public-access': [2],
228
+ 'sonarjs/aws-s3-bucket-versioning': [2],
229
+ 'sonarjs/aws-sagemaker-unencrypted-notebook': [2],
230
+ 'sonarjs/aws-sns-unencrypted-topics': [2],
231
+ 'sonarjs/aws-sqs-unencrypted-queue': [2],
232
+ 'sonarjs/block-scoped-var': [2],
233
+ 'sonarjs/call-argument-line': [2],
234
+ 'sonarjs/chai-determinate-assertion': [2],
235
+ 'sonarjs/class-name': [2, { format: '^\\$?[A-Z][a-zA-Z0-9]*$' }],
236
+ 'sonarjs/code-eval': [2],
237
+ 'sonarjs/cognitive-complexity': [2, 15],
238
+ 'sonarjs/comma-or-logical-or-case': [2],
239
+ 'sonarjs/constructor-for-side-effects': [2],
240
+ 'sonarjs/content-length': [2, { fileUploadSizeLimit: 8000000, standardSizeLimit: 2000000 }],
241
+ 'sonarjs/content-security-policy': [2],
242
+ 'sonarjs/cookie-no-httponly': [2],
243
+ 'sonarjs/cors': [2],
244
+ 'sonarjs/csrf': [2],
245
+ 'typescript/no-deprecated': [2],
246
+ 'sonarjs/disabled-timeout': [2],
247
+ 'sonarjs/dynamically-constructed-templates': [2],
248
+ 'sonarjs/encryption-secure-mode': [2],
249
+ 'sonarjs/explicit-test-skip': [2],
250
+ 'sonarjs/file-permissions': [2],
251
+ 'sonarjs/file-uploads': [2],
252
+ 'sonarjs/fixme-tag': [2],
253
+ 'sonarjs/for-loop-increment-sign': [2],
254
+ 'sonarjs/function-inside-loop': [2],
255
+ 'sonarjs/future-reserved-words': [2],
256
+ 'sonarjs/generator-without-yield': [2],
257
+ 'sonarjs/hardcoded-secret-signatures': [2],
258
+ 'sonarjs/hashing': [2],
259
+ 'sonarjs/hooks-before-test-cases': [2],
260
+ 'sonarjs/inconsistent-function-call': [2],
261
+ 'sonarjs/insecure-cookie': [2],
262
+ 'sonarjs/insecure-jwt-token': [2],
263
+ 'sonarjs/inverted-assertion-arguments': [2],
264
+ 'sonarjs/label-position': [2],
265
+ 'sonarjs/link-with-target-blank': [2],
266
+ 'sonarjs/max-switch-cases': [2, 30],
267
+ 'sonarjs/memoize-cache-key': [2],
268
+ 'sonarjs/misplaced-loop-counter': [2],
269
+ 'sonarjs/no-all-duplicated-branches': [2],
270
+ 'typescript/require-array-sort-compare': [2],
271
+ 'sonarjs/no-angular-bypass-sanitization': [2],
272
+ 'typescript/no-array-delete': [2],
273
+ 'sonarjs/no-case-label-in-switch': [2],
274
+ 'sonarjs/no-clear-text-protocols': [2],
275
+ 'sonarjs/no-code-after-done': [2],
276
+ 'sonarjs/no-dead-store': [2],
277
+ 'sonarjs/no-debug-commands-in-ui-tests': [2],
278
+ 'sonarjs/no-default-utility-imports': [2],
279
+ 'sonarjs/no-delete-var': [2],
280
+ 'sonarjs/no-duplicate-in-composite': [2],
281
+ 'sonarjs/no-duplicate-test-title': [2],
282
+ 'sonarjs/no-duplicated-branches': [2],
283
+ 'sonarjs/no-element-overwrite': [2],
284
+ 'sonarjs/no-empty-collection': [2],
285
+ 'sonarjs/no-empty-test-file': [2],
286
+ 'sonarjs/no-empty-test-title': [2],
287
+ 'sonarjs/no-equals-in-for-termination': [2],
288
+ 'sonarjs/no-exclusive-tests': [2],
289
+ 'sonarjs/no-extra-arguments': [2],
290
+ 'sonarjs/no-fallthrough': [2],
291
+ 'sonarjs/no-fixed-wait-in-tests': [2],
292
+ 'sonarjs/no-floating-point-equality': [2],
293
+ 'sonarjs/no-forced-browser-interaction': [2],
294
+ 'sonarjs/no-global-this': [2],
295
+ 'sonarjs/no-globals-shadowing': [2],
296
+ 'sonarjs/no-gratuitous-expressions': [2],
297
+ 'sonarjs/no-hardcoded-ip': [2],
298
+ 'sonarjs/no-hardcoded-passwords': [2, { passwordWords: ['password', 'pwd', 'passwd', 'passphrase'] }],
299
+ 'sonarjs/no-hardcoded-secrets': [
300
+ 2,
301
+ { secretWords: 'api[_.-]?key,auth,credential,secret,token', randomnessSensibility: 5 },
302
+ ],
303
+ 'sonarjs/no-hook-setter-in-body': [2],
304
+ 'sonarjs/no-identical-conditions': [2],
305
+ 'sonarjs/no-identical-expressions': [2],
306
+ 'sonarjs/no-identical-functions': [2, 3],
307
+ 'sonarjs/no-ignored-exceptions': [2],
308
+ 'sonarjs/no-implicit-global': [2],
309
+ 'sonarjs/no-incomplete-assertions': [2],
310
+ 'sonarjs/no-internal-api-use': [2],
311
+ 'sonarjs/no-interpolation-in-inline-snapshots': [2],
312
+ 'sonarjs/no-invariant-returns': [2],
313
+ 'sonarjs/no-inverted-boolean-check': [2],
314
+ 'sonarjs/no-labels': [2],
315
+ 'sonarjs/no-literal-call': [2],
316
+ 'sonarjs/no-mime-sniff': [2],
317
+ 'sonarjs/no-mixed-completion-style': [2],
318
+ 'sonarjs/no-nested-assignment': [2],
319
+ 'sonarjs/no-nested-conditional': [2],
320
+ 'sonarjs/no-nested-functions': [2, { threshold: 4 }],
321
+ 'sonarjs/no-nested-template-literals': [2],
322
+ 'sonarjs/no-os-command-from-path': [2],
323
+ 'sonarjs/no-parameter-reassignment': [2],
324
+ 'sonarjs/no-primitive-wrappers': [2],
325
+ 'sonarjs/no-redundant-assignments': [2],
326
+ 'sonarjs/no-redundant-boolean': [2],
327
+ 'sonarjs/no-redundant-jump': [2],
328
+ 'sonarjs/no-referrer-policy': [2],
329
+ 'sonarjs/no-same-argument-assert': [2],
330
+ 'sonarjs/no-same-line-conditional': [2],
331
+ 'sonarjs/no-session-cookies-on-static-assets': [2],
332
+ 'sonarjs/no-skipped-tests': [2],
333
+ 'sonarjs/no-table-as-layout': [2],
334
+ 'sonarjs/no-trivial-assertions': [2],
335
+ 'sonarjs/no-unenclosed-multiline-block': [2],
336
+ 'sonarjs/no-uniq-key': [2],
337
+ 'sonarjs/no-unthrown-error': [2],
338
+ 'sonarjs/no-unused-collection': [2],
339
+ 'sonarjs/no-unused-vars': [2],
340
+ 'sonarjs/no-use-of-empty-return-value': [2],
341
+ 'sonarjs/no-useless-catch': [2],
342
+ 'sonarjs/no-useless-increment': [2],
343
+ 'sonarjs/no-useless-react-setstate': [2],
344
+ 'sonarjs/no-weak-cipher': [2],
345
+ 'sonarjs/no-weak-keys': [2],
346
+ 'sonarjs/non-existent-operator': [2],
347
+ 'sonarjs/object-alt-content': [2],
348
+ 'sonarjs/parameterized-tests': [2],
349
+ 'sonarjs/prefer-default-last': [2],
350
+ 'sonarjs/prefer-native-lodash-alternative': [2],
351
+ 'sonarjs/prefer-promise-shorthand': [2],
352
+ 'typescript/prefer-regexp-exec': [2],
353
+ 'sonarjs/prefer-single-boolean-return': [2],
354
+ 'sonarjs/prefer-specific-assertions': [2],
355
+ 'sonarjs/prefer-type-guard': [2],
356
+ 'sonarjs/prefer-while': [2],
357
+ 'sonarjs/production-debug': [2],
358
+ 'sonarjs/pseudo-random': [2],
359
+ 'sonarjs/public-static-readonly': [2],
360
+ 'sonarjs/publicly-writable-directories': [2],
361
+ 'sonarjs/redundant-type-aliases': [2],
362
+ 'sonarjs/review-blockchain-mnemonic': [2],
363
+ 'sonarjs/session-regeneration': [2],
364
+ 'sonarjs/stable-tests': [2],
365
+ 'sonarjs/stateful-regex': [2],
366
+ 'sonarjs/strict-transport-security': [2],
367
+ 'sonarjs/super-linear-regex': [2],
368
+ 'sonarjs/synchronous-suite-callback': [2],
369
+ 'sonarjs/table-header': [2],
370
+ 'sonarjs/table-header-reference': [2],
371
+ 'sonarjs/test-check-exception': [2],
372
+ 'sonarjs/todo-tag': [1],
373
+ 'sonarjs/unverified-certificate': [2],
374
+ 'sonarjs/unverified-hostname': [2],
375
+ 'sonarjs/updated-const-var': [2],
376
+ 'sonarjs/updated-loop-counter': [2],
377
+ 'sonarjs/use-type-alias': [2],
378
+ 'sonarjs/weak-ssl': [2],
379
+ 'sonarjs/x-powered-by': [2],
380
+ 'sonarjs/xml-parser-xxe': [2],
381
+ 'eslint/sort-imports': [
382
+ 2,
383
+ {
384
+ allowSeparatedGroups: false,
385
+ ignoreCase: false,
386
+ ignoreDeclarationSort: true,
387
+ ignoreMemberSort: false,
388
+ memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
389
+ },
390
+ ],
391
+ 'unicorn-js/better-dom-traversing': [2],
392
+ 'unicorn/catch-error-name': [2, { name: 'error', ignore: [] }],
393
+ 'unicorn-js/class-reference-in-static-methods': [2, { preferThis: true, preferSuper: true }],
394
+ 'unicorn/consistent-assert': [2],
395
+ 'unicorn-js/consistent-boolean-name': [
396
+ 2,
397
+ {
398
+ checkVariables: 'always',
399
+ checkArguments: 'always',
400
+ checkFunctions: 'always',
401
+ checkMethods: 'never',
402
+ checkFields: 'never',
403
+ ignore: [],
404
+ wrappers: {},
405
+ },
406
+ ],
407
+ 'unicorn-js/consistent-class-member-order': [
408
+ 2,
409
+ {
410
+ order: [
411
+ 'static-field',
412
+ 'static-block',
413
+ 'static-method',
414
+ 'private-field',
415
+ 'public-field',
416
+ 'constructor',
417
+ 'private-method',
418
+ 'public-method',
419
+ ],
420
+ },
421
+ ],
422
+ 'unicorn-js/consistent-compound-words': [2, {}],
423
+ 'unicorn-js/consistent-conditional-object-spread': [2, 'logical'],
424
+ 'unicorn/consistent-date-clone': [2],
425
+ 'unicorn-js/consistent-destructuring': [2],
426
+ 'unicorn/consistent-empty-array-spread': [2],
427
+ 'unicorn/consistent-existence-index-check': [2],
428
+ 'unicorn-js/consistent-export-decorator-position': [2, 'above'],
429
+ 'unicorn-js/consistent-function-scoping': [2, { checkArrowFunctions: true }],
430
+ 'unicorn-js/consistent-json-file-read': [2, 'string'],
431
+ 'unicorn-js/consistent-optional-chaining': [2],
432
+ 'unicorn/consistent-template-literal-escape': [2],
433
+ 'unicorn-js/consistent-tuple-labels': [2],
434
+ 'unicorn/custom-error-definition': [2],
435
+ 'unicorn-js/default-export-style': [2, { functions: 'inline', classes: 'inline' }],
436
+ 'unicorn-js/dom-node-dataset': [2, { preferAttributes: false }],
437
+ 'unicorn/empty-brace-spaces': [2],
438
+ 'unicorn/error-message': [2],
439
+ 'unicorn-js/escape-case': [2, 'uppercase'],
440
+ 'unicorn-js/expiring-todo-comments': [
441
+ 2,
442
+ {
443
+ terms: ['todo', 'fixme', 'xxx'],
444
+ ignore: [],
445
+ checkDates: false,
446
+ checkDatesOnPullRequests: false,
447
+ allowWarningComments: true,
448
+ },
449
+ ],
450
+ 'unicorn/explicit-length-check': [2, { 'non-zero': 'greater-than' }],
451
+ 'unicorn-js/explicit-timer-delay': [2, 'always'],
452
+ 'unicorn/filename-case': [2],
453
+ 'unicorn/import-style': [2, {}],
454
+ 'unicorn-js/isolated-functions': [
455
+ 2,
456
+ { functions: ['makeSynchronous', 'workerize'], selectors: [], comments: ['@isolated'], overrideGlobals: {} },
457
+ ],
458
+ 'unicorn-js/logical-assignment-operators': [2, 'always'],
459
+ 'unicorn/max-nested-calls': [2, { max: 3 }],
460
+ 'unicorn-js/name-replacements': [
461
+ 2,
462
+ {
463
+ replacements: {
464
+ dev: false,
465
+ prod: false,
466
+ props: false,
467
+ ref: false,
468
+ refs: false,
469
+ args: false,
470
+ params: false,
471
+ utils: false,
472
+ env: false,
473
+ },
474
+ },
475
+ ],
476
+ 'unicorn/new-for-builtins': [2],
477
+ 'unicorn/no-abusive-eslint-disable': [2],
478
+ 'unicorn/no-accessor-recursion': [2],
479
+ 'unicorn-js/no-accidental-bitwise-operator': [2],
480
+ 'unicorn/no-anonymous-default-export': [2],
481
+ 'unicorn-js/no-array-callback-reference': [2, { ignore: [] }],
482
+ 'unicorn-js/no-array-concat-in-loop': [2],
483
+ 'unicorn/no-array-fill-with-reference-type': [2],
484
+ 'unicorn-js/no-array-from-fill': [2],
485
+ 'unicorn/no-array-method-this-argument': [2],
486
+ 'unicorn/no-array-reduce': [2, { allowSimpleOperations: true }],
487
+ 'unicorn/no-array-reverse': [2, { allowExpressionStatement: true }],
488
+ 'unicorn/no-array-sort': [2, { allowExpressionStatement: true }],
489
+ 'unicorn-js/no-array-sort-for-min-max': [2],
490
+ 'unicorn-js/no-array-splice': [2],
491
+ 'unicorn-js/no-async-promise-finally': [2],
492
+ 'unicorn/no-await-expression-member': [2],
493
+ 'unicorn/no-await-in-promise-methods': [2],
494
+ 'unicorn-js/no-boolean-sort-comparator': [2],
495
+ 'unicorn-js/no-break-in-nested-loop': [2],
496
+ 'unicorn-js/no-canvas-to-image': [2],
497
+ 'unicorn-js/no-chained-comparison': [2],
498
+ 'unicorn-js/no-collection-bracket-access': [2],
499
+ 'unicorn-js/no-computed-property-existence-check': [2],
500
+ 'unicorn-js/no-confusing-array-splice': [2],
501
+ 'unicorn/no-confusing-array-with': [2],
502
+ 'unicorn/no-console-spaces': [2],
503
+ 'unicorn-js/no-constant-zero-expression': [2],
504
+ 'unicorn-js/no-declarations-before-early-exit': [2],
505
+ 'unicorn/no-document-cookie': [2],
506
+ 'unicorn-js/no-double-comparison': [2],
507
+ 'unicorn-js/no-duplicate-if-branches': [2],
508
+ 'unicorn-js/no-duplicate-logical-operands': [2],
509
+ 'unicorn-js/no-duplicate-loops': [2],
510
+ 'unicorn-js/no-duplicate-set-values': [2],
511
+ 'unicorn-js/no-empty-file': [2, { allowComments: false }],
512
+ 'unicorn-js/no-error-property-assignment': [2],
513
+ 'unicorn-js/no-exports-in-scripts': [2],
514
+ 'unicorn-js/no-for-each': [2],
515
+ 'unicorn-js/no-for-loop': [2],
516
+ 'unicorn-js/no-global-object-property-assignment': [2],
517
+ 'unicorn/no-immediate-mutation': [2],
518
+ 'unicorn-js/no-impossible-length-comparison': [2],
519
+ 'unicorn-js/no-incorrect-query-selector': [2],
520
+ 'unicorn-js/no-incorrect-template-string-interpolation': [2],
521
+ 'unicorn/no-instanceof-builtins': [2, { useErrorIsError: false, strategy: 'loose', include: [], exclude: [] }],
522
+ 'unicorn-js/no-invalid-argument-count': [2, {}],
523
+ 'unicorn-js/no-invalid-character-comparison': [2],
524
+ 'unicorn/no-invalid-fetch-options': [2],
525
+ 'unicorn/no-invalid-remove-event-listener': [2],
526
+ 'unicorn-js/no-invalid-well-known-symbol-methods': [2],
527
+ 'unicorn-js/no-late-current-target-access': [2],
528
+ 'unicorn-js/no-late-event-control': [2],
529
+ 'unicorn/no-lonely-if': [2],
530
+ 'unicorn-js/no-loop-iterable-mutation': [2],
531
+ 'unicorn/no-magic-array-flat-depth': [2],
532
+ 'unicorn-js/no-mismatched-map-key': [2],
533
+ 'unicorn-js/no-misrefactored-assignment': [2],
534
+ 'unicorn-js/no-multiple-promise-resolver-calls': [2],
535
+ 'unicorn-js/no-named-default': [2],
536
+ 'unicorn-js/no-negated-array-predicate': [2],
537
+ 'unicorn-js/no-negated-comparison': [2, { checkLogicalExpressions: false }],
538
+ 'unicorn/no-negated-condition': [2],
539
+ 'unicorn/no-negation-in-equality-check': [2],
540
+ 'unicorn/no-nested-ternary': [2],
541
+ 'unicorn/no-new-array': [2],
542
+ 'unicorn/no-new-buffer': [2],
543
+ 'unicorn-js/no-nonstandard-builtin-properties': [2],
544
+ 'unicorn/no-object-as-default-parameter': [2],
545
+ 'unicorn-js/no-object-methods-with-collections': [2],
546
+ 'unicorn-js/no-optional-chaining-on-undeclared-variable': [2],
547
+ 'unicorn/no-process-exit': [2],
548
+ 'unicorn-js/no-redundant-comparison': [2],
549
+ 'unicorn-js/no-return-array-push': [2],
550
+ 'unicorn-js/no-selector-as-dom-name': [2],
551
+ 'unicorn/no-single-promise-in-promise-methods': [2],
552
+ 'unicorn/no-static-only-class': [2],
553
+ 'unicorn-js/no-subtraction-comparison': [2],
554
+ 'unicorn/no-thenable': [2],
555
+ 'unicorn/no-this-assignment': [2],
556
+ 'unicorn-js/no-this-outside-of-class': [2],
557
+ 'unicorn-js/no-top-level-assignment-in-function': [2],
558
+ 'unicorn-js/no-top-level-side-effects': [2],
559
+ 'unicorn/no-typeof-undefined': [2, { checkGlobalVariables: false }],
560
+ 'unicorn-js/no-uncalled-method': [2],
561
+ 'unicorn-js/no-undeclared-class-members': [2],
562
+ 'unicorn/no-unnecessary-array-flat-depth': [2],
563
+ 'unicorn-js/no-unnecessary-array-flat-map': [2],
564
+ 'unicorn/no-unnecessary-array-splice-count': [2],
565
+ 'unicorn-js/no-unnecessary-await': [2],
566
+ 'unicorn-js/no-unnecessary-boolean-comparison': [2],
567
+ 'unicorn-js/no-unnecessary-fetch-options': [2],
568
+ 'unicorn-js/no-unnecessary-global-this': [2],
569
+ 'unicorn-js/no-unnecessary-nested-ternary': [2],
570
+ 'unicorn-js/no-unnecessary-polyfills': [2, {}],
571
+ 'unicorn/no-unnecessary-slice-end': [2],
572
+ 'unicorn-js/no-unnecessary-splice': [2],
573
+ 'unicorn-js/no-unnecessary-string-trim': [2],
574
+ 'unicorn-js/no-unreadable-array-destructuring': [2, { maximumIgnoredElements: 1 }],
575
+ 'unicorn-js/no-unreadable-for-of-expression': [2],
576
+ 'unicorn/no-unreadable-iife': [2],
577
+ 'unicorn-js/no-unreadable-object-destructuring': [2],
578
+ 'unicorn-js/no-unsafe-buffer-conversion': [2],
579
+ 'unicorn-js/no-unsafe-promise-all-settled-values': [2],
580
+ 'unicorn-js/no-unsafe-property-key': [2],
581
+ 'unicorn-js/no-unsafe-sqlite-interpolation': [2],
582
+ 'unicorn-js/no-unsafe-string-replacement': [2],
583
+ 'unicorn-js/no-unused-array-method-return': [2],
584
+ 'unicorn-js/no-unused-properties': [2],
585
+ 'unicorn-js/no-useless-boolean-cast': [2],
586
+ 'unicorn-js/no-useless-coercion': [2],
587
+ 'unicorn/no-useless-collection-argument': [2],
588
+ 'unicorn-js/no-useless-compound-assignment': [2],
589
+ 'unicorn-js/no-useless-concat': [2],
590
+ 'unicorn-js/no-useless-continue': [2],
591
+ 'unicorn-js/no-useless-delete-check': [2],
592
+ 'unicorn-js/no-useless-else': [2],
593
+ 'unicorn/no-useless-error-capture-stack-trace': [2],
594
+ 'unicorn/no-useless-fallback-in-spread': [2],
595
+ 'unicorn/no-useless-iterator-to-array': [2],
596
+ 'unicorn/no-useless-length-check': [2],
597
+ 'unicorn-js/no-useless-logical-operand': [2],
598
+ 'unicorn-js/no-useless-override': [2],
599
+ 'unicorn/no-useless-promise-resolve-reject': [2],
600
+ 'unicorn-js/no-useless-re-export': [2],
601
+ 'unicorn-js/no-useless-recursion': [2],
602
+ 'unicorn/no-useless-spread': [2],
603
+ 'unicorn/no-useless-switch-case': [2],
604
+ 'unicorn-js/no-useless-template-literals': [2],
605
+ 'unicorn/no-useless-undefined': [2, { checkArguments: true, checkArrowFunctionBody: true }],
606
+ 'unicorn-js/no-xor-as-exponentiation': [2],
607
+ 'unicorn/no-zero-fractions': [2],
608
+ 'unicorn-js/number-literal-case': [2, { hexadecimalValue: 'uppercase' }],
609
+ 'unicorn-js/numeric-separators-style': [
610
+ 2,
611
+ {
612
+ onlyIfContainsSeparator: false,
613
+ binary: { minimumDigits: 0, groupLength: 4 },
614
+ octal: { minimumDigits: 0, groupLength: 4 },
615
+ hexadecimal: { minimumDigits: 0, groupLength: 2 },
616
+ number: { minimumDigits: 5, groupLength: 3 },
617
+ },
618
+ ],
619
+ 'unicorn-js/operator-assignment': [2, 'always'],
620
+ 'unicorn-js/prefer-abort-signal-any': [2],
621
+ 'unicorn-js/prefer-abort-signal-timeout': [2],
622
+ 'unicorn-js/prefer-add-event-listener': [2, { excludedPackages: ['koa', 'sax'] }],
623
+ 'unicorn-js/prefer-add-event-listener-options': [2],
624
+ 'unicorn-js/prefer-aggregate-error': [2],
625
+ 'unicorn-js/prefer-array-find': [2, { checkFromLast: true }],
626
+ 'unicorn-js/prefer-array-flat': [2, { functions: [] }],
627
+ 'unicorn/prefer-array-flat-map': [2],
628
+ 'unicorn-js/prefer-array-from-async': [2],
629
+ 'unicorn-js/prefer-array-from-map': [2],
630
+ 'unicorn-js/prefer-array-from-range': [2],
631
+ 'unicorn/prefer-array-index-of': [2],
632
+ 'unicorn-js/prefer-array-iterable-methods': [2],
633
+ 'unicorn-js/prefer-array-last-methods': [2],
634
+ 'unicorn-js/prefer-array-slice': [2],
635
+ 'unicorn/prefer-array-some': [2],
636
+ 'unicorn/prefer-at': [2, { getLastElementFunctions: [], checkAllIndexAccess: false }],
637
+ 'unicorn-js/prefer-await': [2],
638
+ 'unicorn/prefer-bigint-literals': [2],
639
+ 'unicorn/prefer-blob-reading-methods': [2],
640
+ 'unicorn-js/prefer-block-statement-over-iife': [2],
641
+ 'unicorn-js/prefer-boolean-return': [2],
642
+ 'unicorn/prefer-class-fields': [2],
643
+ 'unicorn/prefer-classlist-toggle': [2],
644
+ 'unicorn/prefer-code-point': [2],
645
+ 'unicorn-js/prefer-continue': [2, { maximumStatements: 1 }],
646
+ 'unicorn/prefer-date-now': [2],
647
+ 'unicorn/prefer-default-parameters': [2],
648
+ 'unicorn-js/prefer-direct-iteration': [2],
649
+ 'unicorn/prefer-dom-node-append': [2],
650
+ 'unicorn-js/prefer-dom-node-html-methods': [2, { checkGetHTML: true, checkSetHTML: false }],
651
+ 'unicorn/prefer-dom-node-remove': [2],
652
+ 'unicorn-js/prefer-dom-node-replace-children': [2],
653
+ 'unicorn/prefer-dom-node-text-content': [2],
654
+ 'unicorn-js/prefer-early-return': [2, { maximumStatements: 1 }],
655
+ 'unicorn-js/prefer-else-if': [2],
656
+ 'unicorn/prefer-event-target': [2],
657
+ 'unicorn/prefer-export-from': [2, { checkUsedVariables: true }],
658
+ 'unicorn-js/prefer-flat-math-min-max': [2],
659
+ 'unicorn-js/prefer-get-or-insert-computed': [2],
660
+ 'unicorn-js/prefer-global-number-constants': [2],
661
+ 'unicorn/prefer-global-this': [2],
662
+ 'unicorn-js/prefer-group-by': [2],
663
+ 'unicorn-js/prefer-has-check': [2],
664
+ 'unicorn-js/prefer-hoisting-branch-code': [2],
665
+ 'unicorn-js/prefer-https': [2, { ignore: [] }],
666
+ 'unicorn-js/prefer-identifier-import-export-specifiers': [2],
667
+ 'unicorn/prefer-includes': [2],
668
+ 'unicorn-js/prefer-includes-over-repeated-comparisons': [2, { minimumComparisons: 3 }],
669
+ 'unicorn-js/prefer-iterable-in-constructor': [2],
670
+ 'unicorn-js/prefer-iterator-helpers': [2],
671
+ 'unicorn-js/prefer-iterator-to-array': [2],
672
+ 'unicorn-js/prefer-iterator-to-array-at-end': [2],
673
+ 'unicorn/prefer-keyboard-event-key': [2],
674
+ 'unicorn-js/prefer-location-assign': [2],
675
+ 'unicorn/prefer-logical-operator-over-ternary': [2],
676
+ 'unicorn-js/prefer-map-from-entries': [2],
677
+ 'unicorn-js/prefer-math-abs': [2],
678
+ 'unicorn-js/prefer-math-constants': [2],
679
+ 'unicorn/prefer-math-min-max': [2],
680
+ 'unicorn/prefer-math-trunc': [2],
681
+ 'unicorn-js/prefer-minimal-ternary': [2, { checkVaryingBase: false, checkComputedMemberAccess: false }],
682
+ 'unicorn/prefer-modern-dom-apis': [2],
683
+ 'unicorn/prefer-modern-math-apis': [2],
684
+ 'unicorn/prefer-module': [2],
685
+ 'unicorn/prefer-native-coercion-functions': [2],
686
+ 'unicorn/prefer-negative-index': [2],
687
+ 'unicorn/prefer-node-protocol': [2],
688
+ 'unicorn/prefer-number-coercion': [2],
689
+ 'unicorn-js/prefer-number-is-safe-integer': [2],
690
+ 'unicorn/prefer-number-properties': [2, { checkInfinity: false, checkNaN: false }],
691
+ 'unicorn-js/prefer-object-define-properties': [2],
692
+ 'unicorn-js/prefer-object-destructuring-defaults': [2],
693
+ 'unicorn/prefer-object-from-entries': [2, { functions: [] }],
694
+ 'unicorn-js/prefer-object-iterable-methods': [2],
695
+ 'unicorn-js/prefer-observer-apis': [2],
696
+ 'unicorn/prefer-optional-catch-binding': [2],
697
+ 'unicorn-js/prefer-path2d': [2],
698
+ 'unicorn-js/prefer-promise-try': [2],
699
+ 'unicorn-js/prefer-promise-with-resolvers': [2],
700
+ 'unicorn-js/prefer-prototype-methods': [2],
701
+ 'unicorn-js/prefer-query-selector': [2, { allowWithVariables: false }],
702
+ 'unicorn-js/prefer-queue-microtask': [2, { checkSetImmediate: false, checkSetTimeout: false }],
703
+ 'unicorn/prefer-reflect-apply': [2],
704
+ 'unicorn-js/prefer-regexp-test': [2],
705
+ 'unicorn/prefer-response-static-json': [2],
706
+ 'unicorn-js/prefer-scoped-selector': [2],
707
+ 'unicorn-js/prefer-set-has': [2, { minimumItems: 0 }],
708
+ 'unicorn-js/prefer-set-methods': [2],
709
+ 'unicorn/prefer-set-size': [2],
710
+ 'unicorn-js/prefer-simple-condition-first': [2],
711
+ 'unicorn-js/prefer-simple-sort-comparator': [2],
712
+ 'unicorn-js/prefer-simplified-conditions': [2],
713
+ 'unicorn-js/prefer-single-array-predicate': [2],
714
+ 'unicorn/prefer-single-call': [2, { ignore: [] }],
715
+ 'unicorn-js/prefer-single-object-destructuring': [2],
716
+ 'unicorn-js/prefer-single-replace': [2],
717
+ 'unicorn-js/prefer-smaller-scope': [2],
718
+ 'unicorn-js/prefer-split-limit': [2],
719
+ 'unicorn/prefer-spread': [2],
720
+ 'unicorn-js/prefer-string-match-all': [2],
721
+ 'unicorn-js/prefer-string-pad-start-end': [2],
722
+ 'unicorn-js/prefer-string-raw': [2],
723
+ 'unicorn-js/prefer-string-repeat': [2, { minimumRepetitions: 3 }],
724
+ 'unicorn/prefer-string-replace-all': [2],
725
+ 'unicorn/prefer-string-slice': [2],
726
+ 'unicorn-js/prefer-string-starts-ends-with': [2],
727
+ 'unicorn/prefer-string-trim-start-end': [2],
728
+ 'unicorn-js/prefer-structured-clone': [2, { functions: [] }],
729
+ 'unicorn-js/prefer-switch': [2, { minimumCases: 3, emptyDefaultCase: 'no-default-comment' }],
730
+ 'unicorn/prefer-ternary': [2, 'always'],
731
+ 'unicorn-js/prefer-then-catch': [2],
732
+ 'unicorn-js/prefer-toggle-attribute': [2],
733
+ 'unicorn/prefer-top-level-await': [2],
734
+ 'unicorn/prefer-type-error': [2],
735
+ 'unicorn-js/prefer-type-literal-last': [2],
736
+ 'unicorn-js/prefer-unary-minus': [2],
737
+ 'unicorn-js/prefer-unicode-code-point-escapes': [2],
738
+ 'unicorn-js/prefer-url-can-parse': [2],
739
+ 'unicorn-js/prefer-url-href': [2],
740
+ 'unicorn-js/prefer-url-search-parameters': [2],
741
+ 'unicorn-js/prefer-while-loop-condition': [2],
742
+ 'unicorn/relative-url-style': [2, 'never'],
743
+ 'unicorn/require-array-join-separator': [2],
744
+ 'unicorn-js/require-array-sort-compare': [2],
745
+ 'unicorn-js/require-css-escape': [2, { checkAllSelectors: false }],
746
+ 'unicorn/require-module-attributes': [2],
747
+ 'unicorn/require-module-specifiers': [2],
748
+ 'unicorn/require-number-to-fixed-digits-argument': [2],
749
+ 'unicorn-js/require-passive-events': [2],
750
+ 'unicorn-js/require-proxy-trap-boolean-return': [2],
751
+ 'unicorn-js/single-line-block-comment-style': [2, 'multiline', { ignore: [] }],
752
+ 'unicorn/switch-case-braces': [2, 'always'],
753
+ 'unicorn/switch-case-break-position': [2],
754
+ 'unicorn-js/template-indent': [
755
+ 2,
756
+ {
757
+ tags: ['outdent', 'dedent', 'gql', 'sql', 'html', 'styled'],
758
+ functions: ['dedent', 'stripIndent'],
759
+ selectors: [],
760
+ comments: ['HTML', 'indent'],
761
+ },
762
+ ],
763
+ 'unicorn/text-encoding-identifier-case': [2, { withDash: false }],
764
+ 'unicorn/throw-new-error': [2],
765
+ 'eslint/use-isnan': [2, { enforceForIndexOf: false, enforceForSwitchCase: true }],
766
+ 'eslint/valid-typeof': [2, { requireStringLiterals: false }],
767
+ 'eslint/no-var': 'off',
768
+ 'eslint/prefer-rest-params': 'off',
769
+ 'eslint/prefer-spread': 'off',
770
+ 'stylistic-js/multiline-comment-style': 'off',
771
+ 'astro/no-deprecated-astro-canonicalurl': 'off',
772
+ 'astro/no-deprecated-astro-fetchcontent': 'off',
773
+ 'astro/no-deprecated-astro-resolve': 'off',
774
+ 'astro/no-deprecated-getentrybyslug': 'off',
775
+ 'astro/no-exports-from-components': 'off',
776
+ 'astro/no-prerender-export-outside-pages': 'off',
777
+ 'unicorn/no-null': 'off',
778
+ },
779
+ globals: {
780
+ AggregateError: 'readonly',
781
+ Array: 'readonly',
782
+ ArrayBuffer: 'readonly',
783
+ AsyncDisposableStack: 'readonly',
784
+ Atomics: 'readonly',
785
+ BigInt: 'readonly',
786
+ BigInt64Array: 'readonly',
787
+ BigUint64Array: 'readonly',
788
+ Boolean: 'readonly',
789
+ DataView: 'readonly',
790
+ Date: 'readonly',
791
+ decodeURI: 'readonly',
792
+ decodeURIComponent: 'readonly',
793
+ DisposableStack: 'readonly',
794
+ encodeURI: 'readonly',
795
+ encodeURIComponent: 'readonly',
796
+ Error: 'readonly',
797
+ escape: 'readonly',
798
+ eval: 'readonly',
799
+ EvalError: 'readonly',
800
+ FinalizationRegistry: 'readonly',
801
+ Float16Array: 'readonly',
802
+ Float32Array: 'readonly',
803
+ Float64Array: 'readonly',
804
+ Function: 'readonly',
805
+ globalThis: 'readonly',
806
+ Infinity: 'readonly',
807
+ Int16Array: 'readonly',
808
+ Int32Array: 'readonly',
809
+ Int8Array: 'readonly',
810
+ Intl: 'readonly',
811
+ isFinite: 'readonly',
812
+ isNaN: 'readonly',
813
+ Iterator: 'readonly',
814
+ JSON: 'readonly',
815
+ Map: 'readonly',
816
+ Math: 'readonly',
817
+ NaN: 'readonly',
818
+ Number: 'readonly',
819
+ Object: 'readonly',
820
+ parseFloat: 'readonly',
821
+ parseInt: 'readonly',
822
+ Promise: 'readonly',
823
+ Proxy: 'readonly',
824
+ RangeError: 'readonly',
825
+ ReferenceError: 'readonly',
826
+ Reflect: 'readonly',
827
+ RegExp: 'readonly',
828
+ Set: 'readonly',
829
+ SharedArrayBuffer: 'readonly',
830
+ String: 'readonly',
831
+ SuppressedError: 'readonly',
832
+ Symbol: 'readonly',
833
+ SyntaxError: 'readonly',
834
+ TypeError: 'readonly',
835
+ Uint16Array: 'readonly',
836
+ Uint32Array: 'readonly',
837
+ Uint8Array: 'readonly',
838
+ Uint8ClampedArray: 'readonly',
839
+ undefined: 'readonly',
840
+ unescape: 'readonly',
841
+ URIError: 'readonly',
842
+ WeakMap: 'readonly',
843
+ WeakRef: 'readonly',
844
+ WeakSet: 'readonly',
845
+ },
846
+ },
847
+ b84ced6e6cc1a835: {
848
+ rules: {
849
+ 'stylistic-js/lines-between-class-members': [
850
+ 2,
851
+ 'always',
852
+ { exceptAfterOverload: true, exceptAfterSingleLine: true },
853
+ ],
854
+ 'stylistic-js/padding-line-between-statements': [
855
+ 2,
856
+ { blankLine: 'always', prev: '*', next: 'if' },
857
+ { blankLine: 'always', prev: 'if', next: 'if' },
858
+ { blankLine: 'always', prev: ['const', 'let'], next: '*' },
859
+ { blankLine: 'any', prev: ['const', 'let'], next: ['const', 'let'] },
860
+ { blankLine: 'always', prev: '*', next: 'return' },
861
+ { blankLine: 'always', prev: '*', next: 'case' },
862
+ { blankLine: 'always', prev: 'if', next: '*' },
863
+ ],
864
+ 'stylistic-js/spaced-comment': [2, 'always'],
865
+ 'typescript/adjacent-overload-signatures': [2],
866
+ 'typescript-js/array-type': [2],
867
+ 'typescript/ban-ts-comment': [
868
+ 2,
869
+ { 'ts-expect-error': 'allow-with-description', 'ts-ignore': 'allow-with-description' },
870
+ ],
871
+ 'typescript/ban-tslint-comment': [2],
872
+ 'typescript/class-literal-property-style': [2],
873
+ 'typescript/consistent-generic-constructors': [2],
874
+ 'typescript/consistent-indexed-object-style': [2],
875
+ 'typescript/consistent-type-assertions': [2],
876
+ 'typescript/consistent-type-definitions': [2, 'type'],
877
+ 'typescript/consistent-type-imports': [2, { fixStyle: 'inline-type-imports' }],
878
+ 'eslint/no-array-constructor': [2],
879
+ 'typescript/no-confusing-non-null-assertion': [2],
880
+ 'typescript/no-duplicate-enum-values': [2],
881
+ 'eslint/no-empty-function': [2, { allow: [] }],
882
+ 'typescript/no-empty-object-type': [2],
883
+ 'typescript/no-explicit-any': [2],
884
+ 'typescript/no-extra-non-null-assertion': [2],
885
+ 'typescript/no-inferrable-types': [2],
886
+ 'typescript/no-misused-new': [2],
887
+ 'typescript/no-namespace': [2],
888
+ 'typescript/no-non-null-asserted-optional-chain': [2],
889
+ 'typescript/no-require-imports': [2],
890
+ 'eslint/no-shadow': [2, { ignoreTypeValueShadow: true }],
891
+ 'typescript/no-this-alias': [2],
892
+ 'typescript/no-unnecessary-type-constraint': [2],
893
+ 'typescript/no-unsafe-declaration-merging': [2],
894
+ 'typescript/no-unsafe-function-type': [2],
895
+ 'eslint/no-unused-expressions': [
896
+ 2,
897
+ { allowShortCircuit: false, allowTaggedTemplates: false, allowTernary: false },
898
+ ],
899
+ 'eslint/no-unused-vars': [2, { ignoreRestSiblings: true }],
900
+ 'typescript/no-wrapper-object-types': [2],
901
+ 'typescript-js/prefer-as-const': [2],
902
+ 'typescript/prefer-for-of': [2],
903
+ 'typescript/prefer-function-type': [2],
904
+ 'typescript/prefer-namespace-keyword': [2],
905
+ 'typescript/switch-exhaustiveness-check': [2],
906
+ 'typescript/triple-slash-reference': [2],
907
+ 'eslint/arrow-body-style': [2, 'as-needed'],
908
+ 'eslint-js/camelcase': [
909
+ 2,
910
+ { allow: [], ignoreDestructuring: false, ignoreGlobals: false, ignoreImports: false, properties: 'always' },
911
+ ],
912
+ 'eslint/constructor-super': 'off',
913
+ 'eslint/for-direction': [2],
914
+ 'eslint/getter-return': 'off',
915
+ 'import/default': [2],
916
+ 'import/export': [2],
917
+ 'import/extensions': [2, 'never', { js: 'never', json: 'ignorePackages' }],
918
+ 'import/namespace': [2],
919
+ 'import/newline-after-import': [2],
920
+ 'import/no-duplicates': [2, { considerQueryString: true }],
921
+ 'import/no-named-as-default': [1],
922
+ 'import/no-named-as-default-member': [1],
923
+ 'import-x-js/no-unresolved': [2, { caseSensitive: true }],
924
+ 'import-x-js/order': [
925
+ 2,
926
+ {
927
+ 'newlines-between': 'always',
928
+ groups: [['builtin', 'external'], ['internal'], ['parent'], ['sibling', 'index', 'object'], ['type']],
929
+ pathGroups: [{ pattern: '@/**', group: 'external', position: 'after' }],
930
+ alphabetize: { order: 'asc', caseInsensitive: false, orderImportKind: 'ignore' },
931
+ distinctGroup: true,
932
+ sortTypesGroup: false,
933
+ named: false,
934
+ warnOnUnassignedImports: false,
935
+ },
936
+ ],
937
+ 'eslint-js/newline-before-return': [2],
938
+ 'eslint/no-async-promise-executor': [2],
939
+ 'eslint/no-case-declarations': [2],
940
+ 'eslint/no-class-assign': 'off',
941
+ 'eslint/no-compare-neg-zero': [2],
942
+ 'eslint/no-cond-assign': [2, 'except-parens'],
943
+ 'eslint/no-console': [1, {}],
944
+ 'eslint/no-const-assign': 'off',
945
+ 'eslint/no-constant-binary-expression': [2, { checkRelationalComparisons: false }],
946
+ 'eslint/no-constant-condition': [2, { checkLoops: 'allExceptWhileTrue' }],
947
+ 'eslint/no-control-regex': [2],
948
+ 'eslint/no-debugger': [1],
949
+ 'eslint/no-delete-var': [2],
950
+ 'eslint-js/no-dupe-args': 'off',
951
+ 'eslint/no-dupe-class-members': 'off',
952
+ 'eslint/no-dupe-else-if': [2],
953
+ 'eslint/no-dupe-keys': 'off',
954
+ 'eslint/no-duplicate-case': [2],
955
+ 'eslint/no-empty': [2, { allowEmptyCatch: false }],
956
+ 'eslint/no-empty-character-class': [2],
957
+ 'eslint/no-empty-pattern': [2, { allowObjectPatternsAsParameters: false }],
958
+ 'eslint/no-empty-static-block': [2],
959
+ 'eslint/no-ex-assign': [2],
960
+ 'eslint/no-extra-boolean-cast': [2, {}],
961
+ 'eslint/no-fallthrough': [2, { allowEmptyCase: false, reportUnusedFallthroughComment: false }],
962
+ 'eslint/no-func-assign': 'off',
963
+ 'eslint/no-global-assign': [2, { exceptions: [] }],
964
+ 'eslint/no-import-assign': 'off',
965
+ 'eslint/no-invalid-regexp': [2, {}],
966
+ 'eslint/no-irregular-whitespace': [
967
+ 2,
968
+ { skipComments: false, skipJSXText: false, skipRegExps: false, skipStrings: true, skipTemplates: false },
969
+ ],
970
+ 'eslint/no-loss-of-precision': [2],
971
+ 'eslint/no-misleading-character-class': [2, { allowEscape: false }],
972
+ 'eslint/no-new-native-nonconstructor': 'off',
973
+ 'eslint/no-nonoctal-decimal-escape': [2],
974
+ 'eslint/no-obj-calls': 'off',
975
+ 'eslint-js/no-octal': [2],
976
+ 'eslint/no-prototype-builtins': [2],
977
+ 'eslint/no-redeclare': 'off',
978
+ 'eslint/no-regex-spaces': [2],
979
+ 'eslint-js/no-restricted-syntax': [
980
+ 2,
981
+ { selector: 'WithStatement', message: '`with` statement are not allowed.' },
982
+ { selector: 'ForInStatement', message: 'Use for..of instead.' },
983
+ {
984
+ selector: 'TSEnumDeclaration',
985
+ message: "Don't declare enums, use type union of literal strings or constants.",
986
+ },
987
+ { selector: 'MemberExpression[object.name="React"]', message: 'Use named imports from react.' },
988
+ {
989
+ selector:
990
+ 'CallExpression[callee.property.name="replaceAll"] > Literal[regex.flags=/^[^g]*$/].arguments:first-child',
991
+ message: 'Missing "g" flag in regular expression.',
992
+ },
993
+ ],
994
+ 'eslint/no-self-assign': [2, { props: true }],
995
+ 'eslint/no-setter-return': 'off',
996
+ 'eslint/no-shadow-restricted-names': [2, { reportGlobalThis: true }],
997
+ 'eslint/no-sparse-arrays': [2],
998
+ 'eslint/no-this-before-super': 'off',
999
+ 'eslint/no-unassigned-vars': [2],
1000
+ 'eslint/no-unreachable': 'off',
1001
+ 'eslint/no-unsafe-finally': [2],
1002
+ 'eslint/no-unsafe-negation': 'off',
1003
+ 'eslint/no-unsafe-optional-chaining': [2, { disallowArithmeticOperators: false }],
1004
+ 'eslint/no-unused-labels': [2],
1005
+ 'eslint/no-unused-private-class-members': [2],
1006
+ 'eslint/no-useless-assignment': [2],
1007
+ 'eslint/no-useless-backreference': [2],
1008
+ 'eslint/no-useless-catch': [2],
1009
+ 'eslint/no-useless-escape': [2, { allowRegexCharacters: [] }],
1010
+ 'eslint/no-with': 'off',
1011
+ 'eslint/object-shorthand': [2, 'always'],
1012
+ 'eslint/prefer-const': [2, { destructuring: 'any', ignoreReadBeforeAssign: false }],
1013
+ 'eslint/prefer-template': [2],
1014
+ 'eslint-js/preserve-caught-error': [2, { requireCatchParameter: false, errorClassNames: [] }],
1015
+ 'prettier/prettier': [2],
1016
+ 'eslint/require-yield': [2],
1017
+ 'sonarjs/assertions-in-test-cases': [2],
1018
+ 'sonarjs/async-test-assertions': [2],
1019
+ 'sonarjs/aws-apigateway-public-api': [2],
1020
+ 'sonarjs/aws-ec2-rds-dms-public': [2],
1021
+ 'sonarjs/aws-ec2-unencrypted-ebs-volume': [2],
1022
+ 'sonarjs/aws-efs-unencrypted': [2],
1023
+ 'sonarjs/aws-iam-all-privileges': [2],
1024
+ 'sonarjs/aws-iam-privilege-escalation': [2],
1025
+ 'sonarjs/aws-iam-public-access': [2],
1026
+ 'sonarjs/aws-opensearchservice-domain': [2],
1027
+ 'sonarjs/aws-rds-unencrypted-databases': [2],
1028
+ 'sonarjs/aws-restricted-ip-admin-access': [2],
1029
+ 'sonarjs/aws-s3-bucket-granted-access': [2],
1030
+ 'sonarjs/aws-s3-bucket-insecure-http': [2],
1031
+ 'sonarjs/aws-s3-bucket-public-access': [2],
1032
+ 'sonarjs/aws-s3-bucket-versioning': [2],
1033
+ 'sonarjs/aws-sagemaker-unencrypted-notebook': [2],
1034
+ 'sonarjs/aws-sns-unencrypted-topics': [2],
1035
+ 'sonarjs/aws-sqs-unencrypted-queue': [2],
1036
+ 'sonarjs/block-scoped-var': [2],
1037
+ 'sonarjs/call-argument-line': [2],
1038
+ 'sonarjs/chai-determinate-assertion': [2],
1039
+ 'sonarjs/class-name': [2, { format: '^\\$?[A-Z][a-zA-Z0-9]*$' }],
1040
+ 'sonarjs/code-eval': [2],
1041
+ 'sonarjs/cognitive-complexity': [2, 15],
1042
+ 'sonarjs/comma-or-logical-or-case': [2],
1043
+ 'sonarjs/constructor-for-side-effects': [2],
1044
+ 'sonarjs/content-length': [2, { fileUploadSizeLimit: 8000000, standardSizeLimit: 2000000 }],
1045
+ 'sonarjs/content-security-policy': [2],
1046
+ 'sonarjs/cookie-no-httponly': [2],
1047
+ 'sonarjs/cors': [2],
1048
+ 'sonarjs/csrf': [2],
1049
+ 'typescript/no-deprecated': [2],
1050
+ 'sonarjs/disabled-timeout': [2],
1051
+ 'sonarjs/dynamically-constructed-templates': [2],
1052
+ 'sonarjs/encryption-secure-mode': [2],
1053
+ 'sonarjs/explicit-test-skip': [2],
1054
+ 'sonarjs/file-permissions': [2],
1055
+ 'sonarjs/file-uploads': [2],
1056
+ 'sonarjs/fixme-tag': [2],
1057
+ 'sonarjs/for-loop-increment-sign': [2],
1058
+ 'sonarjs/function-inside-loop': [2],
1059
+ 'sonarjs/future-reserved-words': [2],
1060
+ 'sonarjs/generator-without-yield': [2],
1061
+ 'sonarjs/hardcoded-secret-signatures': [2],
1062
+ 'sonarjs/hashing': [2],
1063
+ 'sonarjs/hooks-before-test-cases': [2],
1064
+ 'sonarjs/inconsistent-function-call': [2],
1065
+ 'sonarjs/insecure-cookie': [2],
1066
+ 'sonarjs/insecure-jwt-token': [2],
1067
+ 'sonarjs/inverted-assertion-arguments': [2],
1068
+ 'sonarjs/label-position': [2],
1069
+ 'sonarjs/link-with-target-blank': [2],
1070
+ 'sonarjs/max-switch-cases': [2, 30],
1071
+ 'sonarjs/memoize-cache-key': [2],
1072
+ 'sonarjs/misplaced-loop-counter': [2],
1073
+ 'sonarjs/no-all-duplicated-branches': [2],
1074
+ 'typescript/require-array-sort-compare': [2],
1075
+ 'sonarjs/no-angular-bypass-sanitization': [2],
1076
+ 'typescript/no-array-delete': [2],
1077
+ 'sonarjs/no-case-label-in-switch': [2],
1078
+ 'sonarjs/no-clear-text-protocols': [2],
1079
+ 'sonarjs/no-code-after-done': [2],
1080
+ 'sonarjs/no-dead-store': [2],
1081
+ 'sonarjs/no-debug-commands-in-ui-tests': [2],
1082
+ 'sonarjs/no-default-utility-imports': [2],
1083
+ 'sonarjs/no-delete-var': [2],
1084
+ 'sonarjs/no-duplicate-in-composite': [2],
1085
+ 'sonarjs/no-duplicate-test-title': [2],
1086
+ 'sonarjs/no-duplicated-branches': [2],
1087
+ 'sonarjs/no-element-overwrite': [2],
1088
+ 'sonarjs/no-empty-collection': [2],
1089
+ 'sonarjs/no-empty-test-file': [2],
1090
+ 'sonarjs/no-empty-test-title': [2],
1091
+ 'sonarjs/no-equals-in-for-termination': [2],
1092
+ 'sonarjs/no-exclusive-tests': [2],
1093
+ 'sonarjs/no-extra-arguments': [2],
1094
+ 'sonarjs/no-fallthrough': [2],
1095
+ 'sonarjs/no-fixed-wait-in-tests': [2],
1096
+ 'sonarjs/no-floating-point-equality': [2],
1097
+ 'sonarjs/no-forced-browser-interaction': [2],
1098
+ 'sonarjs/no-global-this': [2],
1099
+ 'sonarjs/no-globals-shadowing': [2],
1100
+ 'sonarjs/no-gratuitous-expressions': [2],
1101
+ 'sonarjs/no-hardcoded-ip': [2],
1102
+ 'sonarjs/no-hardcoded-passwords': [2, { passwordWords: ['password', 'pwd', 'passwd', 'passphrase'] }],
1103
+ 'sonarjs/no-hardcoded-secrets': [
1104
+ 2,
1105
+ { secretWords: 'api[_.-]?key,auth,credential,secret,token', randomnessSensibility: 5 },
1106
+ ],
1107
+ 'sonarjs/no-hook-setter-in-body': [2],
1108
+ 'sonarjs/no-identical-conditions': [2],
1109
+ 'sonarjs/no-identical-expressions': [2],
1110
+ 'sonarjs/no-identical-functions': [2, 3],
1111
+ 'sonarjs/no-ignored-exceptions': [2],
1112
+ 'sonarjs/no-implicit-global': [2],
1113
+ 'sonarjs/no-incomplete-assertions': [2],
1114
+ 'sonarjs/no-internal-api-use': [2],
1115
+ 'sonarjs/no-interpolation-in-inline-snapshots': [2],
1116
+ 'sonarjs/no-invariant-returns': [2],
1117
+ 'sonarjs/no-inverted-boolean-check': [2],
1118
+ 'sonarjs/no-labels': [2],
1119
+ 'sonarjs/no-literal-call': [2],
1120
+ 'sonarjs/no-mime-sniff': [2],
1121
+ 'sonarjs/no-mixed-completion-style': [2],
1122
+ 'sonarjs/no-nested-assignment': [2],
1123
+ 'sonarjs/no-nested-conditional': [2],
1124
+ 'sonarjs/no-nested-functions': [2, { threshold: 4 }],
1125
+ 'sonarjs/no-nested-template-literals': [2],
1126
+ 'sonarjs/no-os-command-from-path': [2],
1127
+ 'sonarjs/no-parameter-reassignment': [2],
1128
+ 'sonarjs/no-primitive-wrappers': [2],
1129
+ 'sonarjs/no-redundant-assignments': [2],
1130
+ 'sonarjs/no-redundant-boolean': [2],
1131
+ 'sonarjs/no-redundant-jump': [2],
1132
+ 'sonarjs/no-referrer-policy': [2],
1133
+ 'sonarjs/no-same-argument-assert': [2],
1134
+ 'sonarjs/no-same-line-conditional': [2],
1135
+ 'sonarjs/no-session-cookies-on-static-assets': [2],
1136
+ 'sonarjs/no-skipped-tests': [2],
1137
+ 'sonarjs/no-table-as-layout': [2],
1138
+ 'sonarjs/no-trivial-assertions': [2],
1139
+ 'sonarjs/no-unenclosed-multiline-block': [2],
1140
+ 'sonarjs/no-uniq-key': [2],
1141
+ 'sonarjs/no-unthrown-error': [2],
1142
+ 'sonarjs/no-unused-collection': [2],
1143
+ 'sonarjs/no-unused-vars': [2],
1144
+ 'sonarjs/no-use-of-empty-return-value': [2],
1145
+ 'sonarjs/no-useless-catch': [2],
1146
+ 'sonarjs/no-useless-increment': [2],
1147
+ 'sonarjs/no-useless-react-setstate': [2],
1148
+ 'sonarjs/no-weak-cipher': [2],
1149
+ 'sonarjs/no-weak-keys': [2],
1150
+ 'sonarjs/non-existent-operator': [2],
1151
+ 'sonarjs/object-alt-content': [2],
1152
+ 'sonarjs/parameterized-tests': [2],
1153
+ 'sonarjs/prefer-default-last': [2],
1154
+ 'sonarjs/prefer-native-lodash-alternative': [2],
1155
+ 'sonarjs/prefer-promise-shorthand': [2],
1156
+ 'typescript/prefer-regexp-exec': [2],
1157
+ 'sonarjs/prefer-single-boolean-return': [2],
1158
+ 'sonarjs/prefer-specific-assertions': [2],
1159
+ 'sonarjs/prefer-type-guard': [2],
1160
+ 'sonarjs/prefer-while': [2],
1161
+ 'sonarjs/production-debug': [2],
1162
+ 'sonarjs/pseudo-random': [2],
1163
+ 'sonarjs/public-static-readonly': [2],
1164
+ 'sonarjs/publicly-writable-directories': [2],
1165
+ 'sonarjs/redundant-type-aliases': [2],
1166
+ 'sonarjs/review-blockchain-mnemonic': [2],
1167
+ 'sonarjs/session-regeneration': [2],
1168
+ 'sonarjs/stable-tests': [2],
1169
+ 'sonarjs/stateful-regex': [2],
1170
+ 'sonarjs/strict-transport-security': [2],
1171
+ 'sonarjs/super-linear-regex': [2],
1172
+ 'sonarjs/synchronous-suite-callback': [2],
1173
+ 'sonarjs/table-header': [2],
1174
+ 'sonarjs/table-header-reference': [2],
1175
+ 'sonarjs/test-check-exception': [2],
1176
+ 'sonarjs/todo-tag': [1],
1177
+ 'sonarjs/unverified-certificate': [2],
1178
+ 'sonarjs/unverified-hostname': [2],
1179
+ 'sonarjs/updated-const-var': [2],
1180
+ 'sonarjs/updated-loop-counter': [2],
1181
+ 'sonarjs/use-type-alias': [2],
1182
+ 'sonarjs/weak-ssl': [2],
1183
+ 'sonarjs/x-powered-by': [2],
1184
+ 'sonarjs/xml-parser-xxe': [2],
1185
+ 'eslint/sort-imports': [
1186
+ 2,
1187
+ {
1188
+ allowSeparatedGroups: false,
1189
+ ignoreCase: false,
1190
+ ignoreDeclarationSort: true,
1191
+ ignoreMemberSort: false,
1192
+ memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
1193
+ },
1194
+ ],
1195
+ 'unicorn-js/better-dom-traversing': [2],
1196
+ 'unicorn/catch-error-name': [2, { name: 'error', ignore: [] }],
1197
+ 'unicorn-js/class-reference-in-static-methods': [2, { preferThis: true, preferSuper: true }],
1198
+ 'unicorn/consistent-assert': [2],
1199
+ 'unicorn-js/consistent-boolean-name': [
1200
+ 2,
1201
+ {
1202
+ checkVariables: 'always',
1203
+ checkArguments: 'always',
1204
+ checkFunctions: 'always',
1205
+ checkMethods: 'never',
1206
+ checkFields: 'never',
1207
+ ignore: [],
1208
+ wrappers: {},
1209
+ },
1210
+ ],
1211
+ 'unicorn-js/consistent-class-member-order': [
1212
+ 2,
1213
+ {
1214
+ order: [
1215
+ 'static-field',
1216
+ 'static-block',
1217
+ 'static-method',
1218
+ 'private-field',
1219
+ 'public-field',
1220
+ 'constructor',
1221
+ 'private-method',
1222
+ 'public-method',
1223
+ ],
1224
+ },
1225
+ ],
1226
+ 'unicorn-js/consistent-compound-words': [2, {}],
1227
+ 'unicorn-js/consistent-conditional-object-spread': [2, 'logical'],
1228
+ 'unicorn/consistent-date-clone': [2],
1229
+ 'unicorn-js/consistent-destructuring': [2],
1230
+ 'unicorn/consistent-empty-array-spread': [2],
1231
+ 'unicorn/consistent-existence-index-check': [2],
1232
+ 'unicorn-js/consistent-export-decorator-position': [2, 'above'],
1233
+ 'unicorn-js/consistent-function-scoping': [2, { checkArrowFunctions: true }],
1234
+ 'unicorn-js/consistent-json-file-read': [2, 'string'],
1235
+ 'unicorn-js/consistent-optional-chaining': [2],
1236
+ 'unicorn/consistent-template-literal-escape': [2],
1237
+ 'unicorn-js/consistent-tuple-labels': [2],
1238
+ 'unicorn/custom-error-definition': [2],
1239
+ 'unicorn-js/default-export-style': [2, { functions: 'inline', classes: 'inline' }],
1240
+ 'unicorn-js/dom-node-dataset': [2, { preferAttributes: false }],
1241
+ 'unicorn/empty-brace-spaces': [2],
1242
+ 'unicorn/error-message': [2],
1243
+ 'unicorn-js/escape-case': [2, 'uppercase'],
1244
+ 'unicorn-js/expiring-todo-comments': [
1245
+ 2,
1246
+ {
1247
+ terms: ['todo', 'fixme', 'xxx'],
1248
+ ignore: [],
1249
+ checkDates: false,
1250
+ checkDatesOnPullRequests: false,
1251
+ allowWarningComments: true,
1252
+ },
1253
+ ],
1254
+ 'unicorn/explicit-length-check': [2, { 'non-zero': 'greater-than' }],
1255
+ 'unicorn-js/explicit-timer-delay': [2, 'always'],
1256
+ 'unicorn/filename-case': [2],
1257
+ 'unicorn/import-style': [2, {}],
1258
+ 'unicorn-js/isolated-functions': [
1259
+ 2,
1260
+ { functions: ['makeSynchronous', 'workerize'], selectors: [], comments: ['@isolated'], overrideGlobals: {} },
1261
+ ],
1262
+ 'unicorn-js/logical-assignment-operators': [2, 'always'],
1263
+ 'unicorn/max-nested-calls': [2, { max: 3 }],
1264
+ 'unicorn-js/name-replacements': [
1265
+ 2,
1266
+ {
1267
+ replacements: {
1268
+ dev: false,
1269
+ prod: false,
1270
+ props: false,
1271
+ ref: false,
1272
+ refs: false,
1273
+ args: false,
1274
+ params: false,
1275
+ utils: false,
1276
+ env: false,
1277
+ },
1278
+ },
1279
+ ],
1280
+ 'unicorn/new-for-builtins': [2],
1281
+ 'unicorn/no-abusive-eslint-disable': [2],
1282
+ 'unicorn/no-accessor-recursion': [2],
1283
+ 'unicorn-js/no-accidental-bitwise-operator': [2],
1284
+ 'unicorn/no-anonymous-default-export': [2],
1285
+ 'unicorn-js/no-array-callback-reference': [2, { ignore: [] }],
1286
+ 'unicorn-js/no-array-concat-in-loop': [2],
1287
+ 'unicorn/no-array-fill-with-reference-type': [2],
1288
+ 'unicorn-js/no-array-from-fill': [2],
1289
+ 'unicorn/no-array-method-this-argument': [2],
1290
+ 'unicorn/no-array-reduce': [2, { allowSimpleOperations: true }],
1291
+ 'unicorn/no-array-reverse': [2, { allowExpressionStatement: true }],
1292
+ 'unicorn/no-array-sort': [2, { allowExpressionStatement: true }],
1293
+ 'unicorn-js/no-array-sort-for-min-max': [2],
1294
+ 'unicorn-js/no-array-splice': [2],
1295
+ 'unicorn-js/no-async-promise-finally': [2],
1296
+ 'unicorn/no-await-expression-member': [2],
1297
+ 'unicorn/no-await-in-promise-methods': [2],
1298
+ 'unicorn-js/no-boolean-sort-comparator': [2],
1299
+ 'unicorn-js/no-break-in-nested-loop': [2],
1300
+ 'unicorn-js/no-canvas-to-image': [2],
1301
+ 'unicorn-js/no-chained-comparison': [2],
1302
+ 'unicorn-js/no-collection-bracket-access': [2],
1303
+ 'unicorn-js/no-computed-property-existence-check': [2],
1304
+ 'unicorn-js/no-confusing-array-splice': [2],
1305
+ 'unicorn/no-confusing-array-with': [2],
1306
+ 'unicorn/no-console-spaces': [2],
1307
+ 'unicorn-js/no-constant-zero-expression': [2],
1308
+ 'unicorn-js/no-declarations-before-early-exit': [2],
1309
+ 'unicorn/no-document-cookie': [2],
1310
+ 'unicorn-js/no-double-comparison': [2],
1311
+ 'unicorn-js/no-duplicate-if-branches': [2],
1312
+ 'unicorn-js/no-duplicate-logical-operands': [2],
1313
+ 'unicorn-js/no-duplicate-loops': [2],
1314
+ 'unicorn-js/no-duplicate-set-values': [2],
1315
+ 'unicorn-js/no-empty-file': [2, { allowComments: false }],
1316
+ 'unicorn-js/no-error-property-assignment': [2],
1317
+ 'unicorn-js/no-exports-in-scripts': [2],
1318
+ 'unicorn-js/no-for-each': [2],
1319
+ 'unicorn-js/no-for-loop': [2],
1320
+ 'unicorn-js/no-global-object-property-assignment': [2],
1321
+ 'unicorn/no-immediate-mutation': [2],
1322
+ 'unicorn-js/no-impossible-length-comparison': [2],
1323
+ 'unicorn-js/no-incorrect-query-selector': [2],
1324
+ 'unicorn-js/no-incorrect-template-string-interpolation': [2],
1325
+ 'unicorn/no-instanceof-builtins': [2, { useErrorIsError: false, strategy: 'loose', include: [], exclude: [] }],
1326
+ 'unicorn-js/no-invalid-argument-count': [2, {}],
1327
+ 'unicorn-js/no-invalid-character-comparison': [2],
1328
+ 'unicorn/no-invalid-fetch-options': [2],
1329
+ 'unicorn/no-invalid-remove-event-listener': [2],
1330
+ 'unicorn-js/no-invalid-well-known-symbol-methods': [2],
1331
+ 'unicorn-js/no-late-current-target-access': [2],
1332
+ 'unicorn-js/no-late-event-control': [2],
1333
+ 'unicorn/no-lonely-if': [2],
1334
+ 'unicorn-js/no-loop-iterable-mutation': [2],
1335
+ 'unicorn/no-magic-array-flat-depth': [2],
1336
+ 'unicorn-js/no-mismatched-map-key': [2],
1337
+ 'unicorn-js/no-misrefactored-assignment': [2],
1338
+ 'unicorn-js/no-multiple-promise-resolver-calls': [2],
1339
+ 'unicorn-js/no-named-default': [2],
1340
+ 'unicorn-js/no-negated-array-predicate': [2],
1341
+ 'unicorn-js/no-negated-comparison': [2, { checkLogicalExpressions: false }],
1342
+ 'unicorn/no-negated-condition': [2],
1343
+ 'unicorn/no-negation-in-equality-check': [2],
1344
+ 'unicorn/no-nested-ternary': [2],
1345
+ 'unicorn/no-new-array': [2],
1346
+ 'unicorn/no-new-buffer': [2],
1347
+ 'unicorn-js/no-nonstandard-builtin-properties': [2],
1348
+ 'unicorn/no-object-as-default-parameter': [2],
1349
+ 'unicorn-js/no-object-methods-with-collections': [2],
1350
+ 'unicorn-js/no-optional-chaining-on-undeclared-variable': [2],
1351
+ 'unicorn/no-process-exit': [2],
1352
+ 'unicorn-js/no-redundant-comparison': [2],
1353
+ 'unicorn-js/no-return-array-push': [2],
1354
+ 'unicorn-js/no-selector-as-dom-name': [2],
1355
+ 'unicorn/no-single-promise-in-promise-methods': [2],
1356
+ 'unicorn/no-static-only-class': [2],
1357
+ 'unicorn-js/no-subtraction-comparison': [2],
1358
+ 'unicorn/no-thenable': [2],
1359
+ 'unicorn/no-this-assignment': [2],
1360
+ 'unicorn-js/no-this-outside-of-class': [2],
1361
+ 'unicorn-js/no-top-level-assignment-in-function': [2],
1362
+ 'unicorn-js/no-top-level-side-effects': [2],
1363
+ 'unicorn/no-typeof-undefined': [2, { checkGlobalVariables: false }],
1364
+ 'unicorn-js/no-uncalled-method': [2],
1365
+ 'unicorn-js/no-undeclared-class-members': [2],
1366
+ 'unicorn/no-unnecessary-array-flat-depth': [2],
1367
+ 'unicorn-js/no-unnecessary-array-flat-map': [2],
1368
+ 'unicorn/no-unnecessary-array-splice-count': [2],
1369
+ 'unicorn-js/no-unnecessary-await': [2],
1370
+ 'unicorn-js/no-unnecessary-boolean-comparison': [2],
1371
+ 'unicorn-js/no-unnecessary-fetch-options': [2],
1372
+ 'unicorn-js/no-unnecessary-global-this': [2],
1373
+ 'unicorn-js/no-unnecessary-nested-ternary': [2],
1374
+ 'unicorn-js/no-unnecessary-polyfills': [2, {}],
1375
+ 'unicorn/no-unnecessary-slice-end': [2],
1376
+ 'unicorn-js/no-unnecessary-splice': [2],
1377
+ 'unicorn-js/no-unnecessary-string-trim': [2],
1378
+ 'unicorn-js/no-unreadable-array-destructuring': [2, { maximumIgnoredElements: 1 }],
1379
+ 'unicorn-js/no-unreadable-for-of-expression': [2],
1380
+ 'unicorn/no-unreadable-iife': [2],
1381
+ 'unicorn-js/no-unreadable-object-destructuring': [2],
1382
+ 'unicorn-js/no-unsafe-buffer-conversion': [2],
1383
+ 'unicorn-js/no-unsafe-promise-all-settled-values': [2],
1384
+ 'unicorn-js/no-unsafe-property-key': [2],
1385
+ 'unicorn-js/no-unsafe-sqlite-interpolation': [2],
1386
+ 'unicorn-js/no-unsafe-string-replacement': [2],
1387
+ 'unicorn-js/no-unused-array-method-return': [2],
1388
+ 'unicorn-js/no-unused-properties': [2],
1389
+ 'unicorn-js/no-useless-boolean-cast': [2],
1390
+ 'unicorn-js/no-useless-coercion': [2],
1391
+ 'unicorn/no-useless-collection-argument': [2],
1392
+ 'unicorn-js/no-useless-compound-assignment': [2],
1393
+ 'unicorn-js/no-useless-concat': [2],
1394
+ 'unicorn-js/no-useless-continue': [2],
1395
+ 'unicorn-js/no-useless-delete-check': [2],
1396
+ 'unicorn-js/no-useless-else': [2],
1397
+ 'unicorn/no-useless-error-capture-stack-trace': [2],
1398
+ 'unicorn/no-useless-fallback-in-spread': [2],
1399
+ 'unicorn/no-useless-iterator-to-array': [2],
1400
+ 'unicorn/no-useless-length-check': [2],
1401
+ 'unicorn-js/no-useless-logical-operand': [2],
1402
+ 'unicorn-js/no-useless-override': [2],
1403
+ 'unicorn/no-useless-promise-resolve-reject': [2],
1404
+ 'unicorn-js/no-useless-re-export': [2],
1405
+ 'unicorn-js/no-useless-recursion': [2],
1406
+ 'unicorn/no-useless-spread': [2],
1407
+ 'unicorn/no-useless-switch-case': [2],
1408
+ 'unicorn-js/no-useless-template-literals': [2],
1409
+ 'unicorn/no-useless-undefined': [2, { checkArguments: true, checkArrowFunctionBody: true }],
1410
+ 'unicorn-js/no-xor-as-exponentiation': [2],
1411
+ 'unicorn/no-zero-fractions': [2],
1412
+ 'unicorn-js/number-literal-case': [2, { hexadecimalValue: 'uppercase' }],
1413
+ 'unicorn-js/numeric-separators-style': [
1414
+ 2,
1415
+ {
1416
+ onlyIfContainsSeparator: false,
1417
+ binary: { minimumDigits: 0, groupLength: 4 },
1418
+ octal: { minimumDigits: 0, groupLength: 4 },
1419
+ hexadecimal: { minimumDigits: 0, groupLength: 2 },
1420
+ number: { minimumDigits: 5, groupLength: 3 },
1421
+ },
1422
+ ],
1423
+ 'unicorn-js/operator-assignment': [2, 'always'],
1424
+ 'unicorn-js/prefer-abort-signal-any': [2],
1425
+ 'unicorn-js/prefer-abort-signal-timeout': [2],
1426
+ 'unicorn-js/prefer-add-event-listener': [2, { excludedPackages: ['koa', 'sax'] }],
1427
+ 'unicorn-js/prefer-add-event-listener-options': [2],
1428
+ 'unicorn-js/prefer-aggregate-error': [2],
1429
+ 'unicorn-js/prefer-array-find': [2, { checkFromLast: true }],
1430
+ 'unicorn-js/prefer-array-flat': [2, { functions: [] }],
1431
+ 'unicorn/prefer-array-flat-map': [2],
1432
+ 'unicorn-js/prefer-array-from-async': [2],
1433
+ 'unicorn-js/prefer-array-from-map': [2],
1434
+ 'unicorn-js/prefer-array-from-range': [2],
1435
+ 'unicorn/prefer-array-index-of': [2],
1436
+ 'unicorn-js/prefer-array-iterable-methods': [2],
1437
+ 'unicorn-js/prefer-array-last-methods': [2],
1438
+ 'unicorn-js/prefer-array-slice': [2],
1439
+ 'unicorn/prefer-array-some': [2],
1440
+ 'unicorn/prefer-at': [2, { getLastElementFunctions: [], checkAllIndexAccess: false }],
1441
+ 'unicorn-js/prefer-await': [2],
1442
+ 'unicorn/prefer-bigint-literals': [2],
1443
+ 'unicorn/prefer-blob-reading-methods': [2],
1444
+ 'unicorn-js/prefer-block-statement-over-iife': [2],
1445
+ 'unicorn-js/prefer-boolean-return': [2],
1446
+ 'unicorn/prefer-class-fields': [2],
1447
+ 'unicorn/prefer-classlist-toggle': [2],
1448
+ 'unicorn/prefer-code-point': [2],
1449
+ 'unicorn-js/prefer-continue': [2, { maximumStatements: 1 }],
1450
+ 'unicorn/prefer-date-now': [2],
1451
+ 'unicorn/prefer-default-parameters': [2],
1452
+ 'unicorn-js/prefer-direct-iteration': [2],
1453
+ 'unicorn/prefer-dom-node-append': [2],
1454
+ 'unicorn-js/prefer-dom-node-html-methods': [2, { checkGetHTML: true, checkSetHTML: false }],
1455
+ 'unicorn/prefer-dom-node-remove': [2],
1456
+ 'unicorn-js/prefer-dom-node-replace-children': [2],
1457
+ 'unicorn/prefer-dom-node-text-content': [2],
1458
+ 'unicorn-js/prefer-early-return': [2, { maximumStatements: 1 }],
1459
+ 'unicorn-js/prefer-else-if': [2],
1460
+ 'unicorn/prefer-event-target': [2],
1461
+ 'unicorn/prefer-export-from': [2, { checkUsedVariables: true }],
1462
+ 'unicorn-js/prefer-flat-math-min-max': [2],
1463
+ 'unicorn-js/prefer-get-or-insert-computed': [2],
1464
+ 'unicorn-js/prefer-global-number-constants': [2],
1465
+ 'unicorn/prefer-global-this': [2],
1466
+ 'unicorn-js/prefer-group-by': [2],
1467
+ 'unicorn-js/prefer-has-check': [2],
1468
+ 'unicorn-js/prefer-hoisting-branch-code': [2],
1469
+ 'unicorn-js/prefer-https': [2, { ignore: [] }],
1470
+ 'unicorn-js/prefer-identifier-import-export-specifiers': [2],
1471
+ 'unicorn/prefer-includes': [2],
1472
+ 'unicorn-js/prefer-includes-over-repeated-comparisons': [2, { minimumComparisons: 3 }],
1473
+ 'unicorn-js/prefer-iterable-in-constructor': [2],
1474
+ 'unicorn-js/prefer-iterator-helpers': [2],
1475
+ 'unicorn-js/prefer-iterator-to-array': [2],
1476
+ 'unicorn-js/prefer-iterator-to-array-at-end': [2],
1477
+ 'unicorn/prefer-keyboard-event-key': [2],
1478
+ 'unicorn-js/prefer-location-assign': [2],
1479
+ 'unicorn/prefer-logical-operator-over-ternary': [2],
1480
+ 'unicorn-js/prefer-map-from-entries': [2],
1481
+ 'unicorn-js/prefer-math-abs': [2],
1482
+ 'unicorn-js/prefer-math-constants': [2],
1483
+ 'unicorn/prefer-math-min-max': [2],
1484
+ 'unicorn/prefer-math-trunc': [2],
1485
+ 'unicorn-js/prefer-minimal-ternary': [2, { checkVaryingBase: false, checkComputedMemberAccess: false }],
1486
+ 'unicorn/prefer-modern-dom-apis': [2],
1487
+ 'unicorn/prefer-modern-math-apis': [2],
1488
+ 'unicorn/prefer-module': [2],
1489
+ 'unicorn/prefer-native-coercion-functions': [2],
1490
+ 'unicorn/prefer-negative-index': [2],
1491
+ 'unicorn/prefer-node-protocol': [2],
1492
+ 'unicorn/prefer-number-coercion': [2],
1493
+ 'unicorn-js/prefer-number-is-safe-integer': [2],
1494
+ 'unicorn/prefer-number-properties': [2, { checkInfinity: false, checkNaN: false }],
1495
+ 'unicorn-js/prefer-object-define-properties': [2],
1496
+ 'unicorn-js/prefer-object-destructuring-defaults': [2],
1497
+ 'unicorn/prefer-object-from-entries': [2, { functions: [] }],
1498
+ 'unicorn-js/prefer-object-iterable-methods': [2],
1499
+ 'unicorn-js/prefer-observer-apis': [2],
1500
+ 'unicorn/prefer-optional-catch-binding': [2],
1501
+ 'unicorn-js/prefer-path2d': [2],
1502
+ 'unicorn-js/prefer-promise-try': [2],
1503
+ 'unicorn-js/prefer-promise-with-resolvers': [2],
1504
+ 'unicorn-js/prefer-prototype-methods': [2],
1505
+ 'unicorn-js/prefer-query-selector': [2, { allowWithVariables: false }],
1506
+ 'unicorn-js/prefer-queue-microtask': [2, { checkSetImmediate: false, checkSetTimeout: false }],
1507
+ 'unicorn/prefer-reflect-apply': [2],
1508
+ 'unicorn-js/prefer-regexp-test': [2],
1509
+ 'unicorn/prefer-response-static-json': [2],
1510
+ 'unicorn-js/prefer-scoped-selector': [2],
1511
+ 'unicorn-js/prefer-set-has': [2, { minimumItems: 0 }],
1512
+ 'unicorn-js/prefer-set-methods': [2],
1513
+ 'unicorn/prefer-set-size': [2],
1514
+ 'unicorn-js/prefer-simple-condition-first': [2],
1515
+ 'unicorn-js/prefer-simple-sort-comparator': [2],
1516
+ 'unicorn-js/prefer-simplified-conditions': [2],
1517
+ 'unicorn-js/prefer-single-array-predicate': [2],
1518
+ 'unicorn/prefer-single-call': [2, { ignore: [] }],
1519
+ 'unicorn-js/prefer-single-object-destructuring': [2],
1520
+ 'unicorn-js/prefer-single-replace': [2],
1521
+ 'unicorn-js/prefer-smaller-scope': [2],
1522
+ 'unicorn-js/prefer-split-limit': [2],
1523
+ 'unicorn/prefer-spread': [2],
1524
+ 'unicorn-js/prefer-string-match-all': [2],
1525
+ 'unicorn-js/prefer-string-pad-start-end': [2],
1526
+ 'unicorn-js/prefer-string-raw': [2],
1527
+ 'unicorn-js/prefer-string-repeat': [2, { minimumRepetitions: 3 }],
1528
+ 'unicorn/prefer-string-replace-all': [2],
1529
+ 'unicorn/prefer-string-slice': [2],
1530
+ 'unicorn-js/prefer-string-starts-ends-with': [2],
1531
+ 'unicorn/prefer-string-trim-start-end': [2],
1532
+ 'unicorn-js/prefer-structured-clone': [2, { functions: [] }],
1533
+ 'unicorn-js/prefer-switch': [2, { minimumCases: 3, emptyDefaultCase: 'no-default-comment' }],
1534
+ 'unicorn/prefer-ternary': [2, 'always'],
1535
+ 'unicorn-js/prefer-then-catch': [2],
1536
+ 'unicorn-js/prefer-toggle-attribute': [2],
1537
+ 'unicorn/prefer-top-level-await': [2],
1538
+ 'unicorn/prefer-type-error': [2],
1539
+ 'unicorn-js/prefer-type-literal-last': [2],
1540
+ 'unicorn-js/prefer-unary-minus': [2],
1541
+ 'unicorn-js/prefer-unicode-code-point-escapes': [2],
1542
+ 'unicorn-js/prefer-url-can-parse': [2],
1543
+ 'unicorn-js/prefer-url-href': [2],
1544
+ 'unicorn-js/prefer-url-search-parameters': [2],
1545
+ 'unicorn-js/prefer-while-loop-condition': [2],
1546
+ 'unicorn/relative-url-style': [2, 'never'],
1547
+ 'unicorn/require-array-join-separator': [2],
1548
+ 'unicorn-js/require-array-sort-compare': [2],
1549
+ 'unicorn-js/require-css-escape': [2, { checkAllSelectors: false }],
1550
+ 'unicorn/require-module-attributes': [2],
1551
+ 'unicorn/require-module-specifiers': [2],
1552
+ 'unicorn/require-number-to-fixed-digits-argument': [2],
1553
+ 'unicorn-js/require-passive-events': [2],
1554
+ 'unicorn-js/require-proxy-trap-boolean-return': [2],
1555
+ 'unicorn-js/single-line-block-comment-style': [2, 'multiline', { ignore: [] }],
1556
+ 'unicorn/switch-case-braces': [2, 'always'],
1557
+ 'unicorn/switch-case-break-position': [2],
1558
+ 'unicorn-js/template-indent': [
1559
+ 2,
1560
+ {
1561
+ tags: ['outdent', 'dedent', 'gql', 'sql', 'html', 'styled'],
1562
+ functions: ['dedent', 'stripIndent'],
1563
+ selectors: [],
1564
+ comments: ['HTML', 'indent'],
1565
+ },
1566
+ ],
1567
+ 'unicorn/text-encoding-identifier-case': [2, { withDash: false }],
1568
+ 'unicorn/throw-new-error': [2],
1569
+ 'eslint/use-isnan': [2, { enforceForIndexOf: false, enforceForSwitchCase: true }],
1570
+ 'eslint/valid-typeof': [2, { requireStringLiterals: false }],
1571
+ 'eslint/no-var': [2],
1572
+ 'eslint/prefer-rest-params': [2],
1573
+ 'eslint/prefer-spread': [2],
1574
+ 'stylistic-js/multiline-comment-style': 'off',
1575
+ 'astro/no-deprecated-astro-canonicalurl': 'off',
1576
+ 'astro/no-deprecated-astro-fetchcontent': 'off',
1577
+ 'astro/no-deprecated-astro-resolve': 'off',
1578
+ 'astro/no-deprecated-getentrybyslug': 'off',
1579
+ 'astro/no-exports-from-components': 'off',
1580
+ 'astro/no-prerender-export-outside-pages': 'off',
1581
+ 'unicorn/no-null': 'off',
1582
+ },
1583
+ globals: {
1584
+ AggregateError: 'readonly',
1585
+ Array: 'readonly',
1586
+ ArrayBuffer: 'readonly',
1587
+ AsyncDisposableStack: 'readonly',
1588
+ Atomics: 'readonly',
1589
+ BigInt: 'readonly',
1590
+ BigInt64Array: 'readonly',
1591
+ BigUint64Array: 'readonly',
1592
+ Boolean: 'readonly',
1593
+ DataView: 'readonly',
1594
+ Date: 'readonly',
1595
+ decodeURI: 'readonly',
1596
+ decodeURIComponent: 'readonly',
1597
+ DisposableStack: 'readonly',
1598
+ encodeURI: 'readonly',
1599
+ encodeURIComponent: 'readonly',
1600
+ Error: 'readonly',
1601
+ escape: 'readonly',
1602
+ eval: 'readonly',
1603
+ EvalError: 'readonly',
1604
+ FinalizationRegistry: 'readonly',
1605
+ Float16Array: 'readonly',
1606
+ Float32Array: 'readonly',
1607
+ Float64Array: 'readonly',
1608
+ Function: 'readonly',
1609
+ globalThis: 'readonly',
1610
+ Infinity: 'readonly',
1611
+ Int16Array: 'readonly',
1612
+ Int32Array: 'readonly',
1613
+ Int8Array: 'readonly',
1614
+ Intl: 'readonly',
1615
+ isFinite: 'readonly',
1616
+ isNaN: 'readonly',
1617
+ Iterator: 'readonly',
1618
+ JSON: 'readonly',
1619
+ Map: 'readonly',
1620
+ Math: 'readonly',
1621
+ NaN: 'readonly',
1622
+ Number: 'readonly',
1623
+ Object: 'readonly',
1624
+ parseFloat: 'readonly',
1625
+ parseInt: 'readonly',
1626
+ Promise: 'readonly',
1627
+ Proxy: 'readonly',
1628
+ RangeError: 'readonly',
1629
+ ReferenceError: 'readonly',
1630
+ Reflect: 'readonly',
1631
+ RegExp: 'readonly',
1632
+ Set: 'readonly',
1633
+ SharedArrayBuffer: 'readonly',
1634
+ String: 'readonly',
1635
+ SuppressedError: 'readonly',
1636
+ Symbol: 'readonly',
1637
+ SyntaxError: 'readonly',
1638
+ TypeError: 'readonly',
1639
+ Uint16Array: 'readonly',
1640
+ Uint32Array: 'readonly',
1641
+ Uint8Array: 'readonly',
1642
+ Uint8ClampedArray: 'readonly',
1643
+ undefined: 'readonly',
1644
+ unescape: 'readonly',
1645
+ URIError: 'readonly',
1646
+ WeakMap: 'readonly',
1647
+ WeakRef: 'readonly',
1648
+ WeakSet: 'readonly',
1649
+ },
1650
+ },
1651
+ ba84c14223af5975: {
1652
+ rules: {
1653
+ 'stylistic-js/lines-between-class-members': [
1654
+ 2,
1655
+ 'always',
1656
+ { exceptAfterOverload: true, exceptAfterSingleLine: true },
1657
+ ],
1658
+ 'stylistic-js/padding-line-between-statements': [
1659
+ 2,
1660
+ { blankLine: 'always', prev: '*', next: 'if' },
1661
+ { blankLine: 'always', prev: 'if', next: 'if' },
1662
+ { blankLine: 'always', prev: ['const', 'let'], next: '*' },
1663
+ { blankLine: 'any', prev: ['const', 'let'], next: ['const', 'let'] },
1664
+ { blankLine: 'always', prev: '*', next: 'return' },
1665
+ { blankLine: 'always', prev: '*', next: 'case' },
1666
+ { blankLine: 'always', prev: 'if', next: '*' },
1667
+ ],
1668
+ 'stylistic-js/spaced-comment': [2, 'always'],
1669
+ 'typescript/adjacent-overload-signatures': [2],
1670
+ 'typescript-js/array-type': [2],
1671
+ 'typescript/ban-ts-comment': [
1672
+ 2,
1673
+ { 'ts-expect-error': 'allow-with-description', 'ts-ignore': 'allow-with-description' },
1674
+ ],
1675
+ 'typescript/ban-tslint-comment': [2],
1676
+ 'typescript/class-literal-property-style': [2],
1677
+ 'typescript/consistent-generic-constructors': [2],
1678
+ 'typescript/consistent-indexed-object-style': [2],
1679
+ 'typescript/consistent-type-assertions': [2],
1680
+ 'typescript/consistent-type-definitions': [2, 'type'],
1681
+ 'typescript/consistent-type-imports': 'off',
1682
+ 'eslint/no-array-constructor': [2],
1683
+ 'typescript/no-confusing-non-null-assertion': [2],
1684
+ 'typescript/no-duplicate-enum-values': [2],
1685
+ 'eslint/no-empty-function': [2, { allow: [] }],
1686
+ 'typescript/no-empty-object-type': [2],
1687
+ 'typescript/no-explicit-any': [2],
1688
+ 'typescript/no-extra-non-null-assertion': [2],
1689
+ 'typescript/no-inferrable-types': [2],
1690
+ 'typescript/no-misused-new': [2],
1691
+ 'typescript/no-namespace': [2],
1692
+ 'typescript/no-non-null-asserted-optional-chain': [2],
1693
+ 'typescript/no-require-imports': [2],
1694
+ 'eslint/no-shadow': [2, { ignoreTypeValueShadow: true }],
1695
+ 'typescript/no-this-alias': [2],
1696
+ 'typescript/no-unnecessary-type-constraint': [2],
1697
+ 'typescript/no-unsafe-declaration-merging': [2],
1698
+ 'typescript/no-unsafe-function-type': [2],
1699
+ 'eslint/no-unused-expressions': [
1700
+ 2,
1701
+ { allowShortCircuit: false, allowTaggedTemplates: false, allowTernary: false },
1702
+ ],
1703
+ 'eslint/no-unused-vars': 'off',
1704
+ 'typescript/no-wrapper-object-types': [2],
1705
+ 'typescript-js/prefer-as-const': [2],
1706
+ 'typescript/prefer-for-of': [2],
1707
+ 'typescript/prefer-function-type': [2],
1708
+ 'typescript/prefer-namespace-keyword': [2],
1709
+ 'typescript/switch-exhaustiveness-check': 'off',
1710
+ 'typescript/triple-slash-reference': [2],
1711
+ 'eslint/arrow-body-style': [2, 'as-needed'],
1712
+ 'eslint-js/camelcase': [
1713
+ 2,
1714
+ { allow: [], ignoreDestructuring: false, ignoreGlobals: false, ignoreImports: false, properties: 'always' },
1715
+ ],
1716
+ 'eslint/constructor-super': [2],
1717
+ 'eslint/for-direction': [2],
1718
+ 'eslint/getter-return': [2, { allowImplicit: false }],
1719
+ 'import/default': [2],
1720
+ 'import/export': [2],
1721
+ 'import/extensions': [2, 'never', { js: 'never', json: 'ignorePackages' }],
1722
+ 'import/namespace': [2],
1723
+ 'import/newline-after-import': [2],
1724
+ 'import/no-duplicates': [2, { considerQueryString: true }],
1725
+ 'import/no-named-as-default': [1],
1726
+ 'import/no-named-as-default-member': [1],
1727
+ 'import-x-js/no-unresolved': [2, { caseSensitive: true }],
1728
+ 'import-x-js/order': [
1729
+ 2,
1730
+ {
1731
+ 'newlines-between': 'always',
1732
+ groups: [['builtin', 'external'], ['internal'], ['parent'], ['sibling', 'index', 'object'], ['type']],
1733
+ pathGroups: [{ pattern: '@/**', group: 'external', position: 'after' }],
1734
+ alphabetize: { order: 'asc', caseInsensitive: false, orderImportKind: 'ignore' },
1735
+ distinctGroup: true,
1736
+ sortTypesGroup: false,
1737
+ named: false,
1738
+ warnOnUnassignedImports: false,
1739
+ },
1740
+ ],
1741
+ 'eslint-js/newline-before-return': [2],
1742
+ 'eslint/no-async-promise-executor': [2],
1743
+ 'eslint/no-case-declarations': [2],
1744
+ 'eslint/no-class-assign': [2],
1745
+ 'eslint/no-compare-neg-zero': [2],
1746
+ 'eslint/no-cond-assign': [2, 'except-parens'],
1747
+ 'eslint/no-console': [1, {}],
1748
+ 'eslint/no-const-assign': [2],
1749
+ 'eslint/no-constant-binary-expression': [2, { checkRelationalComparisons: false }],
1750
+ 'eslint/no-constant-condition': [2, { checkLoops: 'allExceptWhileTrue' }],
1751
+ 'eslint/no-control-regex': [2],
1752
+ 'eslint/no-debugger': [1],
1753
+ 'eslint/no-delete-var': [2],
1754
+ 'eslint-js/no-dupe-args': [2],
1755
+ 'eslint/no-dupe-class-members': [2],
1756
+ 'eslint/no-dupe-else-if': [2],
1757
+ 'eslint/no-dupe-keys': [2],
1758
+ 'eslint/no-duplicate-case': [2],
1759
+ 'eslint/no-empty': [2, { allowEmptyCatch: false }],
1760
+ 'eslint/no-empty-character-class': [2],
1761
+ 'eslint/no-empty-pattern': [2, { allowObjectPatternsAsParameters: false }],
1762
+ 'eslint/no-empty-static-block': [2],
1763
+ 'eslint/no-ex-assign': [2],
1764
+ 'eslint/no-extra-boolean-cast': [2, {}],
1765
+ 'eslint/no-fallthrough': [2, { allowEmptyCase: false, reportUnusedFallthroughComment: false }],
1766
+ 'eslint/no-func-assign': [2],
1767
+ 'eslint/no-global-assign': [2, { exceptions: [] }],
1768
+ 'eslint/no-import-assign': [2],
1769
+ 'eslint/no-invalid-regexp': [2, {}],
1770
+ 'eslint/no-irregular-whitespace': [
1771
+ 2,
1772
+ { skipComments: false, skipJSXText: false, skipRegExps: false, skipStrings: true, skipTemplates: false },
1773
+ ],
1774
+ 'eslint/no-loss-of-precision': [2],
1775
+ 'eslint/no-misleading-character-class': [2, { allowEscape: false }],
1776
+ 'eslint/no-new-native-nonconstructor': [2],
1777
+ 'eslint/no-nonoctal-decimal-escape': [2],
1778
+ 'eslint/no-obj-calls': [2],
1779
+ 'eslint-js/no-octal': [2],
1780
+ 'eslint/no-prototype-builtins': [2],
1781
+ 'eslint/no-redeclare': [2, { builtinGlobals: true }],
1782
+ 'eslint/no-regex-spaces': [2],
1783
+ 'eslint-js/no-restricted-syntax': [
1784
+ 2,
1785
+ { selector: 'WithStatement', message: '`with` statement are not allowed.' },
1786
+ { selector: 'ForInStatement', message: 'Use for..of instead.' },
1787
+ {
1788
+ selector: 'TSEnumDeclaration',
1789
+ message: "Don't declare enums, use type union of literal strings or constants.",
1790
+ },
1791
+ { selector: 'MemberExpression[object.name="React"]', message: 'Use named imports from react.' },
1792
+ {
1793
+ selector:
1794
+ 'CallExpression[callee.property.name="replaceAll"] > Literal[regex.flags=/^[^g]*$/].arguments:first-child',
1795
+ message: 'Missing "g" flag in regular expression.',
1796
+ },
1797
+ ],
1798
+ 'eslint/no-self-assign': [2, { props: true }],
1799
+ 'eslint/no-setter-return': [2],
1800
+ 'eslint/no-shadow-restricted-names': [2, { reportGlobalThis: true }],
1801
+ 'eslint/no-sparse-arrays': [2],
1802
+ 'eslint/no-this-before-super': [2],
1803
+ 'eslint/no-unassigned-vars': [2],
1804
+ 'eslint/no-unreachable': [2],
1805
+ 'eslint/no-unsafe-finally': [2],
1806
+ 'eslint/no-unsafe-negation': [2, { enforceForOrderingRelations: false }],
1807
+ 'eslint/no-unsafe-optional-chaining': [2, { disallowArithmeticOperators: false }],
1808
+ 'eslint/no-unused-labels': [2],
1809
+ 'eslint/no-unused-private-class-members': [2],
1810
+ 'eslint/no-useless-assignment': [2],
1811
+ 'eslint/no-useless-backreference': [2],
1812
+ 'eslint/no-useless-catch': [2],
1813
+ 'eslint/no-useless-escape': [2, { allowRegexCharacters: [] }],
1814
+ 'eslint/no-with': [2],
1815
+ 'eslint/object-shorthand': [2, 'always'],
1816
+ 'eslint/prefer-const': [2, { destructuring: 'any', ignoreReadBeforeAssign: false }],
1817
+ 'eslint/prefer-template': [2],
1818
+ 'eslint-js/preserve-caught-error': [2, { requireCatchParameter: false, errorClassNames: [] }],
1819
+ 'prettier/prettier': [2],
1820
+ 'eslint/require-yield': [2],
1821
+ 'sonarjs/assertions-in-test-cases': [2],
1822
+ 'sonarjs/async-test-assertions': [2],
1823
+ 'sonarjs/aws-apigateway-public-api': [2],
1824
+ 'sonarjs/aws-ec2-rds-dms-public': [2],
1825
+ 'sonarjs/aws-ec2-unencrypted-ebs-volume': [2],
1826
+ 'sonarjs/aws-efs-unencrypted': [2],
1827
+ 'sonarjs/aws-iam-all-privileges': [2],
1828
+ 'sonarjs/aws-iam-privilege-escalation': [2],
1829
+ 'sonarjs/aws-iam-public-access': [2],
1830
+ 'sonarjs/aws-opensearchservice-domain': [2],
1831
+ 'sonarjs/aws-rds-unencrypted-databases': [2],
1832
+ 'sonarjs/aws-restricted-ip-admin-access': [2],
1833
+ 'sonarjs/aws-s3-bucket-granted-access': [2],
1834
+ 'sonarjs/aws-s3-bucket-insecure-http': [2],
1835
+ 'sonarjs/aws-s3-bucket-public-access': [2],
1836
+ 'sonarjs/aws-s3-bucket-versioning': [2],
1837
+ 'sonarjs/aws-sagemaker-unencrypted-notebook': [2],
1838
+ 'sonarjs/aws-sns-unencrypted-topics': [2],
1839
+ 'sonarjs/aws-sqs-unencrypted-queue': [2],
1840
+ 'sonarjs/block-scoped-var': [2],
1841
+ 'sonarjs/call-argument-line': [2],
1842
+ 'sonarjs/chai-determinate-assertion': [2],
1843
+ 'sonarjs/class-name': [2, { format: '^\\$?[A-Z][a-zA-Z0-9]*$' }],
1844
+ 'sonarjs/code-eval': [2],
1845
+ 'sonarjs/cognitive-complexity': [2, 15],
1846
+ 'sonarjs/comma-or-logical-or-case': [2],
1847
+ 'sonarjs/constructor-for-side-effects': [2],
1848
+ 'sonarjs/content-length': [2, { fileUploadSizeLimit: 8000000, standardSizeLimit: 2000000 }],
1849
+ 'sonarjs/content-security-policy': [2],
1850
+ 'sonarjs/cookie-no-httponly': [2],
1851
+ 'sonarjs/cors': [2],
1852
+ 'sonarjs/csrf': [2],
1853
+ 'typescript/no-deprecated': 'off',
1854
+ 'sonarjs/disabled-timeout': [2],
1855
+ 'sonarjs/dynamically-constructed-templates': [2],
1856
+ 'sonarjs/encryption-secure-mode': [2],
1857
+ 'sonarjs/explicit-test-skip': [2],
1858
+ 'sonarjs/file-permissions': [2],
1859
+ 'sonarjs/file-uploads': [2],
1860
+ 'sonarjs/fixme-tag': [2],
1861
+ 'sonarjs/for-loop-increment-sign': [2],
1862
+ 'sonarjs/function-inside-loop': [2],
1863
+ 'sonarjs/future-reserved-words': [2],
1864
+ 'sonarjs/generator-without-yield': [2],
1865
+ 'sonarjs/hardcoded-secret-signatures': [2],
1866
+ 'sonarjs/hashing': [2],
1867
+ 'sonarjs/hooks-before-test-cases': [2],
1868
+ 'sonarjs/inconsistent-function-call': [2],
1869
+ 'sonarjs/insecure-cookie': [2],
1870
+ 'sonarjs/insecure-jwt-token': [2],
1871
+ 'sonarjs/inverted-assertion-arguments': [2],
1872
+ 'sonarjs/label-position': [2],
1873
+ 'sonarjs/link-with-target-blank': [2],
1874
+ 'sonarjs/max-switch-cases': [2, 30],
1875
+ 'sonarjs/memoize-cache-key': [2],
1876
+ 'sonarjs/misplaced-loop-counter': [2],
1877
+ 'sonarjs/no-all-duplicated-branches': [2],
1878
+ 'typescript/require-array-sort-compare': 'off',
1879
+ 'sonarjs/no-angular-bypass-sanitization': [2],
1880
+ 'typescript/no-array-delete': 'off',
1881
+ 'sonarjs/no-case-label-in-switch': [2],
1882
+ 'sonarjs/no-clear-text-protocols': [2],
1883
+ 'sonarjs/no-code-after-done': [2],
1884
+ 'sonarjs/no-dead-store': [2],
1885
+ 'sonarjs/no-debug-commands-in-ui-tests': [2],
1886
+ 'sonarjs/no-default-utility-imports': [2],
1887
+ 'sonarjs/no-delete-var': [2],
1888
+ 'sonarjs/no-duplicate-in-composite': [2],
1889
+ 'sonarjs/no-duplicate-test-title': [2],
1890
+ 'sonarjs/no-duplicated-branches': [2],
1891
+ 'sonarjs/no-element-overwrite': [2],
1892
+ 'sonarjs/no-empty-collection': [2],
1893
+ 'sonarjs/no-empty-test-file': [2],
1894
+ 'sonarjs/no-empty-test-title': [2],
1895
+ 'sonarjs/no-equals-in-for-termination': [2],
1896
+ 'sonarjs/no-exclusive-tests': [2],
1897
+ 'sonarjs/no-extra-arguments': [2],
1898
+ 'sonarjs/no-fallthrough': [2],
1899
+ 'sonarjs/no-fixed-wait-in-tests': [2],
1900
+ 'sonarjs/no-floating-point-equality': [2],
1901
+ 'sonarjs/no-forced-browser-interaction': [2],
1902
+ 'sonarjs/no-global-this': [2],
1903
+ 'sonarjs/no-globals-shadowing': [2],
1904
+ 'sonarjs/no-gratuitous-expressions': [2],
1905
+ 'sonarjs/no-hardcoded-ip': [2],
1906
+ 'sonarjs/no-hardcoded-passwords': [2, { passwordWords: ['password', 'pwd', 'passwd', 'passphrase'] }],
1907
+ 'sonarjs/no-hardcoded-secrets': [
1908
+ 2,
1909
+ { secretWords: 'api[_.-]?key,auth,credential,secret,token', randomnessSensibility: 5 },
1910
+ ],
1911
+ 'sonarjs/no-hook-setter-in-body': [2],
1912
+ 'sonarjs/no-identical-conditions': [2],
1913
+ 'sonarjs/no-identical-expressions': [2],
1914
+ 'sonarjs/no-identical-functions': [2, 3],
1915
+ 'sonarjs/no-ignored-exceptions': [2],
1916
+ 'sonarjs/no-implicit-global': [2],
1917
+ 'sonarjs/no-incomplete-assertions': [2],
1918
+ 'sonarjs/no-internal-api-use': [2],
1919
+ 'sonarjs/no-interpolation-in-inline-snapshots': [2],
1920
+ 'sonarjs/no-invariant-returns': [2],
1921
+ 'sonarjs/no-inverted-boolean-check': [2],
1922
+ 'sonarjs/no-labels': [2],
1923
+ 'sonarjs/no-literal-call': [2],
1924
+ 'sonarjs/no-mime-sniff': [2],
1925
+ 'sonarjs/no-mixed-completion-style': [2],
1926
+ 'sonarjs/no-nested-assignment': [2],
1927
+ 'sonarjs/no-nested-conditional': [2],
1928
+ 'sonarjs/no-nested-functions': [2, { threshold: 4 }],
1929
+ 'sonarjs/no-nested-template-literals': [2],
1930
+ 'sonarjs/no-os-command-from-path': [2],
1931
+ 'sonarjs/no-parameter-reassignment': [2],
1932
+ 'sonarjs/no-primitive-wrappers': [2],
1933
+ 'sonarjs/no-redundant-assignments': [2],
1934
+ 'sonarjs/no-redundant-boolean': [2],
1935
+ 'sonarjs/no-redundant-jump': [2],
1936
+ 'sonarjs/no-referrer-policy': [2],
1937
+ 'sonarjs/no-same-argument-assert': [2],
1938
+ 'sonarjs/no-same-line-conditional': [2],
1939
+ 'sonarjs/no-session-cookies-on-static-assets': [2],
1940
+ 'sonarjs/no-skipped-tests': [2],
1941
+ 'sonarjs/no-table-as-layout': [2],
1942
+ 'sonarjs/no-trivial-assertions': [2],
1943
+ 'sonarjs/no-unenclosed-multiline-block': [2],
1944
+ 'sonarjs/no-uniq-key': [2],
1945
+ 'sonarjs/no-unthrown-error': [2],
1946
+ 'sonarjs/no-unused-collection': [2],
1947
+ 'sonarjs/no-unused-vars': 'off',
1948
+ 'sonarjs/no-use-of-empty-return-value': [2],
1949
+ 'sonarjs/no-useless-catch': [2],
1950
+ 'sonarjs/no-useless-increment': [2],
1951
+ 'sonarjs/no-useless-react-setstate': [2],
1952
+ 'sonarjs/no-weak-cipher': [2],
1953
+ 'sonarjs/no-weak-keys': [2],
1954
+ 'sonarjs/non-existent-operator': [2],
1955
+ 'sonarjs/object-alt-content': [2],
1956
+ 'sonarjs/parameterized-tests': [2],
1957
+ 'sonarjs/prefer-default-last': [2],
1958
+ 'sonarjs/prefer-native-lodash-alternative': [2],
1959
+ 'sonarjs/prefer-promise-shorthand': [2],
1960
+ 'typescript/prefer-regexp-exec': 'off',
1961
+ 'sonarjs/prefer-single-boolean-return': [2],
1962
+ 'sonarjs/prefer-specific-assertions': [2],
1963
+ 'sonarjs/prefer-type-guard': [2],
1964
+ 'sonarjs/prefer-while': [2],
1965
+ 'sonarjs/production-debug': [2],
1966
+ 'sonarjs/pseudo-random': [2],
1967
+ 'sonarjs/public-static-readonly': [2],
1968
+ 'sonarjs/publicly-writable-directories': [2],
1969
+ 'sonarjs/redundant-type-aliases': [2],
1970
+ 'sonarjs/review-blockchain-mnemonic': [2],
1971
+ 'sonarjs/session-regeneration': [2],
1972
+ 'sonarjs/stable-tests': [2],
1973
+ 'sonarjs/stateful-regex': [2],
1974
+ 'sonarjs/strict-transport-security': [2],
1975
+ 'sonarjs/super-linear-regex': [2],
1976
+ 'sonarjs/synchronous-suite-callback': [2],
1977
+ 'sonarjs/table-header': [2],
1978
+ 'sonarjs/table-header-reference': [2],
1979
+ 'sonarjs/test-check-exception': [2],
1980
+ 'sonarjs/todo-tag': [1],
1981
+ 'sonarjs/unverified-certificate': [2],
1982
+ 'sonarjs/unverified-hostname': [2],
1983
+ 'sonarjs/updated-const-var': [2],
1984
+ 'sonarjs/updated-loop-counter': [2],
1985
+ 'sonarjs/use-type-alias': [2],
1986
+ 'sonarjs/weak-ssl': [2],
1987
+ 'sonarjs/x-powered-by': [2],
1988
+ 'sonarjs/xml-parser-xxe': [2],
1989
+ 'eslint/sort-imports': [
1990
+ 2,
1991
+ {
1992
+ allowSeparatedGroups: false,
1993
+ ignoreCase: false,
1994
+ ignoreDeclarationSort: true,
1995
+ ignoreMemberSort: false,
1996
+ memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
1997
+ },
1998
+ ],
1999
+ 'unicorn-js/better-dom-traversing': [2],
2000
+ 'unicorn/catch-error-name': [2, { name: 'error', ignore: [] }],
2001
+ 'unicorn-js/class-reference-in-static-methods': [2, { preferThis: true, preferSuper: true }],
2002
+ 'unicorn/consistent-assert': [2],
2003
+ 'unicorn-js/consistent-boolean-name': [
2004
+ 2,
2005
+ {
2006
+ checkVariables: 'always',
2007
+ checkArguments: 'always',
2008
+ checkFunctions: 'always',
2009
+ checkMethods: 'never',
2010
+ checkFields: 'never',
2011
+ ignore: [],
2012
+ wrappers: {},
2013
+ },
2014
+ ],
2015
+ 'unicorn-js/consistent-class-member-order': [
2016
+ 2,
2017
+ {
2018
+ order: [
2019
+ 'static-field',
2020
+ 'static-block',
2021
+ 'static-method',
2022
+ 'private-field',
2023
+ 'public-field',
2024
+ 'constructor',
2025
+ 'private-method',
2026
+ 'public-method',
2027
+ ],
2028
+ },
2029
+ ],
2030
+ 'unicorn-js/consistent-compound-words': [2, {}],
2031
+ 'unicorn-js/consistent-conditional-object-spread': [2, 'logical'],
2032
+ 'unicorn/consistent-date-clone': [2],
2033
+ 'unicorn-js/consistent-destructuring': [2],
2034
+ 'unicorn/consistent-empty-array-spread': [2],
2035
+ 'unicorn/consistent-existence-index-check': [2],
2036
+ 'unicorn-js/consistent-export-decorator-position': [2, 'above'],
2037
+ 'unicorn-js/consistent-function-scoping': [2, { checkArrowFunctions: true }],
2038
+ 'unicorn-js/consistent-json-file-read': [2, 'string'],
2039
+ 'unicorn-js/consistent-optional-chaining': [2],
2040
+ 'unicorn/consistent-template-literal-escape': [2],
2041
+ 'unicorn-js/consistent-tuple-labels': [2],
2042
+ 'unicorn/custom-error-definition': [2],
2043
+ 'unicorn-js/default-export-style': [2, { functions: 'inline', classes: 'inline' }],
2044
+ 'unicorn-js/dom-node-dataset': [2, { preferAttributes: false }],
2045
+ 'unicorn/empty-brace-spaces': [2],
2046
+ 'unicorn/error-message': [2],
2047
+ 'unicorn-js/escape-case': [2, 'uppercase'],
2048
+ 'unicorn-js/expiring-todo-comments': [
2049
+ 2,
2050
+ {
2051
+ terms: ['todo', 'fixme', 'xxx'],
2052
+ ignore: [],
2053
+ checkDates: false,
2054
+ checkDatesOnPullRequests: false,
2055
+ allowWarningComments: true,
2056
+ },
2057
+ ],
2058
+ 'unicorn/explicit-length-check': [2, { 'non-zero': 'greater-than' }],
2059
+ 'unicorn-js/explicit-timer-delay': [2, 'always'],
2060
+ 'unicorn/filename-case': [2],
2061
+ 'unicorn/import-style': [2, {}],
2062
+ 'unicorn-js/isolated-functions': [
2063
+ 2,
2064
+ { functions: ['makeSynchronous', 'workerize'], selectors: [], comments: ['@isolated'], overrideGlobals: {} },
2065
+ ],
2066
+ 'unicorn-js/logical-assignment-operators': [2, 'always'],
2067
+ 'unicorn/max-nested-calls': [2, { max: 3 }],
2068
+ 'unicorn-js/name-replacements': [
2069
+ 2,
2070
+ {
2071
+ replacements: {
2072
+ dev: false,
2073
+ prod: false,
2074
+ props: false,
2075
+ ref: false,
2076
+ refs: false,
2077
+ args: false,
2078
+ params: false,
2079
+ utils: false,
2080
+ env: false,
2081
+ },
2082
+ },
2083
+ ],
2084
+ 'unicorn/new-for-builtins': [2],
2085
+ 'unicorn/no-abusive-eslint-disable': [2],
2086
+ 'unicorn/no-accessor-recursion': [2],
2087
+ 'unicorn-js/no-accidental-bitwise-operator': [2],
2088
+ 'unicorn/no-anonymous-default-export': [2],
2089
+ 'unicorn-js/no-array-callback-reference': [2, { ignore: [] }],
2090
+ 'unicorn-js/no-array-concat-in-loop': [2],
2091
+ 'unicorn/no-array-fill-with-reference-type': [2],
2092
+ 'unicorn-js/no-array-from-fill': [2],
2093
+ 'unicorn/no-array-method-this-argument': [2],
2094
+ 'unicorn/no-array-reduce': [2, { allowSimpleOperations: true }],
2095
+ 'unicorn/no-array-reverse': [2, { allowExpressionStatement: true }],
2096
+ 'unicorn/no-array-sort': [2, { allowExpressionStatement: true }],
2097
+ 'unicorn-js/no-array-sort-for-min-max': [2],
2098
+ 'unicorn-js/no-array-splice': [2],
2099
+ 'unicorn-js/no-async-promise-finally': [2],
2100
+ 'unicorn/no-await-expression-member': [2],
2101
+ 'unicorn/no-await-in-promise-methods': [2],
2102
+ 'unicorn-js/no-boolean-sort-comparator': [2],
2103
+ 'unicorn-js/no-break-in-nested-loop': [2],
2104
+ 'unicorn-js/no-canvas-to-image': [2],
2105
+ 'unicorn-js/no-chained-comparison': [2],
2106
+ 'unicorn-js/no-collection-bracket-access': [2],
2107
+ 'unicorn-js/no-computed-property-existence-check': [2],
2108
+ 'unicorn-js/no-confusing-array-splice': [2],
2109
+ 'unicorn/no-confusing-array-with': [2],
2110
+ 'unicorn/no-console-spaces': [2],
2111
+ 'unicorn-js/no-constant-zero-expression': [2],
2112
+ 'unicorn-js/no-declarations-before-early-exit': [2],
2113
+ 'unicorn/no-document-cookie': [2],
2114
+ 'unicorn-js/no-double-comparison': [2],
2115
+ 'unicorn-js/no-duplicate-if-branches': [2],
2116
+ 'unicorn-js/no-duplicate-logical-operands': [2],
2117
+ 'unicorn-js/no-duplicate-loops': [2],
2118
+ 'unicorn-js/no-duplicate-set-values': [2],
2119
+ 'unicorn-js/no-empty-file': [2, { allowComments: false }],
2120
+ 'unicorn-js/no-error-property-assignment': [2],
2121
+ 'unicorn-js/no-exports-in-scripts': [2],
2122
+ 'unicorn-js/no-for-each': [2],
2123
+ 'unicorn-js/no-for-loop': [2],
2124
+ 'unicorn-js/no-global-object-property-assignment': [2],
2125
+ 'unicorn/no-immediate-mutation': [2],
2126
+ 'unicorn-js/no-impossible-length-comparison': [2],
2127
+ 'unicorn-js/no-incorrect-query-selector': [2],
2128
+ 'unicorn-js/no-incorrect-template-string-interpolation': [2],
2129
+ 'unicorn/no-instanceof-builtins': [2, { useErrorIsError: false, strategy: 'loose', include: [], exclude: [] }],
2130
+ 'unicorn-js/no-invalid-argument-count': [2, {}],
2131
+ 'unicorn-js/no-invalid-character-comparison': [2],
2132
+ 'unicorn/no-invalid-fetch-options': [2],
2133
+ 'unicorn/no-invalid-remove-event-listener': [2],
2134
+ 'unicorn-js/no-invalid-well-known-symbol-methods': [2],
2135
+ 'unicorn-js/no-late-current-target-access': [2],
2136
+ 'unicorn-js/no-late-event-control': [2],
2137
+ 'unicorn/no-lonely-if': [2],
2138
+ 'unicorn-js/no-loop-iterable-mutation': [2],
2139
+ 'unicorn/no-magic-array-flat-depth': [2],
2140
+ 'unicorn-js/no-mismatched-map-key': [2],
2141
+ 'unicorn-js/no-misrefactored-assignment': [2],
2142
+ 'unicorn-js/no-multiple-promise-resolver-calls': [2],
2143
+ 'unicorn-js/no-named-default': [2],
2144
+ 'unicorn-js/no-negated-array-predicate': [2],
2145
+ 'unicorn-js/no-negated-comparison': [2, { checkLogicalExpressions: false }],
2146
+ 'unicorn/no-negated-condition': [2],
2147
+ 'unicorn/no-negation-in-equality-check': [2],
2148
+ 'unicorn/no-nested-ternary': [2],
2149
+ 'unicorn/no-new-array': [2],
2150
+ 'unicorn/no-new-buffer': [2],
2151
+ 'unicorn-js/no-nonstandard-builtin-properties': [2],
2152
+ 'unicorn/no-object-as-default-parameter': [2],
2153
+ 'unicorn-js/no-object-methods-with-collections': [2],
2154
+ 'unicorn-js/no-optional-chaining-on-undeclared-variable': [2],
2155
+ 'unicorn/no-process-exit': [2],
2156
+ 'unicorn-js/no-redundant-comparison': [2],
2157
+ 'unicorn-js/no-return-array-push': [2],
2158
+ 'unicorn-js/no-selector-as-dom-name': [2],
2159
+ 'unicorn/no-single-promise-in-promise-methods': [2],
2160
+ 'unicorn/no-static-only-class': [2],
2161
+ 'unicorn-js/no-subtraction-comparison': [2],
2162
+ 'unicorn/no-thenable': [2],
2163
+ 'unicorn/no-this-assignment': [2],
2164
+ 'unicorn-js/no-this-outside-of-class': [2],
2165
+ 'unicorn-js/no-top-level-assignment-in-function': [2],
2166
+ 'unicorn-js/no-top-level-side-effects': [2],
2167
+ 'unicorn/no-typeof-undefined': [2, { checkGlobalVariables: false }],
2168
+ 'unicorn-js/no-uncalled-method': [2],
2169
+ 'unicorn-js/no-undeclared-class-members': [2],
2170
+ 'unicorn/no-unnecessary-array-flat-depth': [2],
2171
+ 'unicorn-js/no-unnecessary-array-flat-map': [2],
2172
+ 'unicorn/no-unnecessary-array-splice-count': [2],
2173
+ 'unicorn-js/no-unnecessary-await': [2],
2174
+ 'unicorn-js/no-unnecessary-boolean-comparison': [2],
2175
+ 'unicorn-js/no-unnecessary-fetch-options': [2],
2176
+ 'unicorn-js/no-unnecessary-global-this': [2],
2177
+ 'unicorn-js/no-unnecessary-nested-ternary': [2],
2178
+ 'unicorn-js/no-unnecessary-polyfills': [2, {}],
2179
+ 'unicorn/no-unnecessary-slice-end': [2],
2180
+ 'unicorn-js/no-unnecessary-splice': [2],
2181
+ 'unicorn-js/no-unnecessary-string-trim': [2],
2182
+ 'unicorn-js/no-unreadable-array-destructuring': [2, { maximumIgnoredElements: 1 }],
2183
+ 'unicorn-js/no-unreadable-for-of-expression': [2],
2184
+ 'unicorn/no-unreadable-iife': [2],
2185
+ 'unicorn-js/no-unreadable-object-destructuring': [2],
2186
+ 'unicorn-js/no-unsafe-buffer-conversion': [2],
2187
+ 'unicorn-js/no-unsafe-promise-all-settled-values': [2],
2188
+ 'unicorn-js/no-unsafe-property-key': [2],
2189
+ 'unicorn-js/no-unsafe-sqlite-interpolation': [2],
2190
+ 'unicorn-js/no-unsafe-string-replacement': [2],
2191
+ 'unicorn-js/no-unused-array-method-return': [2],
2192
+ 'unicorn-js/no-unused-properties': [2],
2193
+ 'unicorn-js/no-useless-boolean-cast': [2],
2194
+ 'unicorn-js/no-useless-coercion': [2],
2195
+ 'unicorn/no-useless-collection-argument': [2],
2196
+ 'unicorn-js/no-useless-compound-assignment': [2],
2197
+ 'unicorn-js/no-useless-concat': [2],
2198
+ 'unicorn-js/no-useless-continue': [2],
2199
+ 'unicorn-js/no-useless-delete-check': [2],
2200
+ 'unicorn-js/no-useless-else': [2],
2201
+ 'unicorn/no-useless-error-capture-stack-trace': [2],
2202
+ 'unicorn/no-useless-fallback-in-spread': [2],
2203
+ 'unicorn/no-useless-iterator-to-array': [2],
2204
+ 'unicorn/no-useless-length-check': [2],
2205
+ 'unicorn-js/no-useless-logical-operand': [2],
2206
+ 'unicorn-js/no-useless-override': [2],
2207
+ 'unicorn/no-useless-promise-resolve-reject': [2],
2208
+ 'unicorn-js/no-useless-re-export': [2],
2209
+ 'unicorn-js/no-useless-recursion': [2],
2210
+ 'unicorn/no-useless-spread': [2],
2211
+ 'unicorn/no-useless-switch-case': [2],
2212
+ 'unicorn-js/no-useless-template-literals': [2],
2213
+ 'unicorn/no-useless-undefined': [2, { checkArguments: true, checkArrowFunctionBody: true }],
2214
+ 'unicorn-js/no-xor-as-exponentiation': [2],
2215
+ 'unicorn/no-zero-fractions': [2],
2216
+ 'unicorn-js/number-literal-case': [2, { hexadecimalValue: 'uppercase' }],
2217
+ 'unicorn-js/numeric-separators-style': [
2218
+ 2,
2219
+ {
2220
+ onlyIfContainsSeparator: false,
2221
+ binary: { minimumDigits: 0, groupLength: 4 },
2222
+ octal: { minimumDigits: 0, groupLength: 4 },
2223
+ hexadecimal: { minimumDigits: 0, groupLength: 2 },
2224
+ number: { minimumDigits: 5, groupLength: 3 },
2225
+ },
2226
+ ],
2227
+ 'unicorn-js/operator-assignment': [2, 'always'],
2228
+ 'unicorn-js/prefer-abort-signal-any': [2],
2229
+ 'unicorn-js/prefer-abort-signal-timeout': [2],
2230
+ 'unicorn-js/prefer-add-event-listener': [2, { excludedPackages: ['koa', 'sax'] }],
2231
+ 'unicorn-js/prefer-add-event-listener-options': [2],
2232
+ 'unicorn-js/prefer-aggregate-error': [2],
2233
+ 'unicorn-js/prefer-array-find': [2, { checkFromLast: true }],
2234
+ 'unicorn-js/prefer-array-flat': [2, { functions: [] }],
2235
+ 'unicorn/prefer-array-flat-map': [2],
2236
+ 'unicorn-js/prefer-array-from-async': [2],
2237
+ 'unicorn-js/prefer-array-from-map': [2],
2238
+ 'unicorn-js/prefer-array-from-range': [2],
2239
+ 'unicorn/prefer-array-index-of': [2],
2240
+ 'unicorn-js/prefer-array-iterable-methods': [2],
2241
+ 'unicorn-js/prefer-array-last-methods': [2],
2242
+ 'unicorn-js/prefer-array-slice': [2],
2243
+ 'unicorn/prefer-array-some': [2],
2244
+ 'unicorn/prefer-at': [2, { getLastElementFunctions: [], checkAllIndexAccess: false }],
2245
+ 'unicorn-js/prefer-await': [2],
2246
+ 'unicorn/prefer-bigint-literals': [2],
2247
+ 'unicorn/prefer-blob-reading-methods': [2],
2248
+ 'unicorn-js/prefer-block-statement-over-iife': [2],
2249
+ 'unicorn-js/prefer-boolean-return': [2],
2250
+ 'unicorn/prefer-class-fields': [2],
2251
+ 'unicorn/prefer-classlist-toggle': [2],
2252
+ 'unicorn/prefer-code-point': [2],
2253
+ 'unicorn-js/prefer-continue': [2, { maximumStatements: 1 }],
2254
+ 'unicorn/prefer-date-now': [2],
2255
+ 'unicorn/prefer-default-parameters': [2],
2256
+ 'unicorn-js/prefer-direct-iteration': [2],
2257
+ 'unicorn/prefer-dom-node-append': [2],
2258
+ 'unicorn-js/prefer-dom-node-html-methods': [2, { checkGetHTML: true, checkSetHTML: false }],
2259
+ 'unicorn/prefer-dom-node-remove': [2],
2260
+ 'unicorn-js/prefer-dom-node-replace-children': [2],
2261
+ 'unicorn/prefer-dom-node-text-content': [2],
2262
+ 'unicorn-js/prefer-early-return': [2, { maximumStatements: 1 }],
2263
+ 'unicorn-js/prefer-else-if': [2],
2264
+ 'unicorn/prefer-event-target': [2],
2265
+ 'unicorn/prefer-export-from': [2, { checkUsedVariables: true }],
2266
+ 'unicorn-js/prefer-flat-math-min-max': [2],
2267
+ 'unicorn-js/prefer-get-or-insert-computed': [2],
2268
+ 'unicorn-js/prefer-global-number-constants': [2],
2269
+ 'unicorn/prefer-global-this': [2],
2270
+ 'unicorn-js/prefer-group-by': [2],
2271
+ 'unicorn-js/prefer-has-check': [2],
2272
+ 'unicorn-js/prefer-hoisting-branch-code': [2],
2273
+ 'unicorn-js/prefer-https': [2, { ignore: [] }],
2274
+ 'unicorn-js/prefer-identifier-import-export-specifiers': [2],
2275
+ 'unicorn/prefer-includes': [2],
2276
+ 'unicorn-js/prefer-includes-over-repeated-comparisons': [2, { minimumComparisons: 3 }],
2277
+ 'unicorn-js/prefer-iterable-in-constructor': [2],
2278
+ 'unicorn-js/prefer-iterator-helpers': [2],
2279
+ 'unicorn-js/prefer-iterator-to-array': [2],
2280
+ 'unicorn-js/prefer-iterator-to-array-at-end': [2],
2281
+ 'unicorn/prefer-keyboard-event-key': [2],
2282
+ 'unicorn-js/prefer-location-assign': [2],
2283
+ 'unicorn/prefer-logical-operator-over-ternary': [2],
2284
+ 'unicorn-js/prefer-map-from-entries': [2],
2285
+ 'unicorn-js/prefer-math-abs': [2],
2286
+ 'unicorn-js/prefer-math-constants': [2],
2287
+ 'unicorn/prefer-math-min-max': [2],
2288
+ 'unicorn/prefer-math-trunc': [2],
2289
+ 'unicorn-js/prefer-minimal-ternary': [2, { checkVaryingBase: false, checkComputedMemberAccess: false }],
2290
+ 'unicorn/prefer-modern-dom-apis': [2],
2291
+ 'unicorn/prefer-modern-math-apis': [2],
2292
+ 'unicorn/prefer-module': [2],
2293
+ 'unicorn/prefer-native-coercion-functions': [2],
2294
+ 'unicorn/prefer-negative-index': [2],
2295
+ 'unicorn/prefer-node-protocol': [2],
2296
+ 'unicorn/prefer-number-coercion': [2],
2297
+ 'unicorn-js/prefer-number-is-safe-integer': [2],
2298
+ 'unicorn/prefer-number-properties': [2, { checkInfinity: false, checkNaN: false }],
2299
+ 'unicorn-js/prefer-object-define-properties': [2],
2300
+ 'unicorn-js/prefer-object-destructuring-defaults': [2],
2301
+ 'unicorn/prefer-object-from-entries': [2, { functions: [] }],
2302
+ 'unicorn-js/prefer-object-iterable-methods': [2],
2303
+ 'unicorn-js/prefer-observer-apis': [2],
2304
+ 'unicorn/prefer-optional-catch-binding': [2],
2305
+ 'unicorn-js/prefer-path2d': [2],
2306
+ 'unicorn-js/prefer-promise-try': [2],
2307
+ 'unicorn-js/prefer-promise-with-resolvers': [2],
2308
+ 'unicorn-js/prefer-prototype-methods': [2],
2309
+ 'unicorn-js/prefer-query-selector': [2, { allowWithVariables: false }],
2310
+ 'unicorn-js/prefer-queue-microtask': [2, { checkSetImmediate: false, checkSetTimeout: false }],
2311
+ 'unicorn/prefer-reflect-apply': [2],
2312
+ 'unicorn-js/prefer-regexp-test': [2],
2313
+ 'unicorn/prefer-response-static-json': [2],
2314
+ 'unicorn-js/prefer-scoped-selector': [2],
2315
+ 'unicorn-js/prefer-set-has': [2, { minimumItems: 0 }],
2316
+ 'unicorn-js/prefer-set-methods': [2],
2317
+ 'unicorn/prefer-set-size': [2],
2318
+ 'unicorn-js/prefer-simple-condition-first': [2],
2319
+ 'unicorn-js/prefer-simple-sort-comparator': [2],
2320
+ 'unicorn-js/prefer-simplified-conditions': [2],
2321
+ 'unicorn-js/prefer-single-array-predicate': [2],
2322
+ 'unicorn/prefer-single-call': [2, { ignore: [] }],
2323
+ 'unicorn-js/prefer-single-object-destructuring': [2],
2324
+ 'unicorn-js/prefer-single-replace': [2],
2325
+ 'unicorn-js/prefer-smaller-scope': [2],
2326
+ 'unicorn-js/prefer-split-limit': [2],
2327
+ 'unicorn/prefer-spread': [2],
2328
+ 'unicorn-js/prefer-string-match-all': [2],
2329
+ 'unicorn-js/prefer-string-pad-start-end': [2],
2330
+ 'unicorn-js/prefer-string-raw': [2],
2331
+ 'unicorn-js/prefer-string-repeat': [2, { minimumRepetitions: 3 }],
2332
+ 'unicorn/prefer-string-replace-all': [2],
2333
+ 'unicorn/prefer-string-slice': [2],
2334
+ 'unicorn-js/prefer-string-starts-ends-with': [2],
2335
+ 'unicorn/prefer-string-trim-start-end': [2],
2336
+ 'unicorn-js/prefer-structured-clone': [2, { functions: [] }],
2337
+ 'unicorn-js/prefer-switch': [2, { minimumCases: 3, emptyDefaultCase: 'no-default-comment' }],
2338
+ 'unicorn/prefer-ternary': [2, 'always'],
2339
+ 'unicorn-js/prefer-then-catch': [2],
2340
+ 'unicorn-js/prefer-toggle-attribute': [2],
2341
+ 'unicorn/prefer-top-level-await': [2],
2342
+ 'unicorn/prefer-type-error': [2],
2343
+ 'unicorn-js/prefer-type-literal-last': [2],
2344
+ 'unicorn-js/prefer-unary-minus': [2],
2345
+ 'unicorn-js/prefer-unicode-code-point-escapes': [2],
2346
+ 'unicorn-js/prefer-url-can-parse': [2],
2347
+ 'unicorn-js/prefer-url-href': [2],
2348
+ 'unicorn-js/prefer-url-search-parameters': [2],
2349
+ 'unicorn-js/prefer-while-loop-condition': [2],
2350
+ 'unicorn/relative-url-style': [2, 'never'],
2351
+ 'unicorn/require-array-join-separator': [2],
2352
+ 'unicorn-js/require-array-sort-compare': [2],
2353
+ 'unicorn-js/require-css-escape': [2, { checkAllSelectors: false }],
2354
+ 'unicorn/require-module-attributes': [2],
2355
+ 'unicorn/require-module-specifiers': [2],
2356
+ 'unicorn/require-number-to-fixed-digits-argument': [2],
2357
+ 'unicorn-js/require-passive-events': [2],
2358
+ 'unicorn-js/require-proxy-trap-boolean-return': [2],
2359
+ 'unicorn-js/single-line-block-comment-style': [2, 'multiline', { ignore: [] }],
2360
+ 'unicorn/switch-case-braces': [2, 'always'],
2361
+ 'unicorn/switch-case-break-position': [2],
2362
+ 'unicorn-js/template-indent': [
2363
+ 2,
2364
+ {
2365
+ tags: ['outdent', 'dedent', 'gql', 'sql', 'html', 'styled'],
2366
+ functions: ['dedent', 'stripIndent'],
2367
+ selectors: [],
2368
+ comments: ['HTML', 'indent'],
2369
+ },
2370
+ ],
2371
+ 'unicorn/text-encoding-identifier-case': [2, { withDash: false }],
2372
+ 'unicorn/throw-new-error': [2],
2373
+ 'eslint/use-isnan': [2, { enforceForIndexOf: false, enforceForSwitchCase: true }],
2374
+ 'eslint/valid-typeof': [2, { requireStringLiterals: false }],
2375
+ 'eslint/no-var': 'off',
2376
+ 'eslint/prefer-rest-params': 'off',
2377
+ 'eslint/prefer-spread': 'off',
2378
+ 'stylistic-js/multiline-comment-style': 'off',
2379
+ 'astro/no-deprecated-astro-canonicalurl': 'off',
2380
+ 'astro/no-deprecated-astro-fetchcontent': 'off',
2381
+ 'astro/no-deprecated-astro-resolve': 'off',
2382
+ 'astro/no-deprecated-getentrybyslug': 'off',
2383
+ 'astro/no-exports-from-components': 'off',
2384
+ 'astro/no-prerender-export-outside-pages': 'off',
2385
+ 'unicorn/no-null': 'off',
2386
+ },
2387
+ globals: {
2388
+ AggregateError: 'readonly',
2389
+ Array: 'readonly',
2390
+ ArrayBuffer: 'readonly',
2391
+ AsyncDisposableStack: 'readonly',
2392
+ Atomics: 'readonly',
2393
+ BigInt: 'readonly',
2394
+ BigInt64Array: 'readonly',
2395
+ BigUint64Array: 'readonly',
2396
+ Boolean: 'readonly',
2397
+ DataView: 'readonly',
2398
+ Date: 'readonly',
2399
+ decodeURI: 'readonly',
2400
+ decodeURIComponent: 'readonly',
2401
+ DisposableStack: 'readonly',
2402
+ encodeURI: 'readonly',
2403
+ encodeURIComponent: 'readonly',
2404
+ Error: 'readonly',
2405
+ escape: 'readonly',
2406
+ eval: 'readonly',
2407
+ EvalError: 'readonly',
2408
+ FinalizationRegistry: 'readonly',
2409
+ Float16Array: 'readonly',
2410
+ Float32Array: 'readonly',
2411
+ Float64Array: 'readonly',
2412
+ Function: 'readonly',
2413
+ globalThis: 'readonly',
2414
+ Infinity: 'readonly',
2415
+ Int16Array: 'readonly',
2416
+ Int32Array: 'readonly',
2417
+ Int8Array: 'readonly',
2418
+ Intl: 'readonly',
2419
+ isFinite: 'readonly',
2420
+ isNaN: 'readonly',
2421
+ Iterator: 'readonly',
2422
+ JSON: 'readonly',
2423
+ Map: 'readonly',
2424
+ Math: 'readonly',
2425
+ NaN: 'readonly',
2426
+ Number: 'readonly',
2427
+ Object: 'readonly',
2428
+ parseFloat: 'readonly',
2429
+ parseInt: 'readonly',
2430
+ Promise: 'readonly',
2431
+ Proxy: 'readonly',
2432
+ RangeError: 'readonly',
2433
+ ReferenceError: 'readonly',
2434
+ Reflect: 'readonly',
2435
+ RegExp: 'readonly',
2436
+ Set: 'readonly',
2437
+ SharedArrayBuffer: 'readonly',
2438
+ String: 'readonly',
2439
+ SuppressedError: 'readonly',
2440
+ Symbol: 'readonly',
2441
+ SyntaxError: 'readonly',
2442
+ TypeError: 'readonly',
2443
+ Uint16Array: 'readonly',
2444
+ Uint32Array: 'readonly',
2445
+ Uint8Array: 'readonly',
2446
+ Uint8ClampedArray: 'readonly',
2447
+ undefined: 'readonly',
2448
+ unescape: 'readonly',
2449
+ URIError: 'readonly',
2450
+ WeakMap: 'readonly',
2451
+ WeakRef: 'readonly',
2452
+ WeakSet: 'readonly',
2453
+ },
2454
+ },
2455
+ '575cd58e6c1e26f0': {
2456
+ rules: {
2457
+ 'stylistic-js/lines-between-class-members': [
2458
+ 2,
2459
+ 'always',
2460
+ { exceptAfterOverload: true, exceptAfterSingleLine: false },
2461
+ ],
2462
+ 'stylistic-js/padding-line-between-statements': [2],
2463
+ 'stylistic-js/spaced-comment': [2, 'always'],
2464
+ 'typescript/adjacent-overload-signatures': [2],
2465
+ 'typescript-js/array-type': [2],
2466
+ 'typescript/ban-ts-comment': [2],
2467
+ 'typescript/ban-tslint-comment': [2],
2468
+ 'typescript/class-literal-property-style': [2],
2469
+ 'typescript/consistent-generic-constructors': [2],
2470
+ 'typescript/consistent-indexed-object-style': [2],
2471
+ 'typescript/consistent-type-assertions': [2],
2472
+ 'typescript/consistent-type-definitions': 'off',
2473
+ 'typescript/consistent-type-imports': 'off',
2474
+ 'eslint/no-array-constructor': [2],
2475
+ 'typescript/no-confusing-non-null-assertion': [2],
2476
+ 'typescript/no-duplicate-enum-values': [2],
2477
+ 'eslint/no-empty-function': [2, { allow: [] }],
2478
+ 'typescript/no-empty-object-type': [2],
2479
+ 'typescript/no-explicit-any': [2],
2480
+ 'typescript/no-extra-non-null-assertion': [2],
2481
+ 'typescript/no-inferrable-types': [2],
2482
+ 'typescript/no-misused-new': [2],
2483
+ 'typescript/no-namespace': [2],
2484
+ 'typescript/no-non-null-asserted-optional-chain': [2],
2485
+ 'typescript/no-require-imports': [2],
2486
+ 'eslint/no-shadow': 'off',
2487
+ 'typescript/no-this-alias': [2],
2488
+ 'typescript/no-unnecessary-type-constraint': [2],
2489
+ 'typescript/no-unsafe-declaration-merging': [2],
2490
+ 'typescript/no-unsafe-function-type': [2],
2491
+ 'eslint/no-unused-expressions': [
2492
+ 2,
2493
+ { allowShortCircuit: false, allowTaggedTemplates: false, allowTernary: false },
2494
+ ],
2495
+ 'eslint/no-unused-vars': 'off',
2496
+ 'typescript/no-wrapper-object-types': [2],
2497
+ 'typescript-js/prefer-as-const': [2],
2498
+ 'typescript/prefer-for-of': [2],
2499
+ 'typescript/prefer-function-type': [2],
2500
+ 'typescript/prefer-namespace-keyword': [2],
2501
+ 'typescript/switch-exhaustiveness-check': 'off',
2502
+ 'typescript/triple-slash-reference': [2],
2503
+ 'eslint/arrow-body-style': 'off',
2504
+ 'eslint-js/camelcase': 'off',
2505
+ 'eslint/constructor-super': [2],
2506
+ 'eslint/for-direction': [2],
2507
+ 'eslint/getter-return': [2, { allowImplicit: false }],
2508
+ 'import/default': [2],
2509
+ 'import/export': [2],
2510
+ 'import/extensions': 'off',
2511
+ 'import/namespace': [2],
2512
+ 'import/newline-after-import': 'off',
2513
+ 'import/no-duplicates': [1],
2514
+ 'import/no-named-as-default': [1],
2515
+ 'import/no-named-as-default-member': [1],
2516
+ 'import-x-js/no-unresolved': [2],
2517
+ 'import-x-js/order': 'off',
2518
+ 'eslint-js/newline-before-return': 'off',
2519
+ 'eslint/no-async-promise-executor': [2],
2520
+ 'eslint/no-case-declarations': [2],
2521
+ 'eslint/no-class-assign': [2],
2522
+ 'eslint/no-compare-neg-zero': [2],
2523
+ 'eslint/no-cond-assign': [2, 'except-parens'],
2524
+ 'eslint/no-console': 'off',
2525
+ 'eslint/no-const-assign': [2],
2526
+ 'eslint/no-constant-binary-expression': [2, { checkRelationalComparisons: false }],
2527
+ 'eslint/no-constant-condition': [2, { checkLoops: 'allExceptWhileTrue' }],
2528
+ 'eslint/no-control-regex': [2],
2529
+ 'eslint/no-debugger': [2],
2530
+ 'eslint/no-delete-var': [2],
2531
+ 'eslint-js/no-dupe-args': [2],
2532
+ 'eslint/no-dupe-class-members': [2],
2533
+ 'eslint/no-dupe-else-if': [2],
2534
+ 'eslint/no-dupe-keys': [2],
2535
+ 'eslint/no-duplicate-case': [2],
2536
+ 'eslint/no-empty': [2, { allowEmptyCatch: false }],
2537
+ 'eslint/no-empty-character-class': [2],
2538
+ 'eslint/no-empty-pattern': [2, { allowObjectPatternsAsParameters: false }],
2539
+ 'eslint/no-empty-static-block': [2],
2540
+ 'eslint/no-ex-assign': [2],
2541
+ 'eslint/no-extra-boolean-cast': [2, {}],
2542
+ 'eslint/no-fallthrough': [2, { allowEmptyCase: false, reportUnusedFallthroughComment: false }],
2543
+ 'eslint/no-func-assign': [2],
2544
+ 'eslint/no-global-assign': [2, { exceptions: [] }],
2545
+ 'eslint/no-import-assign': [2],
2546
+ 'eslint/no-invalid-regexp': [2, {}],
2547
+ 'eslint/no-irregular-whitespace': [
2548
+ 2,
2549
+ { skipComments: false, skipJSXText: false, skipRegExps: false, skipStrings: true, skipTemplates: false },
2550
+ ],
2551
+ 'eslint/no-loss-of-precision': [2],
2552
+ 'eslint/no-misleading-character-class': [2, { allowEscape: false }],
2553
+ 'eslint/no-new-native-nonconstructor': [2],
2554
+ 'eslint/no-nonoctal-decimal-escape': [2],
2555
+ 'eslint/no-obj-calls': [2],
2556
+ 'eslint-js/no-octal': [2],
2557
+ 'eslint/no-prototype-builtins': [2],
2558
+ 'eslint/no-redeclare': [2, { builtinGlobals: true }],
2559
+ 'eslint/no-regex-spaces': [2],
2560
+ 'eslint-js/no-restricted-syntax': 'off',
2561
+ 'eslint/no-self-assign': [2, { props: true }],
2562
+ 'eslint/no-setter-return': [2],
2563
+ 'eslint/no-shadow-restricted-names': [2, { reportGlobalThis: true }],
2564
+ 'eslint/no-sparse-arrays': [2],
2565
+ 'eslint/no-this-before-super': [2],
2566
+ 'eslint/no-unassigned-vars': [2],
2567
+ 'eslint/no-unreachable': [2],
2568
+ 'eslint/no-unsafe-finally': [2],
2569
+ 'eslint/no-unsafe-negation': [2, { enforceForOrderingRelations: false }],
2570
+ 'eslint/no-unsafe-optional-chaining': [2, { disallowArithmeticOperators: false }],
2571
+ 'eslint/no-unused-labels': [2],
2572
+ 'eslint/no-unused-private-class-members': [2],
2573
+ 'eslint/no-useless-assignment': [2],
2574
+ 'eslint/no-useless-backreference': [2],
2575
+ 'eslint/no-useless-catch': [2],
2576
+ 'eslint/no-useless-escape': [2, { allowRegexCharacters: [] }],
2577
+ 'eslint/no-with': [2],
2578
+ 'eslint/object-shorthand': 'off',
2579
+ 'eslint/prefer-const': 'off',
2580
+ 'eslint/prefer-template': 'off',
2581
+ 'eslint-js/preserve-caught-error': [2, { requireCatchParameter: false, errorClassNames: [] }],
2582
+ 'prettier/prettier': 'off',
2583
+ 'eslint/require-yield': [2],
2584
+ 'sonarjs/assertions-in-test-cases': [2],
2585
+ 'sonarjs/async-test-assertions': [2],
2586
+ 'sonarjs/aws-apigateway-public-api': [2],
2587
+ 'sonarjs/aws-ec2-rds-dms-public': [2],
2588
+ 'sonarjs/aws-ec2-unencrypted-ebs-volume': [2],
2589
+ 'sonarjs/aws-efs-unencrypted': [2],
2590
+ 'sonarjs/aws-iam-all-privileges': [2],
2591
+ 'sonarjs/aws-iam-privilege-escalation': [2],
2592
+ 'sonarjs/aws-iam-public-access': [2],
2593
+ 'sonarjs/aws-opensearchservice-domain': [2],
2594
+ 'sonarjs/aws-rds-unencrypted-databases': [2],
2595
+ 'sonarjs/aws-restricted-ip-admin-access': [2],
2596
+ 'sonarjs/aws-s3-bucket-granted-access': [2],
2597
+ 'sonarjs/aws-s3-bucket-insecure-http': [2],
2598
+ 'sonarjs/aws-s3-bucket-public-access': [2],
2599
+ 'sonarjs/aws-s3-bucket-versioning': [2],
2600
+ 'sonarjs/aws-sagemaker-unencrypted-notebook': [2],
2601
+ 'sonarjs/aws-sns-unencrypted-topics': [2],
2602
+ 'sonarjs/aws-sqs-unencrypted-queue': [2],
2603
+ 'sonarjs/block-scoped-var': [2],
2604
+ 'sonarjs/call-argument-line': [2],
2605
+ 'sonarjs/chai-determinate-assertion': [2],
2606
+ 'sonarjs/class-name': [2, { format: '^\\$?[A-Z][a-zA-Z0-9]*$' }],
2607
+ 'sonarjs/code-eval': [2],
2608
+ 'sonarjs/cognitive-complexity': [2, 15],
2609
+ 'sonarjs/comma-or-logical-or-case': [2],
2610
+ 'sonarjs/constructor-for-side-effects': [2],
2611
+ 'sonarjs/content-length': [2, { fileUploadSizeLimit: 8000000, standardSizeLimit: 2000000 }],
2612
+ 'sonarjs/content-security-policy': [2],
2613
+ 'sonarjs/cookie-no-httponly': [2],
2614
+ 'sonarjs/cors': [2],
2615
+ 'sonarjs/csrf': [2],
2616
+ 'typescript/no-deprecated': 'off',
2617
+ 'sonarjs/disabled-timeout': [2],
2618
+ 'sonarjs/dynamically-constructed-templates': [2],
2619
+ 'sonarjs/encryption-secure-mode': [2],
2620
+ 'sonarjs/explicit-test-skip': [2],
2621
+ 'sonarjs/file-permissions': [2],
2622
+ 'sonarjs/file-uploads': [2],
2623
+ 'sonarjs/fixme-tag': [2],
2624
+ 'sonarjs/for-loop-increment-sign': [2],
2625
+ 'sonarjs/function-inside-loop': [2],
2626
+ 'sonarjs/future-reserved-words': [2],
2627
+ 'sonarjs/generator-without-yield': [2],
2628
+ 'sonarjs/hardcoded-secret-signatures': [2],
2629
+ 'sonarjs/hashing': [2],
2630
+ 'sonarjs/hooks-before-test-cases': [2],
2631
+ 'sonarjs/inconsistent-function-call': [2],
2632
+ 'sonarjs/insecure-cookie': [2],
2633
+ 'sonarjs/insecure-jwt-token': [2],
2634
+ 'sonarjs/inverted-assertion-arguments': [2],
2635
+ 'sonarjs/label-position': [2],
2636
+ 'sonarjs/link-with-target-blank': [2],
2637
+ 'sonarjs/max-switch-cases': [2, 30],
2638
+ 'sonarjs/memoize-cache-key': [2],
2639
+ 'sonarjs/misplaced-loop-counter': [2],
2640
+ 'sonarjs/no-all-duplicated-branches': [2],
2641
+ 'typescript/require-array-sort-compare': 'off',
2642
+ 'sonarjs/no-angular-bypass-sanitization': [2],
2643
+ 'typescript/no-array-delete': 'off',
2644
+ 'sonarjs/no-case-label-in-switch': [2],
2645
+ 'sonarjs/no-clear-text-protocols': [2],
2646
+ 'sonarjs/no-code-after-done': [2],
2647
+ 'sonarjs/no-dead-store': [2],
2648
+ 'sonarjs/no-debug-commands-in-ui-tests': [2],
2649
+ 'sonarjs/no-default-utility-imports': [2],
2650
+ 'sonarjs/no-delete-var': [2],
2651
+ 'sonarjs/no-duplicate-in-composite': [2],
2652
+ 'sonarjs/no-duplicate-test-title': [2],
2653
+ 'sonarjs/no-duplicated-branches': [2],
2654
+ 'sonarjs/no-element-overwrite': [2],
2655
+ 'sonarjs/no-empty-collection': [2],
2656
+ 'sonarjs/no-empty-test-file': [2],
2657
+ 'sonarjs/no-empty-test-title': [2],
2658
+ 'sonarjs/no-equals-in-for-termination': [2],
2659
+ 'sonarjs/no-exclusive-tests': [2],
2660
+ 'sonarjs/no-extra-arguments': [2],
2661
+ 'sonarjs/no-fallthrough': [2],
2662
+ 'sonarjs/no-fixed-wait-in-tests': [2],
2663
+ 'sonarjs/no-floating-point-equality': [2],
2664
+ 'sonarjs/no-forced-browser-interaction': [2],
2665
+ 'sonarjs/no-global-this': [2],
2666
+ 'sonarjs/no-globals-shadowing': [2],
2667
+ 'sonarjs/no-gratuitous-expressions': [2],
2668
+ 'sonarjs/no-hardcoded-ip': [2],
2669
+ 'sonarjs/no-hardcoded-passwords': [2, { passwordWords: ['password', 'pwd', 'passwd', 'passphrase'] }],
2670
+ 'sonarjs/no-hardcoded-secrets': [
2671
+ 2,
2672
+ { secretWords: 'api[_.-]?key,auth,credential,secret,token', randomnessSensibility: 5 },
2673
+ ],
2674
+ 'sonarjs/no-hook-setter-in-body': [2],
2675
+ 'sonarjs/no-identical-conditions': [2],
2676
+ 'sonarjs/no-identical-expressions': [2],
2677
+ 'sonarjs/no-identical-functions': [2, 3],
2678
+ 'sonarjs/no-ignored-exceptions': [2],
2679
+ 'sonarjs/no-implicit-global': [2],
2680
+ 'sonarjs/no-incomplete-assertions': [2],
2681
+ 'sonarjs/no-internal-api-use': [2],
2682
+ 'sonarjs/no-interpolation-in-inline-snapshots': [2],
2683
+ 'sonarjs/no-invariant-returns': [2],
2684
+ 'sonarjs/no-inverted-boolean-check': [2],
2685
+ 'sonarjs/no-labels': [2],
2686
+ 'sonarjs/no-literal-call': [2],
2687
+ 'sonarjs/no-mime-sniff': [2],
2688
+ 'sonarjs/no-mixed-completion-style': [2],
2689
+ 'sonarjs/no-nested-assignment': [2],
2690
+ 'sonarjs/no-nested-conditional': [2],
2691
+ 'sonarjs/no-nested-functions': [2, { threshold: 4 }],
2692
+ 'sonarjs/no-nested-template-literals': [2],
2693
+ 'sonarjs/no-os-command-from-path': [2],
2694
+ 'sonarjs/no-parameter-reassignment': [2],
2695
+ 'sonarjs/no-primitive-wrappers': [2],
2696
+ 'sonarjs/no-redundant-assignments': [2],
2697
+ 'sonarjs/no-redundant-boolean': [2],
2698
+ 'sonarjs/no-redundant-jump': [2],
2699
+ 'sonarjs/no-referrer-policy': [2],
2700
+ 'sonarjs/no-same-argument-assert': [2],
2701
+ 'sonarjs/no-same-line-conditional': [2],
2702
+ 'sonarjs/no-session-cookies-on-static-assets': [2],
2703
+ 'sonarjs/no-skipped-tests': [2],
2704
+ 'sonarjs/no-table-as-layout': [2],
2705
+ 'sonarjs/no-trivial-assertions': [2],
2706
+ 'sonarjs/no-unenclosed-multiline-block': [2],
2707
+ 'sonarjs/no-uniq-key': [2],
2708
+ 'sonarjs/no-unthrown-error': [2],
2709
+ 'sonarjs/no-unused-collection': [2],
2710
+ 'sonarjs/no-unused-vars': 'off',
2711
+ 'sonarjs/no-use-of-empty-return-value': [2],
2712
+ 'sonarjs/no-useless-catch': [2],
2713
+ 'sonarjs/no-useless-increment': [2],
2714
+ 'sonarjs/no-useless-react-setstate': [2],
2715
+ 'sonarjs/no-weak-cipher': [2],
2716
+ 'sonarjs/no-weak-keys': [2],
2717
+ 'sonarjs/non-existent-operator': [2],
2718
+ 'sonarjs/object-alt-content': [2],
2719
+ 'sonarjs/parameterized-tests': [2],
2720
+ 'sonarjs/prefer-default-last': [2],
2721
+ 'sonarjs/prefer-native-lodash-alternative': [2],
2722
+ 'sonarjs/prefer-promise-shorthand': [2],
2723
+ 'typescript/prefer-regexp-exec': 'off',
2724
+ 'sonarjs/prefer-single-boolean-return': [2],
2725
+ 'sonarjs/prefer-specific-assertions': [2],
2726
+ 'sonarjs/prefer-type-guard': [2],
2727
+ 'sonarjs/prefer-while': [2],
2728
+ 'sonarjs/production-debug': [2],
2729
+ 'sonarjs/pseudo-random': [2],
2730
+ 'sonarjs/public-static-readonly': [2],
2731
+ 'sonarjs/publicly-writable-directories': [2],
2732
+ 'sonarjs/redundant-type-aliases': [2],
2733
+ 'sonarjs/review-blockchain-mnemonic': [2],
2734
+ 'sonarjs/session-regeneration': [2],
2735
+ 'sonarjs/stable-tests': [2],
2736
+ 'sonarjs/stateful-regex': [2],
2737
+ 'sonarjs/strict-transport-security': [2],
2738
+ 'sonarjs/super-linear-regex': [2],
2739
+ 'sonarjs/synchronous-suite-callback': [2],
2740
+ 'sonarjs/table-header': [2],
2741
+ 'sonarjs/table-header-reference': [2],
2742
+ 'sonarjs/test-check-exception': [2],
2743
+ 'sonarjs/todo-tag': [2],
2744
+ 'sonarjs/unverified-certificate': [2],
2745
+ 'sonarjs/unverified-hostname': [2],
2746
+ 'sonarjs/updated-const-var': [2],
2747
+ 'sonarjs/updated-loop-counter': [2],
2748
+ 'sonarjs/use-type-alias': [2],
2749
+ 'sonarjs/weak-ssl': [2],
2750
+ 'sonarjs/x-powered-by': [2],
2751
+ 'sonarjs/xml-parser-xxe': [2],
2752
+ 'eslint/sort-imports': 'off',
2753
+ 'unicorn-js/better-dom-traversing': [2],
2754
+ 'unicorn/catch-error-name': [2, { name: 'error', ignore: [] }],
2755
+ 'unicorn-js/class-reference-in-static-methods': [2, { preferThis: true, preferSuper: true }],
2756
+ 'unicorn/consistent-assert': [2],
2757
+ 'unicorn-js/consistent-boolean-name': [
2758
+ 2,
2759
+ {
2760
+ checkVariables: 'always',
2761
+ checkArguments: 'always',
2762
+ checkFunctions: 'always',
2763
+ checkMethods: 'never',
2764
+ checkFields: 'never',
2765
+ ignore: [],
2766
+ wrappers: {},
2767
+ },
2768
+ ],
2769
+ 'unicorn-js/consistent-class-member-order': [
2770
+ 2,
2771
+ {
2772
+ order: [
2773
+ 'static-field',
2774
+ 'static-block',
2775
+ 'static-method',
2776
+ 'private-field',
2777
+ 'public-field',
2778
+ 'constructor',
2779
+ 'private-method',
2780
+ 'public-method',
2781
+ ],
2782
+ },
2783
+ ],
2784
+ 'unicorn-js/consistent-compound-words': [2, {}],
2785
+ 'unicorn-js/consistent-conditional-object-spread': [2, 'logical'],
2786
+ 'unicorn/consistent-date-clone': [2],
2787
+ 'unicorn-js/consistent-destructuring': 'off',
2788
+ 'unicorn/consistent-empty-array-spread': [2],
2789
+ 'unicorn/consistent-existence-index-check': [2],
2790
+ 'unicorn-js/consistent-export-decorator-position': [2, 'above'],
2791
+ 'unicorn-js/consistent-function-scoping': [2, { checkArrowFunctions: true }],
2792
+ 'unicorn-js/consistent-json-file-read': [2, 'string'],
2793
+ 'unicorn-js/consistent-optional-chaining': [2],
2794
+ 'unicorn/consistent-template-literal-escape': [2],
2795
+ 'unicorn-js/consistent-tuple-labels': [2],
2796
+ 'unicorn/custom-error-definition': 'off',
2797
+ 'unicorn-js/default-export-style': [2, { functions: 'inline', classes: 'inline' }],
2798
+ 'unicorn-js/dom-node-dataset': [2, { preferAttributes: false }],
2799
+ 'unicorn/empty-brace-spaces': [2],
2800
+ 'unicorn/error-message': [2],
2801
+ 'unicorn-js/escape-case': [2, 'uppercase'],
2802
+ 'unicorn-js/expiring-todo-comments': [
2803
+ 2,
2804
+ {
2805
+ terms: ['todo', 'fixme', 'xxx'],
2806
+ ignore: [],
2807
+ checkDates: false,
2808
+ checkDatesOnPullRequests: false,
2809
+ allowWarningComments: true,
2810
+ },
2811
+ ],
2812
+ 'unicorn/explicit-length-check': [2, { 'non-zero': 'greater-than' }],
2813
+ 'unicorn-js/explicit-timer-delay': [2, 'always'],
2814
+ 'unicorn/filename-case': [2],
2815
+ 'unicorn/import-style': [2, {}],
2816
+ 'unicorn-js/isolated-functions': [
2817
+ 2,
2818
+ { functions: ['makeSynchronous', 'workerize'], selectors: [], comments: ['@isolated'], overrideGlobals: {} },
2819
+ ],
2820
+ 'unicorn-js/logical-assignment-operators': [2, 'always'],
2821
+ 'unicorn/max-nested-calls': [2, { max: 3 }],
2822
+ 'unicorn-js/name-replacements': [2, {}],
2823
+ 'unicorn/new-for-builtins': [2],
2824
+ 'unicorn/no-abusive-eslint-disable': [2],
2825
+ 'unicorn/no-accessor-recursion': [2],
2826
+ 'unicorn-js/no-accidental-bitwise-operator': [2],
2827
+ 'unicorn/no-anonymous-default-export': [2],
2828
+ 'unicorn-js/no-array-callback-reference': [2, { ignore: [] }],
2829
+ 'unicorn-js/no-array-concat-in-loop': [2],
2830
+ 'unicorn/no-array-fill-with-reference-type': [2],
2831
+ 'unicorn-js/no-array-from-fill': [2],
2832
+ 'unicorn/no-array-method-this-argument': [2],
2833
+ 'unicorn/no-array-reduce': [2, { allowSimpleOperations: true }],
2834
+ 'unicorn/no-array-reverse': [2, { allowExpressionStatement: true }],
2835
+ 'unicorn/no-array-sort': [2, { allowExpressionStatement: true }],
2836
+ 'unicorn-js/no-array-sort-for-min-max': [2],
2837
+ 'unicorn-js/no-array-splice': [2],
2838
+ 'unicorn-js/no-async-promise-finally': [2],
2839
+ 'unicorn/no-await-expression-member': [2],
2840
+ 'unicorn/no-await-in-promise-methods': [2],
2841
+ 'unicorn-js/no-boolean-sort-comparator': [2],
2842
+ 'unicorn-js/no-break-in-nested-loop': [2],
2843
+ 'unicorn-js/no-canvas-to-image': [2],
2844
+ 'unicorn-js/no-chained-comparison': [2],
2845
+ 'unicorn-js/no-collection-bracket-access': [2],
2846
+ 'unicorn-js/no-computed-property-existence-check': [2],
2847
+ 'unicorn-js/no-confusing-array-splice': [2],
2848
+ 'unicorn/no-confusing-array-with': [2],
2849
+ 'unicorn/no-console-spaces': [2],
2850
+ 'unicorn-js/no-constant-zero-expression': [2],
2851
+ 'unicorn-js/no-declarations-before-early-exit': [2],
2852
+ 'unicorn/no-document-cookie': [2],
2853
+ 'unicorn-js/no-double-comparison': [2],
2854
+ 'unicorn-js/no-duplicate-if-branches': [2],
2855
+ 'unicorn-js/no-duplicate-logical-operands': [2],
2856
+ 'unicorn-js/no-duplicate-loops': [2],
2857
+ 'unicorn-js/no-duplicate-set-values': [2],
2858
+ 'unicorn-js/no-empty-file': [2, { allowComments: false }],
2859
+ 'unicorn-js/no-error-property-assignment': [2],
2860
+ 'unicorn-js/no-exports-in-scripts': [2],
2861
+ 'unicorn-js/no-for-each': [2],
2862
+ 'unicorn-js/no-for-loop': [2],
2863
+ 'unicorn-js/no-global-object-property-assignment': [2],
2864
+ 'unicorn/no-immediate-mutation': [2],
2865
+ 'unicorn-js/no-impossible-length-comparison': [2],
2866
+ 'unicorn-js/no-incorrect-query-selector': [2],
2867
+ 'unicorn-js/no-incorrect-template-string-interpolation': [2],
2868
+ 'unicorn/no-instanceof-builtins': [2, { useErrorIsError: false, strategy: 'loose', include: [], exclude: [] }],
2869
+ 'unicorn-js/no-invalid-argument-count': [2, {}],
2870
+ 'unicorn-js/no-invalid-character-comparison': [2],
2871
+ 'unicorn/no-invalid-fetch-options': [2],
2872
+ 'unicorn/no-invalid-remove-event-listener': [2],
2873
+ 'unicorn-js/no-invalid-well-known-symbol-methods': [2],
2874
+ 'unicorn-js/no-late-current-target-access': [2],
2875
+ 'unicorn-js/no-late-event-control': [2],
2876
+ 'unicorn/no-lonely-if': [2],
2877
+ 'unicorn-js/no-loop-iterable-mutation': [2],
2878
+ 'unicorn/no-magic-array-flat-depth': [2],
2879
+ 'unicorn-js/no-mismatched-map-key': [2],
2880
+ 'unicorn-js/no-misrefactored-assignment': [2],
2881
+ 'unicorn-js/no-multiple-promise-resolver-calls': [2],
2882
+ 'unicorn-js/no-named-default': [2],
2883
+ 'unicorn-js/no-negated-array-predicate': [2],
2884
+ 'unicorn-js/no-negated-comparison': [2, { checkLogicalExpressions: false }],
2885
+ 'unicorn/no-negated-condition': [2],
2886
+ 'unicorn/no-negation-in-equality-check': [2],
2887
+ 'unicorn/no-nested-ternary': [2],
2888
+ 'unicorn/no-new-array': [2],
2889
+ 'unicorn/no-new-buffer': [2],
2890
+ 'unicorn-js/no-nonstandard-builtin-properties': [2],
2891
+ 'unicorn/no-object-as-default-parameter': [2],
2892
+ 'unicorn-js/no-object-methods-with-collections': [2],
2893
+ 'unicorn-js/no-optional-chaining-on-undeclared-variable': [2],
2894
+ 'unicorn/no-process-exit': [2],
2895
+ 'unicorn-js/no-redundant-comparison': [2],
2896
+ 'unicorn-js/no-return-array-push': [2],
2897
+ 'unicorn-js/no-selector-as-dom-name': [2],
2898
+ 'unicorn/no-single-promise-in-promise-methods': [2],
2899
+ 'unicorn/no-static-only-class': [2],
2900
+ 'unicorn-js/no-subtraction-comparison': [2],
2901
+ 'unicorn/no-thenable': [2],
2902
+ 'unicorn/no-this-assignment': [2],
2903
+ 'unicorn-js/no-this-outside-of-class': [2],
2904
+ 'unicorn-js/no-top-level-assignment-in-function': [2],
2905
+ 'unicorn-js/no-top-level-side-effects': [2],
2906
+ 'unicorn/no-typeof-undefined': [2, { checkGlobalVariables: false }],
2907
+ 'unicorn-js/no-uncalled-method': [2],
2908
+ 'unicorn-js/no-undeclared-class-members': [2],
2909
+ 'unicorn/no-unnecessary-array-flat-depth': [2],
2910
+ 'unicorn-js/no-unnecessary-array-flat-map': [2],
2911
+ 'unicorn/no-unnecessary-array-splice-count': [2],
2912
+ 'unicorn-js/no-unnecessary-await': [2],
2913
+ 'unicorn-js/no-unnecessary-boolean-comparison': [2],
2914
+ 'unicorn-js/no-unnecessary-fetch-options': [2],
2915
+ 'unicorn-js/no-unnecessary-global-this': [2],
2916
+ 'unicorn-js/no-unnecessary-nested-ternary': [2],
2917
+ 'unicorn-js/no-unnecessary-polyfills': [2, {}],
2918
+ 'unicorn/no-unnecessary-slice-end': [2],
2919
+ 'unicorn-js/no-unnecessary-splice': [2],
2920
+ 'unicorn-js/no-unnecessary-string-trim': [2],
2921
+ 'unicorn-js/no-unreadable-array-destructuring': [2, { maximumIgnoredElements: 1 }],
2922
+ 'unicorn-js/no-unreadable-for-of-expression': [2],
2923
+ 'unicorn/no-unreadable-iife': [2],
2924
+ 'unicorn-js/no-unreadable-object-destructuring': [2],
2925
+ 'unicorn-js/no-unsafe-buffer-conversion': [2],
2926
+ 'unicorn-js/no-unsafe-promise-all-settled-values': [2],
2927
+ 'unicorn-js/no-unsafe-property-key': [2],
2928
+ 'unicorn-js/no-unsafe-sqlite-interpolation': [2],
2929
+ 'unicorn-js/no-unsafe-string-replacement': [2],
2930
+ 'unicorn-js/no-unused-array-method-return': [2],
2931
+ 'unicorn-js/no-unused-properties': 'off',
2932
+ 'unicorn-js/no-useless-boolean-cast': [2],
2933
+ 'unicorn-js/no-useless-coercion': [2],
2934
+ 'unicorn/no-useless-collection-argument': [2],
2935
+ 'unicorn-js/no-useless-compound-assignment': [2],
2936
+ 'unicorn-js/no-useless-concat': [2],
2937
+ 'unicorn-js/no-useless-continue': [2],
2938
+ 'unicorn-js/no-useless-delete-check': [2],
2939
+ 'unicorn-js/no-useless-else': [2],
2940
+ 'unicorn/no-useless-error-capture-stack-trace': [2],
2941
+ 'unicorn/no-useless-fallback-in-spread': [2],
2942
+ 'unicorn/no-useless-iterator-to-array': [2],
2943
+ 'unicorn/no-useless-length-check': [2],
2944
+ 'unicorn-js/no-useless-logical-operand': [2],
2945
+ 'unicorn-js/no-useless-override': [2],
2946
+ 'unicorn/no-useless-promise-resolve-reject': [2],
2947
+ 'unicorn-js/no-useless-re-export': [2],
2948
+ 'unicorn-js/no-useless-recursion': [2],
2949
+ 'unicorn/no-useless-spread': [2],
2950
+ 'unicorn/no-useless-switch-case': [2],
2951
+ 'unicorn-js/no-useless-template-literals': [2],
2952
+ 'unicorn/no-useless-undefined': [2, { checkArguments: true, checkArrowFunctionBody: true }],
2953
+ 'unicorn-js/no-xor-as-exponentiation': [2],
2954
+ 'unicorn/no-zero-fractions': [2],
2955
+ 'unicorn-js/number-literal-case': [2, { hexadecimalValue: 'uppercase' }],
2956
+ 'unicorn-js/numeric-separators-style': [
2957
+ 2,
2958
+ {
2959
+ onlyIfContainsSeparator: false,
2960
+ binary: { minimumDigits: 0, groupLength: 4 },
2961
+ octal: { minimumDigits: 0, groupLength: 4 },
2962
+ hexadecimal: { minimumDigits: 0, groupLength: 2 },
2963
+ number: { minimumDigits: 5, groupLength: 3 },
2964
+ },
2965
+ ],
2966
+ 'unicorn-js/operator-assignment': [2, 'always'],
2967
+ 'unicorn-js/prefer-abort-signal-any': [2],
2968
+ 'unicorn-js/prefer-abort-signal-timeout': [2],
2969
+ 'unicorn-js/prefer-add-event-listener': [2, { excludedPackages: ['koa', 'sax'] }],
2970
+ 'unicorn-js/prefer-add-event-listener-options': [2],
2971
+ 'unicorn-js/prefer-aggregate-error': [2],
2972
+ 'unicorn-js/prefer-array-find': [2, { checkFromLast: true }],
2973
+ 'unicorn-js/prefer-array-flat': [2, { functions: [] }],
2974
+ 'unicorn/prefer-array-flat-map': [2],
2975
+ 'unicorn-js/prefer-array-from-async': [2],
2976
+ 'unicorn-js/prefer-array-from-map': [2],
2977
+ 'unicorn-js/prefer-array-from-range': [2],
2978
+ 'unicorn/prefer-array-index-of': [2],
2979
+ 'unicorn-js/prefer-array-iterable-methods': [2],
2980
+ 'unicorn-js/prefer-array-last-methods': [2],
2981
+ 'unicorn-js/prefer-array-slice': [2],
2982
+ 'unicorn/prefer-array-some': [2],
2983
+ 'unicorn/prefer-at': [2, { getLastElementFunctions: [], checkAllIndexAccess: false }],
2984
+ 'unicorn-js/prefer-await': [2],
2985
+ 'unicorn/prefer-bigint-literals': [2],
2986
+ 'unicorn/prefer-blob-reading-methods': [2],
2987
+ 'unicorn-js/prefer-block-statement-over-iife': [2],
2988
+ 'unicorn-js/prefer-boolean-return': [2],
2989
+ 'unicorn/prefer-class-fields': [2],
2990
+ 'unicorn/prefer-classlist-toggle': [2],
2991
+ 'unicorn/prefer-code-point': [2],
2992
+ 'unicorn-js/prefer-continue': [2, { maximumStatements: 1 }],
2993
+ 'unicorn/prefer-date-now': [2],
2994
+ 'unicorn/prefer-default-parameters': [2],
2995
+ 'unicorn-js/prefer-direct-iteration': [2],
2996
+ 'unicorn/prefer-dom-node-append': [2],
2997
+ 'unicorn-js/prefer-dom-node-html-methods': [2, { checkGetHTML: true, checkSetHTML: false }],
2998
+ 'unicorn/prefer-dom-node-remove': [2],
2999
+ 'unicorn-js/prefer-dom-node-replace-children': [2],
3000
+ 'unicorn/prefer-dom-node-text-content': [2],
3001
+ 'unicorn-js/prefer-early-return': [2, { maximumStatements: 1 }],
3002
+ 'unicorn-js/prefer-else-if': [2],
3003
+ 'unicorn/prefer-event-target': [2],
3004
+ 'unicorn/prefer-export-from': [2, { checkUsedVariables: true }],
3005
+ 'unicorn-js/prefer-flat-math-min-max': [2],
3006
+ 'unicorn-js/prefer-get-or-insert-computed': [2],
3007
+ 'unicorn-js/prefer-global-number-constants': [2],
3008
+ 'unicorn/prefer-global-this': [2],
3009
+ 'unicorn-js/prefer-group-by': [2],
3010
+ 'unicorn-js/prefer-has-check': [2],
3011
+ 'unicorn-js/prefer-hoisting-branch-code': [2],
3012
+ 'unicorn-js/prefer-https': [2, { ignore: [] }],
3013
+ 'unicorn-js/prefer-identifier-import-export-specifiers': [2],
3014
+ 'unicorn/prefer-includes': [2],
3015
+ 'unicorn-js/prefer-includes-over-repeated-comparisons': [2, { minimumComparisons: 3 }],
3016
+ 'unicorn-js/prefer-iterable-in-constructor': [2],
3017
+ 'unicorn-js/prefer-iterator-helpers': [2],
3018
+ 'unicorn-js/prefer-iterator-to-array': [2],
3019
+ 'unicorn-js/prefer-iterator-to-array-at-end': [2],
3020
+ 'unicorn/prefer-keyboard-event-key': [2],
3021
+ 'unicorn-js/prefer-location-assign': [2],
3022
+ 'unicorn/prefer-logical-operator-over-ternary': [2],
3023
+ 'unicorn-js/prefer-map-from-entries': [2],
3024
+ 'unicorn-js/prefer-math-abs': [2],
3025
+ 'unicorn-js/prefer-math-constants': [2],
3026
+ 'unicorn/prefer-math-min-max': [2],
3027
+ 'unicorn/prefer-math-trunc': [2],
3028
+ 'unicorn-js/prefer-minimal-ternary': [2, { checkVaryingBase: false, checkComputedMemberAccess: false }],
3029
+ 'unicorn/prefer-modern-dom-apis': [2],
3030
+ 'unicorn/prefer-modern-math-apis': [2],
3031
+ 'unicorn/prefer-module': [2],
3032
+ 'unicorn/prefer-native-coercion-functions': [2],
3033
+ 'unicorn/prefer-negative-index': [2],
3034
+ 'unicorn/prefer-node-protocol': [2],
3035
+ 'unicorn/prefer-number-coercion': [2],
3036
+ 'unicorn-js/prefer-number-is-safe-integer': [2],
3037
+ 'unicorn/prefer-number-properties': [2, { checkInfinity: false, checkNaN: false }],
3038
+ 'unicorn-js/prefer-object-define-properties': [2],
3039
+ 'unicorn-js/prefer-object-destructuring-defaults': [2],
3040
+ 'unicorn/prefer-object-from-entries': [2, { functions: [] }],
3041
+ 'unicorn-js/prefer-object-iterable-methods': [2],
3042
+ 'unicorn-js/prefer-observer-apis': [2],
3043
+ 'unicorn/prefer-optional-catch-binding': [2],
3044
+ 'unicorn-js/prefer-path2d': [2],
3045
+ 'unicorn-js/prefer-promise-try': [2],
3046
+ 'unicorn-js/prefer-promise-with-resolvers': [2],
3047
+ 'unicorn-js/prefer-prototype-methods': [2],
3048
+ 'unicorn-js/prefer-query-selector': [2, { allowWithVariables: false }],
3049
+ 'unicorn-js/prefer-queue-microtask': [2, { checkSetImmediate: false, checkSetTimeout: false }],
3050
+ 'unicorn/prefer-reflect-apply': [2],
3051
+ 'unicorn-js/prefer-regexp-test': [2],
3052
+ 'unicorn/prefer-response-static-json': [2],
3053
+ 'unicorn-js/prefer-scoped-selector': [2],
3054
+ 'unicorn-js/prefer-set-has': [2, { minimumItems: 0 }],
3055
+ 'unicorn-js/prefer-set-methods': [2],
3056
+ 'unicorn/prefer-set-size': [2],
3057
+ 'unicorn-js/prefer-simple-condition-first': [2],
3058
+ 'unicorn-js/prefer-simple-sort-comparator': [2],
3059
+ 'unicorn-js/prefer-simplified-conditions': [2],
3060
+ 'unicorn-js/prefer-single-array-predicate': [2],
3061
+ 'unicorn/prefer-single-call': [2, { ignore: [] }],
3062
+ 'unicorn-js/prefer-single-object-destructuring': [2],
3063
+ 'unicorn-js/prefer-single-replace': [2],
3064
+ 'unicorn-js/prefer-smaller-scope': [2],
3065
+ 'unicorn-js/prefer-split-limit': [2],
3066
+ 'unicorn/prefer-spread': [2],
3067
+ 'unicorn-js/prefer-string-match-all': [2],
3068
+ 'unicorn-js/prefer-string-pad-start-end': [2],
3069
+ 'unicorn-js/prefer-string-raw': [2],
3070
+ 'unicorn-js/prefer-string-repeat': [2, { minimumRepetitions: 3 }],
3071
+ 'unicorn/prefer-string-replace-all': [2],
3072
+ 'unicorn/prefer-string-slice': [2],
3073
+ 'unicorn-js/prefer-string-starts-ends-with': [2],
3074
+ 'unicorn/prefer-string-trim-start-end': [2],
3075
+ 'unicorn-js/prefer-structured-clone': [2, { functions: [] }],
3076
+ 'unicorn-js/prefer-switch': [2, { minimumCases: 3, emptyDefaultCase: 'no-default-comment' }],
3077
+ 'unicorn/prefer-ternary': [2, 'always'],
3078
+ 'unicorn-js/prefer-then-catch': [2],
3079
+ 'unicorn-js/prefer-toggle-attribute': [2],
3080
+ 'unicorn/prefer-top-level-await': [2],
3081
+ 'unicorn/prefer-type-error': [2],
3082
+ 'unicorn-js/prefer-type-literal-last': [2],
3083
+ 'unicorn-js/prefer-unary-minus': [2],
3084
+ 'unicorn-js/prefer-unicode-code-point-escapes': [2],
3085
+ 'unicorn-js/prefer-url-can-parse': [2],
3086
+ 'unicorn-js/prefer-url-href': [2],
3087
+ 'unicorn-js/prefer-url-search-parameters': [2],
3088
+ 'unicorn-js/prefer-while-loop-condition': [2],
3089
+ 'unicorn/relative-url-style': [2, 'never'],
3090
+ 'unicorn/require-array-join-separator': [2],
3091
+ 'unicorn-js/require-array-sort-compare': [2],
3092
+ 'unicorn-js/require-css-escape': [2, { checkAllSelectors: false }],
3093
+ 'unicorn/require-module-attributes': [2],
3094
+ 'unicorn/require-module-specifiers': [2],
3095
+ 'unicorn/require-number-to-fixed-digits-argument': [2],
3096
+ 'unicorn-js/require-passive-events': [2],
3097
+ 'unicorn-js/require-proxy-trap-boolean-return': [2],
3098
+ 'unicorn-js/single-line-block-comment-style': [2, 'multiline', { ignore: [] }],
3099
+ 'unicorn/switch-case-braces': [2, 'always'],
3100
+ 'unicorn/switch-case-break-position': [2],
3101
+ 'unicorn-js/template-indent': [
3102
+ 2,
3103
+ {
3104
+ tags: ['outdent', 'dedent', 'gql', 'sql', 'html', 'styled'],
3105
+ functions: ['dedent', 'stripIndent'],
3106
+ selectors: [],
3107
+ comments: ['HTML', 'indent'],
3108
+ },
3109
+ ],
3110
+ 'unicorn/text-encoding-identifier-case': [2, { withDash: false }],
3111
+ 'unicorn/throw-new-error': [2],
3112
+ 'eslint/use-isnan': [2, { enforceForIndexOf: false, enforceForSwitchCase: true }],
3113
+ 'eslint/valid-typeof': [2, { requireStringLiterals: false }],
3114
+ 'eslint/no-var': 'off',
3115
+ 'eslint/prefer-rest-params': 'off',
3116
+ 'eslint/prefer-spread': 'off',
3117
+ 'stylistic-js/multiline-comment-style': [2, 'starred-block'],
3118
+ 'astro/no-deprecated-astro-canonicalurl': [2],
3119
+ 'astro/no-deprecated-astro-fetchcontent': [2],
3120
+ 'astro/no-deprecated-astro-resolve': [2],
3121
+ 'astro/no-deprecated-getentrybyslug': [2],
3122
+ 'astro/no-exports-from-components': [2],
3123
+ 'astro/no-prerender-export-outside-pages': [2],
3124
+ 'unicorn/no-null': [2, { checkArguments: true, checkStrictEquality: false }],
3125
+ },
3126
+ globals: {
3127
+ AggregateError: 'readonly',
3128
+ Array: 'readonly',
3129
+ ArrayBuffer: 'readonly',
3130
+ AsyncDisposableStack: 'readonly',
3131
+ Atomics: 'readonly',
3132
+ BigInt: 'readonly',
3133
+ BigInt64Array: 'readonly',
3134
+ BigUint64Array: 'readonly',
3135
+ Boolean: 'readonly',
3136
+ DataView: 'readonly',
3137
+ Date: 'readonly',
3138
+ decodeURI: 'readonly',
3139
+ decodeURIComponent: 'readonly',
3140
+ DisposableStack: 'readonly',
3141
+ encodeURI: 'readonly',
3142
+ encodeURIComponent: 'readonly',
3143
+ Error: 'readonly',
3144
+ escape: 'readonly',
3145
+ eval: 'readonly',
3146
+ EvalError: 'readonly',
3147
+ FinalizationRegistry: 'readonly',
3148
+ Float16Array: 'readonly',
3149
+ Float32Array: 'readonly',
3150
+ Float64Array: 'readonly',
3151
+ Function: 'readonly',
3152
+ globalThis: 'readonly',
3153
+ Infinity: 'readonly',
3154
+ Int16Array: 'readonly',
3155
+ Int32Array: 'readonly',
3156
+ Int8Array: 'readonly',
3157
+ Intl: 'readonly',
3158
+ isFinite: 'readonly',
3159
+ isNaN: 'readonly',
3160
+ Iterator: 'readonly',
3161
+ JSON: 'readonly',
3162
+ Map: 'readonly',
3163
+ Math: 'readonly',
3164
+ NaN: 'readonly',
3165
+ Number: 'readonly',
3166
+ Object: 'readonly',
3167
+ parseFloat: 'readonly',
3168
+ parseInt: 'readonly',
3169
+ Promise: 'readonly',
3170
+ Proxy: 'readonly',
3171
+ RangeError: 'readonly',
3172
+ ReferenceError: 'readonly',
3173
+ Reflect: 'readonly',
3174
+ RegExp: 'readonly',
3175
+ Set: 'readonly',
3176
+ SharedArrayBuffer: 'readonly',
3177
+ String: 'readonly',
3178
+ SuppressedError: 'readonly',
3179
+ Symbol: 'readonly',
3180
+ SyntaxError: 'readonly',
3181
+ TypeError: 'readonly',
3182
+ Uint16Array: 'readonly',
3183
+ Uint32Array: 'readonly',
3184
+ Uint8Array: 'readonly',
3185
+ Uint8ClampedArray: 'readonly',
3186
+ undefined: 'readonly',
3187
+ unescape: 'readonly',
3188
+ URIError: 'readonly',
3189
+ WeakMap: 'readonly',
3190
+ WeakRef: 'readonly',
3191
+ WeakSet: 'readonly',
3192
+ __dirname: 'readonly',
3193
+ __filename: 'readonly',
3194
+ AbortController: 'readonly',
3195
+ AbortSignal: 'readonly',
3196
+ atob: 'readonly',
3197
+ Blob: 'readonly',
3198
+ BroadcastChannel: 'readonly',
3199
+ btoa: 'readonly',
3200
+ Buffer: 'readonly',
3201
+ ByteLengthQueuingStrategy: 'readonly',
3202
+ clearImmediate: 'readonly',
3203
+ clearInterval: 'readonly',
3204
+ clearTimeout: 'readonly',
3205
+ CloseEvent: 'readonly',
3206
+ CompressionStream: 'readonly',
3207
+ console: 'readonly',
3208
+ CountQueuingStrategy: 'readonly',
3209
+ crypto: 'readonly',
3210
+ Crypto: 'readonly',
3211
+ CryptoKey: 'readonly',
3212
+ CustomEvent: 'readonly',
3213
+ DecompressionStream: 'readonly',
3214
+ DOMException: 'readonly',
3215
+ ErrorEvent: 'readonly',
3216
+ Event: 'readonly',
3217
+ EventTarget: 'readonly',
3218
+ exports: 'writable',
3219
+ fetch: 'readonly',
3220
+ File: 'readonly',
3221
+ FormData: 'readonly',
3222
+ global: 'readonly',
3223
+ Headers: 'readonly',
3224
+ localStorage: 'readonly',
3225
+ MessageChannel: 'readonly',
3226
+ MessageEvent: 'readonly',
3227
+ MessagePort: 'readonly',
3228
+ module: 'readonly',
3229
+ navigator: 'readonly',
3230
+ Navigator: 'readonly',
3231
+ performance: 'readonly',
3232
+ Performance: 'readonly',
3233
+ PerformanceEntry: 'readonly',
3234
+ PerformanceMark: 'readonly',
3235
+ PerformanceMeasure: 'readonly',
3236
+ PerformanceObserver: 'readonly',
3237
+ PerformanceObserverEntryList: 'readonly',
3238
+ PerformanceResourceTiming: 'readonly',
3239
+ process: 'readonly',
3240
+ queueMicrotask: 'readonly',
3241
+ QuotaExceededError: 'readonly',
3242
+ ReadableByteStreamController: 'readonly',
3243
+ ReadableStream: 'readonly',
3244
+ ReadableStreamBYOBReader: 'readonly',
3245
+ ReadableStreamBYOBRequest: 'readonly',
3246
+ ReadableStreamDefaultController: 'readonly',
3247
+ ReadableStreamDefaultReader: 'readonly',
3248
+ Request: 'readonly',
3249
+ require: 'readonly',
3250
+ Response: 'readonly',
3251
+ sessionStorage: 'readonly',
3252
+ setImmediate: 'readonly',
3253
+ setInterval: 'readonly',
3254
+ setTimeout: 'readonly',
3255
+ Storage: 'readonly',
3256
+ structuredClone: 'readonly',
3257
+ SubtleCrypto: 'readonly',
3258
+ Temporal: 'readonly',
3259
+ TextDecoder: 'readonly',
3260
+ TextDecoderStream: 'readonly',
3261
+ TextEncoder: 'readonly',
3262
+ TextEncoderStream: 'readonly',
3263
+ TransformStream: 'readonly',
3264
+ TransformStreamDefaultController: 'readonly',
3265
+ URL: 'readonly',
3266
+ URLPattern: 'readonly',
3267
+ URLSearchParams: 'readonly',
3268
+ WebAssembly: 'readonly',
3269
+ WebSocket: 'readonly',
3270
+ WritableStream: 'readonly',
3271
+ WritableStreamDefaultController: 'readonly',
3272
+ WritableStreamDefaultWriter: 'readonly',
3273
+ Astro: 'readonly',
3274
+ Fragment: 'readonly',
3275
+ },
3276
+ },
3277
+ '857be039bae4dc05': {
3278
+ rules: {
3279
+ 'stylistic-js/lines-between-class-members': [
3280
+ 2,
3281
+ 'always',
3282
+ { exceptAfterOverload: true, exceptAfterSingleLine: true },
3283
+ ],
3284
+ 'stylistic-js/padding-line-between-statements': [
3285
+ 2,
3286
+ { blankLine: 'always', prev: '*', next: 'if' },
3287
+ { blankLine: 'always', prev: 'if', next: 'if' },
3288
+ { blankLine: 'always', prev: ['const', 'let'], next: '*' },
3289
+ { blankLine: 'any', prev: ['const', 'let'], next: ['const', 'let'] },
3290
+ { blankLine: 'always', prev: '*', next: 'return' },
3291
+ { blankLine: 'always', prev: '*', next: 'case' },
3292
+ { blankLine: 'always', prev: 'if', next: '*' },
3293
+ ],
3294
+ 'stylistic-js/spaced-comment': [2, 'always'],
3295
+ 'typescript/adjacent-overload-signatures': [2],
3296
+ 'typescript-js/array-type': [2],
3297
+ 'typescript/ban-ts-comment': [2],
3298
+ 'typescript/ban-tslint-comment': [2],
3299
+ 'typescript/class-literal-property-style': [2],
3300
+ 'typescript/consistent-generic-constructors': [2],
3301
+ 'typescript/consistent-indexed-object-style': [2],
3302
+ 'typescript/consistent-type-assertions': [2],
3303
+ 'typescript/consistent-type-definitions': 'off',
3304
+ 'typescript/consistent-type-imports': 'off',
3305
+ 'eslint/no-array-constructor': [2],
3306
+ 'typescript/no-confusing-non-null-assertion': [2],
3307
+ 'typescript/no-duplicate-enum-values': [2],
3308
+ 'eslint/no-empty-function': [2, { allow: [] }],
3309
+ 'typescript/no-empty-object-type': [2],
3310
+ 'typescript/no-explicit-any': [2],
3311
+ 'typescript/no-extra-non-null-assertion': [2],
3312
+ 'typescript/no-inferrable-types': [2],
3313
+ 'typescript/no-misused-new': [2],
3314
+ 'typescript/no-namespace': [2],
3315
+ 'typescript/no-non-null-asserted-optional-chain': [2],
3316
+ 'typescript/no-require-imports': [2],
3317
+ 'eslint/no-shadow': 'off',
3318
+ 'typescript/no-this-alias': [2],
3319
+ 'typescript/no-unnecessary-type-constraint': [2],
3320
+ 'typescript/no-unsafe-declaration-merging': [2],
3321
+ 'typescript/no-unsafe-function-type': [2],
3322
+ 'eslint/no-unused-expressions': [
3323
+ 2,
3324
+ { allowShortCircuit: false, allowTaggedTemplates: false, allowTernary: false },
3325
+ ],
3326
+ 'eslint/no-unused-vars': 'off',
3327
+ 'typescript/no-wrapper-object-types': [2],
3328
+ 'typescript-js/prefer-as-const': [2],
3329
+ 'typescript/prefer-for-of': [2],
3330
+ 'typescript/prefer-function-type': [2],
3331
+ 'typescript/prefer-namespace-keyword': [2],
3332
+ 'typescript/switch-exhaustiveness-check': 'off',
3333
+ 'typescript/triple-slash-reference': [2],
3334
+ 'eslint/arrow-body-style': [2, 'as-needed'],
3335
+ 'eslint-js/camelcase': [
3336
+ 2,
3337
+ { allow: [], ignoreDestructuring: false, ignoreGlobals: false, ignoreImports: false, properties: 'always' },
3338
+ ],
3339
+ 'eslint/constructor-super': [2],
3340
+ 'eslint/for-direction': [2],
3341
+ 'eslint/getter-return': [2, { allowImplicit: false }],
3342
+ 'import/default': [2],
3343
+ 'import/export': [2],
3344
+ 'import/extensions': [2, 'never', { js: 'never', json: 'ignorePackages' }],
3345
+ 'import/namespace': [2],
3346
+ 'import/newline-after-import': [2],
3347
+ 'import/no-duplicates': [2, { considerQueryString: true }],
3348
+ 'import/no-named-as-default': [1],
3349
+ 'import/no-named-as-default-member': [1],
3350
+ 'import-x-js/no-unresolved': [2, { caseSensitive: true }],
3351
+ 'import-x-js/order': [
3352
+ 2,
3353
+ {
3354
+ 'newlines-between': 'always',
3355
+ groups: [['builtin', 'external'], ['internal'], ['parent'], ['sibling', 'index', 'object'], ['type']],
3356
+ pathGroups: [{ pattern: '@/**', group: 'external', position: 'after' }],
3357
+ alphabetize: { order: 'asc', caseInsensitive: false, orderImportKind: 'ignore' },
3358
+ distinctGroup: true,
3359
+ sortTypesGroup: false,
3360
+ named: false,
3361
+ warnOnUnassignedImports: false,
3362
+ },
3363
+ ],
3364
+ 'eslint-js/newline-before-return': [2],
3365
+ 'eslint/no-async-promise-executor': [2],
3366
+ 'eslint/no-case-declarations': [2],
3367
+ 'eslint/no-class-assign': [2],
3368
+ 'eslint/no-compare-neg-zero': [2],
3369
+ 'eslint/no-cond-assign': [2, 'except-parens'],
3370
+ 'eslint/no-console': [1, {}],
3371
+ 'eslint/no-const-assign': [2],
3372
+ 'eslint/no-constant-binary-expression': [2, { checkRelationalComparisons: false }],
3373
+ 'eslint/no-constant-condition': [2, { checkLoops: 'allExceptWhileTrue' }],
3374
+ 'eslint/no-control-regex': [2],
3375
+ 'eslint/no-debugger': [1],
3376
+ 'eslint/no-delete-var': [2],
3377
+ 'eslint-js/no-dupe-args': [2],
3378
+ 'eslint/no-dupe-class-members': [2],
3379
+ 'eslint/no-dupe-else-if': [2],
3380
+ 'eslint/no-dupe-keys': [2],
3381
+ 'eslint/no-duplicate-case': [2],
3382
+ 'eslint/no-empty': [2, { allowEmptyCatch: false }],
3383
+ 'eslint/no-empty-character-class': [2],
3384
+ 'eslint/no-empty-pattern': [2, { allowObjectPatternsAsParameters: false }],
3385
+ 'eslint/no-empty-static-block': [2],
3386
+ 'eslint/no-ex-assign': [2],
3387
+ 'eslint/no-extra-boolean-cast': [2, {}],
3388
+ 'eslint/no-fallthrough': [2, { allowEmptyCase: false, reportUnusedFallthroughComment: false }],
3389
+ 'eslint/no-func-assign': [2],
3390
+ 'eslint/no-global-assign': [2, { exceptions: [] }],
3391
+ 'eslint/no-import-assign': [2],
3392
+ 'eslint/no-invalid-regexp': [2, {}],
3393
+ 'eslint/no-irregular-whitespace': [
3394
+ 2,
3395
+ { skipComments: false, skipJSXText: false, skipRegExps: false, skipStrings: true, skipTemplates: false },
3396
+ ],
3397
+ 'eslint/no-loss-of-precision': [2],
3398
+ 'eslint/no-misleading-character-class': [2, { allowEscape: false }],
3399
+ 'eslint/no-new-native-nonconstructor': [2],
3400
+ 'eslint/no-nonoctal-decimal-escape': [2],
3401
+ 'eslint/no-obj-calls': [2],
3402
+ 'eslint-js/no-octal': [2],
3403
+ 'eslint/no-prototype-builtins': [2],
3404
+ 'eslint/no-redeclare': [2, { builtinGlobals: true }],
3405
+ 'eslint/no-regex-spaces': [2],
3406
+ 'eslint-js/no-restricted-syntax': [
3407
+ 2,
3408
+ { selector: 'WithStatement', message: '`with` statement are not allowed.' },
3409
+ { selector: 'ForInStatement', message: 'Use for..of instead.' },
3410
+ {
3411
+ selector: 'TSEnumDeclaration',
3412
+ message: "Don't declare enums, use type union of literal strings or constants.",
3413
+ },
3414
+ { selector: 'MemberExpression[object.name="React"]', message: 'Use named imports from react.' },
3415
+ {
3416
+ selector:
3417
+ 'CallExpression[callee.property.name="replaceAll"] > Literal[regex.flags=/^[^g]*$/].arguments:first-child',
3418
+ message: 'Missing "g" flag in regular expression.',
3419
+ },
3420
+ ],
3421
+ 'eslint/no-self-assign': [2, { props: true }],
3422
+ 'eslint/no-setter-return': [2],
3423
+ 'eslint/no-shadow-restricted-names': [2, { reportGlobalThis: true }],
3424
+ 'eslint/no-sparse-arrays': [2],
3425
+ 'eslint/no-this-before-super': [2],
3426
+ 'eslint/no-unassigned-vars': [2],
3427
+ 'eslint/no-unreachable': [2],
3428
+ 'eslint/no-unsafe-finally': [2],
3429
+ 'eslint/no-unsafe-negation': [2, { enforceForOrderingRelations: false }],
3430
+ 'eslint/no-unsafe-optional-chaining': [2, { disallowArithmeticOperators: false }],
3431
+ 'eslint/no-unused-labels': [2],
3432
+ 'eslint/no-unused-private-class-members': [2],
3433
+ 'eslint/no-useless-assignment': [2],
3434
+ 'eslint/no-useless-backreference': [2],
3435
+ 'eslint/no-useless-catch': [2],
3436
+ 'eslint/no-useless-escape': [2, { allowRegexCharacters: [] }],
3437
+ 'eslint/no-with': [2],
3438
+ 'eslint/object-shorthand': [2, 'always'],
3439
+ 'eslint/prefer-const': [2, { destructuring: 'any', ignoreReadBeforeAssign: false }],
3440
+ 'eslint/prefer-template': [2],
3441
+ 'eslint-js/preserve-caught-error': [2, { requireCatchParameter: false, errorClassNames: [] }],
3442
+ 'prettier/prettier': 'off',
3443
+ 'eslint/require-yield': [2],
3444
+ 'sonarjs/assertions-in-test-cases': [2],
3445
+ 'sonarjs/async-test-assertions': [2],
3446
+ 'sonarjs/aws-apigateway-public-api': [2],
3447
+ 'sonarjs/aws-ec2-rds-dms-public': [2],
3448
+ 'sonarjs/aws-ec2-unencrypted-ebs-volume': [2],
3449
+ 'sonarjs/aws-efs-unencrypted': [2],
3450
+ 'sonarjs/aws-iam-all-privileges': [2],
3451
+ 'sonarjs/aws-iam-privilege-escalation': [2],
3452
+ 'sonarjs/aws-iam-public-access': [2],
3453
+ 'sonarjs/aws-opensearchservice-domain': [2],
3454
+ 'sonarjs/aws-rds-unencrypted-databases': [2],
3455
+ 'sonarjs/aws-restricted-ip-admin-access': [2],
3456
+ 'sonarjs/aws-s3-bucket-granted-access': [2],
3457
+ 'sonarjs/aws-s3-bucket-insecure-http': [2],
3458
+ 'sonarjs/aws-s3-bucket-public-access': [2],
3459
+ 'sonarjs/aws-s3-bucket-versioning': [2],
3460
+ 'sonarjs/aws-sagemaker-unencrypted-notebook': [2],
3461
+ 'sonarjs/aws-sns-unencrypted-topics': [2],
3462
+ 'sonarjs/aws-sqs-unencrypted-queue': [2],
3463
+ 'sonarjs/block-scoped-var': [2],
3464
+ 'sonarjs/call-argument-line': [2],
3465
+ 'sonarjs/chai-determinate-assertion': [2],
3466
+ 'sonarjs/class-name': [2, { format: '^\\$?[A-Z][a-zA-Z0-9]*$' }],
3467
+ 'sonarjs/code-eval': [2],
3468
+ 'sonarjs/cognitive-complexity': [2, 15],
3469
+ 'sonarjs/comma-or-logical-or-case': [2],
3470
+ 'sonarjs/constructor-for-side-effects': [2],
3471
+ 'sonarjs/content-length': [2, { fileUploadSizeLimit: 8000000, standardSizeLimit: 2000000 }],
3472
+ 'sonarjs/content-security-policy': [2],
3473
+ 'sonarjs/cookie-no-httponly': [2],
3474
+ 'sonarjs/cors': [2],
3475
+ 'sonarjs/csrf': [2],
3476
+ 'typescript/no-deprecated': 'off',
3477
+ 'sonarjs/disabled-timeout': [2],
3478
+ 'sonarjs/dynamically-constructed-templates': [2],
3479
+ 'sonarjs/encryption-secure-mode': [2],
3480
+ 'sonarjs/explicit-test-skip': [2],
3481
+ 'sonarjs/file-permissions': [2],
3482
+ 'sonarjs/file-uploads': [2],
3483
+ 'sonarjs/fixme-tag': [2],
3484
+ 'sonarjs/for-loop-increment-sign': [2],
3485
+ 'sonarjs/function-inside-loop': [2],
3486
+ 'sonarjs/future-reserved-words': [2],
3487
+ 'sonarjs/generator-without-yield': [2],
3488
+ 'sonarjs/hardcoded-secret-signatures': [2],
3489
+ 'sonarjs/hashing': [2],
3490
+ 'sonarjs/hooks-before-test-cases': [2],
3491
+ 'sonarjs/inconsistent-function-call': [2],
3492
+ 'sonarjs/insecure-cookie': [2],
3493
+ 'sonarjs/insecure-jwt-token': [2],
3494
+ 'sonarjs/inverted-assertion-arguments': [2],
3495
+ 'sonarjs/label-position': [2],
3496
+ 'sonarjs/link-with-target-blank': [2],
3497
+ 'sonarjs/max-switch-cases': [2, 30],
3498
+ 'sonarjs/memoize-cache-key': [2],
3499
+ 'sonarjs/misplaced-loop-counter': [2],
3500
+ 'sonarjs/no-all-duplicated-branches': [2],
3501
+ 'typescript/require-array-sort-compare': 'off',
3502
+ 'sonarjs/no-angular-bypass-sanitization': [2],
3503
+ 'typescript/no-array-delete': 'off',
3504
+ 'sonarjs/no-case-label-in-switch': [2],
3505
+ 'sonarjs/no-clear-text-protocols': [2],
3506
+ 'sonarjs/no-code-after-done': [2],
3507
+ 'sonarjs/no-dead-store': [2],
3508
+ 'sonarjs/no-debug-commands-in-ui-tests': [2],
3509
+ 'sonarjs/no-default-utility-imports': [2],
3510
+ 'sonarjs/no-delete-var': [2],
3511
+ 'sonarjs/no-duplicate-in-composite': [2],
3512
+ 'sonarjs/no-duplicate-test-title': [2],
3513
+ 'sonarjs/no-duplicated-branches': [2],
3514
+ 'sonarjs/no-element-overwrite': [2],
3515
+ 'sonarjs/no-empty-collection': [2],
3516
+ 'sonarjs/no-empty-test-file': [2],
3517
+ 'sonarjs/no-empty-test-title': [2],
3518
+ 'sonarjs/no-equals-in-for-termination': [2],
3519
+ 'sonarjs/no-exclusive-tests': [2],
3520
+ 'sonarjs/no-extra-arguments': [2],
3521
+ 'sonarjs/no-fallthrough': [2],
3522
+ 'sonarjs/no-fixed-wait-in-tests': [2],
3523
+ 'sonarjs/no-floating-point-equality': [2],
3524
+ 'sonarjs/no-forced-browser-interaction': [2],
3525
+ 'sonarjs/no-global-this': [2],
3526
+ 'sonarjs/no-globals-shadowing': [2],
3527
+ 'sonarjs/no-gratuitous-expressions': [2],
3528
+ 'sonarjs/no-hardcoded-ip': [2],
3529
+ 'sonarjs/no-hardcoded-passwords': [2, { passwordWords: ['password', 'pwd', 'passwd', 'passphrase'] }],
3530
+ 'sonarjs/no-hardcoded-secrets': [
3531
+ 2,
3532
+ { secretWords: 'api[_.-]?key,auth,credential,secret,token', randomnessSensibility: 5 },
3533
+ ],
3534
+ 'sonarjs/no-hook-setter-in-body': [2],
3535
+ 'sonarjs/no-identical-conditions': [2],
3536
+ 'sonarjs/no-identical-expressions': [2],
3537
+ 'sonarjs/no-identical-functions': [2, 3],
3538
+ 'sonarjs/no-ignored-exceptions': [2],
3539
+ 'sonarjs/no-implicit-global': [2],
3540
+ 'sonarjs/no-incomplete-assertions': [2],
3541
+ 'sonarjs/no-internal-api-use': [2],
3542
+ 'sonarjs/no-interpolation-in-inline-snapshots': [2],
3543
+ 'sonarjs/no-invariant-returns': [2],
3544
+ 'sonarjs/no-inverted-boolean-check': [2],
3545
+ 'sonarjs/no-labels': [2],
3546
+ 'sonarjs/no-literal-call': [2],
3547
+ 'sonarjs/no-mime-sniff': [2],
3548
+ 'sonarjs/no-mixed-completion-style': [2],
3549
+ 'sonarjs/no-nested-assignment': [2],
3550
+ 'sonarjs/no-nested-conditional': [2],
3551
+ 'sonarjs/no-nested-functions': [2, { threshold: 4 }],
3552
+ 'sonarjs/no-nested-template-literals': [2],
3553
+ 'sonarjs/no-os-command-from-path': [2],
3554
+ 'sonarjs/no-parameter-reassignment': [2],
3555
+ 'sonarjs/no-primitive-wrappers': [2],
3556
+ 'sonarjs/no-redundant-assignments': [2],
3557
+ 'sonarjs/no-redundant-boolean': [2],
3558
+ 'sonarjs/no-redundant-jump': [2],
3559
+ 'sonarjs/no-referrer-policy': [2],
3560
+ 'sonarjs/no-same-argument-assert': [2],
3561
+ 'sonarjs/no-same-line-conditional': [2],
3562
+ 'sonarjs/no-session-cookies-on-static-assets': [2],
3563
+ 'sonarjs/no-skipped-tests': [2],
3564
+ 'sonarjs/no-table-as-layout': [2],
3565
+ 'sonarjs/no-trivial-assertions': [2],
3566
+ 'sonarjs/no-unenclosed-multiline-block': [2],
3567
+ 'sonarjs/no-uniq-key': [2],
3568
+ 'sonarjs/no-unthrown-error': [2],
3569
+ 'sonarjs/no-unused-collection': [2],
3570
+ 'sonarjs/no-unused-vars': 'off',
3571
+ 'sonarjs/no-use-of-empty-return-value': [2],
3572
+ 'sonarjs/no-useless-catch': [2],
3573
+ 'sonarjs/no-useless-increment': [2],
3574
+ 'sonarjs/no-useless-react-setstate': [2],
3575
+ 'sonarjs/no-weak-cipher': [2],
3576
+ 'sonarjs/no-weak-keys': [2],
3577
+ 'sonarjs/non-existent-operator': [2],
3578
+ 'sonarjs/object-alt-content': [2],
3579
+ 'sonarjs/parameterized-tests': [2],
3580
+ 'sonarjs/prefer-default-last': [2],
3581
+ 'sonarjs/prefer-native-lodash-alternative': [2],
3582
+ 'sonarjs/prefer-promise-shorthand': [2],
3583
+ 'typescript/prefer-regexp-exec': 'off',
3584
+ 'sonarjs/prefer-single-boolean-return': [2],
3585
+ 'sonarjs/prefer-specific-assertions': [2],
3586
+ 'sonarjs/prefer-type-guard': [2],
3587
+ 'sonarjs/prefer-while': [2],
3588
+ 'sonarjs/production-debug': [2],
3589
+ 'sonarjs/pseudo-random': [2],
3590
+ 'sonarjs/public-static-readonly': [2],
3591
+ 'sonarjs/publicly-writable-directories': [2],
3592
+ 'sonarjs/redundant-type-aliases': [2],
3593
+ 'sonarjs/review-blockchain-mnemonic': [2],
3594
+ 'sonarjs/session-regeneration': [2],
3595
+ 'sonarjs/stable-tests': [2],
3596
+ 'sonarjs/stateful-regex': [2],
3597
+ 'sonarjs/strict-transport-security': [2],
3598
+ 'sonarjs/super-linear-regex': [2],
3599
+ 'sonarjs/synchronous-suite-callback': [2],
3600
+ 'sonarjs/table-header': [2],
3601
+ 'sonarjs/table-header-reference': [2],
3602
+ 'sonarjs/test-check-exception': [2],
3603
+ 'sonarjs/todo-tag': [1],
3604
+ 'sonarjs/unverified-certificate': [2],
3605
+ 'sonarjs/unverified-hostname': [2],
3606
+ 'sonarjs/updated-const-var': [2],
3607
+ 'sonarjs/updated-loop-counter': [2],
3608
+ 'sonarjs/use-type-alias': [2],
3609
+ 'sonarjs/weak-ssl': [2],
3610
+ 'sonarjs/x-powered-by': [2],
3611
+ 'sonarjs/xml-parser-xxe': [2],
3612
+ 'eslint/sort-imports': [
3613
+ 2,
3614
+ {
3615
+ allowSeparatedGroups: false,
3616
+ ignoreCase: false,
3617
+ ignoreDeclarationSort: true,
3618
+ ignoreMemberSort: false,
3619
+ memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
3620
+ },
3621
+ ],
3622
+ 'unicorn-js/better-dom-traversing': [2],
3623
+ 'unicorn/catch-error-name': [2, { name: 'error', ignore: [] }],
3624
+ 'unicorn-js/class-reference-in-static-methods': [2, { preferThis: true, preferSuper: true }],
3625
+ 'unicorn/consistent-assert': [2],
3626
+ 'unicorn-js/consistent-boolean-name': [
3627
+ 2,
3628
+ {
3629
+ checkVariables: 'always',
3630
+ checkArguments: 'always',
3631
+ checkFunctions: 'always',
3632
+ checkMethods: 'never',
3633
+ checkFields: 'never',
3634
+ ignore: [],
3635
+ wrappers: {},
3636
+ },
3637
+ ],
3638
+ 'unicorn-js/consistent-class-member-order': [
3639
+ 2,
3640
+ {
3641
+ order: [
3642
+ 'static-field',
3643
+ 'static-block',
3644
+ 'static-method',
3645
+ 'private-field',
3646
+ 'public-field',
3647
+ 'constructor',
3648
+ 'private-method',
3649
+ 'public-method',
3650
+ ],
3651
+ },
3652
+ ],
3653
+ 'unicorn-js/consistent-compound-words': [2, {}],
3654
+ 'unicorn-js/consistent-conditional-object-spread': [2, 'logical'],
3655
+ 'unicorn/consistent-date-clone': [2],
3656
+ 'unicorn-js/consistent-destructuring': [2],
3657
+ 'unicorn/consistent-empty-array-spread': [2],
3658
+ 'unicorn/consistent-existence-index-check': [2],
3659
+ 'unicorn-js/consistent-export-decorator-position': [2, 'above'],
3660
+ 'unicorn-js/consistent-function-scoping': [2, { checkArrowFunctions: true }],
3661
+ 'unicorn-js/consistent-json-file-read': [2, 'string'],
3662
+ 'unicorn-js/consistent-optional-chaining': [2],
3663
+ 'unicorn/consistent-template-literal-escape': [2],
3664
+ 'unicorn-js/consistent-tuple-labels': [2],
3665
+ 'unicorn/custom-error-definition': [2],
3666
+ 'unicorn-js/default-export-style': [2, { functions: 'inline', classes: 'inline' }],
3667
+ 'unicorn-js/dom-node-dataset': [2, { preferAttributes: false }],
3668
+ 'unicorn/empty-brace-spaces': [2],
3669
+ 'unicorn/error-message': [2],
3670
+ 'unicorn-js/escape-case': [2, 'uppercase'],
3671
+ 'unicorn-js/expiring-todo-comments': [
3672
+ 2,
3673
+ {
3674
+ terms: ['todo', 'fixme', 'xxx'],
3675
+ ignore: [],
3676
+ checkDates: false,
3677
+ checkDatesOnPullRequests: false,
3678
+ allowWarningComments: true,
3679
+ },
3680
+ ],
3681
+ 'unicorn/explicit-length-check': [2, { 'non-zero': 'greater-than' }],
3682
+ 'unicorn-js/explicit-timer-delay': [2, 'always'],
3683
+ 'unicorn/filename-case': [2],
3684
+ 'unicorn/import-style': [2, {}],
3685
+ 'unicorn-js/isolated-functions': [
3686
+ 2,
3687
+ { functions: ['makeSynchronous', 'workerize'], selectors: [], comments: ['@isolated'], overrideGlobals: {} },
3688
+ ],
3689
+ 'unicorn-js/logical-assignment-operators': [2, 'always'],
3690
+ 'unicorn/max-nested-calls': [2, { max: 3 }],
3691
+ 'unicorn-js/name-replacements': [
3692
+ 2,
3693
+ {
3694
+ replacements: {
3695
+ dev: false,
3696
+ prod: false,
3697
+ props: false,
3698
+ ref: false,
3699
+ refs: false,
3700
+ args: false,
3701
+ params: false,
3702
+ utils: false,
3703
+ env: false,
3704
+ },
3705
+ },
3706
+ ],
3707
+ 'unicorn/new-for-builtins': [2],
3708
+ 'unicorn/no-abusive-eslint-disable': [2],
3709
+ 'unicorn/no-accessor-recursion': [2],
3710
+ 'unicorn-js/no-accidental-bitwise-operator': [2],
3711
+ 'unicorn/no-anonymous-default-export': [2],
3712
+ 'unicorn-js/no-array-callback-reference': [2, { ignore: [] }],
3713
+ 'unicorn-js/no-array-concat-in-loop': [2],
3714
+ 'unicorn/no-array-fill-with-reference-type': [2],
3715
+ 'unicorn-js/no-array-from-fill': [2],
3716
+ 'unicorn/no-array-method-this-argument': [2],
3717
+ 'unicorn/no-array-reduce': [2, { allowSimpleOperations: true }],
3718
+ 'unicorn/no-array-reverse': [2, { allowExpressionStatement: true }],
3719
+ 'unicorn/no-array-sort': [2, { allowExpressionStatement: true }],
3720
+ 'unicorn-js/no-array-sort-for-min-max': [2],
3721
+ 'unicorn-js/no-array-splice': [2],
3722
+ 'unicorn-js/no-async-promise-finally': [2],
3723
+ 'unicorn/no-await-expression-member': [2],
3724
+ 'unicorn/no-await-in-promise-methods': [2],
3725
+ 'unicorn-js/no-boolean-sort-comparator': [2],
3726
+ 'unicorn-js/no-break-in-nested-loop': [2],
3727
+ 'unicorn-js/no-canvas-to-image': [2],
3728
+ 'unicorn-js/no-chained-comparison': [2],
3729
+ 'unicorn-js/no-collection-bracket-access': [2],
3730
+ 'unicorn-js/no-computed-property-existence-check': [2],
3731
+ 'unicorn-js/no-confusing-array-splice': [2],
3732
+ 'unicorn/no-confusing-array-with': [2],
3733
+ 'unicorn/no-console-spaces': [2],
3734
+ 'unicorn-js/no-constant-zero-expression': [2],
3735
+ 'unicorn-js/no-declarations-before-early-exit': [2],
3736
+ 'unicorn/no-document-cookie': [2],
3737
+ 'unicorn-js/no-double-comparison': [2],
3738
+ 'unicorn-js/no-duplicate-if-branches': [2],
3739
+ 'unicorn-js/no-duplicate-logical-operands': [2],
3740
+ 'unicorn-js/no-duplicate-loops': [2],
3741
+ 'unicorn-js/no-duplicate-set-values': [2],
3742
+ 'unicorn-js/no-empty-file': [2, { allowComments: false }],
3743
+ 'unicorn-js/no-error-property-assignment': [2],
3744
+ 'unicorn-js/no-exports-in-scripts': [2],
3745
+ 'unicorn-js/no-for-each': [2],
3746
+ 'unicorn-js/no-for-loop': [2],
3747
+ 'unicorn-js/no-global-object-property-assignment': [2],
3748
+ 'unicorn/no-immediate-mutation': [2],
3749
+ 'unicorn-js/no-impossible-length-comparison': [2],
3750
+ 'unicorn-js/no-incorrect-query-selector': [2],
3751
+ 'unicorn-js/no-incorrect-template-string-interpolation': [2],
3752
+ 'unicorn/no-instanceof-builtins': [2, { useErrorIsError: false, strategy: 'loose', include: [], exclude: [] }],
3753
+ 'unicorn-js/no-invalid-argument-count': [2, {}],
3754
+ 'unicorn-js/no-invalid-character-comparison': [2],
3755
+ 'unicorn/no-invalid-fetch-options': [2],
3756
+ 'unicorn/no-invalid-remove-event-listener': [2],
3757
+ 'unicorn-js/no-invalid-well-known-symbol-methods': [2],
3758
+ 'unicorn-js/no-late-current-target-access': [2],
3759
+ 'unicorn-js/no-late-event-control': [2],
3760
+ 'unicorn/no-lonely-if': [2],
3761
+ 'unicorn-js/no-loop-iterable-mutation': [2],
3762
+ 'unicorn/no-magic-array-flat-depth': [2],
3763
+ 'unicorn-js/no-mismatched-map-key': [2],
3764
+ 'unicorn-js/no-misrefactored-assignment': [2],
3765
+ 'unicorn-js/no-multiple-promise-resolver-calls': [2],
3766
+ 'unicorn-js/no-named-default': [2],
3767
+ 'unicorn-js/no-negated-array-predicate': [2],
3768
+ 'unicorn-js/no-negated-comparison': [2, { checkLogicalExpressions: false }],
3769
+ 'unicorn/no-negated-condition': [2],
3770
+ 'unicorn/no-negation-in-equality-check': [2],
3771
+ 'unicorn/no-nested-ternary': [2],
3772
+ 'unicorn/no-new-array': [2],
3773
+ 'unicorn/no-new-buffer': [2],
3774
+ 'unicorn-js/no-nonstandard-builtin-properties': [2],
3775
+ 'unicorn/no-object-as-default-parameter': [2],
3776
+ 'unicorn-js/no-object-methods-with-collections': [2],
3777
+ 'unicorn-js/no-optional-chaining-on-undeclared-variable': [2],
3778
+ 'unicorn/no-process-exit': [2],
3779
+ 'unicorn-js/no-redundant-comparison': [2],
3780
+ 'unicorn-js/no-return-array-push': [2],
3781
+ 'unicorn-js/no-selector-as-dom-name': [2],
3782
+ 'unicorn/no-single-promise-in-promise-methods': [2],
3783
+ 'unicorn/no-static-only-class': [2],
3784
+ 'unicorn-js/no-subtraction-comparison': [2],
3785
+ 'unicorn/no-thenable': [2],
3786
+ 'unicorn/no-this-assignment': [2],
3787
+ 'unicorn-js/no-this-outside-of-class': [2],
3788
+ 'unicorn-js/no-top-level-assignment-in-function': [2],
3789
+ 'unicorn-js/no-top-level-side-effects': [2],
3790
+ 'unicorn/no-typeof-undefined': [2, { checkGlobalVariables: false }],
3791
+ 'unicorn-js/no-uncalled-method': [2],
3792
+ 'unicorn-js/no-undeclared-class-members': [2],
3793
+ 'unicorn/no-unnecessary-array-flat-depth': [2],
3794
+ 'unicorn-js/no-unnecessary-array-flat-map': [2],
3795
+ 'unicorn/no-unnecessary-array-splice-count': [2],
3796
+ 'unicorn-js/no-unnecessary-await': [2],
3797
+ 'unicorn-js/no-unnecessary-boolean-comparison': [2],
3798
+ 'unicorn-js/no-unnecessary-fetch-options': [2],
3799
+ 'unicorn-js/no-unnecessary-global-this': [2],
3800
+ 'unicorn-js/no-unnecessary-nested-ternary': [2],
3801
+ 'unicorn-js/no-unnecessary-polyfills': [2, {}],
3802
+ 'unicorn/no-unnecessary-slice-end': [2],
3803
+ 'unicorn-js/no-unnecessary-splice': [2],
3804
+ 'unicorn-js/no-unnecessary-string-trim': [2],
3805
+ 'unicorn-js/no-unreadable-array-destructuring': [2, { maximumIgnoredElements: 1 }],
3806
+ 'unicorn-js/no-unreadable-for-of-expression': [2],
3807
+ 'unicorn/no-unreadable-iife': [2],
3808
+ 'unicorn-js/no-unreadable-object-destructuring': [2],
3809
+ 'unicorn-js/no-unsafe-buffer-conversion': [2],
3810
+ 'unicorn-js/no-unsafe-promise-all-settled-values': [2],
3811
+ 'unicorn-js/no-unsafe-property-key': [2],
3812
+ 'unicorn-js/no-unsafe-sqlite-interpolation': [2],
3813
+ 'unicorn-js/no-unsafe-string-replacement': [2],
3814
+ 'unicorn-js/no-unused-array-method-return': [2],
3815
+ 'unicorn-js/no-unused-properties': [2],
3816
+ 'unicorn-js/no-useless-boolean-cast': [2],
3817
+ 'unicorn-js/no-useless-coercion': [2],
3818
+ 'unicorn/no-useless-collection-argument': [2],
3819
+ 'unicorn-js/no-useless-compound-assignment': [2],
3820
+ 'unicorn-js/no-useless-concat': [2],
3821
+ 'unicorn-js/no-useless-continue': [2],
3822
+ 'unicorn-js/no-useless-delete-check': [2],
3823
+ 'unicorn-js/no-useless-else': [2],
3824
+ 'unicorn/no-useless-error-capture-stack-trace': [2],
3825
+ 'unicorn/no-useless-fallback-in-spread': [2],
3826
+ 'unicorn/no-useless-iterator-to-array': [2],
3827
+ 'unicorn/no-useless-length-check': [2],
3828
+ 'unicorn-js/no-useless-logical-operand': [2],
3829
+ 'unicorn-js/no-useless-override': [2],
3830
+ 'unicorn/no-useless-promise-resolve-reject': [2],
3831
+ 'unicorn-js/no-useless-re-export': [2],
3832
+ 'unicorn-js/no-useless-recursion': [2],
3833
+ 'unicorn/no-useless-spread': [2],
3834
+ 'unicorn/no-useless-switch-case': [2],
3835
+ 'unicorn-js/no-useless-template-literals': [2],
3836
+ 'unicorn/no-useless-undefined': [2, { checkArguments: true, checkArrowFunctionBody: true }],
3837
+ 'unicorn-js/no-xor-as-exponentiation': [2],
3838
+ 'unicorn/no-zero-fractions': [2],
3839
+ 'unicorn-js/number-literal-case': [2, { hexadecimalValue: 'uppercase' }],
3840
+ 'unicorn-js/numeric-separators-style': [
3841
+ 2,
3842
+ {
3843
+ onlyIfContainsSeparator: false,
3844
+ binary: { minimumDigits: 0, groupLength: 4 },
3845
+ octal: { minimumDigits: 0, groupLength: 4 },
3846
+ hexadecimal: { minimumDigits: 0, groupLength: 2 },
3847
+ number: { minimumDigits: 5, groupLength: 3 },
3848
+ },
3849
+ ],
3850
+ 'unicorn-js/operator-assignment': [2, 'always'],
3851
+ 'unicorn-js/prefer-abort-signal-any': [2],
3852
+ 'unicorn-js/prefer-abort-signal-timeout': [2],
3853
+ 'unicorn-js/prefer-add-event-listener': [2, { excludedPackages: ['koa', 'sax'] }],
3854
+ 'unicorn-js/prefer-add-event-listener-options': [2],
3855
+ 'unicorn-js/prefer-aggregate-error': [2],
3856
+ 'unicorn-js/prefer-array-find': [2, { checkFromLast: true }],
3857
+ 'unicorn-js/prefer-array-flat': [2, { functions: [] }],
3858
+ 'unicorn/prefer-array-flat-map': [2],
3859
+ 'unicorn-js/prefer-array-from-async': [2],
3860
+ 'unicorn-js/prefer-array-from-map': [2],
3861
+ 'unicorn-js/prefer-array-from-range': [2],
3862
+ 'unicorn/prefer-array-index-of': [2],
3863
+ 'unicorn-js/prefer-array-iterable-methods': [2],
3864
+ 'unicorn-js/prefer-array-last-methods': [2],
3865
+ 'unicorn-js/prefer-array-slice': [2],
3866
+ 'unicorn/prefer-array-some': [2],
3867
+ 'unicorn/prefer-at': [2, { getLastElementFunctions: [], checkAllIndexAccess: false }],
3868
+ 'unicorn-js/prefer-await': [2],
3869
+ 'unicorn/prefer-bigint-literals': [2],
3870
+ 'unicorn/prefer-blob-reading-methods': [2],
3871
+ 'unicorn-js/prefer-block-statement-over-iife': [2],
3872
+ 'unicorn-js/prefer-boolean-return': [2],
3873
+ 'unicorn/prefer-class-fields': [2],
3874
+ 'unicorn/prefer-classlist-toggle': [2],
3875
+ 'unicorn/prefer-code-point': [2],
3876
+ 'unicorn-js/prefer-continue': [2, { maximumStatements: 1 }],
3877
+ 'unicorn/prefer-date-now': [2],
3878
+ 'unicorn/prefer-default-parameters': [2],
3879
+ 'unicorn-js/prefer-direct-iteration': [2],
3880
+ 'unicorn/prefer-dom-node-append': [2],
3881
+ 'unicorn-js/prefer-dom-node-html-methods': [2, { checkGetHTML: true, checkSetHTML: false }],
3882
+ 'unicorn/prefer-dom-node-remove': [2],
3883
+ 'unicorn-js/prefer-dom-node-replace-children': [2],
3884
+ 'unicorn/prefer-dom-node-text-content': [2],
3885
+ 'unicorn-js/prefer-early-return': [2, { maximumStatements: 1 }],
3886
+ 'unicorn-js/prefer-else-if': [2],
3887
+ 'unicorn/prefer-event-target': [2],
3888
+ 'unicorn/prefer-export-from': [2, { checkUsedVariables: true }],
3889
+ 'unicorn-js/prefer-flat-math-min-max': [2],
3890
+ 'unicorn-js/prefer-get-or-insert-computed': [2],
3891
+ 'unicorn-js/prefer-global-number-constants': [2],
3892
+ 'unicorn/prefer-global-this': [2],
3893
+ 'unicorn-js/prefer-group-by': [2],
3894
+ 'unicorn-js/prefer-has-check': [2],
3895
+ 'unicorn-js/prefer-hoisting-branch-code': [2],
3896
+ 'unicorn-js/prefer-https': [2, { ignore: [] }],
3897
+ 'unicorn-js/prefer-identifier-import-export-specifiers': [2],
3898
+ 'unicorn/prefer-includes': [2],
3899
+ 'unicorn-js/prefer-includes-over-repeated-comparisons': [2, { minimumComparisons: 3 }],
3900
+ 'unicorn-js/prefer-iterable-in-constructor': [2],
3901
+ 'unicorn-js/prefer-iterator-helpers': [2],
3902
+ 'unicorn-js/prefer-iterator-to-array': [2],
3903
+ 'unicorn-js/prefer-iterator-to-array-at-end': [2],
3904
+ 'unicorn/prefer-keyboard-event-key': [2],
3905
+ 'unicorn-js/prefer-location-assign': [2],
3906
+ 'unicorn/prefer-logical-operator-over-ternary': [2],
3907
+ 'unicorn-js/prefer-map-from-entries': [2],
3908
+ 'unicorn-js/prefer-math-abs': [2],
3909
+ 'unicorn-js/prefer-math-constants': [2],
3910
+ 'unicorn/prefer-math-min-max': [2],
3911
+ 'unicorn/prefer-math-trunc': [2],
3912
+ 'unicorn-js/prefer-minimal-ternary': [2, { checkVaryingBase: false, checkComputedMemberAccess: false }],
3913
+ 'unicorn/prefer-modern-dom-apis': [2],
3914
+ 'unicorn/prefer-modern-math-apis': [2],
3915
+ 'unicorn/prefer-module': [2],
3916
+ 'unicorn/prefer-native-coercion-functions': [2],
3917
+ 'unicorn/prefer-negative-index': [2],
3918
+ 'unicorn/prefer-node-protocol': [2],
3919
+ 'unicorn/prefer-number-coercion': [2],
3920
+ 'unicorn-js/prefer-number-is-safe-integer': [2],
3921
+ 'unicorn/prefer-number-properties': [2, { checkInfinity: false, checkNaN: false }],
3922
+ 'unicorn-js/prefer-object-define-properties': [2],
3923
+ 'unicorn-js/prefer-object-destructuring-defaults': [2],
3924
+ 'unicorn/prefer-object-from-entries': [2, { functions: [] }],
3925
+ 'unicorn-js/prefer-object-iterable-methods': [2],
3926
+ 'unicorn-js/prefer-observer-apis': [2],
3927
+ 'unicorn/prefer-optional-catch-binding': [2],
3928
+ 'unicorn-js/prefer-path2d': [2],
3929
+ 'unicorn-js/prefer-promise-try': [2],
3930
+ 'unicorn-js/prefer-promise-with-resolvers': [2],
3931
+ 'unicorn-js/prefer-prototype-methods': [2],
3932
+ 'unicorn-js/prefer-query-selector': [2, { allowWithVariables: false }],
3933
+ 'unicorn-js/prefer-queue-microtask': [2, { checkSetImmediate: false, checkSetTimeout: false }],
3934
+ 'unicorn/prefer-reflect-apply': [2],
3935
+ 'unicorn-js/prefer-regexp-test': [2],
3936
+ 'unicorn/prefer-response-static-json': [2],
3937
+ 'unicorn-js/prefer-scoped-selector': [2],
3938
+ 'unicorn-js/prefer-set-has': [2, { minimumItems: 0 }],
3939
+ 'unicorn-js/prefer-set-methods': [2],
3940
+ 'unicorn/prefer-set-size': [2],
3941
+ 'unicorn-js/prefer-simple-condition-first': [2],
3942
+ 'unicorn-js/prefer-simple-sort-comparator': [2],
3943
+ 'unicorn-js/prefer-simplified-conditions': [2],
3944
+ 'unicorn-js/prefer-single-array-predicate': [2],
3945
+ 'unicorn/prefer-single-call': [2, { ignore: [] }],
3946
+ 'unicorn-js/prefer-single-object-destructuring': [2],
3947
+ 'unicorn-js/prefer-single-replace': [2],
3948
+ 'unicorn-js/prefer-smaller-scope': [2],
3949
+ 'unicorn-js/prefer-split-limit': [2],
3950
+ 'unicorn/prefer-spread': [2],
3951
+ 'unicorn-js/prefer-string-match-all': [2],
3952
+ 'unicorn-js/prefer-string-pad-start-end': [2],
3953
+ 'unicorn-js/prefer-string-raw': [2],
3954
+ 'unicorn-js/prefer-string-repeat': [2, { minimumRepetitions: 3 }],
3955
+ 'unicorn/prefer-string-replace-all': [2],
3956
+ 'unicorn/prefer-string-slice': [2],
3957
+ 'unicorn-js/prefer-string-starts-ends-with': [2],
3958
+ 'unicorn/prefer-string-trim-start-end': [2],
3959
+ 'unicorn-js/prefer-structured-clone': [2, { functions: [] }],
3960
+ 'unicorn-js/prefer-switch': [2, { minimumCases: 3, emptyDefaultCase: 'no-default-comment' }],
3961
+ 'unicorn/prefer-ternary': [2, 'always'],
3962
+ 'unicorn-js/prefer-then-catch': [2],
3963
+ 'unicorn-js/prefer-toggle-attribute': [2],
3964
+ 'unicorn/prefer-top-level-await': [2],
3965
+ 'unicorn/prefer-type-error': [2],
3966
+ 'unicorn-js/prefer-type-literal-last': [2],
3967
+ 'unicorn-js/prefer-unary-minus': [2],
3968
+ 'unicorn-js/prefer-unicode-code-point-escapes': [2],
3969
+ 'unicorn-js/prefer-url-can-parse': [2],
3970
+ 'unicorn-js/prefer-url-href': [2],
3971
+ 'unicorn-js/prefer-url-search-parameters': [2],
3972
+ 'unicorn-js/prefer-while-loop-condition': [2],
3973
+ 'unicorn/relative-url-style': [2, 'never'],
3974
+ 'unicorn/require-array-join-separator': [2],
3975
+ 'unicorn-js/require-array-sort-compare': [2],
3976
+ 'unicorn-js/require-css-escape': [2, { checkAllSelectors: false }],
3977
+ 'unicorn/require-module-attributes': [2],
3978
+ 'unicorn/require-module-specifiers': [2],
3979
+ 'unicorn/require-number-to-fixed-digits-argument': [2],
3980
+ 'unicorn-js/require-passive-events': [2],
3981
+ 'unicorn-js/require-proxy-trap-boolean-return': [2],
3982
+ 'unicorn-js/single-line-block-comment-style': [2, 'multiline', { ignore: [] }],
3983
+ 'unicorn/switch-case-braces': [2, 'always'],
3984
+ 'unicorn/switch-case-break-position': [2],
3985
+ 'unicorn-js/template-indent': [
3986
+ 2,
3987
+ {
3988
+ tags: ['outdent', 'dedent', 'gql', 'sql', 'html', 'styled'],
3989
+ functions: ['dedent', 'stripIndent'],
3990
+ selectors: [],
3991
+ comments: ['HTML', 'indent'],
3992
+ },
3993
+ ],
3994
+ 'unicorn/text-encoding-identifier-case': [2, { withDash: false }],
3995
+ 'unicorn/throw-new-error': [2],
3996
+ 'eslint/use-isnan': [2, { enforceForIndexOf: false, enforceForSwitchCase: true }],
3997
+ 'eslint/valid-typeof': [2, { requireStringLiterals: false }],
3998
+ 'eslint/no-var': 'off',
3999
+ 'eslint/prefer-rest-params': 'off',
4000
+ 'eslint/prefer-spread': 'off',
4001
+ 'stylistic-js/multiline-comment-style': 'off',
4002
+ 'astro/no-deprecated-astro-canonicalurl': 'off',
4003
+ 'astro/no-deprecated-astro-fetchcontent': 'off',
4004
+ 'astro/no-deprecated-astro-resolve': 'off',
4005
+ 'astro/no-deprecated-getentrybyslug': 'off',
4006
+ 'astro/no-exports-from-components': 'off',
4007
+ 'astro/no-prerender-export-outside-pages': 'off',
4008
+ 'unicorn/no-null': 'off',
4009
+ },
4010
+ globals: {
4011
+ AggregateError: 'readonly',
4012
+ Array: 'readonly',
4013
+ ArrayBuffer: 'readonly',
4014
+ AsyncDisposableStack: 'readonly',
4015
+ Atomics: 'readonly',
4016
+ BigInt: 'readonly',
4017
+ BigInt64Array: 'readonly',
4018
+ BigUint64Array: 'readonly',
4019
+ Boolean: 'readonly',
4020
+ DataView: 'readonly',
4021
+ Date: 'readonly',
4022
+ decodeURI: 'readonly',
4023
+ decodeURIComponent: 'readonly',
4024
+ DisposableStack: 'readonly',
4025
+ encodeURI: 'readonly',
4026
+ encodeURIComponent: 'readonly',
4027
+ Error: 'readonly',
4028
+ escape: 'readonly',
4029
+ eval: 'readonly',
4030
+ EvalError: 'readonly',
4031
+ FinalizationRegistry: 'readonly',
4032
+ Float16Array: 'readonly',
4033
+ Float32Array: 'readonly',
4034
+ Float64Array: 'readonly',
4035
+ Function: 'readonly',
4036
+ globalThis: 'readonly',
4037
+ Infinity: 'readonly',
4038
+ Int16Array: 'readonly',
4039
+ Int32Array: 'readonly',
4040
+ Int8Array: 'readonly',
4041
+ Intl: 'readonly',
4042
+ isFinite: 'readonly',
4043
+ isNaN: 'readonly',
4044
+ Iterator: 'readonly',
4045
+ JSON: 'readonly',
4046
+ Map: 'readonly',
4047
+ Math: 'readonly',
4048
+ NaN: 'readonly',
4049
+ Number: 'readonly',
4050
+ Object: 'readonly',
4051
+ parseFloat: 'readonly',
4052
+ parseInt: 'readonly',
4053
+ Promise: 'readonly',
4054
+ Proxy: 'readonly',
4055
+ RangeError: 'readonly',
4056
+ ReferenceError: 'readonly',
4057
+ Reflect: 'readonly',
4058
+ RegExp: 'readonly',
4059
+ Set: 'readonly',
4060
+ SharedArrayBuffer: 'readonly',
4061
+ String: 'readonly',
4062
+ SuppressedError: 'readonly',
4063
+ Symbol: 'readonly',
4064
+ SyntaxError: 'readonly',
4065
+ TypeError: 'readonly',
4066
+ Uint16Array: 'readonly',
4067
+ Uint32Array: 'readonly',
4068
+ Uint8Array: 'readonly',
4069
+ Uint8ClampedArray: 'readonly',
4070
+ undefined: 'readonly',
4071
+ unescape: 'readonly',
4072
+ URIError: 'readonly',
4073
+ WeakMap: 'readonly',
4074
+ WeakRef: 'readonly',
4075
+ WeakSet: 'readonly',
4076
+ },
4077
+ },
4078
+ },
4079
+ overrides: [
4080
+ { files: ['**/*.js'], profile: '2b199fa30e3c3ae5' },
4081
+ { files: ['**/*.ts'], profile: 'b84ced6e6cc1a835' },
4082
+ { files: ['**/*.cjs'], profile: '2b199fa30e3c3ae5' },
4083
+ { files: ['**/*.cts'], profile: 'b84ced6e6cc1a835' },
4084
+ { files: ['**/*.jsx', '**/*.mjs'], profile: '2b199fa30e3c3ae5' },
4085
+ { files: ['**/*.mts', '**/*.tsx'], profile: 'b84ced6e6cc1a835' },
4086
+ { files: ['**/*.vue'], profile: 'ba84c14223af5975' },
4087
+ { files: ['**/*.d.ts'], profile: 'b84ced6e6cc1a835' },
4088
+ { files: ['**/*.astro'], profile: '575cd58e6c1e26f0' },
4089
+ { files: ['**/*.svelte'], profile: '857be039bae4dc05' },
4090
+ { files: ['**/*.svelte.js'], profile: '2b199fa30e3c3ae5' },
4091
+ { files: ['**/*.svelte.ts'], profile: 'b84ced6e6cc1a835' },
4092
+ ],
4093
+ }