@ethang/eslint-config 18.4.20 → 19.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/README.md +4 -4
- package/config.react.js +5 -1
- package/eslint.config.js +280 -4
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
Do **NOT** use this with Prettier! Styling rules are included.
|
|
6
6
|
|
|
7
7
|
* 614 errored rules.
|
|
8
|
-
*
|
|
8
|
+
* 300 rules from [eslint-plugin-sonarjs](https://github.com/SonarSource/eslint-plugin-sonarjs)
|
|
9
|
+
* 140 rules from vanilla EsLint
|
|
9
10
|
* 113 rules from [sindresorhus/eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
|
|
10
|
-
*
|
|
11
|
+
* 103 rules from [@typescript/eslint](https://github.com/typescript-eslint/typescript-eslint)
|
|
11
12
|
* 91 rules from [@stylistic/eslint-plugin](https://eslint.style/)
|
|
12
13
|
* 42 rules from [eslint-plugin-lodash](https://github.com/wix-incubator/eslint-plugin-lodash)
|
|
13
14
|
* 35 rules from [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)
|
|
14
|
-
* 32 rules from [eslint-plugin-sonarjs](https://github.com/SonarSource/eslint-plugin-sonarjs)
|
|
15
15
|
* 20 rules from [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n/tree/67bbfdf3c6862dcbfe455a4afbd83fa60f9d1ea4)
|
|
16
16
|
* 20 rules from [eslint-plugin-github](https://github.com/github/eslint-plugin-github)
|
|
17
17
|
* 19 rules from [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist)
|
|
18
18
|
* 7 rules from [eslint-plugin-tailwindcss](https://github.com/francoismassart/eslint-plugin-tailwindcss)
|
|
19
19
|
* 4 rules from [eslint-plugin-barrel-files](https://github.com/thepassle/eslint-plugin-barrel-files)
|
|
20
|
-
*
|
|
20
|
+
* 4 rules from [@tanstack/eslint-plugin-query](https://tanstack.com/query/latest/docs/eslint/eslint-plugin-query)
|
|
21
21
|
* 1 rule from [eslint-plugin-depend](https://github.com/es-tooling/eslint-plugin-depend/tree/main)
|
|
22
22
|
* 1 rule from [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat)
|
|
23
23
|
|
package/config.react.js
CHANGED
|
@@ -52,6 +52,8 @@ export default tseslint.config({
|
|
|
52
52
|
"react/no-class-component": "error",
|
|
53
53
|
"react/no-clone-element": "error",
|
|
54
54
|
"react/no-comment-textnodes": "error",
|
|
55
|
+
"react/no-complex-conditional-rendering": "error",
|
|
56
|
+
"react/no-complicated-conditional-rendering": "error",
|
|
55
57
|
"react/no-component-will-mount": "error",
|
|
56
58
|
"react/no-component-will-receive-props": "error",
|
|
57
59
|
"react/no-component-will-update": "error",
|
|
@@ -80,8 +82,10 @@ export default tseslint.config({
|
|
|
80
82
|
"react/no-useless-fragment": "error",
|
|
81
83
|
"react/prefer-destructuring-assignment": "error",
|
|
82
84
|
"react/prefer-read-only-props": "error",
|
|
83
|
-
|
|
84
85
|
"react/prefer-shorthand-boolean": "error",
|
|
85
86
|
"react/prefer-shorthand-fragment": "error",
|
|
87
|
+
"react/web-api/no-leaked-event-listener": "error",
|
|
88
|
+
"react/web-api/no-leaked-interval": "error",
|
|
89
|
+
"react/web-api/no-leaked-timeout": "error",
|
|
86
90
|
},
|
|
87
91
|
});
|
package/eslint.config.js
CHANGED
|
@@ -25,7 +25,7 @@ export const languageOptions = {
|
|
|
25
25
|
export const ignores = ["eslint.config.js", "node_modules", "dist"];
|
|
26
26
|
|
|
27
27
|
export default tseslint.config({
|
|
28
|
-
files: ["**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts}"],
|
|
28
|
+
files: ["**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,css,html}"],
|
|
29
29
|
ignores,
|
|
30
30
|
languageOptions,
|
|
31
31
|
plugins: {
|
|
@@ -55,6 +55,8 @@ export default tseslint.config({
|
|
|
55
55
|
"array-callback-return": "error",
|
|
56
56
|
"arrow-body-style": ["error", "always"],
|
|
57
57
|
"block-scoped-var": "error",
|
|
58
|
+
"camelcase": "off", // No
|
|
59
|
+
"capitalized-comments": "off", // No
|
|
58
60
|
"constructor-super": "error",
|
|
59
61
|
eqeqeq: "error",
|
|
60
62
|
"for-direction": "error",
|
|
@@ -72,8 +74,8 @@ export default tseslint.config({
|
|
|
72
74
|
"logical-assignment-operators": "error",
|
|
73
75
|
"max-classes-per-file": "error",
|
|
74
76
|
"max-depth": "error",
|
|
75
|
-
"max-lines": "
|
|
76
|
-
"max-lines-per-function": "
|
|
77
|
+
"max-lines": "off", // Handled by Sonar
|
|
78
|
+
"max-lines-per-function": "off", // Handled by Sonar
|
|
77
79
|
"max-nested-callbacks": "error",
|
|
78
80
|
"max-statements": "error",
|
|
79
81
|
"no-alert": "error",
|
|
@@ -237,7 +239,7 @@ export default tseslint.config({
|
|
|
237
239
|
"@typescript-eslint/default-param-last": "error",
|
|
238
240
|
"@typescript-eslint/dot-notation": "error",
|
|
239
241
|
"@typescript-eslint/explicit-member-accessibility": "error",
|
|
240
|
-
"@typescript-eslint/max-params": "
|
|
242
|
+
"@typescript-eslint/max-params": "off", // Handled by Sonar
|
|
241
243
|
"@typescript-eslint/method-signature-style": "error",
|
|
242
244
|
"@typescript-eslint/no-array-constructor": "error",
|
|
243
245
|
"@typescript-eslint/no-array-delete": "error",
|
|
@@ -496,41 +498,315 @@ export default tseslint.config({
|
|
|
496
498
|
"lodash/prop-shorthand": ["error", "always"],
|
|
497
499
|
"lodash/unwrap": "error",
|
|
498
500
|
|
|
501
|
+
"sonar/accessor-pairs": "error",
|
|
502
|
+
"sonar/alt-text": "error",
|
|
503
|
+
"sonar/anchor-has-content": "error",
|
|
504
|
+
"sonar/anchor-is-valid": "error",
|
|
505
|
+
"sonar/anchor-precedence": "error",
|
|
506
|
+
"sonar/argument-type": "error",
|
|
507
|
+
"sonar/arguments-order": "error",
|
|
508
|
+
"sonar/arguments-usage": "error",
|
|
509
|
+
"sonar/array-callback-without-return": "error",
|
|
510
|
+
"sonar/array-constructor": "error",
|
|
511
|
+
"sonar/arrow-function-convention": "off", // Not handled by Sonar
|
|
512
|
+
"sonar/assertions-in-tests": "error",
|
|
513
|
+
"sonar/aws-apigateway-public-api": "error",
|
|
514
|
+
"sonar/aws-ec2-rds-dms-public": "error",
|
|
515
|
+
"sonar/aws-ec2-unencrypted-ebs-volume": "error",
|
|
516
|
+
"sonar/aws-efs-unencrypted": "error",
|
|
517
|
+
"sonar/aws-iam-all-privileges": "error",
|
|
518
|
+
"sonar/aws-iam-all-resources-accessible": "error",
|
|
519
|
+
"sonar/aws-iam-privilege-escalation": "error",
|
|
520
|
+
"sonar/aws-iam-public-access": "error",
|
|
521
|
+
"sonar/aws-opensearchservice-domain": "error",
|
|
522
|
+
"sonar/aws-rds-unencrypted-databases": "error",
|
|
523
|
+
"sonar/aws-restricted-ip-admin-access": "error",
|
|
524
|
+
"sonar/aws-s3-bucket-granted-access": "error",
|
|
525
|
+
"sonar/aws-s3-bucket-insecure-http": "error",
|
|
526
|
+
"sonar/aws-s3-bucket-public-access": "error",
|
|
527
|
+
"sonar/aws-s3-bucket-versioning": "error",
|
|
528
|
+
"sonar/aws-sagemaker-unencrypted-notebook": "error",
|
|
529
|
+
"sonar/aws-sns-unencrypted-topics": "error",
|
|
530
|
+
"sonar/aws-sqs-unencrypted-queue": "error",
|
|
531
|
+
"sonar/bitwise-operators": "error",
|
|
532
|
+
"sonar/bool-param-default": "error",
|
|
533
|
+
"sonar/call-argument-line": "error",
|
|
534
|
+
"sonar/certificate-transparency": "error",
|
|
535
|
+
"sonar/chai-determinate-assertion": "error",
|
|
536
|
+
"sonar/class-name": "error",
|
|
537
|
+
"sonar/class-prototype": "error",
|
|
538
|
+
"sonar/code-eval": "error",
|
|
499
539
|
"sonar/cognitive-complexity": "error",
|
|
540
|
+
"sonar/comma-or-logical-or-case": "error",
|
|
541
|
+
"sonar/comment-regex": "off", // Rule template
|
|
542
|
+
"sonar/concise-regex": "error",
|
|
543
|
+
"sonar/confidential-information-logging": "error",
|
|
544
|
+
"sonar/constructor-for-side-effects": "error",
|
|
545
|
+
"sonar/content-length": "error",
|
|
546
|
+
"sonar/content-security-policy": "error",
|
|
547
|
+
"sonar/cookie-no-httponly": "error",
|
|
548
|
+
"sonar/cors": "error",
|
|
549
|
+
"sonar/csrf": "error",
|
|
550
|
+
"sonar/cyclomatic-complexity": "error",
|
|
551
|
+
"sonar/declarations-in-global-scope": "error",
|
|
552
|
+
"sonar/default-param-last": "error",
|
|
553
|
+
"sonar/deprecation": "error",
|
|
554
|
+
"sonar/destructuring-assignment-syntax": "error",
|
|
555
|
+
"sonar/different-types-comparison": "error",
|
|
556
|
+
"sonar/disabled-auto-escaping": "error",
|
|
557
|
+
"sonar/disabled-resource-integrity": "error",
|
|
558
|
+
"sonar/disabled-timeout": "error",
|
|
559
|
+
"sonar/duplicates-in-character-class": "error",
|
|
500
560
|
"sonar/elseif-without-else": "error",
|
|
561
|
+
"sonar/empty-string-repetition": "error",
|
|
562
|
+
"sonar/encryption-secure-mode": "error",
|
|
563
|
+
"sonar/existing-groups": "error",
|
|
564
|
+
"sonar/expression-complexity": "error",
|
|
565
|
+
"sonar/file-header": "off", // No
|
|
566
|
+
"sonar/file-name-differ-from-class": "error",
|
|
567
|
+
"sonar/file-permissions": "error",
|
|
568
|
+
"sonar/file-uploads": "error",
|
|
569
|
+
"sonar/fixme-tag": "error",
|
|
570
|
+
"sonar/for-in": "error",
|
|
571
|
+
"sonar/for-loop-increment-sign": "error",
|
|
572
|
+
"sonar/frame-ancestors": "error",
|
|
573
|
+
"sonar/function-inside-loop": "error",
|
|
574
|
+
"sonar/function-name": "error",
|
|
575
|
+
"sonar/function-return-type": "error",
|
|
576
|
+
"sonar/future-reserved-words": "error",
|
|
577
|
+
"sonar/generator-without-yield": "error",
|
|
578
|
+
"sonar/hashing": "error",
|
|
579
|
+
"sonar/hidden-files": "error",
|
|
580
|
+
"sonar/hook-use-state": "error",
|
|
581
|
+
"sonar/html-has-lang": "error",
|
|
582
|
+
"sonar/in-operator-type-error": "error",
|
|
583
|
+
"sonar/inconsistent-function-call": "error",
|
|
584
|
+
"sonar/index-of-compare-to-positive-number": "error",
|
|
585
|
+
"sonar/insecure-cookie": "error",
|
|
586
|
+
"sonar/insecure-jwt-token": "error",
|
|
587
|
+
"sonar/inverted-assertion-arguments": "error",
|
|
588
|
+
"sonar/jsx-key": "error",
|
|
589
|
+
"sonar/jsx-no-constructed-context-values": "error",
|
|
590
|
+
"sonar/jsx-no-useless-fragment": "error",
|
|
591
|
+
"sonar/label-has-associated-control": "error",
|
|
592
|
+
"sonar/label-position": "error",
|
|
593
|
+
"sonar/link-with-target-blank": "error",
|
|
501
594
|
"sonar/max-switch-cases": "error",
|
|
595
|
+
"sonar/max-union-size": "error",
|
|
596
|
+
"sonar/media-has-caption": "error",
|
|
597
|
+
"sonar/misplaced-loop-counter": "error",
|
|
598
|
+
"sonar/mouse-events-a11y": "error",
|
|
599
|
+
"sonar/nested-control-flow": "error",
|
|
600
|
+
"sonar/new-cap": "error",
|
|
601
|
+
"sonar/new-operator-misuse": "error",
|
|
602
|
+
"sonar/no-accessor-field-mismatch": "error",
|
|
502
603
|
"sonar/no-all-duplicated-branches": "error",
|
|
604
|
+
"sonar/no-alphabetical-sort": "error",
|
|
605
|
+
"sonar/no-angular-bypass-sanitization": "error",
|
|
606
|
+
"sonar/no-array-delete": "error",
|
|
607
|
+
"sonar/no-array-index-key": "error",
|
|
608
|
+
"sonar/no-associative-arrays": "error",
|
|
609
|
+
"sonar/no-base-to-string": "error",
|
|
610
|
+
"sonar/no-built-in-override": "error",
|
|
611
|
+
"sonar/no-case-label-in-switch": "error",
|
|
612
|
+
"sonar/no-clear-text-protocols": "error",
|
|
613
|
+
"sonar/no-code-after-done": "error",
|
|
503
614
|
"sonar/no-collapsible-if": "error",
|
|
504
615
|
"sonar/no-collection-size-mischeck": "error",
|
|
616
|
+
"sonar/no-commented-code": "error",
|
|
617
|
+
"sonar/no-dead-store": "error",
|
|
618
|
+
"sonar/no-delete-var": "error",
|
|
619
|
+
"sonar/no-deprecated-react": "error",
|
|
505
620
|
"sonar/no-duplicate-string": "error",
|
|
621
|
+
"sonar/no-duplicate-in-composite": "error",
|
|
506
622
|
"sonar/no-duplicated-branches": "error",
|
|
507
623
|
"sonar/no-element-overwrite": "error",
|
|
624
|
+
"sonar/no-empty-after-reluctant": "error",
|
|
625
|
+
"sonar/no-empty-alternatives": "error",
|
|
508
626
|
"sonar/no-empty-collection": "error",
|
|
627
|
+
"sonar/no-empty-function": "error",
|
|
628
|
+
"sonar/no-empty-group": "error",
|
|
629
|
+
"sonar/no-empty-interface": "error",
|
|
630
|
+
"sonar/no-empty-test-file": "error",
|
|
631
|
+
"sonar/no-equals-in-for-termination": "error",
|
|
632
|
+
"sonar/no-exclusive-tests": "error",
|
|
633
|
+
"sonar/no-extend-native": "error",
|
|
509
634
|
"sonar/no-extra-arguments": "error",
|
|
635
|
+
"sonar/no-find-dom-node": "error",
|
|
636
|
+
"sonar/no-for-in-iterable": "error",
|
|
637
|
+
"sonar/no-function-declaration-in-block": "error",
|
|
638
|
+
"sonar/no-global-this": "error",
|
|
639
|
+
"sonar/no-globals-shadowing": "error",
|
|
510
640
|
"sonar/no-gratuitous-expressions": "error",
|
|
641
|
+
"sonar/no-hardcoded-credentials": "error",
|
|
642
|
+
"sonar/no-hardcoded-ip": "error",
|
|
643
|
+
"sonar/no-hook-setter-in-body": "error",
|
|
644
|
+
"sonar/no-ignored-exceptions": "error",
|
|
511
645
|
"sonar/no-identical-conditions": "error",
|
|
512
646
|
"sonar/no-identical-expressions": "error",
|
|
513
647
|
"sonar/no-identical-functions": "error",
|
|
514
648
|
"sonar/no-ignored-return": "error",
|
|
649
|
+
"sonar/no-implicit-dependencies": "off", // doesn't seem to work well, n/ can handle this
|
|
650
|
+
"sonar/no-implicit-global": "error",
|
|
651
|
+
"sonar/no-in-misuse": "error",
|
|
652
|
+
"sonar/no-incomplete-assertions": "error",
|
|
653
|
+
"sonar/no-inconsistent-returns": "error",
|
|
654
|
+
"sonar/no-incorrect-string-concat": "error",
|
|
655
|
+
"sonar/no-infinite-loop": "error",
|
|
656
|
+
"sonar/no-intrusive-permissions": "error",
|
|
657
|
+
"sonar/no-invalid-await": "error",
|
|
658
|
+
"sonar/no-invariant-returns": "error",
|
|
515
659
|
"sonar/no-inverted-boolean-check": "error",
|
|
660
|
+
"sonar/no-ip-forward": "error",
|
|
661
|
+
"sonar/no-labels": "error",
|
|
662
|
+
"sonar/no-literal-call": "error",
|
|
663
|
+
"sonar/no-lonely-if": "error",
|
|
664
|
+
"sonar/no-mime-sniff": "error",
|
|
665
|
+
"sonar/no-misleading-array-reverse": "error",
|
|
666
|
+
"sonar/no-misused-promises": "error",
|
|
667
|
+
"sonar/no-mixed-content": "error",
|
|
668
|
+
"sonar/no-nested-assignment": "error",
|
|
669
|
+
"sonar/no-nested-conditional": "error",
|
|
670
|
+
"sonar/no-nested-functions": "error",
|
|
671
|
+
"sonar/no-nested-incdec": "error",
|
|
516
672
|
"sonar/no-nested-switch": "error",
|
|
517
673
|
"sonar/no-nested-template-literals": "error",
|
|
518
674
|
"sonar/no-one-iteration-loop": "error",
|
|
675
|
+
"sonar/no-os-command-from-path": "error",
|
|
676
|
+
"sonar/no-parameter-reassignment": "error",
|
|
677
|
+
"sonar/no-primitive-wrappers": "error",
|
|
678
|
+
"sonar/no-redeclare": "error",
|
|
679
|
+
"sonar/no-redundant-assignments": "error",
|
|
519
680
|
"sonar/no-redundant-boolean": "error",
|
|
520
681
|
"sonar/no-redundant-jump": "error",
|
|
682
|
+
"sonar/no-redundant-optional": "error",
|
|
683
|
+
"sonar/no-redundant-type-constituents": "error",
|
|
684
|
+
"sonar/no-reference-error": "error",
|
|
685
|
+
"sonar/no-referrer-policy": "error",
|
|
686
|
+
"sonar/no-require-or-define": "error",
|
|
687
|
+
"sonar/no-return-type-any": "error",
|
|
688
|
+
"sonar/no-same-argument-assert": "error",
|
|
521
689
|
"sonar/no-same-line-conditional": "error",
|
|
690
|
+
"sonar/no-self-compare": "error",
|
|
522
691
|
"sonar/no-small-switch": "error",
|
|
692
|
+
"sonar/no-table-as-layout": "error",
|
|
693
|
+
"sonar/no-this-alias": "error",
|
|
694
|
+
"sonar/no-throw-literal": "error",
|
|
695
|
+
"sonar/no-try-promise": "error",
|
|
696
|
+
"sonar/no-undefined-argument": "error",
|
|
697
|
+
"sonar/no-undefined-assignment": "error",
|
|
698
|
+
"sonar/no-unenclosed-multiline-block": "error",
|
|
699
|
+
"sonar/no-uniq-key": "error",
|
|
700
|
+
"sonar/no-unknown-property": "error",
|
|
701
|
+
"sonar/no-unreachable": "error",
|
|
702
|
+
"sonar/no-unsafe": "error",
|
|
703
|
+
"sonar/no-unsafe-unzip": "error",
|
|
704
|
+
"sonar/no-unstable-nested-components": "error",
|
|
705
|
+
"sonar/no-unthrown-error": "error",
|
|
523
706
|
"sonar/no-unused-collection": "error",
|
|
707
|
+
"sonar/no-unused-expressions": "error",
|
|
708
|
+
"sonar/no-unused-function-argument": "error",
|
|
709
|
+
"sonar/no-unused-private-class-members": "error",
|
|
524
710
|
"sonar/no-use-of-empty-return-value": "error",
|
|
711
|
+
"sonar/no-useless-call": "error",
|
|
525
712
|
"sonar/no-useless-catch": "error",
|
|
713
|
+
"sonar/no-useless-constructor": "error",
|
|
714
|
+
"sonar/no-useless-increment": "error",
|
|
715
|
+
"sonar/no-useless-intersection": "error",
|
|
716
|
+
"sonar/no-useless-react-setstate": "error",
|
|
717
|
+
"sonar/no-var": "error",
|
|
718
|
+
"sonar/no-variable-usage-before-declaration": "error",
|
|
719
|
+
"sonar/no-vue-bypass-sanitization": "error",
|
|
720
|
+
"sonar/no-weak-cipher": "error",
|
|
721
|
+
"sonar/no-weak-keys": "error",
|
|
722
|
+
"sonar/no-wildcard-import": "error",
|
|
526
723
|
"sonar/non-existent-operator": "error",
|
|
724
|
+
"sonar/non-number-in-arithmetic-expression": "error",
|
|
725
|
+
"sonar/null-dereference": "error",
|
|
726
|
+
"sonar/object-alt-content": "error",
|
|
727
|
+
"sonar/object-shorthand": "error",
|
|
728
|
+
"sonar/operation-returning-nan": "error",
|
|
729
|
+
"sonar/os-command": "error",
|
|
730
|
+
"sonar/post-message": "error",
|
|
731
|
+
"sonar/prefer-default-last": "error",
|
|
732
|
+
"sonar/prefer-enum-initializers": "error",
|
|
733
|
+
"sonar/prefer-for-of": "error",
|
|
734
|
+
"sonar/prefer-function-type": "error",
|
|
527
735
|
"sonar/prefer-immediate-return": "error",
|
|
736
|
+
"sonar/prefer-namespace-keyword": "error",
|
|
737
|
+
"sonar/prefer-nullish-coalescing": "error",
|
|
528
738
|
"sonar/prefer-object-literal": "error",
|
|
739
|
+
"sonar/prefer-object-spread": "error",
|
|
740
|
+
"sonar/prefer-promise-shorthand": "error",
|
|
529
741
|
"sonar/prefer-single-boolean-return": "error",
|
|
742
|
+
"sonar/prefer-spread": "error",
|
|
743
|
+
"sonar/prefer-string-starts-ends-with": "error",
|
|
744
|
+
"sonar/prefer-template": "error",
|
|
745
|
+
"sonar/prefer-type-guard": "error",
|
|
530
746
|
"sonar/prefer-while": "error",
|
|
747
|
+
"sonar/production-debug": "error",
|
|
748
|
+
"sonar/pseudo-random": "error",
|
|
749
|
+
"sonar/public-static-readonly": "error",
|
|
750
|
+
"sonar/publicly-writable-directories": "error",
|
|
751
|
+
"sonar/reduce-initial-value": "error",
|
|
752
|
+
"sonar/redundant-type-aliases": "error",
|
|
753
|
+
"sonar/regex-complexity": "error",
|
|
754
|
+
"sonar/rules-of-hooks": "error",
|
|
755
|
+
"sonar/session-regeneration": "error",
|
|
756
|
+
"sonar/shorthand-property-grouping": "off", // Conflicts with perfectionist sorting
|
|
757
|
+
"sonar/single-char-in-character-classes": "error",
|
|
758
|
+
"sonar/single-character-alternation": "error",
|
|
759
|
+
"sonar/slow-regex": "error",
|
|
760
|
+
"sonar/sonar-block-scoped-var": "error",
|
|
761
|
+
"sonar/sonar-jsx-no-leaked-render": "error",
|
|
762
|
+
"sonar/sonar-max-lines": "error",
|
|
763
|
+
"sonar/sonar-max-lines-per-function": "error",
|
|
764
|
+
"sonar/sonar-max-params": "error",
|
|
765
|
+
"sonar/sonar-no-control-regex": "error",
|
|
766
|
+
"sonar/sonar-no-dupe-keys": "error",
|
|
767
|
+
"sonar/sonar-no-empty-character-class": "error",
|
|
768
|
+
"sonar/sonar-no-fallthrough": "error",
|
|
769
|
+
"sonar/sonar-no-invalid-regexp": "error",
|
|
770
|
+
"sonar/sonar-no-magic-numbers": "error",
|
|
771
|
+
"sonar/sonar-no-misleading-character-class": "error",
|
|
772
|
+
"sonar/sonar-no-regex-spaces": "error",
|
|
773
|
+
"sonar/sonar-no-unused-class-component-methods": "error",
|
|
774
|
+
"sonar/sonar-no-unused-vars": "error",
|
|
775
|
+
"sonar/sonar-prefer-optional-chain": "error",
|
|
776
|
+
"sonar/sonar-prefer-read-only-props": "error",
|
|
777
|
+
"sonar/sonar-prefer-regexp-exec": "error",
|
|
778
|
+
"sonar/sql-queries": "error",
|
|
779
|
+
"sonar/stable-tests": "error",
|
|
780
|
+
"sonar/stateful-regex": "error",
|
|
781
|
+
"sonar/strict-transport-security": "error",
|
|
782
|
+
"sonar/strings-comparison": "error",
|
|
783
|
+
"sonar/super-invocation": "error",
|
|
784
|
+
"sonar/switch-without-default": "error",
|
|
785
|
+
"sonar/table-header": "error",
|
|
786
|
+
"sonar/table-header-reference": "error",
|
|
787
|
+
"sonar/test-check-exception": "error",
|
|
788
|
+
"sonar/todo-tag": "error",
|
|
789
|
+
"sonar/too-many-break-or-continue-in-loop": "error",
|
|
790
|
+
"sonar/unicode-aware-regex": "error",
|
|
791
|
+
"sonar/unnecessary-character-escapes": "error",
|
|
792
|
+
"sonar/unused-import": "error",
|
|
793
|
+
"sonar/unused-named-groups": "error",
|
|
794
|
+
"sonar/unverified-certificate": "error",
|
|
795
|
+
"sonar/unverified-hostname": "error",
|
|
796
|
+
"sonar/updated-const-var": "error",
|
|
797
|
+
"sonar/updated-loop-counter": "error",
|
|
798
|
+
"sonar/use-isnan": "error",
|
|
799
|
+
"sonar/use-type-alias": "error",
|
|
800
|
+
"sonar/values-not-convertible-to-numbers": "error",
|
|
801
|
+
"sonar/variable-name": "error",
|
|
802
|
+
"sonar/void-use": "error",
|
|
803
|
+
"sonar/weak-ssl": "error",
|
|
804
|
+
"sonar/x-powered-by": "error",
|
|
805
|
+
"sonar/xml-parser-xxe": "error",
|
|
531
806
|
|
|
532
807
|
"@tanstack/query/exhaustive-deps": "error",
|
|
533
808
|
"@tanstack/query/no-rest-destructuring": "error",
|
|
809
|
+
"@tanstack/query/no-unstable-deps": "error",
|
|
534
810
|
"@tanstack/query/stable-query-client": "error",
|
|
535
811
|
|
|
536
812
|
"tailwind/classnames-order": "error",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethang/eslint-config",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"url": "git+https://github.com/eglove/eslint-config-ethang.git"
|
|
6
6
|
},
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"author": "Ethan Glover",
|
|
17
17
|
"license": "ISC",
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@eslint-react/eslint-plugin": "^1.
|
|
19
|
+
"@eslint-react/eslint-plugin": "^1.12.1",
|
|
20
20
|
"@eslint/js": "^9.9.0",
|
|
21
21
|
"@stylistic/eslint-plugin": "^2.6.4",
|
|
22
|
-
"@tanstack/eslint-plugin-query": "^5.
|
|
22
|
+
"@tanstack/eslint-plugin-query": "^5.52.0",
|
|
23
23
|
"@typescript-eslint/parser": "^8.2.0",
|
|
24
24
|
"eslint": "^9.9.0",
|
|
25
25
|
"eslint-plugin-astro": "^1.2.3",
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
"eslint-plugin-perfectionist": "^3.2.0",
|
|
33
33
|
"eslint-plugin-react-hooks": "^4.6.2",
|
|
34
34
|
"eslint-plugin-solid": "^0.14.2",
|
|
35
|
-
"eslint-plugin-sonarjs": "
|
|
35
|
+
"eslint-plugin-sonarjs": "2.0.0",
|
|
36
36
|
"eslint-plugin-tailwindcss": "^3.17.4",
|
|
37
37
|
"eslint-plugin-unicorn": "^55.0.0",
|
|
38
38
|
"typescript": "^5.5.4",
|
|
39
39
|
"typescript-eslint": "^8.2.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@eslint-react/eslint-plugin": "^1.
|
|
42
|
+
"@eslint-react/eslint-plugin": "^1.12.1",
|
|
43
43
|
"@eslint/js": "^9.9.0",
|
|
44
44
|
"@stylistic/eslint-plugin": "^2.6.4",
|
|
45
|
-
"@tanstack/eslint-plugin-query": "^5.
|
|
45
|
+
"@tanstack/eslint-plugin-query": "^5.52.0",
|
|
46
46
|
"@typescript-eslint/parser": "^8.2.0",
|
|
47
47
|
"eslint": "^9.9.0",
|
|
48
48
|
"eslint-plugin-astro": "^1.2.3",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"eslint-plugin-perfectionist": "^3.2.0",
|
|
56
56
|
"eslint-plugin-react-hooks": "^4.6.2",
|
|
57
57
|
"eslint-plugin-solid": "^0.14.2",
|
|
58
|
-
"eslint-plugin-sonarjs": "
|
|
58
|
+
"eslint-plugin-sonarjs": "2.0.0",
|
|
59
59
|
"eslint-plugin-tailwindcss": "^3.17.4",
|
|
60
60
|
"eslint-plugin-unicorn": "^55.0.0",
|
|
61
61
|
"typescript": "^5.5.4",
|