eslint-config-heck 9.5.0 → 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",
@@ -155,7 +154,6 @@
155
154
  "noConditionalExpect": "error",
156
155
  "noContinue": "off",
157
156
  "noDivRegex": "off",
158
- "noDuplicateArgumentNames": "off",
159
157
  "noDuplicatedSpreadProps": "error",
160
158
  "noEqualsToNull": "off",
161
159
  "noExcessiveClassesPerFile": "off",
@@ -167,25 +165,17 @@
167
165
  "noImpliedEval": "error",
168
166
  "noIncrementDecrement": "off",
169
167
  "noInlineStyles": "warn",
168
+ "noJsxLeakedDollar": "warn",
170
169
  "noJsxNamespace": "error",
171
170
  "noJsxPropsBind": "off",
172
171
  "noLeakedRender": "error",
173
- "noMisleadingReturnType": "off",
172
+ "noLoopFunc": "error",
173
+ "noMisleadingReturnType": "info",
174
174
  "noMisusedPromises": "error",
175
175
  "noMultiAssign": "error",
176
176
  "noMultiStr": "error",
177
177
  "noNestedPromises": "error",
178
178
  "noParametersOnlyUsedInRecursion": "warn",
179
- "noPlaywrightElementHandle": "off",
180
- "noPlaywrightEval": "off",
181
- "noPlaywrightForceOption": "off",
182
- "noPlaywrightMissingAwait": "off",
183
- "noPlaywrightNetworkidle": "off",
184
- "noPlaywrightPagePause": "off",
185
- "noPlaywrightUselessAwait": "off",
186
- "noPlaywrightWaitForNavigation": "off",
187
- "noPlaywrightWaitForSelector": "off",
188
- "noPlaywrightWaitForTimeout": "off",
189
179
  "noProto": "error",
190
180
  "noRedundantDefaultExport": "error",
191
181
  "noReturnAssign": "error",
@@ -196,12 +186,13 @@
196
186
  "noUndeclaredEnvVars": "off",
197
187
  "noUnknownAttribute": "error",
198
188
  "noUnnecessaryConditions": "off",
189
+ "noUnnecessaryTemplateExpression": "error",
199
190
  "noUnsafePlusOperands": "error",
200
191
  "noUselessReturn": "error",
201
192
  "noUselessTypeConversion": "error",
202
193
  "useArraySome": "error",
203
194
  "useArraySortCompare": "error",
204
- "useAwaitThenable": "off",
195
+ "useAwaitThenable": "error",
205
196
  "useConsistentEnumValueType": "error",
206
197
  "useConsistentMethodSignatures": "error",
207
198
  "useConsistentTestIt": {
@@ -213,6 +204,8 @@
213
204
  },
214
205
  "useDestructuring": "off",
215
206
  "useDisposables": "error",
207
+ "useDomNodeTextContent": "error",
208
+ "useDomQuerySelector": "error",
216
209
  "useErrorCause": {
217
210
  "level": "error",
218
211
  "options": {
@@ -235,10 +228,10 @@
235
228
  "useImportsFirst": "error",
236
229
  "useNamedCaptureGroup": "error",
237
230
  "useNullishCoalescing": "error",
238
- "usePlaywrightValidDescribeCallback": "off",
239
231
  "useReactAsyncServerFunction": "warn",
240
232
  "useReduceTypeParameter": "error",
241
233
  "useRegexpExec": "error",
234
+ "useRegexpTest": "error",
242
235
  "useSortedClasses": "off",
243
236
  "useSpread": "error",
244
237
  "useStringStartsEndsWith": "error",
@@ -251,12 +244,10 @@
251
244
  "noBarrelFile": "error",
252
245
  "noDelete": "error",
253
246
  "noDynamicNamespaceImportAccess": "error",
254
- "noImgElement": "off",
255
247
  "noNamespaceImport": "error",
256
248
  "noReExportAll": "error",
257
249
  "noUnwantedPolyfillio": "off",
258
250
  "useGoogleFontPreconnect": "error",
259
- "useSolidForComponent": "off",
260
251
  "useTopLevelRegex": "error"
261
252
  },
262
253
  "security": {
@@ -272,7 +263,6 @@
272
263
  "noDoneCallback": "error",
273
264
  "noEnum": "error",
274
265
  "noExportedImports": "error",
275
- "noHeadElement": "off",
276
266
  "noImplicitBoolean": "off",
277
267
  "noInferrableTypes": "error",
278
268
  "noJsxLiterals": "error",
@@ -335,7 +325,7 @@
335
325
  }
336
326
  },
337
327
  "useForOf": "error",
338
- "useFragmentSyntax": "off",
328
+ "useFragmentSyntax": "info",
339
329
  "useGroupedAccessorPairs": "error",
340
330
  "useImportType": "error",
341
331
  "useLiteralEnumMembers": "error",
@@ -393,9 +383,8 @@
393
383
  "noConstantBinaryExpressions": "error",
394
384
  "noControlCharactersInRegex": "error",
395
385
  "noDebugger": "error",
396
- "noDeprecatedImports": "off",
386
+ "noDeprecatedImports": "warn",
397
387
  "noDocumentCookie": "error",
398
- "noDocumentImportInPage": "off",
399
388
  "noDoubleEquals": "error",
400
389
  "noDuplicateCase": "error",
401
390
  "noDuplicateClassMembers": "error",
@@ -417,7 +406,6 @@
417
406
  "noGlobalAssign": "error",
418
407
  "noGlobalIsFinite": "error",
419
408
  "noGlobalIsNan": "error",
420
- "noHeadImportInDocument": "off",
421
409
  "noImplicitAnyLet": "error",
422
410
  "noImportAssign": "error",
423
411
  "noImportCycles": "error",
@@ -431,7 +419,6 @@
431
419
  "noOctalEscape": "error",
432
420
  "noPrototypeBuiltins": "error",
433
421
  "noReactForwardRef": "error",
434
- "noReactSpecificProps": "off",
435
422
  "noRedeclare": "error",
436
423
  "noRedundantUseStrict": "error",
437
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
@@ -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",
@@ -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",
@@ -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",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-heck",
3
- "version": "9.5.0",
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,8 +29,8 @@
29
29
  "license": "MIT",
30
30
  "dependencies": {
31
31
  "@stylistic/eslint-plugin": "5.10.0",
32
- "@typescript-eslint/eslint-plugin": "8.58.2",
33
- "@typescript-eslint/parser": "8.58.2",
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",
@@ -42,7 +42,7 @@
42
42
  "typescript": "6.0.3"
43
43
  },
44
44
  "devDependencies": {
45
- "@biomejs/biome": "2.4.12",
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",
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
  ~~~