@moso/eslint-config 1.0.2 → 1.0.3

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +841 -278
  2. package/dist/index.js +157 -54
  3. package/package.json +15 -14
package/dist/index.d.ts CHANGED
@@ -56,452 +56,477 @@ interface RuleOptions {
56
56
  */
57
57
  '@eslint-community/eslint-comments/require-description'?: Linter.RuleEntry<EslintCommunityEslintCommentsRequireDescription>
58
58
  /**
59
- * disallow using shorthand boolean attributes
59
+ * Enforces explicit boolean values for boolean attributes.
60
60
  * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
61
61
  */
62
62
  '@eslint-react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>
63
63
  /**
64
- * disallow using shorthand fragment syntax
64
+ * Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax.
65
65
  * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
66
66
  */
67
67
  '@eslint-react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
68
68
  /**
69
- * disallow void elements (AKA self-closing elements) from having children
69
+ * Disallow `children` in void DOM elements.
70
70
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
71
71
  */
72
72
  '@eslint-react/dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
73
73
  /**
74
- * disallow when a DOM component is using 'dangerouslySetInnerHTML'
74
+ * Disallow `dangerouslySetInnerHTML`.
75
75
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
76
76
  */
77
77
  '@eslint-react/dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
78
78
  /**
79
- * disallow when a DOM component is using both 'children' and 'dangerouslySetInnerHTML'
79
+ * Disallow `dangerouslySetInnerHTML` and `children` at the same time.
80
80
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
81
81
  */
82
82
  '@eslint-react/dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
83
83
  /**
84
- * disallow 'findDOMNode'
84
+ * Disallow `findDOMNode`.
85
85
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
86
86
  */
87
87
  '@eslint-react/dom/no-find-dom-node'?: Linter.RuleEntry<[]>
88
88
  /**
89
- * warns against using `flushSync`
89
+ * Disallow `flushSync`.
90
90
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
91
91
  */
92
92
  '@eslint-react/dom/no-flush-sync'?: Linter.RuleEntry<[]>
93
93
  /**
94
- * enforce that button component have an explicit 'type' attribute
94
+ * Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()`.
95
+ * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
96
+ */
97
+ '@eslint-react/dom/no-hydrate'?: Linter.RuleEntry<[]>
98
+ /**
99
+ * Enforces explicit `type` attribute for `button` elements.
95
100
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
96
101
  */
97
102
  '@eslint-react/dom/no-missing-button-type'?: Linter.RuleEntry<[]>
98
103
  /**
99
- * enforce that 'iframe' component have an explicit 'sandbox' attribute
104
+ * Enforces explicit `sandbox` attribute for `iframe` elements.
100
105
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
101
106
  */
102
107
  '@eslint-react/dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
103
108
  /**
104
- * enforce that namespaces are not used in React elements
109
+ * Enforces the absence of a `namespace` in React elements.
105
110
  * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
106
111
  */
107
112
  '@eslint-react/dom/no-namespace'?: Linter.RuleEntry<[]>
108
113
  /**
109
- * disallow usage of the return value of 'ReactDOM.render'
114
+ * Replaces usages of `ReactDom.render()` with `createRoot(node).render()`.
115
+ * @see https://eslint-react.xyz/docs/rules/dom-no-render
116
+ */
117
+ '@eslint-react/dom/no-render'?: Linter.RuleEntry<[]>
118
+ /**
119
+ * Disallow the return value of `ReactDOM.render`.
110
120
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
111
121
  */
112
122
  '@eslint-react/dom/no-render-return-value'?: Linter.RuleEntry<[]>
113
123
  /**
114
- * disallow 'javascript:' URLs as JSX event handler prop's value
124
+ * Disallow `javascript:` URLs as attribute values.
115
125
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
116
126
  */
117
127
  '@eslint-react/dom/no-script-url'?: Linter.RuleEntry<[]>
118
128
  /**
119
- * disallow usage of unknown DOM property
129
+ * Disallow unknown `DOM` property.
120
130
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
121
131
  */
122
132
  '@eslint-react/dom/no-unknown-property'?: Linter.RuleEntry<EslintReactDomNoUnknownProperty>
123
133
  /**
124
- * disallow unsafe iframe 'sandbox' attribute combinations
134
+ * Enforces `sandbox` attribute for `iframe` elements is not set to unsafe combinations.
125
135
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
126
136
  */
127
137
  '@eslint-react/dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
128
138
  /**
129
- * disallow 'target="_blank"' on an external link without 'rel="noreferrer noopener"'
139
+ * Disallow `target="_blank"` without `rel="noreferrer noopener"`.
130
140
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
131
141
  */
132
142
  '@eslint-react/dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
133
143
  /**
134
- * disallow void elements (AKA self-closing elements) from having children
144
+ * Replaces usages of `useFormState` with `useActionState`.
145
+ * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
146
+ */
147
+ '@eslint-react/dom/no-use-form-state'?: Linter.RuleEntry<[]>
148
+ /**
149
+ * Disallow `children` in void DOM elements.
135
150
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
136
151
  */
137
152
  '@eslint-react/dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
138
153
  /**
139
- * require a 'ref' parameter to be set when using 'forwardRef'
154
+ * Disallow useless `forwardRef` calls on components that don't use `ref`s.
140
155
  * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
141
156
  */
142
157
  '@eslint-react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
143
158
  /**
144
- * enforce custom Hooks to use at least one other hook inside
145
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
159
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
160
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
146
161
  */
147
162
  '@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
148
163
  /**
149
- * disallow unnecessary usage of 'useCallback'
164
+ * Disallow unnecessary usage of `useCallback`.
150
165
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
151
166
  */
152
167
  '@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
153
168
  /**
154
- * disallow unnecessary usage of 'useMemo'
169
+ * Disallow unnecessary usage of `useMemo`.
155
170
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
156
171
  */
157
172
  '@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
158
173
  /**
159
- * disallow direct calls to the 'set' function of 'useState' in 'useEffect'
174
+ * Disallow direct calls to the `set` function of `useState` in `useEffect`.
160
175
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
161
176
  */
162
177
  '@eslint-react/hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
163
178
  /**
164
- * disallow direct calls to the 'set' function of 'useState' in 'useLayoutEffect'
179
+ * Disallow direct calls to the `set` function of `useState` in `useLayoutEffect`.
165
180
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
166
181
  */
167
182
  '@eslint-react/hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
168
183
  /**
169
- * enforce custom Hooks to use at least one other hook inside
170
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
184
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
185
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
171
186
  */
172
187
  '@eslint-react/hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
173
188
  /**
174
- * disallow unnecessary usage of 'useCallback'
189
+ * Disallow unnecessary usage of `useCallback`.
175
190
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
176
191
  */
177
192
  '@eslint-react/hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
178
193
  /**
179
- * disallow unnecessary usage of 'useMemo'
194
+ * Disallow unnecessary usage of `useMemo`.
180
195
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
181
196
  */
182
197
  '@eslint-react/hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
183
198
  /**
184
- * enforce custom Hooks to use at least one other hook inside
185
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
199
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
200
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
201
+ */
202
+ '@eslint-react/hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
203
+ /**
204
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
205
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
186
206
  */
187
207
  '@eslint-react/hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
188
208
  /**
189
- * disallow function calls in 'useState' that aren't wrapped in an initializer function
209
+ * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
190
210
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
191
211
  */
192
212
  '@eslint-react/hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
193
213
  /**
194
- * disallow duplicate props
195
- * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
214
+ * Disallow duplicate props in JSX elements.
215
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
196
216
  */
197
217
  '@eslint-react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
198
218
  /**
199
- * marks variables used in JSX as used
200
- * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
219
+ * Disallow undefined variables in JSX.
220
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
221
+ */
222
+ '@eslint-react/jsx-no-undef'?: Linter.RuleEntry<[]>
223
+ /**
224
+ * Marks variables used in JSX elements as used.
225
+ * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
201
226
  */
202
227
  '@eslint-react/jsx-uses-vars'?: Linter.RuleEntry<[]>
203
228
  /**
204
- * enforce naming convention for components
229
+ * Enforces naming conventions for components.
205
230
  * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
206
231
  */
207
232
  '@eslint-react/naming-convention/component-name'?: Linter.RuleEntry<EslintReactNamingConventionComponentName>
208
233
  /**
209
- * enforce context name to be a valid component name with the suffix 'Context'
234
+ * Enforces context name to be a valid component name with the suffix `Context`.
210
235
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
211
236
  */
212
237
  '@eslint-react/naming-convention/context-name'?: Linter.RuleEntry<[]>
213
238
  /**
214
- * enforce naming convention for JSX filenames
239
+ * Enforces consistent file naming conventions.
215
240
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
216
241
  */
217
242
  '@eslint-react/naming-convention/filename'?: Linter.RuleEntry<EslintReactNamingConventionFilename>
218
243
  /**
219
- * enforce naming convention for JSX file extensions
244
+ * Enforces consistent file naming conventions.
220
245
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
221
246
  */
222
247
  '@eslint-react/naming-convention/filename-extension'?: Linter.RuleEntry<EslintReactNamingConventionFilenameExtension>
223
248
  /**
224
- * enforce destructuring and symmetric naming of 'useState' hook value and setter
249
+ * Enforces destructuring and symmetric naming of `useState` hook value and setter.
225
250
  * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
226
251
  */
227
252
  '@eslint-react/naming-convention/use-state'?: Linter.RuleEntry<[]>
228
253
  /**
229
- * disallow accessing 'this.state' within 'setState'
254
+ * Disallow accessing `this.state` inside `setState` calls.
230
255
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
231
256
  */
232
257
  '@eslint-react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
233
258
  /**
234
- * disallow using an item's index in the array as its key
259
+ * Disallow an item's index in the array as its key.
235
260
  * @see https://eslint-react.xyz/docs/rules/no-array-index-key
236
261
  */
237
262
  '@eslint-react/no-array-index-key'?: Linter.RuleEntry<[]>
238
263
  /**
239
- * disallow using 'Children.count'
264
+ * Disallow `Children.count`.
240
265
  * @see https://eslint-react.xyz/docs/rules/no-children-count
241
266
  */
242
267
  '@eslint-react/no-children-count'?: Linter.RuleEntry<[]>
243
268
  /**
244
- * disallow using 'Children.forEach'
269
+ * Disallow 'Children.forEach'.
245
270
  * @see https://eslint-react.xyz/docs/rules/no-children-for-each
246
271
  */
247
272
  '@eslint-react/no-children-for-each'?: Linter.RuleEntry<[]>
248
273
  /**
249
- * disallow using 'Children.map'
274
+ * Disallow `Children.map`.
250
275
  * @see https://eslint-react.xyz/docs/rules/no-children-map
251
276
  */
252
277
  '@eslint-react/no-children-map'?: Linter.RuleEntry<[]>
253
278
  /**
254
- * disallow using 'Children.only'
279
+ * Disallow `Children.only`.
255
280
  * @see https://eslint-react.xyz/docs/rules/no-children-only
256
281
  */
257
282
  '@eslint-react/no-children-only'?: Linter.RuleEntry<[]>
258
283
  /**
259
- * disallow passing 'children' as props
284
+ * Disallow passing `children` as a prop.
260
285
  * @see https://eslint-react.xyz/docs/rules/no-children-prop
261
286
  */
262
287
  '@eslint-react/no-children-prop'?: Linter.RuleEntry<[]>
263
288
  /**
264
- * disallow using 'Children.toArray'
289
+ * Disallow `Children.toArray`.
265
290
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
266
291
  */
267
292
  '@eslint-react/no-children-to-array'?: Linter.RuleEntry<[]>
268
293
  /**
269
- * disallow using class components
294
+ * Disallow class components.
270
295
  * @see https://eslint-react.xyz/docs/rules/no-class-component
271
296
  */
272
297
  '@eslint-react/no-class-component'?: Linter.RuleEntry<[]>
273
298
  /**
274
- * disallow using 'cloneElement'
299
+ * Disallow `cloneElement`.
275
300
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
276
301
  */
277
302
  '@eslint-react/no-clone-element'?: Linter.RuleEntry<[]>
278
303
  /**
279
- * disallow comments from being inserted as text nodes
304
+ * Prevents comments from being inserted as text nodes.
280
305
  * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
281
306
  */
282
307
  '@eslint-react/no-comment-textnodes'?: Linter.RuleEntry<[]>
283
308
  /**
284
- * disallow complex conditional rendering
309
+ * Disallow complex conditional rendering in JSX expressions.
285
310
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
286
311
  */
287
312
  '@eslint-react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
288
313
  /**
289
- * disallow complex conditional rendering
314
+ * Disallow complex conditional rendering in JSX expressions.
290
315
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
291
316
  */
292
317
  '@eslint-react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
293
318
  /**
294
- * replace usages of 'componentWillMount' with 'UNSAFE_componentWillMount'
319
+ * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
295
320
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
296
321
  */
297
322
  '@eslint-react/no-component-will-mount'?: Linter.RuleEntry<[]>
298
323
  /**
299
- * replace usages of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'
324
+ * Replace usages of `componentWillReceiveProps` with `UNSAFE_componentWillReceiveProps`.
300
325
  * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
301
326
  */
302
327
  '@eslint-react/no-component-will-receive-props'?: Linter.RuleEntry<[]>
303
328
  /**
304
- * replace usages of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'
329
+ * Replace usages of `componentWillUpdate` with `UNSAFE_componentWillUpdate`.
305
330
  * @see https://eslint-react.xyz/docs/rules/no-component-will-update
306
331
  */
307
332
  '@eslint-react/no-component-will-update'?: Linter.RuleEntry<[]>
308
333
  /**
309
- * replace usages of '<Context.Provider>' with '<Context>'
334
+ * Replace usages of `<Context.Provider>` with `<Context>`.
310
335
  * @see https://eslint-react.xyz/docs/rules/no-context-provider
311
336
  */
312
337
  '@eslint-react/no-context-provider'?: Linter.RuleEntry<[]>
313
338
  /**
314
- * disallow using 'createRef' in function components
339
+ * Disallow `createRef` in function components.
315
340
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
316
341
  */
317
342
  '@eslint-react/no-create-ref'?: Linter.RuleEntry<[]>
318
343
  /**
319
- * disallow using 'defaultProps' property in components
344
+ * Disallow `defaultProps` property in favor of ES6 default parameters.
320
345
  * @see https://eslint-react.xyz/docs/rules/no-default-props
321
346
  */
322
347
  '@eslint-react/no-default-props'?: Linter.RuleEntry<[]>
323
348
  /**
324
- * disallow direct mutation of state
349
+ * Disallow direct mutation of `this.state`.
325
350
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
326
351
  */
327
352
  '@eslint-react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
328
353
  /**
329
- * disallow duplicate props
330
- * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
354
+ * Disallow duplicate props in JSX elements.
355
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
331
356
  */
332
357
  '@eslint-react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>
333
358
  /**
334
- * disallow duplicate keys when rendering list
359
+ * Disallow duplicate `key` on elements in the same array or a list of `children`.
335
360
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
336
361
  */
337
362
  '@eslint-react/no-duplicate-key'?: Linter.RuleEntry<[]>
338
363
  /**
339
- * replace usages of 'forwardRef' with passing 'ref' as a prop
364
+ * Replaces usages of `forwardRef` with passing `ref` as a prop.
340
365
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
341
366
  */
342
367
  '@eslint-react/no-forward-ref'?: Linter.RuleEntry<[]>
343
368
  /**
344
- * disallow implicit 'key' props
369
+ * Prevents `key` from not being explicitly specified (e.g. spreading `key` from objects).
345
370
  * @see https://eslint-react.xyz/docs/rules/no-implicit-key
346
371
  */
347
372
  '@eslint-react/no-implicit-key'?: Linter.RuleEntry<[]>
348
373
  /**
349
- * disallow problematic leaked values from being rendered
374
+ * Prevents problematic leaked values from being rendered.
350
375
  * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
351
376
  */
352
377
  '@eslint-react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
353
378
  /**
354
- * require 'displayName' for 'memo' and 'forwardRef' components
379
+ * Enforces that all components have a `displayName` which can be used in devtools.
355
380
  * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
356
381
  */
357
382
  '@eslint-react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
358
383
  /**
359
- * require 'displayName' for contexts.
384
+ * Enforces that all contexts have a `displayName` which can be used in devtools.
360
385
  * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
361
386
  */
362
387
  '@eslint-react/no-missing-context-display-name'?: Linter.RuleEntry<[]>
363
388
  /**
364
- * require 'key' when rendering list
389
+ * Disallow missing `key` on items in list rendering.
365
390
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
366
391
  */
367
392
  '@eslint-react/no-missing-key'?: Linter.RuleEntry<[]>
368
393
  /**
369
- * prevents nesting component definitions inside other components
394
+ * Disallow nesting component definitions inside other components.
370
395
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
371
396
  */
372
397
  '@eslint-react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
373
398
  /**
374
- * prevents nesting component definitions inside other components
399
+ * Disallow nesting component definitions inside other components.
375
400
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
376
401
  */
377
402
  '@eslint-react/no-nested-components'?: Linter.RuleEntry<[]>
378
403
  /**
379
- * disallow using 'propTypes' property in components
404
+ * Disallow `propTypes` in favor of TypeScript or another type-checking solution.
380
405
  * @see https://eslint-react.xyz/docs/rules/no-prop-types
381
406
  */
382
407
  '@eslint-react/no-prop-types'?: Linter.RuleEntry<[]>
383
408
  /**
384
- * disallow using 'shouldComponentUpdate' in class component extends 'React.PureComponent'
409
+ * Disallow `shouldComponentUpdate` when extending `React.PureComponent`.
385
410
  * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
386
411
  */
387
412
  '@eslint-react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
388
413
  /**
389
- * disallow using 'setState' in 'componentDidMount'
414
+ * Disallow calling `this.setState` in `componentDidMount` outside of functions, such as callbacks.
390
415
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
391
416
  */
392
417
  '@eslint-react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
393
418
  /**
394
- * disallow using 'setState' in 'componentDidUpdate'
419
+ * Disallows calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks.
395
420
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
396
421
  */
397
422
  '@eslint-react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
398
423
  /**
399
- * disallow using 'setState' in 'componentWillUpdate'
424
+ * Disallows calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
400
425
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
401
426
  */
402
427
  '@eslint-react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
403
428
  /**
404
- * disallow using deprecated string refs
429
+ * Disallow deprecated string `refs`.
405
430
  * @see https://eslint-react.xyz/docs/rules/no-string-refs
406
431
  */
407
432
  '@eslint-react/no-string-refs'?: Linter.RuleEntry<[]>
408
433
  /**
409
- * disallow using 'UNSAFE_componentWillMount'
434
+ * Warns the usage of `UNSAFE_componentWillMount` in class components.
410
435
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
411
436
  */
412
437
  '@eslint-react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
413
438
  /**
414
- * disallow using 'UNSAFE_componentWillReceiveProps'
439
+ * Warns the usage of `UNSAFE_componentWillReceiveProps` in class components.
415
440
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
416
441
  */
417
442
  '@eslint-react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
418
443
  /**
419
- * disallow using 'UNSAFE_componentWillUpdate'
444
+ * Warns the usage of `UNSAFE_componentWillUpdate` in class components.
420
445
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
421
446
  */
422
447
  '@eslint-react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
423
448
  /**
424
- * disallow passing constructed values to context providers
449
+ * Prevents non-stable values (i.e. object literals) from being used as a value for `Context.Provider`.
425
450
  * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
426
451
  */
427
452
  '@eslint-react/no-unstable-context-value'?: Linter.RuleEntry<[]>
428
453
  /**
429
- * disallow using unstable value as default param in function component
454
+ * Prevents using referential-type values as default props in object destructuring.
430
455
  * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
431
456
  */
432
457
  '@eslint-react/no-unstable-default-props'?: Linter.RuleEntry<[]>
433
458
  /**
434
- * disallow unused class component members
459
+ * Warns unused class component methods and properties.
435
460
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
436
461
  */
437
462
  '@eslint-react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
438
463
  /**
439
- * disallow unused state of class component
464
+ * Warns unused class component state.
440
465
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
441
466
  */
442
467
  '@eslint-react/no-unused-state'?: Linter.RuleEntry<[]>
443
468
  /**
444
- * replace usages of 'useContext' with 'use'
469
+ * Replaces usages of `useContext` with `use`.
445
470
  * @see https://eslint-react.xyz/docs/rules/no-use-context
446
471
  */
447
472
  '@eslint-react/no-use-context'?: Linter.RuleEntry<[]>
448
473
  /**
449
- * require a 'ref' parameter to be set when using 'forwardRef'
474
+ * Disallow useless `forwardRef` calls on components that don't use `ref`s.
450
475
  * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
451
476
  */
452
477
  '@eslint-react/no-useless-forward-ref'?: Linter.RuleEntry<[]>
453
478
  /**
454
- * disallow useless fragments
479
+ * Disallow useless fragment elements.
455
480
  * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
456
481
  */
457
482
  '@eslint-react/no-useless-fragment'?: Linter.RuleEntry<EslintReactNoUselessFragment>
458
483
  /**
459
- * enforce using destructuring assignment in component props and context
484
+ * Enforces destructuring assignment for component props and context.
460
485
  * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
461
486
  */
462
487
  '@eslint-react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
463
488
  /**
464
- * enforce React is imported via a namespace import
489
+ * Enforces React is imported via a namespace import.
465
490
  * @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
466
491
  */
467
492
  '@eslint-react/prefer-react-namespace-import'?: Linter.RuleEntry<[]>
468
493
  /**
469
- * enforce read-only props in components
494
+ * Enforces read-only props in components.
470
495
  * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
471
496
  */
472
497
  '@eslint-react/prefer-read-only-props'?: Linter.RuleEntry<[]>
473
498
  /**
474
- * enforce the use of shorthand syntax for boolean attributes
499
+ * Enforces shorthand syntax for boolean attributes.
475
500
  * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
476
501
  */
477
502
  '@eslint-react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
478
503
  /**
479
- * enforce the use of shorthand syntax for fragments
504
+ * Enforces shorthand syntax for fragments.
480
505
  * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
481
506
  */
482
507
  '@eslint-react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
483
508
  /**
484
- * marks variables used in JSX as used
485
- * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
509
+ * Marks variables used in JSX elements as used.
510
+ * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
486
511
  */
487
512
  '@eslint-react/use-jsx-vars'?: Linter.RuleEntry<[]>
488
513
  /**
489
- * enforce that every 'addEventListener' in a component or custom Hook has a corresponding 'removeEventListener'.
514
+ * Prevents leaked `addEventListener` in a component or custom Hook.
490
515
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
491
516
  */
492
517
  '@eslint-react/web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
493
518
  /**
494
- * enforce that every 'setInterval' in a component or custom Hook has a corresponding 'clearInterval'.
519
+ * Prevents leaked `setInterval` in a component or custom Hook.
495
520
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
496
521
  */
497
522
  '@eslint-react/web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
498
523
  /**
499
- * enforce cleanup of 'ResizeObserver' instances in components and custom Hooks.
524
+ * Prevents leaked `ResizeObserver` in a component or custom Hook.
500
525
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
501
526
  */
502
527
  '@eslint-react/web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
503
528
  /**
504
- * enforce that every 'setTimeout' in a component or custom Hook has a corresponding 'clearTimeout'.
529
+ * Prevents leaked `setTimeout` in a component or custom Hook.
505
530
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
506
531
  */
507
532
  '@eslint-react/web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
@@ -1904,6 +1929,107 @@ interface RuleOptions {
1904
1929
  * @deprecated
1905
1930
  */
1906
1931
  'function-paren-newline'?: Linter.RuleEntry<FunctionParenNewline>
1932
+ /**
1933
+ * Enforce functional parameters.
1934
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/functional-parameters.md
1935
+ */
1936
+ 'functional/functional-parameters'?: Linter.RuleEntry<FunctionalFunctionalParameters>
1937
+ /**
1938
+ * Enforce treating data as immutable.
1939
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/immutable-data.md
1940
+ */
1941
+ 'functional/immutable-data'?: Linter.RuleEntry<FunctionalImmutableData>
1942
+ /**
1943
+ * Disallow inheritance in classes.
1944
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-class-inheritance.md
1945
+ */
1946
+ 'functional/no-class-inheritance'?: Linter.RuleEntry<FunctionalNoClassInheritance>
1947
+ /**
1948
+ * Disallow classes.
1949
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-classes.md
1950
+ */
1951
+ 'functional/no-classes'?: Linter.RuleEntry<FunctionalNoClasses>
1952
+ /**
1953
+ * Disallow conditional statements.
1954
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-conditional-statements.md
1955
+ */
1956
+ 'functional/no-conditional-statements'?: Linter.RuleEntry<FunctionalNoConditionalStatements>
1957
+ /**
1958
+ * Disallow expression statements.
1959
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-expression-statements.md
1960
+ */
1961
+ 'functional/no-expression-statements'?: Linter.RuleEntry<FunctionalNoExpressionStatements>
1962
+ /**
1963
+ * Disallow mutable variables.
1964
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-let.md
1965
+ */
1966
+ 'functional/no-let'?: Linter.RuleEntry<FunctionalNoLet>
1967
+ /**
1968
+ * Disallow imperative loops.
1969
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-loop-statements.md
1970
+ */
1971
+ 'functional/no-loop-statements'?: Linter.RuleEntry<[]>
1972
+ /**
1973
+ * Restrict types so that only members of the same kind are allowed in them.
1974
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-mixed-types.md
1975
+ */
1976
+ 'functional/no-mixed-types'?: Linter.RuleEntry<FunctionalNoMixedTypes>
1977
+ /**
1978
+ * Disallow rejecting promises.
1979
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-promise-reject.md
1980
+ */
1981
+ 'functional/no-promise-reject'?: Linter.RuleEntry<[]>
1982
+ /**
1983
+ * Disallow functions that don't return anything.
1984
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-return-void.md
1985
+ */
1986
+ 'functional/no-return-void'?: Linter.RuleEntry<FunctionalNoReturnVoid>
1987
+ /**
1988
+ * Disallow this access.
1989
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-this-expressions.md
1990
+ */
1991
+ 'functional/no-this-expressions'?: Linter.RuleEntry<[]>
1992
+ /**
1993
+ * Disallow throwing exceptions.
1994
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-throw-statements.md
1995
+ */
1996
+ 'functional/no-throw-statements'?: Linter.RuleEntry<FunctionalNoThrowStatements>
1997
+ /**
1998
+ * Disallow try-catch[-finally] and try-finally patterns.
1999
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-try-statements.md
2000
+ */
2001
+ 'functional/no-try-statements'?: Linter.RuleEntry<FunctionalNoTryStatements>
2002
+ /**
2003
+ * Require function parameters to be typed as certain immutability
2004
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-immutable-types.md
2005
+ */
2006
+ 'functional/prefer-immutable-types'?: Linter.RuleEntry<FunctionalPreferImmutableTypes>
2007
+ /**
2008
+ * Prefer property signatures over method signatures.
2009
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-property-signatures.md
2010
+ */
2011
+ 'functional/prefer-property-signatures'?: Linter.RuleEntry<FunctionalPreferPropertySignatures>
2012
+ /**
2013
+ * Prefer readonly types over mutable types.
2014
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-readonly-type.md
2015
+ * @deprecated
2016
+ */
2017
+ 'functional/prefer-readonly-type'?: Linter.RuleEntry<FunctionalPreferReadonlyType>
2018
+ /**
2019
+ * Replaces `x => f(x)` with just `f`.
2020
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-tacit.md
2021
+ */
2022
+ 'functional/prefer-tacit'?: Linter.RuleEntry<FunctionalPreferTacit>
2023
+ /**
2024
+ * Require consistently using either `readonly` keywords or `Readonly<T>`
2025
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/readonly-type.md
2026
+ */
2027
+ 'functional/readonly-type'?: Linter.RuleEntry<FunctionalReadonlyType>
2028
+ /**
2029
+ * Enforce the immutability of types based on patterns.
2030
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/type-declaration-immutability.md
2031
+ */
2032
+ 'functional/type-declaration-immutability'?: Linter.RuleEntry<FunctionalTypeDeclarationImmutability>
1907
2033
  /**
1908
2034
  * Enforce consistent spacing around `*` operators in generator functions
1909
2035
  * @see https://eslint.org/docs/latest/rules/generator-star-spacing
@@ -1966,233 +2092,233 @@ interface RuleOptions {
1966
2092
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
1967
2093
  /**
1968
2094
  * Enforce or ban the use of inline type-only markers for named imports.
1969
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/consistent-type-specifier-style.md
2095
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/consistent-type-specifier-style.md
1970
2096
  */
1971
2097
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>
1972
2098
  /**
1973
2099
  * Ensure a default export is present, given a default import.
1974
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/default.md
2100
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/default.md
1975
2101
  */
1976
2102
  'import-x/default'?: Linter.RuleEntry<[]>
1977
2103
  /**
1978
2104
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
1979
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/dynamic-import-chunkname.md
2105
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/dynamic-import-chunkname.md
1980
2106
  */
1981
2107
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>
1982
2108
  /**
1983
2109
  * Forbid any invalid exports, i.e. re-export of the same name.
1984
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/export.md
2110
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/export.md
1985
2111
  */
1986
2112
  'import-x/export'?: Linter.RuleEntry<[]>
1987
2113
  /**
1988
2114
  * Ensure all exports appear after other statements.
1989
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/exports-last.md
2115
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/exports-last.md
1990
2116
  */
1991
2117
  'import-x/exports-last'?: Linter.RuleEntry<[]>
1992
2118
  /**
1993
2119
  * Ensure consistent use of file extension within the import path.
1994
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/extensions.md
2120
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/extensions.md
1995
2121
  */
1996
2122
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>
1997
2123
  /**
1998
2124
  * Ensure all imports appear before other statements.
1999
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/first.md
2125
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/first.md
2000
2126
  */
2001
2127
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>
2002
2128
  /**
2003
2129
  * Prefer named exports to be grouped together in a single export declaration.
2004
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/group-exports.md
2130
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/group-exports.md
2005
2131
  */
2006
2132
  'import-x/group-exports'?: Linter.RuleEntry<[]>
2007
2133
  /**
2008
2134
  * Replaced by `import-x/first`.
2009
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/imports-first.md
2135
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/imports-first.md
2010
2136
  * @deprecated
2011
2137
  */
2012
2138
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>
2013
2139
  /**
2014
2140
  * Enforce the maximum number of dependencies a module can have.
2015
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/max-dependencies.md
2141
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/max-dependencies.md
2016
2142
  */
2017
2143
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>
2018
2144
  /**
2019
2145
  * Ensure named imports correspond to a named export in the remote file.
2020
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/named.md
2146
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/named.md
2021
2147
  */
2022
2148
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>
2023
2149
  /**
2024
2150
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
2025
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/namespace.md
2151
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/namespace.md
2026
2152
  */
2027
2153
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>
2028
2154
  /**
2029
2155
  * Enforce a newline after import statements.
2030
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/newline-after-import.md
2156
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/newline-after-import.md
2031
2157
  */
2032
2158
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>
2033
2159
  /**
2034
2160
  * Forbid import of modules using absolute paths.
2035
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-absolute-path.md
2161
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-absolute-path.md
2036
2162
  */
2037
2163
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>
2038
2164
  /**
2039
2165
  * Forbid AMD `require` and `define` calls.
2040
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-amd.md
2166
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-amd.md
2041
2167
  */
2042
2168
  'import-x/no-amd'?: Linter.RuleEntry<[]>
2043
2169
  /**
2044
2170
  * Forbid anonymous values as default exports.
2045
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-anonymous-default-export.md
2171
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-anonymous-default-export.md
2046
2172
  */
2047
2173
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>
2048
2174
  /**
2049
2175
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
2050
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-commonjs.md
2176
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-commonjs.md
2051
2177
  */
2052
2178
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>
2053
2179
  /**
2054
2180
  * Forbid a module from importing a module with a dependency path back to itself.
2055
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-cycle.md
2181
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-cycle.md
2056
2182
  */
2057
2183
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>
2058
2184
  /**
2059
2185
  * Forbid default exports.
2060
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-default-export.md
2186
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-default-export.md
2061
2187
  */
2062
2188
  'import-x/no-default-export'?: Linter.RuleEntry<[]>
2063
2189
  /**
2064
2190
  * Forbid imported names marked with `@deprecated` documentation tag.
2065
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-deprecated.md
2191
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-deprecated.md
2066
2192
  */
2067
2193
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>
2068
2194
  /**
2069
2195
  * Forbid repeated import of the same module in multiple places.
2070
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-duplicates.md
2196
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-duplicates.md
2071
2197
  */
2072
2198
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>
2073
2199
  /**
2074
2200
  * Forbid `require()` calls with expressions.
2075
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-dynamic-require.md
2201
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-dynamic-require.md
2076
2202
  */
2077
2203
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>
2078
2204
  /**
2079
2205
  * Forbid empty named import blocks.
2080
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-empty-named-blocks.md
2206
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-empty-named-blocks.md
2081
2207
  */
2082
2208
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>
2083
2209
  /**
2084
2210
  * Forbid the use of extraneous packages.
2085
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-extraneous-dependencies.md
2211
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-extraneous-dependencies.md
2086
2212
  */
2087
2213
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>
2088
2214
  /**
2089
2215
  * Forbid import statements with CommonJS module.exports.
2090
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-import-module-exports.md
2216
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-import-module-exports.md
2091
2217
  */
2092
2218
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>
2093
2219
  /**
2094
2220
  * Forbid importing the submodules of other modules.
2095
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-internal-modules.md
2221
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-internal-modules.md
2096
2222
  */
2097
2223
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>
2098
2224
  /**
2099
2225
  * Forbid the use of mutable exports with `var` or `let`.
2100
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-mutable-exports.md
2226
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-mutable-exports.md
2101
2227
  */
2102
2228
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>
2103
2229
  /**
2104
2230
  * Forbid use of exported name as identifier of default export.
2105
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-named-as-default.md
2231
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-as-default.md
2106
2232
  */
2107
2233
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>
2108
2234
  /**
2109
2235
  * Forbid use of exported name as property of default export.
2110
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-named-as-default-member.md
2236
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-as-default-member.md
2111
2237
  */
2112
2238
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>
2113
2239
  /**
2114
2240
  * Forbid named default exports.
2115
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-named-default.md
2241
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-default.md
2116
2242
  */
2117
2243
  'import-x/no-named-default'?: Linter.RuleEntry<[]>
2118
2244
  /**
2119
2245
  * Forbid named exports.
2120
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-named-export.md
2246
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-export.md
2121
2247
  */
2122
2248
  'import-x/no-named-export'?: Linter.RuleEntry<[]>
2123
2249
  /**
2124
2250
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
2125
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-namespace.md
2251
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-namespace.md
2126
2252
  */
2127
2253
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>
2128
2254
  /**
2129
2255
  * Forbid Node.js builtin modules.
2130
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-nodejs-modules.md
2256
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-nodejs-modules.md
2131
2257
  */
2132
2258
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>
2133
2259
  /**
2134
2260
  * Forbid importing packages through relative paths.
2135
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-relative-packages.md
2261
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-relative-packages.md
2136
2262
  */
2137
2263
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>
2138
2264
  /**
2139
2265
  * Forbid importing modules from parent directories.
2140
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-relative-parent-imports.md
2266
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-relative-parent-imports.md
2141
2267
  */
2142
2268
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>
2143
2269
  /**
2144
2270
  * Forbid importing a default export by a different name.
2145
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-rename-default.md
2271
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-rename-default.md
2146
2272
  */
2147
2273
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>
2148
2274
  /**
2149
2275
  * Enforce which files can be imported in a given folder.
2150
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-restricted-paths.md
2276
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-restricted-paths.md
2151
2277
  */
2152
2278
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>
2153
2279
  /**
2154
2280
  * Forbid a module from importing itself.
2155
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-self-import.md
2281
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-self-import.md
2156
2282
  */
2157
2283
  'import-x/no-self-import'?: Linter.RuleEntry<[]>
2158
2284
  /**
2159
2285
  * Forbid unassigned imports.
2160
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-unassigned-import.md
2286
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-unassigned-import.md
2161
2287
  */
2162
2288
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>
2163
2289
  /**
2164
2290
  * Ensure imports point to a file/module that can be resolved.
2165
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-unresolved.md
2291
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-unresolved.md
2166
2292
  */
2167
2293
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>
2168
2294
  /**
2169
2295
  * Forbid modules without exports, or exports without matching import in another module.
2170
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-unused-modules.md
2296
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-unused-modules.md
2171
2297
  */
2172
2298
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>
2173
2299
  /**
2174
2300
  * Forbid unnecessary path segments in import and require statements.
2175
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-useless-path-segments.md
2301
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-useless-path-segments.md
2176
2302
  */
2177
2303
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>
2178
2304
  /**
2179
2305
  * Forbid webpack loader syntax in imports.
2180
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/no-webpack-loader-syntax.md
2306
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-webpack-loader-syntax.md
2181
2307
  */
2182
2308
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
2183
2309
  /**
2184
2310
  * Enforce a convention in module import order.
2185
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/order.md
2311
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/order.md
2186
2312
  */
2187
2313
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>
2188
2314
  /**
2189
2315
  * Prefer a default export if module exports a single name or multiple names.
2190
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/prefer-default-export.md
2316
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/prefer-default-export.md
2191
2317
  */
2192
2318
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>
2193
2319
  /**
2194
2320
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
2195
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.8.0/docs/rules/unambiguous.md
2321
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/unambiguous.md
2196
2322
  */
2197
2323
  'import-x/unambiguous'?: Linter.RuleEntry<[]>
2198
2324
  /**
@@ -4258,642 +4384,643 @@ interface RuleOptions {
4258
4384
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
4259
4385
  /**
4260
4386
  * Improve regexes by making them shorter, consistent, and safer.
4261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/better-regex.md
4387
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/better-regex.md
4262
4388
  */
4263
4389
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
4264
4390
  /**
4265
4391
  * Enforce a specific parameter name in catch clauses.
4266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/catch-error-name.md
4392
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/catch-error-name.md
4267
4393
  */
4268
4394
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
4269
4395
  /**
4270
4396
  * Enforce consistent assertion style with `node:assert`.
4271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-assert.md
4397
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/consistent-assert.md
4272
4398
  */
4273
4399
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
4274
4400
  /**
4275
4401
  * Prefer passing `Date` directly to the constructor when cloning.
4276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-date-clone.md
4402
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/consistent-date-clone.md
4277
4403
  */
4278
4404
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
4279
4405
  /**
4280
4406
  * Use destructured variables over properties.
4281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-destructuring.md
4407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/consistent-destructuring.md
4282
4408
  */
4283
4409
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
4284
4410
  /**
4285
4411
  * Prefer consistent types when spreading a ternary in an array literal.
4286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-empty-array-spread.md
4412
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/consistent-empty-array-spread.md
4287
4413
  */
4288
4414
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
4289
4415
  /**
4290
4416
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
4291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-existence-index-check.md
4417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/consistent-existence-index-check.md
4292
4418
  */
4293
4419
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
4294
4420
  /**
4295
4421
  * Move function definitions to the highest possible scope.
4296
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-function-scoping.md
4422
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/consistent-function-scoping.md
4297
4423
  */
4298
4424
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
4299
4425
  /**
4300
4426
  * Enforce correct `Error` subclassing.
4301
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/custom-error-definition.md
4427
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/custom-error-definition.md
4302
4428
  */
4303
4429
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
4304
4430
  /**
4305
4431
  * Enforce no spaces between braces.
4306
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/empty-brace-spaces.md
4432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/empty-brace-spaces.md
4307
4433
  */
4308
4434
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
4309
4435
  /**
4310
4436
  * Enforce passing a `message` value when creating a built-in error.
4311
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/error-message.md
4437
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/error-message.md
4312
4438
  */
4313
4439
  'unicorn/error-message'?: Linter.RuleEntry<[]>
4314
4440
  /**
4315
- * Require escape sequences to use uppercase values.
4316
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/escape-case.md
4441
+ * Require escape sequences to use uppercase or lowercase values.
4442
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/escape-case.md
4317
4443
  */
4318
- 'unicorn/escape-case'?: Linter.RuleEntry<[]>
4444
+ 'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
4319
4445
  /**
4320
4446
  * Add expiration conditions to TODO comments.
4321
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/expiring-todo-comments.md
4447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/expiring-todo-comments.md
4322
4448
  */
4323
4449
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
4324
4450
  /**
4325
4451
  * Enforce explicitly comparing the `length` or `size` property of a value.
4326
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/explicit-length-check.md
4452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/explicit-length-check.md
4327
4453
  */
4328
4454
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
4329
4455
  /**
4330
4456
  * Enforce a case style for filenames.
4331
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/filename-case.md
4457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/filename-case.md
4332
4458
  */
4333
4459
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
4334
4460
  /**
4335
4461
  * Enforce specific import styles per module.
4336
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/import-style.md
4462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/import-style.md
4337
4463
  */
4338
4464
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
4339
4465
  /**
4340
4466
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
4341
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/new-for-builtins.md
4467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/new-for-builtins.md
4342
4468
  */
4343
4469
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
4344
4470
  /**
4345
4471
  * Enforce specifying rules to disable in `eslint-disable` comments.
4346
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-abusive-eslint-disable.md
4472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-abusive-eslint-disable.md
4347
4473
  */
4348
4474
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
4349
4475
  /**
4350
4476
  * Disallow recursive access to `this` within getters and setters.
4351
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-accessor-recursion.md
4477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-accessor-recursion.md
4352
4478
  */
4353
4479
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
4354
4480
  /**
4355
4481
  * Disallow anonymous functions and classes as the default export.
4356
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-anonymous-default-export.md
4482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-anonymous-default-export.md
4357
4483
  */
4358
4484
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
4359
4485
  /**
4360
4486
  * Prevent passing a function reference directly to iterator methods.
4361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-callback-reference.md
4487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-array-callback-reference.md
4362
4488
  */
4363
4489
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
4364
4490
  /**
4365
4491
  * Prefer `for…of` over the `forEach` method.
4366
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-for-each.md
4492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-array-for-each.md
4367
4493
  */
4368
4494
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
4369
4495
  /**
4370
4496
  * Disallow using the `this` argument in array methods.
4371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-method-this-argument.md
4497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-array-method-this-argument.md
4372
4498
  */
4373
4499
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
4374
4500
  /**
4375
4501
  * Enforce combining multiple `Array#push()` into one call.
4376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-push-push.md
4502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-array-push-push.md
4377
4503
  */
4378
4504
  'unicorn/no-array-push-push'?: Linter.RuleEntry<UnicornNoArrayPushPush>
4379
4505
  /**
4380
4506
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
4381
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-reduce.md
4507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-array-reduce.md
4382
4508
  */
4383
4509
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
4384
4510
  /**
4385
4511
  * Disallow member access from await expression.
4386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-await-expression-member.md
4512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-await-expression-member.md
4387
4513
  */
4388
4514
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
4389
4515
  /**
4390
4516
  * Disallow using `await` in `Promise` method parameters.
4391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-await-in-promise-methods.md
4517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-await-in-promise-methods.md
4392
4518
  */
4393
4519
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
4394
4520
  /**
4395
4521
  * Do not use leading/trailing space between `console.log` parameters.
4396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-console-spaces.md
4522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-console-spaces.md
4397
4523
  */
4398
4524
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
4399
4525
  /**
4400
4526
  * Do not use `document.cookie` directly.
4401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-document-cookie.md
4527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-document-cookie.md
4402
4528
  */
4403
4529
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
4404
4530
  /**
4405
4531
  * Disallow empty files.
4406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-empty-file.md
4532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-empty-file.md
4407
4533
  */
4408
4534
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
4409
4535
  /**
4410
4536
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
4411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-for-loop.md
4537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-for-loop.md
4412
4538
  */
4413
4539
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
4414
4540
  /**
4415
4541
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
4416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-hex-escape.md
4542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-hex-escape.md
4417
4543
  */
4418
4544
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
4419
4545
  /**
4420
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/deprecated-rules.md#no-instanceof-array
4546
+ * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
4547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/deprecated-rules.md#no-instanceof-array
4421
4548
  * @deprecated
4422
4549
  */
4423
4550
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
4424
4551
  /**
4425
4552
  * Disallow `instanceof` with built-in objects
4426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-instanceof-builtins.md
4553
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-instanceof-builtins.md
4427
4554
  */
4428
4555
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
4429
4556
  /**
4430
4557
  * Disallow invalid options in `fetch()` and `new Request()`.
4431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-invalid-fetch-options.md
4558
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-invalid-fetch-options.md
4432
4559
  */
4433
4560
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
4434
4561
  /**
4435
4562
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
4436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-invalid-remove-event-listener.md
4563
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-invalid-remove-event-listener.md
4437
4564
  */
4438
4565
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
4439
4566
  /**
4440
4567
  * Disallow identifiers starting with `new` or `class`.
4441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-keyword-prefix.md
4568
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-keyword-prefix.md
4442
4569
  */
4443
4570
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
4444
4571
  /**
4445
4572
  * Disallow using `.length` as the `end` argument of `{Array,String,TypedArray}#slice()`.
4446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-length-as-slice-end.md
4573
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-length-as-slice-end.md
4447
4574
  */
4448
4575
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
4449
4576
  /**
4450
4577
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
4451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-lonely-if.md
4578
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-lonely-if.md
4452
4579
  */
4453
4580
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
4454
4581
  /**
4455
4582
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
4456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-magic-array-flat-depth.md
4583
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-magic-array-flat-depth.md
4457
4584
  */
4458
4585
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
4459
4586
  /**
4460
4587
  * Disallow named usage of default import and export.
4461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-named-default.md
4588
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-named-default.md
4462
4589
  */
4463
4590
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
4464
4591
  /**
4465
4592
  * Disallow negated conditions.
4466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-negated-condition.md
4593
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-negated-condition.md
4467
4594
  */
4468
4595
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
4469
4596
  /**
4470
4597
  * Disallow negated expression in equality check.
4471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-negation-in-equality-check.md
4598
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-negation-in-equality-check.md
4472
4599
  */
4473
4600
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
4474
4601
  /**
4475
4602
  * Disallow nested ternary expressions.
4476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-nested-ternary.md
4603
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-nested-ternary.md
4477
4604
  */
4478
4605
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
4479
4606
  /**
4480
4607
  * Disallow `new Array()`.
4481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-new-array.md
4608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-new-array.md
4482
4609
  */
4483
4610
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
4484
4611
  /**
4485
4612
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
4486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-new-buffer.md
4613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-new-buffer.md
4487
4614
  */
4488
4615
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
4489
4616
  /**
4490
4617
  * Disallow the use of the `null` literal.
4491
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-null.md
4618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-null.md
4492
4619
  */
4493
4620
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
4494
4621
  /**
4495
4622
  * Disallow the use of objects as default parameters.
4496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-object-as-default-parameter.md
4623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-object-as-default-parameter.md
4497
4624
  */
4498
4625
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
4499
4626
  /**
4500
4627
  * Disallow `process.exit()`.
4501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-process-exit.md
4628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-process-exit.md
4502
4629
  */
4503
4630
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
4504
4631
  /**
4505
4632
  * Disallow passing single-element arrays to `Promise` methods.
4506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-single-promise-in-promise-methods.md
4633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-single-promise-in-promise-methods.md
4507
4634
  */
4508
4635
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
4509
4636
  /**
4510
4637
  * Disallow classes that only have static members.
4511
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-static-only-class.md
4638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-static-only-class.md
4512
4639
  */
4513
4640
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
4514
4641
  /**
4515
4642
  * Disallow `then` property.
4516
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-thenable.md
4643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-thenable.md
4517
4644
  */
4518
4645
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
4519
4646
  /**
4520
4647
  * Disallow assigning `this` to a variable.
4521
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-this-assignment.md
4648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-this-assignment.md
4522
4649
  */
4523
4650
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
4524
4651
  /**
4525
4652
  * Disallow comparing `undefined` using `typeof`.
4526
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-typeof-undefined.md
4653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-typeof-undefined.md
4527
4654
  */
4528
4655
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
4529
4656
  /**
4530
4657
  * Disallow awaiting non-promise values.
4531
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unnecessary-await.md
4658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-unnecessary-await.md
4532
4659
  */
4533
4660
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
4534
4661
  /**
4535
4662
  * Enforce the use of built-in methods instead of unnecessary polyfills.
4536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unnecessary-polyfills.md
4663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-unnecessary-polyfills.md
4537
4664
  */
4538
4665
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
4539
4666
  /**
4540
4667
  * Disallow unreadable array destructuring.
4541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unreadable-array-destructuring.md
4668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-unreadable-array-destructuring.md
4542
4669
  */
4543
4670
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
4544
4671
  /**
4545
4672
  * Disallow unreadable IIFEs.
4546
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unreadable-iife.md
4673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-unreadable-iife.md
4547
4674
  */
4548
4675
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
4549
4676
  /**
4550
4677
  * Disallow unused object properties.
4551
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unused-properties.md
4678
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-unused-properties.md
4552
4679
  */
4553
4680
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
4554
4681
  /**
4555
4682
  * Disallow useless fallback when spreading in object literals.
4556
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-fallback-in-spread.md
4683
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-useless-fallback-in-spread.md
4557
4684
  */
4558
4685
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
4559
4686
  /**
4560
4687
  * Disallow useless array length check.
4561
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-length-check.md
4688
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-useless-length-check.md
4562
4689
  */
4563
4690
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
4564
4691
  /**
4565
4692
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
4566
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-promise-resolve-reject.md
4693
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-useless-promise-resolve-reject.md
4567
4694
  */
4568
4695
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
4569
4696
  /**
4570
4697
  * Disallow unnecessary spread.
4571
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-spread.md
4698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-useless-spread.md
4572
4699
  */
4573
4700
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
4574
4701
  /**
4575
4702
  * Disallow useless case in switch statements.
4576
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-switch-case.md
4703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-useless-switch-case.md
4577
4704
  */
4578
4705
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
4579
4706
  /**
4580
4707
  * Disallow useless `undefined`.
4581
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-undefined.md
4708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-useless-undefined.md
4582
4709
  */
4583
4710
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
4584
4711
  /**
4585
4712
  * Disallow number literals with zero fractions or dangling dots.
4586
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-zero-fractions.md
4713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/no-zero-fractions.md
4587
4714
  */
4588
4715
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
4589
4716
  /**
4590
4717
  * Enforce proper case for numeric literals.
4591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/number-literal-case.md
4718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/number-literal-case.md
4592
4719
  */
4593
- 'unicorn/number-literal-case'?: Linter.RuleEntry<[]>
4720
+ 'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
4594
4721
  /**
4595
4722
  * Enforce the style of numeric separators by correctly grouping digits.
4596
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/numeric-separators-style.md
4723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/numeric-separators-style.md
4597
4724
  */
4598
4725
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
4599
4726
  /**
4600
4727
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
4601
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-add-event-listener.md
4728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-add-event-listener.md
4602
4729
  */
4603
4730
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
4604
4731
  /**
4605
4732
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
4606
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-find.md
4733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-array-find.md
4607
4734
  */
4608
4735
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
4609
4736
  /**
4610
4737
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
4611
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-flat.md
4738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-array-flat.md
4612
4739
  */
4613
4740
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
4614
4741
  /**
4615
4742
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
4616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-flat-map.md
4743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-array-flat-map.md
4617
4744
  */
4618
4745
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
4619
4746
  /**
4620
4747
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
4621
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-index-of.md
4748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-array-index-of.md
4622
4749
  */
4623
4750
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
4624
4751
  /**
4625
4752
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
4626
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-some.md
4753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-array-some.md
4627
4754
  */
4628
4755
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
4629
4756
  /**
4630
4757
  * Prefer `.at()` method for index access and `String#charAt()`.
4631
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-at.md
4758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-at.md
4632
4759
  */
4633
4760
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
4634
4761
  /**
4635
4762
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
4636
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-blob-reading-methods.md
4763
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-blob-reading-methods.md
4637
4764
  */
4638
4765
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
4639
4766
  /**
4640
4767
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
4641
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-code-point.md
4768
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-code-point.md
4642
4769
  */
4643
4770
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
4644
4771
  /**
4645
4772
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
4646
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-date-now.md
4773
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-date-now.md
4647
4774
  */
4648
4775
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
4649
4776
  /**
4650
4777
  * Prefer default parameters over reassignment.
4651
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-default-parameters.md
4778
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-default-parameters.md
4652
4779
  */
4653
4780
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
4654
4781
  /**
4655
4782
  * Prefer `Node#append()` over `Node#appendChild()`.
4656
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-append.md
4783
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-dom-node-append.md
4657
4784
  */
4658
4785
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
4659
4786
  /**
4660
4787
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
4661
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-dataset.md
4788
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-dom-node-dataset.md
4662
4789
  */
4663
4790
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
4664
4791
  /**
4665
4792
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
4666
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-remove.md
4793
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-dom-node-remove.md
4667
4794
  */
4668
4795
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
4669
4796
  /**
4670
4797
  * Prefer `.textContent` over `.innerText`.
4671
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-text-content.md
4798
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-dom-node-text-content.md
4672
4799
  */
4673
4800
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
4674
4801
  /**
4675
4802
  * Prefer `EventTarget` over `EventEmitter`.
4676
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-event-target.md
4803
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-event-target.md
4677
4804
  */
4678
4805
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
4679
4806
  /**
4680
4807
  * Prefer `export…from` when re-exporting.
4681
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-export-from.md
4808
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-export-from.md
4682
4809
  */
4683
4810
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
4684
4811
  /**
4685
4812
  * Prefer `globalThis` over `window`, `self`, and `global`.
4686
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-global-this.md
4813
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-global-this.md
4687
4814
  */
4688
4815
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
4689
4816
  /**
4690
4817
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
4691
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-includes.md
4818
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-includes.md
4692
4819
  */
4693
4820
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
4694
4821
  /**
4695
4822
  * Prefer reading a JSON file as a buffer.
4696
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-json-parse-buffer.md
4823
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-json-parse-buffer.md
4697
4824
  */
4698
4825
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
4699
4826
  /**
4700
4827
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
4701
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-keyboard-event-key.md
4828
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-keyboard-event-key.md
4702
4829
  */
4703
4830
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
4704
4831
  /**
4705
4832
  * Prefer using a logical operator over a ternary.
4706
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-logical-operator-over-ternary.md
4833
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-logical-operator-over-ternary.md
4707
4834
  */
4708
4835
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
4709
4836
  /**
4710
4837
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
4711
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-math-min-max.md
4838
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-math-min-max.md
4712
4839
  */
4713
4840
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
4714
4841
  /**
4715
4842
  * Enforce the use of `Math.trunc` instead of bitwise operators.
4716
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-math-trunc.md
4843
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-math-trunc.md
4717
4844
  */
4718
4845
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
4719
4846
  /**
4720
4847
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
4721
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-modern-dom-apis.md
4848
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-modern-dom-apis.md
4722
4849
  */
4723
4850
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
4724
4851
  /**
4725
4852
  * Prefer modern `Math` APIs over legacy patterns.
4726
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-modern-math-apis.md
4853
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-modern-math-apis.md
4727
4854
  */
4728
4855
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
4729
4856
  /**
4730
4857
  * Prefer JavaScript modules (ESM) over CommonJS.
4731
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-module.md
4858
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-module.md
4732
4859
  */
4733
4860
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
4734
4861
  /**
4735
4862
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
4736
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-native-coercion-functions.md
4863
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-native-coercion-functions.md
4737
4864
  */
4738
4865
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
4739
4866
  /**
4740
4867
  * Prefer negative index over `.length - index` when possible.
4741
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-negative-index.md
4868
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-negative-index.md
4742
4869
  */
4743
4870
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
4744
4871
  /**
4745
4872
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
4746
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-node-protocol.md
4873
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-node-protocol.md
4747
4874
  */
4748
4875
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
4749
4876
  /**
4750
4877
  * Prefer `Number` static properties over global ones.
4751
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-number-properties.md
4878
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-number-properties.md
4752
4879
  */
4753
4880
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
4754
4881
  /**
4755
4882
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
4756
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-object-from-entries.md
4883
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-object-from-entries.md
4757
4884
  */
4758
4885
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
4759
4886
  /**
4760
4887
  * Prefer omitting the `catch` binding parameter.
4761
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-optional-catch-binding.md
4888
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-optional-catch-binding.md
4762
4889
  */
4763
4890
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
4764
4891
  /**
4765
4892
  * Prefer borrowing methods from the prototype instead of the instance.
4766
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-prototype-methods.md
4893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-prototype-methods.md
4767
4894
  */
4768
4895
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
4769
4896
  /**
4770
4897
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
4771
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-query-selector.md
4898
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-query-selector.md
4772
4899
  */
4773
4900
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
4774
4901
  /**
4775
4902
  * Prefer `Reflect.apply()` over `Function#apply()`.
4776
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-reflect-apply.md
4903
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-reflect-apply.md
4777
4904
  */
4778
4905
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
4779
4906
  /**
4780
4907
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
4781
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-regexp-test.md
4908
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-regexp-test.md
4782
4909
  */
4783
4910
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
4784
4911
  /**
4785
4912
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
4786
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-set-has.md
4913
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-set-has.md
4787
4914
  */
4788
4915
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
4789
4916
  /**
4790
4917
  * Prefer using `Set#size` instead of `Array#length`.
4791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-set-size.md
4918
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-set-size.md
4792
4919
  */
4793
4920
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
4794
4921
  /**
4795
4922
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
4796
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-spread.md
4923
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-spread.md
4797
4924
  */
4798
4925
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
4799
4926
  /**
4800
4927
  * Prefer using the `String.raw` tag to avoid escaping `\`.
4801
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-raw.md
4928
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-string-raw.md
4802
4929
  */
4803
4930
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
4804
4931
  /**
4805
4932
  * Prefer `String#replaceAll()` over regex searches with the global flag.
4806
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-replace-all.md
4933
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-string-replace-all.md
4807
4934
  */
4808
4935
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
4809
4936
  /**
4810
4937
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
4811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-slice.md
4938
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-string-slice.md
4812
4939
  */
4813
4940
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
4814
4941
  /**
4815
4942
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
4816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-starts-ends-with.md
4943
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-string-starts-ends-with.md
4817
4944
  */
4818
4945
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
4819
4946
  /**
4820
4947
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
4821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-trim-start-end.md
4948
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-string-trim-start-end.md
4822
4949
  */
4823
4950
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
4824
4951
  /**
4825
4952
  * Prefer using `structuredClone` to create a deep clone.
4826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-structured-clone.md
4953
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-structured-clone.md
4827
4954
  */
4828
4955
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
4829
4956
  /**
4830
4957
  * Prefer `switch` over multiple `else-if`.
4831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-switch.md
4958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-switch.md
4832
4959
  */
4833
4960
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
4834
4961
  /**
4835
4962
  * Prefer ternary expressions over simple `if-else` statements.
4836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-ternary.md
4963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-ternary.md
4837
4964
  */
4838
4965
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
4839
4966
  /**
4840
4967
  * Prefer top-level await over top-level promises and async function calls.
4841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-top-level-await.md
4968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-top-level-await.md
4842
4969
  */
4843
4970
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
4844
4971
  /**
4845
4972
  * Enforce throwing `TypeError` in type checking conditions.
4846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-type-error.md
4973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prefer-type-error.md
4847
4974
  */
4848
4975
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
4849
4976
  /**
4850
4977
  * Prevent abbreviations.
4851
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prevent-abbreviations.md
4978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/prevent-abbreviations.md
4852
4979
  */
4853
4980
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
4854
4981
  /**
4855
4982
  * Enforce consistent relative URL style.
4856
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/relative-url-style.md
4983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/relative-url-style.md
4857
4984
  */
4858
4985
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
4859
4986
  /**
4860
4987
  * Enforce using the separator argument with `Array#join()`.
4861
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/require-array-join-separator.md
4988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/require-array-join-separator.md
4862
4989
  */
4863
4990
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
4864
4991
  /**
4865
4992
  * Enforce using the digits argument with `Number#toFixed()`.
4866
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/require-number-to-fixed-digits-argument.md
4993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/require-number-to-fixed-digits-argument.md
4867
4994
  */
4868
4995
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
4869
4996
  /**
4870
4997
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
4871
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/require-post-message-target-origin.md
4998
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/require-post-message-target-origin.md
4872
4999
  */
4873
5000
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
4874
5001
  /**
4875
5002
  * Enforce better string content.
4876
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/string-content.md
5003
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/string-content.md
4877
5004
  */
4878
5005
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
4879
5006
  /**
4880
5007
  * Enforce consistent brace style for `case` clauses.
4881
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/switch-case-braces.md
5008
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/switch-case-braces.md
4882
5009
  */
4883
5010
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
4884
5011
  /**
4885
5012
  * Fix whitespace-insensitive template indentation.
4886
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/template-indent.md
5013
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/template-indent.md
4887
5014
  */
4888
5015
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
4889
5016
  /**
4890
5017
  * Enforce consistent case for text encoding identifiers.
4891
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/text-encoding-identifier-case.md
5018
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/text-encoding-identifier-case.md
4892
5019
  */
4893
5020
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
4894
5021
  /**
4895
5022
  * Require `new` when creating an error.
4896
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/throw-new-error.md
5023
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v58.0.0/docs/rules/throw-new-error.md
4897
5024
  */
4898
5025
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
4899
5026
  /**
@@ -9190,6 +9317,414 @@ type FunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
9190
9317
  type FunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
9191
9318
  minItems?: number
9192
9319
  })]
9320
+ // ----- functional/functional-parameters -----
9321
+ type FunctionalFunctionalParameters = []|[{
9322
+ ignoreIdentifierPattern?: (string | string[])
9323
+ ignorePrefixSelector?: (string | string[])
9324
+ allowRestParameter?: boolean
9325
+ allowArgumentsKeyword?: boolean
9326
+ enforceParameterCount?: (false | ("atLeastOne" | "exactlyOne") | {
9327
+ count?: ("atLeastOne" | "exactlyOne")
9328
+ ignoreGettersAndSetters?: boolean
9329
+ ignoreLambdaExpression?: boolean
9330
+ ignoreIIFE?: boolean
9331
+ })
9332
+ overrides?: {
9333
+ specifiers?: (({
9334
+ name?: (string | string[])
9335
+ pattern?: (string | string[])
9336
+ ignoreName?: (string | string[])
9337
+ ignorePattern?: (string | string[])
9338
+ from?: "file"
9339
+ path?: string
9340
+ } | {
9341
+ name?: (string | string[])
9342
+ pattern?: (string | string[])
9343
+ ignoreName?: (string | string[])
9344
+ ignorePattern?: (string | string[])
9345
+ from?: "lib"
9346
+ } | {
9347
+ name?: (string | string[])
9348
+ pattern?: (string | string[])
9349
+ ignoreName?: (string | string[])
9350
+ ignorePattern?: (string | string[])
9351
+ from?: "package"
9352
+ package?: string
9353
+ }) | ({
9354
+ name?: (string | string[])
9355
+ pattern?: (string | string[])
9356
+ ignoreName?: (string | string[])
9357
+ ignorePattern?: (string | string[])
9358
+ from?: "file"
9359
+ path?: string
9360
+ } | {
9361
+ name?: (string | string[])
9362
+ pattern?: (string | string[])
9363
+ ignoreName?: (string | string[])
9364
+ ignorePattern?: (string | string[])
9365
+ from?: "lib"
9366
+ } | {
9367
+ name?: (string | string[])
9368
+ pattern?: (string | string[])
9369
+ ignoreName?: (string | string[])
9370
+ ignorePattern?: (string | string[])
9371
+ from?: "package"
9372
+ package?: string
9373
+ })[])
9374
+ options?: {
9375
+ ignoreIdentifierPattern?: (string | string[])
9376
+ ignorePrefixSelector?: (string | string[])
9377
+ allowRestParameter?: boolean
9378
+ allowArgumentsKeyword?: boolean
9379
+ enforceParameterCount?: (false | ("atLeastOne" | "exactlyOne") | {
9380
+ count?: ("atLeastOne" | "exactlyOne")
9381
+ ignoreGettersAndSetters?: boolean
9382
+ ignoreLambdaExpression?: boolean
9383
+ ignoreIIFE?: boolean
9384
+ })
9385
+ }
9386
+ inherit?: boolean
9387
+ disable?: boolean
9388
+ }[]
9389
+ }]
9390
+ // ----- functional/immutable-data -----
9391
+ type FunctionalImmutableData = []|[{
9392
+ ignoreIdentifierPattern?: (string | string[])
9393
+ ignoreAccessorPattern?: (string | string[])
9394
+ ignoreClasses?: (boolean | "fieldsOnly")
9395
+ ignoreMapsAndSets?: boolean
9396
+ ignoreImmediateMutation?: boolean
9397
+ ignoreNonConstDeclarations?: (boolean | {
9398
+ treatParametersAsConst?: boolean
9399
+ })
9400
+ overrides?: {
9401
+ specifiers?: (({
9402
+ name?: (string | string[])
9403
+ pattern?: (string | string[])
9404
+ ignoreName?: (string | string[])
9405
+ ignorePattern?: (string | string[])
9406
+ from?: "file"
9407
+ path?: string
9408
+ } | {
9409
+ name?: (string | string[])
9410
+ pattern?: (string | string[])
9411
+ ignoreName?: (string | string[])
9412
+ ignorePattern?: (string | string[])
9413
+ from?: "lib"
9414
+ } | {
9415
+ name?: (string | string[])
9416
+ pattern?: (string | string[])
9417
+ ignoreName?: (string | string[])
9418
+ ignorePattern?: (string | string[])
9419
+ from?: "package"
9420
+ package?: string
9421
+ }) | ({
9422
+ name?: (string | string[])
9423
+ pattern?: (string | string[])
9424
+ ignoreName?: (string | string[])
9425
+ ignorePattern?: (string | string[])
9426
+ from?: "file"
9427
+ path?: string
9428
+ } | {
9429
+ name?: (string | string[])
9430
+ pattern?: (string | string[])
9431
+ ignoreName?: (string | string[])
9432
+ ignorePattern?: (string | string[])
9433
+ from?: "lib"
9434
+ } | {
9435
+ name?: (string | string[])
9436
+ pattern?: (string | string[])
9437
+ ignoreName?: (string | string[])
9438
+ ignorePattern?: (string | string[])
9439
+ from?: "package"
9440
+ package?: string
9441
+ })[])
9442
+ options?: {
9443
+ ignoreIdentifierPattern?: (string | string[])
9444
+ ignoreAccessorPattern?: (string | string[])
9445
+ ignoreClasses?: (boolean | "fieldsOnly")
9446
+ ignoreMapsAndSets?: boolean
9447
+ ignoreImmediateMutation?: boolean
9448
+ ignoreNonConstDeclarations?: (boolean | {
9449
+ treatParametersAsConst?: boolean
9450
+ })
9451
+ }
9452
+ inherit?: boolean
9453
+ disable?: boolean
9454
+ }[]
9455
+ }]
9456
+ // ----- functional/no-class-inheritance -----
9457
+ type FunctionalNoClassInheritance = []|[{
9458
+ ignoreIdentifierPattern?: (string | string[])
9459
+ ignoreCodePattern?: (string | string[])
9460
+ }]
9461
+ // ----- functional/no-classes -----
9462
+ type FunctionalNoClasses = []|[{
9463
+ ignoreIdentifierPattern?: (string | string[])
9464
+ ignoreCodePattern?: (string | string[])
9465
+ }]
9466
+ // ----- functional/no-conditional-statements -----
9467
+ type FunctionalNoConditionalStatements = []|[{
9468
+ ignoreCodePattern?: (string | string[])
9469
+ allowReturningBranches?: (boolean | "ifExhaustive")
9470
+ }]
9471
+ // ----- functional/no-expression-statements -----
9472
+ type FunctionalNoExpressionStatements = []|[{
9473
+ ignoreCodePattern?: (string | string[])
9474
+ ignoreVoid?: boolean
9475
+ ignoreSelfReturning?: boolean
9476
+ }]
9477
+ // ----- functional/no-let -----
9478
+ type FunctionalNoLet = []|[{
9479
+ ignoreIdentifierPattern?: (string | string[])
9480
+ allowInForLoopInit?: boolean
9481
+ allowInFunctions?: boolean
9482
+ }]
9483
+ // ----- functional/no-mixed-types -----
9484
+ type FunctionalNoMixedTypes = []|[{
9485
+ checkInterfaces?: boolean
9486
+ checkTypeLiterals?: boolean
9487
+ }]
9488
+ // ----- functional/no-return-void -----
9489
+ type FunctionalNoReturnVoid = []|[{
9490
+ allowNull?: boolean
9491
+ allowUndefined?: boolean
9492
+ ignoreInferredTypes?: boolean
9493
+ }]
9494
+ // ----- functional/no-throw-statements -----
9495
+ type FunctionalNoThrowStatements = []|[{
9496
+ allowToRejectPromises?: boolean
9497
+ }]
9498
+ // ----- functional/no-try-statements -----
9499
+ type FunctionalNoTryStatements = []|[{
9500
+ allowCatch?: boolean
9501
+ allowFinally?: boolean
9502
+ }]
9503
+ // ----- functional/prefer-immutable-types -----
9504
+ type FunctionalPreferImmutableTypes = []|[{
9505
+ ignoreClasses?: (boolean | "fieldsOnly")
9506
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9507
+ ignoreInferredTypes?: boolean
9508
+ ignoreNamePattern?: (string | string[])
9509
+ ignoreTypePattern?: (string | string[])
9510
+ parameters?: ({
9511
+ ignoreClasses?: (boolean | "fieldsOnly")
9512
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9513
+ ignoreInferredTypes?: boolean
9514
+ ignoreNamePattern?: (string | string[])
9515
+ ignoreTypePattern?: (string | string[])
9516
+ } | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)))
9517
+ returnTypes?: ({
9518
+ ignoreClasses?: (boolean | "fieldsOnly")
9519
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9520
+ ignoreInferredTypes?: boolean
9521
+ ignoreNamePattern?: (string | string[])
9522
+ ignoreTypePattern?: (string | string[])
9523
+ } | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)))
9524
+ variables?: ({
9525
+ ignoreClasses?: (boolean | "fieldsOnly")
9526
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9527
+ ignoreInferredTypes?: boolean
9528
+ ignoreNamePattern?: (string | string[])
9529
+ ignoreTypePattern?: (string | string[])
9530
+ ignoreInFunctions?: boolean
9531
+ } | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)))
9532
+ fixer?: {
9533
+ ReadonlyShallow?: ({
9534
+ pattern?: string
9535
+ replace?: string
9536
+ } | {
9537
+ pattern?: string
9538
+ replace?: string
9539
+ }[])
9540
+ ReadonlyDeep?: ({
9541
+ pattern?: string
9542
+ replace?: string
9543
+ } | {
9544
+ pattern?: string
9545
+ replace?: string
9546
+ }[])
9547
+ Immutable?: ({
9548
+ pattern?: string
9549
+ replace?: string
9550
+ } | {
9551
+ pattern?: string
9552
+ replace?: string
9553
+ }[])
9554
+ }
9555
+ suggestions?: {
9556
+ ReadonlyShallow?: {
9557
+ pattern?: string
9558
+ replace?: string
9559
+ message?: string
9560
+ }[][]
9561
+ ReadonlyDeep?: {
9562
+ pattern?: string
9563
+ replace?: string
9564
+ message?: string
9565
+ }[][]
9566
+ Immutable?: {
9567
+ pattern?: string
9568
+ replace?: string
9569
+ message?: string
9570
+ }[][]
9571
+ }
9572
+ overrides?: {
9573
+ specifiers?: (({
9574
+ name?: (string | string[])
9575
+ pattern?: (string | string[])
9576
+ ignoreName?: (string | string[])
9577
+ ignorePattern?: (string | string[])
9578
+ from?: "file"
9579
+ path?: string
9580
+ } | {
9581
+ name?: (string | string[])
9582
+ pattern?: (string | string[])
9583
+ ignoreName?: (string | string[])
9584
+ ignorePattern?: (string | string[])
9585
+ from?: "lib"
9586
+ } | {
9587
+ name?: (string | string[])
9588
+ pattern?: (string | string[])
9589
+ ignoreName?: (string | string[])
9590
+ ignorePattern?: (string | string[])
9591
+ from?: "package"
9592
+ package?: string
9593
+ }) | ({
9594
+ name?: (string | string[])
9595
+ pattern?: (string | string[])
9596
+ ignoreName?: (string | string[])
9597
+ ignorePattern?: (string | string[])
9598
+ from?: "file"
9599
+ path?: string
9600
+ } | {
9601
+ name?: (string | string[])
9602
+ pattern?: (string | string[])
9603
+ ignoreName?: (string | string[])
9604
+ ignorePattern?: (string | string[])
9605
+ from?: "lib"
9606
+ } | {
9607
+ name?: (string | string[])
9608
+ pattern?: (string | string[])
9609
+ ignoreName?: (string | string[])
9610
+ ignorePattern?: (string | string[])
9611
+ from?: "package"
9612
+ package?: string
9613
+ })[])
9614
+ options?: {
9615
+ ignoreClasses?: (boolean | "fieldsOnly")
9616
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9617
+ ignoreInferredTypes?: boolean
9618
+ ignoreNamePattern?: (string | string[])
9619
+ ignoreTypePattern?: (string | string[])
9620
+ parameters?: ({
9621
+ ignoreClasses?: (boolean | "fieldsOnly")
9622
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9623
+ ignoreInferredTypes?: boolean
9624
+ ignoreNamePattern?: (string | string[])
9625
+ ignoreTypePattern?: (string | string[])
9626
+ } | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)))
9627
+ returnTypes?: ({
9628
+ ignoreClasses?: (boolean | "fieldsOnly")
9629
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9630
+ ignoreInferredTypes?: boolean
9631
+ ignoreNamePattern?: (string | string[])
9632
+ ignoreTypePattern?: (string | string[])
9633
+ } | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)))
9634
+ variables?: ({
9635
+ ignoreClasses?: (boolean | "fieldsOnly")
9636
+ enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false))
9637
+ ignoreInferredTypes?: boolean
9638
+ ignoreNamePattern?: (string | string[])
9639
+ ignoreTypePattern?: (string | string[])
9640
+ ignoreInFunctions?: boolean
9641
+ } | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)))
9642
+ fixer?: {
9643
+ ReadonlyShallow?: ({
9644
+ pattern?: string
9645
+ replace?: string
9646
+ } | {
9647
+ pattern?: string
9648
+ replace?: string
9649
+ }[])
9650
+ ReadonlyDeep?: ({
9651
+ pattern?: string
9652
+ replace?: string
9653
+ } | {
9654
+ pattern?: string
9655
+ replace?: string
9656
+ }[])
9657
+ Immutable?: ({
9658
+ pattern?: string
9659
+ replace?: string
9660
+ } | {
9661
+ pattern?: string
9662
+ replace?: string
9663
+ }[])
9664
+ }
9665
+ suggestions?: {
9666
+ ReadonlyShallow?: {
9667
+ pattern?: string
9668
+ replace?: string
9669
+ message?: string
9670
+ }[][]
9671
+ ReadonlyDeep?: {
9672
+ pattern?: string
9673
+ replace?: string
9674
+ message?: string
9675
+ }[][]
9676
+ Immutable?: {
9677
+ pattern?: string
9678
+ replace?: string
9679
+ message?: string
9680
+ }[][]
9681
+ }
9682
+ }
9683
+ inherit?: boolean
9684
+ disable?: boolean
9685
+ }[]
9686
+ }]
9687
+ // ----- functional/prefer-property-signatures -----
9688
+ type FunctionalPreferPropertySignatures = []|[{
9689
+ ignoreIfReadonlyWrapped?: boolean
9690
+ }]
9691
+ // ----- functional/prefer-readonly-type -----
9692
+ type FunctionalPreferReadonlyType = []|[{
9693
+ allowLocalMutation?: boolean
9694
+ ignorePattern?: (string | string[])
9695
+ ignoreClass?: (boolean | "fieldsOnly")
9696
+ ignoreInterface?: boolean
9697
+ allowMutableReturnType?: boolean
9698
+ checkImplicit?: boolean
9699
+ ignoreCollections?: boolean
9700
+ }]
9701
+ // ----- functional/prefer-tacit -----
9702
+ type FunctionalPreferTacit = []|[{
9703
+ checkMemberExpressions?: boolean
9704
+ }]
9705
+ // ----- functional/readonly-type -----
9706
+ type FunctionalReadonlyType = []|[("generic" | "keyword")]
9707
+ // ----- functional/type-declaration-immutability -----
9708
+ type FunctionalTypeDeclarationImmutability = []|[{
9709
+ ignoreIdentifierPattern?: (string | string[])
9710
+ rules?: {
9711
+ identifiers: (string | string[])
9712
+ immutability: (("Mutable" | "ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 2 | 3 | 4 | 5 | null | "Calculating") | ("Mutable" | "ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 2 | 3 | 4 | 5 | null | "Calculating"))
9713
+ comparator?: (("Exactly" | "AtLeast" | "More" | -2 | "Less" | -1 | "AtMost" | 0 | 1 | 2) | ("Exactly" | "AtLeast" | "More" | -2 | "Less" | -1 | "AtMost" | 0 | 1 | 2))
9714
+ fixer?: (false | {
9715
+ pattern?: string
9716
+ replace?: string
9717
+ } | {
9718
+ pattern?: string
9719
+ replace?: string
9720
+ }[])
9721
+ suggestions?: (false | {
9722
+ pattern?: string
9723
+ replace?: string
9724
+ }[])
9725
+ }[]
9726
+ ignoreInterfaces?: boolean
9727
+ }]
9193
9728
  // ----- generator-star-spacing -----
9194
9729
  type GeneratorStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
9195
9730
  before?: boolean
@@ -9457,6 +9992,17 @@ type ImportXOrder = []|[{
9457
9992
  position?: ("after" | "before")
9458
9993
  }[]
9459
9994
  "newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
9995
+ "newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
9996
+ consolidateIslands?: ("inside-groups" | "never")
9997
+ sortTypesGroup?: boolean
9998
+ named?: (boolean | {
9999
+ enabled?: boolean
10000
+ import?: boolean
10001
+ export?: boolean
10002
+ require?: boolean
10003
+ cjsExports?: boolean
10004
+ types?: ("mixed" | "types-first" | "types-last")
10005
+ })
9460
10006
  alphabetize?: {
9461
10007
  caseInsensitive?: boolean
9462
10008
  order?: ("ignore" | "asc" | "desc")
@@ -13585,6 +14131,8 @@ type UnicornCatchErrorName = []|[{
13585
14131
  type UnicornConsistentFunctionScoping = []|[{
13586
14132
  checkArrowFunctions?: boolean
13587
14133
  }]
14134
+ // ----- unicorn/escape-case -----
14135
+ type UnicornEscapeCase = []|[("uppercase" | "lowercase")]
13588
14136
  // ----- unicorn/expiring-todo-comments -----
13589
14137
  type UnicornExpiringTodoComments = []|[{
13590
14138
  terms?: string[]
@@ -13669,6 +14217,10 @@ type UnicornNoUselessUndefined = []|[{
13669
14217
  checkArguments?: boolean
13670
14218
  checkArrowFunctionBody?: boolean
13671
14219
  }]
14220
+ // ----- unicorn/number-literal-case -----
14221
+ type UnicornNumberLiteralCase = []|[{
14222
+ hexadecimalValue?: ("uppercase" | "lowercase")
14223
+ }]
13672
14224
  // ----- unicorn/numeric-separators-style -----
13673
14225
  type UnicornNumericSeparatorsStyle = []|[{
13674
14226
  binary?: {
@@ -15327,7 +15879,8 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
15327
15879
  type ConfigNames = 'moso/eslint-comments/rules' | 'moso/imports/rules' | 'moso/javascript/setup' | 'moso/javascript/rules' | 'moso/jsx/setup' | 'moso/jsdoc/rules' | 'moso/jsonc/setup' | 'moso/jsonc/rules' | 'moso/node/rules' | 'moso/perfectionist/setup' | 'moso/react/setup' | 'moso/react/rules' | 'moso/sort/package-json' | 'moso/stylistic/rules' | 'moso/test/setup' | 'moso/test/rules' | 'moso/typescript/setup' | 'moso/typescript/parser' | 'moso/typescript/rules' | 'moso/typescript/disables/dts' | 'moso/typescript/disables/test' | 'moso/typescript/disables/cjs' | 'moso/unicorn/rules' | 'moso/vue/setup' | 'moso/vue/rules' | 'moso/yaml/setup' | 'moso/yaml/rules'
15328
15880
 
15329
15881
  type Awaitable<T> = T | Promise<T>;
15330
- type Rules = RuleOptions;
15882
+ interface Rules extends RuleOptions {
15883
+ }
15331
15884
 
15332
15885
  type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, 'plugins'> & {
15333
15886
  /**
@@ -15533,6 +16086,13 @@ interface OptionsConfig extends OptionsComponentExts {
15533
16086
 
15534
16087
  /**
15535
16088
  * Construct an array of ESLint flat config items.
16089
+ *
16090
+ * @param {OptionsConfig & TypedFlatConfigItem} options
16091
+ * Options for generating the ESLint configurations
16092
+ * @param {Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[]>[]} userConfigs
16093
+ * User configurations to be merged with the generated configurations
16094
+ * @returns {Promise<TypedFlatConfigItem[]>}
16095
+ * The merged ESLint configurations
15536
16096
  */
15537
16097
  declare const moso: (options?: OptionsConfig & Omit<TypedFlatConfigItem, "files">, ...userConfigs: Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[] | FlatConfigComposer<any, any> | Linter.Config[]>[]) => FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
15538
16098
 
@@ -15587,7 +16147,10 @@ declare const stylistic: (options?: StylisticOptions) => Promise<TypedFlatConfig
15587
16147
 
15588
16148
  declare const test: (options?: OptionsFiles & OptionsIsInEditor & OptionsOverrides) => Promise<TypedFlatConfigItem[]>;
15589
16149
 
15590
- declare const typescript: (options?: OptionsFiles & OptionsComponentExts & OptionsOverrides & OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions) => Promise<TypedFlatConfigItem[]>;
16150
+ interface TypeScriptOptions extends OptionsOverrides {
16151
+ lessOpinionated?: boolean;
16152
+ }
16153
+ declare const typescript: (options?: OptionsFiles & OptionsComponentExts & TypeScriptOptions & OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions) => Promise<TypedFlatConfigItem[]>;
15591
16154
 
15592
16155
  declare const unicorn: (options?: OptionsUnicorn) => Promise<TypedFlatConfigItem[]>;
15593
16156
 
@@ -15645,8 +16208,8 @@ declare const interopDefault: <T>(r: Awaitable<T>) => Promise<T extends {
15645
16208
  } ? U : T>;
15646
16209
  type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
15647
16210
  declare const resolveSubOptions: <K extends keyof OptionsConfig>(options: OptionsConfig, key: K) => ResolvedOptions<OptionsConfig[K]>;
15648
- declare const getOverrides: <K extends keyof OptionsConfig>(options: OptionsConfig, key: K) => any;
16211
+ declare const getOverrides: <K extends keyof OptionsConfig>(options: OptionsConfig, key: K) => Partial<Linter.RulesRecord & RuleOptions>;
15649
16212
  declare const isInGitHooksOrLintStaged: () => boolean;
15650
16213
  declare const isInEditorEnv: () => boolean;
15651
16214
 
15652
- export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_SRC, GLOB_SRC_EXT, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScript, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsUnicorn, type OptionsVue, type PerfectionistOptions, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TypedFlatConfigItem, combine, comments, moso as default, disables, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, jsx, moso, node, parserPlain, perfectionist, react, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, test, toArray, typescript, unicorn, vue, yaml };
16215
+ export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_SRC, GLOB_SRC_EXT, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScript, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsUnicorn, type OptionsVue, type PerfectionistOptions, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TypeScriptOptions, type TypedFlatConfigItem, combine, comments, moso as default, disables, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, jsx, moso, node, parserPlain, perfectionist, react, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, test, toArray, typescript, unicorn, vue, yaml };