eslint-config-auditor 0.2.0 → 0.5.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.
@@ -57,6 +57,29 @@
57
57
  "allowUnboundThis": true
58
58
  }
59
59
  ],
60
- "node/no-unsupported-features/es-syntax": "warn"
61
- }
60
+ "node/no-unsupported-features/es-syntax": "warn",
61
+ "node/no-missing-import": "warn",
62
+ "import/no-relative-parent-imports": "warn",
63
+ "node/no-unsupported-features/node-builtins": "warn",
64
+ "no-duplicate-imports": "warn",
65
+ "import/exports-last": ["error", "never"],
66
+ "node/no-callback-literal": "error",
67
+ "jsx-a11y/aria-role": "error",
68
+ "jsx-a11y/alt-text": "error",
69
+ "array-callback-return": [
70
+ "error",
71
+ {
72
+ "allowImplicit": false,
73
+ "checkForEach": false
74
+ }
75
+ ]
76
+ },
77
+ "object-shorthand": [
78
+ "error",
79
+ "always",
80
+ {
81
+ "avoidQuotes": true,
82
+ "ignoreConstructors": false
83
+ }
84
+ ]
62
85
  }
package/jest/jest.json CHANGED
@@ -20,6 +20,7 @@
20
20
  "jest/no-expect-resolves": "error",
21
21
  "jest/no-if": "off",
22
22
  "jest/no-test-return-statement": "off",
23
+ "jest/no-truthy-falsy": "off",
23
24
  "jest/prefer-hooks-on-top": "error",
24
25
  "jest/prefer-spy-on": "warn",
25
26
  "jest/prefer-todo": "warn"
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "node": ">=10"
9
9
  },
10
10
  "name": "eslint-config-auditor",
11
- "version": "0.2.0",
11
+ "version": "0.5.0",
12
12
  "description": "Shareable ESLint Config to help you write clear, efficient JavaScript code.",
13
13
  "main": "module.js",
14
14
  "author": {
@@ -50,23 +50,18 @@
50
50
  "standard",
51
51
  "alternative"
52
52
  ],
53
- "peerDependencies": {
54
- "eslint": "^7.12.1",
55
- "eslint-plugin-import": "^2.22.1",
56
- "eslint-plugin-node": "^11.1.0",
57
- "eslint-plugin-promise": "^4.2.1"
58
- },
59
53
  "devDependencies": {
60
- "@typescript-eslint/eslint-plugin": "^4.9.1",
61
- "@typescript-eslint/parser": "^4.9.1",
62
- "eslint": "^7.12.1",
54
+ "@typescript-eslint/eslint-plugin": "^5.10.1",
55
+ "@typescript-eslint/parser": "^5.10.1",
56
+ "eslint": "^8.8.0",
63
57
  "eslint-config-rule-tester": "^0.2.0",
64
- "eslint-plugin-import": "^2.22.1",
65
- "eslint-plugin-jest": "^24.1.3",
66
- "eslint-plugin-jsx-a11y": "^6.4.1",
58
+ "eslint-plugin-import": "^2.25.4",
59
+ "eslint-plugin-jest": "^26.0.0",
60
+ "eslint-plugin-jsx-a11y": "^6.5.1",
67
61
  "eslint-plugin-node": "^11.1.0",
68
- "eslint-plugin-promise": "^4.2.1",
69
- "eslint-plugin-react": "^7.21.5",
70
- "eslint-plugin-react-hooks": "^4.2.0"
62
+ "eslint-plugin-promise": "^6.0.0",
63
+ "eslint-plugin-react": "^7.28.0",
64
+ "eslint-plugin-react-hooks": "^4.3.0",
65
+ "typescript": "^4.5.5"
71
66
  }
72
67
  }
package/react/react.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "react",
14
14
  "jsx-a11y",
15
15
  "react-hooks"
16
- ],
16
+ ],
17
17
  "settings": {
18
18
  "linkComponents": [
19
19
  {
@@ -44,7 +44,6 @@
44
44
  "jsx-a11y/aria-activedescendant-has-tabindex": "error",
45
45
  "jsx-a11y/aria-props": "error",
46
46
  "jsx-a11y/aria-proptypes": "error",
47
- "jsx-a11y/aria-role": "error",
48
47
  "jsx-a11y/aria-unsupported-elements": "error",
49
48
  "jsx-a11y/click-events-have-key-events": "error",
50
49
  "jsx-a11y/control-has-associated-label": [
@@ -267,6 +266,7 @@
267
266
  "error",
268
267
  {
269
268
  "allowArrowFunctions": true,
269
+ "allowFunctions": true,
270
270
  "ignoreRefs": true
271
271
  }
272
272
  ],
@@ -283,6 +283,7 @@
283
283
  "allowAllCaps": true
284
284
  }
285
285
  ],
286
+ "react/jsx-uses-react": "off",
286
287
  "react/no-access-state-in-setstate": "error",
287
288
  "react/no-multi-comp": "off",
288
289
  "react/no-redundant-should-component-update": "error",
@@ -298,6 +299,7 @@
298
299
  "skipUndeclared": true
299
300
  }
