@gooddata/eslint-config 11.19.0-alpha.9 → 11.20.0-alpha.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.
Files changed (57) hide show
  1. package/PACKAGES_V8.md +1 -2
  2. package/PACKAGES_V9.md +1 -1
  3. package/PACKAGES_V9_OXLINT.md +21 -0
  4. package/README.md +22 -0
  5. package/dist/base.js +792 -283
  6. package/dist/base.json +1049 -213
  7. package/dist/browser-esm.js +794 -285
  8. package/dist/browser-esm.json +1051 -215
  9. package/dist/browser.js +792 -283
  10. package/dist/browser.json +1049 -213
  11. package/dist/esm-react-cypress.js +715 -187
  12. package/dist/esm-react-cypress.json +1051 -204
  13. package/dist/esm-react-vitest-storybook.js +825 -297
  14. package/dist/esm-react-vitest-storybook.json +1076 -204
  15. package/dist/esm-react-vitest.js +825 -297
  16. package/dist/esm-react-vitest.json +1060 -204
  17. package/dist/esm-react.js +798 -289
  18. package/dist/esm-react.json +1051 -216
  19. package/dist/esm-vitest.js +821 -293
  20. package/dist/esm-vitest.json +1060 -203
  21. package/dist/esm.js +794 -285
  22. package/dist/esm.json +1051 -215
  23. package/dist/oxlint-base.d.ts +12 -0
  24. package/dist/oxlint-base.js +1368 -0
  25. package/dist/oxlint-browser-esm.d.ts +12 -0
  26. package/dist/oxlint-browser-esm.js +1379 -0
  27. package/dist/oxlint-browser.d.ts +12 -0
  28. package/dist/oxlint-browser.js +1373 -0
  29. package/dist/oxlint-esm-react-cypress.d.ts +12 -0
  30. package/dist/oxlint-esm-react-cypress.js +1425 -0
  31. package/dist/oxlint-esm-react-vitest-storybook.d.ts +12 -0
  32. package/dist/oxlint-esm-react-vitest-storybook.js +1484 -0
  33. package/dist/oxlint-esm-react-vitest.d.ts +12 -0
  34. package/dist/oxlint-esm-react-vitest.js +1450 -0
  35. package/dist/oxlint-esm-react.d.ts +12 -0
  36. package/dist/oxlint-esm-react.js +1425 -0
  37. package/dist/oxlint-esm-vitest.d.ts +12 -0
  38. package/dist/oxlint-esm-vitest.js +1399 -0
  39. package/dist/oxlint-esm.d.ts +12 -0
  40. package/dist/oxlint-esm.js +1374 -0
  41. package/dist/oxlint-react-cypress.d.ts +12 -0
  42. package/dist/oxlint-react-cypress.js +1425 -0
  43. package/dist/oxlint-react-vitest.d.ts +12 -0
  44. package/dist/oxlint-react-vitest.js +1450 -0
  45. package/dist/oxlint-react.d.ts +12 -0
  46. package/dist/oxlint-react.js +1425 -0
  47. package/dist/oxlint-vitest.d.ts +12 -0
  48. package/dist/oxlint-vitest.js +1393 -0
  49. package/dist/react-cypress.js +713 -185
  50. package/dist/react-cypress.json +1050 -203
  51. package/dist/react-vitest.js +823 -295
  52. package/dist/react-vitest.json +1059 -203
  53. package/dist/react.js +796 -287
  54. package/dist/react.json +1049 -214
  55. package/dist/vitest.js +819 -291
  56. package/dist/vitest.json +1059 -202
  57. package/package.json +40 -6
@@ -7,12 +7,12 @@ import plugin0003 from "@typescript-eslint/parser";
7
7
  import plugin0004 from "eslint-plugin-no-barrel-files";
8
8
  import plugin0005 from "eslint-plugin-import-x";
9
9
  import plugin0006 from "eslint-plugin-jsdoc";
10
- import plugin0007 from "eslint-plugin-no-only-tests";
11
- import plugin0008 from "eslint-plugin-sonarjs";
12
- import plugin0009 from "eslint-plugin-react";
13
- import plugin0010 from "eslint-plugin-react-hooks";
14
- import plugin0011 from "eslint-plugin-cypress";
15
- import plugin0012 from "eslint-plugin-chai-friendly";
10
+ import plugin0007 from "eslint-plugin-sonarjs";
11
+ import plugin0008 from "eslint-plugin-react";
12
+ import plugin0009 from "eslint-plugin-react-hooks";
13
+ import plugin0010 from "eslint-plugin-cypress";
14
+ import plugin0011 from "eslint-plugin-chai-friendly";
15
+ import plugin0012 from "eslint-plugin-no-only-tests";
16
16
 
