eslint-config-heck 1.53.0 → 2.1.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/biomeLinting.json +19 -12
- package/node.js +1 -0
- package/nodeWithBiome.js +1 -0
- package/package.json +11 -11
- package/readme.md +1 -13
- package/excludeRome.js +0 -122
package/biomeLinting.json
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"noBlankTarget": "error",
|
|
11
11
|
"noDistractingElements": "error",
|
|
12
12
|
"noHeaderScope": "error",
|
|
13
|
+
"noInteractiveElementToNoninteractiveRole": "error",
|
|
13
14
|
"noNoninteractiveElementToInteractiveRole": "error",
|
|
14
15
|
"noNoninteractiveTabindex": "error",
|
|
15
16
|
"noPositiveTabindex": "error",
|
|
@@ -18,6 +19,7 @@
|
|
|
18
19
|
"noSvgWithoutTitle": "error",
|
|
19
20
|
"useAltText": "error",
|
|
20
21
|
"useAnchorContent": "error",
|
|
22
|
+
"useAriaActivedescendantWithTabindex": "error",
|
|
21
23
|
"useAriaPropsForRole": "error",
|
|
22
24
|
"useButtonType": "error",
|
|
23
25
|
"useHeadingContent": "error",
|
|
@@ -38,6 +40,7 @@
|
|
|
38
40
|
"noForEach": "error",
|
|
39
41
|
"noMultipleSpacesInRegularExpressionLiterals": "error",
|
|
40
42
|
"noStaticOnlyClass": "error",
|
|
43
|
+
"noThisInStatic": "error",
|
|
41
44
|
"noUselessCatch": "error",
|
|
42
45
|
"noUselessConstructor": "error",
|
|
43
46
|
"noUselessEmptyExport": "error",
|
|
@@ -49,6 +52,7 @@
|
|
|
49
52
|
"noUselessTypeConstraint": "error",
|
|
50
53
|
"noVoid": "error",
|
|
51
54
|
"noWith": "error",
|
|
55
|
+
"useArrowFunction": "error",
|
|
52
56
|
"useFlatMap": "error",
|
|
53
57
|
"useLiteralKeys": "error",
|
|
54
58
|
"useOptionalChain": "error",
|
|
@@ -60,11 +64,12 @@
|
|
|
60
64
|
"noConstAssign": "error",
|
|
61
65
|
"noConstantCondition": "error",
|
|
62
66
|
"noConstructorReturn": "error",
|
|
67
|
+
"noEmptyCharacterClassInRegex": "error",
|
|
63
68
|
"noEmptyPattern": "error",
|
|
64
69
|
"noGlobalObjectCalls": "error",
|
|
65
70
|
"noInnerDeclarations": "error",
|
|
66
71
|
"noInvalidConstructorSuper": "error",
|
|
67
|
-
"
|
|
72
|
+
"noInvalidNewBuiltin": "error",
|
|
68
73
|
"noNonoctalDecimalEscape": "error",
|
|
69
74
|
"noPrecisionLoss": "error",
|
|
70
75
|
"noRenderReturnValue": "error",
|
|
@@ -109,6 +114,8 @@
|
|
|
109
114
|
"noRestrictedGlobals": "off",
|
|
110
115
|
"noShoutyConstants": "error",
|
|
111
116
|
"noUnusedTemplateLiteral": "error",
|
|
117
|
+
"noUselessElse": "error",
|
|
118
|
+
"useAsConstAssertion": "error",
|
|
112
119
|
"noVar": "error",
|
|
113
120
|
"useBlockStatements": "error",
|
|
114
121
|
"useCollapsedElseIf": "error",
|
|
@@ -122,12 +129,14 @@
|
|
|
122
129
|
"useNumericLiterals": "error",
|
|
123
130
|
"useSelfClosingElements": "error",
|
|
124
131
|
"useShorthandArrayType": "error",
|
|
132
|
+
"useShorthandAssign": "error",
|
|
125
133
|
"useSingleCaseStatement": "error",
|
|
126
134
|
"useSingleVarDeclarator": "error",
|
|
127
135
|
"useTemplate": "error",
|
|
128
136
|
"useWhile": "error"
|
|
129
137
|
},
|
|
130
138
|
"suspicious": {
|
|
139
|
+
"noApproximativeNumericConstant": "error",
|
|
131
140
|
"noArrayIndexKey": "error",
|
|
132
141
|
"noAssignInExpressions": "error",
|
|
133
142
|
"noAsyncPromiseExecutor": "error",
|
|
@@ -156,6 +165,8 @@
|
|
|
156
165
|
"noGlobalIsNan": "error",
|
|
157
166
|
"noImportAssign": "error",
|
|
158
167
|
"noLabelVar": "error",
|
|
168
|
+
"noMisleadingInstantiator": "error",
|
|
169
|
+
"noMisrefactoredShorthandAssign": "error",
|
|
159
170
|
"noPrototypeBuiltins": "error",
|
|
160
171
|
"noRedeclare": "error",
|
|
161
172
|
"noRedundantUseStrict": "error",
|
|
@@ -171,23 +182,19 @@
|
|
|
171
182
|
"useValidTypeof": "error"
|
|
172
183
|
},
|
|
173
184
|
"nursery": {
|
|
174
|
-
"
|
|
185
|
+
"noAriaHiddenOnFocusable": "error",
|
|
186
|
+
"noDefaultExport": "error",
|
|
175
187
|
"noDuplicateJsonKeys": "error",
|
|
176
188
|
"noEmptyBlockStatements": "error",
|
|
177
|
-
"
|
|
178
|
-
"noInteractiveElementToNoninteractiveRole": "error",
|
|
179
|
-
"noInvalidNewBuiltin": "error",
|
|
180
|
-
"noMisleadingInstantiator": "error",
|
|
181
|
-
"noMisrefactoredShorthandAssign": "error",
|
|
189
|
+
"noImplicitAnyLet": "error",
|
|
182
190
|
"noUnusedImports": "error",
|
|
183
|
-
"
|
|
191
|
+
"noUnusedPrivateClassMembers": "error",
|
|
184
192
|
"noUselessLoneBlockStatements": "off",
|
|
185
|
-
"
|
|
186
|
-
"useArrowFunction": "error",
|
|
187
|
-
"useAsConstAssertion": "error",
|
|
193
|
+
"useAwait": "error",
|
|
188
194
|
"useGroupedTypeImport": "error",
|
|
189
195
|
"useImportRestrictions": "error",
|
|
190
|
-
"
|
|
196
|
+
"useRegexLiterals": "error",
|
|
197
|
+
"useValidAriaRole": "error"
|
|
191
198
|
}
|
|
192
199
|
}
|
|
193
200
|
}
|
package/node.js
CHANGED
|
@@ -1054,6 +1054,7 @@ const overrides = [
|
|
|
1054
1054
|
"@typescript-eslint/no-unsafe-enum-comparison": "error",
|
|
1055
1055
|
"@typescript-eslint/no-unsafe-member-access": "error",
|
|
1056
1056
|
"@typescript-eslint/no-unsafe-return": "error",
|
|
1057
|
+
"@typescript-eslint/no-unsafe-unary-minus": "error",
|
|
1057
1058
|
"@typescript-eslint/no-useless-empty-export": "error",
|
|
1058
1059
|
"@typescript-eslint/no-var-requires": "error",
|
|
1059
1060
|
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
package/nodeWithBiome.js
CHANGED
|
@@ -895,6 +895,7 @@ const overrides = [
|
|
|
895
895
|
"@typescript-eslint/no-unsafe-enum-comparison": "error",
|
|
896
896
|
"@typescript-eslint/no-unsafe-member-access": "error",
|
|
897
897
|
"@typescript-eslint/no-unsafe-return": "error",
|
|
898
|
+
"@typescript-eslint/no-unsafe-unary-minus": "error",
|
|
898
899
|
"@typescript-eslint/no-useless-empty-export": "off",
|
|
899
900
|
"@typescript-eslint/no-var-requires": "error",
|
|
900
901
|
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-config-heck",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Contains an ESLint configuration for ES2015+, TypeScript, and React.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"author": "atheck",
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
21
|
-
"@typescript-eslint/parser": "6.
|
|
22
|
-
"eslint": "8.
|
|
20
|
+
"@typescript-eslint/eslint-plugin": "6.13.0",
|
|
21
|
+
"@typescript-eslint/parser": "6.13.0",
|
|
22
|
+
"eslint": "8.54.0",
|
|
23
23
|
"eslint-import-resolver-typescript": "3.6.1",
|
|
24
24
|
"eslint-plugin-deprecation": "2.0.0",
|
|
25
25
|
"eslint-plugin-import": "2.29.0",
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
"eslint-plugin-react": "7.33.2",
|
|
28
28
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
29
29
|
"eslint-plugin-react-native": "4.1.0",
|
|
30
|
-
"eslint-plugin-testing-library": "6.
|
|
30
|
+
"eslint-plugin-testing-library": "6.2.0",
|
|
31
31
|
"eslint-plugin-typescript-heck": "1.3.1",
|
|
32
32
|
"eslint-plugin-unicorn": "49.0.0",
|
|
33
|
-
"typescript": "5.
|
|
33
|
+
"typescript": "5.3.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@biomejs/biome": "1.
|
|
37
|
-
"@testing-library/react": "14.
|
|
38
|
-
"@types/jest": "29.5.
|
|
39
|
-
"@types/react": "18.2.
|
|
36
|
+
"@biomejs/biome": "1.4.0",
|
|
37
|
+
"@testing-library/react": "14.1.2",
|
|
38
|
+
"@types/jest": "29.5.10",
|
|
39
|
+
"@types/react": "18.2.38",
|
|
40
40
|
"jest": "29.7.0",
|
|
41
41
|
"react": "18.2.0",
|
|
42
|
-
"semantic-release": "22.0.
|
|
42
|
+
"semantic-release": "22.0.8"
|
|
43
43
|
},
|
|
44
44
|
"repository": {
|
|
45
45
|
"type": "git",
|
package/readme.md
CHANGED
|
@@ -62,7 +62,7 @@ If you are using react-native, you can enable react-native specific rules:
|
|
|
62
62
|
|
|
63
63
|
### No formatting
|
|
64
64
|
|
|
65
|
-
To disable some of the formatting rules (when using a formatter like prettier or
|
|
65
|
+
To disable some of the formatting rules (when using a formatter like prettier or Biome) you can use this configuration:
|
|
66
66
|
|
|
67
67
|
~~~json
|
|
68
68
|
{
|
|
@@ -88,15 +88,3 @@ If you are using Biome you can also extend your Biome config with the "biomeLint
|
|
|
88
88
|
"extends": ["./node_modules/eslint-config-heck/biomeLinting.json"]
|
|
89
89
|
}
|
|
90
90
|
~~~
|
|
91
|
-
|
|
92
|
-
### Exclude rules included in Rome
|
|
93
|
-
|
|
94
|
-
To disable some the rules that are already included in Rome you can use this configuration:
|
|
95
|
-
|
|
96
|
-
~~~json
|
|
97
|
-
{
|
|
98
|
-
"extends": ["heck/node", "heck/excludeRome"]
|
|
99
|
-
}
|
|
100
|
-
~~~
|
|
101
|
-
|
|
102
|
-
**Attention:** Since Rome is no longer maintained, this will not be the case with this ruleset. Use the Biome rulesets instead.
|
package/excludeRome.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
rules: {
|
|
5
|
-
// ESLint
|
|
6
|
-
"constructor-super": "off",
|
|
7
|
-
"default-case-last": "off",
|
|
8
|
-
"default-param-last": "off",
|
|
9
|
-
eqeqeq: "off",
|
|
10
|
-
"for-direction": "off",
|
|
11
|
-
"no-async-promise-executor": "off",
|
|
12
|
-
"no-case-declarations": "off",
|
|
13
|
-
"no-class-assign": "off",
|
|
14
|
-
"no-compare-neg-zero": "off",
|
|
15
|
-
"no-cond-assign": "off",
|
|
16
|
-
"no-const-assign": "off",
|
|
17
|
-
"no-constructor-return": "off",
|
|
18
|
-
"no-debugger": "off",
|
|
19
|
-
"no-delete-var": "off",
|
|
20
|
-
"no-dupe-args": "off",
|
|
21
|
-
"no-dupe-class-members": "off",
|
|
22
|
-
"no-dupe-keys": "off",
|
|
23
|
-
"no-duplicate-case": "off",
|
|
24
|
-
"no-else-return": "off",
|
|
25
|
-
"no-empty-character-class": "off",
|
|
26
|
-
"no-empty-static-block": "off",
|
|
27
|
-
"no-empty": "off",
|
|
28
|
-
"no-ex-assign": "off",
|
|
29
|
-
"no-extra-label": "off",
|
|
30
|
-
"no-extra-semi": "off",
|
|
31
|
-
"no-func-assign": "off",
|
|
32
|
-
"no-import-assign": "off",
|
|
33
|
-
"no-inner-declarations": "off",
|
|
34
|
-
"no-label-var": "off",
|
|
35
|
-
"no-lone-blocks": "error",
|
|
36
|
-
"no-lonely-if": "off",
|
|
37
|
-
"no-loss-of-precision": "off",
|
|
38
|
-
"no-mixed-operators": "off",
|
|
39
|
-
"no-negated-condition": "off",
|
|
40
|
-
"no-new-native-nonconstructor": "off",
|
|
41
|
-
"no-new-symbol": "off",
|
|
42
|
-
"no-obj-calls": "off",
|
|
43
|
-
"no-param-reassign": "off",
|
|
44
|
-
"no-prototype-builtins": "off",
|
|
45
|
-
"no-redeclare": "off",
|
|
46
|
-
"no-regex-spaces": "off",
|
|
47
|
-
"no-return-assign": "off",
|
|
48
|
-
"no-self-compare": "off",
|
|
49
|
-
"no-sequences": "off",
|
|
50
|
-
"no-setter-return": "off",
|
|
51
|
-
"no-shadow-restricted-names": "off",
|
|
52
|
-
"no-sparse-arrays": "off",
|
|
53
|
-
"no-this-before-super": "off",
|
|
54
|
-
"no-undef": "off",
|
|
55
|
-
"no-unreachable": "off",
|
|
56
|
-
"no-unsafe-finally": "off",
|
|
57
|
-
"no-unsafe-negation": "off",
|
|
58
|
-
"no-unsafe-optional-chaining": "off",
|
|
59
|
-
"no-unused-labels": "off",
|
|
60
|
-
"no-unused-vars": "off",
|
|
61
|
-
"no-useless-catch": "off",
|
|
62
|
-
"no-useless-constructor": "off",
|
|
63
|
-
"no-useless-rename": "off",
|
|
64
|
-
"no-var": "off",
|
|
65
|
-
"no-with": "off",
|
|
66
|
-
"one-var": "off",
|
|
67
|
-
"operator-assignment": "off",
|
|
68
|
-
"prefer-const": "off",
|
|
69
|
-
"prefer-exponentiation-operator": "off",
|
|
70
|
-
"prefer-numeric-literals": "off",
|
|
71
|
-
"prefer-rest-params": "off",
|
|
72
|
-
"prefer-template": "off",
|
|
73
|
-
"require-yield": "off",
|
|
74
|
-
"sort-imports": "off",
|
|
75
|
-
"valid-typeof": "off",
|
|
76
|
-
"wrap-regex": "off",
|
|
77
|
-
|
|
78
|
-
// Typescript
|
|
79
|
-
"@typescript-eslint/array-type": "off",
|
|
80
|
-
"@typescript-eslint/default-param-last": "off",
|
|
81
|
-
"@typescript-eslint/no-dupe-class-members": "off",
|
|
82
|
-
"@typescript-eslint/no-empty-interface": "off",
|
|
83
|
-
"@typescript-eslint/no-explicit-any": "off",
|
|
84
|
-
"@typescript-eslint/no-extra-non-null-assertion": "off",
|
|
85
|
-
"@typescript-eslint/no-extra-semi": "off",
|
|
86
|
-
"@typescript-eslint/no-inferrable-types": "off",
|
|
87
|
-
"@typescript-eslint/no-loss-of-precision": "off",
|
|
88
|
-
"@typescript-eslint/no-misused-new": "off",
|
|
89
|
-
"@typescript-eslint/no-namespace": "off",
|
|
90
|
-
"@typescript-eslint/no-non-null-assertion": "off",
|
|
91
|
-
"@typescript-eslint/no-redeclare": "off",
|
|
92
|
-
"@typescript-eslint/no-unnecessary-type-constraint": "off",
|
|
93
|
-
"@typescript-eslint/no-unused-vars": "off",
|
|
94
|
-
"@typescript-eslint/no-useless-constructor": "off",
|
|
95
|
-
"@typescript-eslint/prefer-as-const": "off",
|
|
96
|
-
"@typescript-eslint/prefer-enum-initializers": "off",
|
|
97
|
-
"@typescript-eslint/prefer-namespace-keyword": "off",
|
|
98
|
-
|
|
99
|
-
// Unicorn
|
|
100
|
-
"unicorn/no-extra-boolean-cast": "off",
|
|
101
|
-
"unicorn/no-lonely-if": "off",
|
|
102
|
-
"unicorn/no-negated-condition": "off",
|
|
103
|
-
"unicorn/no-useless-switch-case": "off",
|
|
104
|
-
"unicorn/prefer-array-flat-map": "off",
|
|
105
|
-
"unicorn/prefer-prototype-methods": "off",
|
|
106
|
-
"unicorn/switch-case-braces": "off",
|
|
107
|
-
|
|
108
|
-
// React
|
|
109
|
-
"react/button-has-type": "off",
|
|
110
|
-
"react/jsx-boolean-value": "off",
|
|
111
|
-
"react/jsx-fragments": "off",
|
|
112
|
-
"react/jsx-no-blank-target": "off",
|
|
113
|
-
"react/jsx-no-comment-textnodes": "off",
|
|
114
|
-
"react/jsx-no-useless-fragment": "off",
|
|
115
|
-
"react/no-array-index-key": "off",
|
|
116
|
-
"react/no-children-prop": "off",
|
|
117
|
-
"react/no-danger-with-children": "off",
|
|
118
|
-
"react/no-render-return-value": "off",
|
|
119
|
-
"react/self-closing-comp": "off",
|
|
120
|
-
"react/void-dom-elements-no-children": "off",
|
|
121
|
-
},
|
|
122
|
-
};
|