300
301
  ],
302
+ "react/react-in-jsx-scope": "off",
301
303
  "react/self-closing-comp": "warn",
302
304
  "react/style-prop-object": "off",
303
305
  "react/void-dom-elements-no-children": "error"
@@ -39,8 +39,7 @@
39
39
  "array-callback-return": [
40
40
  "error",
41
41
  {
42
- "allowImplicit": false,
43
- "checkForEach": false
42
+ "allowImplicit": true
44
43
  }
45
44
  ],
46
45
  "array-element-newline": [
@@ -117,7 +116,12 @@
117
116
  "error",
118
117
  "multi-line"
119
118
  ],
120
- "default-case": "error",
119
+ "default-case": [
120
+ "error",
121
+ {
122
+ "commentPattern": "^no default$"
123
+ }
124
+ ],
121
125
  "default-case-last": "error",
122
126
  "default-param-last": "error",
123
127
  "dot-location": [
@@ -143,6 +147,7 @@
143
147
  "error",
144
148
  "never"
145
149
  ],
150
+ "func-names": "warn",
146
151
  "func-style": [
147
152
  "warn",
148
153
  "declaration",
@@ -173,7 +178,6 @@
173
178
  ],
174
179
  "grouped-accessor-pairs": "error",
175
180
  "import/export": "error",
176
- "import/exports-last": "error",
177
181
  "import/first": "error",
178
182
  "import/newline-after-import": "error",
179
183
  "import/no-absolute-path": [
@@ -191,15 +195,7 @@
191
195
  "import/no-named-as-default": "error",
192
196
  "import/no-named-as-default-member": "error",
193
197
  "import/no-named-default": "error",
194
- "import/no-relative-parent-imports": "error",
195
198
  "import/no-self-import": "error",
196
- "import/no-unresolved": [
197
- 2,
198
- {
199
- "caseSensitive": true,
200
- "commonjs": true
201
- }
202
- ],
203
199
  "import/no-unused-modules": "error",
204
200
  "import/no-useless-path-segments": [
205
201
  "error",
@@ -219,9 +215,25 @@
219
215
  "parent",
220
216
  "sibling",
221
217
  "index"
222
- ]
218
+ ],
219
+ "object",
220
+ "type"
221
+ ],
222
+ "newlines-between": "always",
223
+ "pathGroups": [
224
+ {
225
+ "group": "internal",
226
+ "pattern": "{$,@}/**"
227
+ },
228
+ {
229
+ "group": "object",
230
+ "pattern": "*.json",
231
+ "patternOptions": {
232
+ "matchBase": true
233
+ }
234
+ }
223
235
  ],
224
- "newlines-between": "always"
236
+ "pathGroupsExcludedImportTypes": []
225
237
  }
226
238
  ],
227
239
  "indent": [
@@ -309,6 +321,10 @@
309
321
  "exceptAfterSingleLine": true
310
322
  }
311
323
  ],
324
+ "max-classes-per-file": [
325
+ "off",
326
+ 1
327
+ ],
312
328
  "max-len": [
313
329
  "error",
314
330
  {
@@ -331,14 +347,14 @@
331
347
  "error",
332
348
  {
333
349
  "capIsNew": false,
334
- "newIsCap": true,
335
- "properties": true
350
+ "newIsCap": true
336
351
  }
337
352
  ],
338
353
  "new-parens": "error",
339
354
  "no-alert": "warn",
340
355
  "no-array-constructor": "error",
341
356
  "no-async-promise-executor": "error",
357
+ "no-await-in-loop": "error",
342
358
  "no-caller": "error",
343
359
  "no-case-declarations": "error",
344
360
  "no-class-assign": "error",
@@ -348,6 +364,16 @@
348
364
  "except-parens"
349
365
  ],
350
366
  "no-confusing-arrow": "error",