17
17
  export default [
18
18
  {
@@ -46,7 +46,6 @@ export default [
46
46
  "no-empty-pattern": "error",
47
47
  "no-empty-static-block": "error",
48
48
  "no-ex-assign": "error",
49
- "no-extra-boolean-cast": "error",
50
49
  "no-fallthrough": "error",
51
50
  "no-func-assign": "error",
52
51
  "no-global-assign": "error",
@@ -68,7 +67,6 @@ export default [
68
67
  "no-sparse-arrays": "error",
69
68
  "no-this-before-super": "error",
70
69
  "no-undef": "error",
71
- "no-unexpected-multiline": "off",
72
70
  "no-unreachable": "error",
73
71
  "no-unsafe-finally": "error",
74
72
  "no-unsafe-negation": "error",
@@ -78,38 +76,10 @@ export default [
78
76
  "no-unused-vars": "error",
79
77
  "no-useless-backreference": "error",
80
78
  "no-useless-catch": "error",
81
- "no-useless-escape": "off",
82
79
  "no-with": "error",
83
80
  "require-yield": "error",
84
81
  "use-isnan": "error",
85
82
  "valid-typeof": "error",
86
- "no-console": [
87
- 2,
88
- {
89
- allow: [
90
- "warn",
91
- "error",
92
- ],
93
- },
94
- ],
95
- "no-restricted-exports": [
96
- 2,
97
- {
98
- restrictDefaultExports: {
99
- direct: true,
100
- named: true,
101
- defaultFrom: true,
102
- namedFrom: true,
103
- namespaceFrom: true,
104
- },
105
- },
106
- ],
107
- "no-duplicate-imports": [
108
- "error",
109
- {
110
- includeExports: true,
111
- },
112
- ],
113
83
  "no-restricted-imports": [
114
84
  "error",
115
85
  {
@@ -630,17 +600,6 @@ export default [
630
600
  ],
631
601
  },
632
602
  ],
633
- "no-restricted-syntax": [
634
- "error",
635
- {
636
- selector: "MemberExpression[object.name='React']",
637
- message: "Do not use `React.*`. Use named imports instead.",
638
- },
639
- {
640
- selector: "MemberExpression[object.name='ReactDOM']",
641
- message: "Do not use `ReactDOM.*`. Use named imports instead.",
642
- },
643
- ],
644
603
  "sort-imports": [
645
604
  "error",
646
605
  {
@@ -649,13 +608,55 @@ export default [
649
608
  ignoreMemberSort: false,
650
609
  },
651
610
  ],
652
- "no-negated-condition": "error",
611
+ "no-useless-escape": "off",
653
612
  "no-unneeded-ternary": [
654
613
  "error",
655
614
  {
656
615
  defaultAssignment: false,
657
616
  },
658
617
  ],
618
+ "no-extra-boolean-cast": "error",
619
+ "no-unexpected-multiline": "off",
620
+ "no-duplicate-imports": [
621
+ "error",
622
+ {
623
+ includeExports: true,
624
+ },
625
+ ],
626
+ "prefer-const": "off",
627
+ "no-console": [
628
+ 2,
629
+ {
630
+ allow: [
631
+ "warn",
632
+ "error",
633
+ ],
634
+ },
635
+ ],
636
+ "no-restricted-exports": [
637
+ 2,
638
+ {
639
+ restrictDefaultExports: {
640
+ direct: true,
641
+ named: true,
642
+ defaultFrom: true,
643
+ namedFrom: true,
644
+ namespaceFrom: true,
645
+ },
646
+ },
647
+ ],
648
+ "no-restricted-syntax": [
649
+ "error",
650
+ {
651
+ selector: "MemberExpression[object.name='React']",
652
+ message: "Do not use `React.*`. Use named imports instead.",
653
+ },
654
+ {
655
+ selector: "MemberExpression[object.name='ReactDOM']",
656
+ message: "Do not use `ReactDOM.*`. Use named imports instead.",
657
+ },
658
+ ],
659
+ "no-negated-condition": "error",
659
660
  },
660
661
  },
661
662
  {
@@ -663,7 +664,537 @@ export default [
663
664
  "**/*.ts",
664
665
  "**/*.tsx",
665
666
  ],
666
- ignores: [
667
+ rules: {
668
+ "no-restricted-imports": [
669
+ "error",
670
+ {
671
+ paths: [
672
+ {
673
+ name: "react",
674
+ importNames: [
675
+ "default",
676
+ ],
677
+ message: "Default import from React is not allowed. Use named imports instead.",
678
+ },
679
+ {
680
+ name: "react-dom",
681
+ importNames: [
682
+ "default",
683
+ ],
684
+ message: "Default import from React DOM is not allowed. Use named imports instead.",
685
+ },
686
+ {
687
+ name: "@gooddata/sdk-ui-kit",
688
+ importNames: [
689
+ "Icon",
690
+ ],
691
+ message: "The Icon export cannot be tree-shaken, use {IconName}Icon imports instead.",
692
+ },
693
+ {
694
+ name: "vitest",
695
+ importNames: [
696
+ "test",
697
+ ],
698
+ message: "Use 'it' instead of 'test' for consistency.",
699
+ },
700
+ ],
701
+ patterns: [
702
+ {
703
+ group: [
704
+ "lodash-es",
705
+ ],
706
+ importNames: [
707
+ "get",
708
+ "getOr",
709
+ ],
710
+ message: "Please use the ?. and ?? operators instead.",
711
+ },
712
+ {
713
+ group: [
714
+ "lodash-es",
715
+ ],
716
+ importNames: [
717
+ "keys",
718
+ ],
719
+ message: "Please use Object.keys() instead.",
720
+ },
721
+ {
722
+ group: [
723
+ "lodash-es",
724
+ ],
725
+ importNames: [
726
+ "values",
727
+ ],
728
+ message: "Please use Object.values() instead.",
729
+ },
730
+ {
731
+ group: [
732
+ "lodash-es",
733
+ ],
734
+ importNames: [
735
+ "entries",
736
+ "toPairs",
737
+ ],
738
+ message: "Please use Object.entries() instead.",
739
+ },
740
+ {
741
+ group: [
742
+ "lodash-es",
743
+ ],
744
+ importNames: [
745
+ "map",
746
+ ],
747
+ message: "Please use Array.prototype.map() instead.",
748
+ },
749
+ {
750
+ group: [
751
+ "lodash-es",
752
+ ],
753
+ importNames: [
754
+ "flatMap",
755
+ ],
756
+ message: "Please use Array.prototype.flatMap() instead.",
757
+ },
758
+ {
759
+ group: [
760
+ "lodash-es",
761
+ ],
762
+ importNames: [
763
+ "filter",
764
+ ],
765
+ message: "Please use Array.prototype.filter() instead.",
766
+ },
767
+ {
768
+ group: [
769
+ "lodash-es",
770
+ ],
771
+ importNames: [
772
+ "find",
773
+ ],
774
+ message: "Please use Array.prototype.find() instead.",
775
+ },
776
+ {
777
+ group: [
778
+ "lodash-es",
779
+ ],
780
+ importNames: [
781
+ "findIndex",
782
+ ],
783
+ message: "Please use Array.prototype.findIndex() instead.",
784
+ },
785
+ {
786
+ group: [
787
+ "lodash-es",
788
+ ],
789
+ importNames: [
790
+ "includes",
791
+ ],
792
+ message: "Please use Array.prototype.includes() instead.",
793
+ },
794
+ {
795
+ group: [
796
+ "lodash-es",
797
+ ],
798
+ importNames: [
799
+ "some",
800
+ ],
801
+ message: "Please use Array.prototype.some() instead.",
802
+ },
803
+ {
804
+ group: [
805
+ "lodash-es",
806
+ ],
807
+ importNames: [
808
+ "every",
809
+ ],
810
+ message: "Please use Array.prototype.every() instead.",
811
+ },
812
+ {
813
+ group: [
814
+ "lodash-es",
815
+ ],
816
+ importNames: [
817
+ "concat",
818
+ ],
819
+ message: "Please use Array.prototype.concat() or spread [...arr1, ...arr2] instead.",
820
+ },
821
+ {
822
+ group: [
823
+ "lodash-es",
824
+ ],
825
+ importNames: [
826
+ "reverse",
827
+ ],
828
+ message: "Please use Array.prototype.reverse() instead.",
829
+ },
830
+ {
831
+ group: [
832
+ "lodash-es",
833
+ ],
834
+ importNames: [
835
+ "slice",
836
+ ],
837
+ message: "Please use Array.prototype.slice() instead.",
838
+ },
839
+ {
840
+ group: [
841
+ "lodash-es",
842
+ ],
843
+ importNames: [
844
+ "indexOf",
845
+ ],
846
+ message: "Please use Array.prototype.indexOf() instead.",
847
+ },
848
+ {
849
+ group: [
850
+ "lodash-es",
851
+ ],
852
+ importNames: [
853
+ "lastIndexOf",
854
+ ],
855
+ message: "Please use Array.prototype.lastIndexOf() instead.",
856
+ },
857
+ {
858
+ group: [
859
+ "lodash-es",
860
+ ],
861
+ importNames: [
862
+ "fill",
863
+ ],
864
+ message: "Please use Array.prototype.fill() instead.",
865
+ },
866
+ {
867
+ group: [
868
+ "lodash-es",
869
+ ],
870
+ importNames: [
871
+ "startsWith",
872
+ ],
873
+ message: "Please use String.prototype.startsWith() instead.",
874
+ },
875
+ {
876
+ group: [
877
+ "lodash-es",
878
+ ],
879
+ importNames: [
880
+ "endsWith",
881
+ ],
882
+ message: "Please use String.prototype.endsWith() instead.",
883
+ },
884
+ {
885
+ group: [
886
+ "lodash-es",
887
+ ],
888
+ importNames: [
889
+ "repeat",
890
+ ],
891
+ message: "Please use String.prototype.repeat() instead.",
892
+ },
893
+ {
894
+ group: [
895
+ "lodash-es",
896
+ ],
897
+ importNames: [
898
+ "padStart",
899
+ ],
900
+ message: "Please use String.prototype.padStart() instead.",
901
+ },
902
+ {
903
+ group: [
904
+ "lodash-es",
905
+ ],
906
+ importNames: [
907
+ "padEnd",
908
+ ],
909
+ message: "Please use String.prototype.padEnd() instead.",
910
+ },
911
+ {
912
+ group: [
913
+ "lodash-es",
914
+ ],
915
+ importNames: [
916
+ "trim",
917
+ ],
918
+ message: "Please use String.prototype.trim() instead.",
919
+ },
920
+ {
921
+ group: [
922
+ "lodash-es",
923
+ ],
924
+ importNames: [
925
+ "trimStart",
926
+ "trimLeft",
927
+ ],
928
+ message: "Please use String.prototype.trimStart() instead.",
929
+ },
930
+ {
931
+ group: [
932
+ "lodash-es",
933
+ ],
934
+ importNames: [
935
+ "trimEnd",
936
+ "trimRight",
937
+ ],
938
+ message: "Please use String.prototype.trimEnd() instead.",
939
+ },
940
+ {
941
+ group: [
942
+ "lodash-es",
943
+ ],
944
+ importNames: [
945
+ "toUpper",
946
+ ],
947
+ message: "Please use String.prototype.toUpperCase() instead.",
948
+ },
949
+ {
950
+ group: [
951
+ "lodash-es",
952
+ ],
953
+ importNames: [
954
+ "toLower",
955
+ ],
956
+ message: "Please use String.prototype.toLowerCase() instead.",
957
+ },
958
+ {
959
+ group: [
960
+ "lodash-es",
961
+ ],
962
+ importNames: [
963
+ "isArray",
964
+ ],
965
+ message: "Please use Array.isArray() instead.",
966
+ },
967
+ {
968
+ group: [
969
+ "lodash-es",
970
+ ],
971
+ importNames: [
972
+ "isNaN",
973
+ ],
974
+ message: "Please use Number.isNaN() instead.",
975
+ },
976
+ {
977
+ group: [
978
+ "lodash-es",
979
+ ],
980
+ importNames: [
981
+ "isFinite",
982
+ ],
983
+ message: "Please use Number.isFinite() instead.",
984
+ },
985
+ {
986
+ group: [
987
+ "lodash-es",
988
+ ],
989
+ importNames: [
990
+ "isInteger",
991
+ ],
992
+ message: "Please use Number.isInteger() instead.",
993
+ },
994
+ {
995
+ group: [
996
+ "lodash-es",
997
+ ],
998
+ importNames: [
999
+ "isNull",
1000
+ ],
1001
+ message: "Please use value === null instead.",
1002
+ },
1003
+ {
1004
+ group: [
1005
+ "lodash-es",
1006
+ ],
1007
+ importNames: [
1008
+ "isUndefined",
1009
+ ],
1010
+ message: "Please use value === undefined instead.",
1011
+ },
1012
+ {
1013
+ group: [
1014
+ "lodash-es",
1015
+ ],
1016
+ importNames: [
1017
+ "defaultTo",
1018
+ ],
1019
+ message: "Please use value ?? defaultValue instead.",
1020
+ },
1021
+ {
1022
+ group: [
1023
+ "lodash-es",
1024
+ ],
1025
+ importNames: [
1026
+ "assign",
1027
+ ],
1028
+ message: "Please use Object.assign() or spread syntax {...obj} instead.",
1029
+ },
1030
+ {
1031
+ group: [
1032
+ "lodash-es",
1033
+ ],
1034
+ importNames: [
1035
+ "flatten",
1036
+ ],
1037
+ message: "Please use Array.prototype.flat() instead.",
1038
+ },
1039
+ {
1040
+ group: [
1041
+ "lodash-es",
1042
+ ],
1043
+ importNames: [
1044
+ "flattenDeep",
1045
+ ],
1046
+ message: "Please use Array.prototype.flat(Infinity) instead.",
1047
+ },
1048
+ {
1049
+ group: [
1050
+ "lodash-es",
1051
+ ],
1052
+ importNames: [
1053
+ "isNil",
1054
+ ],
1055
+ message: "Please use value === null || value === undefined instead.",
1056
+ },
1057
+ {
1058
+ group: [
1059
+ "lodash-es",
1060
+ ],
1061
+ importNames: [
1062
+ "noop",
1063
+ ],
1064
+ message: "Please use () => {} instead.",
1065
+ },
1066
+ {
1067
+ group: [
1068
+ "lodash-es",
1069
+ ],
1070
+ importNames: [
1071
+ "identity",
1072
+ ],
1073
+ message: "Please use x => x instead.",
1074
+ },
1075
+ {
1076
+ group: [
1077
+ "lodash-es",
1078
+ ],
1079
+ importNames: [
1080
+ "first",
1081
+ "head",
1082
+ ],
1083
+ message: "Please use Array.prototype.at(0) instead.",
1084
+ },
1085
+ {
1086
+ group: [
1087
+ "lodash-es",
1088
+ ],
1089
+ importNames: [
1090
+ "last",
1091
+ ],
1092
+ message: "Please use Array.prototype.at(-1) instead.",
1093
+ },
1094
+ {
1095
+ group: [
1096
+ "lodash-es",
1097
+ ],
1098
+ importNames: [
1099
+ "forEach",
1100
+ ],
1101
+ message: "Please use Array.prototype.forEach() instead.",
1102
+ },
1103
+ {
1104
+ group: [
1105
+ "lodash-es",
1106
+ ],
1107
+ importNames: [
1108
+ "fromPairs",
1109
+ ],
1110
+ message: "Please use Object.fromEntries() instead.",
1111
+ },
1112
+ {
1113
+ group: [
1114
+ "lodash-es",
1115
+ ],
1116
+ importNames: [
1117
+ "join",
1118
+ ],
1119
+ message: "Please use Array.prototype.join() instead.",
1120
+ },
1121
+ {
1122
+ group: [
1123
+ "lodash-es",
1124
+ ],
1125
+ importNames: [
1126
+ "isDate",
1127
+ ],
1128
+ message: "Please use val instanceof Date instead.",
1129
+ },
1130
+ {
1131
+ group: [
1132
+ "lodash-es",
1133
+ ],
1134
+ importNames: [
1135
+ "isFunction",
1136
+ ],
1137
+ message: "Please use typeof val === 'function' instead.",
1138
+ },
1139
+ {
1140
+ group: [
1141
+ "lodash-es",
1142
+ ],
1143
+ importNames: [
1144
+ "isNumber",
1145
+ ],
1146
+ message: "Please use typeof val === 'number' instead.",
1147
+ },
1148
+ {
1149
+ group: [
1150
+ "lodash-es",
1151
+ ],
1152
+ importNames: [
1153
+ "isObject",
1154
+ ],
1155
+ message: "Please use val !== null && typeof val === 'object' instead.",
1156
+ },
1157
+ {
1158
+ group: [
1159
+ "lodash-es",
1160
+ ],
1161
+ importNames: [
1162
+ "isString",
1163
+ ],
1164
+ message: "Please use typeof val === 'string' instead.",
1165
+ },
1166
+ {
1167
+ group: [
1168
+ "lodash-es",
1169
+ ],
1170
+ importNames: [
1171
+ "toString",
1172
+ ],
1173
+ message: "Please use String(val) instead.",
1174
+ },
1175
+ {
1176
+ group: [
1177
+ "lodash-es",
1178
+ ],
1179
+ importNames: [
1180
+ "flow",
1181
+ "flowRight",
1182
+ ],
1183
+ message: "Please use refactoring your code instead.",
1184
+ },
1185
+ {
1186
+ group: [
1187
+ "vitest",
1188
+ ],
1189
+ message: "Importing from vitest is only allowed in test files.",
1190
+ },
1191
+ ],
1192
+ },
1193
+ ],
1194
+ },
1195
+ },
1196
+ {
1197
+ files: [
667
1198
  "**/vitest.config.ts",
668
1199
  "**/vitest.*.config.ts",
669
1200
  "**/vitest.setup.ts",
@@ -1193,12 +1724,6 @@ export default [
1193
1724
  ],
1194
1725
  message: "Please use refactoring your code instead.",
1195
1726
  },
1196
- {
1197
- group: [
1198
- "vitest",
1199
- ],
1200
- message: "Importing from vitest is only allowed in test files.",
1201
- },
1202
1727
  ],
1203
1728
  },
1204
1729
  ],
@@ -1279,17 +1804,12 @@ export default [
1279
1804
  "prefer-const": "error",
1280
1805
  "prefer-rest-params": "error",
1281
1806
  "prefer-spread": "error",
1282
- "@typescript-eslint/ban-ts-comment": [
1283
- "error",
1284
- {
1285
- "ts-expect-error": "allow-with-description",
1286
- },
1287
- ],
1288
1807
  "no-array-constructor": "off",
1808
+ "no-unused-expressions": "off",
1809
+ "no-unused-vars": "off",
1289
1810
  "@typescript-eslint/no-array-constructor": "error",
1290
1811
  "@typescript-eslint/no-duplicate-enum-values": "error",
1291
1812
  "@typescript-eslint/no-empty-object-type": "error",
1292
- "@typescript-eslint/no-explicit-any": "error",
1293
1813
  "@typescript-eslint/no-extra-non-null-assertion": "error",
1294
1814
  "@typescript-eslint/no-misused-new": "error",
1295
1815
  "@typescript-eslint/no-namespace": "error",
@@ -1298,10 +1818,12 @@ export default [
1298
1818
  "@typescript-eslint/no-this-alias": "error",
1299
1819
  "@typescript-eslint/no-unnecessary-type-constraint": "error",
1300
1820
  "@typescript-eslint/no-unsafe-declaration-merging": "error",
1301
- "@typescript-eslint/no-unsafe-function-type": "error",
1302
- "no-unused-expressions": "off",
1303
- "@typescript-eslint/no-unused-expressions": "error",
1304
- "no-unused-vars": "off",
1821
+ "@typescript-eslint/prefer-as-const": "error",
1822
+ "@typescript-eslint/prefer-namespace-keyword": "error",
1823
+ "@typescript-eslint/triple-slash-reference": "error",
1824
+ "@typescript-eslint/explicit-function-return-type": 0,
1825
+ "@typescript-eslint/no-use-before-define": 0,
1826
+ "@typescript-eslint/no-empty-function": 0,
1305
1827
  "@typescript-eslint/no-unused-vars": [
1306
1828
  2,
1307
1829
  {
@@ -1309,27 +1831,16 @@ export default [
1309
1831
  argsIgnorePattern: "^_.*$",
1310
1832
  },
1311
1833
  ],
1312
- "@typescript-eslint/no-wrapper-object-types": "error",
1313
- "@typescript-eslint/prefer-as-const": "error",
1314
- "@typescript-eslint/prefer-namespace-keyword": "error",
1315
- "@typescript-eslint/triple-slash-reference": "error",
1316
- "@typescript-eslint/explicit-function-return-type": 0,
1317
- "@typescript-eslint/no-use-before-define": 0,
1318
- "@typescript-eslint/no-empty-function": 0,
1319
- "@typescript-eslint/naming-convention": [
1834
+ "@typescript-eslint/no-explicit-any": "error",
1835
+ "@typescript-eslint/array-type": "off",
1836
+ "@typescript-eslint/ban-ts-comment": [
1320
1837
  "error",
1321
1838
  {
1322
- selector: "interface",
1323
- format: [
1324
- "PascalCase",
1325
- ],
1326
- custom: {
1327
- regex: "^I[A-Z]",
1328
- match: true,
1329
- },
1839
+ "ts-expect-error": "allow-with-description",
1330
1840
  },
1331
1841
  ],
1332
- "@typescript-eslint/array-type": "off",
1842
+ "@typescript-eslint/no-wrapper-object-types": "error",
1843
+ "@typescript-eslint/no-unsafe-function-type": "error",
1333
1844
  "@typescript-eslint/no-restricted-types": [
1334
1845
  "error",
1335
1846
  {
@@ -1353,18 +1864,11 @@ export default [
1353
1864
  },
1354
1865
  },
1355
1866
  ],
1356
- "@typescript-eslint/consistent-type-exports": [
1357
- "error",
1358
- {
1359
- fixMixedExportsWithInlineTypeSpecifier: false,
1360
- },
1361
- ],
1362
1867
  "@typescript-eslint/explicit-member-accessibility": "off",
1363
1868
  "@typescript-eslint/interface-name-prefix": "off",
1364
1869
  "@typescript-eslint/member-ordering": "off",
1365
1870
  "@typescript-eslint/no-inferrable-types": "off",
1366
1871
  "@typescript-eslint/no-non-null-assertion": "off",
1367
- "@typescript-eslint/prefer-optional-chain": "error",
1368
1872
  "no-restricted-syntax": [
1369
1873
  "error",
1370
1874
  {
@@ -1395,6 +1899,26 @@ export default [
1395
1899
  fixStyle: "inline-type-imports",
1396
1900
  },
1397
1901
  ],
1902
+ "@typescript-eslint/prefer-optional-chain": "error",
1903
+ "@typescript-eslint/consistent-type-exports": [
1904
+ "error",
1905
+ {
1906
+ fixMixedExportsWithInlineTypeSpecifier: false,
1907
+ },
1908
+ ],
1909
+ "@typescript-eslint/naming-convention": [
1910
+ "error",
1911
+ {
1912
+ selector: "interface",
1913
+ format: [
1914
+ "PascalCase",
1915
+ ],
1916
+ custom: {
1917
+ regex: "^I[A-Z]",
1918
+ match: true,
1919
+ },
1920
+ },
1921
+ ],
1398
1922
  },
1399
1923
  },
1400
1924
  {
@@ -1405,6 +1929,14 @@ export default [
1405
1929
  "no-barrel-files/no-barrel-files": "error",
1406
1930
  },
1407
1931
  },
1932
+ {
1933
+ files: [
1934
+ "**/eslint.config.ts",
1935
+ ],
1936
+ rules: {
1937
+ "no-barrel-files/no-barrel-files": "off",
1938
+ },
1939
+ },
1408
1940
  {
1409
1941
  plugins: {
1410
1942
  "import-x": plugin0005,
@@ -1418,7 +1950,6 @@ export default [
1418
1950
  ],
1419
1951
  },
1420
1952
  rules: {
1421
- "import-x/no-unresolved": "error",
1422
1953
  "import-x/named": "error",
1423
1954
  "import-x/namespace": "error",
1424
1955
  "import-x/default": "error",
@@ -1426,6 +1957,7 @@ export default [
1426
1957
  "import-x/no-named-as-default": "warn",
1427
1958
  "import-x/no-named-as-default-member": "warn",
1428
1959
  "import-x/no-duplicates": "warn",
1960
+ "import-x/no-unassigned-import": "error",
1429
1961
  "import-x/order": [
1430
1962
  "error",
1431
1963
  {
@@ -1461,7 +1993,6 @@ export default [
1461
1993
  "newlines-between": "always",
1462
1994
  },
1463
1995
  ],
1464
- "import-x/no-unassigned-import": "error",
1465
1996
  },
1466
1997
  },
1467
1998
  {
@@ -1500,9 +2031,6 @@ export default [
1500
2031
  },
1501
2032
  },
1502
2033
  },
1503
- rules: {
1504
- "import-x/named": "off",
1505
- },
1506
2034
  },
1507
2035
  {
1508
2036
  files: [
@@ -1522,34 +2050,14 @@ export default [
1522
2050
  },
1523
2051
  {
1524
2052
  plugins: {
1525
- "no-only-tests": plugin0007,
1526
- },
1527
- rules: {
1528
- "no-only-tests/no-only-tests": [
1529
- "error",
1530
- {
1531
- block: [
1532
- "fixture",
1533
- ],
1534
- focus: [
1535
- "only",
1536
- ],
1537
- },
1538
- ],
1539
- },
1540
- },
1541
- {
1542
- plugins: {
1543
- sonarjs: plugin0008,
2053
+ sonarjs: plugin0007,
1544
2054
  },
1545
2055
  rules: {
1546
2056
  "sonarjs/function-name": "off",
1547
- "sonarjs/class-name": "off",
1548
2057
  "sonarjs/max-lines": "off",
1549
2058
  "sonarjs/no-tab": "off",
1550
2059
  "sonarjs/variable-name": "off",
1551
2060
  "sonarjs/comment-regex": "off",
1552
- "sonarjs/no-commented-code": "off",
1553
2061
  "sonarjs/elseif-without-else": "off",
1554
2062
  "sonarjs/no-fallthrough": "error",
1555
2063
  "sonarjs/nested-control-flow": "off",
@@ -1562,15 +2070,11 @@ export default [
1562
2070
  "sonarjs/expression-complexity": "off",
1563
2071
  "sonarjs/no-redundant-parentheses": "off",
1564
2072
  "sonarjs/no-labels": "error",
1565
- "sonarjs/no-nested-assignment": "off",
1566
2073
  "sonarjs/no-redundant-boolean": "error",
1567
2074
  "sonarjs/prefer-single-boolean-return": "error",
1568
2075
  "sonarjs/unused-import": "error",
1569
- "sonarjs/fixme-tag": "off",
1570
- "sonarjs/todo-tag": "warn",
1571
2076
  "sonarjs/useless-string-operation": "off",
1572
2077
  "sonarjs/no-unused-function-argument": "off",
1573
- "sonarjs/no-duplicate-string": "off",
1574
2078
  "sonarjs/no-case-label-in-switch": "error",
1575
2079
  "sonarjs/no-parameter-reassignment": "error",
1576
2080
  "sonarjs/prefer-while": "error",
@@ -1578,14 +2082,11 @@ export default [
1578
2082
  "sonarjs/no-small-switch": "error",
1579
2083
  "sonarjs/no-hardcoded-ip": "error",
1580
2084
  "sonarjs/label-position": "error",
1581
- "sonarjs/public-static-readonly": "off",
1582
2085
  "sonarjs/file-header": "off",
1583
2086
  "sonarjs/call-argument-line": "error",
1584
2087
  "sonarjs/max-switch-cases": "error",
1585
- "sonarjs/no-unused-vars": "off",
1586
2088
  "sonarjs/prefer-immediate-return": "off",
1587
2089
  "sonarjs/function-inside-loop": "error",
1588
- "sonarjs/code-eval": "off",
1589
2090
  "sonarjs/no-variable-usage-before-declaration": "off",
1590
2091
  "sonarjs/future-reserved-words": "error",
1591
2092
  "sonarjs/array-constructor": "off",
@@ -1594,52 +2095,34 @@ export default [
1594
2095
  "sonarjs/no-primitive-wrappers": "error",
1595
2096
  "sonarjs/for-in": "off",
1596
2097
  "sonarjs/cyclomatic-complexity": "off",
1597
- "sonarjs/no-skipped-tests": "off",
1598
2098
  "sonarjs/no-identical-expressions": "error",
1599
2099
  "sonarjs/no-nested-switch": "off",
1600
- "sonarjs/constructor-for-side-effects": "off",
1601
- "sonarjs/no-dead-store": "off",
1602
2100
  "sonarjs/no-identical-conditions": "error",
1603
2101
  "sonarjs/no-duplicated-branches": "error",
1604
- "sonarjs/deprecation": "off",
1605
- "sonarjs/no-inverted-boolean-check": "off",
1606
2102
  "sonarjs/misplaced-loop-counter": "error",
1607
- "sonarjs/no-nested-functions": "off",
1608
- "sonarjs/no-hardcoded-passwords": "off",
1609
2103
  "sonarjs/sql-queries": "error",
1610
2104
  "sonarjs/insecure-cookie": "error",
1611
2105
  "sonarjs/no-useless-increment": "error",
1612
- "sonarjs/no-globals-shadowing": "off",
1613
2106
  "sonarjs/no-undefined-assignment": "off",
1614
- "sonarjs/no-empty-test-file": "off",
1615
- "sonarjs/no-ignored-return": "off",
1616
2107
  "sonarjs/no-wildcard-import": "off",
1617
- "sonarjs/arguments-order": "off",
1618
- "sonarjs/pseudo-random": "off",
1619
2108
  "sonarjs/for-loop-increment-sign": "error",
1620
2109
  "sonarjs/cookies": "off",
1621
2110
  "sonarjs/null-dereference": "error",
1622
- "sonarjs/no-selector-parameter": "off",
1623
2111
  "sonarjs/updated-loop-counter": "error",
1624
2112
  "sonarjs/block-scoped-var": "error",
1625
2113
  "sonarjs/no-built-in-override": "off",
1626
2114
  "sonarjs/prefer-object-literal": "off",
1627
- "sonarjs/no-ignored-exceptions": "off",
1628
2115
  "sonarjs/no-gratuitous-expressions": "error",
1629
2116
  "sonarjs/file-uploads": "error",
1630
2117
  "sonarjs/file-permissions": "error",
1631
2118
  "sonarjs/no-empty-character-class": "error",
1632
2119
  "sonarjs/no-unenclosed-multiline-block": "error",
1633
2120
  "sonarjs/index-of-compare-to-positive-number": "error",
1634
- "sonarjs/assertions-in-tests": "off",
1635
- "sonarjs/no-implicit-global": "off",
1636
2121
  "sonarjs/no-useless-catch": "error",
1637
2122
  "sonarjs/xml-parser-xxe": "error",
1638
2123
  "sonarjs/non-existent-operator": "error",
1639
2124
  "sonarjs/web-sql-database": "off",
1640
- "sonarjs/post-message": "off",
1641
2125
  "sonarjs/no-array-delete": "error",
1642
- "sonarjs/no-alphabetical-sort": "off",
1643
2126
  "sonarjs/no-incomplete-assertions": "error",
1644
2127
  "sonarjs/no-global-this": "error",
1645
2128
  "sonarjs/new-operator-misuse": "error",
@@ -1647,18 +2130,14 @@ export default [
1647
2130
  "sonarjs/strings-comparison": "off",
1648
2131
  "sonarjs/file-name-differ-from-class": "off",
1649
2132
  "sonarjs/cookie-no-httponly": "error",
1650
- "sonarjs/no-nested-conditional": "off",
1651
2133
  "sonarjs/no-incorrect-string-concat": "off",
1652
- "sonarjs/different-types-comparison": "off",
1653
2134
  "sonarjs/inverted-assertion-arguments": "error",
1654
2135
  "sonarjs/shorthand-property-grouping": "off",
1655
2136
  "sonarjs/updated-const-var": "error",
1656
2137
  "sonarjs/arguments-usage": "off",
1657
2138
  "sonarjs/destructuring-assignment-syntax": "off",
1658
- "sonarjs/no-invariant-returns": "off",
1659
2139
  "sonarjs/arrow-function-convention": "off",
1660
2140
  "sonarjs/class-prototype": "off",
1661
- "sonarjs/generator-without-yield": "off",
1662
2141
  "sonarjs/no-require-or-define": "off",
1663
2142
  "sonarjs/no-associative-arrays": "error",
1664
2143
  "sonarjs/comma-or-logical-or-case": "error",
@@ -1666,16 +2145,11 @@ export default [
1666
2145
  "sonarjs/inconsistent-function-call": "error",
1667
2146
  "sonarjs/no-use-of-empty-return-value": "error",
1668
2147
  "sonarjs/enforce-trailing-comma": "off",
1669
- "sonarjs/void-use": "off",
1670
2148
  "sonarjs/operation-returning-nan": "off",
1671
2149
  "sonarjs/values-not-convertible-to-numbers": "off",
1672
2150
  "sonarjs/non-number-in-arithmetic-expression": "off",
1673
- "sonarjs/cognitive-complexity": "warn",
1674
- "sonarjs/argument-type": "off",
1675
2151
  "sonarjs/in-operator-type-error": "error",
1676
- "sonarjs/array-callback-without-return": "off",
1677
2152
  "sonarjs/declarations-in-global-scope": "off",
1678
- "sonarjs/function-return-type": "off",
1679
2153
  "sonarjs/no-inconsistent-returns": "off",
1680
2154
  "sonarjs/no-reference-error": "off",
1681
2155
  "sonarjs/super-invocation": "error",
@@ -1685,50 +2159,36 @@ export default [
1685
2159
  "sonarjs/no-collection-size-mischeck": "error",
1686
2160
  "sonarjs/no-unthrown-error": "error",
1687
2161
  "sonarjs/no-unused-collection": "error",
1688
- "sonarjs/no-os-command-from-path": "off",
1689
- "sonarjs/no-misleading-array-reverse": "off",
1690
2162
  "sonarjs/no-for-in-iterable": "off",
1691
2163
  "sonarjs/no-element-overwrite": "error",
1692
2164
  "sonarjs/no-identical-functions": "error",
1693
2165
  "sonarjs/no-empty-collection": "error",
1694
2166
  "sonarjs/no-redundant-assignments": "error",
1695
2167
  "sonarjs/prefer-type-guard": "error",
1696
- "sonarjs/use-type-alias": "off",
1697
2168
  "sonarjs/no-return-type-any": "off",
1698
2169
  "sonarjs/no-implicit-dependencies": "off",
1699
- "sonarjs/no-useless-intersection": "off",
1700
2170
  "sonarjs/weak-ssl": "error",
1701
2171
  "sonarjs/no-weak-keys": "error",
1702
2172
  "sonarjs/csrf": "error",
1703
2173
  "sonarjs/production-debug": "error",
1704
- "sonarjs/prefer-default-last": "off",
1705
2174
  "sonarjs/no-in-misuse": "error",
1706
2175
  "sonarjs/no-duplicate-in-composite": "error",
1707
2176
  "sonarjs/max-union-size": "off",
1708
- "sonarjs/no-undefined-argument": "off",
1709
2177
  "sonarjs/no-nested-template-literals": "error",
1710
- "sonarjs/prefer-promise-shorthand": "off",
1711
- "sonarjs/os-command": "off",
1712
- "sonarjs/no-redundant-optional": "off",
1713
2178
  "sonarjs/regular-expr": "off",
1714
2179
  "sonarjs/encryption": "off",
1715
2180
  "sonarjs/hashing": "error",
1716
2181
  "sonarjs/bool-param-default": "off",
1717
2182
  "sonarjs/xpath": "off",
1718
2183
  "sonarjs/sockets": "off",
1719
- "sonarjs/no-try-promise": "off",
1720
2184
  "sonarjs/process-argv": "off",
1721
2185
  "sonarjs/standard-input": "off",
1722
2186
  "sonarjs/unverified-certificate": "error",
1723
- "sonarjs/no-unsafe-unzip": "off",
1724
2187
  "sonarjs/cors": "error",
1725
- "sonarjs/link-with-target-blank": "off",
1726
2188
  "sonarjs/disabled-auto-escaping": "error",
1727
- "sonarjs/table-header": "off",
1728
2189
  "sonarjs/no-table-as-layout": "error",
1729
2190
  "sonarjs/table-header-reference": "error",
1730
2191
  "sonarjs/object-alt-content": "error",
1731
- "sonarjs/no-clear-text-protocols": "off",
1732
2192
  "sonarjs/publicly-writable-directories": "error",
1733
2193
  "sonarjs/unverified-hostname": "error",
1734
2194
  "sonarjs/encryption-secure-mode": "error",
@@ -1749,21 +2209,15 @@ export default [
1749
2209
  "sonarjs/dns-prefetching": "off",
1750
2210
  "sonarjs/confidential-information-logging": "error",
1751
2211
  "sonarjs/no-ip-forward": "error",
1752
- "sonarjs/empty-string-repetition": "off",
1753
- "sonarjs/regex-complexity": "off",
1754
- "sonarjs/anchor-precedence": "off",
1755
- "sonarjs/slow-regex": "off",
1756
2212
  "sonarjs/no-invalid-regexp": "error",
1757
2213
  "sonarjs/unused-named-groups": "error",
1758
2214
  "sonarjs/no-same-argument-assert": "error",
1759
2215
  "sonarjs/unicode-aware-regex": "off",
1760
2216
  "sonarjs/no-misleading-character-class": "error",
1761
- "sonarjs/duplicates-in-character-class": "off",
1762
2217
  "sonarjs/session-regeneration": "error",
1763
2218
  "sonarjs/test-check-exception": "error",
1764
2219
  "sonarjs/stable-tests": "error",
1765
2220
  "sonarjs/no-empty-after-reluctant": "error",
1766
- "sonarjs/single-character-alternation": "off",
1767
2221
  "sonarjs/no-code-after-done": "error",
1768
2222
  "sonarjs/disabled-timeout": "error",
1769
2223
  "sonarjs/chai-determinate-assertion": "error",
@@ -1784,7 +2238,6 @@ export default [
1784
2238
  "sonarjs/aws-sagemaker-unencrypted-notebook": "error",
1785
2239
  "sonarjs/aws-restricted-ip-admin-access": "error",
1786
2240
  "sonarjs/no-empty-alternatives": "error",
1787
- "sonarjs/no-control-regex": "off",
1788
2241
  "sonarjs/no-regex-spaces": "error",
1789
2242
  "sonarjs/aws-sns-unencrypted-topics": "error",
1790
2243
  "sonarjs/existing-groups": "error",
@@ -1794,24 +2247,81 @@ export default [
1794
2247
  "sonarjs/aws-efs-unencrypted": "error",
1795
2248
  "sonarjs/aws-apigateway-public-api": "error",
1796
2249
  "sonarjs/stateful-regex": "error",
1797
- "sonarjs/concise-regex": "off",
1798
2250
  "sonarjs/single-char-in-character-classes": "error",
1799
- "sonarjs/no-hardcoded-secrets": "off",
1800
2251
  "sonarjs/no-exclusive-tests": "error",
1801
2252
  "sonarjs/hardcoded-secret-signatures": "error",
1802
2253
  "sonarjs/jsx-no-leaked-render": "error",
1803
2254
  "sonarjs/no-hook-setter-in-body": "error",
1804
- "sonarjs/no-useless-react-setstate": "off",
1805
2255
  "sonarjs/no-uniq-key": "error",
1806
- "sonarjs/redundant-type-aliases": "off",
1807
- "sonarjs/prefer-regexp-exec": "off",
1808
2256
  "sonarjs/no-internal-api-use": "error",
1809
- "sonarjs/prefer-read-only-props": "off",
1810
2257
  "sonarjs/no-literal-call": "error",
1811
- "sonarjs/reduce-initial-value": "off",
1812
- "sonarjs/no-async-constructor": "off",
1813
2258
  "sonarjs/review-blockchain-mnemonic": "error",
1814
2259
  "sonarjs/dynamically-constructed-templates": "error",
2260
+ "sonarjs/no-duplicate-string": "off",
2261
+ "sonarjs/cognitive-complexity": "warn",
2262
+ "sonarjs/todo-tag": "warn",
2263
+ "sonarjs/no-hardcoded-passwords": "off",
2264
+ "sonarjs/no-alphabetical-sort": "off",
2265
+ "sonarjs/no-os-command-from-path": "off",
2266
+ "sonarjs/os-command": "off",
2267
+ "sonarjs/prefer-regexp-exec": "off",
2268
+ "sonarjs/no-clear-text-protocols": "off",
2269
+ "sonarjs/deprecation": "off",
2270
+ "sonarjs/no-nested-conditional": "off",
2271
+ "sonarjs/no-ignored-exceptions": "off",
2272
+ "sonarjs/slow-regex": "off",
2273
+ "sonarjs/prefer-read-only-props": "off",
2274
+ "sonarjs/no-skipped-tests": "off",
2275
+ "sonarjs/no-commented-code": "off",
2276
+ "sonarjs/no-ignored-return": "off",
2277
+ "sonarjs/array-callback-without-return": "off",
2278
+ "sonarjs/pseudo-random": "off",
2279
+ "sonarjs/no-nested-functions": "off",
2280
+ "sonarjs/no-async-constructor": "off",
2281
+ "sonarjs/assertions-in-tests": "off",
2282
+ "sonarjs/function-return-type": "off",
2283
+ "sonarjs/no-unused-vars": "off",
2284
+ "sonarjs/no-invariant-returns": "off",
2285
+ "sonarjs/different-types-comparison": "off",
2286
+ "sonarjs/no-selector-parameter": "off",
2287
+ "sonarjs/anchor-precedence": "off",
2288
+ "sonarjs/redundant-type-aliases": "off",
2289
+ "sonarjs/no-redundant-optional": "off",
2290
+ "sonarjs/reduce-initial-value": "off",
2291
+ "sonarjs/no-globals-shadowing": "off",
2292
+ "sonarjs/use-type-alias": "off",
2293
+ "sonarjs/void-use": "off",
2294
+ "sonarjs/no-undefined-argument": "off",
2295
+ "sonarjs/no-useless-react-setstate": "off",
2296
+ "sonarjs/no-inverted-boolean-check": "off",
2297
+ "sonarjs/concise-regex": "off",
2298
+ "sonarjs/no-dead-store": "off",
2299
+ "sonarjs/public-static-readonly": "off",
2300
+ "sonarjs/code-eval": "off",
2301
+ "sonarjs/no-misleading-array-reverse": "off",
2302
+ "sonarjs/fixme-tag": "off",
2303
+ "sonarjs/argument-type": "off",
2304
+ "sonarjs/constructor-for-side-effects": "off",
2305
+ "sonarjs/no-useless-intersection": "off",
2306
+ "sonarjs/no-empty-test-file": "off",
2307
+ "sonarjs/prefer-default-last": "off",
2308
+ "sonarjs/prefer-promise-shorthand": "off",
2309
+ "sonarjs/no-unsafe-unzip": "off",
2310
+ "sonarjs/no-nested-assignment": "off",
2311
+ "sonarjs/generator-without-yield": "off",
2312
+ "sonarjs/no-try-promise": "off",
2313
+ "sonarjs/single-character-alternation": "off",
2314
+ "sonarjs/class-name": "off",
2315
+ "sonarjs/no-hardcoded-secrets": "off",
2316
+ "sonarjs/regex-complexity": "off",
2317
+ "sonarjs/post-message": "off",
2318
+ "sonarjs/link-with-target-blank": "off",
2319
+ "sonarjs/duplicates-in-character-class": "off",
2320
+ "sonarjs/arguments-order": "off",
2321
+ "sonarjs/empty-string-repetition": "off",
2322
+ "sonarjs/table-header": "off",
2323
+ "sonarjs/no-implicit-global": "off",
2324
+ "sonarjs/no-control-regex": "off",
1815
2325
  },
1816
2326
  },
1817
2327
  {
@@ -1902,7 +2412,7 @@ export default [
1902
2412
  },
1903
2413
  {
1904
2414
  plugins: {
1905
- react: plugin0009,
2415
+ react: plugin0008,
1906
2416
  },
1907
2417
  settings: {
1908
2418
  react: {
@@ -1937,7 +2447,7 @@ export default [
1937
2447
  },
1938
2448
  {
1939
2449
  plugins: {
1940
- "react-hooks": plugin0010,
2450
+ "react-hooks": plugin0009,
1941
2451
  },
1942
2452
  rules: {
1943
2453
  "react-hooks/rules-of-hooks": "error",
@@ -1949,18 +2459,18 @@ export default [
1949
2459
  globals: { ...globals.mocha, cy: false, Cypress: false, expect: false, assert: false, chai: false },
1950
2460
  },
1951
2461
  plugins: {
1952
- cypress: plugin0011,
2462
+ cypress: plugin0010,
1953
2463
  },
1954
2464
  rules: {
1955
- "cypress/no-assigning-return-values": "warn",
1956
- "cypress/no-unnecessary-waiting": "warn",
1957
2465
  "cypress/no-async-tests": "error",
2466
+ "cypress/no-unnecessary-waiting": "warn",
2467
+ "cypress/no-assigning-return-values": "warn",
1958
2468
  "cypress/unsafe-to-chain-command": "warn",
1959
2469
  },
1960
2470
  },
1961
2471
  {
1962
2472
  plugins: {
1963
- "chai-friendly": plugin0012,
2473
+ "chai-friendly": plugin0011,
1964
2474
  },
1965
2475
  rules: {
1966
2476
  "no-unused-expressions": "off",
@@ -1979,4 +2489,22 @@ export default [
1979
2489
  "@typescript-eslint/no-unused-expressions": "off",
1980
2490
  },
1981
2491
  },
2492
+ {
2493
+ plugins: {
2494
+ "no-only-tests": plugin0012,
2495
+ },
2496
+ rules: {
2497
+ "no-only-tests/no-only-tests": [
2498
+ "error",
2499
+ {
2500
+ block: [
2501
+ "fixture",
2502
+ ],
2503
+ focus: [
2504
+ "only",
2505
+ ],
2506
+ },
2507
+ ],
2508
+ },
2509
+ },
1982
2510
  ];