eslint-config-auditor 0.4.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.
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.4.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,24 +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.18.0",
61
- "@typescript-eslint/parser": "^4.18.0",
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",
71
- "typescript": "^4.2.3"
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"
72
66
  }
73
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
  {
@@ -27,6 +27,7 @@
27
27
  },
28
28
  "rules": {
29
29
  "jsx-a11y/accessible-emoji": "error",
30
+ "jsx-a11y/alt-text": "error",
30
31
  "jsx-a11y/anchor-has-content": "error",
31
32
  "jsx-a11y/anchor-is-valid": [
32
33
  "error",
@@ -265,6 +266,7 @@
265
266
  "error",
266
267
  {
267
268
  "allowArrowFunctions": true,
269
+ "allowFunctions": true,
268
270
  "ignoreRefs": true
269
271
  }
270
272
  ],
@@ -281,6 +283,7 @@
281
283
  "allowAllCaps": true
282
284
  }
283
285
  ],
286
+ "react/jsx-uses-react": "off",
284
287
  "react/no-access-state-in-setstate": "error",
285
288
  "react/no-multi-comp": "off",
286
289
  "react/no-redundant-should-component-update": "error",
@@ -296,6 +299,7 @@
296
299
  "skipUndeclared": true
297
300
  }
298
301
  ],
302
+ "react/react-in-jsx-scope": "off",
299
303
  "react/self-closing-comp": "warn",
300
304
  "react/style-prop-object": "off",
301
305
  "react/void-dom-elements-no-children": "error"
@@ -36,6 +36,12 @@
36
36
  "error",
37
37
  "never"
38
38
  ],
39
+ "array-callback-return": [
40
+ "error",
41
+ {
42
+ "allowImplicit": true
43
+ }
44
+ ],
39
45
  "array-element-newline": [
40
46
  "error",
41
47
  "consistent"
@@ -110,7 +116,12 @@
110
116
  "error",
111
117
  "multi-line"
112
118
  ],
113
- "default-case": "error",
119
+ "default-case": [
120
+ "error",
121
+ {
122
+ "commentPattern": "^no default$"
123
+ }
124
+ ],
114
125
  "default-case-last": "error",
115
126
  "default-param-last": "error",
116
127
  "dot-location": [
@@ -136,6 +147,7 @@
136
147
  "error",
137
148
  "never"
138
149
  ],
150
+ "func-names": "warn",
139
151
  "func-style": [
140
152
  "warn",
141
153
  "declaration",
@@ -182,7 +194,7 @@
182
194
  "import/no-mutable-exports": "error",
183
195
  "import/no-named-as-default": "error",
184
196
  "import/no-named-as-default-member": "error",
185
- "import/no-named-default": "error",
197
+ "import/no-named-default": "error",
186
198
  "import/no-self-import": "error",
187
199
  "import/no-unused-modules": "error",
188
200
  "import/no-useless-path-segments": [
@@ -203,9 +215,25 @@
203
215
  "parent",
204
216
  "sibling",
205
217
  "index"
206
- ]
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
+ }
207
235
  ],
208
- "newlines-between": "always"
236
+ "pathGroupsExcludedImportTypes": []
209
237
  }
210
238
  ],
211
239
  "indent": [
@@ -293,6 +321,10 @@
293
321
  "exceptAfterSingleLine": true
294
322
  }
295
323
  ],
324
+ "max-classes-per-file": [
325
+ "off",
326
+ 1
327
+ ],
296
328
  "max-len": [
297
329
  "error",
298
330
  {
@@ -315,14 +347,14 @@
315
347
  "error",
316
348
  {
317
349
  "capIsNew": false,
318
- "newIsCap": true,
319
- "properties": true
350
+ "newIsCap": true
320
351
  }
321
352
  ],
322
353
  "new-parens": "error",
323
354
  "no-alert": "warn",
324
355
  "no-array-constructor": "error",
325
356
  "no-async-promise-executor": "error",
357
+ "no-await-in-loop": "error",
326
358
  "no-caller": "error",
327
359
  "no-case-declarations": "error",
328
360
  "no-class-assign": "error",
@@ -332,6 +364,16 @@
332
364
  "except-parens"
333
365
  ],
