@anolilab/oxlint-config 1.0.5 → 2.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.
package/.oxlintrc.json CHANGED
@@ -1,10 +1,2187 @@
1
1
  {
2
2
  "$schema": "../../node_modules/oxlint/configuration_schema.json",
3
- "plugins": ["typescript", "unicorn", "oxc", "import", "promise", "node", "jsdoc", "react", "jsx-a11y"],
3
+ "jsPlugins": [
4
+ {
5
+ "name": "sonarjs",
6
+ "specifier": "eslint-plugin-sonarjs"
7
+ },
8
+ {
9
+ "name": "regexp",
10
+ "specifier": "eslint-plugin-regexp"
11
+ },
12
+ {
13
+ "name": "eslint-comments",
14
+ "specifier": "@eslint-community/eslint-plugin-eslint-comments"
15
+ },
16
+ {
17
+ "name": "no-secrets",
18
+ "specifier": "eslint-plugin-no-secrets"
19
+ },
20
+ {
21
+ "name": "react-doctor",
22
+ "specifier": "oxlint-plugin-react-doctor"
23
+ }
24
+ ],
25
+ "plugins": ["typescript", "unicorn", "oxc", "import", "jsdoc", "react", "jsx-a11y", "promise", "node"],
4
26
  "categories": {
5
27
  "correctness": "error",
6
28
  "suspicious": "warn",
7
29
  "pedantic": "warn"
8
30
  },
9
- "rules": {}
31
+ "rules": {
32
+ "array-callback-return": [
33
+ "error",
34
+ {
35
+ "allowImplicit": true
36
+ }
37
+ ],
38
+ "arrow-body-style": [
39
+ "error",
40
+ "as-needed",
41
+ {
42
+ "requireReturnForObjectLiteral": true
43
+ }
44
+ ],
45
+ "block-scoped-var": ["error"],
46
+ "class-methods-use-this": [
47
+ "error",
48
+ {
49
+ "exceptMethods": []
50
+ }
51
+ ],
52
+ "consistent-return": ["error"],
53
+ "default-case": [
54
+ "error",
55
+ {
56
+ "commentPattern": "^no default$"
57
+ }
58
+ ],
59
+ "default-case-last": ["error"],
60
+ "default-param-last": ["error"],
61
+ "eqeqeq": [
62
+ "error",
63
+ "always",
64
+ {
65
+ "null": "ignore"
66
+ }
67
+ ],
68
+ "eslint-comments/no-aggregating-enable": ["error"],
69
+ "eslint-comments/no-duplicate-disable": ["error"],
70
+ "eslint-comments/no-unused-disable": ["error"],
71
+ "eslint-comments/no-unused-enable": ["error"],
72
+ "for-direction": ["error"],
73
+ "func-names": ["error", "as-needed"],
74
+ "func-style": ["error", "expression"],
75
+ "global-require": ["error"],
76
+ "grouped-accessor-pairs": ["error"],
77
+ "guard-for-in": ["error"],
78
+ "import/consistent-type-specifier-style": ["error", "prefer-top-level"],
79
+ "import/exports-last": ["error"],
80
+ "import/first": ["error"],
81
+ "import/no-absolute-path": ["error"],
82
+ "import/no-amd": ["error"],
83
+ "import/no-dynamic-require": ["error"],
84
+ "import/no-empty-named-blocks": ["error"],
85
+ "import/no-mutable-exports": ["error"],
86
+ "import/no-named-as-default": ["error"],
87
+ "import/no-named-as-default-member": ["error"],
88
+ "import/no-named-default": ["error"],
89
+ "import/no-namespace": ["error"],
90
+ "import/no-self-import": ["error"],
91
+ "import/no-webpack-loader-syntax": ["error"],
92
+ "import/prefer-default-export": ["error"],
93
+ "jsdoc/check-access": ["error"],
94
+ "jsdoc/check-property-names": ["error"],
95
+ "jsdoc/check-tag-names": [
96
+ "error",
97
+ {
98
+ "definedTags": ["remarks", "openapi", "link"],
99
+ "jsxTags": false
100
+ }
101
+ ],
102
+ "jsdoc/empty-tags": ["error"],
103
+ "jsdoc/implements-on-classes": ["error"],
104
+ "jsdoc/no-defaults": ["error"],
105
+ "jsdoc/require-param": ["error"],
106
+ "jsdoc/require-param-description": ["error"],
107
+ "jsdoc/require-param-name": ["error"],
108
+ "jsdoc/require-param-type": ["error"],
109
+ "jsdoc/require-property": ["error"],
110
+ "jsdoc/require-property-description": ["error"],
111
+ "jsdoc/require-property-name": ["error"],
112
+ "jsdoc/require-property-type": ["error"],
113
+ "jsdoc/require-returns": ["error"],
114
+ "jsdoc/require-returns-description": ["error"],
115
+ "jsdoc/require-returns-type": ["error"],
116
+ "jsdoc/require-throws-type": ["error"],
117
+ "jsdoc/require-yields": ["error"],
118
+ "jsdoc/require-yields-type": ["error"],
119
+ "max-classes-per-file": ["error", 1],
120
+ "new-cap": [
121
+ "error",
122
+ {
123
+ "capIsNew": false,
124
+ "capIsNewExceptions": ["Immutable.Map", "Immutable.Set", "Immutable.List"],
125
+ "newIsCap": true,
126
+ "newIsCapExceptions": []
127
+ }
128
+ ],
129
+ "no-async-promise-executor": ["error"],
130
+ "no-await-in-loop": ["error"],
131
+ "no-bitwise": ["error"],
132
+ "no-caller": ["error"],
133
+ "no-case-declarations": ["error"],
134
+ "no-compare-neg-zero": ["error"],
135
+ "no-cond-assign": ["error", "always"],
136
+ "no-constant-binary-expression": ["error"],
137
+ "no-constant-condition": ["warn"],
138
+ "no-constructor-return": ["error"],
139
+ "no-control-regex": ["error"],
140
+ "no-debugger": ["error"],
141
+ "no-delete-var": ["error"],
142
+ "no-dupe-else-if": ["error"],
143
+ "no-duplicate-case": ["error"],
144
+ "no-else-return": [
145
+ "error",
146
+ {
147
+ "allowElseIf": false
148
+ }
149
+ ],
150
+ "no-empty": ["error"],
151
+ "no-empty-static-block": ["error"],
152
+ "no-eval": ["error"],
153
+ "no-ex-assign": ["error"],
154
+ "no-extend-native": ["error"],
155
+ "no-extra-bind": ["error"],
156
+ "no-extra-boolean-cast": ["error"],
157
+ "no-extra-label": ["error"],
158
+ "no-fallthrough": ["error"],
159
+ "no-global-assign": [
160
+ "error",
161
+ {
162
+ "exceptions": []
163
+ }
164
+ ],
165
+ "no-inner-declarations": ["error"],
166
+ "no-iterator": ["error"],
167
+ "no-label-var": ["error"],
168
+ "no-lonely-if": ["error"],
169
+ "no-loss-of-precision": ["error"],
170
+ "no-misleading-character-class": ["error"],
171
+ "no-multi-assign": ["error"],
172
+ "no-multi-str": ["error"],
173
+ "no-new": ["error"],
174
+ "no-new-wrappers": ["error"],
175
+ "no-nonoctal-decimal-escape": ["error"],
176
+ "no-param-reassign": [
177
+ "error",
178
+ {
179
+ "ignorePropertyModificationsFor": ["acc", "accumulator", "e", "ctx", "context", "req", "request", "res", "response", "$scope", "staticContext"],
180
+ "props": true
181
+ }
182
+ ],
183
+ "no-path-concat": ["error"],
184
+ "no-plusplus": ["error"],
185
+ "no-promise-executor-return": ["error"],
186
+ "no-proto": ["error"],
187
+ "no-prototype-builtins": ["error"],
188
+ "no-regex-spaces": ["error"],
189
+ "no-restricted-exports": [
190
+ "error",
191
+ {
192
+ "restrictDefaultExports": {
193
+ "defaultFrom": false,
194
+ "direct": false,
195
+ "named": true,
196
+ "namedFrom": false,
197
+ "namespaceFrom": true
198
+ },
199
+ "restrictedNamedExports": ["then"]
200
+ }
201
+ ],
202
+ "no-restricted-globals": [
203
+ "error",
204
+ {
205
+ "message": "Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite",
206
+ "name": "isFinite"
207
+ },
208
+ {
209
+ "message": "Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan",
210
+ "name": "isNaN"
211
+ },
212
+ {
213
+ "message": "Use window.addEventListener instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
214
+ "name": "addEventListener"
215
+ },
216
+ {
217
+ "message": "Use window.blur instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
218
+ "name": "blur"
219
+ },
220
+ {
221
+ "message": "Use window.close instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
222
+ "name": "close"
223
+ },
224
+ {
225
+ "message": "Use window.closed instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
226
+ "name": "closed"
227
+ },
228
+ {
229
+ "message": "Use window.confirm instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
230
+ "name": "confirm"
231
+ },
232
+ {
233
+ "message": "Use window.defaultStatus instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
234
+ "name": "defaultStatus"
235
+ },
236
+ {
237
+ "message": "Use window.defaultstatus instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
238
+ "name": "defaultstatus"
239
+ },
240
+ {
241
+ "message": "Use window.event instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
242
+ "name": "event"
243
+ },
244
+ {
245
+ "message": "Use window.external instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
246
+ "name": "external"
247
+ },
248
+ {
249
+ "message": "Use window.find instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
250
+ "name": "find"
251
+ },
252
+ {
253
+ "message": "Use window.focus instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
254
+ "name": "focus"
255
+ },
256
+ {
257
+ "message": "Use window.frameElement instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
258
+ "name": "frameElement"
259
+ },
260
+ {
261
+ "message": "Use window.frames instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
262
+ "name": "frames"
263
+ },
264
+ {
265
+ "message": "Use window.history instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
266
+ "name": "history"
267
+ },
268
+ {
269
+ "message": "Use window.innerHeight instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
270
+ "name": "innerHeight"
271
+ },
272
+ {
273
+ "message": "Use window.innerWidth instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
274
+ "name": "innerWidth"
275
+ },
276
+ {
277
+ "message": "Use window.length instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
278
+ "name": "length"
279
+ },
280
+ {
281
+ "message": "Use window.location instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
282
+ "name": "location"
283
+ },
284
+ {
285
+ "message": "Use window.locationbar instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
286
+ "name": "locationbar"
287
+ },
288
+ {
289
+ "message": "Use window.menubar instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
290
+ "name": "menubar"
291
+ },
292
+ {
293
+ "message": "Use window.moveBy instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
294
+ "name": "moveBy"
295
+ },
296
+ {
297
+ "message": "Use window.moveTo instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
298
+ "name": "moveTo"
299
+ },
300
+ {
301
+ "message": "Use window.name instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
302
+ "name": "name"
303
+ },
304
+ {
305
+ "message": "Use window.onblur instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
306
+ "name": "onblur"
307
+ },
308
+ {
309
+ "message": "Use window.onerror instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
310
+ "name": "onerror"
311
+ },
312
+ {
313
+ "message": "Use window.onfocus instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
314
+ "name": "onfocus"
315
+ },
316
+ {
317
+ "message": "Use window.onload instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
318
+ "name": "onload"
319
+ },
320
+ {
321
+ "message": "Use window.onresize instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
322
+ "name": "onresize"
323
+ },
324
+ {
325
+ "message": "Use window.onunload instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
326
+ "name": "onunload"
327
+ },
328
+ {
329
+ "message": "Use window.open instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
330
+ "name": "open"
331
+ },
332
+ {
333
+ "message": "Use window.opener instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
334
+ "name": "opener"
335
+ },
336
+ {
337
+ "message": "Use window.opera instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
338
+ "name": "opera"
339
+ },
340
+ {
341
+ "message": "Use window.outerHeight instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
342
+ "name": "outerHeight"
343
+ },
344
+ {
345
+ "message": "Use window.outerWidth instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
346
+ "name": "outerWidth"
347
+ },
348
+ {
349
+ "message": "Use window.pageXOffset instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
350
+ "name": "pageXOffset"
351
+ },
352
+ {
353
+ "message": "Use window.pageYOffset instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
354
+ "name": "pageYOffset"
355
+ },
356
+ {
357
+ "message": "Use window.parent instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
358
+ "name": "parent"
359
+ },
360
+ {
361
+ "message": "Use window.print instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
362
+ "name": "print"
363
+ },
364
+ {
365
+ "message": "Use window.removeEventListener instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
366
+ "name": "removeEventListener"
367
+ },
368
+ {
369
+ "message": "Use window.resizeBy instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
370
+ "name": "resizeBy"
371
+ },
372
+ {
373
+ "message": "Use window.resizeTo instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
374
+ "name": "resizeTo"
375
+ },
376
+ {
377
+ "message": "Use window.screen instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
378
+ "name": "screen"
379
+ },
380
+ {
381
+ "message": "Use window.screenLeft instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
382
+ "name": "screenLeft"
383
+ },
384
+ {
385
+ "message": "Use window.screenTop instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
386
+ "name": "screenTop"
387
+ },
388
+ {
389
+ "message": "Use window.screenX instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
390
+ "name": "screenX"
391
+ },
392
+ {
393
+ "message": "Use window.screenY instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
394
+ "name": "screenY"
395
+ },
396
+ {
397
+ "message": "Use window.scroll instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
398
+ "name": "scroll"
399
+ },
400
+ {
401
+ "message": "Use window.scrollbars instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
402
+ "name": "scrollbars"
403
+ },
404
+ {
405
+ "message": "Use window.scrollBy instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
406
+ "name": "scrollBy"
407
+ },
408
+ {
409
+ "message": "Use window.scrollTo instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
410
+ "name": "scrollTo"
411
+ },
412
+ {
413
+ "message": "Use window.scrollX instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
414
+ "name": "scrollX"
415
+ },
416
+ {
417
+ "message": "Use window.scrollY instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
418
+ "name": "scrollY"
419
+ },
420
+ {
421
+ "message": "Use window.self instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
422
+ "name": "self"
423
+ },
424
+ {
425
+ "message": "Use window.status instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
426
+ "name": "status"
427
+ },
428
+ {
429
+ "message": "Use window.statusbar instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
430
+ "name": "statusbar"
431
+ },
432
+ {
433
+ "message": "Use window.stop instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
434
+ "name": "stop"
435
+ },
436
+ {
437
+ "message": "Use window.toolbar instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
438
+ "name": "toolbar"
439
+ },
440
+ {
441
+ "message": "Use window.top instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md",
442
+ "name": "top"
443
+ },
444
+ {
445
+ "message": "Use `globalThis` instead.",
446
+ "name": "global"
447
+ },
448
+ {
449
+ "message": "Use `globalThis` instead.",
450
+ "name": "self"
451
+ }
452
+ ],
453
+ "no-restricted-imports": [
454
+ "error",
455
+ {
456
+ "paths": [
457
+ {
458
+ "message": "Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",
459
+ "name": "lodash.isequal"
460
+ },
461
+ {
462
+ "message": "Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",
463
+ "name": "lodash.uniqueId"
464
+ },
465
+ {
466
+ "message": "Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",
467
+ "name": "lodash.mergewith"
468
+ },
469
+ {
470
+ "message": "Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",
471
+ "name": "lodash.pick"
472
+ },
473
+ {
474
+ "name": "error"
475
+ },
476
+ {
477
+ "name": "domain"
478
+ },
479
+ {
480
+ "name": "freelist"
481
+ },
482
+ {
483
+ "name": "smalloc"
484
+ },
485
+ {
486
+ "name": "punycode"
487
+ },
488
+ {
489
+ "name": "sys"
490
+ },
491
+ {
492
+ "message": "Is legacy, npm version got deprecated, migrate to URLSearchParams as recommended or try \"qs\" as a package",
493
+ "name": "querystring"
494
+ },
495
+ {
496
+ "message": "Please use one of the following instead: chalk, kleur, ansi-colors, @colors/colors",
497
+ "name": "colors"
498
+ },
499
+ {
500
+ "message": "node v10.12 mkdir supports recursive option",
501
+ "name": "mkdirp"
502
+ },
503
+ {
504
+ "message": "Please use \"@faker-js/faker\" as a replacement",
505
+ "name": "faker"
506
+ },
507
+ {
508
+ "message": "Please use Object.assign or spread { ...obj }",
509
+ "name": "xtend"
510
+ },
511
+ {
512
+ "message": "Please use Object.assign or spread { ...obj }",
513
+ "name": "object-assign"
514
+ },
515
+ {
516
+ "message": "Please use Object.assign or spread { ...obj }",
517
+ "name": "extend-shallow"
518
+ },
519
+ {
520
+ "message": "node supports recursive option now",
521
+ "name": "rimraf"
522
+ },
523
+ {
524
+ "message": "just use \"\".padStart() and \"\".padEnd()",
525
+ "name": "pad-left"
526
+ },
527
+ {
528
+ "message": "just use \"\".padStart() and \"\".padEnd()",
529
+ "name": "pad-right"
530
+ },
531
+ {
532
+ "message": "just use \"\".padStart() and \"\".padEnd()",
533
+ "name": "left-pad"
534
+ },
535
+ {
536
+ "message": "just use \"\".padStart() and \"\".padEnd()",
537
+ "name": "right-pad"
538
+ },
539
+ {
540
+ "message": "just use \"\".padStart() and \"\".padEnd()",
541
+ "name": "pad"
542
+ },
543
+ {
544
+ "name": "safe-buffer"
545
+ },
546
+ {
547
+ "name": "safer-buffer"
548
+ },
549
+ {
550
+ "message": "just use [].flat() or some other polyfill",
551
+ "name": "array-flatten"
552
+ },
553
+ {
554
+ "message": "Been deprecated",
555
+ "name": "request"
556
+ },
557
+ {
558
+ "message": "use async/await instead",
559
+ "name": "co"
560
+ },
561
+ {
562
+ "message": "Please use TextDecoder instead",
563
+ "name": "windows-1252"
564
+ },
565
+ {
566
+ "message": "Please use TextDecoder instead",
567
+ "name": "string_decoder"
568
+ },
569
+ {
570
+ "message": "Please use array.prototype.flatMap instead",
571
+ "name": "concat-map"
572
+ },
573
+ {
574
+ "name": "buffer-alloc"
575
+ }
576
+ ],
577
+ "patterns": ["lodash.*"]
578
+ }
579
+ ],
580
+ "no-restricted-properties": [
581
+ "error",
582
+ {
583
+ "message": "arguments.callee is deprecated",
584
+ "object": "arguments",
585
+ "property": "callee"
586
+ },
587
+ {
588
+ "message": "Please use Number.isFinite instead",
589
+ "object": "global",
590
+ "property": "isFinite"
591
+ },
592
+ {
593
+ "message": "Please use Number.isFinite instead",
594
+ "object": "self",
595
+ "property": "isFinite"
596
+ },
597
+ {
598
+ "message": "Please use Number.isFinite instead",
599
+ "object": "window",
600
+ "property": "isFinite"
601
+ },
602
+ {
603
+ "message": "Please use Number.isNaN instead",
604
+ "object": "global",
605
+ "property": "isNaN"
606
+ },
607
+ {
608
+ "message": "Please use Number.isNaN instead",
609
+ "object": "self",
610
+ "property": "isNaN"
611
+ },
612
+ {
613
+ "message": "Please use Number.isNaN instead",
614
+ "object": "window",
615
+ "property": "isNaN"
616
+ },
617
+ {
618
+ "message": "Please use Object.defineProperty instead.",
619
+ "property": "__defineGetter__"
620
+ },
621
+ {
622
+ "message": "Please use Object.defineProperty instead.",
623
+ "property": "__defineSetter__"
624
+ },
625
+ {
626
+ "message": "Use the exponentiation operator (**) instead.",
627
+ "object": "Math",
628
+ "property": "pow"
629
+ },
630
+ {
631
+ "message": "Use `Number.isNaN` instead.",
632
+ "object": "globalThis",
633
+ "property": "isNaN"
634
+ },
635
+ {
636
+ "message": "Use `Number.isFinite` instead.",
637
+ "object": "globalThis",
638
+ "property": "isFinite"
639
+ },
640
+ {
641
+ "message": "Use `Number.parseFloat` instead.",
642
+ "object": "globalThis",
643
+ "property": "parseFloat"
644
+ },
645
+ {
646
+ "message": "Use `Number.parseInt` instead.",
647
+ "object": "globalThis",
648
+ "property": "parseInt"
649
+ },
650
+ {
651
+ "message": "Use `Number.parseFloat` instead.",
652
+ "object": "window",
653
+ "property": "parseFloat"
654
+ },
655
+ {
656
+ "message": "Use `Number.parseInt` instead.",
657
+ "object": "window",
658
+ "property": "parseInt"
659
+ },
660
+ {
661
+ "message": "Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",
662
+ "property": "__proto__"
663
+ },
664
+ {
665
+ "message": "Use `Object.getOwnPropertyDescriptor` instead.",
666
+ "property": "__lookupGetter__"
667
+ },
668
+ {
669
+ "message": "Use `Object.getOwnPropertyDescriptor` instead.",
670
+ "property": "__lookupSetter__"
671
+ }
672
+ ],
673
+ "no-return-assign": ["error", "always"],
674
+ "no-script-url": ["error"],
675
+ "no-secrets/no-secrets": ["error"],
676
+ "no-self-assign": [
677
+ "error",
678
+ {
679
+ "props": true
680
+ }
681
+ ],
682
+ "no-self-compare": ["error"],
683
+ "no-sequences": ["error"],
684
+ "no-shadow-restricted-names": ["error"],
685
+ "no-sparse-arrays": ["error"],
686
+ "no-template-curly-in-string": ["error"],
687
+ "no-unassigned-vars": ["error"],
688
+ "no-underscore-dangle": [
689
+ "error",
690
+ {
691
+ "allow": ["__DEV__", "__STORYBOOK_CLIENT_API__", "__STORYBOOK_ADDONS_CHANNEL__", "__STORYBOOK_STORY_STORE__"],
692
+ "allowAfterSuper": false,
693
+ "allowAfterThis": false,
694
+ "enforceInMethodNames": true
695
+ }
696
+ ],
697
+ "no-unneeded-ternary": [
698
+ "error",
699
+ {
700
+ "defaultAssignment": false
701
+ }
702
+ ],
703
+ "no-unsafe-finally": ["error"],
704
+ "no-unsafe-optional-chaining": [
705
+ "error",
706
+ {
707
+ "disallowArithmeticOperators": true
708
+ }
709
+ ],
710
+ "no-unused-private-class-members": ["error"],
711
+ "no-useless-catch": ["error"],
712
+ "no-useless-computed-key": ["error"],
713
+ "no-useless-concat": ["error"],
714
+ "no-useless-escape": ["error"],
715
+ "no-useless-rename": [
716
+ "error",
717
+ {
718
+ "ignoreDestructuring": false,
719
+ "ignoreExport": false,
720
+ "ignoreImport": false
721
+ }
722
+ ],
723
+ "no-useless-return": ["error"],
724
+ "no-var": ["error"],
725
+ "no-void": ["error"],
726
+ "object-shorthand": [
727
+ "error",
728
+ "always",
729
+ {
730
+ "avoidQuotes": true,
731
+ "ignoreConstructors": false
732
+ }
733
+ ],
734
+ "operator-assignment": ["error", "always"],
735
+ "prefer-arrow-callback": [
736
+ "error",
737
+ {
738
+ "allowNamedFunctions": false,
739
+ "allowUnboundThis": true
740
+ }
741
+ ],
742
+ "prefer-const": ["error"],
743
+ "prefer-destructuring": [
744
+ "error",
745
+ {
746
+ "AssignmentExpression": {
747
+ "array": true,
748
+ "object": false
749
+ },
750
+ "VariableDeclarator": {
751
+ "array": false,
752
+ "object": true
753
+ }
754
+ },
755
+ {
756
+ "enforceForRenamedProperties": false
757
+ }
758
+ ],
759
+ "prefer-numeric-literals": ["error"],
760
+ "prefer-object-spread": ["error"],
761
+ "prefer-regex-literals": ["error"],
762
+ "prefer-rest-params": ["error"],
763
+ "prefer-spread": ["error"],
764
+ "prefer-template": ["error"],
765
+ "preserve-caught-error": ["error"],
766
+ "promise/always-return": ["error"],
767
+ "promise/catch-or-return": ["error"],
768
+ "promise/no-callback-in-promise": ["warn"],
769
+ "promise/no-nesting": ["warn"],
770
+ "promise/no-new-statics": ["error"],
771
+ "promise/no-promise-in-callback": ["warn"],
772
+ "promise/no-return-in-finally": ["warn"],
773
+ "promise/no-return-wrap": ["error"],
774
+ "promise/param-names": ["error"],
775
+ "promise/valid-params": ["warn"],
776
+ "radix": ["error"],
777
+ "react-doctor/active-static-asset": "warn",
778
+ "react-doctor/activity-wraps-effect-heavy-subtree": "warn",
779
+ "react-doctor/advanced-event-handler-refs": "warn",
780
+ "react-doctor/agent-tool-capability-risk": "warn",
781
+ "react-doctor/anchor-ambiguous-text": "warn",
782
+ "react-doctor/anchor-target-exists": "warn",
783
+ "react-doctor/aria-braille-equivalent": "warn",
784
+ "react-doctor/artifact-baas-authority-surface": "warn",
785
+ "react-doctor/artifact-env-leak": "warn",
786
+ "react-doctor/artifact-secret-leak": "warn",
787
+ "react-doctor/async-await-in-loop": "warn",
788
+ "react-doctor/async-defer-await": "warn",
789
+ "react-doctor/async-parallel": "warn",
790
+ "react-doctor/auth-token-in-web-storage": "warn",
791
+ "react-doctor/base-ui-dialog-popup-requires-title": "warn",
792
+ "react-doctor/base-ui-field-requires-label": "warn",
793
+ "react-doctor/base-ui-tabs-tab-requires-list": "warn",
794
+ "react-doctor/build-pipeline-secret-boundary": "warn",
795
+ "react-doctor/circular-dependency": "warn",
796
+ "react-doctor/class-component-missing-component-will-unmount-teardown": "warn",
797
+ "react-doctor/clickjacking-redirect-risk": "warn",
798
+ "react-doctor/client-localstorage-no-version": "warn",
799
+ "react-doctor/client-passive-event-listeners": "warn",
800
+ "react-doctor/command-execution-input-risk": "warn",
801
+ "react-doctor/context-provider-value-from-unmemoized-local-literal": "warn",
802
+ "react-doctor/cors-cookie-trust-risk": "warn",
803
+ "react-doctor/dangerous-html-sink": "warn",
804
+ "react-doctor/data-table-requires-accessible-name": "warn",
805
+ "react-doctor/debounce-no-cleanup": "warn",
806
+ "react-doctor/design-no-em-dash-in-jsx-text": "warn",
807
+ "react-doctor/design-no-redundant-padding-axes": "warn",
808
+ "react-doctor/design-no-redundant-size-axes": "warn",
809
+ "react-doctor/design-no-space-on-flex-children": "warn",
810
+ "react-doctor/design-no-three-period-ellipsis": "warn",
811
+ "react-doctor/design-no-vague-button-label": "warn",
812
+ "react-doctor/details-requires-summary": "warn",
813
+ "react-doctor/dialog-has-accessible-name": "warn",
814
+ "react-doctor/duplicate-jsx-subtree": "warn",
815
+ "react-doctor/effect-listener-cleanup-mismatch": "warn",
816
+ "react-doctor/effect-listener-cleanup-reference-mismatch": "warn",
817
+ "react-doctor/effect-needs-cleanup": "warn",
818
+ "react-doctor/effect-observer-needs-disconnect": "warn",
819
+ "react-doctor/effect-raf-loop-needs-cancel": "warn",
820
+ "react-doctor/effect-remove-listener-inline-handler": "warn",
821
+ "react-doctor/empty-table-header": "warn",
822
+ "react-doctor/expo-no-non-inlined-env": "warn",
823
+ "react-doctor/fieldset-requires-legend": "warn",
824
+ "react-doctor/firebase-client-owned-authz-field": "warn",
825
+ "react-doctor/firebase-permissive-rules": "warn",
826
+ "react-doctor/firebase-query-filter-as-auth": "warn",
827
+ "react-doctor/forbid-component-props": "warn",
828
+ "react-doctor/forbid-dom-props": "warn",
829
+ "react-doctor/forbid-elements": "warn",
830
+ "react-doctor/form-control-requires-name": "warn",
831
+ "react-doctor/git-provider-url-injection-risk": "warn",
832
+ "react-doctor/hook-import-rename-loses-use-prefix": "warn",
833
+ "react-doctor/hook-use-state": "warn",
834
+ "react-doctor/hooks-no-nan-in-deps": "warn",
835
+ "react-doctor/html-label-has-single-control": "warn",
836
+ "react-doctor/html-no-invalid-paragraph-child": "warn",
837
+ "react-doctor/html-no-invalid-table-nesting": "warn",
838
+ "react-doctor/html-no-nested-form": "warn",
839
+ "react-doctor/html-no-nested-interactive": "warn",
840
+ "react-doctor/html-xml-lang-mismatch": "warn",
841
+ "react-doctor/iframe-title-unique": "warn",
842
+ "react-doctor/import-metadata-execution-risk": "warn",
843
+ "react-doctor/ink-ctrl-c-handler-requires-exit-option": "warn",
844
+ "react-doctor/ink-newline-inside-text": "warn",
845
+ "react-doctor/ink-no-bare-process-exit": "warn",
846
+ "react-doctor/ink-no-direct-raw-mode": "warn",
847
+ "react-doctor/ink-no-dom-host-elements": "warn",
848
+ "react-doctor/ink-no-dom-router": "warn",
849
+ "react-doctor/ink-no-focus-in-render": "warn",
850
+ "react-doctor/ink-no-layout-inside-text": "warn",
851
+ "react-doctor/ink-no-live-hooks-in-render-to-string": "warn",
852
+ "react-doctor/ink-no-measure-element-in-render": "warn",
853
+ "react-doctor/ink-no-multiple-static": "warn",
854
+ "react-doctor/ink-no-raw-text": "warn",
855
+ "react-doctor/ink-no-repeated-render": "warn",
856
+ "react-doctor/ink-prefer-use-animation": "warn",
857
+ "react-doctor/ink-prefer-use-paste": "warn",
858
+ "react-doctor/ink-static-is-append-only": "warn",
859
+ "react-doctor/ink-static-requires-key": "warn",
860
+ "react-doctor/ink-suspense-requires-concurrent": "warn",
861
+ "react-doctor/ink-use-reactive-window-size": "warn",
862
+ "react-doctor/ink-use-string-width-for-cursor": "warn",
863
+ "react-doctor/ink-use-suspend-terminal": "warn",
864
+ "react-doctor/ink-valid-aria-semantics": "warn",
865
+ "react-doctor/insecure-crypto-risk": "warn",
866
+ "react-doctor/insecure-session-cookie": "warn",
867
+ "react-doctor/jotai-derived-atom-returns-fresh-object": "warn",
868
+ "react-doctor/jotai-select-atom-in-render-body": "warn",
869
+ "react-doctor/jotai-tq-use-raw-query-atom": "warn",
870
+ "react-doctor/js-async-reduce-without-awaited-acc": "warn",
871
+ "react-doctor/js-batch-dom-css": "warn",
872
+ "react-doctor/js-cache-property-access": "warn",
873
+ "react-doctor/js-cache-storage": "warn",
874
+ "react-doctor/js-combine-iterations": "warn",
875
+ "react-doctor/js-early-exit": "warn",
876
+ "react-doctor/js-flatmap-filter": "warn",
877
+ "react-doctor/js-hoist-intl": "warn",
878
+ "react-doctor/js-hoist-regexp": "warn",
879
+ "react-doctor/js-index-maps": "warn",
880
+ "react-doctor/js-length-check-first": "warn",
881
+ "react-doctor/js-min-max-loop": "warn",
882
+ "react-doctor/js-set-map-lookups": "warn",
883
+ "react-doctor/js-tosorted-immutable": "warn",
884
+ "react-doctor/jsx-filename-extension": "warn",
885
+ "react-doctor/jsx-handler-names": "warn",
886
+ "react-doctor/jsx-max-depth": "warn",
887
+ "react-doctor/jsx-no-jsx-as-prop": "warn",
888
+ "react-doctor/jsx-no-new-array-as-prop": "warn",
889
+ "react-doctor/jsx-no-new-function-as-prop": "warn",
890
+ "react-doctor/jsx-no-new-object-as-prop": "warn",
891
+ "react-doctor/jsx-numeric-and-leaked-render": "warn",
892
+ "react-doctor/jsx-props-no-spreading": "warn",
893
+ "react-doctor/jwt-insecure-verification": "warn",
894
+ "react-doctor/key-lifecycle-risk": "warn",
895
+ "react-doctor/loading-action-preserves-trigger": "warn",
896
+ "react-doctor/local-rpc-native-bridge-risk": "warn",
897
+ "react-doctor/mcp-tool-capability-risk": "warn",
898
+ "react-doctor/mdx-ssr-execution-risk": "warn",
899
+ "react-doctor/mobx-no-make-auto-observable-in-inheritance": "warn",
900
+ "react-doctor/mobx-no-observer-wrapped-memo": "warn",
901
+ "react-doctor/mobx-reaction-disposer-discarded": "warn",
902
+ "react-doctor/motion-animate-presence-must-outlive-child": "warn",
903
+ "react-doctor/motion-animate-presence-requires-key": "warn",
904
+ "react-doctor/motion-animate-presence-wait-single-child": "warn",
905
+ "react-doctor/motion-create-in-render": "warn",
906
+ "react-doctor/motion-drag-axis-constraint-mismatch": "warn",
907
+ "react-doctor/motion-imperative-animation-in-render": "warn",
908
+ "react-doctor/motion-keyframe-times-mismatch": "warn",
909
+ "react-doctor/motion-layout-on-inline-element": "warn",
910
+ "react-doctor/motion-unstable-layout-id-in-iteration": "warn",
911
+ "react-doctor/motion-use-transform-range-length": "warn",
912
+ "react-doctor/motion-value-constructor-in-render": "warn",
913
+ "react-doctor/motion-value-subscription-in-render": "warn",
914
+ "react-doctor/nextjs-async-client-component": "warn",
915
+ "react-doctor/nextjs-async-dynamic-api-not-awaited": "warn",
916
+ "react-doctor/nextjs-error-boundary-missing-use-client": "warn",
917
+ "react-doctor/nextjs-global-error-missing-html-body": "warn",
918
+ "react-doctor/nextjs-image-missing-sizes": "warn",
919
+ "react-doctor/nextjs-inline-script-missing-id": "warn",
920
+ "react-doctor/nextjs-metadata-url-consistency": "warn",
921
+ "react-doctor/nextjs-missing-metadata": "warn",
922
+ "react-doctor/nextjs-no-a-element": "warn",
923
+ "react-doctor/nextjs-no-client-fetch-for-server-data": "warn",
924
+ "react-doctor/nextjs-no-client-side-redirect": "warn",
925
+ "react-doctor/nextjs-no-css-link": "warn",
926
+ "react-doctor/nextjs-no-default-export-in-route-handler": "warn",
927
+ "react-doctor/nextjs-no-edge-og-runtime": "warn",
928
+ "react-doctor/nextjs-no-font-link": "warn",
929
+ "react-doctor/nextjs-no-google-analytics-script": "warn",
930
+ "react-doctor/nextjs-no-head-import": "warn",
931
+ "react-doctor/nextjs-no-img-element": "warn",
932
+ "react-doctor/nextjs-no-native-script": "warn",
933
+ "react-doctor/nextjs-no-polyfill-script": "warn",
934
+ "react-doctor/nextjs-no-redirect-in-try-catch": "warn",
935
+ "react-doctor/nextjs-no-script-in-head": "warn",
936
+ "react-doctor/nextjs-no-side-effect-in-get-handler": "warn",
937
+ "react-doctor/nextjs-no-use-search-params-without-suspense": "warn",
938
+ "react-doctor/nextjs-no-vercel-og-import": "warn",
939
+ "react-doctor/no-adjust-state-on-prop-change": "warn",
940
+ "react-doctor/no-all-caps-body-text": "warn",
941
+ "react-doctor/no-arbitrary-px-font-size": "warn",
942
+ "react-doctor/no-aria-hidden-on-body": "warn",
943
+ "react-doctor/no-aria-invalid-without-description": "warn",
944
+ "react-doctor/no-arithmetic-on-optional-chained-operand": "warn",
945
+ "react-doctor/no-array-find-result-member-access-without-guard": "warn",
946
+ "react-doctor/no-array-index-as-key": "warn",
947
+ "react-doctor/no-array-index-deref-without-bounds-or-empty-guard": "warn",
948
+ "react-doctor/no-array-index-key": "error",
949
+ "react-doctor/no-assertive-status": "warn",
950
+ "react-doctor/no-async-effect-callback": "warn",
951
+ "react-doctor/no-async-event-handler-without-reentry-guard": "warn",
952
+ "react-doctor/no-auto-scrolling-content": "warn",
953
+ "react-doctor/no-autoplay-without-muted": "warn",
954
+ "react-doctor/no-barrel-import": "warn",
955
+ "react-doctor/no-blocked-paste": "warn",
956
+ "react-doctor/no-boolean-toggle-without-functional-update": "warn",
957
+ "react-doctor/no-broken-image-source": "warn",
958
+ "react-doctor/no-call-component-as-function": "warn",
959
+ "react-doctor/no-cascading-set-state": "warn",
960
+ "react-doctor/no-chain-state-updates": "warn",
961
+ "react-doctor/no-clipped-overlay": "warn",
962
+ "react-doctor/no-clone-element": "error",
963
+ "react-doctor/no-collapse-request-error-to-empty-state": "warn",
964
+ "react-doctor/no-collapsed-literal-or-chain-as-value": "warn",
965
+ "react-doctor/no-common-root-font": "warn",
966
+ "react-doctor/no-conflicting-spring-options": "warn",
967
+ "react-doctor/no-controlled-input-value-without-state-update": "warn",
968
+ "react-doctor/no-controlled-selection-focus-effect": "warn",
969
+ "react-doctor/no-cramped-container-padding": "warn",
970
+ "react-doctor/no-create-context-in-render": "warn",
971
+ "react-doctor/no-create-object-url-in-render": "warn",
972
+ "react-doctor/no-create-object-url-without-revoke": "warn",
973
+ "react-doctor/no-create-ref-in-function-component": "warn",
974
+ "react-doctor/no-create-store-in-render": "warn",
975
+ "react-doctor/no-crushed-letter-spacing": "warn",
976
+ "react-doctor/no-dark-mode-glow": "warn",
977
+ "react-doctor/no-decorative-blur-orb": "warn",
978
+ "react-doctor/no-decorative-grid-background": "warn",
979
+ "react-doctor/no-decorative-pulse": "warn",
980
+ "react-doctor/no-decorative-radial-spotlight": "warn",
981
+ "react-doctor/no-default-props": "warn",
982
+ "react-doctor/no-default-purple-page-gradient": "warn",
983
+ "react-doctor/no-default-warm-page-surface": "warn",
984
+ "react-doctor/no-deprecated-keyboard-event-keycode-which": "warn",
985
+ "react-doctor/no-deprecated-tailwind-class": "warn",
986
+ "react-doctor/no-derived-state": "warn",
987
+ "react-doctor/no-derived-state-effect": "warn",
988
+ "react-doctor/no-derived-useState": "warn",
989
+ "react-doctor/no-direct-state-mutation": "warn",
990
+ "react-doctor/no-disabled-zoom": "warn",
991
+ "react-doctor/no-document-start-view-transition": "warn",
992
+ "react-doctor/no-document-write": "warn",
993
+ "react-doctor/no-duplicate-static-id-reference": "warn",
994
+ "react-doctor/no-dynamic-import-path": "warn",
995
+ "react-doctor/no-dynamic-tailwind-class-fragment": "warn",
996
+ "react-doctor/no-eager-new-in-use-state-initializer": "warn",
997
+ "react-doctor/no-ease-in-motion": "warn",
998
+ "react-doctor/no-effect-chain": "warn",
999
+ "react-doctor/no-effect-event-handler": "warn",
1000
+ "react-doctor/no-effect-event-in-deps": "warn",
1001
+ "react-doctor/no-effect-with-fresh-deps": "warn",
1002
+ "react-doctor/no-effect-wrapper-discards-callback-cleanup-return": "warn",
1003
+ "react-doctor/no-emoji-heading-decoration": "warn",
1004
+ "react-doctor/no-empty-card-shell": "warn",
1005
+ "react-doctor/no-enter-submit-without-ime-composition-guard": "warn",
1006
+ "react-doctor/no-event-handler": "warn",
1007
+ "react-doctor/no-event-trigger-state": "warn",
1008
+ "react-doctor/no-excessive-card-surfaces": "warn",
1009
+ "react-doctor/no-excessive-centered-copy": "warn",
1010
+ "react-doctor/no-excessive-font-families": "warn",
1011
+ "react-doctor/no-excessive-motion-stagger": "warn",
1012
+ "react-doctor/no-excessive-pill-treatment": "warn",
1013
+ "react-doctor/no-fake-browser-chrome": "warn",
1014
+ "react-doctor/no-fetch-in-effect": "warn",
1015
+ "react-doctor/no-fetch-response-used-without-status-check": "warn",
1016
+ "react-doctor/no-fill-map-element-as-key": "warn",
1017
+ "react-doctor/no-fixed-inside-transformed-ancestor": "warn",
1018
+ "react-doctor/no-flat-page-type-scale": "warn",
1019
+ "react-doctor/no-floating-then-in-jsx-handler": "warn",
1020
+ "react-doctor/no-flush-sync": "warn",
1021
+ "react-doctor/no-focus-in-animation-completion-handler": "warn",
1022
+ "react-doctor/no-focusable-content-in-aria-hidden": "warn",
1023
+ "react-doctor/no-focusable-content-in-role-text": "warn",
1024
+ "react-doctor/no-full-lodash-import": "warn",
1025
+ "react-doctor/no-full-viewport-centered-hero": "warn",
1026
+ "react-doctor/no-full-viewport-width": "warn",
1027
+ "react-doctor/no-generic-handler-names": "warn",
1028
+ "react-doctor/no-generic-marketing-copy": "warn",
1029
+ "react-doctor/no-generic-purple-blue-icon-gradient": "warn",
1030
+ "react-doctor/no-giant-component": "warn",
1031
+ "react-doctor/no-global-css-variable-animation": "warn",
1032
+ "react-doctor/no-gradient-text": "warn",
1033
+ "react-doctor/no-gray-on-colored-background": "warn",
1034
+ "react-doctor/no-hairline-border-wide-shadow": "warn",
1035
+ "react-doctor/no-hero-eyebrow-chip": "warn",
1036
+ "react-doctor/no-high-complexity-react-function": "warn",
1037
+ "react-doctor/no-hover-only-reveal": "warn",
1038
+ "react-doctor/no-hydration-branch-on-browser-global": "warn",
1039
+ "react-doctor/no-icon-tile-heading-stack": "warn",
1040
+ "react-doctor/no-image-hover-transform": "warn",
1041
+ "react-doctor/no-img-lazy-with-high-fetchpriority": "warn",
1042
+ "react-doctor/no-img-without-dimensions": "warn",
1043
+ "react-doctor/no-impure-call-at-module-scope": "warn",
1044
+ "react-doctor/no-impure-state-updater": "warn",
1045
+ "react-doctor/no-indeterminate-attribute": "warn",
1046
+ "react-doctor/no-inert-pointer-affordance": "warn",
1047
+ "react-doctor/no-inert-sticky-position": "warn",
1048
+ "react-doctor/no-initialize-state": "warn",
1049
+ "react-doctor/no-inline-bounce-easing": "warn",
1050
+ "react-doctor/no-inline-exhaustive-style": "warn",
1051
+ "react-doctor/no-inline-hoc-on-component": "warn",
1052
+ "react-doctor/no-inline-prop-on-memo-component": "warn",
1053
+ "react-doctor/no-invalid-progress-range": "warn",
1054
+ "react-doctor/no-invisible-focus-control": "warn",
1055
+ "react-doctor/no-italic-serif-display-heading": "warn",
1056
+ "react-doctor/no-json-parse-stringify-clone": "warn",
1057
+ "react-doctor/no-jsx-element-type": "warn",
1058
+ "react-doctor/no-justified-text": "warn",
1059
+ "react-doctor/no-large-animated-blur": "warn",
1060
+ "react-doctor/no-layout-property-animation": "warn",
1061
+ "react-doctor/no-layout-shifting-interaction-state": "warn",
1062
+ "react-doctor/no-layout-transition-inline": "warn",
1063
+ "react-doctor/no-legacy-class-lifecycles": "warn",
1064
+ "react-doctor/no-legacy-context-api": "warn",
1065
+ "react-doctor/no-loading-flag-reset-outside-finally": "warn",
1066
+ "react-doctor/no-locale-format-in-render": "warn",
1067
+ "react-doctor/no-long-transition-duration": "warn",
1068
+ "react-doctor/no-low-contrast-inline-style": "warn",
1069
+ "react-doctor/no-manufactured-contrast-copy": "warn",
1070
+ "react-doctor/no-many-boolean-props": "warn",
1071
+ "react-doctor/no-match-media-in-state-initializer": "warn",
1072
+ "react-doctor/no-mirror-prop-effect": "warn",
1073
+ "react-doctor/no-mixed-animation-owners": "warn",
1074
+ "react-doctor/no-mixed-icon-libraries": "warn",
1075
+ "react-doctor/no-mixed-srcset-descriptors": "warn",
1076
+ "react-doctor/no-moment": "warn",
1077
+ "react-doctor/no-monotonous-page-spacing": "warn",
1078
+ "react-doctor/no-multi-comp": "warn",
1079
+ "react-doctor/no-multi-component-file": "warn",
1080
+ "react-doctor/no-multiple-main-landmarks": "warn",
1081
+ "react-doctor/no-multiple-unlabeled-navigation-landmarks": "warn",
1082
+ "react-doctor/no-mutable-in-deps": "warn",
1083
+ "react-doctor/no-mutate-queried-dom-node-in-component": "warn",
1084
+ "react-doctor/no-mutate-then-set-or-return-same-reference": "warn",
1085
+ "react-doctor/no-mutating-array-method-on-prop-or-hook-result": "warn",
1086
+ "react-doctor/no-mutating-reducer-state": "warn",
1087
+ "react-doctor/no-nested-card-surface": "warn",
1088
+ "react-doctor/no-nested-component-definition": "warn",
1089
+ "react-doctor/no-non-literal-selector-query-without-try-catch": "warn",
1090
+ "react-doctor/no-non-null-assertion-on-maybe-undefined-result": "warn",
1091
+ "react-doctor/no-nondeterministic-id-value-in-render-body": "warn",
1092
+ "react-doctor/no-nonresizable-textarea": "warn",
1093
+ "react-doctor/no-nullish-coalescing-arithmetic-precedence": "warn",
1094
+ "react-doctor/no-numbered-section-markers": "warn",
1095
+ "react-doctor/no-object-keys-values-entries-on-maybe-undefined": "warn",
1096
+ "react-doctor/no-object-or-array-coerced-to-string-in-template-literal": "warn",
1097
+ "react-doctor/no-outline-none": "warn",
1098
+ "react-doctor/no-overloaded-hover-state": "warn",
1099
+ "react-doctor/no-oversized-long-heading": "warn",
1100
+ "react-doctor/no-overwide-text-measure": "warn",
1101
+ "react-doctor/no-pass-data-to-parent": "warn",
1102
+ "react-doctor/no-pass-live-state-to-parent": "warn",
1103
+ "react-doctor/no-passive-request-owner-ref": "warn",
1104
+ "react-doctor/no-path-prefix-containment": "warn",
1105
+ "react-doctor/no-permanent-will-change": "warn",
1106
+ "react-doctor/no-pill-navigation-count": "warn",
1107
+ "react-doctor/no-placeholder-only-field": "warn",
1108
+ "react-doctor/no-placeholder-persona-copy": "warn",
1109
+ "react-doctor/no-pointer-disabled-enabled-control": "warn",
1110
+ "react-doctor/no-polymorphic-children": "warn",
1111
+ "react-doctor/no-predicate-function-reference-in-boolean-position": "warn",
1112
+ "react-doctor/no-presentation-role-conflict": "warn",
1113
+ "react-doctor/no-prevent-default": "warn",
1114
+ "react-doctor/no-promise-then-side-effect-in-effect-without-catch": "warn",
1115
+ "react-doctor/no-prop-callback-in-effect": "warn",
1116
+ "react-doctor/no-prop-callback-in-render": "warn",
1117
+ "react-doctor/no-prop-types": "warn",
1118
+ "react-doctor/no-pulsing-status-dot": "warn",
1119
+ "react-doctor/no-pure-black-background": "warn",
1120
+ "react-doctor/no-pure-black-shadow": "warn",
1121
+ "react-doctor/no-radial-halo": "warn",
1122
+ "react-doctor/no-random-key": "warn",
1123
+ "react-doctor/no-react-children": "warn",
1124
+ "react-doctor/no-react-dom-deprecated-apis": "warn",
1125
+ "react-doctor/no-react19-deprecated-apis": "warn",
1126
+ "react-doctor/no-reduced-motion-content-removal": "warn",
1127
+ "react-doctor/no-redundant-display-class": "warn",
1128
+ "react-doctor/no-redundant-should-component-update": "warn",
1129
+ "react-doctor/no-redundant-title-tooltip": "warn",
1130
+ "react-doctor/no-ref-callback-cleanup-before-react-19": "warn",
1131
+ "react-doctor/no-ref-current-in-render": "warn",
1132
+ "react-doctor/no-render-in-render": "warn",
1133
+ "react-doctor/no-render-prop-children": "warn",
1134
+ "react-doctor/no-repeated-container-text": "warn",
1135
+ "react-doctor/no-repeated-emoji-tiles": "warn",
1136
+ "react-doctor/no-repeated-glass-surfaces": "warn",
1137
+ "react-doctor/no-repeated-hover-scale": "warn",
1138
+ "react-doctor/no-repeated-kicker-labels": "warn",
1139
+ "react-doctor/no-repeated-placeholder-navigation": "warn",
1140
+ "react-doctor/no-repeated-section-shells": "warn",
1141
+ "react-doctor/no-repeating-gradient-decoration": "warn",
1142
+ "react-doctor/no-reset-all-state-on-prop-change": "warn",
1143
+ "react-doctor/no-responsive-hidden-accessible-name": "warn",
1144
+ "react-doctor/no-scale-from-zero": "warn",
1145
+ "react-doctor/no-secrets-in-client-code": "warn",
1146
+ "react-doctor/no-self-updating-effect": "warn",
1147
+ "react-doctor/no-server-side-image-map": "warn",
1148
+ "react-doctor/no-set-state": "warn",
1149
+ "react-doctor/no-set-state-after-await-in-effect": "warn",
1150
+ "react-doctor/no-set-state-in-render": "warn",
1151
+ "react-doctor/no-shape-assembled-illustration": "warn",
1152
+ "react-doctor/no-side-effect-in-state-updater-function": "warn",
1153
+ "react-doctor/no-side-tab-border": "warn",
1154
+ "react-doctor/no-skipped-heading-level": "warn",
1155
+ "react-doctor/no-small-form-control-text": "warn",
1156
+ "react-doctor/no-smooth-scroll-without-reduced-motion": "warn",
1157
+ "react-doctor/no-spread-accumulator-in-reduce": "warn",
1158
+ "react-doctor/no-spread-props-over-defaults-clobbers-with-undefined": "warn",
1159
+ "react-doctor/no-srcset-without-sizes": "warn",
1160
+ "react-doctor/no-stale-timer-ref": "warn",
1161
+ "react-doctor/no-static-motion-config-never": "warn",
1162
+ "react-doctor/no-string-false-on-boolean-attribute": "warn",
1163
+ "react-doctor/no-svg-currentcolor-with-fill-class": "warn",
1164
+ "react-doctor/no-symmetric-text-button-padding": "warn",
1165
+ "react-doctor/no-sync-xhr": "warn",
1166
+ "react-doctor/no-tailwind-layout-transition": "warn",
1167
+ "react-doctor/no-tight-all-caps-heading": "warn",
1168
+ "react-doctor/no-tight-body-leading": "warn",
1169
+ "react-doctor/no-tight-display-tracking": "warn",
1170
+ "react-doctor/no-tiny-text": "warn",
1171
+ "react-doctor/no-tiny-uppercase-tracked-label": "warn",
1172
+ "react-doctor/no-transition-all": "error",
1173
+ "react-doctor/no-transitioned-composite-widget-state": "warn",
1174
+ "react-doctor/no-transitioned-focus-ring": "warn",
1175
+ "react-doctor/no-unbounded-animation-frame-loop": "warn",
1176
+ "react-doctor/no-uncontrolled-input": "warn",
1177
+ "react-doctor/no-undeferred-third-party": "warn",
1178
+ "react-doctor/no-undersized-icon-button": "warn",
1179
+ "react-doctor/no-unescaped-dynamic-string-in-regexp": "warn",
1180
+ "react-doctor/no-ungated-tailwind-animation": "warn",
1181
+ "react-doctor/no-unguarded-browser-global-at-module-scope": "warn",
1182
+ "react-doctor/no-unguarded-browser-global-in-render-or-hook-init": "warn",
1183
+ "react-doctor/no-unguarded-numeric-input-parse": "warn",
1184
+ "react-doctor/no-unguarded-throwing-parse-call": "warn",
1185
+ "react-doctor/no-uniform-feature-card-grid": "warn",
1186
+ "react-doctor/no-uninformative-aria-label": "warn",
1187
+ "react-doctor/no-unowned-async-error-clear": "warn",
1188
+ "react-doctor/no-unsafe-json-parse": "warn",
1189
+ "react-doctor/no-unthrottled-scroll-mutation": "warn",
1190
+ "react-doctor/no-uppercase-mono-label": "warn",
1191
+ "react-doctor/no-uppercase-tracked-navigation-label": "warn",
1192
+ "react-doctor/no-usememo-simple-expression": "warn",
1193
+ "react-doctor/no-whole-object-default-losing-per-key-defaults": "warn",
1194
+ "react-doctor/no-whole-object-dep-with-member-reads": "warn",
1195
+ "react-doctor/no-wide-letter-spacing": "warn",
1196
+ "react-doctor/no-z-index-9999": "warn",
1197
+ "react-doctor/nosql-injection-risk": "warn",
1198
+ "react-doctor/only-export-components": "error",
1199
+ "react-doctor/package-metadata-secret": "warn",
1200
+ "react-doctor/path-traversal-risk": "warn",
1201
+ "react-doctor/plugin-update-trust-risk": "warn",
1202
+ "react-doctor/pointer-capture-needs-cancel-handler": "warn",
1203
+ "react-doctor/postmessage-origin-risk": "warn",
1204
+ "react-doctor/preact-no-children-length": "warn",
1205
+ "react-doctor/preact-no-react-hooks-import": "warn",
1206
+ "react-doctor/preact-no-render-arguments": "warn",
1207
+ "react-doctor/preact-prefer-ondblclick": "warn",
1208
+ "react-doctor/preact-prefer-oninput": "warn",
1209
+ "react-doctor/prefer-dvh-over-vh": "warn",
1210
+ "react-doctor/prefer-dynamic-import": "warn",
1211
+ "react-doctor/prefer-explicit-variants": "warn",
1212
+ "react-doctor/prefer-function-component": "warn",
1213
+ "react-doctor/prefer-html-dialog": "warn",
1214
+ "react-doctor/prefer-module-scope-pure-function": "warn",
1215
+ "react-doctor/prefer-module-scope-static-value": "warn",
1216
+ "react-doctor/prefer-motion-transform-property": "warn",
1217
+ "react-doctor/prefer-stable-empty-fallback": "warn",
1218
+ "react-doctor/prefer-tabular-numeric-data": "warn",
1219
+ "react-doctor/prefer-truncate-shorthand": "warn",
1220
+ "react-doctor/prefer-use-effect-event": "warn",
1221
+ "react-doctor/prefer-use-sync-external-store": "warn",
1222
+ "react-doctor/prefer-useReducer": "warn",
1223
+ "react-doctor/public-debug-artifact": "warn",
1224
+ "react-doctor/public-env-secret-name": "warn",
1225
+ "react-doctor/query-destructure-result": "warn",
1226
+ "react-doctor/query-floating-mutate-async": "warn",
1227
+ "react-doctor/query-mutation-missing-invalidation": "warn",
1228
+ "react-doctor/query-no-mutation-in-effect-as-read": "warn",
1229
+ "react-doctor/query-no-query-in-effect": "warn",
1230
+ "react-doctor/query-no-rest-destructuring": "warn",
1231
+ "react-doctor/query-no-usequery-for-mutation": "warn",
1232
+ "react-doctor/query-no-void-query-fn": "warn",
1233
+ "react-doctor/query-stable-query-client": "warn",
1234
+ "react-doctor/r3f-cap-device-pixel-ratio": "warn",
1235
+ "react-doctor/r3f-limit-shadowed-point-lights": "warn",
1236
+ "react-doctor/r3f-no-advancing-clock-in-use-frame": "warn",
1237
+ "react-doctor/r3f-no-allocation-in-pointer-move": "warn",
1238
+ "react-doctor/r3f-no-async-use-frame": "warn",
1239
+ "react-doctor/r3f-no-clone-in-use-frame": "warn",
1240
+ "react-doctor/r3f-no-compile-in-use-frame": "warn",
1241
+ "react-doctor/r3f-no-deep-use-three-selector": "warn",
1242
+ "react-doctor/r3f-no-dispose-loader-cache": "warn",
1243
+ "react-doctor/r3f-no-duplicate-primitive-object": "warn",
1244
+ "react-doctor/r3f-no-extend-in-render": "warn",
1245
+ "react-doctor/r3f-no-extend-three-namespace": "warn",
1246
+ "react-doctor/r3f-no-fresh-portal-container": "warn",
1247
+ "react-doctor/r3f-no-fresh-use-three-selector": "warn",
1248
+ "react-doctor/r3f-no-ignored-basic-material-properties": "warn",
1249
+ "react-doctor/r3f-no-ignored-linewidth": "warn",
1250
+ "react-doctor/r3f-no-imperative-attach-of-managed-ref": "warn",
1251
+ "react-doctor/r3f-no-inline-primitive-object": "warn",
1252
+ "react-doctor/r3f-no-inline-resource-prop": "warn",
1253
+ "react-doctor/r3f-no-internal-imports": "warn",
1254
+ "react-doctor/r3f-no-manual-canvas-resize": "warn",
1255
+ "react-doctor/r3f-no-mutate-loader-cache": "warn",
1256
+ "react-doctor/r3f-no-mutate-uniform-prop-source-in-use-frame": "warn",
1257
+ "react-doctor/r3f-no-mutating-pointer-event-data": "warn",
1258
+ "react-doctor/r3f-no-new-in-use-frame": "warn",
1259
+ "react-doctor/r3f-no-normalized-float-buffer-attribute": "warn",
1260
+ "react-doctor/r3f-no-null-loader-input": "warn",
1261
+ "react-doctor/r3f-no-object-pointer-capture": "warn",
1262
+ "react-doctor/r3f-no-recursive-raf-with-use-frame": "warn",
1263
+ "react-doctor/r3f-no-shader-configuration-mutation-in-use-frame": "warn",
1264
+ "react-doctor/r3f-no-shadows-on-unsupported-light": "warn",
1265
+ "react-doctor/r3f-no-state-in-pointer-move": "warn",
1266
+ "react-doctor/r3f-no-state-in-use-frame": "warn",
1267
+ "react-doctor/r3f-no-sync-readback-in-use-frame": "warn",
1268
+ "react-doctor/r3f-no-unstable-args": "warn",
1269
+ "react-doctor/r3f-no-use-frame-dependency-array": "warn",
1270
+ "react-doctor/r3f-prefer-gpu-instanced-animation": "warn",
1271
+ "react-doctor/r3f-prefer-gpu-position-animation": "warn",
1272
+ "react-doctor/r3f-prefer-instanced-mesh": "warn",
1273
+ "react-doctor/r3f-prefer-use-loader": "warn",
1274
+ "react-doctor/r3f-require-animation-mixer-update": "warn",
1275
+ "react-doctor/r3f-require-data-texture-update": "warn",
1276
+ "react-doctor/r3f-require-dynamic-buffer-usage": "warn",
1277
+ "react-doctor/r3f-require-environment-for-metal": "warn",
1278
+ "react-doctor/r3f-require-frame-delta": "warn",
1279
+ "react-doctor/r3f-require-global-effect-cleanup": "warn",
1280
+ "react-doctor/r3f-require-instanced-buffer-update": "warn",
1281
+ "react-doctor/r3f-require-lighting-for-pbr": "warn",
1282
+ "react-doctor/r3f-require-lit-material-normals": "warn",
1283
+ "react-doctor/r3f-require-owned-texture-cleanup": "warn",
1284
+ "react-doctor/r3f-require-position-buffer-update": "warn",
1285
+ "react-doctor/r3f-require-projection-matrix-update": "warn",
1286
+ "react-doctor/r3f-require-render-target-reset": "warn",
1287
+ "react-doctor/r3f-require-render-with-positive-priority": "warn",
1288
+ "react-doctor/r3f-require-root-unmount": "warn",
1289
+ "react-doctor/r3f-require-shadows-enabled": "warn",
1290
+ "react-doctor/r3f-require-transparent-for-opacity": "warn",
1291
+ "react-doctor/r3f-require-uv-for-texture-map": "warn",
1292
+ "react-doctor/r3f-texture-repeat-requires-wrapping": "warn",
1293
+ "react-doctor/r3f-valid-buffer-attribute-array-length": "warn",
1294
+ "react-doctor/r3f-valid-buffer-attribute-item-size": "warn",
1295
+ "react-doctor/r3f-valid-fog-parameters": "warn",
1296
+ "react-doctor/r3f-valid-material-opacity": "warn",
1297
+ "react-doctor/r3f-valid-orthographic-camera": "warn",
1298
+ "react-doctor/r3f-valid-pbr-material-properties": "warn",
1299
+ "react-doctor/r3f-valid-perspective-camera": "warn",
1300
+ "react-doctor/r3f-valid-physical-material-properties": "warn",
1301
+ "react-doctor/r3f-valid-raycaster-range": "warn",
1302
+ "react-doctor/r3f-valid-shadow-map-size": "warn",
1303
+ "react-doctor/r3f-valid-spot-light-properties": "warn",
1304
+ "react-doctor/r3f-valid-texture-color-space": "warn",
1305
+ "react-doctor/r3f-webgpu-canvas-prop-compatibility": "warn",
1306
+ "react-doctor/r3f-webgpu-no-gl-state": "warn",
1307
+ "react-doctor/r3f-webgpu-no-high-precision-instancing": "warn",
1308
+ "react-doctor/r3f-webgpu-no-js-uniform-branch": "warn",
1309
+ "react-doctor/r3f-webgpu-no-legacy-effect-composer": "warn",
1310
+ "react-doctor/r3f-webgpu-no-legacy-material-api": "warn",
1311
+ "react-doctor/r3f-webgpu-no-unregistered-pipeline-pass": "warn",
1312
+ "react-doctor/r3f-webgpu-require-async-init": "warn",
1313
+ "react-doctor/radio-input-missing-name": "warn",
1314
+ "react-doctor/radix-dialog-content-requires-title": "warn",
1315
+ "react-doctor/radix-tabs-trigger-requires-list": "warn",
1316
+ "react-doctor/raw-sql-injection-risk": "warn",
1317
+ "react-doctor/react-aria-dialog-requires-heading": "warn",
1318
+ "react-doctor/react-compiler-no-manual-memoization": "warn",
1319
+ "react-doctor/react-markdown-unsanitized-raw-html": "warn",
1320
+ "react-doctor/react-router-csp-nonce-consistency": "warn",
1321
+ "react-doctor/react-router-descendant-routes-require-splat": "warn",
1322
+ "react-doctor/react-router-guard-aborted-handle-error": "warn",
1323
+ "react-doctor/react-router-internal-route-anchor": "warn",
1324
+ "react-doctor/react-router-loader-fetch-forwards-signal": "warn",
1325
+ "react-doctor/react-router-loader-parallel-fetch": "warn",
1326
+ "react-doctor/react-router-nested-route-requires-outlet": "warn",
1327
+ "react-doctor/react-router-no-catch-middleware-next": "warn",
1328
+ "react-doctor/react-router-no-client-module-in-server-render": "warn",
1329
+ "react-doctor/react-router-no-duplicate-route-id": "warn",
1330
+ "react-doctor/react-router-no-empty-leaf-route": "warn",
1331
+ "react-doctor/react-router-no-invalid-absolute-child-path": "warn",
1332
+ "react-doctor/react-router-no-invalid-lazy-route-properties": "warn",
1333
+ "react-doctor/react-router-no-invalid-splat-path": "warn",
1334
+ "react-doctor/react-router-no-loader-request-body": "warn",
1335
+ "react-doctor/react-router-no-middleware-response-body-consumption": "warn",
1336
+ "react-doctor/react-router-no-multiple-blockers": "warn",
1337
+ "react-doctor/react-router-no-multiple-middleware-next": "warn",
1338
+ "react-doctor/react-router-no-multiple-set-search-params-in-tick": "warn",
1339
+ "react-doctor/react-router-no-navigate-in-render": "warn",
1340
+ "react-doctor/react-router-no-nested-router": "warn",
1341
+ "react-doctor/react-router-no-redirect-in-try-catch": "warn",
1342
+ "react-doctor/react-router-no-route-module-environment-suffix": "warn",
1343
+ "react-doctor/react-router-no-router-in-render": "warn",
1344
+ "react-doctor/react-router-no-session-mutation-in-loader": "warn",
1345
+ "react-doctor/react-router-no-static-cookie-expires": "warn",
1346
+ "react-doctor/react-router-no-unsynchronized-search-params-mutation": "warn",
1347
+ "react-doctor/react-router-no-use-loader-data-in-error-ui": "warn",
1348
+ "react-doctor/react-router-prefer-route-lazy": "warn",
1349
+ "react-doctor/react-router-require-root-error-boundary": "warn",
1350
+ "react-doctor/react-router-resource-link-requires-reload": "warn",
1351
+ "react-doctor/react-router-return-navigation-promise-in-transition": "warn",
1352
+ "react-doctor/react-router-server-middleware-return-response": "warn",
1353
+ "react-doctor/react-router-session-mutation-requires-commit": "warn",
1354
+ "react-doctor/react-router-v8-no-meta-data-field": "warn",
1355
+ "react-doctor/react-router-v8-no-react-router-dom-import": "warn",
1356
+ "react-doctor/react-router-v8-no-removed-future-flags": "warn",
1357
+ "react-doctor/react-router-valid-route-object": "warn",
1358
+ "react-doctor/redux-useselector-inline-derivation": "warn",
1359
+ "react-doctor/redux-useselector-returns-new-collection": "warn",
1360
+ "react-doctor/remotion-calculate-metadata-fetch-signal": "warn",
1361
+ "react-doctor/remotion-deterministic-randomness": "warn",
1362
+ "react-doctor/remotion-no-css-animation": "warn",
1363
+ "react-doctor/remotion-no-css-transition": "warn",
1364
+ "react-doctor/remotion-no-css-url-assets": "warn",
1365
+ "react-doctor/remotion-no-module-scope-delay-render": "warn",
1366
+ "react-doctor/remotion-no-native-media-elements": "warn",
1367
+ "react-doctor/remotion-no-next-image": "warn",
1368
+ "react-doctor/remotion-stable-delay-render-handle": "warn",
1369
+ "react-doctor/rendering-animate-svg-wrapper": "warn",
1370
+ "react-doctor/rendering-conditional-render": "warn",
1371
+ "react-doctor/rendering-hoist-jsx": "warn",
1372
+ "react-doctor/rendering-hydration-mismatch-time": "warn",
1373
+ "react-doctor/rendering-hydration-no-flicker": "warn",
1374
+ "react-doctor/rendering-script-defer-async": "warn",
1375
+ "react-doctor/rendering-svg-precision": "warn",
1376
+ "react-doctor/rendering-usetransition-loading": "warn",
1377
+ "react-doctor/repository-secret-file": "warn",
1378
+ "react-doctor/request-body-mass-assignment": "warn",
1379
+ "react-doctor/require-autoplay-video-poster": "warn",
1380
+ "react-doctor/require-scale-reveal-transform-origin": "warn",
1381
+ "react-doctor/rerender-defer-reads-hook": "warn",
1382
+ "react-doctor/rerender-dependencies": "warn",
1383
+ "react-doctor/rerender-derived-state-from-hook": "warn",
1384
+ "react-doctor/rerender-functional-setstate": "warn",
1385
+ "react-doctor/rerender-lazy-ref-init": "warn",
1386
+ "react-doctor/rerender-lazy-state-init": "warn",
1387
+ "react-doctor/rerender-memo-before-early-return": "warn",
1388
+ "react-doctor/rerender-memo-with-default-value": "warn",
1389
+ "react-doctor/rerender-state-only-in-handlers": "warn",
1390
+ "react-doctor/rerender-transitions-scroll": "warn",
1391
+ "react-doctor/rn-animate-layout-property": "warn",
1392
+ "react-doctor/rn-animation-reaction-as-derived": "warn",
1393
+ "react-doctor/rn-bottom-sheet-no-ignored-scroll-prop": "warn",
1394
+ "react-doctor/rn-bottom-sheet-no-state-in-on-animate": "warn",
1395
+ "react-doctor/rn-bottom-sheet-prefer-native": "warn",
1396
+ "react-doctor/rn-bottom-sheet-use-integrated-scrollable": "warn",
1397
+ "react-doctor/rn-detox-missing-await": "warn",
1398
+ "react-doctor/rn-list-callback-per-row": "warn",
1399
+ "react-doctor/rn-list-data-mapped": "warn",
1400
+ "react-doctor/rn-list-missing-estimated-item-size": "warn",
1401
+ "react-doctor/rn-list-recyclable-without-types": "warn",
1402
+ "react-doctor/rn-no-deep-imports": "warn",
1403
+ "react-doctor/rn-no-deprecated-modules": "warn",
1404
+ "react-doctor/rn-no-dimensions-get": "warn",
1405
+ "react-doctor/rn-no-falsy-and-render": "warn",
1406
+ "react-doctor/rn-no-image-children": "warn",
1407
+ "react-doctor/rn-no-inline-flatlist-renderitem": "warn",
1408
+ "react-doctor/rn-no-inline-object-in-list-item": "warn",
1409
+ "react-doctor/rn-no-legacy-expo-packages": "warn",
1410
+ "react-doctor/rn-no-legacy-shadow-styles": "warn",
1411
+ "react-doctor/rn-no-non-native-navigator": "warn",
1412
+ "react-doctor/rn-no-panresponder": "warn",
1413
+ "react-doctor/rn-no-raw-text": "warn",
1414
+ "react-doctor/rn-no-renderitem-key": "warn",
1415
+ "react-doctor/rn-no-scroll-state": "warn",
1416
+ "react-doctor/rn-no-scrollview-mapped-list": "warn",
1417
+ "react-doctor/rn-no-set-native-props": "warn",
1418
+ "react-doctor/rn-no-single-element-style-array": "warn",
1419
+ "react-doctor/rn-platform-shaking-use-direct-import": "warn",
1420
+ "react-doctor/rn-prefer-content-inset-adjustment": "warn",
1421
+ "react-doctor/rn-prefer-expo-image": "warn",
1422
+ "react-doctor/rn-prefer-pressable": "warn",
1423
+ "react-doctor/rn-prefer-pressable-over-gesture-detector": "warn",
1424
+ "react-doctor/rn-prefer-reanimated": "warn",
1425
+ "react-doctor/rn-pressable-shared-value-mutation": "warn",
1426
+ "react-doctor/rn-reanimated-4-no-legacy-spring-thresholds": "warn",
1427
+ "react-doctor/rn-reanimated-4-no-removed-api": "warn",
1428
+ "react-doctor/rn-reanimated-4-use-worklets-scheduler": "warn",
1429
+ "react-doctor/rn-scrollview-dynamic-padding": "warn",
1430
+ "react-doctor/rn-scrollview-flex-in-content-container": "warn",
1431
+ "react-doctor/rn-style-prefer-boxshadow": "warn",
1432
+ "react-doctor/role-button-requires-complete-keyboard-activation": "warn",
1433
+ "react-doctor/secret-in-fallback": "warn",
1434
+ "react-doctor/server-after-nonblocking": "warn",
1435
+ "react-doctor/server-auth-actions": "warn",
1436
+ "react-doctor/server-cache-with-object-literal": "warn",
1437
+ "react-doctor/server-dedup-props": "warn",
1438
+ "react-doctor/server-fetch-without-revalidate": "warn",
1439
+ "react-doctor/server-hoist-static-io": "warn",
1440
+ "react-doctor/server-no-mutable-module-state": "warn",
1441
+ "react-doctor/server-sequential-independent-await": "warn",
1442
+ "react-doctor/shadcn-command-item-state-variant-requires-value": "warn",
1443
+ "react-doctor/shadcn-dialog-content-requires-title": "warn",
1444
+ "react-doctor/shadcn-form-item-requires-label": "warn",
1445
+ "react-doctor/shadcn-icon-button-requires-label": "warn",
1446
+ "react-doctor/shadcn-input-group-no-raw-controls": "warn",
1447
+ "react-doctor/shadcn-tabs-trigger-requires-list": "warn",
1448
+ "react-doctor/styled-components-duplicate-css-property-in-block": "warn",
1449
+ "react-doctor/styled-components-non-transient-custom-prop-on-intrinsic-element": "warn",
1450
+ "react-doctor/supabase-client-owned-authz-field": "warn",
1451
+ "react-doctor/supabase-rls-policy-risk": "warn",
1452
+ "react-doctor/supabase-table-missing-rls": "warn",
1453
+ "react-doctor/svg-filter-clickjacking-risk": "warn",
1454
+ "react-doctor/tanstack-form-on-submit-requires-prevent-default": "warn",
1455
+ "react-doctor/tanstack-start-get-mutation": "warn",
1456
+ "react-doctor/tanstack-start-loader-parallel-fetch": "warn",
1457
+ "react-doctor/tanstack-start-missing-head-content": "warn",
1458
+ "react-doctor/tanstack-start-missing-scripts": "warn",
1459
+ "react-doctor/tanstack-start-no-anchor-element": "warn",
1460
+ "react-doctor/tanstack-start-no-direct-fetch-in-loader": "warn",
1461
+ "react-doctor/tanstack-start-no-dynamic-server-fn-import": "warn",
1462
+ "react-doctor/tanstack-start-no-navigate-in-render": "warn",
1463
+ "react-doctor/tanstack-start-no-secrets-in-loader": "warn",
1464
+ "react-doctor/tanstack-start-no-use-server-in-handler": "warn",
1465
+ "react-doctor/tanstack-start-no-useeffect-fetch": "warn",
1466
+ "react-doctor/tanstack-start-redirect-in-try-catch": "warn",
1467
+ "react-doctor/tanstack-start-route-property-order": "warn",
1468
+ "react-doctor/tanstack-start-server-fn-method-order": "warn",
1469
+ "react-doctor/tanstack-start-server-fn-validate-input": "warn",
1470
+ "react-doctor/tanstack-table-no-unstable-data-or-columns": "warn",
1471
+ "react-doctor/tanstack-virtual-measure-element-requires-data-index": "warn",
1472
+ "react-doctor/tenant-static-proxy-risk": "warn",
1473
+ "react-doctor/three-cap-device-pixel-ratio": "warn",
1474
+ "react-doctor/three-effect-composer-output-pass-last": "warn",
1475
+ "react-doctor/three-effect-composer-require-size-on-resize": "warn",
1476
+ "react-doctor/three-gpu-computation-handle-init-error": "warn",
1477
+ "react-doctor/three-gpu-computation-require-init-before-compute": "warn",
1478
+ "react-doctor/three-gpu-computation-valid-variable-name": "warn",
1479
+ "react-doctor/three-limit-shadowed-point-lights": "warn",
1480
+ "react-doctor/three-no-allocation-in-pointer-move": "warn",
1481
+ "react-doctor/three-no-async-animation-loop": "warn",
1482
+ "react-doctor/three-no-clone-in-animation-loop": "warn",
1483
+ "react-doctor/three-no-compile-in-animation-loop": "warn",
1484
+ "react-doctor/three-no-ignored-basic-material-properties": "warn",
1485
+ "react-doctor/three-no-ignored-linewidth": "warn",
1486
+ "react-doctor/three-no-material-recompile-in-animation-loop": "warn",
1487
+ "react-doctor/three-no-new-in-animation-loop": "warn",
1488
+ "react-doctor/three-no-normalized-float-buffer-attribute": "warn",
1489
+ "react-doctor/three-no-object-construction-in-render": "warn",
1490
+ "react-doctor/three-no-redundant-uniforms-need-update": "warn",
1491
+ "react-doctor/three-no-shader-configuration-mutation-in-animation-loop": "warn",
1492
+ "react-doctor/three-no-shadows-on-unsupported-light": "warn",
1493
+ "react-doctor/three-no-state-in-animation-loop": "warn",
1494
+ "react-doctor/three-no-state-in-pointer-move": "warn",
1495
+ "react-doctor/three-no-sync-readback-in-animation-loop": "warn",
1496
+ "react-doctor/three-no-unconditional-renderer-resize-in-animation-loop": "warn",
1497
+ "react-doctor/three-on-before-compile-require-program-cache-key": "warn",
1498
+ "react-doctor/three-prefer-gpu-instanced-animation": "warn",
1499
+ "react-doctor/three-prefer-gpu-position-animation": "warn",
1500
+ "react-doctor/three-prefer-instanced-mesh": "warn",
1501
+ "react-doctor/three-prefer-set-animation-loop": "warn",
1502
+ "react-doctor/three-raw-shader-require-fragment-float-precision": "warn",
1503
+ "react-doctor/three-raw-shader-require-glsl3-version": "warn",
1504
+ "react-doctor/three-require-animation-mixer-cleanup": "warn",
1505
+ "react-doctor/three-require-animation-mixer-update": "warn",
1506
+ "react-doctor/three-require-camera-aspect-on-resize": "warn",
1507
+ "react-doctor/three-require-controls-cleanup": "warn",
1508
+ "react-doctor/three-require-controls-update": "warn",
1509
+ "react-doctor/three-require-data-texture-update": "warn",
1510
+ "react-doctor/three-require-dynamic-buffer-usage": "warn",
1511
+ "react-doctor/three-require-environment-for-metal": "warn",
1512
+ "react-doctor/three-require-frame-delta": "warn",
1513
+ "react-doctor/three-require-gpu-computation-cleanup": "warn",
1514
+ "react-doctor/three-require-instanced-buffer-update": "warn",
1515
+ "react-doctor/three-require-ktx2-detect-support": "warn",
1516
+ "react-doctor/three-require-lighting-for-pbr": "warn",
1517
+ "react-doctor/three-require-lit-material-normals": "warn",
1518
+ "react-doctor/three-require-loader-error-handling": "warn",
1519
+ "react-doctor/three-require-owned-geometry-cleanup": "warn",
1520
+ "react-doctor/three-require-owned-material-cleanup": "warn",
1521
+ "react-doctor/three-require-owned-texture-cleanup": "warn",
1522
+ "react-doctor/three-require-position-buffer-update": "warn",
1523
+ "react-doctor/three-require-postprocessing-cleanup": "warn",
1524
+ "react-doctor/three-require-projection-matrix-update": "warn",
1525
+ "react-doctor/three-require-render-in-animation-loop": "warn",
1526
+ "react-doctor/three-require-render-target-cleanup": "warn",
1527
+ "react-doctor/three-require-render-target-reset": "warn",
1528
+ "react-doctor/three-require-renderer-cleanup": "warn",
1529
+ "react-doctor/three-require-renderer-dom-attachment": "warn",
1530
+ "react-doctor/three-require-renderer-size": "warn",
1531
+ "react-doctor/three-require-shadows-enabled": "warn",
1532
+ "react-doctor/three-require-texture-update-after-wrapping-change": "warn",
1533
+ "react-doctor/three-require-transparent-for-opacity": "warn",
1534
+ "react-doctor/three-require-uv-for-texture-map": "warn",
1535
+ "react-doctor/three-require-worker-loader-cleanup": "warn",
1536
+ "react-doctor/three-shader-no-constant-out-of-bounds-index": "warn",
1537
+ "react-doctor/three-shader-no-derivatives-in-nonuniform-flow": "warn",
1538
+ "react-doctor/three-shader-no-glsl1-syntax-with-glsl3": "warn",
1539
+ "react-doctor/three-shader-no-invalid-clamp-bounds": "warn",
1540
+ "react-doctor/three-shader-no-invalid-constant-bit-operations": "warn",
1541
+ "react-doctor/three-shader-no-invalid-constant-math": "warn",
1542
+ "react-doctor/three-shader-no-invalid-smoothstep-edges": "warn",
1543
+ "react-doctor/three-shader-no-inverse-of-uniform": "warn",
1544
+ "react-doctor/three-shader-no-redeclared-builtins": "warn",
1545
+ "react-doctor/three-shader-no-redundant-frag-depth": "warn",
1546
+ "react-doctor/three-shader-no-reserved-identifiers": "warn",
1547
+ "react-doctor/three-shader-no-version-directive": "warn",
1548
+ "react-doctor/three-shader-prefer-small-integer-pow": "warn",
1549
+ "react-doctor/three-shader-prefer-squared-distance-comparison": "warn",
1550
+ "react-doctor/three-shader-require-compatible-uniform-values": "warn",
1551
+ "react-doctor/three-shader-require-fragment-output-on-all-paths": "warn",
1552
+ "react-doctor/three-shader-require-matching-uniforms": "warn",
1553
+ "react-doctor/three-shader-require-matching-varyings": "warn",
1554
+ "react-doctor/three-shader-require-position-on-all-paths": "warn",
1555
+ "react-doctor/three-shader-require-uniform-bindings": "warn",
1556
+ "react-doctor/three-shader-valid-global-initializers": "warn",
1557
+ "react-doctor/three-shader-valid-uniform-definitions": "warn",
1558
+ "react-doctor/three-texture-repeat-requires-wrapping": "warn",
1559
+ "react-doctor/three-tsl-no-js-uniform-branch": "warn",
1560
+ "react-doctor/three-valid-buffer-attribute-array-length": "warn",
1561
+ "react-doctor/three-valid-buffer-attribute-item-size": "warn",
1562
+ "react-doctor/three-valid-data-texture-data-length": "warn",
1563
+ "react-doctor/three-valid-data-texture-dimensions": "warn",
1564
+ "react-doctor/three-valid-fog-parameters": "warn",
1565
+ "react-doctor/three-valid-gpu-computation-dimensions": "warn",
1566
+ "react-doctor/three-valid-material-opacity": "warn",
1567
+ "react-doctor/three-valid-orthographic-camera": "warn",
1568
+ "react-doctor/three-valid-pbr-material-properties": "warn",
1569
+ "react-doctor/three-valid-perspective-camera": "warn",
1570
+ "react-doctor/three-valid-physical-material-properties": "warn",
1571
+ "react-doctor/three-valid-raycaster-range": "warn",
1572
+ "react-doctor/three-valid-shadow-map-size": "warn",
1573
+ "react-doctor/three-valid-spot-light-properties": "warn",
1574
+ "react-doctor/three-valid-texture-color-space": "warn",
1575
+ "react-doctor/three-webgpu-no-high-precision-instancing": "warn",
1576
+ "react-doctor/three-webgpu-no-legacy-effect-composer": "warn",
1577
+ "react-doctor/three-webgpu-no-legacy-material-api": "warn",
1578
+ "react-doctor/three-webgpu-require-init-before-sync-operation": "warn",
1579
+ "react-doctor/unsafe-json-in-html": "warn",
1580
+ "react-doctor/untrusted-redirect-following": "warn",
1581
+ "react-doctor/unused-dependency": "warn",
1582
+ "react-doctor/unused-dev-dependency": "warn",
1583
+ "react-doctor/unused-export": "warn",
1584
+ "react-doctor/unused-file": "warn",
1585
+ "react-doctor/unused-type": "warn",
1586
+ "react-doctor/url-prefilled-privileged-action": "warn",
1587
+ "react-doctor/use-lazy-motion": "warn",
1588
+ "react-doctor/valtio-no-proxy-read-in-render": "warn",
1589
+ "react-doctor/valtio-no-snapshot-in-callback": "warn",
1590
+ "react-doctor/waapi-animation-in-render": "warn",
1591
+ "react-doctor/web-animation-offsets-valid": "warn",
1592
+ "react-doctor/webgl-no-sync-readback-in-animation-loop": "warn",
1593
+ "react-doctor/webhook-signature-risk": "warn",
1594
+ "react-doctor/window-open-without-noopener": "warn",
1595
+ "react-doctor/zod-v4-no-deprecated-error-apis": "warn",
1596
+ "react-doctor/zod-v4-no-deprecated-error-customization": "warn",
1597
+ "react-doctor/zod-v4-no-deprecated-schema-apis": "warn",
1598
+ "react-doctor/zod-v4-prefer-top-level-string-formats": "warn",
1599
+ "react-doctor/zustand-no-fresh-selector-result": "warn",
1600
+ "react-doctor/zustand-no-get-during-initialization": "warn",
1601
+ "react-doctor/zustand-no-mutating-state": "warn",
1602
+ "react-doctor/zustand-no-whole-store-destructure": "warn",
1603
+ "regexp/confusing-quantifier": ["warn"],
1604
+ "regexp/control-character-escape": ["error"],
1605
+ "regexp/match-any": ["error"],
1606
+ "regexp/negation": ["error"],
1607
+ "regexp/no-contradiction-with-assertion": ["error"],
1608
+ "regexp/no-dupe-characters-character-class": ["error"],
1609
+ "regexp/no-dupe-disjunctions": ["error"],
1610
+ "regexp/no-empty-alternative": ["warn"],
1611
+ "regexp/no-empty-capturing-group": ["error"],
1612
+ "regexp/no-empty-character-class": ["error"],
1613
+ "regexp/no-empty-group": ["error"],
1614
+ "regexp/no-empty-lookarounds-assertion": ["error"],
1615
+ "regexp/no-empty-string-literal": ["error"],
1616
+ "regexp/no-escape-backspace": ["error"],
1617
+ "regexp/no-extra-lookaround-assertions": ["error"],
1618
+ "regexp/no-invalid-regexp": ["error"],
1619
+ "regexp/no-invisible-character": ["error"],
1620
+ "regexp/no-lazy-ends": ["warn"],
1621
+ "regexp/no-misleading-capturing-group": ["error"],
1622
+ "regexp/no-misleading-unicode-character": ["error"],
1623
+ "regexp/no-non-standard-flag": ["error"],
1624
+ "regexp/no-obscure-range": ["error"],
1625
+ "regexp/no-optional-assertion": ["error"],
1626
+ "regexp/no-potentially-useless-backreference": ["warn"],
1627
+ "regexp/no-super-linear-backtracking": ["error"],
1628
+ "regexp/no-trivially-nested-assertion": ["error"],
1629
+ "regexp/no-trivially-nested-quantifier": ["error"],
1630
+ "regexp/no-unused-capturing-group": ["error"],
1631
+ "regexp/no-useless-assertions": ["error"],
1632
+ "regexp/no-useless-backreference": ["error"],
1633
+ "regexp/no-useless-character-class": ["error"],
1634
+ "regexp/no-useless-escape": ["error"],
1635
+ "regexp/no-useless-lazy": ["error"],
1636
+ "regexp/no-useless-non-capturing-group": ["error"],
1637
+ "regexp/no-useless-quantifier": ["error"],
1638
+ "regexp/no-useless-range": ["error"],
1639
+ "regexp/no-useless-set-operand": ["error"],
1640
+ "regexp/no-useless-string-literal": ["error"],
1641
+ "regexp/no-useless-two-nums-quantifier": ["error"],
1642
+ "regexp/no-zero-quantifier": ["error"],
1643
+ "regexp/optimal-lookaround-quantifier": ["warn"],
1644
+ "regexp/optimal-quantifier-concatenation": ["error"],
1645
+ "regexp/prefer-character-class": ["error"],
1646
+ "regexp/prefer-d": ["error"],
1647
+ "regexp/prefer-plus-quantifier": ["error"],
1648
+ "regexp/prefer-predefined-assertion": ["error"],
1649
+ "regexp/prefer-question-quantifier": ["error"],
1650
+ "regexp/prefer-range": ["error"],
1651
+ "regexp/prefer-set-operation": ["error"],
1652
+ "regexp/prefer-star-quantifier": ["error"],
1653
+ "regexp/prefer-unicode-codepoint-escapes": ["error"],
1654
+ "regexp/prefer-w": ["error"],
1655
+ "regexp/simplify-set-operations": ["error"],
1656
+ "regexp/sort-flags": ["error"],
1657
+ "regexp/strict": ["error"],
1658
+ "regexp/use-ignore-case": ["error"],
1659
+ "require-yield": ["error"],
1660
+ "sonarjs/anchor-precedence": ["error"],
1661
+ "sonarjs/argument-type": ["error"],
1662
+ "sonarjs/arguments-order": ["error"],
1663
+ "sonarjs/array-callback-without-return": ["error"],
1664
+ "sonarjs/assertions-in-test-cases": ["error"],
1665
+ "sonarjs/assertions-in-tests": ["error"],
1666
+ "sonarjs/async-test-assertions": ["error"],
1667
+ "sonarjs/avoid-mutating-nested-properties-of-shallow-clones": ["error"],
1668
+ "sonarjs/aws-apigateway-public-api": ["error"],
1669
+ "sonarjs/aws-ec2-rds-dms-public": ["error"],
1670
+ "sonarjs/aws-ec2-unencrypted-ebs-volume": ["error"],
1671
+ "sonarjs/aws-efs-unencrypted": ["error"],
1672
+ "sonarjs/aws-iam-all-privileges": ["error"],
1673
+ "sonarjs/aws-iam-privilege-escalation": ["error"],
1674
+ "sonarjs/aws-iam-public-access": ["error"],
1675
+ "sonarjs/aws-opensearchservice-domain": ["error"],
1676
+ "sonarjs/aws-rds-unencrypted-databases": ["error"],
1677
+ "sonarjs/aws-restricted-ip-admin-access": ["error"],
1678
+ "sonarjs/aws-s3-bucket-granted-access": ["error"],
1679
+ "sonarjs/aws-s3-bucket-insecure-http": ["error"],
1680
+ "sonarjs/aws-s3-bucket-public-access": ["error"],
1681
+ "sonarjs/aws-s3-bucket-versioning": ["error"],
1682
+ "sonarjs/aws-sagemaker-unencrypted-notebook": ["error"],
1683
+ "sonarjs/aws-sns-unencrypted-topics": ["error"],
1684
+ "sonarjs/aws-sqs-unencrypted-queue": ["error"],
1685
+ "sonarjs/bitwise-operators": ["error"],
1686
+ "sonarjs/block-scoped-var": ["error"],
1687
+ "sonarjs/call-argument-line": ["error"],
1688
+ "sonarjs/chai-determinate-assertion": ["error"],
1689
+ "sonarjs/class-name": ["error"],
1690
+ "sonarjs/code-eval": ["error"],
1691
+ "sonarjs/cognitive-complexity": ["error", 15],
1692
+ "sonarjs/comma-or-logical-or-case": ["error"],
1693
+ "sonarjs/concise-regex": ["error"],
1694
+ "sonarjs/constructor-for-side-effects": ["error"],
1695
+ "sonarjs/content-length": ["error"],
1696
+ "sonarjs/content-security-policy": ["error"],
1697
+ "sonarjs/cookie-no-httponly": ["error"],
1698
+ "sonarjs/cors": ["error"],
1699
+ "sonarjs/csrf": ["error"],
1700
+ "sonarjs/deprecation": ["error"],
1701
+ "sonarjs/different-types-comparison": ["error"],
1702
+ "sonarjs/disabled-auto-escaping": ["error"],
1703
+ "sonarjs/disabled-resource-integrity": ["error"],
1704
+ "sonarjs/disabled-timeout": ["error"],
1705
+ "sonarjs/dompurify-unsafe-config": ["error"],
1706
+ "sonarjs/duplicates-in-character-class": ["error"],
1707
+ "sonarjs/dynamically-constructed-templates": ["error"],
1708
+ "sonarjs/empty-string-repetition": ["error"],
1709
+ "sonarjs/encryption-secure-mode": ["error"],
1710
+ "sonarjs/existing-groups": ["error"],
1711
+ "sonarjs/explicit-test-skip": ["error"],
1712
+ "sonarjs/file-permissions": ["error"],
1713
+ "sonarjs/file-uploads": ["error"],
1714
+ "sonarjs/fixme-tag": ["error"],
1715
+ "sonarjs/for-loop-increment-sign": ["error"],
1716
+ "sonarjs/function-inside-loop": ["error"],
1717
+ "sonarjs/function-return-type": ["error"],
1718
+ "sonarjs/future-reserved-words": ["error"],
1719
+ "sonarjs/generator-without-yield": ["error"],
1720
+ "sonarjs/hardcoded-secret-signatures": ["error"],
1721
+ "sonarjs/hashing": ["error"],
1722
+ "sonarjs/hooks-before-test-cases": ["error"],
1723
+ "sonarjs/in-operator-type-error": ["error"],
1724
+ "sonarjs/inconsistent-function-call": ["error"],
1725
+ "sonarjs/index-of-compare-to-positive-number": ["error"],
1726
+ "sonarjs/insecure-cookie": ["error"],
1727
+ "sonarjs/insecure-jwt-token": ["error"],
1728
+ "sonarjs/inverted-assertion-arguments": ["error"],
1729
+ "sonarjs/jsx-no-leaked-render": ["error"],
1730
+ "sonarjs/label-position": ["error"],
1731
+ "sonarjs/link-with-target-blank": ["error"],
1732
+ "sonarjs/max-switch-cases": ["error"],
1733
+ "sonarjs/memoize-cache-key": ["error"],
1734
+ "sonarjs/misplaced-loop-counter": ["error"],
1735
+ "sonarjs/new-operator-misuse": ["error"],
1736
+ "sonarjs/no-alphabetical-sort": ["error"],
1737
+ "sonarjs/no-angular-bypass-sanitization": ["error"],
1738
+ "sonarjs/no-array-delete": ["error"],
1739
+ "sonarjs/no-associative-arrays": ["error"],
1740
+ "sonarjs/no-async-constructor": ["error"],
1741
+ "sonarjs/no-case-label-in-switch": ["error"],
1742
+ "sonarjs/no-clear-text-protocols": ["error"],
1743
+ "sonarjs/no-code-after-done": ["error"],
1744
+ "sonarjs/no-collapsible-if": ["error"],
1745
+ "sonarjs/no-collection-size-mischeck": ["error"],
1746
+ "sonarjs/no-control-regex": ["error"],
1747
+ "sonarjs/no-dead-store": ["error"],
1748
+ "sonarjs/no-debounce-throttle-in-render": ["error"],
1749
+ "sonarjs/no-debug-commands-in-ui-tests": ["error"],
1750
+ "sonarjs/no-default-utility-imports": ["error"],
1751
+ "sonarjs/no-delete-var": ["error"],
1752
+ "sonarjs/no-duplicate-in-composite": ["error"],
1753
+ "sonarjs/no-duplicate-parameterized-test-case": ["error"],
1754
+ "sonarjs/no-duplicate-test-title": ["error"],
1755
+ "sonarjs/no-duplicated-branches": ["error"],
1756
+ "sonarjs/no-element-overwrite": ["error"],
1757
+ "sonarjs/no-empty-after-reluctant": ["error"],
1758
+ "sonarjs/no-empty-alternatives": ["error"],
1759
+ "sonarjs/no-empty-character-class": ["error"],
1760
+ "sonarjs/no-empty-collection": ["error"],
1761
+ "sonarjs/no-empty-group": ["error"],
1762
+ "sonarjs/no-empty-parameterized-test-dataset": ["error"],
1763
+ "sonarjs/no-empty-test-file": ["error"],
1764
+ "sonarjs/no-empty-test-title": ["error"],
1765
+ "sonarjs/no-equals-in-for-termination": ["error"],
1766
+ "sonarjs/no-exclusive-tests": ["error"],
1767
+ "sonarjs/no-extra-arguments": ["error"],
1768
+ "sonarjs/no-fallthrough": ["error"],
1769
+ "sonarjs/no-fixed-wait-in-tests": ["error"],
1770
+ "sonarjs/no-floating-point-equality": ["error"],
1771
+ "sonarjs/no-forced-browser-interaction": ["error"],
1772
+ "sonarjs/no-global-this": ["error"],
1773
+ "sonarjs/no-globals-shadowing": ["error"],
1774
+ "sonarjs/no-gratuitous-expressions": ["error"],
1775
+ "sonarjs/no-hardcoded-ip": ["error"],
1776
+ "sonarjs/no-hardcoded-passwords": ["error"],
1777
+ "sonarjs/no-hardcoded-secrets": ["error"],
1778
+ "sonarjs/no-hook-setter-in-body": ["error"],
1779
+ "sonarjs/no-identical-conditions": ["error"],
1780
+ "sonarjs/no-identical-expressions": ["error"],
1781
+ "sonarjs/no-identical-functions": ["error"],
1782
+ "sonarjs/no-ignored-exceptions": ["error"],
1783
+ "sonarjs/no-ignored-return": ["error"],
1784
+ "sonarjs/no-implicit-global": ["error"],
1785
+ "sonarjs/no-in-misuse": ["error"],
1786
+ "sonarjs/no-incompatible-assertion-types": ["error"],
1787
+ "sonarjs/no-incomplete-assertions": ["error"],
1788
+ "sonarjs/no-internal-api-use": ["error"],
1789
+ "sonarjs/no-interpolation-in-inline-snapshots": ["error"],
1790
+ "sonarjs/no-invalid-regexp": ["error"],
1791
+ "sonarjs/no-invariant-returns": ["error"],
1792
+ "sonarjs/no-inverted-boolean-check": ["error"],
1793
+ "sonarjs/no-labels": ["error"],
1794
+ "sonarjs/no-literal-call": ["error"],
1795
+ "sonarjs/no-mime-sniff": ["error"],
1796
+ "sonarjs/no-misleading-array-reverse": ["error"],
1797
+ "sonarjs/no-misleading-character-class": ["error"],
1798
+ "sonarjs/no-mutate-reactive-state-in-updated-hook": ["error"],
1799
+ "sonarjs/no-nested-assignment": ["error"],
1800
+ "sonarjs/no-nested-conditional": ["error"],
1801
+ "sonarjs/no-nested-functions": ["error"],
1802
+ "sonarjs/no-os-command-from-path": ["error"],
1803
+ "sonarjs/no-parameter-reassignment": ["error"],
1804
+ "sonarjs/no-primitive-wrappers": ["error"],
1805
+ "sonarjs/no-redundant-assignments": ["error"],
1806
+ "sonarjs/no-redundant-boolean": ["error"],
1807
+ "sonarjs/no-redundant-jump": ["error"],
1808
+ "sonarjs/no-redundant-optional": ["error"],
1809
+ "sonarjs/no-referrer-policy": ["error"],
1810
+ "sonarjs/no-regex-spaces": ["error"],
1811
+ "sonarjs/no-same-argument-assert": ["error"],
1812
+ "sonarjs/no-same-line-conditional": ["error"],
1813
+ "sonarjs/no-selector-parameter": ["error"],
1814
+ "sonarjs/no-session-cookies-on-static-assets": ["error"],
1815
+ "sonarjs/no-skipped-tests": ["error"],
1816
+ "sonarjs/no-small-switch": ["error"],
1817
+ "sonarjs/no-tab": ["error"],
1818
+ "sonarjs/no-table-as-layout": ["error"],
1819
+ "sonarjs/no-trivial-assertions": ["error"],
1820
+ "sonarjs/no-try-promise": ["error"],
1821
+ "sonarjs/no-undefined-argument": ["error"],
1822
+ "sonarjs/no-unenclosed-multiline-block": ["error"],
1823
+ "sonarjs/no-uniq-key": ["error"],
1824
+ "sonarjs/no-unthrown-error": ["error"],
1825
+ "sonarjs/no-unused-collection": ["error"],
1826
+ "sonarjs/no-unused-vars": ["error"],
1827
+ "sonarjs/no-use-of-empty-return-value": ["error"],
1828
+ "sonarjs/no-useless-catch": ["error"],
1829
+ "sonarjs/no-useless-increment": ["error"],
1830
+ "sonarjs/no-useless-intersection": ["error"],
1831
+ "sonarjs/no-useless-react-setstate": ["error"],
1832
+ "sonarjs/no-vue-class-component": ["error"],
1833
+ "sonarjs/no-vue-mixins": ["error"],
1834
+ "sonarjs/no-weak-cipher": ["error"],
1835
+ "sonarjs/no-weak-keys": ["error"],
1836
+ "sonarjs/non-existent-operator": ["error"],
1837
+ "sonarjs/null-dereference": ["error"],
1838
+ "sonarjs/object-alt-content": ["error"],
1839
+ "sonarjs/parameterized-tests": ["error"],
1840
+ "sonarjs/post-message": ["error"],
1841
+ "sonarjs/prefer-cypress-should": ["error"],
1842
+ "sonarjs/prefer-default-last": ["error"],
1843
+ "sonarjs/prefer-native-axios-alternative": ["error"],
1844
+ "sonarjs/prefer-native-jquery-alternative": ["error"],
1845
+ "sonarjs/prefer-native-lodash-alternative": ["error"],
1846
+ "sonarjs/prefer-promise-shorthand": ["error"],
1847
+ "sonarjs/prefer-read-only-props": ["error"],
1848
+ "sonarjs/prefer-regexp-exec": ["error"],
1849
+ "sonarjs/prefer-single-boolean-return": ["error"],
1850
+ "sonarjs/prefer-specific-assertions": ["error"],
1851
+ "sonarjs/prefer-type-guard": ["error"],
1852
+ "sonarjs/prefer-while": ["error"],
1853
+ "sonarjs/production-debug": ["error"],
1854
+ "sonarjs/pseudo-random": ["error"],
1855
+ "sonarjs/publicly-writable-directories": ["error"],
1856
+ "sonarjs/reduce-initial-value": ["error"],
1857
+ "sonarjs/redundant-type-aliases": ["error"],
1858
+ "sonarjs/regex-complexity": ["error"],
1859
+ "sonarjs/review-blockchain-mnemonic": ["error"],
1860
+ "sonarjs/session-regeneration": ["error"],
1861
+ "sonarjs/single-char-in-character-classes": ["error"],
1862
+ "sonarjs/single-character-alternation": ["error"],
1863
+ "sonarjs/slow-regex": ["error"],
1864
+ "sonarjs/sql-queries": ["error"],
1865
+ "sonarjs/stable-tests": ["error"],
1866
+ "sonarjs/stateful-regex": ["error"],
1867
+ "sonarjs/strict-transport-security": ["error"],
1868
+ "sonarjs/super-linear-regex": ["error"],
1869
+ "sonarjs/synchronous-exception-assertions": ["error"],
1870
+ "sonarjs/synchronous-suite-callback": ["error"],
1871
+ "sonarjs/table-header": ["error"],
1872
+ "sonarjs/table-header-reference": ["error"],
1873
+ "sonarjs/test-check-exception": ["error"],
1874
+ "sonarjs/testing-library-prefer-query-by-disappearance": ["error"],
1875
+ "sonarjs/testing-library-query-assertion": ["error"],
1876
+ "sonarjs/unused-import": ["error"],
1877
+ "sonarjs/unused-named-groups": ["error"],
1878
+ "sonarjs/unverified-certificate": ["error"],
1879
+ "sonarjs/unverified-hostname": ["error"],
1880
+ "sonarjs/updated-const-var": ["error"],
1881
+ "sonarjs/updated-loop-counter": ["error"],
1882
+ "sonarjs/use-type-alias": ["error"],
1883
+ "sonarjs/vitest-mock-at-module-scope": ["error"],
1884
+ "sonarjs/void-use": ["error"],
1885
+ "sonarjs/weak-ssl": ["error"],
1886
+ "sonarjs/x-powered-by": ["error"],
1887
+ "sonarjs/xml-parser-xxe": ["error"],
1888
+ "symbol-description": ["error"],
1889
+ "typescript/adjacent-overload-signatures": ["error"],
1890
+ "typescript/array-type": [
1891
+ "error",
1892
+ {
1893
+ "default": "array",
1894
+ "readonly": "generic"
1895
+ }
1896
+ ],
1897
+ "typescript/await-thenable": "error",
1898
+ "typescript/ban-ts-comment": [
1899
+ "error",
1900
+ {
1901
+ "minimumDescriptionLength": 3,
1902
+ "ts-check": false,
1903
+ "ts-expect-error": "allow-with-description",
1904
+ "ts-ignore": "allow-with-description",
1905
+ "ts-nocheck": true
1906
+ }
1907
+ ],
1908
+ "typescript/consistent-generic-constructors": ["error"],
1909
+ "typescript/consistent-type-imports": [
1910
+ "error",
1911
+ {
1912
+ "disallowTypeAnnotations": false,
1913
+ "fixStyle": "separate-type-imports",
1914
+ "prefer": "type-imports"
1915
+ }
1916
+ ],
1917
+ "typescript/explicit-member-accessibility": ["error"],
1918
+ "typescript/explicit-module-boundary-types": ["error"],
1919
+ "typescript/method-signature-style": ["error"],
1920
+ "typescript/no-array-constructor": ["error"],
1921
+ "typescript/no-array-delete": "error",
1922
+ "typescript/no-base-to-string": "error",
1923
+ "typescript/no-confusing-non-null-assertion": ["error"],
1924
+ "typescript/no-confusing-void-expression": "error",
1925
+ "typescript/no-dupe-class-members": ["error"],
1926
+ "typescript/no-duplicate-enum-values": ["error"],
1927
+ "typescript/no-duplicate-type-constituents": "error",
1928
+ "typescript/no-dynamic-delete": ["warn"],
1929
+ "typescript/no-empty-object-type": ["error"],
1930
+ "typescript/no-explicit-any": [
1931
+ "error",
1932
+ {
1933
+ "fixToUnknown": false,
1934
+ "ignoreRestArgs": true
1935
+ }
1936
+ ],
1937
+ "typescript/no-extra-non-null-assertion": ["error"],
1938
+ "typescript/no-extraneous-class": ["error"],
1939
+ "typescript/no-floating-promises": "error",
1940
+ "typescript/no-for-in-array": "error",
1941
+ "typescript/no-generated-empty-object-type": "error",
1942
+ "typescript/no-implied-eval": "error",
1943
+ "typescript/no-import-type-side-effects": ["error"],
1944
+ "typescript/no-invalid-void-type": ["warn"],
1945
+ "typescript/no-meaningless-void-operator": "error",
1946
+ "typescript/no-misused-new": ["error"],
1947
+ "typescript/no-misused-promises": "error",
1948
+ "typescript/no-misused-spread": "error",
1949
+ "typescript/no-mixed-enums": "error",
1950
+ "typescript/no-namespace": ["error"],
1951
+ "typescript/no-non-null-asserted-nullish-coalescing": ["warn"],
1952
+ "typescript/no-non-null-asserted-optional-chain": ["error"],
1953
+ "typescript/no-non-null-assertion": ["error"],
1954
+ "typescript/no-redundant-type-constituents": "error",
1955
+ "typescript/no-restricted-types": [
1956
+ "error",
1957
+ {
1958
+ "types": {
1959
+ "object": {
1960
+ "message": "Describe the properties you actually read, or use `Record<string, T>` with a concrete `T`."
1961
+ },
1962
+ "Record<string, any>": {
1963
+ "message": "Describe the keys you actually read, or use a concrete value type."
1964
+ },
1965
+ "Record<string, unknown>": {
1966
+ "message": "Describe the keys you actually read, or use a concrete value type."
1967
+ }
1968
+ }
1969
+ }
1970
+ ],
1971
+ "typescript/no-shadow": ["error"],
1972
+ "typescript/no-this-alias": ["error"],
1973
+ "typescript/no-unnecessary-boolean-literal-compare": "error",
1974
+ "typescript/no-unnecessary-condition": "error",
1975
+ "typescript/no-unnecessary-template-expression": "error",
1976
+ "typescript/no-unnecessary-type-arguments": "error",
1977
+ "typescript/no-unnecessary-type-assertion": "error",
1978
+ "typescript/no-unnecessary-type-constraint": ["error"],
1979
+ "typescript/no-unnecessary-type-conversion": "error",
1980
+ "typescript/no-unnecessary-type-parameters": "error",
1981
+ "typescript/no-unsafe-argument": "error",
1982
+ "typescript/no-unsafe-assignment": "error",
1983
+ "typescript/no-unsafe-call": "error",
1984
+ "typescript/no-unsafe-declaration-merging": ["error"],
1985
+ "typescript/no-unsafe-enum-comparison": "error",
1986
+ "typescript/no-unsafe-function-type": ["error"],
1987
+ "typescript/no-unsafe-member-access": "error",
1988
+ "typescript/no-unsafe-return": "error",
1989
+ "typescript/no-unsafe-type-assertion": "error",
1990
+ "typescript/no-unsafe-unary-minus": "error",
1991
+ "typescript/no-use-before-define": [
1992
+ "error",
1993
+ {
1994
+ "classes": true,
1995
+ "functions": true,
1996
+ "variables": true
1997
+ }
1998
+ ],
1999
+ "typescript/no-useless-constructor": ["error"],
2000
+ "typescript/no-useless-default-assignment": "error",
2001
+ "typescript/no-useless-empty-export": ["error"],
2002
+ "typescript/no-wrapper-object-types": ["error"],
2003
+ "typescript/only-throw-error": "error",
2004
+ "typescript/prefer-as-const": ["error"],
2005
+ "typescript/prefer-enum-initializers": ["error"],
2006
+ "typescript/prefer-function-type": ["error"],
2007
+ "typescript/prefer-literal-enum-member": ["error"],
2008
+ "typescript/prefer-namespace-keyword": ["error"],
2009
+ "typescript/prefer-nullish-coalescing": "error",
2010
+ "typescript/prefer-optional-chain": "error",
2011
+ "typescript/prefer-promise-reject-errors": "error",
2012
+ "typescript/prefer-reduce-type-parameter": "error",
2013
+ "typescript/prefer-return-this-type": "error",
2014
+ "typescript/related-getter-setter-pairs": "error",
2015
+ "typescript/require-await": "error",
2016
+ "typescript/restrict-plus-operands": "error",
2017
+ "typescript/restrict-template-expressions": "error",
2018
+ "typescript/triple-slash-reference": ["error"],
2019
+ "typescript/unbound-method": "error",
2020
+ "typescript/unified-signatures": ["error"],
2021
+ "typescript/use-unknown-in-catch-callback-variable": "error",
2022
+ "unicorn/catch-error-name": ["error"],
2023
+ "unicorn/consistent-assert": ["error"],
2024
+ "unicorn/consistent-date-clone": ["error"],
2025
+ "unicorn/consistent-empty-array-spread": ["error"],
2026
+ "unicorn/consistent-existence-index-check": ["error"],
2027
+ "unicorn/consistent-template-literal-escape": ["error"],
2028
+ "unicorn/error-message": ["error"],
2029
+ "unicorn/escape-case": ["error"],
2030
+ "unicorn/explicit-length-check": ["error"],
2031
+ "unicorn/explicit-timer-delay": ["error"],
2032
+ "unicorn/filename-case": [
2033
+ "error",
2034
+ {
2035
+ "case": "kebabCase"
2036
+ }
2037
+ ],
2038
+ "unicorn/max-nested-calls": ["error"],
2039
+ "unicorn/new-for-builtins": ["error"],
2040
+ "unicorn/no-abusive-eslint-disable": ["error"],
2041
+ "unicorn/no-accessor-recursion": ["error"],
2042
+ "unicorn/no-anonymous-default-export": ["error"],
2043
+ "unicorn/no-array-callback-reference": ["error"],
2044
+ "unicorn/no-array-fill-with-reference-type": ["error"],
2045
+ "unicorn/no-array-method-this-argument": ["error"],
2046
+ "unicorn/no-array-reduce": ["error"],
2047
+ "unicorn/no-array-reverse": ["error"],
2048
+ "unicorn/no-array-sort": ["error"],
2049
+ "unicorn/no-await-expression-member": ["error"],
2050
+ "unicorn/no-await-in-promise-methods": ["error"],
2051
+ "unicorn/no-confusing-array-with": ["error"],
2052
+ "unicorn/no-console-spaces": ["error"],
2053
+ "unicorn/no-document-cookie": ["error"],
2054
+ "unicorn/no-empty-file": ["error"],
2055
+ "unicorn/no-immediate-mutation": ["error"],
2056
+ "unicorn/no-instanceof-builtins": ["error"],
2057
+ "unicorn/no-invalid-fetch-options": ["error"],
2058
+ "unicorn/no-invalid-remove-event-listener": ["error"],
2059
+ "unicorn/no-lonely-if": ["error"],
2060
+ "unicorn/no-magic-array-flat-depth": ["error"],
2061
+ "unicorn/no-negated-condition": ["error"],
2062
+ "unicorn/no-negation-in-equality-check": ["error"],
2063
+ "unicorn/no-new-array": ["error"],
2064
+ "unicorn/no-new-buffer": ["error"],
2065
+ "unicorn/no-null": ["error"],
2066
+ "unicorn/no-object-as-default-parameter": ["error"],
2067
+ "unicorn/no-process-exit": ["error"],
2068
+ "unicorn/no-single-promise-in-promise-methods": ["error"],
2069
+ "unicorn/no-static-only-class": ["error"],
2070
+ "unicorn/no-thenable": ["error"],
2071
+ "unicorn/no-this-assignment": ["error"],
2072
+ "unicorn/no-typeof-undefined": ["error"],
2073
+ "unicorn/no-unnecessary-array-flat-depth": ["error"],
2074
+ "unicorn/no-unnecessary-array-splice-count": ["error"],
2075
+ "unicorn/no-unnecessary-await": ["error"],
2076
+ "unicorn/no-unnecessary-slice-end": ["error"],
2077
+ "unicorn/no-unreadable-array-destructuring": ["error"],
2078
+ "unicorn/no-unreadable-iife": ["error"],
2079
+ "unicorn/no-useless-collection-argument": ["error"],
2080
+ "unicorn/no-useless-error-capture-stack-trace": ["error"],
2081
+ "unicorn/no-useless-fallback-in-spread": ["error"],
2082
+ "unicorn/no-useless-iterator-to-array": ["error"],
2083
+ "unicorn/no-useless-length-check": ["error"],
2084
+ "unicorn/no-useless-promise-resolve-reject": ["error"],
2085
+ "unicorn/no-useless-spread": ["error"],
2086
+ "unicorn/no-useless-switch-case": ["error"],
2087
+ "unicorn/no-zero-fractions": ["error"],
2088
+ "unicorn/numeric-separators-style": ["error"],
2089
+ "unicorn/prefer-add-event-listener": ["error"],
2090
+ "unicorn/prefer-array-find": ["error"],
2091
+ "unicorn/prefer-array-flat": ["error"],
2092
+ "unicorn/prefer-array-flat-map": ["error"],
2093
+ "unicorn/prefer-array-index-of": ["error"],
2094
+ "unicorn/prefer-array-some": ["error"],
2095
+ "unicorn/prefer-bigint-literals": ["error"],
2096
+ "unicorn/prefer-blob-reading-methods": ["error"],
2097
+ "unicorn/prefer-class-fields": ["error"],
2098
+ "unicorn/prefer-classlist-toggle": ["error"],
2099
+ "unicorn/prefer-code-point": ["error"],
2100
+ "unicorn/prefer-date-now": ["error"],
2101
+ "unicorn/prefer-default-parameters": ["error"],
2102
+ "unicorn/prefer-dom-node-append": ["error"],
2103
+ "unicorn/prefer-dom-node-remove": ["error"],
2104
+ "unicorn/prefer-dom-node-text-content": ["error"],
2105
+ "unicorn/prefer-event-target": ["error"],
2106
+ "unicorn/prefer-export-from": ["error"],
2107
+ "unicorn/prefer-global-this": ["error"],
2108
+ "unicorn/prefer-includes": ["error"],
2109
+ "unicorn/prefer-keyboard-event-key": ["error"],
2110
+ "unicorn/prefer-logical-operator-over-ternary": ["error"],
2111
+ "unicorn/prefer-math-min-max": ["error"],
2112
+ "unicorn/prefer-math-trunc": ["error"],
2113
+ "unicorn/prefer-modern-dom-apis": ["error"],
2114
+ "unicorn/prefer-modern-math-apis": ["error"],
2115
+ "unicorn/prefer-native-coercion-functions": ["error"],
2116
+ "unicorn/prefer-negative-index": ["error"],
2117
+ "unicorn/prefer-node-protocol": ["error"],
2118
+ "unicorn/prefer-number-coercion": ["error"],
2119
+ "unicorn/prefer-number-properties": ["error"],
2120
+ "unicorn/prefer-object-from-entries": ["error"],
2121
+ "unicorn/prefer-optional-catch-binding": ["error"],
2122
+ "unicorn/prefer-prototype-methods": ["error"],
2123
+ "unicorn/prefer-query-selector": ["error"],
2124
+ "unicorn/prefer-reflect-apply": ["error"],
2125
+ "unicorn/prefer-regexp-test": ["error"],
2126
+ "unicorn/prefer-response-static-json": ["error"],
2127
+ "unicorn/prefer-set-has": ["error"],
2128
+ "unicorn/prefer-set-size": ["error"],
2129
+ "unicorn/prefer-single-call": ["error"],
2130
+ "unicorn/prefer-spread": ["error"],
2131
+ "unicorn/prefer-string-replace-all": ["error"],
2132
+ "unicorn/prefer-string-slice": ["error"],
2133
+ "unicorn/prefer-string-starts-ends-with": ["error"],
2134
+ "unicorn/prefer-string-trim-start-end": ["error"],
2135
+ "unicorn/prefer-structured-clone": ["error"],
2136
+ "unicorn/prefer-ternary": ["error", "only-single-line"],
2137
+ "unicorn/prefer-top-level-await": ["error"],
2138
+ "unicorn/prefer-type-error": ["error"],
2139
+ "unicorn/relative-url-style": ["error"],
2140
+ "unicorn/require-array-join-separator": ["error"],
2141
+ "unicorn/require-module-attributes": ["error"],
2142
+ "unicorn/require-module-specifiers": ["error"],
2143
+ "unicorn/require-number-to-fixed-digits-argument": ["error"],
2144
+ "unicorn/switch-case-braces": ["error"],
2145
+ "unicorn/switch-case-break-position": ["error"],
2146
+ "unicorn/text-encoding-identifier-case": ["error"],
2147
+ "unicorn/throw-new-error": ["error"],
2148
+ "use-isnan": ["error"],
2149
+ "vars-on-top": ["error"],
2150
+ "yoda": ["error"],
2151
+ "react/jsx-no-script-url": "error",
2152
+ "react/jsx-no-target-blank": "error",
2153
+ "react/no-unescaped-entities": "error",
2154
+ "react/react-in-jsx-scope": "error",
2155
+ "react/rules-of-hooks": "error",
2156
+ "react/style-prop-object": "error",
2157
+ "no-useless-assignment": "error",
2158
+ "curly": "error",
2159
+ "one-var": "error",
2160
+ "node/no-mixed-requires": "error",
2161
+ "node/no-new-require": "error",
2162
+ "jsdoc/no-blank-blocks": "error",
2163
+ "import/export": "error",
2164
+ "import/extensions": "error",
2165
+ "import/named": "error",
2166
+ "unicorn/empty-brace-spaces": "error",
2167
+ "unicorn/number-literal-case": "error",
2168
+ "react/button-has-type": "error",
2169
+ "react/jsx-boolean-value": "error",
2170
+ "react/jsx-fragments": "error",
2171
+ "react/jsx-no-constructed-context-values": "error",
2172
+ "react/jsx-pascal-case": "error",
2173
+ "react/no-danger": "error",
2174
+ "react/no-unknown-property": "error",
2175
+ "react/function-component-definition": "error",
2176
+ "react/jsx-curly-brace-presence": "error",
2177
+ "react/prefer-es6-class": "error",
2178
+ "react/require-render-return": "error",
2179
+ "react/self-closing-comp": "error",
2180
+ "react/state-in-constructor": "error",
2181
+ "no-unexpected-multiline": "error",
2182
+ "node/no-exports-assign": "error"
2183
+ },
2184
+ "options": {
2185
+ "typeAware": true
2186
+ }
10
2187
  }