367
+ "no-console": [
368
+ "off",
369
+ {
370
+ "allow": [
371
+ "info",
372
+ "warn",
373
+ "error"
374
+ ]
375
+ }
376
+ ],
351
377
  "no-const-assign": "error",
352
378
  "no-constant-condition": [
353
379
  "error",
@@ -364,7 +390,6 @@
364
390
  "no-dupe-else-if": "error",
365
391
  "no-dupe-keys": "error",
366
392
  "no-duplicate-case": "error",
367
- "no-duplicate-imports": "error",
368
393
  "no-else-return": [
369
394
  "error",
370
395
  {
@@ -415,24 +440,32 @@
415
440
  ],
416
441
  "no-implied-eval": "error",
417
442
  "no-import-assign": "error",
418
- "no-inline-comments": "warn",
443
+ "no-inline-comments": "off",
419
444
  "no-inner-declarations": "error",
420
445
  "no-invalid-regexp": "error",
421
446
  "no-invalid-this": "error",
422
447
  "no-irregular-whitespace": "error",
423
448
  "no-iterator": "error",
424
449
  "no-label-var": "error",
425
- "no-labels": [
426
- "error",
427
- {
428
- "allowLoop": false,
429
- "allowSwitch": false
430
- }
431
- ],
450
+ "no-labels": "error",
432
451
  "no-lone-blocks": "error",
433
- "no-lonely-if": "error",
452
+ "no-lonely-if": "off",
434
453
  "no-loop-func": "error",
435
454
  "no-loss-of-precision": "error",
455
+ "no-magic-numbers": [
456
+ "off",
457
+ {
458
+ "detectObjects": false,
459
+ "enforceConst": true,
460
+ "ignore": [
461
+ 0,
462
+ 1,
463
+ 2,
464
+ 3
465
+ ],
466
+ "ignoreArrayIndexes": true
467
+ }
468
+ ],
436
469
  "no-misleading-character-class": "error",
437
470
  "no-mixed-operators": [
438
471
  "error",
@@ -471,6 +504,7 @@
471
504
  "maxEOF": 0
472
505
  }
473
506
  ],
507
+ "no-negated-condition": "off",
474
508
  "no-nested-ternary": "error",
475
509
  "no-new": "error",
476
510
  "no-new-func": "error",
@@ -482,75 +516,12 @@
482
516
  "no-octal-escape": "error",
483
517
  "no-proto": "error",
484
518
  "no-prototype-builtins": "error",
485
- "no-redeclare": [
486
- "error",
487
- {
488
- "builtinGlobals": false
489
- }
490
- ],
519
+ "no-redeclare": "error",
491
520
  "no-regex-spaces": "error",
492
521
  "no-restricted-globals": [
493
522
  "error",
494
523
  "isFinite",
495
- "isNaN",
496
- "addEventListener",
497
- "blur",
498
- "close",
499
- "closed",
500
- "confirm",
501
- "defaultStatus",
502
- "defaultstatus",
503
- "event",
504
- "external",
505
- "find",
506
- "focus",
507
- "frameElement",
508
- "frames",
509
- "history",
510
- "innerHeight",
511
- "innerWidth",
512
- "length",
513
- "location",
514
- "locationbar",
515
- "menubar",
516
- "moveBy",
517
- "moveTo",
518
- "name",
519
- "onblur",
520
- "onerror",
521
- "onfocus",
522
- "onload",
523
- "onresize",
524
- "onunload",
525
- "open",
526
- "opener",
527
- "opera",
528
- "outerHeight",
529
- "outerWidth",
530
- "pageXOffset",
531
- "pageYOffset",
532
- "parent",
533
- "print",
534
- "removeEventListener",
535
- "resizeBy",
536
- "resizeTo",
537
- "screen",
538
- "screenLeft",
539
- "screenTop",
540
- "screenX",
541
- "screenY",
542
- "scroll",
543
- "scrollbars",
544
- "scrollBy",
545
- "scrollTo",
546
- "scrollX",
547
- "scrollY",
548
- "self",
549
- "status",
550
- "statusbar",
551
- "stop",
552
- "toolbar",
553
- "top"
524
+ "isNaN"
554
525
  ],
555
526
  "no-restricted-syntax": [
556
527
  "error",
@@ -582,6 +553,25 @@
582
553
  "no-self-compare": "error",
583
554
  "no-sequences": "error",
584
555
  "no-setter-return": "error",
556
+ "no-shadow": [
557
+ "error",
558
+ {
559
+ "allow": [
560
+ "cb",
561
+ "callback",
562
+ "data",
563
+ "done",
564
+ "error",
565
+ "item",
566
+ "items",
567
+ "next",
568
+ "reject",
569
+ "res",
570
+ "resolve",
571
+ "response"
572
+ ]
573
+ }
574
+ ],
585
575
  "no-shadow-restricted-names": "error",
586
576
  "no-sparse-arrays": "error",
587
577
  "no-tabs": "error",
@@ -623,7 +613,7 @@
623
613
  }
624
614
  ],