334
366
  "no-confusing-arrow": "error",
367
+ "no-console": [
368
+ "off",
369
+ {
370
+ "allow": [
371
+ "info",
372
+ "warn",
373
+ "error"
374
+ ]
375
+ }
376
+ ],
335
377
  "no-const-assign": "error",
336
378
  "no-constant-condition": [
337
379
  "error",
@@ -398,23 +440,32 @@
398
440
  ],
399
441
  "no-implied-eval": "error",
400
442
  "no-import-assign": "error",
443
+ "no-inline-comments": "off",
401
444
  "no-inner-declarations": "error",
402
445
  "no-invalid-regexp": "error",
403
446
  "no-invalid-this": "error",
404
447
  "no-irregular-whitespace": "error",
405
448
  "no-iterator": "error",
406
449
  "no-label-var": "error",
407
- "no-labels": [
408
- "error",
409
- {
410
- "allowLoop": false,
411
- "allowSwitch": false
412
- }
413
- ],
450
+ "no-labels": "error",
414
451
  "no-lone-blocks": "error",
415
- "no-lonely-if": "error",
452
+ "no-lonely-if": "off",
416
453
  "no-loop-func": "error",
417
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
+ ],
418
469
  "no-misleading-character-class": "error",
419
470
  "no-mixed-operators": [
420
471
  "error",
@@ -453,6 +504,7 @@
453
504
  "maxEOF": 0
454
505
  }
455
506
  ],
507
+ "no-negated-condition": "off",
456
508
  "no-nested-ternary": "error",
457
509
  "no-new": "error",
458
510
  "no-new-func": "error",
@@ -464,75 +516,12 @@
464
516
  "no-octal-escape": "error",
465
517
  "no-proto": "error",
466
518
  "no-prototype-builtins": "error",
467
- "no-redeclare": [
468
- "error",
469
- {
470
- "builtinGlobals": false
471
- }
472
- ],
519
+ "no-redeclare": "error",
473
520
  "no-regex-spaces": "error",
474
521
  "no-restricted-globals": [
475
522
  "error",
476
523
  "isFinite",
477
- "isNaN",
478
- "addEventListener",
479
- "blur",
480
- "close",
481
- "closed",
482
- "confirm",
483
- "defaultStatus",
484
- "defaultstatus",
485
- "event",
486
- "external",
487
- "find",
488
- "focus",
489
- "frameElement",
490
- "frames",
491
- "history",
492
- "innerHeight",
493
- "innerWidth",
494
- "length",
495
- "location",
496
- "locationbar",
497
- "menubar",
498
- "moveBy",
499
- "moveTo",
500
- "name",
501
- "onblur",
502
- "onerror",
503
- "onfocus",
504
- "onload",
505
- "onresize",
506
- "onunload",
507
- "open",
508
- "opener",
509
- "opera",
510
- "outerHeight",
511
- "outerWidth",
512
- "pageXOffset",
513
- "pageYOffset",
514
- "parent",
515
- "print",
516
- "removeEventListener",
517
- "resizeBy",
518
- "resizeTo",
519
- "screen",
520
- "screenLeft",
521
- "screenTop",
522
- "screenX",
523
- "screenY",
524
- "scroll",
525
- "scrollbars",
526
- "scrollBy",
527
- "scrollTo",
528
- "scrollX",
529
- "scrollY",
530
- "self",
531
- "status",
532
- "statusbar",
533
- "stop",
534
- "toolbar",
535
- "top"
524
+ "isNaN"
536
525
  ],
537
526
  "no-restricted-syntax": [
538
527
  "error",
@@ -564,6 +553,25 @@
564
553
  "no-self-compare": "error",
565
554
  "no-sequences": "error",
566
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
+ ],
567
575
  "no-shadow-restricted-names": "error",
568
576
  "no-sparse-arrays": "error",
