@dvashim/biome-config 1.7.0 → 1.9.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 CHANGED
@@ -143,7 +143,7 @@ All configurations share the same base defaults.
143
143
 
144
144
  ### Schema
145
145
 
146
- `https://biomejs.dev/schemas/2.4.13/schema.json`
146
+ `https://biomejs.dev/schemas/2.4.15/schema.json`
147
147
 
148
148
  ### Formatter
149
149
 
@@ -245,19 +245,22 @@ The most opinionated configuration. Enables all recommended rules plus **200+ op
245
245
 
246
246
  - **correctness** (12 rules) — Ensures no undeclared variables/dependencies, proper React patterns (`noReactPropAssignments`, `noNestedComponentDefinitions`), Node.js guards (`noNodejsModules`, `noProcessGlobal`, `noGlobalDirnameFilename`), and JSON import attributes. `noUnresolvedImports` is disabled since TypeScript already performs these checks.
247
247
 
248
- - **nursery** (93 rules) — Opts into all experimental rules. Highlights include:
249
- - **Errors:** `noJsxPropsBind`, `noLeakedRender`, `noMisusedPromises`, `noMultiAssign`, `noParametersOnlyUsedInRecursion`
248
+ - **nursery** (100 rules) — Opts into all experimental rules. Highlights include:
249
+ - **Errors:** `noJsxPropsBind`, `noLeakedRender`, `noMisusedPromises`, `noMultiAssign`, `noMultiStr`, `noParametersOnlyUsedInRecursion`
250
+ - **Complexity:** `noExcessiveClassesPerFile`, `noExcessiveLinesPerFile`, `noExcessiveNestedCallbacks`
250
251
  - **Promises:** `noFloatingPromises`, `noNestedPromises`, `useAwaitThenable`
251
252
  - **TypeScript:** `useConsistentEnumValueType`, `useConsistentMethodSignatures`, `useExhaustiveSwitchCases`, `useExplicitReturnType`, `noMisleadingReturnType`, `noUselessTypeConversion`, `useNullishCoalescing`, `useReduceTypeParameter`
253
+ - **Object/class hygiene:** `noBaseToString` (catches accidental `"[object Object]"` stringification), `useThisInClassMethods`
252
254
  - **Resource management:** `useDisposables` (enforces `using` for `Disposable`/`AsyncDisposable`)
253
255
  - **Regex:** `useNamedCaptureGroup`, `useUnicodeRegex`, `useRegexpExec`, `useRegexpTest`
254
256
  - **DOM:** `useDomNodeTextContent`, `useDomQuerySelector`
257
+ - **Math:** `useMathMinMax`
255
258
  - **Styling:** `noDuplicateSelectors`, `noInlineStyles`, `noExcessiveSelectorClasses`
256
- - **Testing:** `useConsistentTestIt`, `useExpect`, `noConditionalExpect`, `noIdenticalTestTitle`
257
- - **Playwright:** Full suite of 10 Playwright rules
259
+ - **Testing:** `useConsistentTestIt`, `useExpect`, `noConditionalExpect`, `noIdenticalTestTitle`, `useTestHooksInOrder`, `useTestHooksOnTop`
260
+ - **Playwright:** Full suite of 11 Playwright rules
258
261
  - **Drizzle:** `noDrizzleDeleteWithoutWhere`, `noDrizzleUpdateWithoutWhere`
259
262
  - **Tailwind:** `useSortedClasses`, `noFloatingClasses`
260
- - **React:** `useReactAsyncServerFunction`, `noComponentHookFactories`, `noJsxNamespace`
263
+ - **React:** `useReactAsyncServerFunction`, `noComponentHookFactories`, `noJsxNamespace`, `noReactStringRefs`
261
264
  - **Security:** `useIframeSandbox`
262
265
  - **Dependencies:** `noUntrustedLicenses`
263
266
  - **Disabled:** `noTernary`, `useExplicitType`
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
3
3
 