625
615
  "no-use-before-define": [
626
- "error",
616
+ "off",
627
617
  {
628
618
  "classes": false,
629
619
  "functions": false,
@@ -632,16 +622,19 @@
632
622
  ],
633
623
  "no-useless-backreference": "error",
634
624
  "no-useless-call": "error",
635
- "no-useless-catch": "error",
625
+ "no-useless-catch": "off",
636
626
  "no-useless-computed-key": "error",
637
627
  "no-useless-constructor": "error",
638
628
  "no-useless-escape": "error",
639
- "no-useless-rename": "error",
629
+ "no-useless-rename": [
630
+ "error"
631
+ ],
640
632
  "no-useless-return": "error",
641
- "no-var": "warn",
633
+ "no-var": "error",
642
634
  "no-void": "error",
643
635
  "no-whitespace-before-property": "error",
644
636
  "no-with": "error",
637
+ "node/callback-return": "off",
645
638
  "node/exports-style": [
646
639
  "error",
647
640
  "module.exports",
@@ -649,19 +642,19 @@
649
642
  "allowBatchAssign": false
650
643
  }
651
644
  ],
645
+ "node/global-require": "error",
652
646
  "node/handle-callback-err": [
653
647
  "error",
654
648
  "^(err|error|reason)$"
655
649
  ],
656
- "node/no-callback-literal": "error",
657
650
  "node/no-deprecated-api": "error",
658
651
  "node/no-exports-assign": "error",
659
652
  "node/no-extraneous-import": "error",
660
653
  "node/no-extraneous-require": "error",
661
- "node/no-missing-import": "error",
662
654
  "node/no-missing-require": "error",
663
655
  "node/no-new-require": "error",
664
656
  "node/no-path-concat": "error",
657
+ "node/no-process-env": "off",
665
658
  "node/no-process-exit": "error",
666
659
  "node/no-restricted-import": 2,
667
660
  "node/no-restricted-require": 2,
@@ -672,7 +665,6 @@
672
665
  }
673
666
  ],
674
667
  "node/no-unsupported-features/es-builtins": "error",
675
- "node/no-unsupported-features/node-builtins": "error",
676
668
  "node/prefer-global/buffer": "error",
677
669
  "node/prefer-global/console": "error",
678
670
  "node/prefer-global/process": "error",
@@ -680,6 +672,8 @@
680
672
  "node/prefer-global/text-encoder": "error",
681
673
  "node/prefer-global/url": "error",
682
674
  "node/prefer-global/url-search-params": "error",
675
+ "node/prefer-promises/dns": "warn",
676
+ "node/prefer-promises/fs": "warn",
683
677
  "node/process-exit-as-throw": "error",
684
678
  "node/shebang": "error",
685
679
  "object-curly-newline": [
@@ -691,7 +685,7 @@
691
685
  ],
692
686
  "object-curly-spacing": [
693
687
  "error",
694
- "always"
688
+ "never"
695
689
  ],
696
690
  "object-property-newline": [
697
691
  "error",
@@ -709,9 +703,7 @@
709
703
  ],
710
704
  "one-var": [
711
705
  "error",
712
- {
713
- "initialized": "never"
714
- }
706
+ "never"
715
707
  ],
716
708
  "operator-assignment": [
717
709
  "error",
@@ -774,16 +766,25 @@
774
766
  "next": "return",
775
767
  "prev": "*"
776
768
  },
769
+ {
770
+ "blankLine": "any",
771
+ "next": "return",
772
+ "prev": "if"
773
+ },
774
+ {
775
+ "blankLine": "always",
776
+ "next": "return",
777
+ "prev": "block-like"
778
+ },
777
779
  {
778
780
  "blankLine": "always",
779
781
  "next": [
780
782
  "case",
781
- "break",
782
783
  "default"
783
784
  ],
784
785
  "prev": [
785
- "case",
786
- "break"
786
+ "break",
787
+ "return"
787
788
  ]
788
789
  },
789
790
  {
@@ -794,6 +795,22 @@
794
795
  "class",
795
796
  "multiline-block-like"
796
797
  ]