569
577
  "no-tabs": "error",
@@ -605,7 +613,7 @@
605
613
  }
606
614
  ],
607
615
  "no-use-before-define": [
608
- "error",
616
+ "off",
609
617
  {
610
618
  "classes": false,
611
619
  "functions": false,
@@ -614,16 +622,19 @@
614
622
  ],
615
623
  "no-useless-backreference": "error",
616
624
  "no-useless-call": "error",
617
- "no-useless-catch": "error",
625
+ "no-useless-catch": "off",
618
626
  "no-useless-computed-key": "error",
619
627
  "no-useless-constructor": "error",
620
628
  "no-useless-escape": "error",
621
- "no-useless-rename": "error",
629
+ "no-useless-rename": [
630
+ "error"
631
+ ],
622
632
  "no-useless-return": "error",
623
- "no-var": "warn",
633
+ "no-var": "error",
624
634
  "no-void": "error",
625
635
  "no-whitespace-before-property": "error",
626
636
  "no-with": "error",
637
+ "node/callback-return": "off",
627
638
  "node/exports-style": [
628
639
  "error",
629
640
  "module.exports",
@@ -631,6 +642,7 @@
631
642
  "allowBatchAssign": false
632
643
  }
633
644
  ],
645
+ "node/global-require": "error",
634
646
  "node/handle-callback-err": [
635
647
  "error",
636
648
  "^(err|error|reason)$"
@@ -638,10 +650,11 @@
638
650
  "node/no-deprecated-api": "error",
639
651
  "node/no-exports-assign": "error",
640
652
  "node/no-extraneous-import": "error",
641
- "node/no-extraneous-require": "error",
653
+ "node/no-extraneous-require": "error",
642
654
  "node/no-missing-require": "error",
643
655
  "node/no-new-require": "error",
644
656
  "node/no-path-concat": "error",
657
+ "node/no-process-env": "off",
645
658
  "node/no-process-exit": "error",
646
659
  "node/no-restricted-import": 2,
647
660
  "node/no-restricted-require": 2,
@@ -659,6 +672,8 @@
659
672
  "node/prefer-global/text-encoder": "error",
660
673
  "node/prefer-global/url": "error",
661
674
  "node/prefer-global/url-search-params": "error",
675
+ "node/prefer-promises/dns": "warn",
676
+ "node/prefer-promises/fs": "warn",
662
677
  "node/process-exit-as-throw": "error",
663
678
  "node/shebang": "error",
664
679
  "object-curly-newline": [
@@ -678,12 +693,18 @@
678
693
  "allowMultiplePropertiesPerLine": true
679
694
  }
680
695
  ],
681
- "one-var": [
696
+ "object-shorthand": [
682
697
  "error",
698
+ "always",
683
699
  {
684
- "initialized": "never"
700
+ "avoidQuotes": true,
701
+ "ignoreConstructors": false
685
702
  }
686
703
  ],
704
+ "one-var": [
705
+ "error",
706
+ "never"
707
+ ],
687
708
  "operator-assignment": [
688
709
  "error",
689
710
  "always"
@@ -745,16 +766,25 @@
745
766
  "next": "return",
746
767
  "prev": "*"
747
768
  },
769
+ {
770
+ "blankLine": "any",
771
+ "next": "return",
772
+ "prev": "if"
773
+ },
774
+ {
775
+ "blankLine": "always",
776
+ "next": "return",
777
+ "prev": "block-like"
778
+ },
748
779
  {
749
780
  "blankLine": "always",
750
781
  "next": [
751
782
  "case",
752
- "break",
753
783
  "default"
754
784
  ],
755
785
  "prev": [
756
- "case",
757
- "break"
786
+ "break",
787
+ "return"
758
788
  ]
759
789
  },
760
790
  {
@@ -765,6 +795,22 @@
765
795
  "class",
766
796
  "multiline-block-like"
767
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
768
814
  }
769
815
  ],
770
816
  "prefer-const": [
@@ -774,18 +820,30 @@
774
820
  "ignoreReadBeforeAssign": true
775
821
  }
