eslint-config-heck 9.4.2 → 9.6.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/biomeJsTs.json CHANGED
@@ -107,14 +107,13 @@
107
107
  "noNodejsModules": "off",
108
108
  "noNonoctalDecimalEscape": "error",
109
109
  "noPrecisionLoss": "error",
110
- "noPrivateImports": "off",
110
+ "noPrivateImports": "error",
111
111
  "noProcessGlobal": "error",
112
112
  "noReactPropAssignments": "error",
113
113
  "noRenderReturnValue": "error",
114
114
  "noRestrictedElements": "off",
115
115
  "noSelfAssign": "error",
116
116
  "noSetterReturn": "error",
117
- "noSolidDestructuredProps": "off",
118
117
  "noStringCaseMismatch": "error",
119
118
  "noSwitchDeclarations": "error",
120
119
  "noUndeclaredDependencies": "error",
@@ -151,10 +150,10 @@
151
150
  },
152
151
  "nursery": {
153
152
  "noAmbiguousAnchorText": "off",
153
+ "noComponentHookFactories": "error",
154
154
  "noConditionalExpect": "error",
155
155
  "noContinue": "off",
156
156
  "noDivRegex": "off",
157
- "noDuplicateArgumentNames": "off",
158
157
  "noDuplicatedSpreadProps": "error",
159
158
  "noEqualsToNull": "off",
160
159
  "noExcessiveClassesPerFile": "off",
@@ -162,27 +161,21 @@
162
161
  "noFloatingClasses": "error",
163
162
  "noFloatingPromises": "error",
164
163
  "noForIn": "warn",
164
+ "noIdenticalTestTitle": "error",
165
165
  "noImpliedEval": "error",
166
166
  "noIncrementDecrement": "off",
167
167
  "noInlineStyles": "warn",
168
+ "noJsxLeakedDollar": "warn",
169
+ "noJsxNamespace": "error",
168
170
  "noJsxPropsBind": "off",
169
171
  "noLeakedRender": "error",
170
- "noMisleadingReturnType": "off",
172
+ "noLoopFunc": "error",
173
+ "noMisleadingReturnType": "info",
171
174
  "noMisusedPromises": "error",
172
175
  "noMultiAssign": "error",
173
176
  "noMultiStr": "error",
174
177
  "noNestedPromises": "error",
175
178
  "noParametersOnlyUsedInRecursion": "warn",
176
- "noPlaywrightElementHandle": "off",
177
- "noPlaywrightEval": "off",
178
- "noPlaywrightForceOption": "off",
179
- "noPlaywrightMissingAwait": "off",
180
- "noPlaywrightNetworkidle": "off",
181
- "noPlaywrightPagePause": "off",
182
- "noPlaywrightUselessAwait": "off",
183
- "noPlaywrightWaitForNavigation": "off",
184
- "noPlaywrightWaitForSelector": "off",
185
- "noPlaywrightWaitForTimeout": "off",
186
179
  "noProto": "error",
187
180
  "noRedundantDefaultExport": "error",
188
181
  "noReturnAssign": "error",
@@ -193,12 +186,13 @@
193
186
  "noUndeclaredEnvVars": "off",
194
187
  "noUnknownAttribute": "error",
195
188
  "noUnnecessaryConditions": "off",
189
+ "noUnnecessaryTemplateExpression": "error",
196
190
  "noUnsafePlusOperands": "error",
197
191
  "noUselessReturn": "error",
198
192
  "noUselessTypeConversion": "error",
199
193
  "useArraySome": "error",
200
194
  "useArraySortCompare": "error",
201
- "useAwaitThenable": "off",
195
+ "useAwaitThenable": "error",
202
196
  "useConsistentEnumValueType": "error",
203
197
  "useConsistentMethodSignatures": "error",
204
198
  "useConsistentTestIt": {
@@ -210,6 +204,8 @@
210
204
  },
211
205
  "useDestructuring": "off",
212
206
  "useDisposables": "error",
207
+ "useDomNodeTextContent": "error",
208
+ "useDomQuerySelector": "error",
213
209
  "useErrorCause": {
214
210
  "level": "error",
215
211
  "options": {
@@ -228,14 +224,19 @@
228
224
  "useExplicitType": "off",
229
225
  "useFind": "off",
230
226
  "useGlobalThis": "off",
227
+ "useIframeSandbox": "error",
231
228
  "useImportsFirst": "error",
232
229
  "useNamedCaptureGroup": "error",
233
230
  "useNullishCoalescing": "error",
234
- "usePlaywrightValidDescribeCallback": "off",
231
+ "useReactAsyncServerFunction": "warn",
232
+ "useReduceTypeParameter": "error",
235
233
  "useRegexpExec": "error",
234
+ "useRegexpTest": "error",
236
235
  "useSortedClasses": "off",
237
236
  "useSpread": "error",
238
- "useUnicodeRegex": "error"
237
+ "useStringStartsEndsWith": "error",
238
+ "useUnicodeRegex": "error",
239
+ "useVarsOnTop": "error"
239
240
  },
240
241
  "performance": {
241
242
  "noAccumulatingSpread": "error",
@@ -243,12 +244,10 @@
243
244
  "noBarrelFile": "error",
244
245
  "noDelete": "error",
245
246
  "noDynamicNamespaceImportAccess": "error",
246
- "noImgElement": "off",
247
247
  "noNamespaceImport": "error",
248
248
  "noReExportAll": "error",
249
249
  "noUnwantedPolyfillio": "off",
250
250
  "useGoogleFontPreconnect": "error",
251
- "useSolidForComponent": "off",
252
251
  "useTopLevelRegex": "error"
253
252
  },
254
253
  "security": {
@@ -264,7 +263,6 @@
264
263
  "noDoneCallback": "error",
265
264
  "noEnum": "error",
266
265
  "noExportedImports": "error",
267
- "noHeadElement": "off",
268
266
  "noImplicitBoolean": "off",
269
267
  "noInferrableTypes": "error",
270
268
  "noJsxLiterals": "error",
@@ -327,7 +325,7 @@
327
325
  }
328
326
  },
329
327
  "useForOf": "error",
330
- "useFragmentSyntax": "off",
328
+ "useFragmentSyntax": "info",
331
329
  "useGroupedAccessorPairs": "error",
332
330
  "useImportType": "error",
333
331
  "useLiteralEnumMembers": "error",
@@ -385,9 +383,8 @@
385
383
  "noConstantBinaryExpressions": "error",
386
384
  "noControlCharactersInRegex": "error",
387
385
  "noDebugger": "error",
388
- "noDeprecatedImports": "off",
386
+ "noDeprecatedImports": "warn",
389
387
  "noDocumentCookie": "error",
390
- "noDocumentImportInPage": "off",
391
388
  "noDoubleEquals": "error",
392
389
  "noDuplicateCase": "error",
393
390
  "noDuplicateClassMembers": "error",
@@ -409,7 +406,6 @@
409
406
  "noGlobalAssign": "error",
410
407
  "noGlobalIsFinite": "error",
411
408
  "noGlobalIsNan": "error",
412
- "noHeadImportInDocument": "off",
413
409
  "noImplicitAnyLet": "error",
414
410
  "noImportAssign": "error",
415
411
  "noImportCycles": "error",
@@ -423,7 +419,6 @@
423
419
  "noOctalEscape": "error",
424
420
  "noPrototypeBuiltins": "error",
425
421
  "noReactForwardRef": "error",
426
- "noReactSpecificProps": "off",
427
422
  "noRedeclare": "error",
428
423
  "noRedundantUseStrict": "error",
429
424
  "noSelfCompare": "error",
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3
+ "root": false,
4
+ "linter": {
5
+ "enabled": true,
6
+ "rules": {
7
+ "nursery": {
8
+ "noPlaywrightElementHandle": "error",
9
+ "noPlaywrightEval": "error",
10
+ "noPlaywrightForceOption": "error",
11
+ "noPlaywrightMissingAwait": "error",
12
+ "noPlaywrightNetworkidle": "error",
13
+ "noPlaywrightPagePause": "error",
14
+ "noPlaywrightUselessAwait": "error",
15
+ "noPlaywrightWaitForNavigation": "error",
16
+ "noPlaywrightWaitForSelector": "error",
17
+ "noPlaywrightWaitForTimeout": "error",
18
+ "usePlaywrightValidDescribeCallback": "error"
19
+ }
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3
+ "root": false,
4
+ "linter": {
5
+ "enabled": true,
6
+ "rules": {
7
+ "nursery": {
8
+ "noReactNativeDeepImports": "error",
9
+ "noReactNativeLiteralColors": "error",
10
+ "noReactNativeRawText": "error",
11
+ "useReactNativePlatformComponents": "error"
12
+ }
13
+ }
14
+ }
15
+ }
package/nodeWithBiome.js CHANGED
@@ -282,7 +282,7 @@ export default [
282
282
  "sort-vars": "off",
283
283
  strict: ["error", "global"],
284
284
  "symbol-description": "off",
285
- "vars-on-top": "error",
285
+ "vars-on-top": "off",
286
286
  yoda: "off",
287
287
 
288
288
  // Layout & Formatting
@@ -383,7 +383,7 @@ export default [
383
383
  allowDestructuredState: true,
384
384
  },
385
385
  ],
386
- "react/iframe-missing-sandbox": "error",
386
+ "react/iframe-missing-sandbox": "off",
387
387
  "react/jsx-boolean-value": "off",
388
388
  "react/jsx-child-element-spacing": "error",
389
389
  "react/jsx-closing-bracket-location": "off",
@@ -446,7 +446,7 @@ export default [
446
446
  "react/no-invalid-html-attribute": "error",
447
447
  "react/no-is-mounted": "error",
448
448
  "react/no-multi-comp": "off",
449
- "react/no-namespace": "error",
449
+ "react/no-namespace": "off",
450
450
  "react/no-object-type-as-default-prop": "error",
451
451
  "react/no-redundant-should-component-update": "error",
452
452
  "react/no-render-return-value": "off",
@@ -613,7 +613,7 @@ export default [
613
613
  "unicorn/prefer-dom-node-append": "error",
614
614
  "unicorn/prefer-dom-node-dataset": "error",
615
615
  "unicorn/prefer-dom-node-remove": "error",
616
- "unicorn/prefer-dom-node-text-content": "error",
616
+ "unicorn/prefer-dom-node-text-content": "off",
617
617
  "unicorn/prefer-event-target": "off",
618
618
  "unicorn/prefer-export-from": "off",
619
619
  "unicorn/prefer-global-this": "off",
@@ -636,7 +636,7 @@ export default [
636
636
  "unicorn/prefer-prototype-methods": "off",
637
637
  "unicorn/prefer-query-selector": "off",
638
638
  "unicorn/prefer-reflect-apply": "error",
639
- "unicorn/prefer-regexp-test": "error",
639
+ "unicorn/prefer-regexp-test": "off",
640
640
  "unicorn/prefer-response-static-json": "error",
641
641
  "unicorn/prefer-set-has": "error",
642
642
  "unicorn/prefer-set-size": "error",
@@ -646,7 +646,7 @@ export default [
646
646
  "unicorn/prefer-string-raw": "error",
647
647
  "unicorn/prefer-string-replace-all": "error",
648
648
  "unicorn/prefer-string-slice": "off",
649
- "unicorn/prefer-string-starts-ends-with": "error",
649
+ "unicorn/prefer-string-starts-ends-with": "off",
650
650
  "unicorn/prefer-string-trim-start-end": "off",
651
651
  "unicorn/prefer-structured-clone": "error",
652
652
  "unicorn/prefer-switch": "error",
@@ -784,7 +784,7 @@ export default [
784
784
  "@typescript-eslint/no-base-to-string": "error",
785
785
  "@typescript-eslint/no-confusing-non-null-assertion": "error",
786
786
  "@typescript-eslint/no-confusing-void-expression": "off",
787
- "@typescript-eslint/no-deprecated": "warn",
787
+ "@typescript-eslint/no-deprecated": "off",
788
788
  "no-dupe-class-members": "off",
789
789
  "@typescript-eslint/no-dupe-class-members": "off",
790
790
  "@typescript-eslint/no-duplicate-enum-values": "error",
@@ -806,7 +806,7 @@ export default [
806
806
  "@typescript-eslint/no-invalid-this": "error",
807
807
  "@typescript-eslint/no-invalid-void-type": "off",
808
808
  "no-loop-func": "off",
809
- "@typescript-eslint/no-loop-func": "error",
809
+ "@typescript-eslint/no-loop-func": "off",
810
810
  "no-magic-numbers": "off",
811
811
  "@typescript-eslint/no-magic-numbers": "off",
812
812
  "@typescript-eslint/no-meaningless-void-operator": "off",
@@ -839,7 +839,7 @@ export default [
839
839
  "@typescript-eslint/no-unnecessary-parameter-property-assignment":
840
840
  "error",
841
841
  "@typescript-eslint/no-unnecessary-qualifier": "error",
842
- "@typescript-eslint/no-unnecessary-template-expression": "error",
842
+ "@typescript-eslint/no-unnecessary-template-expression": "off",
843
843
  "@typescript-eslint/no-unnecessary-type-arguments": "error",
844
844
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
845
845
  "@typescript-eslint/no-unnecessary-type-constraint": "off",
@@ -903,7 +903,7 @@ export default [
903
903
  "@typescript-eslint/prefer-promise-reject-errors": "error",
904
904
  "@typescript-eslint/prefer-readonly": "off",
905
905
  "@typescript-eslint/prefer-readonly-parameter-types": "off",
906
- "@typescript-eslint/prefer-reduce-type-parameter": "error",
906
+ "@typescript-eslint/prefer-reduce-type-parameter": "off",
907
907
  "@typescript-eslint/prefer-regexp-exec": "off",
908
908
  "@typescript-eslint/prefer-return-this-type": "error",
909
909
  "@typescript-eslint/prefer-string-starts-ends-with": "error",
@@ -989,7 +989,7 @@ export default [
989
989
  "jest/no-export": "off",
990
990
  "jest/no-focused-tests": "off",
991
991
  "jest/no-hooks": "off",
992
- "jest/no-identical-title": "error",
992
+ "jest/no-identical-title": "off",
993
993
  "jest/no-interpolation-in-snapshots": "error",
994
994
  "jest/no-jasmine-globals": "error",
995
995
  "jest/no-large-snapshots": "off",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-heck",
3
- "version": "9.4.2",
3
+ "version": "9.6.0",
4
4
  "description": "Contains an ESLint configuration for ES2015+, TypeScript, and React.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -29,25 +29,25 @@
29
29
  "license": "MIT",
30
30
  "dependencies": {
31
31
  "@stylistic/eslint-plugin": "5.10.0",
32
- "@typescript-eslint/eslint-plugin": "8.58.1",
33
- "@typescript-eslint/parser": "8.58.1",
32
+ "@typescript-eslint/eslint-plugin": "8.59.0",
33
+ "@typescript-eslint/parser": "8.59.0",
34
34
  "eslint": "9.39.4",
35
35
  "eslint-plugin-import": "2.32.0",
36
36
  "eslint-plugin-jest": "29.15.2",
37
37
  "eslint-plugin-react": "7.37.5",
38
- "eslint-plugin-react-hooks": "7.0.1",
38
+ "eslint-plugin-react-hooks": "7.1.1",
39
39
  "eslint-plugin-react-native": "5.0.0",
40
40
  "eslint-plugin-testing-library": "7.16.2",
41
41
  "eslint-plugin-unicorn": "64.0.0",
42
- "typescript": "6.0.2"
42
+ "typescript": "6.0.3"
43
43
  },
44
44
  "devDependencies": {
45
- "@biomejs/biome": "2.4.11",
45
+ "@biomejs/biome": "2.4.13",
46
46
  "@testing-library/dom": "10.4.1",
47
47
  "@testing-library/react": "16.3.2",
48
48
  "@types/jest": "30.0.0",
49
49
  "@types/react": "19.2.14",
50
- "globals": "17.4.0",
50
+ "globals": "17.5.0",
51
51
  "jest": "30.3.0",
52
52
  "react": "19.2.5",
53
53
  "semantic-release": "25.0.3"
package/readme.md CHANGED
@@ -90,14 +90,22 @@ If you are using Biome you can use the "nodeWithBiome" configuration:
90
90
  If you are using Biome you can also extend your Biome config with the following Biome configurations:
91
91
 
92
92
  - JavaScript/TypeScript: biomeJsTs
93
+ - React-Native: biomeReactNative
93
94
  - CSS: biomeCss
94
95
  - JSON: biomeJson
96
+ - Playwright: biomePlaywright
95
97
 
96
98
  To enable all Biome rules, you can use the following configuration:
97
99
 
98
100
  ~~~json
99
101
  {
100
102
  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
101
- "extends": ["eslint-config-heck/biomeJsTs", "eslint-config-heck/biomeCss", "eslint-config-heck/biomeJson"],
103
+ "extends": [
104
+ "eslint-config-heck/biomeJsTs",
105
+ "eslint-config-heck/biomeReactNative",
106
+ "eslint-config-heck/biomeCss",
107
+ "eslint-config-heck/biomeJson",
108
+ "eslint-config-heck/biomePlaywright"
109
+ ]
102
110
  }
103
111
  ~~~