4
4
  "assist": {
5
5
  "actions": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
3
3
 
4
4
  "assist": {
5
5
  "actions": {
@@ -103,6 +103,7 @@
103
103
  },
104
104
  "nursery": {
105
105
  "noAmbiguousAnchorText": "warn",
106
+ "noBaseToString": "warn",
106
107
  "noComponentHookFactories": "warn",
107
108
  "noConditionalExpect": "warn",
108
109
  "noContinue": "info",
@@ -118,6 +119,7 @@
118
119
  "noEqualsToNull": "warn",
119
120
  "noExcessiveClassesPerFile": "warn",
120
121
  "noExcessiveLinesPerFile": "warn",
122
+ "noExcessiveNestedCallbacks": "warn",
121
123
  "noExcessiveSelectorClasses": "warn",
122
124
  "noFloatingClasses": "warn",
123
125
  "noFloatingPromises": "warn",
@@ -147,6 +149,7 @@
147
149
  "noPlaywrightWaitForSelector": "warn",
148
150
  "noPlaywrightWaitForTimeout": "warn",
149
151
  "noProto": "warn",
152
+ "noReactStringRefs": "warn",
150
153
  "noRedundantDefaultExport": "warn",
151
154
  "noReturnAssign": "warn",
152
155
  "noScriptUrl": "warn",
@@ -182,6 +185,7 @@
182
185
  "useGlobalThis": "warn",
183
186
  "useIframeSandbox": "warn",
184
187
  "useImportsFirst": "warn",
188
+ "useMathMinMax": "warn",
185
189
  "useNamedCaptureGroup": "warn",
186
190
  "useNullishCoalescing": "warn",
187
191
  "usePlaywrightValidDescribeCallback": "warn",
@@ -192,6 +196,9 @@
192
196
  "useSortedClasses": "warn",
193
197
  "useSpread": "warn",
194
198
  "useStringStartsEndsWith": "warn",
199
+ "useTestHooksInOrder": "warn",
200
+ "useTestHooksOnTop": "warn",
201
+ "useThisInClassMethods": "warn",
195
202
  "useUnicodeRegex": "warn",
196
203
  "useVarsOnTop": "warn",
197
204
  "noIncrementDecrement": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
3
3
 
4
4
  "assist": {
5
5
  "actions": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
3
3
 
4
4
  "assist": {
5
5
  "actions": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
3
3
 
4
4
  "assist": {
5
5
  "actions": {
@@ -98,6 +98,7 @@
98
98
  },
99
99
  "nursery": {
100
100
  "noAmbiguousAnchorText": "warn",
101
+ "noBaseToString": "warn",
101
102
  "noComponentHookFactories": "warn",
102
103
  "noConditionalExpect": "warn",
103
104
  "noContinue": "warn",
@@ -113,6 +114,7 @@
113
114
  "noEqualsToNull": "warn",
114
115
  "noExcessiveClassesPerFile": "warn",
115
116
  "noExcessiveLinesPerFile": "warn",
117
+ "noExcessiveNestedCallbacks": "warn",
116
118
  "noExcessiveSelectorClasses": "warn",
117
119
  "noFloatingClasses": "warn",
118
120
  "noFloatingPromises": "warn",
@@ -143,6 +145,7 @@
143
145
  "noPlaywrightWaitForSelector": "warn",
144
146
  "noPlaywrightWaitForTimeout": "warn",
145
147
  "noProto": "warn",
148
+ "noReactStringRefs": "warn",
146
149
  "noRedundantDefaultExport": "warn",
147
150
  "noReturnAssign": "warn",
148
151
  "noScriptUrl": "warn",
@@ -178,6 +181,7 @@
178
181
  "useGlobalThis": "warn",
179
182
  "useIframeSandbox": "warn",
180
183
  "useImportsFirst": "warn",
184
+ "useMathMinMax": "warn",
181
185
  "useNamedCaptureGroup": "warn",
182
186
  "useNullishCoalescing": "warn",
183
187
  "usePlaywrightValidDescribeCallback": "warn",
@@ -188,6 +192,9 @@
188
192
  "useSortedClasses": "warn",
189
193
  "useSpread": "warn",
190
194
  "useStringStartsEndsWith": "warn",
195
+ "useTestHooksInOrder": "warn",
196
+ "useTestHooksOnTop": "warn",
197
+ "useThisInClassMethods": "warn",
191
198
  "useUnicodeRegex": "warn",
192
199
  "useVarsOnTop": "warn"
193
200
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.13/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
3
3
 
4
4
  "assist": {
5
5
  "actions": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dvashim/biome-config",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "Shared Biome Configurations",
5
5
  "keywords": [
6
6
  "biome",
@@ -46,13 +46,13 @@
46
46
  "dist"
47
47
  ],
48
48
  "devDependencies": {
49
- "@biomejs/biome": "^2.4.13",
50
- "@changesets/changelog-github": "^0.6.0",
49
+ "@biomejs/biome": "^2.4.15",
50
+ "@changesets/changelog-github": "^0.7.0",
51
51
  "@changesets/cli": "^2.31.0",
52
- "validate-package-exports": "^0.23.0"
52
+ "validate-package-exports": "^0.25.0"
53
53
  },
54
54
  "engines": {
55
- "node": ">=18"
55
+ "node": ">=24"
56
56
  },
57
57
  "publishConfig": {
58
58
  "access": "public"
@@ -61,6 +61,8 @@
61
61
  "changeset": "changeset",
62
62
  "check": "pnpm run \"/^check:.*/\"",
63
63
  "check:exports": "validate-package-exports --check",
64
- "check:format": "biome format"
64
+ "check:format": "biome format",
65
+ "check:sync-stable": "node scripts/sync-stable.mjs --check",
66
+ "sync-stable": "node scripts/sync-stable.mjs"
65
67
  }
66
68
  }