798
+ },
799
+ {
800
+ "blankLine": "any",
801
+ "next": [
802
+ "cjs-import"
803
+ ],
804
+ "prev": [
805
+ "cjs-import"
806
+ ]
807
+ }
808
+ ],
809
+ "prefer-arrow-callback": [
810
+ "off",
811
+ {
812
+ "allowNamedFunctions": false,
813
+ "allowUnboundThis": true
797
814
  }
798
815
  ],
799
816
  "prefer-const": [
@@ -803,16 +820,27 @@
803
820
  "ignoreReadBeforeAssign": true
804
821
  }
805
822
  ],
806
- "prefer-exponentiation-operator": "error",
807
- "prefer-numeric-literals": "error",
808
- "prefer-object-spread": "error",
809
- "prefer-promise-reject-errors": "error",
810
- "prefer-regex-literals": [
823
+ "prefer-destructuring": [
811
824
  "warn",
812
825
  {
813
- "disallowRedundantWrapping": true
826
+ "AssignmentExpression": {
827
+ "array": false,
828
+ "object": false
829
+ },
830
+ "VariableDeclarator": {
831
+ "array": true,
832
+ "object": true
833
+ }
834
+ },
835
+ {
836
+ "enforceForRenamedProperties": false
814
837
  }
815
838
  ],
839
+ "prefer-exponentiation-operator": "error",
840
+ "prefer-numeric-literals": "error",
841
+ "prefer-object-spread": "error",
842
+ "prefer-promise-reject-errors": "error",
843
+ "prefer-regex-literals": "warn",
816
844
  "prefer-rest-params": "error",
817
845
  "prefer-spread": "error",
818
846
  "prefer-template": "warn",
@@ -837,6 +865,7 @@
837
865
  }
838
866
  ],
839
867
  "radix": "error",
868
+ "require-atomic-updates": "off",
840
869
  "require-await": "error",
841
870
  "require-yield": "error",
842
871
  "rest-spread-spacing": [
@@ -881,24 +910,27 @@
881
910
  "block": {
882
911
  "balanced": true,
883
912
  "exceptions": [
884
- "*"
913
+ "-",
914
+ "+"
885
915
  ],
886
916
  "markers": [
887
- "*package",
888
- "!",
889
- ",",
890
- ":",
891
- "::",
892
- "flow-include"
917
+ "-",
918
+ "+",
919
+ "?",
920
+ "!"
893
921
  ]
894
922
  },
895
923
  "line": {
924
+ "exceptions": [
925
+ "-",
926
+ "+"
927
+ ],
896
928
  "markers": [
897
- "*package",
929
+ "-",
930
+ "+",
931
+ "?",
898
932
  "!",
899
- "/",
900
- ",",
901
- "="
933
+ "/"
902
934
  ]
903
935
  }
904
936
  }
@@ -11,6 +11,15 @@
11
11
  }
12
12
  },
13
13
  {
14
+ "files": [
15
+ "*.test.ts",
16
+ "*.test.tsx"
17
+ ],
18
+ "rules": {
19
+ "@typescript-eslint/no-non-null-assertion": "off"
20
+ }
21
+ },
22
+ {
14
23
  "extends": [
15
24
  "plugin:import/typescript",
16
25
  "plugin:@typescript-eslint/eslint-recommended",
@@ -29,7 +38,7 @@
29
38
  "*/*/tsconfig{.eslint.json,.json}"
30
39
  ],
31
40
  "projectFolderIgnoreList": [
32
- "node_modules/**/*"
41
+ "/node_modules/i"
33
42
  ],
34
43
  "sourceType": "module"
35
44
  },
@@ -55,6 +64,30 @@
55
64
  "ts-nocheck": true
56
65
  }
57
66
  ],
67
+ "@typescript-eslint/ban-types": [
68
+ "error",
69
+ {
70
+ "types": {
71
+ "Boolean": {
72
+ "fixWith": "boolean",
73
+ "message": "Use boolean instead"
74
+ },
75
+ "Number": {
76
+ "fixWith": "number",
77
+ "message": "Use number instead"
78
+ },
79
+ "String": {
80
+ "fixWith": "string",
81
+ "message": "Use string instead"
82
+ },
83
+ "Symbol": {
84
+ "fixWith": "symbol",
85
+ "message": "Use symbol instead"
86
+ }
87
+ }
88
+ }
89
+ ],
90
+ "@typescript-eslint/consistent-type-assertions": "error",
58
91
  "@typescript-eslint/consistent-type-definitions": "off",