776
822
  ],
777
- "prefer-exponentiation-operator": "error",
778
- "prefer-numeric-literals": "error",
779
- "prefer-object-spread": "error",
780
- "prefer-promise-reject-errors": "error",
781
- "prefer-regex-literals": [
823
+ "prefer-destructuring": [
782
824
  "warn",
783
825
  {
784
- "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
785
837
  }
786
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",
787
844
  "prefer-rest-params": "error",
788
845
  "prefer-spread": "error",
846
+ "prefer-template": "warn",
789
847
  "promise/no-callback-in-promise": "warn",
790
848
  "promise/no-nesting": "warn",
791
849
  "promise/no-new-statics": "error",
@@ -807,6 +865,7 @@
807
865
  }
808
866
  ],
809
867
  "radix": "error",
868
+ "require-atomic-updates": "off",
810
869
  "require-await": "error",
811
870
  "require-yield": "error",
812
871
  "rest-spread-spacing": [
@@ -851,24 +910,27 @@
851
910
  "block": {
852
911
  "balanced": true,
853
912
  "exceptions": [
854
- "*"
913
+ "-",
914
+ "+"
855
915
  ],
856
916
  "markers": [
857
- "*package",
858
- "!",
859
- ",",
860
- ":",
861
- "::",
862
- "flow-include"
917
+ "-",
918
+ "+",
919
+ "?",
920
+ "!"
863
921
  ]
864
922
  },
865
923
  "line": {
924
+ "exceptions": [
925
+ "-",
926
+ "+"
927
+ ],
866
928
  "markers": [
867
- "*package",
929
+ "-",
930
+ "+",
931
+ "?",
868
932
  "!",
869
- "/",
870
- ",",
871
- "="
933
+ "/"
872
934
  ]
873
935
  }
874
936
  }
@@ -10,9 +10,9 @@
10
10
  "import/order": "off"
11
11
  }
12
12
  },
13
- {
14
- "files": [
15
- "*.test.ts",
13
+ {
14
+ "files": [
15
+ "*.test.ts",
16
16
  "*.test.tsx"
17
17
  ],
18
18
  "rules": {
@@ -64,6 +64,29 @@
64
64
  "ts-nocheck": true
65
65
  }
66
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
+ ],
67
90
  "@typescript-eslint/consistent-type-assertions": "error",
68
91
  "@typescript-eslint/consistent-type-definitions": "off",
69
92
  "@typescript-eslint/consistent-type-imports": [
@@ -170,6 +193,7 @@
170
193
  "@typescript-eslint/no-namespace": "error",
171
194
  "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
172
195
  "@typescript-eslint/no-non-null-assertion": "warn",
196
+ "@typescript-eslint/no-require-imports": "warn",
173
197
  "@typescript-eslint/no-shadow": [
174
198
  "error",
175
199
  {
@@ -191,7 +215,15 @@
191
215
  "@typescript-eslint/no-throw-literal": "warn",
192
216
  "@typescript-eslint/no-unnecessary-qualifier": "warn",
193
217
  "@typescript-eslint/no-unnecessary-type-arguments": "warn",
218
+ "@typescript-eslint/no-unnecessary-type-constraint": "warn",
194
219
  "@typescript-eslint/no-unused-expressions": "error",
220
+ "@typescript-eslint/no-unused-vars": [
221
+ "warn",
222
+ {
223
+ "argsIgnorePattern": "_+",
224
+ "ignoreRestSiblings": true
225
+ }
226
+ ],
195
227
  "@typescript-eslint/no-use-before-define": [
196
228
  "error",
197
229
  {
@@ -239,10 +271,10 @@
239
271
  "default-param-last": "off",
240
272
  "no-empty-function": "off",
241
273
  "no-magic-numbers": "off",
242
- "no-shadow": "off",
274
+ "no-unused-vars": "off",
243
275
  "no-use-before-define": "off",
244
276
  "no-useless-constructor": "off"
245
277
  }
246
- }
278
+ }
247
279
  ]
248
280
  }