-
Notifications
You must be signed in to change notification settings - Fork 0
/
eslint.config.js
1342 lines (1341 loc) · 53.9 KB
/
eslint.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
import { fixupPluginRules } from "@eslint/compat";
import { ignores, languageOptions } from "./constants.js";
import a11y from "eslint-plugin-jsx-a11y";
import barrel from "eslint-plugin-barrel-files";
import compat from "eslint-plugin-compat";
import cspell from "@cspell/eslint-plugin";
import depend from "eslint-plugin-depend";
import json from "@eslint/json";
import lodashConfig from "eslint-plugin-lodash";
import markdown from "@eslint/markdown";
import n from "eslint-plugin-n";
import perfectionist from "eslint-plugin-perfectionist";
import sonar from "eslint-plugin-sonarjs";
import stylistic from "@stylistic/eslint-plugin";
import stylisticTs from "@stylistic/eslint-plugin-ts";
import tailwind from "eslint-plugin-tailwindcss";
import tanstackQuery from "@tanstack/eslint-plugin-query";
import tanstackRouter from "@tanstack/eslint-plugin-router";
import tseslint from "typescript-eslint";
import unicorn from "eslint-plugin-unicorn";
export default tseslint.config(
{
files: ["**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts}"],
ignores,
languageOptions,
settings: {
react: { version: "18.3.1" },
},
plugins: {
depend: depend,
cspell: cspell,
barrel: barrel,
compat: compat,
n: n,
"@typescript-eslint": tseslint.plugin,
unicorn: unicorn,
lodash: lodashConfig,
sonar: fixupPluginRules(sonar),
tailwind: tailwind,
stylistic: stylistic,
"stylistic-ts": stylisticTs,
perfectionist: perfectionist,
"@tanstack/query": tanstackQuery,
"@tanstack/router": tanstackRouter,
a11y: a11y,
},
rules: {
"depend/ban-dependencies": ["error", { allowed: ["lodash", "fs-extra"] }],
"cspell/spellchecker": [
"error",
{
cspell: {
words: [
"toolbelt",
"taze",
"ethang",
"TSESTree",
"Boop",
"cldr",
"astro",
"laravel",
"qwik",
"sitecore",
"uswds",
"mediat",
"Packt",
"Academind",
"Udemy",
"Colte",
"Bootcamp",
"HTMX",
"MERN",
"Nuxt",
"Credly",
"Sterett",
"Beyonder",
"hotspot",
"lqip",
"Hawn",
"nextui",
"speculationrules",
"zustand",
"vinxi",
"datasource",
"turso",
"supabase",
"solidjs",
],
},
},
],
"barrel/avoid-barrel-files": "error",
"barrel/avoid-importing-barrel-files": "error",
"barrel/avoid-namespace-import": "error",
"barrel/avoid-re-export-all": "error",
"compat/compat": "error",
"accessor-pairs": "error",
"array-callback-return": "error",
"arrow-body-style": ["error", "always"],
"block-scoped-var": "error",
camelcase: "off",
"capitalized-comments": "off",
"class-methods-use-this": "off",
complexity: "off",
"consistent-return": "off",
"consistent-this": "off",
"constructor-super": "error",
curly: "off",
"default-case": "off",
"default-case-last": "off",
"default-param-last": "off",
"dot-notation": "off",
eqeqeq: "error",
"for-direction": "error",
"func-name-matching": "error",
"func-names": "off",
"func-style": ["error", "declaration", { allowArrowFunctions: true }],
"getter-return": "error",
"grouped-accessor-pairs": "error",
"guard-for-in": "error",
"id-denylist": "off",
"id-length": "off",
"id-match": "off",
"init-declarations": "off",
"logical-assignment-operators": "error",
"max-classes-per-file": "error",
"max-depth": "error",
"max-lines": "off",
"max-lines-per-function": "off",
"max-nested-callbacks": "error",
"max-params": "off",
"max-statements": "error",
"new-cap": "off",
"no-alert": "error",
"no-array-constructor": "off",
"no-async-promise-executor": "error",
"no-await-in-loop": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-case-declarations": "error",
"no-class-assign": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": "error",
"no-console": "error",
"no-const-assign": "error",
"no-constant-binary-expression": "error",
"no-constant-condition": "error",
"no-constructor-return": "error",
"no-continue": "error",
"no-control-regex": "error",
"no-debugger": "error",
"no-delete-var": "error",
"no-div-regex": "error",
"no-dupe-args": "error",
"no-dupe-class-members": "off",
"no-dupe-else-if": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-duplicate-imports": "error",
"no-else-return": "error",
"no-empty": "error",
"no-empty-character-class": "error",
"no-empty-function": "off",
"no-empty-pattern": "error",
"no-empty-static-block": "error",
"no-eq-null": "error",
"no-eval": "error",
"no-ex-assign": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-extra-boolean-cast": "error",
"no-extra-label": "error",
"no-fallthrough": "error",
"no-func-assign": "error",
"no-global-assign": "error",
"no-implicit-coercion": "error",
"no-implicit-globals": "off",
"no-implied-eval": "off",
"no-import-assign": "error",
"no-inline-comments": "off",
"no-inner-declarations": "error",
"no-invalid-regexp": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"no-iterator": "error",
"no-label-var": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-lonely-if": "error",
"no-loop-func": "error",
"no-loss-of-precision": "error",
"no-magic-numbers": "off",
"no-misleading-character-class": "error",
"no-multi-assign": "error",
"no-multi-str": "error",
"no-negated-condition": "error",
"no-nested-ternary": "error",
"no-new": "error",
"no-new-func": "error",
"no-new-native-nonconstructor": "error",
"no-new-wrappers": "error",
"no-nonoctal-decimal-escape": "error",
"no-obj-calls": "error",
"no-object-constructor": "error",
"no-octal": "error",
"no-octal-escape": "error",
"no-param-reassign": "error",
"no-plusplus": "error",
"no-promise-executor-return": "error",
"no-proto": "error",
"no-prototype-builtins": "error",
"no-redeclare": "off",
"no-regex-spaces": "error",
"no-restricted-exports": "off",
"no-restricted-globals": "off",
"no-restricted-imports": "off",
"no-restricted-properties": "off",
"no-restricted-syntax": "off",
"no-return-assign": "error",
"no-script-url": "error",
"no-self-assign": "error",
"no-self-compare": "error",
"no-sequences": "error",
"no-setter-return": "error",
"no-shadow": "off",
"no-shadow-restricted-names": "error",
"no-sparse-arrays": "error",
"no-template-curly-in-string": "off",
"no-ternary": "off",
"no-this-before-super": "error",
"no-throw-literal": "off",
"no-undef": "off",
"no-undef-init": "error",
"no-undefined": "off",
"no-underscore-dangle": "off",
"no-unexpected-multiline": "off",
"no-unmodified-loop-condition": "error",
"no-unneeded-ternary": "error",
"no-unreachable": "error",
"no-unreachable-loop": "error",
"no-unsafe-finally": "error",
"no-unsafe-negation": "error",
"no-unsafe-optional-chaining": [
"error",
{ disallowArithmeticOperators: true },
],
"no-unused-expressions": "off",
"no-unused-labels": "error",
"no-unused-private-class-members": "error",
"no-unused-vars": "off",
"no-use-before-define": "off",
"no-useless-assignment": "off",
"no-useless-backreference": "error",
"no-useless-call": "error",
"no-useless-catch": "error",
"no-useless-computed-key": "error",
"no-useless-concat": "error",
"no-useless-constructor": "off",
"no-useless-escape": "error",
"no-useless-rename": "error",
"no-useless-return": "error",
"no-var": "error",
"no-void": "error",
"no-warning-comments": "off",
"no-with": "error",
"object-shorthand": "error",
"one-var": "off",
"operator-assignment": "error",
"prefer-arrow-callback": "error",
"prefer-const": "error",
"prefer-destructuring": "off",
"prefer-exponentiation-operator": "error",
"prefer-named-capture-group": "error",
"prefer-numeric-literals": "error",
"prefer-object-has-own": "error",
"prefer-object-spread": "error",
"prefer-promise-reject-errors": "off",
"prefer-regex-literals": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "error",
radix: "error",
"require-atomic-updates": "error",
"require-await": "off",
"require-unicode-regexp": "error",
"require-yield": "error",
"sort-imports": "off",
"sort-keys": "off",
"sort-vars": "error",
strict: "error",
"symbol-description": "error",
"unicode-bom": "error",
"use-isnan": "error",
"valid-typeof": "error",
"vars-on-top": "error",
yoda: ["error", "always"],
"n/callback-return": "off",
"n/exports-style": ["error", "exports"],
"n/file-extension-in-import": "off",
"n/global-require": "off",
"n/handle-callback-err": "error",
"n/hashbang": "off",
"n/no-callback-literal": "off",
"n/no-deprecated-api": "error",
"n/no-exports-assign": "error",
"n/no-extraneous-import": "error",
"n/no-extraneous-require": "error",
"n/no-missing-import": "off",
"n/no-missing-require": "error",
"n/no-mixed-requires": "off",
"n/no-new-require": "off",
"n/no-path-concat": "error",
"n/no-process-env": "off",
"n/no-process-exit": "off",
"n/no-restricted-import": "off",
"n/no-restricted-require": "off",
"n/no-sync": "off",
"n/no-unpublished-bin": "error",
"n/no-unpublished-import": "off",
"n/no-unpublished-require": "off",
"n/no-unsupported-features/es-builtins": "error",
"n/no-unsupported-features/es-syntax": "error",
"n/no-unsupported-features/node-builtins": "error",
"n/prefer-global/buffer": "error",
"n/prefer-global/console": "error",
"n/prefer-global/process": "error",
"n/prefer-global/text-decoder": "error",
"n/prefer-global/text-encoder": "error",
"n/prefer-global/url": "error",
"n/prefer-global/url-search-params": "error",
"n/prefer-node-protocol": "error",
"n/prefer-promises/dns": "off",
"n/prefer-promises/fs": "off",
"n/process-exit-as-throw": "off",
"@typescript-eslint/adjacent-overload-signatures": "off",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/await-thenable": "error",
"@typescript-eslint/ban-ts-comment": "error",
"@typescript-eslint/ban-tslint-comment": "error",
"@typescript-eslint/class-literal-property-style": "error",
"@typescript-eslint/class-methods-use-this": "off",
"@typescript-eslint/consistent-generic-constructors": "error",
"@typescript-eslint/consistent-indexed-object-style": "error",
"@typescript-eslint/consistent-return": "off",
"@typescript-eslint/consistent-type-assertions": "error",
"@typescript-eslint/consistent-type-definitions": ["error", "type"],
"@typescript-eslint/consistent-type-exports": "error",
"@typescript-eslint/consistent-type-imports": [
"error",
{ fixStyle: "inline-type-imports" },
],
"@typescript-eslint/default-param-last": "error",
"@typescript-eslint/dot-notation": "error",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-member-accessibility": "error",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/init-declarations": "off",
"@typescript-eslint/max-params": "off",
"@typescript-eslint/member-ordering": "off",
"@typescript-eslint/method-signature-style": "error",
"@typescript-eslint/naming-convention": "off",
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-array-delete": "error",
"@typescript-eslint/no-base-to-string": "error",
"@typescript-eslint/no-confusing-non-null-assertion": "error",
"@typescript-eslint/no-confusing-void-expression": "error",
"@typescript-eslint/no-deprecated": "error",
"@typescript-eslint/no-dupe-class-members": "off",
"@typescript-eslint/no-duplicate-enum-values": "error",
"@typescript-eslint/no-duplicate-type-constituents": "error",
"@typescript-eslint/no-dynamic-delete": "error",
"@typescript-eslint/no-empty-function": "error",
"@typescript-eslint/no-empty-object-type": "error",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-extra-non-null-assertion": "error",
"@typescript-eslint/no-extraneous-class": "error",
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-implied-eval": "error",
"@typescript-eslint/no-import-type-side-effects": "error",
"@typescript-eslint/no-inferrable-types": "error",
"@typescript-eslint/no-invalid-this": "off",
"@typescript-eslint/no-invalid-void-type": "error",
"@typescript-eslint/no-loop-func": "error",
"@typescript-eslint/no-magic-numbers": "off",
"@typescript-eslint/no-meaningless-void-operator": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/no-mixed-enums": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error",
"@typescript-eslint/no-non-null-asserted-optional-chain": "error",
"@typescript-eslint/no-non-null-assertion": "error",
"@typescript-eslint/no-redeclare": "off",
"@typescript-eslint/no-redundant-type-constituents": "error",
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/no-restricted-imports": "error",
"@typescript-eslint/no-restricted-types": "error",
"@typescript-eslint/no-shadow": "error",
"@typescript-eslint/no-this-alias": "error",
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
"@typescript-eslint/no-unnecessary-condition": "error",
"@typescript-eslint/no-unnecessary-parameter-property-assignment":
"error",
"@typescript-eslint/no-unnecessary-qualifier": "error",
"@typescript-eslint/no-unnecessary-template-expression": "error",
"@typescript-eslint/no-unnecessary-type-arguments": "error",
"@typescript-eslint/no-unnecessary-type-assertion": "error",
"@typescript-eslint/no-unnecessary-type-constraint": "error",
"@typescript-eslint/no-unnecessary-type-parameters": "off",
"@typescript-eslint/no-unsafe-argument": "error",
"@typescript-eslint/no-unsafe-assignment": "error",
"@typescript-eslint/no-unsafe-call": "error",
"@typescript-eslint/no-unsafe-declaration-merging": "error",
"@typescript-eslint/no-unsafe-enum-comparison": "error",
"@typescript-eslint/no-unsafe-function-type": "error",
"@typescript-eslint/no-unsafe-member-access": "error",
"@typescript-eslint/no-unsafe-return": "error",
"@typescript-eslint/no-unsafe-unary-minus": "error",
"@typescript-eslint/no-unused-expressions": "error",
"@typescript-eslint/no-unused-vars": [
"error",
{
args: "all",
argsIgnorePattern: "^_",
caughtErrors: "all",
caughtErrorsIgnorePattern: "^_",
destructuredArrayIgnorePattern: "^_",
ignoreRestSiblings: true,
varsIgnorePattern: "^_",
},
],
"@typescript-eslint/no-use-before-define": "off",
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-useless-empty-export": "error",
"@typescript-eslint/no-wrapper-object-types": "error",
"@typescript-eslint/non-nullable-type-assertion-style": "error",
"@typescript-eslint/only-throw-error": "error",
"@typescript-eslint/parameter-properties": "off",
"@typescript-eslint/prefer-as-const": "error",
"@typescript-eslint/prefer-destructuring": "error",
"@typescript-eslint/prefer-enum-initializers": "error",
"@typescript-eslint/prefer-find": "error",
"@typescript-eslint/prefer-for-of": "error",
"@typescript-eslint/prefer-function-type": "error",
"@typescript-eslint/prefer-includes": "error",
"@typescript-eslint/prefer-literal-enum-member": "error",
"@typescript-eslint/prefer-namespace-keyword": "error",
"@typescript-eslint/prefer-nullish-coalescing": "error",
"@typescript-eslint/prefer-optional-chain": "error",
"@typescript-eslint/prefer-promise-reject-errors": "error",
"@typescript-eslint/prefer-readonly": "error",
"@typescript-eslint/prefer-readonly-parameter-types": "off",
"@typescript-eslint/prefer-reduce-type-parameter": "error",
"@typescript-eslint/prefer-regexp-exec": "error",
"@typescript-eslint/prefer-return-this-type": "error",
"@typescript-eslint/prefer-string-starts-ends-with": "error",
"@typescript-eslint/promise-function-async": "error",
"@typescript-eslint/require-array-sort-compare": "error",
"@typescript-eslint/require-await": "error",
"@typescript-eslint/restrict-plus-operands": "error",
"@typescript-eslint/restrict-template-expressions": "error",
"@typescript-eslint/return-await": "error",
"@typescript-eslint/strict-boolean-expressions": "error",
"@typescript-eslint/switch-exhaustiveness-check": "error",
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/typedef": "off",
"@typescript-eslint/unbound-method": "error",
"@typescript-eslint/unified-signatures": "error",
"@typescript-eslint/use-unknown-in-catch-callback-variable": "error",
"unicorn/better-regex": "error",
"unicorn/catch-error-name": "error",
"unicorn/consistent-destructuring": "error",
"unicorn/consistent-empty-array-spread": "error",
"unicorn/consistent-existence-index-check": "error",
"unicorn/consistent-function-scoping": "error",
"unicorn/custom-error-definition": "error",
"unicorn/empty-brace-spaces": "off",
"unicorn/error-message": "error",
"unicorn/escape-case": "error",
"unicorn/expiring-todo-comments": "error",
"unicorn/explicit-length-check": "off",
"unicorn/filename-case": "error",
"unicorn/import-style": "error",
"unicorn/new-for-builtins": "error",
"unicorn/no-abusive-eslint-disable": "error",
"unicorn/no-anonymous-default-export": "error",
"unicorn/no-array-callback-reference": "error",
"unicorn/no-array-for-each": "error",
"unicorn/no-array-method-this-argument": "error",
"unicorn/no-array-push-push": "error",
"unicorn/no-array-reduce": "error",
"unicorn/no-await-expression-member": "error",
"unicorn/no-await-in-promise-methods": "error",
"unicorn/no-console-spaces": "error",
"unicorn/no-document-cookie": "error",
"unicorn/no-empty-file": "error",
"unicorn/no-for-loop": "error",
"unicorn/no-hex-escape": "error",
"unicorn/no-instanceof-array": "error",
"unicorn/no-invalid-fetch-options": "error",
"unicorn/no-invalid-remove-event-listener": "error",
"unicorn/no-keyword-prefix": "off",
"unicorn/no-length-as-slice-end": "error",
"unicorn/no-lonely-if": "error",
"unicorn/no-magic-array-flat-depth": "error",
"unicorn/no-negated-condition": "error",
"unicorn/no-negation-in-equality-check": "error",
"unicorn/no-nested-ternary": "off",
"unicorn/no-new-array": "error",
"unicorn/no-new-buffer": "error",
"unicorn/no-null": "off",
"unicorn/no-object-as-default-parameter": "error",
"unicorn/no-process-exit": "error",
"unicorn/no-single-promise-in-promise-methods": "error",
"unicorn/no-static-only-class": "error",
"unicorn/no-thenable": "error",
"unicorn/no-this-assignment": "error",
"unicorn/no-typeof-undefined": "error",
"unicorn/no-unnecessary-await": "error",
"unicorn/no-unnecessary-polyfills": "error",
"unicorn/no-unreadable-array-destructuring": "error",
"unicorn/no-unreadable-iife": "error",
"unicorn/no-unused-properties": "error",
"unicorn/no-useless-fallback-in-spread": "error",
"unicorn/no-useless-length-check": "error",
"unicorn/no-useless-promise-resolve-reject": "error",
"unicorn/no-useless-spread": "error",
"unicorn/no-useless-switch-case": "error",
"unicorn/no-useless-undefined": "error",
"unicorn/no-zero-fractions": "error",
"unicorn/number-literal-case": "off",
"unicorn/numeric-separators-style": "error",
"unicorn/prefer-add-event-listener": "error",
"unicorn/prefer-array-find": "error",
"unicorn/prefer-array-flat": "error",
"unicorn/prefer-array-flat-map": "error",
"unicorn/prefer-array-index-of": "error",
"unicorn/prefer-array-some": "error",
"unicorn/prefer-at": "error",
"unicorn/prefer-blob-reading-methods": "error",
"unicorn/prefer-code-point": "error",
"unicorn/prefer-date-now": "error",
"unicorn/prefer-default-parameters": "error",
"unicorn/prefer-dom-node-append": "error",
"unicorn/prefer-dom-node-dataset": "error",
"unicorn/prefer-dom-node-remove": "error",
"unicorn/prefer-dom-node-text-content": "error",
"unicorn/prefer-event-target": "error",
"unicorn/prefer-export-from": "error",
"unicorn/prefer-global-this": "error",
"unicorn/prefer-includes": "error",
"unicorn/prefer-json-parse-buffer": "error",
"unicorn/prefer-keyboard-event-key": "error",
"unicorn/prefer-logical-operator-over-ternary": "error",
"unicorn/prefer-math-min-max": "error",
"unicorn/prefer-math-trunc": "error",
"unicorn/prefer-modern-dom-apis": "error",
"unicorn/prefer-modern-math-apis": "error",
"unicorn/prefer-module": "error",
"unicorn/prefer-native-coercion-functions": "error",
"unicorn/prefer-negative-index": "error",
"unicorn/prefer-node-protocol": "error",
"unicorn/prefer-number-properties": "error",
"unicorn/prefer-object-from-entries": "error",
"unicorn/prefer-optional-catch-binding": "error",
"unicorn/prefer-prototype-methods": "error",
"unicorn/prefer-query-selector": "error",
"unicorn/prefer-reflect-apply": "error",
"unicorn/prefer-regexp-test": "error",
"unicorn/prefer-set-has": "error",
"unicorn/prefer-set-size": "error",
"unicorn/prefer-spread": "error",
"unicorn/prefer-string-raw": "error",
"unicorn/prefer-string-replace-all": "error",
"unicorn/prefer-string-slice": "error",
"unicorn/prefer-string-starts-ends-with": "error",
"unicorn/prefer-string-trim-start-end": "error",
"unicorn/prefer-structured-clone": "error",
"unicorn/prefer-switch": "error",
"unicorn/prefer-ternary": "error",
"unicorn/prefer-top-level-await": "error",
"unicorn/prefer-type-error": "error",
"unicorn/prevent-abbreviations": "error",
"unicorn/relative-url-style": "error",
"unicorn/require-array-join-separator": "error",
"unicorn/require-number-to-fixed-digits-argument": "error",
"unicorn/require-post-message-target-origin": "error",
"unicorn/string-content": "error",
"unicorn/switch-case-braces": "error",
"unicorn/template-indent": "off",
"unicorn/text-encoding-identifier-case": "error",
"unicorn/throw-new-error": "error",
"lodash/callback-binding": "error",
"lodash/chain-style": [2, "as-needed"],
"lodash/chaining": "error",
"lodash/collection-method-value": "error",
"lodash/collection-ordering": "error",
"lodash/collection-return": "error",
"lodash/consistent-compose": [2, "flow"],
"lodash/identity-shorthand": [2, "always"],
"lodash/import-scope": [2, "method"],
"lodash/matches-prop-shorthand": [2, "always"],
"lodash/matches-shorthand": [2, "always", 3],
"lodash/no-commit": "error",
"lodash/no-double-unwrap": "error",
"lodash/no-extra-args": "error",
"lodash/no-unbound-this": "error",
"lodash/path-style": [2, "array"],
"lodash/prefer-compact": "error",
"lodash/prefer-constant": "error",
"lodash/prefer-filter": "error",
"lodash/prefer-find": "error",
"lodash/prefer-flat-map": "error",
"lodash/prefer-get": "error",
"lodash/prefer-immutable-method": "error",
"lodash/prefer-includes": [2, { includeNative: true }],
"lodash/prefer-invoke-map": "error",
"lodash/prefer-is-nil": "error",
"lodash/prefer-lodash-chain": "error",
"lodash/prefer-lodash-method": "error",
"lodash/prefer-lodash-typecheck": "error",
"lodash/prefer-map": "error",
"lodash/prefer-matches": "error",
"lodash/prefer-noop": "error",
"lodash/prefer-over-quantifier": "error",
"lodash/prefer-reject": "error",
"lodash/prefer-some": [2, { includeNative: true }],
"lodash/prefer-startswith": "error",
"lodash/prefer-thru": "error",
"lodash/prefer-times": "error",
"lodash/prefer-wrapper-method": "error",
"lodash/preferred-alias": "error",
"lodash/prop-shorthand": [2, "always"],
"lodash/unwrap": "error",
"sonar/accessor-pairs": "error",
"sonar/alt-text": "error",
"sonar/anchor-has-content": "error",
"sonar/anchor-is-valid": "error",
"sonar/anchor-precedence": "error",
"sonar/argument-type": "error",
"sonar/arguments-order": "error",
"sonar/arguments-usage": "error",
"sonar/array-callback-without-return": "error",
"sonar/array-constructor": "error",
"sonar/arrow-function-convention": "off",
"sonar/assertions-in-tests": "error",
"sonar/aws-apigateway-public-api": "error",
"sonar/aws-ec2-rds-dms-public": "error",
"sonar/aws-ec2-unencrypted-ebs-volume": "error",
"sonar/aws-efs-unencrypted": "error",
"sonar/aws-iam-all-privileges": "error",
"sonar/aws-iam-all-resources-accessible": "error",
"sonar/aws-iam-privilege-escalation": "error",
"sonar/aws-iam-public-access": "error",
"sonar/aws-opensearchservice-domain": "error",
"sonar/aws-rds-unencrypted-databases": "error",
"sonar/aws-restricted-ip-admin-access": "error",
"sonar/aws-s3-bucket-granted-access": "error",
"sonar/aws-s3-bucket-insecure-http": "error",
"sonar/aws-s3-bucket-public-access": "error",
"sonar/aws-s3-bucket-versioning": "error",
"sonar/aws-sagemaker-unencrypted-notebook": "error",
"sonar/aws-sns-unencrypted-topics": "error",
"sonar/aws-sqs-unencrypted-queue": "error",
"sonar/bitwise-operators": "error",
"sonar/bool-param-default": "error",
"sonar/call-argument-line": "error",
"sonar/certificate-transparency": "error",
"sonar/chai-determinate-assertion": "error",
"sonar/class-name": "error",
"sonar/class-prototype": "error",
"sonar/code-eval": "error",
"sonar/cognitive-complexity": "error",
"sonar/comma-or-logical-or-case": "error",
"sonar/comment-regex": "off",
"sonar/concise-regex": "error",
"sonar/confidential-information-logging": "error",
"sonar/constructor-for-side-effects": "error",
"sonar/content-length": "error",
"sonar/content-security-policy": "error",
"sonar/cookie-no-httponly": "error",
"sonar/cors": "error",
"sonar/csrf": "error",
"sonar/cyclomatic-complexity": "off",
"sonar/declarations-in-global-scope": "error",
"sonar/default-param-last": "error",
"sonar/deprecation": "error",
"sonar/destructuring-assignment-syntax": "error",
"sonar/different-types-comparison": "error",
"sonar/disabled-auto-escaping": "error",
"sonar/disabled-resource-integrity": "error",
"sonar/disabled-timeout": "error",
"sonar/duplicates-in-character-class": "error",
"sonar/elseif-without-else": "error",
"sonar/empty-string-repetition": "error",
"sonar/encryption-secure-mode": "error",
"sonar/existing-groups": "error",
"sonar/expression-complexity": "error",
"sonar/file-header": "off",
"sonar/file-name-differ-from-class": "error",
"sonar/file-permissions": "error",
"sonar/file-uploads": "error",
"sonar/fixme-tag": "error",
"sonar/for-in": "error",
"sonar/for-loop-increment-sign": "error",
"sonar/frame-ancestors": "error",
"sonar/function-inside-loop": "error",
"sonar/function-name": [
"error",
{ format: "^(?:[a-z][a-zA-Z0-9]*|[A-Z][A-Z0-9]*)$" },
],
"sonar/function-return-type": "off",
"sonar/future-reserved-words": "error",
"sonar/generator-without-yield": "error",
"sonar/hashing": "error",
"sonar/hidden-files": "error",
"sonar/hook-use-state": "error",
"sonar/html-has-lang": "error",
"sonar/in-operator-type-error": "error",
"sonar/inconsistent-function-call": "error",
"sonar/index-of-compare-to-positive-number": "error",
"sonar/insecure-cookie": "error",
"sonar/insecure-jwt-token": "error",
"sonar/inverted-assertion-arguments": "error",
"sonar/jsx-key": "error",
"sonar/jsx-no-constructed-context-values": "error",
"sonar/jsx-no-useless-fragment": "error",
"sonar/label-has-associated-control": "error",
"sonar/label-position": "error",
"sonar/link-with-target-blank": "error",
"sonar/max-switch-cases": "error",
"sonar/max-union-size": "off",
"sonar/media-has-caption": "error",
"sonar/misplaced-loop-counter": "error",
"sonar/mouse-events-a11y": "error",
"sonar/nested-control-flow": "error",
"sonar/new-cap": "off",
"sonar/new-operator-misuse": "error",
"sonar/no-accessor-field-mismatch": "error",
"sonar/no-all-duplicated-branches": "error",
"sonar/no-alphabetical-sort": "error",
"sonar/no-angular-bypass-sanitization": "error",
"sonar/no-array-delete": "error",
"sonar/no-array-index-key": "error",
"sonar/no-associative-arrays": "error",
"sonar/no-async-constructor": "error",
"sonar/no-base-to-string": "error",
"sonar/no-built-in-override": "error",
"sonar/no-case-label-in-switch": "error",
"sonar/no-clear-text-protocols": "error",
"sonar/no-code-after-done": "error",
"sonar/no-collapsible-if": "error",
"sonar/no-collection-size-mischeck": "error",
"sonar/no-commented-code": "error",
"sonar/no-dead-store": "error",
"sonar/no-delete-var": "error",
"sonar/no-deprecated-react": "error",
"sonar/no-duplicate-in-composite": "error",
"sonar/no-duplicate-string": "error",
"sonar/no-duplicated-branches": "error",
"sonar/no-element-overwrite": "error",
"sonar/no-empty-after-reluctant": "error",
"sonar/no-empty-alternatives": "error",
"sonar/no-empty-collection": "error",
"sonar/no-empty-function": "error",
"sonar/no-empty-group": "error",
"sonar/no-empty-interface": "error",
"sonar/no-empty-test-file": "error",
"sonar/no-equals-in-for-termination": "error",
"sonar/no-exclusive-tests": "error",
"sonar/no-extend-native": "error",
"sonar/no-extra-arguments": "error",
"sonar/no-find-dom-node": "error",
"sonar/no-for-in-iterable": "error",
"sonar/no-function-declaration-in-block": "error",
"sonar/no-global-this": "error",
"sonar/no-globals-shadowing": "error",
"sonar/no-gratuitous-expressions": "error",
"sonar/no-hardcoded-credentials": "error",
"sonar/no-hardcoded-ip": "error",
"sonar/no-hook-setter-in-body": "error",
"sonar/no-identical-conditions": "error",
"sonar/no-identical-expressions": "error",
"sonar/no-identical-functions": "error",
"sonar/no-ignored-exceptions": "error",
"sonar/no-ignored-return": "error",
"sonar/no-implicit-dependencies": "off",
"sonar/no-implicit-global": "error",
"sonar/no-in-misuse": "error",
"sonar/no-incomplete-assertions": "error",
"sonar/no-inconsistent-returns": "off",
"sonar/no-incorrect-string-concat": "error",
"sonar/no-infinite-loop": "error",
"sonar/no-internal-api-use": "error",
"sonar/no-intrusive-permissions": "error",
"sonar/no-invalid-await": "error",
"sonar/no-invariant-returns": "error",
"sonar/no-inverted-boolean-check": "error",
"sonar/no-ip-forward": "error",
"sonar/no-labels": "error",
"sonar/no-literal-call": "error",
"sonar/no-lonely-if": "error",
"sonar/no-mime-sniff": "error",
"sonar/no-misleading-array-reverse": "error",
"sonar/no-misused-promises": "error",
"sonar/no-mixed-content": "error",
"sonar/no-nested-assignment": "error",
"sonar/no-nested-conditional": "error",
"sonar/no-nested-functions": "error",
"sonar/no-nested-incdec": "error",
"sonar/no-nested-switch": "error",
"sonar/no-nested-template-literals": "error",
"sonar/no-one-iteration-loop": "error",
"sonar/no-os-command-from-path": "error",
"sonar/no-parameter-reassignment": "error",
"sonar/no-primitive-wrappers": "error",
"sonar/no-redeclare": "error",
"sonar/no-redundant-assignments": "error",
"sonar/no-redundant-boolean": "error",
"sonar/no-redundant-jump": "error",
"sonar/no-redundant-optional": "error",
"sonar/no-redundant-type-constituents": "error",
"sonar/no-reference-error": "off",
"sonar/no-referrer-policy": "error",
"sonar/no-require-or-define": "error",
"sonar/no-return-type-any": "error",
"sonar/no-same-argument-assert": "error",
"sonar/no-same-line-conditional": "error",
"sonar/no-selector-parameter": "error",
"sonar/no-self-compare": "error",
"sonar/no-self-import": "error",
"sonar/no-skipped-test": "error",
"sonar/no-small-switch": "error",
"sonar/no-table-as-layout": "error",
"sonar/no-this-alias": "error",
"sonar/no-throw-literal": "error",
"sonar/no-try-promise": "error",
"sonar/no-undefined-argument": "error",
"sonar/no-undefined-assignment": "off",
"sonar/no-unenclosed-multiline-block": "error",
"sonar/no-uniq-key": "error",
"sonar/no-unknown-property": "error",
"sonar/no-unreachable": "error",
"sonar/no-unsafe": "error",
"sonar/no-unsafe-unzip": "error",
"sonar/no-unstable-nested-components": "error",
"sonar/no-unthrown-error": "error",
"sonar/no-unused-collection": "error",
"sonar/no-unused-expressions": "error",
"sonar/no-unused-function-argument": "error",
"sonar/no-unused-private-class-members": "error",
"sonar/no-use-of-empty-return-value": "error",
"sonar/no-useless-call": "error",
"sonar/no-useless-catch": "error",
"sonar/no-useless-constructor": "error",
"sonar/no-useless-increment": "error",
"sonar/no-useless-intersection": "error",
"sonar/no-useless-react-setstate": "error",
"sonar/no-var": "error",
"sonar/no-variable-usage-before-declaration": "error",
"sonar/no-vue-bypass-sanitization": "error",
"sonar/no-weak-cipher": "error",
"sonar/no-weak-keys": "error",
"sonar/no-wildcard-import": "error",
"sonar/non-existent-operator": "error",
"sonar/non-number-in-arithmetic-expression": "error",
"sonar/null-dereference": "error",
"sonar/object-alt-content": "error",
"sonar/object-shorthand": "error",
"sonar/operation-returning-nan": "error",
"sonar/os-command": "error",
"sonar/post-message": "error",
"sonar/prefer-default-last": "error",
"sonar/prefer-enum-initializers": "error",
"sonar/prefer-for-of": "error",
"sonar/prefer-function-type": "error",
"sonar/prefer-immediate-return": "error",
"sonar/prefer-namespace-keyword": "error",
"sonar/prefer-nullish-coalescing": "error",
"sonar/prefer-object-literal": "error",
"sonar/prefer-object-spread": "error",
"sonar/prefer-promise-shorthand": "error",
"sonar/prefer-single-boolean-return": "error",
"sonar/prefer-spread": "error",
"sonar/prefer-string-starts-ends-with": "error",
"sonar/prefer-template": "error",
"sonar/prefer-type-guard": "error",
"sonar/prefer-while": "error",
"sonar/production-debug": "error",
"sonar/pseudo-random": "error",
"sonar/public-static-readonly": "error",
"sonar/publicly-writable-directories": "error",
"sonar/reduce-initial-value": "error",
"sonar/redundant-type-aliases": "error",
"sonar/regex-complexity": "error",
"sonar/rules-of-hooks": "error",
"sonar/session-regeneration": "error",
"sonar/shorthand-property-grouping": "off",
"sonar/single-char-in-character-classes": "error",
"sonar/single-character-alternation": "error",
"sonar/slow-regex": "error",
"sonar/sonar-block-scoped-var": "error",
"sonar/sonar-jsx-no-leaked-render": "error",
"sonar/sonar-max-lines": "error",
"sonar/sonar-max-lines-per-function": "error",
"sonar/sonar-max-params": "error",
"sonar/sonar-no-control-regex": "error",
"sonar/sonar-no-dupe-keys": "error",
"sonar/sonar-no-empty-character-class": "error",
"sonar/sonar-no-fallthrough": "off",
"sonar/sonar-no-invalid-regexp": "error",
"sonar/sonar-no-magic-numbers": "off",
"sonar/sonar-no-misleading-character-class": "error",
"sonar/sonar-no-regex-spaces": "error",
"sonar/sonar-no-unused-class-component-methods": "error",
"sonar/sonar-no-unused-vars": "error",
"sonar/sonar-prefer-optional-chain": "error",
"sonar/sonar-prefer-read-only-props": "error",
"sonar/sonar-prefer-regexp-exec": "error",
"sonar/sql-queries": "error",
"sonar/stable-tests": "error",
"sonar/stateful-regex": "error",
"sonar/strict-transport-security": "error",
"sonar/strings-comparison": "error",
"sonar/super-invocation": "error",
"sonar/switch-without-default": "off",
"sonar/table-header": "error",
"sonar/table-header-reference": "error",
"sonar/test-check-exception": "error",
"sonar/todo-tag": "off",
"sonar/too-many-break-or-continue-in-loop": "error",
"sonar/unicode-aware-regex": "error",
"sonar/unnecessary-character-escapes": "error",
"sonar/unused-import": "error",
"sonar/unused-named-groups": "error",
"sonar/unverified-certificate": "error",
"sonar/unverified-hostname": "error",
"sonar/updated-const-var": "error",
"sonar/updated-loop-counter": "error",
"sonar/use-isnan": "error",
"sonar/use-type-alias": "error",
"sonar/values-not-convertible-to-numbers": "error",
"sonar/variable-name": "error",
"sonar/void-use": "error",
"sonar/weak-ssl": "error",
"sonar/x-powered-by": "error",
"sonar/xml-parser-xxe": "error",
"tailwind/classnames-order": "error",
"tailwind/enforces-negative-arbitrary-values": "error",
"tailwind/enforces-shorthand": "error",
"tailwind/migration-from-tailwind-2": "error",
"tailwind/no-arbitrary-value": "error",
"tailwind/no-contradicting-classname": "error",
"tailwind/no-custom-classname": "off",
"tailwind/no-unnecessary-arbitrary-value": "error",
"stylistic/array-bracket-newline": ["error", "consistent"],
"stylistic/array-bracket-spacing": "error",
"stylistic/array-element-newline": ["error", "consistent"],
"stylistic/arrow-parens": "error",
"stylistic/arrow-spacing": "error",
"stylistic/block-spacing": "off",
"stylistic/brace-style": "off",
"stylistic/comma-dangle": "off",
"stylistic/comma-spacing": "off",
"stylistic/comma-style": "error",
"stylistic/computed-property-spacing": "error",
"stylistic/curly-newline": "error",
"stylistic/dot-location": ["error", "property"],
"stylistic/eol-last": "error",
"stylistic/func-call-spacing": "off",
"stylistic/function-call-argument-newline": ["error", "consistent"],
"stylistic/function-call-spacing": "off",
"stylistic/function-paren-newline": ["error", "consistent"],
"stylistic/generator-star-spacing": "error",
"stylistic/implicit-arrow-linebreak": "error",
"stylistic/indent": "off",
"stylistic/indent-binary-ops": "error",
"stylistic/jsx-child-element-spacing": "error",
"stylistic/jsx-closing-bracket-location": "error",
"stylistic/jsx-closing-tag-location": "error",
"stylistic/jsx-curly-brace-presence": "error",
"stylistic/jsx-curly-newline": "error",
"stylistic/jsx-curly-spacing": "error",
"stylistic/jsx-equals-spacing": "error",
"stylistic/jsx-first-prop-new-line": "error",
"stylistic/jsx-function-call-newline": "error",
"stylistic/jsx-indent-props": ["error", 2],
"stylistic/jsx-max-props-per-line": "error",
"stylistic/jsx-newline": ["error", { prevent: true }],
"stylistic/jsx-one-expression-per-line": "error",
"stylistic/jsx-pascal-case": "error",
"stylistic/jsx-props-no-multi-spaces": "error",
"stylistic/jsx-quotes": "error",
"stylistic/jsx-self-closing-comp": "error",
"stylistic/jsx-sort-props": "off",
"stylistic/jsx-tag-spacing": "error",
"stylistic/jsx-wrap-multilines": [
"error",