@dvashim/biome-config 1.9.0 → 1.10.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
@@ -1,5 +1,7 @@
1
1
  # Biome Configurations
2
2
 
3
+ Shared [Biome](https://biomejs.dev) configuration presets — a base recommended config plus a family of React presets (`recommended`, `strict`, `balanced`, and nursery-free `-stable` variants) that you extend in your own `biome.json`.
4
+
3
5
  [![CI][ci-badge]][ci-url]
4
6
  [![npm version][version-badge]][npm-url]
5
7
  [![npm downloads][downloads-badge]][npm-url]
@@ -19,123 +21,63 @@
19
21
  [socket-badge]: https://socket.dev/api/badge/npm/package/@dvashim/biome-config
20
22
  [socket-url]: https://socket.dev/npm/package/@dvashim/biome-config
21
23
 
24
+ ## Table of Contents
25
+
26
+ - [Installation](#installation)
27
+ - [Configurations](#configurations)
28
+ - [Usage](#usage)
29
+ - [Defaults](#defaults)
30
+ - [Rules](#rules)
31
+ - [FAQ](#faq)
32
+ - [Contributing](#contributing)
33
+ - [License](#license)
34
+
22
35
  ## Installation
23
36
 
37
+ Install the presets together with [Biome](https://biomejs.dev) (which is not bundled) as dev dependencies.
38
+
24
39
  npm:
25
40
 
26
41
  ```bash
27
- npm install -D @dvashim/biome-config
42
+ npm install -D @dvashim/biome-config @biomejs/biome
28
43
  ```
29
44
 
30
45
  or pnpm:
31
46
 
32
47
  ```bash
33
- pnpm add -D @dvashim/biome-config
48
+ pnpm add -D @dvashim/biome-config @biomejs/biome
34
49
  ```
35
50
 
51
+ > **Requirements:** Biome **2.5.1+** (the version these presets target) and Node.js **>= 24**.
52
+
36
53
  ## Configurations
37
54
 
38
55
  | Domain | Level | Path |
39
- |--------|------------|------|
40
- | Base | recommended | `@dvashim/biome-config` or `@dvashim/biome-config/recommended` |
41
- | React | recommended | `@dvashim/biome-config/react-recommended` |
42
- | React | strict | `@dvashim/biome-config/react-strict` |
43
- | React | strict-stable | `@dvashim/biome-config/react-strict-stable` |
44
- | React | balanced | `@dvashim/biome-config/react-balanced` |
45
- | React | balanced-stable | `@dvashim/biome-config/react-balanced-stable` |
56
+ |--------|-------|------|
57
+ | Base | [recommended](#base-recommended) | `@dvashim/biome-config` or `@dvashim/biome-config/recommended` |
58
+ | React | [recommended](#react-recommended) | `@dvashim/biome-config/react-recommended` |
59
+ | React | [strict](#react-strict) | `@dvashim/biome-config/react-strict` |
60
+ | React | [strict-stable](#react-strict-stable) | `@dvashim/biome-config/react-strict-stable` |
61
+ | React | [balanced](#react-balanced) | `@dvashim/biome-config/react-balanced` |
62
+ | React | [balanced-stable](#react-balanced-stable) | `@dvashim/biome-config/react-balanced-stable` |
46
63
 
64
+ _Not sure which to pick? See [Which config should I start with?](#which-config-should-i-start-with) in the FAQ._
47
65
 
48
- ## Use
66
+ ## Usage
49
67
 
50
- Base recommended configuration:
68
+ Add a `biome.json` to your project root and extend a preset. The only line you change between presets is the `extends` path:
51
69
 
52
70
  ```jsonc
53
- // biome.json (Base recommended)
54
- // ────────────────────────────────────────
55
- // This configuration provides a base setup for linting,
56
- // formatting, and code consistency across JavaScript,
57
- // JSX, JSON, and HTML files.
58
- // No files.includes is set — Biome will process all supported
59
- // files in the project directory by default.
60
-
71
+ // biome.json
61
72
  {
62
73
  "$schema": "https://biomejs.dev/schemas/latest/schema.json",
63
74
  "extends": ["@dvashim/biome-config"]
64
75
  }
65
76
  ```
66
77
 
67
- React recommended configuration:
68
-
69
- ```jsonc
70
- // biome.json (React recommended)
71
- // ────────────────────────────────────────
72
- // This configuration extends the base recommended configuration
73
- // and enables the recommended rules for the React domain.
74
- // Includes all files except dist/ (files.includes: ["**", "!!**/dist"]).
75
-
76
- {
77
- "$schema": "https://biomejs.dev/schemas/latest/schema.json",
78
- "extends": ["@dvashim/biome-config/react-recommended"]
79
- }
80
- ```
81
-
82
- React strict configuration:
83
-
84
- ```jsonc
85
- // biome.json (React strict)
86
- // ────────────────────────────────────────
87
- // The most opinionated configuration — enables recommended rules,
88
- // React-specific rules, and 200+ optional and nursery (experimental) rules.
89
- // Includes all files except dist/ (files.includes: ["**", "!!**/dist"]).
90
-
91
- {
92
- "$schema": "https://biomejs.dev/schemas/latest/schema.json",
93
- "extends": ["@dvashim/biome-config/react-strict"]
94
- }
95
- ```
96
-
97
- React strict-stable configuration:
98
-
99
- ```jsonc
100
- // biome.json (React strict-stable)
101
- // ────────────────────────────────────────
102
- // Same as React strict, but without nursery (experimental) rules.
103
- // Includes all files except dist/ (files.includes: ["**", "!!**/dist"]).
104
-
105
- {
106
- "$schema": "https://biomejs.dev/schemas/latest/schema.json",
107
- "extends": ["@dvashim/biome-config/react-strict-stable"]
108
- }
109
- ```
110
-
111
- React balanced configuration:
112
-
113
- ```jsonc
114
- // biome.json (React balanced)
115
- // ────────────────────────────────────────
116
- // Same as React strict, with targeted relaxations
117
- // to reduce false positives / noise.
118
- // Includes all files except dist/ (files.includes: ["**", "!!**/dist"]).
119
-
120
- {
121
- "$schema": "https://biomejs.dev/schemas/latest/schema.json",
122
- "extends": ["@dvashim/biome-config/react-balanced"]
123
- }
124
- ```
125
-
126
- React balanced-stable configuration:
78
+ To use a different preset, swap the `extends` value for any path from the [Configurations](#configurations) table above — for example `"@dvashim/biome-config/react-balanced"`. The React presets automatically exclude build output (`files.includes: ["**", "!!**/dist"]`); the base preset sets no `files.includes`, so Biome processes all supported files by default.
127
79
 
128
- ```jsonc
129
- // biome.json (React balanced-stable)
130
- // ────────────────────────────────────────
131
- // Same as React balanced, but without nursery (experimental) rules.
132
- // Includes all files except dist/ (files.includes: ["**", "!!**/dist"]).
133
-
134
- {
135
- "$schema": "https://biomejs.dev/schemas/latest/schema.json",
136
- "extends": ["@dvashim/biome-config/react-balanced-stable"]
137
- }
138
- ```
80
+ > The examples use the `latest` schema URL for convenience. To match a preset exactly and silence editor warnings about unknown fields, pin it to the version shown under [Defaults → Schema](#schema).
139
81
 
140
82
  ## Defaults
141
83
 
@@ -143,7 +85,7 @@ All configurations share the same base defaults.
143
85
 
144
86
  ### Schema
145
87
 
146
- `https://biomejs.dev/schemas/2.4.15/schema.json`
88
+ `https://biomejs.dev/schemas/2.5.1/schema.json`
147
89
 
148
90
  ### Formatter
149
91
 
@@ -209,10 +151,10 @@ All configurations share the same base defaults.
209
151
 
210
152
  ### Overrides
211
153
 
212
- | File pattern | Setting | Value |
213
- |----------------------|--------------------------------------|------------|
214
- | `**/package.json` | assist.actions.source.useSortedKeys | `"off"` |
215
- | `**/package.json` | json.formatter.expand | `"always"` |
154
+ | File pattern | Setting | Value |
155
+ |------|---------|-------|
156
+ | `**/package.json` | assist.actions.source.useSortedKeys | `"off"` |
157
+ | `**/package.json` | json.formatter.expand | `"always"` |
216
158
 
217
159
  ### Assist
218
160
 
@@ -237,41 +179,45 @@ Same as base recommended, plus enables the **React domain** (`"react": "recommen
237
179
 
238
180
  ### React strict
239
181
 
240
- The most opinionated configuration. Enables all recommended rules plus **200+ optional and nursery rules** across 8 categories. Every non-recommended JS/TS rule available in Biome is explicitly configured.
182
+ The most opinionated configuration. Enables all recommended rules plus **~250 optional and nursery rules** across 8 categories. Every non-recommended rule that applies to JavaScript/TypeScript/JSX, CSS, HTML, or the **React, Next.js, and React Native** domains is explicitly configured. Rules exclusive to GraphQL or other frameworks (Vue, Solid, Qwik, Svelte) are intentionally omitted.
241
183
 
242
- - **a11y** — Selectively disables noisy rules (`useButtonType`, `useKeyWithClickEvents`, `useSemanticElements`, `noStaticElementInteractions`, `noNoninteractiveElementToInteractiveRole`) while keeping the rest at recommended defaults.
184
+ - **a11y** — Selectively disables noisy rules (`useButtonType`, `useKeyWithClickEvents`, `useSemanticElements`, `noStaticElementInteractions`, `noNoninteractiveElementToInteractiveRole`) and downgrades `useFocusableInteractive` to `info`, while keeping the rest at recommended defaults. Adds `noAmbiguousAnchorText` (promoted from nursery in Biome 2.5.0) and `noNoninteractiveElementInteractions`.
243
185
 
244
- - **complexity** (12 rules) — Monitors cognitive complexity, function length, nested test suites, and logic expressions. Warns on `forEach`, implicit coercions, `void`, and useless patterns.
186
+ - **complexity** (16 rules) — Monitors cognitive complexity, function length, nested test suites, and logic expressions. Warns on `forEach`, implicit coercions, `void`, and useless patterns. Also prefers `Array#find` (`useArrayFind`) and flags useless returns (`noUselessReturn`), redundant default exports (`noRedundantDefaultExport`), and division-like regexes (`noDivRegex`).
245
187
 
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.
188
+ - **correctness** (25 rules) — Ensures no undeclared variables/dependencies, proper React patterns (`noReactPropAssignments`, `noNestedComponentDefinitions`, `noChildrenProp`, `noRenderReturnValue`), React Hooks correctness (`useExhaustiveDependencies`, `useHookAtTopLevel`, `useJsxKeyInIterable`), Node.js guards (`noNodejsModules`, `noProcessGlobal`, `noGlobalDirnameFilename`), and JSON import attributes. `noUnresolvedImports` is disabled since TypeScript already performs these checks. Also flags duplicate JSX attributes (`noDuplicateAttributes`), duplicate enum member names (`noDuplicateEnumValueNames`), unused `new` expressions (`noUnusedInstantiation`), restricted imports/elements (`noPrivateImports`, `noRestrictedElements`), and Next.js issues (`noNextAsyncClientComponent`, `useInlineScriptId`, `noBeforeInteractiveScriptOutsideDocument`).
247
189
 
248
- - **nursery** (100 rules) — Opts into all experimental rules. Highlights include:
249
- - **Errors:** `noJsxPropsBind`, `noLeakedRender`, `noMisusedPromises`, `noMultiAssign`, `noMultiStr`, `noParametersOnlyUsedInRecursion`
250
- - **Complexity:** `noExcessiveClassesPerFile`, `noExcessiveLinesPerFile`, `noExcessiveNestedCallbacks`
251
- - **Promises:** `noFloatingPromises`, `noNestedPromises`, `useAwaitThenable`
252
- - **TypeScript:** `useConsistentEnumValueType`, `useConsistentMethodSignatures`, `useExhaustiveSwitchCases`, `useExplicitReturnType`, `noMisleadingReturnType`, `noUselessTypeConversion`, `useNullishCoalescing`, `useReduceTypeParameter`
190
+ - **nursery** (71 rules) — Opts into all experimental rules. Highlights include:
191
+ - **Errors:** `noMisusedPromises`
192
+ - **Complexity:** `noExcessiveNestedCallbacks`
193
+ - **Promises:** `noFloatingPromises`, `useAwaitThenable`
194
+ - **TypeScript:** `useExhaustiveSwitchCases`, `useExplicitReturnType`, `noMisleadingReturnType`, `noUselessTypeConversion`, `useNullishCoalescing`, `useReduceTypeParameter`
253
195
  - **Object/class hygiene:** `noBaseToString` (catches accidental `"[object Object]"` stringification), `useThisInClassMethods`
254
196
  - **Resource management:** `useDisposables` (enforces `using` for `Disposable`/`AsyncDisposable`)
197
+ - **Arrays:** `useArraySome`, `useIncludes` (prefer `Array#includes()` over `indexOf()` — new in Biome 2.5.0)
255
198
  - **Regex:** `useNamedCaptureGroup`, `useUnicodeRegex`, `useRegexpExec`, `useRegexpTest`
256
199
  - **DOM:** `useDomNodeTextContent`, `useDomQuerySelector`
257
200
  - **Math:** `useMathMinMax`
258
- - **Styling:** `noDuplicateSelectors`, `noInlineStyles`, `noExcessiveSelectorClasses`
201
+ - **Styling:** `noDuplicateSelectors`, `noInlineStyles`, `noExcessiveSelectorClasses`, `noUndeclaredClasses`, `noUnusedClasses`
259
202
  - **Testing:** `useConsistentTestIt`, `useExpect`, `noConditionalExpect`, `noIdenticalTestTitle`, `useTestHooksInOrder`, `useTestHooksOnTop`
260
203
  - **Playwright:** Full suite of 11 Playwright rules
261
204
  - **Drizzle:** `noDrizzleDeleteWithoutWhere`, `noDrizzleUpdateWithoutWhere`
262
- - **Tailwind:** `useSortedClasses`, `noFloatingClasses`
263
- - **React:** `useReactAsyncServerFunction`, `noComponentHookFactories`, `noJsxNamespace`, `noReactStringRefs`
205
+ - **Tailwind:** `useSortedClasses`
206
+ - **React:** `useReactAsyncServerFunction`, `noComponentHookFactories`, `noJsxNamespace`, `noReactStringRefs`, `useReactFunctionComponentDefinition`
207
+ - **React Native:** `noReactNativeRawText`, `noReactNativeLiteralColors`, `noReactNativeDeepImports`, `useReactNativePlatformComponents`
264
208
  - **Security:** `useIframeSandbox`
265
- - **Dependencies:** `noUntrustedLicenses`
266
- - **Disabled:** `noTernary`, `useExplicitType`
209
+ - **Dependencies:** `noUntrustedLicenses`, `noRestrictedDependencies`
210
+ - **Disabled:** `useExplicitType`
267
211
 
268
- - **performance** (6 rules) Warns on `await` in loops, barrel files, `delete`, namespace imports, re-export all, and non-top-level regex.
212
+ > Biome 2.5.0 graduated many rules out of nursery; the rules that previously lived here are now configured under their stable categories above (and consequently appear in the `-stable` variants).
269
213
 
270
- - **security** — `noSecrets`
214
+ - **performance** (11 rules) Warns on `await` in loops, barrel files, `delete`, namespace imports, re-export all, non-top-level regex, synchronous scripts (`noSyncScripts`), and binding props in JSX (`noJsxPropsBind`, error). Adds Next.js performance rules (`noImgElement`, `noUnwantedPolyfillio`, `useGoogleFontPreconnect`).
271
215
 
272
- - **style** (56 rules) — Enforces consistent syntax, naming conventions (`strictCase: true`), array shorthand syntax, `type` over `interface`, React function components, readonly class properties, `noDefaultExport`, `noMagicNumbers`, `noJsxLiterals`, and more.
216
+ - **security** (4 rules) — `noSecrets`, `noScriptUrl`, and React `dangerouslySetInnerHTML` guards (`noDangerouslySetInnerHtml`, `noDangerouslySetInnerHtmlWithChildren`)
273
217
 
274
- - **suspicious** (22 rules) — Flags `var` (error), `console`, `alert`, bitwise operators, empty blocks, import cycles, evolving types, skipped tests, and deprecated imports.
218
+ - **style** (76 rules) — Enforces consistent syntax, naming conventions (`strictCase: true`), array shorthand syntax, `type` over `interface`, React function components, readonly class properties, `noDefaultExport`, `noMagicNumbers`, `noJsxLiterals`, and more. Now also includes rules promoted from nursery in Biome 2.5.0, such as `noIncrementDecrement`, `noMultiAssign`, `noMultilineString`, `noTernary`, `useDestructuring`, `useErrorCause`, `useGlobalThis`, and `useSpreadOverApply`. Adds `noHexColors`, `noValueAtRule`, `useNodeAssertStrict`, the configurable `noRestrictedGlobals` / `noRestrictedImports` / `noRestrictedTypes` family, and the Next.js `noHeadElement` rule.
219
+
220
+ - **suspicious** (42 rules) — Flags `var` (error), `console`, `alert`, bitwise operators, empty blocks, import cycles, evolving types, skipped tests, and deprecated imports. Now also includes rules promoted from nursery in Biome 2.5.0, such as `noShadow`, `noUnnecessaryConditions`, `noForIn`, `noEqualsToNull`, `noLeakedRender`, and `noParametersOnlyUsedInRecursion`. Adds `noArrayIndexKey`, test-quality rules (`noFocusedTests`, `noDuplicateTestHooks`, `noExportsInTest`), `useDeprecatedDate`, `useRequiredScripts`, and Next.js document rules (`noDocumentImportInPage`, `noHeadImportInDocument`).
275
221
 
276
222
  ---
277
223
 
@@ -295,6 +241,7 @@ Same rule set as strict, with **targeted relaxations** to reduce false positives
295
241
  | `noBarrelFile` | warn | off | Common pattern in libraries |
296
242
  | `noNamespaceImport` | warn | off | Allows `import * as` |
297
243
  | `noReExportAll` | warn | off | Common pattern in libraries |
244
+ | `noImgElement` | warn | off | Next.js rule; fires on any `<img>` |
298
245
  | `noDefaultExport` | warn | off | Allows default exports |
299
246
  | `noImplicitBoolean` | warn | info | Informational only |
300
247
  | `noJsxLiterals` | warn | off | Allows inline text in JSX |
@@ -302,13 +249,13 @@ Same rule set as strict, with **targeted relaxations** to reduce false positives
302
249
  | `noNestedTernary` | warn | off | Allows nested ternaries |
303
250
  | `useNamingConvention` | strictCase: true | strictCase: false | More lenient casing |
304
251
 
305
- > `noContinue`, `noIncrementDecrement`, and `noUselessReturn` are nursery rules they are not present in the `-stable` variants.
252
+ > As of Biome 2.5.0, `noContinue`, `noIncrementDecrement`, and `noUselessReturn` graduated from nursery (to `style`/`complexity`), so these relaxations now also apply in the `-stable` variants.
306
253
 
307
254
  ---
308
255
 
309
256
  ### React balanced-stable
310
257
 
311
- Same as React balanced, but **without nursery (experimental) rules**. All non-nursery relaxations from the table above still apply.
258
+ Same as React balanced, but **without nursery (experimental) rules**. All relaxations from the table above still apply.
312
259
 
313
260
  ## FAQ
314
261
 
@@ -317,6 +264,16 @@ Same as React balanced, but **without nursery (experimental) rules**. All non-nu
317
264
  - **Non-React projects** — use `@dvashim/biome-config` (base recommended).
318
265
  - **React projects** — start with `react-balanced` for a good trade-off between strictness and practicality. Move to `react-strict` once your codebase is clean, or `react-recommended` if you only want Biome's built-in defaults. Use the `-stable` variants if you want to avoid nursery (experimental) rules.
319
266
 
267
+ ### What version of Biome and Node do I need?
268
+
269
+ These presets are built and tested against **Biome 2.5.1** — the version their `$schema` is pinned to (see [Defaults → Schema](#schema)) — and require **Node.js >= 24**. Biome is not bundled, so install a compatible version yourself:
270
+
271
+ ```bash
272
+ pnpm add -D @biomejs/biome@^2.5.1
273
+ ```
274
+
275
+ The `$schema` in the examples uses `.../schemas/latest/schema.json` for convenience; pin it to `.../schemas/2.5.1/schema.json` to match the presets exactly and silence editor warnings about unknown fields.
276
+
320
277
  ### How do I override a rule from the preset?
321
278
 
322
279
  Add a `linter.rules` section in your `biome.json`. Local settings merge with and take precedence over the preset:
@@ -362,3 +319,16 @@ Yes. Biome natively supports TypeScript — no additional configuration is neede
362
319
  ### Can I use this in a monorepo?
363
320
 
364
321
  Yes. Install the package at the root and reference it in each workspace's `biome.json`. Each workspace can extend a different preset and add its own overrides.
322
+
323
+ ## Contributing
324
+
325
+ Issues and pull requests are welcome. The repo uses [pnpm](https://pnpm.io) and [Changesets](https://github.com/changesets/changesets):
326
+
327
+ 1. `pnpm install`
328
+ 2. Edit the presets in `dist/` — they are checked in directly, so there is no build step. After changing `react-strict` or `react-balanced`, run `pnpm run sync-stable` to regenerate the `-stable` variants.
329
+ 3. `pnpm run check` to validate formatting, package exports, and `-stable` sync.
330
+ 4. `pnpm changeset` to record a user-facing change.
331
+
332
+ ## License
333
+
334
+ [MIT](LICENSE)
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.5.1/schema.json",
3
3
 
4
4
  "assist": {
5
5
  "actions": {
@@ -61,6 +61,8 @@
61
61
  "linter": {
62
62
  "rules": {
63
63
  "a11y": {
64
+ "noAmbiguousAnchorText": "warn",
65
+ "noNoninteractiveElementInteractions": "warn",
64
66
  "noNoninteractiveElementToInteractiveRole": "off",
65
67
  "noStaticElementInteractions": "off",
66
68
  "useButtonType": "off",
@@ -69,14 +71,18 @@
69
71
  "useSemanticElements": "off"
70
72
  },
71
73
  "complexity": {
74
+ "noDivRegex": "warn",
72
75
  "noExcessiveCognitiveComplexity": "warn",
73
76
  "noExcessiveNestedTestSuites": "warn",
74
77
  "noForEach": "warn",
75
78
  "noImplicitCoercions": "off",
79
+ "noRedundantDefaultExport": "warn",
76
80
  "noUselessCatchBinding": "warn",
81
+ "noUselessReturn": "info",
77
82
  "noUselessStringConcat": "warn",
78
83
  "noUselessUndefined": "warn",
79
84
  "noVoid": "warn",
85
+ "useArrayFind": "warn",
80
86
  "useMaxParams": "warn",
81
87
  "useSimplifiedLogicExpression": "warn",
82
88
  "useWhile": "warn",
@@ -88,16 +94,29 @@
88
94
  }
89
95
  },
90
96
  "correctness": {
97
+ "noBeforeInteractiveScriptOutsideDocument": "warn",
98
+ "noChildrenProp": "warn",
99
+ "noDuplicateAttributes": "warn",
100
+ "noDuplicateEnumValueNames": "warn",
91
101
  "noGlobalDirnameFilename": "warn",
92
102
  "noNestedComponentDefinitions": "warn",
103
+ "noNextAsyncClientComponent": "warn",
93
104
  "noNodejsModules": "warn",
105
+ "noPrivateImports": "warn",
94
106
  "noProcessGlobal": "warn",
95
107
  "noReactPropAssignments": "warn",
108
+ "noRenderReturnValue": "warn",
109
+ "noRestrictedElements": "warn",
96
110
  "noUndeclaredDependencies": "warn",
97
111
  "noUndeclaredVariables": "warn",
98
112
  "noUnresolvedImports": "off",
113
+ "noUnusedInstantiation": "warn",
114
+ "useExhaustiveDependencies": "warn",
115
+ "useHookAtTopLevel": "warn",
99
116
  "useImportExtensions": "off",
117
+ "useInlineScriptId": "warn",
100
118
  "useJsonImportAttributes": "warn",
119
+ "useJsxKeyInIterable": "warn",
101
120
  "useSingleJsDocAsterisk": "warn",
102
121
  "useUniqueElementIds": "warn"
103
122
  },
@@ -105,33 +124,53 @@
105
124
  "noAwaitInLoops": "warn",
106
125
  "noBarrelFile": "off",
107
126
  "noDelete": "warn",
127
+ "noImgElement": "off",
128
+ "noJsxPropsBind": "error",
108
129
  "noNamespaceImport": "off",
109
130
  "noReExportAll": "off",
131
+ "noSyncScripts": "warn",
132
+ "noUnwantedPolyfillio": "warn",
133
+ "useGoogleFontPreconnect": "warn",
110
134
  "useTopLevelRegex": "warn"
111
135
  },
112
136
  "security": {
137
+ "noDangerouslySetInnerHtml": "warn",
138
+ "noDangerouslySetInnerHtmlWithChildren": "warn",
139
+ "noScriptUrl": "warn",
113
140
  "noSecrets": "warn"
114
141
  },
115
142
  "style": {
116
143
  "noCommonJs": "warn",
144
+ "noContinue": "info",
117
145
  "noDefaultExport": "off",
118
146
  "noDoneCallback": "warn",
119
147
  "noEnum": "warn",
148
+ "noExcessiveClassesPerFile": "warn",
149
+ "noExcessiveLinesPerFile": "warn",
120
150
  "noExportedImports": "warn",
151
+ "noHeadElement": "warn",
152
+ "noHexColors": "warn",
121
153
  "noImplicitBoolean": "info",
122
154
  "noInferrableTypes": "warn",
123
155
  "noJsxLiterals": "off",
124
156
  "noMagicNumbers": "info",
157
+ "noMultiAssign": "error",
158
+ "noMultilineString": "error",
125
159
  "noNamespace": "warn",
126
160
  "noNegationElse": "warn",
127
161
  "noNestedTernary": "off",
128
162
  "noParameterAssign": "warn",
129
163
  "noParameterProperties": "warn",
130
164
  "noProcessEnv": "warn",
165
+ "noRestrictedGlobals": "warn",
166
+ "noRestrictedImports": "warn",
167
+ "noRestrictedTypes": "warn",
131
168
  "noShoutyConstants": "warn",
132
169
  "noSubstr": "warn",
170
+ "noTernary": "off",
133
171
  "noUnusedTemplateLiteral": "warn",
134
172
  "noUselessElse": "warn",
173
+ "noValueAtRule": "warn",
135
174
  "noYodaExpression": "warn",
136
175
  "useAsConstAssertion": "warn",
137
176
  "useAtIndex": "warn",
@@ -142,17 +181,23 @@
142
181
  "useConsistentArrowReturn": "warn",
143
182
  "useConsistentBuiltinInstantiation": "warn",
144
183
  "useConsistentCurlyBraces": "warn",
184
+ "useConsistentEnumValueType": "warn",
145
185
  "useConsistentMemberAccessibility": "warn",
186
+ "useConsistentMethodSignatures": "warn",
146
187
  "useConsistentObjectDefinitions": "warn",
147
188
  "useDefaultParameterLast": "warn",
148
189
  "useDefaultSwitchClause": "warn",
190
+ "useDestructuring": "warn",
149
191
  "useEnumInitializers": "warn",
192
+ "useErrorCause": "warn",
150
193
  "useExplicitLengthCheck": "warn",
151
194
  "useExportsLast": "warn",
152
195
  "useFilenamingConvention": "warn",
153
196
  "useForOf": "warn",
154
197
  "useFragmentSyntax": "warn",
198
+ "useGlobalThis": "warn",
155
199
  "useGroupedAccessorPairs": "warn",
200
+ "useNodeAssertStrict": "warn",
156
201
  "useNumberNamespace": "warn",
157
202
  "useNumericSeparators": "warn",
158
203
  "useObjectSpread": "warn",
@@ -161,11 +206,18 @@
161
206
  "useSelfClosingElements": "warn",
162
207
  "useShorthandAssign": "warn",
163
208
  "useSingleVarDeclarator": "warn",
209
+ "useSpreadOverApply": "warn",
164
210
  "useSymbolDescription": "warn",
165
211
  "useThrowNewError": "warn",
166
212
  "useThrowOnlyError": "warn",
167
213
  "useTrimStartEnd": "warn",
168
214
  "useUnifiedTypeSignatures": "warn",
215
+ "noIncrementDecrement": {
216
+ "level": "warn",
217
+ "options": {
218
+ "allowForLoopAfterthoughts": true
219
+ }
220
+ },
169
221
  "useConsistentArrayType": {
170
222
  "level": "warn",
171
223
  "options": {
@@ -188,25 +240,45 @@
188
240
  },
189
241
  "suspicious": {
190
242
  "noAlert": "warn",
243
+ "noArrayIndexKey": "warn",
191
244
  "noBitwiseOperators": "warn",
192
245
  "noConsole": "warn",
193
246
  "noConstantBinaryExpressions": "warn",
194
247
  "noDeprecatedImports": "warn",
248
+ "noDocumentImportInPage": "warn",
195
249
  "noDuplicateDependencies": "warn",
250
+ "noDuplicatedSpreadProps": "warn",
251
+ "noDuplicateTestHooks": "warn",
196
252
  "noEmptyBlockStatements": "warn",
197
253
  "noEmptySource": "warn",
254
+ "noEqualsToNull": "warn",
198
255
  "noEvolvingTypes": "warn",
256
+ "noExportsInTest": "warn",
257
+ "noFocusedTests": "warn",
258
+ "noForIn": "warn",
259
+ "noHeadImportInDocument": "warn",
199
260
  "noImportCycles": "warn",
261
+ "noLeakedRender": "error",
200
262
  "noMisplacedAssertion": "warn",
263
+ "noNestedPromises": "warn",
264
+ "noParametersOnlyUsedInRecursion": "error",
201
265
  "noReactForwardRef": "warn",
266
+ "noReturnAssign": "warn",
267
+ "noShadow": "warn",
202
268
  "noSkippedTests": "warn",
203
269
  "noUnassignedVariables": "warn",
270
+ "noUndeclaredEnvVars": "warn",
271
+ "noUnknownAttribute": "warn",
272
+ "noUnnecessaryConditions": "warn",
204
273
  "noUnusedExpressions": "warn",
205
274
  "noVar": "error",
275
+ "useArraySortCompare": "warn",
206
276
  "useAwait": "warn",
277
+ "useDeprecatedDate": "warn",
207
278
  "useErrorMessage": "warn",
208
279
  "useGuardForIn": "warn",
209
280
  "useNumberToFixedDigitsArgument": "warn",
281
+ "useRequiredScripts": "warn",
210
282
  "useStaticResponseMethods": "warn",
211
283
  "useStrictMode": "warn"
212
284
  }