59
92
  "@typescript-eslint/consistent-type-imports": [
60
93
  "warn",
@@ -64,6 +97,7 @@
64
97
  }
65
98
  ],
66
99
  "@typescript-eslint/default-param-last": "error",
100
+ "@typescript-eslint/dot-notation": "error",
67
101
  "@typescript-eslint/explicit-function-return-type": "off",
68
102
  "@typescript-eslint/explicit-member-accessibility": [
69
103
  "error",
@@ -82,6 +116,7 @@
82
116
  "error",
83
117
  {
84
118
  "format": [
119
+ "PascalCase",
85
120
  "camelCase"
86
121
  ],
87
122
  "leadingUnderscore": "allow",
@@ -114,6 +149,10 @@
114
149
  {
115
150
  "format": null,
116
151
  "selector": "memberLike"
152
+ },
153
+ {
154
+ "format": null,
155
+ "selector": "parameter"
117
156
  }
118
157
  ],
119
158
  "@typescript-eslint/no-empty-function": [
@@ -126,7 +165,14 @@
126
165
  ]
127
166
  }
128
167
  ],
168
+ "@typescript-eslint/no-empty-interface": "error",
129
169
  "@typescript-eslint/no-implied-eval": "error",
170
+ "@typescript-eslint/no-inferrable-types": [
171
+ "error",
172
+ {
173
+ "ignoreParameters": true
174
+ }
175
+ ],
130
176
  "@typescript-eslint/no-magic-numbers": [
131
177
  "off",
132
178
  {
@@ -143,6 +189,8 @@
143
189
  "ignoreNumericLiteralTypes": true
144
190
  }
145
191
  ],
192
+ "@typescript-eslint/no-misused-new": "error",
193
+ "@typescript-eslint/no-namespace": "error",
146
194
  "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
147
195
  "@typescript-eslint/no-non-null-assertion": "warn",
148
196
  "@typescript-eslint/no-require-imports": "warn",
@@ -150,11 +198,17 @@
150
198
  "error",
151
199
  {
152
200
  "allow": [
201
+ "cb",
202
+ "callback",
203
+ "data",
153
204
  "done",
205
+ "error",
154
206
  "next",
155
- "resolve",
156
207
  "reject",
157
- "cb"
208
+ "req",
209
+ "res",
210
+ "resolve",
211
+ "response"
158
212
  ]
159
213
  }
160
214
  ],
@@ -162,6 +216,7 @@
162
216
  "@typescript-eslint/no-unnecessary-qualifier": "warn",
163
217
  "@typescript-eslint/no-unnecessary-type-arguments": "warn",
164
218
  "@typescript-eslint/no-unnecessary-type-constraint": "warn",
219
+ "@typescript-eslint/no-unused-expressions": "error",
165
220
  "@typescript-eslint/no-unused-vars": [
166
221
  "warn",
167
222
  {
@@ -182,6 +237,8 @@
182
237
  "@typescript-eslint/no-useless-constructor": "error",
183
238
  "@typescript-eslint/prefer-as-const": "error",
184
239
  "@typescript-eslint/prefer-enum-initializers": "warn",
240
+ "@typescript-eslint/prefer-function-type": "error",
241
+ "@typescript-eslint/prefer-namespace-keyword": "error",
185
242
  "@typescript-eslint/prefer-nullish-coalescing": [
186
243
  "warn",
187
244
  {
@@ -191,13 +248,32 @@
191
248
  }
192
249
  ],
193
250
  "@typescript-eslint/prefer-optional-chain": "warn",
251
+ "@typescript-eslint/quotes": [
252
+ "error",
253
+ "single"
254
+ ],
194
255
  "@typescript-eslint/require-array-sort-compare": "error",
195
256
  "@typescript-eslint/restrict-plus-operands": [
196
257
  "error",
197
258
  {
198
259
  "checkCompoundAssignments": true
199
260
  }
200
- ]
261
+ ],
262
+ "@typescript-eslint/triple-slash-reference": [
263
+ "error",
264
+ {
265
+ "lib": "always",
266
+ "path": "always",
267
+ "types": "prefer-import"
268
+ }
269
+ ],
270
+ "camelcase": "off",
271
+ "default-param-last": "off",
272
+ "no-empty-function": "off",
273
+ "no-magic-numbers": "off",
274
+ "no-unused-vars": "off",
275
+ "no-use-before-define": "off",
276
+ "no-useless-constructor": "off"
201
277
  }
202
278
  }
203
279
  ]