@yunarch/config-web 0.5.7 → 0.5.8

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.
@@ -8,21 +8,6 @@ import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
8
8
 
9
9
 
10
10
  interface RuleOptions {
11
- /**
12
- * Enforces explicit boolean values for boolean attributes.
13
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
14
- */
15
- '@eslint-react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>
16
- /**
17
- * Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax.
18
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
19
- */
20
- '@eslint-react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
21
- /**
22
- * Disallow `children` in void DOM elements.
23
- * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
24
- */
25
- '@eslint-react/dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
26
11
  /**
27
12
  * Disallow `dangerouslySetInnerHTML`.
28
13
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
@@ -54,7 +39,7 @@ interface RuleOptions {
54
39
  */
55
40
  '@eslint-react/dom/no-missing-button-type'?: Linter.RuleEntry<[]>
56
41
  /**
57
- * Enforces explicit `sandbox` attribute for `iframe` elements.
42
+ * Enforces explicit `sandbox` prop for `iframe` elements.
58
43
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
59
44
  */
60
45
  '@eslint-react/dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
@@ -78,6 +63,11 @@ interface RuleOptions {
78
63
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
79
64
  */
80
65
  '@eslint-react/dom/no-script-url'?: Linter.RuleEntry<[]>
66
+ /**
67
+ * Disallows the use of string style prop.
68
+ * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
69
+ */
70
+ '@eslint-react/dom/no-string-style-prop'?: Linter.RuleEntry<[]>
81
71
  /**
82
72
  * Disallow unknown `DOM` property.
83
73
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
@@ -104,70 +94,25 @@ interface RuleOptions {
104
94
  */
105
95
  '@eslint-react/dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
106
96
  /**
107
- * Disallow useless `forwardRef` calls on components that don't use `ref`s.
108
- * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
109
- */
110
- '@eslint-react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
111
- /**
112
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
113
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
114
- */
115
- '@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
116
- /**
117
- * Disallow unnecessary usage of `useCallback`.
118
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
119
- */
120
- '@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
121
- /**
122
- * Disallow unnecessary usage of `useMemo`.
123
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
97
+ * Enforces React Dom is imported via a namespace import.
98
+ * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
124
99
  */
125
- '@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
100
+ '@eslint-react/dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
126
101
  /**
127
102
  * Disallow direct calls to the `set` function of `useState` in `useEffect`.
128
103
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
129
104
  */
130
105
  '@eslint-react/hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
131
106
  /**
132
- * Disallow direct calls to the `set` function of `useState` in `useLayoutEffect`.
133
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
134
- */
135
- '@eslint-react/hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
136
- /**
137
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
138
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
139
- */
140
- '@eslint-react/hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
141
- /**
142
- * Disallow unnecessary usage of `useCallback`.
143
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
144
- */
145
- '@eslint-react/hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
146
- /**
147
- * Disallow unnecessary usage of `useMemo`.
148
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
149
- */
150
- '@eslint-react/hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
151
- /**
152
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
153
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
154
- */
155
- '@eslint-react/hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
156
- /**
157
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
158
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
159
- */
160
- '@eslint-react/hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
161
- /**
162
- * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
163
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
164
- */
165
- '@eslint-react/hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
166
- /**
167
- * Enforces that the 'key' attribute is placed before the spread attribute in JSX elements.
107
+ * Enforces that the 'key' prop is placed before the spread prop in JSX elements.
168
108
  * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
169
109
  */
170
110
  '@eslint-react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
111
+ /**
112
+ * Prevents comments from being inserted as text nodes.
113
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
114
+ */
115
+ '@eslint-react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
171
116
  /**
172
117
  * Disallow duplicate props in JSX elements.
173
118
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
@@ -183,6 +128,16 @@ interface RuleOptions {
183
128
  * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
184
129
  */
185
130
  '@eslint-react/jsx-no-undef'?: Linter.RuleEntry<[]>
131
+ /**
132
+ * Enforces shorthand syntax for boolean attributes.
133
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
134
+ */
135
+ '@eslint-react/jsx-shorthand-boolean'?: Linter.RuleEntry<EslintReactJsxShorthandBoolean>
136
+ /**
137
+ * Enforces shorthand syntax for fragments.
138
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
139
+ */
140
+ '@eslint-react/jsx-shorthand-fragment'?: Linter.RuleEntry<EslintReactJsxShorthandFragment>
186
141
  /**
187
142
  * Marks React variables as used when JSX is used.
188
143
  * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
@@ -268,21 +223,6 @@ interface RuleOptions {
268
223
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
269
224
  */
270
225
  '@eslint-react/no-clone-element'?: Linter.RuleEntry<[]>
271
- /**
272
- * Prevents comments from being inserted as text nodes.
273
- * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
274
- */
275
- '@eslint-react/no-comment-textnodes'?: Linter.RuleEntry<[]>
276
- /**
277
- * Disallow complex conditional rendering in JSX expressions.
278
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
279
- */
280
- '@eslint-react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
281
- /**
282
- * Disallow complex conditional rendering in JSX expressions.
283
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
284
- */
285
- '@eslint-react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
286
226
  /**
287
227
  * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
288
228
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
@@ -318,16 +258,16 @@ interface RuleOptions {
318
258
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
319
259
  */
320
260
  '@eslint-react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
321
- /**
322
- * Disallow duplicate props in JSX elements.
323
- * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
324
- */
325
- '@eslint-react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>
326
261
  /**
327
262
  * Disallow duplicate `key` on elements in the same array or a list of `children`.
328
263
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
329
264
  */
330
265
  '@eslint-react/no-duplicate-key'?: Linter.RuleEntry<[]>
266
+ /**
267
+ * Disallow certain props on components.
268
+ * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
269
+ */
270
+ '@eslint-react/no-forbidden-props'?: Linter.RuleEntry<EslintReactNoForbiddenProps>
331
271
  /**
332
272
  * Replaces usages of `forwardRef` with passing `ref` as a prop.
333
273
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
@@ -368,14 +308,9 @@ interface RuleOptions {
368
308
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
369
309
  */
370
310
  '@eslint-react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
371
- /**
372
- * Disallow nesting component definitions inside other components.
373
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
374
- */
375
- '@eslint-react/no-nested-components'?: Linter.RuleEntry<[]>
376
311
  /**
377
312
  * Disallow nesting lazy component declarations inside other components.
378
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
313
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
379
314
  */
380
315
  '@eslint-react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
381
316
  /**
@@ -399,7 +334,7 @@ interface RuleOptions {
399
334
  */
400
335
  '@eslint-react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
401
336
  /**
402
- * Disallows calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
337
+ * Disallow calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
403
338
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
404
339
  */
405
340
  '@eslint-react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
@@ -408,6 +343,26 @@ interface RuleOptions {
408
343
  * @see https://eslint-react.xyz/docs/rules/no-string-refs
409
344
  */
410
345
  '@eslint-react/no-string-refs'?: Linter.RuleEntry<[]>
346
+ /**
347
+ * Prevents the use of unnecessary `key` props on JSX elements when rendering lists.
348
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
349
+ */
350
+ '@eslint-react/no-unnecessary-key'?: Linter.RuleEntry<[]>
351
+ /**
352
+ * Disallow unnecessary usage of `useCallback`.
353
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
354
+ */
355
+ '@eslint-react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
356
+ /**
357
+ * Disallow unnecessary usage of `useMemo`.
358
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
359
+ */
360
+ '@eslint-react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
361
+ /**
362
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
363
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
364
+ */
365
+ '@eslint-react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
411
366
  /**
412
367
  * Warns the usage of `UNSAFE_componentWillMount` in class components.
413
368
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
@@ -438,6 +393,11 @@ interface RuleOptions {
438
393
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
439
394
  */
440
395
  '@eslint-react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
396
+ /**
397
+ * Warns component props that are defined but never used.
398
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
399
+ */
400
+ '@eslint-react/no-unused-props'?: Linter.RuleEntry<[]>
441
401
  /**
442
402
  * Warns unused class component state.
443
403
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
@@ -465,29 +425,19 @@ interface RuleOptions {
465
425
  '@eslint-react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
466
426
  /**
467
427
  * Enforces React is imported via a namespace import.
468
- * @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
428
+ * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
469
429
  */
470
- '@eslint-react/prefer-react-namespace-import'?: Linter.RuleEntry<[]>
430
+ '@eslint-react/prefer-namespace-import'?: Linter.RuleEntry<[]>
471
431
  /**
472
432
  * Enforces read-only props in components.
473
433
  * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
474
434
  */
475
435
  '@eslint-react/prefer-read-only-props'?: Linter.RuleEntry<[]>
476
436
  /**
477
- * Enforces shorthand syntax for boolean attributes.
478
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
479
- */
480
- '@eslint-react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
481
- /**
482
- * Enforces shorthand syntax for fragments.
483
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
484
- */
485
- '@eslint-react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
486
- /**
487
- * Marks variables used in JSX elements as used.
488
- * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
437
+ * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
438
+ * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
489
439
  */
490
- '@eslint-react/use-jsx-vars'?: Linter.RuleEntry<[]>
440
+ '@eslint-react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
491
441
  /**
492
442
  * Prevents leaked `addEventListener` in a component or custom Hook.
493
443
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
@@ -970,7 +920,7 @@ interface RuleOptions {
970
920
  * Disallow member access on a value with type `any`
971
921
  * @see https://typescript-eslint.io/rules/no-unsafe-member-access
972
922
  */
973
- '@typescript-eslint/no-unsafe-member-access'?: Linter.RuleEntry<[]>
923
+ '@typescript-eslint/no-unsafe-member-access'?: Linter.RuleEntry<TypescriptEslintNoUnsafeMemberAccess>
974
924
  /**
975
925
  * Disallow returning a value with type `any` from a function
976
926
  * @see https://typescript-eslint.io/rules/no-unsafe-return
@@ -1739,9 +1689,9 @@ interface RuleOptions {
1739
1689
  * Reports invalid alignment of JSDoc block asterisks.
1740
1690
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
1741
1691
  */
1742
- 'jsdoc/check-alignment'?: Linter.RuleEntry<[]>
1692
+ 'jsdoc/check-alignment'?: Linter.RuleEntry<JsdocCheckAlignment>
1743
1693
  /**
1744
- * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
1694
+ * @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
1745
1695
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
1746
1696
  */
1747
1697
  'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>
@@ -1756,7 +1706,7 @@ interface RuleOptions {
1756
1706
  */
1757
1707
  'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>
1758
1708
  /**
1759
- * Ensures that parameter names in JSDoc match those in the function declaration.
1709
+ * Checks for dupe `@param` names, that nested param names have roots, and that parameter names in function declarations match JSDoc param names.
1760
1710
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
1761
1711
  */
1762
1712
  'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>
@@ -1781,7 +1731,7 @@ interface RuleOptions {
1781
1731
  */
1782
1732
  'jsdoc/check-template-names'?: Linter.RuleEntry<[]>
1783
1733
  /**
1784
- * Reports invalid types.
1734
+ * Reports types deemed invalid (customizable and with defaults, for preventing and/or recommending replacements).
1785
1735
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
1786
1736
  */
1787
1737
  'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>
@@ -1796,12 +1746,17 @@ interface RuleOptions {
1796
1746
  */
1797
1747
  'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>
1798
1748
  /**
1799
- * Expects specific tags to be empty of any content.
1749
+ * Checks tags that are expected to be empty (e.g., `@abstract` or `@async`), reporting if they have content
1800
1750
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
1801
1751
  */
1802
1752
  'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>
1803
1753
  /**
1804
- * Reports an issue with any non-constructor function using `@implements`.
1754
+ * Reports use of JSDoc tags in non-tag positions (in the default "typescript" mode).
1755
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/escape-inline-tags.md#repos-sticky-header
1756
+ */
1757
+ 'jsdoc/escape-inline-tags'?: Linter.RuleEntry<JsdocEscapeInlineTags>
1758
+ /**
1759
+ * Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
1805
1760
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
1806
1761
  */
1807
1762
  'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>
@@ -1831,17 +1786,17 @@ interface RuleOptions {
1831
1786
  */
1832
1787
  'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>
1833
1788
  /**
1834
- * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
1789
+ * Controls how and whether JSDoc blocks can be expressed as single or multiple line blocks.
1835
1790
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
1836
1791
  */
1837
1792
  'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>
1838
1793
  /**
1839
- * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
1794
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a JSDoc block.
1840
1795
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
1841
1796
  */
1842
1797
  'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>
1843
1798
  /**
1844
- * Detects and removes extra lines of a blank block description
1799
+ * If tags are present, this rule will prevent empty lines in the block description. If no tags are present, this rule will prevent extra empty lines in the block description.
1845
1800
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
1846
1801
  */
1847
1802
  'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>
@@ -1871,22 +1826,37 @@ interface RuleOptions {
1871
1826
  */
1872
1827
  'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>
1873
1828
  /**
1874
- * This rule reports types being used on `@param` or `@returns`.
1829
+ * This rule reports types being used on `@param` or `@returns` (redundant with TypeScript).
1875
1830
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
1876
1831
  */
1877
1832
  'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>
1878
1833
  /**
1879
- * Checks that types in jsdoc comments are defined.
1834
+ * Besides some expected built-in types, prohibits any types not specified as globals or within `@typedef`.
1880
1835
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
1881
1836
  */
1882
1837
  'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>
1838
+ /**
1839
+ * Prefer `@import` tags to inline `import()` statements.
1840
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md#repos-sticky-header
1841
+ */
1842
+ 'jsdoc/prefer-import-tag'?: Linter.RuleEntry<JsdocPreferImportTag>
1843
+ /**
1844
+ * Reports use of `any` or `*` type
1845
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
1846
+ */
1847
+ 'jsdoc/reject-any-type'?: Linter.RuleEntry<[]>
1848
+ /**
1849
+ * Reports use of `Function` type
1850
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header
1851
+ */
1852
+ 'jsdoc/reject-function-type'?: Linter.RuleEntry<[]>
1883
1853
  /**
1884
1854
  * Requires that each JSDoc line starts with an `*`.
1885
1855
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
1886
1856
  */
1887
1857
  'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>
1888
1858
  /**
1889
- * Requires that all functions have a description.
1859
+ * Requires that all functions (and potentially other contexts) have a description.
1890
1860
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
1891
1861
  */
1892
1862
  'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>
@@ -1896,7 +1866,7 @@ interface RuleOptions {
1896
1866
  */
1897
1867
  'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>
1898
1868
  /**
1899
- * Requires that all functions have examples.
1869
+ * Requires that all functions (and potentially other contexts) have examples.
1900
1870
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
1901
1871
  */
1902
1872
  'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>
@@ -1906,17 +1876,27 @@ interface RuleOptions {
1906
1876
  */
1907
1877
  'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>
1908
1878
  /**
1909
- * Requires a hyphen before the `@param` description.
1879
+ * Requires a hyphen before the `@param` description (and optionally before `@property` descriptions).
1910
1880
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
1911
1881
  */
1912
1882
  'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>
1913
1883
  /**
1914
- * Require JSDoc comments
1884
+ * Checks for presence of JSDoc comments, on functions and potentially other contexts (optionally limited to exports).
1915
1885
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
1916
1886
  */
1917
1887
  'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>
1918
1888
  /**
1919
- * Requires that all function parameters are documented.
1889
+ * Requires a description for `@next` tags
1890
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header
1891
+ */
1892
+ 'jsdoc/require-next-description'?: Linter.RuleEntry<[]>
1893
+ /**
1894
+ * Requires a type for `@next` tags
1895
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
1896
+ */
1897
+ 'jsdoc/require-next-type'?: Linter.RuleEntry<[]>
1898
+ /**
1899
+ * Requires that all function parameters are documented with a `@param` tag.
1920
1900
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
1921
1901
  */
1922
1902
  'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>
@@ -1926,12 +1906,12 @@ interface RuleOptions {
1926
1906
  */
1927
1907
  'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>
1928
1908
  /**
1929
- * Requires that all function parameters have names.
1909
+ * Requires that all `@param` tags have names.
1930
1910
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
1931
1911
  */
1932
1912
  'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>
1933
1913
  /**
1934
- * Requires that each `@param` tag has a `type` value.
1914
+ * Requires that each `@param` tag has a type value (in curly brackets).
1935
1915
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
1936
1916
  */
1937
1917
  'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>
@@ -1946,62 +1926,92 @@ interface RuleOptions {
1946
1926
  */
1947
1927
  'jsdoc/require-property-description'?: Linter.RuleEntry<[]>
1948
1928
  /**
1949
- * Requires that all function `@property` tags have names.
1929
+ * Requires that all `@property` tags have names.
1950
1930
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
1951
1931
  */
1952
1932
  'jsdoc/require-property-name'?: Linter.RuleEntry<[]>
1953
1933
  /**
1954
- * Requires that each `@property` tag has a `type` value.
1934
+ * Requires that each `@property` tag has a type value (in curly brackets).
1955
1935
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
1956
1936
  */
1957
1937
  'jsdoc/require-property-type'?: Linter.RuleEntry<[]>
1958
1938
  /**
1959
- * Requires that returns are documented.
1939
+ * Requires that returns are documented with `@returns`.
1960
1940
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
1961
1941
  */
1962
1942
  'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>
1963
1943
  /**
1964
- * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
1944
+ * Requires a return statement in function body if a `@returns` tag is specified in JSDoc comment(and reports if multiple `@returns` tags are present).
1965
1945
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
1966
1946
  */
1967
1947
  'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>
1968
1948
  /**
1969
- * Requires that the `@returns` tag has a `description` value.
1949
+ * Requires that the `@returns` tag has a `description` value (not including `void`/`undefined` type returns).
1970
1950
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
1971
1951
  */
1972
1952
  'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>
1973
1953
  /**
1974
- * Requires that `@returns` tag has `type` value.
1954
+ * Requires that `@returns` tag has type value (in curly brackets).
1975
1955
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
1976
1956
  */
1977
1957
  'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>
1978
1958
  /**
1979
- * Requires template tags for each generic type parameter
1959
+ * Requires tags be present, optionally for specific contexts
1960
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-tags.md#repos-sticky-header
1961
+ */
1962
+ 'jsdoc/require-tags'?: Linter.RuleEntry<JsdocRequireTags>
1963
+ /**
1964
+ * Requires `@template` tags be present when type parameters are used.
1980
1965
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
1981
1966
  */
1982
1967
  'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>
1983
1968
  /**
1984
- * Requires that throw statements are documented.
1969
+ * Requires a description for `@template` tags
1970
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header
1971
+ */
1972
+ 'jsdoc/require-template-description'?: Linter.RuleEntry<[]>
1973
+ /**
1974
+ * Requires that throw statements are documented with `@throws` tags.
1985
1975
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
1986
1976
  */
1987
1977
  'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>
1988
1978
  /**
1989
- * Requires yields are documented.
1979
+ * Requires a description for `@throws` tags
1980
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header
1981
+ */
1982
+ 'jsdoc/require-throws-description'?: Linter.RuleEntry<[]>
1983
+ /**
1984
+ * Requires a type for `@throws` tags
1985
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
1986
+ */
1987
+ 'jsdoc/require-throws-type'?: Linter.RuleEntry<[]>
1988
+ /**
1989
+ * Requires yields are documented with `@yields` tags.
1990
1990
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
1991
1991
  */
1992
1992
  'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>
1993
1993
  /**
1994
- * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
1994
+ * Ensures that if a `@yields` is present that a `yield` (or `yield` with a value) is present in the function body (or that if a `@next` is present that there is a yield with a return value present).
1995
1995
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
1996
1996
  */
1997
1997
  'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>
1998
1998
  /**
1999
- * Sorts tags by a specified sequence according to tag name.
1999
+ * Requires a description for `@yields` tags
2000
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header
2001
+ */
2002
+ 'jsdoc/require-yields-description'?: Linter.RuleEntry<[]>
2003
+ /**
2004
+ * Requires a type for `@yields` tags
2005
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
2006
+ */
2007
+ 'jsdoc/require-yields-type'?: Linter.RuleEntry<[]>
2008
+ /**
2009
+ * Sorts tags by a specified sequence according to tag name, optionally adding line breaks between tag groups.
2000
2010
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
2001
2011
  */
2002
2012
  'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>
2003
2013
  /**
2004
- * Enforces lines (or no lines) between tags.
2014
+ * Enforces lines (or no lines) before, after, or between tags.
2005
2015
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
2006
2016
  */
2007
2017
  'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>
@@ -2011,7 +2021,32 @@ interface RuleOptions {
2011
2021
  */
2012
2022
  'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>
2013
2023
  /**
2014
- * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
2024
+ * Prefers either function properties or method signatures
2025
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
2026
+ */
2027
+ 'jsdoc/ts-method-signature-style'?: Linter.RuleEntry<JsdocTsMethodSignatureStyle>
2028
+ /**
2029
+ * Warns against use of the empty object type
2030
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md#repos-sticky-header
2031
+ */
2032
+ 'jsdoc/ts-no-empty-object-type'?: Linter.RuleEntry<[]>
2033
+ /**
2034
+ * Catches unnecessary template expressions such as string expressions within a template literal.
2035
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-unnecessary-template-expression.md#repos-sticky-header
2036
+ */
2037
+ 'jsdoc/ts-no-unnecessary-template-expression'?: Linter.RuleEntry<JsdocTsNoUnnecessaryTemplateExpression>
2038
+ /**
2039
+ * Prefers function types over call signatures when there are no other properties.
2040
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-prefer-function-type.md#repos-sticky-header
2041
+ */
2042
+ 'jsdoc/ts-prefer-function-type'?: Linter.RuleEntry<JsdocTsPreferFunctionType>
2043
+ /**
2044
+ * Formats JSDoc type values.
2045
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
2046
+ */
2047
+ 'jsdoc/type-formatting'?: Linter.RuleEntry<JsdocTypeFormatting>
2048
+ /**
2049
+ * Requires all types/namepaths to be valid JSDoc, Closure compiler, or TypeScript types (configurable in settings).
2015
2050
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
2016
2051
  */
2017
2052
  'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
@@ -3196,6 +3231,11 @@ interface RuleOptions {
3196
3231
  * @see https://eslint.org/docs/latest/rules/prefer-template
3197
3232
  */
3198
3233
  'prefer-template'?: Linter.RuleEntry<[]>
3234
+ /**
3235
+ * Disallow losing originally caught error when re-throwing custom errors
3236
+ * @see https://eslint.org/docs/latest/rules/preserve-caught-error
3237
+ */
3238
+ 'preserve-caught-error'?: Linter.RuleEntry<PreserveCaughtError>
3199
3239
  /**
3200
3240
  * Require quotes around object literal property names
3201
3241
  * @see https://eslint.org/docs/latest/rules/quote-props
@@ -3213,16 +3253,124 @@ interface RuleOptions {
3213
3253
  * @see https://eslint.org/docs/latest/rules/radix
3214
3254
  */
3215
3255
  'radix'?: Linter.RuleEntry<Radix>
3256
+ /**
3257
+ * Verifies that automatic effect dependencies are compiled if opted-in
3258
+ */
3259
+ 'react-hooks/automatic-effect-dependencies'?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies>
3260
+ /**
3261
+ * Validates against calling capitalized functions/methods instead of using JSX
3262
+ */
3263
+ 'react-hooks/capitalized-calls'?: Linter.RuleEntry<ReactHooksCapitalizedCalls>
3264
+ /**
3265
+ * Validates against higher order functions defining nested components or hooks. Components and hooks should be defined at the module level
3266
+ */
3267
+ 'react-hooks/component-hook-factories'?: Linter.RuleEntry<ReactHooksComponentHookFactories>
3268
+ /**
3269
+ * Validates the compiler configuration options
3270
+ */
3271
+ 'react-hooks/config'?: Linter.RuleEntry<ReactHooksConfig>
3272
+ /**
3273
+ * Validates usage of error boundaries instead of try/catch for errors in child components
3274
+ */
3275
+ 'react-hooks/error-boundaries'?: Linter.RuleEntry<ReactHooksErrorBoundaries>
3216
3276
  /**
3217
3277
  * verifies the list of dependencies for Hooks like useEffect and similar
3218
3278
  * @see https://github.com/facebook/react/issues/14920
3219
3279
  */
3220
3280
  'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
3281
+ /**
3282
+ * Validates usage of fbt
3283
+ */
3284
+ 'react-hooks/fbt'?: Linter.RuleEntry<ReactHooksFbt>
3285
+ /**
3286
+ * Validates usage of `fire`
3287
+ */
3288
+ 'react-hooks/fire'?: Linter.RuleEntry<ReactHooksFire>
3289
+ /**
3290
+ * Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
3291
+ */
3292
+ 'react-hooks/gating'?: Linter.RuleEntry<ReactHooksGating>
3293
+ /**
3294
+ * Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
3295
+ */
3296
+ 'react-hooks/globals'?: Linter.RuleEntry<ReactHooksGlobals>
3297
+ /**
3298
+ * Validates the rules of hooks
3299
+ */
3300
+ 'react-hooks/hooks'?: Linter.RuleEntry<ReactHooksHooks>
3301
+ /**
3302
+ * Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable)
3303
+ */
3304
+ 'react-hooks/immutability'?: Linter.RuleEntry<ReactHooksImmutability>
3305
+ /**
3306
+ * Validates against usage of libraries which are incompatible with memoization (manual or automatic)
3307
+ */
3308
+ 'react-hooks/incompatible-library'?: Linter.RuleEntry<ReactHooksIncompatibleLibrary>
3309
+ /**
3310
+ * Internal invariants
3311
+ */
3312
+ 'react-hooks/invariant'?: Linter.RuleEntry<ReactHooksInvariant>
3313
+ /**
3314
+ * Validates that effect dependencies are memoized
3315
+ */
3316
+ 'react-hooks/memoized-effect-dependencies'?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies>
3317
+ /**
3318
+ * Validates against deriving values from state in an effect
3319
+ */
3320
+ 'react-hooks/no-deriving-state-in-effects'?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects>
3321
+ /**
3322
+ * Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo)
3323
+ */
3324
+ 'react-hooks/preserve-manual-memoization'?: Linter.RuleEntry<ReactHooksPreserveManualMemoization>
3325
+ /**
3326
+ * Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions
3327
+ */
3328
+ 'react-hooks/purity'?: Linter.RuleEntry<ReactHooksPurity>
3329
+ /**
3330
+ * Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
3331
+ */
3332
+ 'react-hooks/refs'?: Linter.RuleEntry<ReactHooksRefs>
3333
+ /**
3334
+ * Validates against suppression of other rules
3335
+ */
3336
+ 'react-hooks/rule-suppression'?: Linter.RuleEntry<ReactHooksRuleSuppression>
3221
3337
  /**
3222
3338
  * enforces the Rules of Hooks
3223
- * @see https://reactjs.org/docs/hooks-rules.html
3339
+ * @see https://react.dev/reference/rules/rules-of-hooks
3340
+ */
3341
+ 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<ReactHooksRulesOfHooks>
3342
+ /**
3343
+ * Validates against calling setState synchronously in an effect, which can lead to re-renders that degrade performance
3344
+ */
3345
+ 'react-hooks/set-state-in-effect'?: Linter.RuleEntry<ReactHooksSetStateInEffect>
3346
+ /**
3347
+ * Validates against setting state during render, which can trigger additional renders and potential infinite render loops
3348
+ */
3349
+ 'react-hooks/set-state-in-render'?: Linter.RuleEntry<ReactHooksSetStateInRender>
3350
+ /**
3351
+ * Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
3352
+ */
3353
+ 'react-hooks/static-components'?: Linter.RuleEntry<ReactHooksStaticComponents>
3354
+ /**
3355
+ * Validates against invalid syntax
3356
+ */
3357
+ 'react-hooks/syntax'?: Linter.RuleEntry<ReactHooksSyntax>
3358
+ /**
3359
+ * Unimplemented features
3360
+ */
3361
+ 'react-hooks/todo'?: Linter.RuleEntry<ReactHooksTodo>
3362
+ /**
3363
+ * Validates against syntax that we do not plan to support in React Compiler
3224
3364
  */
3225
- 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
3365
+ 'react-hooks/unsupported-syntax'?: Linter.RuleEntry<ReactHooksUnsupportedSyntax>
3366
+ /**
3367
+ * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
3368
+ */
3369
+ 'react-hooks/use-memo'?: Linter.RuleEntry<ReactHooksUseMemo>
3370
+ /**
3371
+ * Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
3372
+ */
3373
+ 'react-hooks/void-use-memo'?: Linter.RuleEntry<ReactHooksVoidUseMemo>
3226
3374
  'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
3227
3375
  /**
3228
3376
  * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
@@ -3354,690 +3502,725 @@ interface RuleOptions {
3354
3502
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
3355
3503
  /**
3356
3504
  * Improve regexes by making them shorter, consistent, and safer.
3357
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
3505
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/better-regex.md
3358
3506
  */
3359
3507
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
3360
3508
  /**
3361
3509
  * Enforce a specific parameter name in catch clauses.
3362
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
3510
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/catch-error-name.md
3363
3511
  */
3364
3512
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
3365
3513
  /**
3366
3514
  * Enforce consistent assertion style with `node:assert`.
3367
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
3515
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-assert.md
3368
3516
  */
3369
3517
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
3370
3518
  /**
3371
3519
  * Prefer passing `Date` directly to the constructor when cloning.
3372
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
3520
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-date-clone.md
3373
3521
  */
3374
3522
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
3375
3523
  /**
3376
3524
  * Use destructured variables over properties.
3377
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
3525
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-destructuring.md
3378
3526
  */
3379
3527
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
3380
3528
  /**
3381
3529
  * Prefer consistent types when spreading a ternary in an array literal.
3382
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
3530
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-empty-array-spread.md
3383
3531
  */
3384
3532
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
3385
3533
  /**
3386
3534
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
3387
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
3535
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-existence-index-check.md
3388
3536
  */
3389
3537
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
3390
3538
  /**
3391
3539
  * Move function definitions to the highest possible scope.
3392
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
3540
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-function-scoping.md
3393
3541
  */
3394
3542
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
3395
3543
  /**
3396
3544
  * Enforce correct `Error` subclassing.
3397
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
3545
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/custom-error-definition.md
3398
3546
  */
3399
3547
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
3400
3548
  /**
3401
3549
  * Enforce no spaces between braces.
3402
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
3550
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/empty-brace-spaces.md
3403
3551
  */
3404
3552
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
3405
3553
  /**
3406
3554
  * Enforce passing a `message` value when creating a built-in error.
3407
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
3555
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/error-message.md
3408
3556
  */
3409
3557
  'unicorn/error-message'?: Linter.RuleEntry<[]>
3410
3558
  /**
3411
3559
  * Require escape sequences to use uppercase or lowercase values.
3412
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
3560
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/escape-case.md
3413
3561
  */
3414
3562
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
3415
3563
  /**
3416
3564
  * Add expiration conditions to TODO comments.
3417
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
3565
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/expiring-todo-comments.md
3418
3566
  */
3419
3567
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
3420
3568
  /**
3421
3569
  * Enforce explicitly comparing the `length` or `size` property of a value.
3422
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
3570
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/explicit-length-check.md
3423
3571
  */
3424
3572
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
3425
3573
  /**
3426
3574
  * Enforce a case style for filenames.
3427
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
3575
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/filename-case.md
3428
3576
  */
3429
3577
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
3430
3578
  /**
3431
3579
  * Enforce specific import styles per module.
3432
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
3580
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/import-style.md
3433
3581
  */
3434
3582
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
3435
3583
  /**
3436
3584
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
3437
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
3585
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/new-for-builtins.md
3438
3586
  */
3439
3587
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
3440
3588
  /**
3441
3589
  * Enforce specifying rules to disable in `eslint-disable` comments.
3442
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
3590
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-abusive-eslint-disable.md
3443
3591
  */
3444
3592
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
3445
3593
  /**
3446
3594
  * Disallow recursive access to `this` within getters and setters.
3447
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
3595
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-accessor-recursion.md
3448
3596
  */
3449
3597
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
3450
3598
  /**
3451
3599
  * Disallow anonymous functions and classes as the default export.
3452
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
3600
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-anonymous-default-export.md
3453
3601
  */
3454
3602
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
3455
3603
  /**
3456
3604
  * Prevent passing a function reference directly to iterator methods.
3457
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
3605
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-callback-reference.md
3458
3606
  */
3459
3607
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
3460
3608
  /**
3461
3609
  * Prefer `for…of` over the `forEach` method.
3462
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
3610
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-for-each.md
3463
3611
  */
3464
3612
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
3465
3613
  /**
3466
3614
  * Disallow using the `this` argument in array methods.
3467
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
3615
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-method-this-argument.md
3468
3616
  */
3469
3617
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
3470
3618
  /**
3471
3619
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
3472
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
3620
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-array-push-push
3473
3621
  * @deprecated
3474
3622
  */
3475
3623
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
3476
3624
  /**
3477
3625
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
3478
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
3626
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-reduce.md
3479
3627
  */
3480
3628
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
3481
3629
  /**
3482
3630
  * Prefer `Array#toReversed()` over `Array#reverse()`.
3483
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
3631
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-reverse.md
3484
3632
  */
3485
3633
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
3634
+ /**
3635
+ * Prefer `Array#toSorted()` over `Array#sort()`.
3636
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-sort.md
3637
+ */
3638
+ 'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>
3486
3639
  /**
3487
3640
  * Disallow member access from await expression.
3488
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
3641
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-await-expression-member.md
3489
3642
  */
3490
3643
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
3491
3644
  /**
3492
3645
  * Disallow using `await` in `Promise` method parameters.
3493
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
3646
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-await-in-promise-methods.md
3494
3647
  */
3495
3648
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
3496
3649
  /**
3497
3650
  * Do not use leading/trailing space between `console.log` parameters.
3498
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
3651
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-console-spaces.md
3499
3652
  */
3500
3653
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
3501
3654
  /**
3502
3655
  * Do not use `document.cookie` directly.
3503
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
3656
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-document-cookie.md
3504
3657
  */
3505
3658
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
3506
3659
  /**
3507
3660
  * Disallow empty files.
3508
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
3661
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-empty-file.md
3509
3662
  */
3510
3663
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
3511
3664
  /**
3512
3665
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
3513
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
3666
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-for-loop.md
3514
3667
  */
3515
3668
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
3516
3669
  /**
3517
3670
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
3518
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
3671
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-hex-escape.md
3519
3672
  */
3520
3673
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
3674
+ /**
3675
+ * Disallow immediate mutation after variable assignment.
3676
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-immediate-mutation.md
3677
+ */
3678
+ 'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>
3521
3679
  /**
3522
3680
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
3523
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
3681
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-instanceof-array
3524
3682
  * @deprecated
3525
3683
  */
3526
3684
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
3527
3685
  /**
3528
3686
  * Disallow `instanceof` with built-in objects
3529
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
3687
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-instanceof-builtins.md
3530
3688
  */
3531
3689
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
3532
3690
  /**
3533
3691
  * Disallow invalid options in `fetch()` and `new Request()`.
3534
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
3692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-invalid-fetch-options.md
3535
3693
  */
3536
3694
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
3537
3695
  /**
3538
3696
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
3539
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
3697
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-invalid-remove-event-listener.md
3540
3698
  */
3541
3699
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
3542
3700
  /**
3543
3701
  * Disallow identifiers starting with `new` or `class`.
3544
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
3702
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-keyword-prefix.md
3545
3703
  */
3546
3704
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
3547
3705
  /**
3548
3706
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
3549
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
3707
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-length-as-slice-end
3550
3708
  * @deprecated
3551
3709
  */
3552
3710
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
3553
3711
  /**
3554
3712
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
3555
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
3713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-lonely-if.md
3556
3714
  */
3557
3715
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
3558
3716
  /**
3559
3717
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
3560
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
3718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-magic-array-flat-depth.md
3561
3719
  */
3562
3720
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
3563
3721
  /**
3564
3722
  * Disallow named usage of default import and export.
3565
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
3723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-named-default.md
3566
3724
  */
3567
3725
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
3568
3726
  /**
3569
3727
  * Disallow negated conditions.
3570
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
3728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-negated-condition.md
3571
3729
  */
3572
3730
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
3573
3731
  /**
3574
3732
  * Disallow negated expression in equality check.
3575
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
3733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-negation-in-equality-check.md
3576
3734
  */
3577
3735
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
3578
3736
  /**
3579
3737
  * Disallow nested ternary expressions.
3580
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
3738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-nested-ternary.md
3581
3739
  */
3582
3740
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
3583
3741
  /**
3584
3742
  * Disallow `new Array()`.
3585
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
3743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-new-array.md
3586
3744
  */
3587
3745
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
3588
3746
  /**
3589
3747
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
3590
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
3748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-new-buffer.md
3591
3749
  */
3592
3750
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
3593
3751
  /**
3594
3752
  * Disallow the use of the `null` literal.
3595
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
3753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-null.md
3596
3754
  */
3597
3755
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
3598
3756
  /**
3599
3757
  * Disallow the use of objects as default parameters.
3600
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
3758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-object-as-default-parameter.md
3601
3759
  */
3602
3760
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
3603
3761
  /**
3604
3762
  * Disallow `process.exit()`.
3605
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
3763
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-process-exit.md
3606
3764
  */
3607
3765
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
3608
3766
  /**
3609
3767
  * Disallow passing single-element arrays to `Promise` methods.
3610
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
3768
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-single-promise-in-promise-methods.md
3611
3769
  */
3612
3770
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
3613
3771
  /**
3614
3772
  * Disallow classes that only have static members.
3615
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
3773
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-static-only-class.md
3616
3774
  */
3617
3775
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
3618
3776
  /**
3619
3777
  * Disallow `then` property.
3620
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
3778
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-thenable.md
3621
3779
  */
3622
3780
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
3623
3781
  /**
3624
3782
  * Disallow assigning `this` to a variable.
3625
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
3783
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-this-assignment.md
3626
3784
  */
3627
3785
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
3628
3786
  /**
3629
3787
  * Disallow comparing `undefined` using `typeof`.
3630
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
3788
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-typeof-undefined.md
3631
3789
  */
3632
3790
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
3633
3791
  /**
3634
3792
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
3635
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
3793
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-array-flat-depth.md
3636
3794
  */
3637
3795
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
3638
3796
  /**
3639
3797
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
3640
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
3798
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-array-splice-count.md
3641
3799
  */
3642
3800
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
3643
3801
  /**
3644
3802
  * Disallow awaiting non-promise values.
3645
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
3803
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-await.md
3646
3804
  */
3647
3805
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
3648
3806
  /**
3649
3807
  * Enforce the use of built-in methods instead of unnecessary polyfills.
3650
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
3808
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-polyfills.md
3651
3809
  */
3652
3810
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
3653
3811
  /**
3654
3812
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
3655
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
3813
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-slice-end.md
3656
3814
  */
3657
3815
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
3658
3816
  /**
3659
3817
  * Disallow unreadable array destructuring.
3660
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
3818
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unreadable-array-destructuring.md
3661
3819
  */
3662
3820
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
3663
3821
  /**
3664
3822
  * Disallow unreadable IIFEs.
3665
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
3823
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unreadable-iife.md
3666
3824
  */
3667
3825
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
3668
3826
  /**
3669
3827
  * Disallow unused object properties.
3670
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
3828
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unused-properties.md
3671
3829
  */
3672
3830
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
3831
+ /**
3832
+ * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
3833
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-collection-argument.md
3834
+ */
3835
+ 'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>
3673
3836
  /**
3674
3837
  * Disallow unnecessary `Error.captureStackTrace(…)`.
3675
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
3838
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-error-capture-stack-trace.md
3676
3839
  */
3677
3840
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
3678
3841
  /**
3679
3842
  * Disallow useless fallback when spreading in object literals.
3680
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
3843
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-fallback-in-spread.md
3681
3844
  */
3682
3845
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
3683
3846
  /**
3684
3847
  * Disallow useless array length check.
3685
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
3848
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-length-check.md
3686
3849
  */
3687
3850
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
3688
3851
  /**
3689
3852
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
3690
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
3853
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-promise-resolve-reject.md
3691
3854
  */
3692
3855
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
3693
3856
  /**
3694
3857
  * Disallow unnecessary spread.
3695
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
3858
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-spread.md
3696
3859
  */
3697
3860
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
3698
3861
  /**
3699
3862
  * Disallow useless case in switch statements.
3700
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
3863
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-switch-case.md
3701
3864
  */
3702
3865
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
3703
3866
  /**
3704
3867
  * Disallow useless `undefined`.
3705
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
3868
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-undefined.md
3706
3869
  */
3707
3870
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
3708
3871
  /**
3709
3872
  * Disallow number literals with zero fractions or dangling dots.
3710
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
3873
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-zero-fractions.md
3711
3874
  */
3712
3875
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
3713
3876
  /**
3714
3877
  * Enforce proper case for numeric literals.
3715
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
3878
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/number-literal-case.md
3716
3879
  */
3717
3880
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
3718
3881
  /**
3719
3882
  * Enforce the style of numeric separators by correctly grouping digits.
3720
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
3883
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/numeric-separators-style.md
3721
3884
  */
3722
3885
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
3723
3886
  /**
3724
3887
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
3725
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
3888
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-add-event-listener.md
3726
3889
  */
3727
3890
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
3728
3891
  /**
3729
3892
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
3730
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
3893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-find.md
3731
3894
  */
3732
3895
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
3733
3896
  /**
3734
3897
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
3735
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
3898
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-flat.md
3736
3899
  */
3737
3900
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
3738
3901
  /**
3739
3902
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
3740
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
3903
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-flat-map.md
3741
3904
  */
3742
3905
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
3743
3906
  /**
3744
3907
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
3745
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
3908
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-index-of.md
3746
3909
  */
3747
3910
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
3748
3911
  /**
3749
3912
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
3750
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
3913
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-some.md
3751
3914
  */
3752
3915
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
3753
3916
  /**
3754
3917
  * Prefer `.at()` method for index access and `String#charAt()`.
3755
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
3918
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-at.md
3756
3919
  */
3757
3920
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
3921
+ /**
3922
+ * Prefer `BigInt` literals over the constructor.
3923
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-bigint-literals.md
3924
+ */
3925
+ 'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>
3758
3926
  /**
3759
3927
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
3760
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
3928
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-blob-reading-methods.md
3761
3929
  */
3762
3930
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
3763
3931
  /**
3764
3932
  * Prefer class field declarations over `this` assignments in constructors.
3765
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
3933
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-class-fields.md
3766
3934
  */
3767
3935
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
3936
+ /**
3937
+ * Prefer using `Element#classList.toggle()` to toggle class names.
3938
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-classlist-toggle.md
3939
+ */
3940
+ 'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>
3768
3941
  /**
3769
3942
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
3770
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
3943
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-code-point.md
3771
3944
  */
3772
3945
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
3773
3946
  /**
3774
3947
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
3775
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
3948
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-date-now.md
3776
3949
  */
3777
3950
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
3778
3951
  /**
3779
3952
  * Prefer default parameters over reassignment.
3780
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
3953
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-default-parameters.md
3781
3954
  */
3782
3955
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
3783
3956
  /**
3784
3957
  * Prefer `Node#append()` over `Node#appendChild()`.
3785
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
3958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-append.md
3786
3959
  */
3787
3960
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
3788
3961
  /**
3789
3962
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
3790
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
3963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-dataset.md
3791
3964
  */
3792
3965
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
3793
3966
  /**
3794
3967
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
3795
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
3968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-remove.md
3796
3969
  */
3797
3970
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
3798
3971
  /**
3799
3972
  * Prefer `.textContent` over `.innerText`.
3800
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
3973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-text-content.md
3801
3974
  */
3802
3975
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
3803
3976
  /**
3804
3977
  * Prefer `EventTarget` over `EventEmitter`.
3805
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
3978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-event-target.md
3806
3979
  */
3807
3980
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
3808
3981
  /**
3809
3982
  * Prefer `export…from` when re-exporting.
3810
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
3983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-export-from.md
3811
3984
  */
3812
3985
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
3813
3986
  /**
3814
3987
  * Prefer `globalThis` over `window`, `self`, and `global`.
3815
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
3988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-global-this.md
3816
3989
  */
3817
3990
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
3818
3991
  /**
3819
3992
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
3820
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
3993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-import-meta-properties.md
3821
3994
  */
3822
3995
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
3823
3996
  /**
3824
3997
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
3825
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
3998
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-includes.md
3826
3999
  */
3827
4000
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
3828
4001
  /**
3829
4002
  * Prefer reading a JSON file as a buffer.
3830
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
4003
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-json-parse-buffer.md
3831
4004
  */
3832
4005
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
3833
4006
  /**
3834
4007
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
3835
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
4008
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-keyboard-event-key.md
3836
4009
  */
3837
4010
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
3838
4011
  /**
3839
4012
  * Prefer using a logical operator over a ternary.
3840
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
4013
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-logical-operator-over-ternary.md
3841
4014
  */
3842
4015
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
3843
4016
  /**
3844
4017
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
3845
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
4018
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-math-min-max.md
3846
4019
  */
3847
4020
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
3848
4021
  /**
3849
4022
  * Enforce the use of `Math.trunc` instead of bitwise operators.
3850
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
4023
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-math-trunc.md
3851
4024
  */
3852
4025
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
3853
4026
  /**
3854
4027
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
3855
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
4028
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-modern-dom-apis.md
3856
4029
  */
3857
4030
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
3858
4031
  /**
3859
4032
  * Prefer modern `Math` APIs over legacy patterns.
3860
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
4033
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-modern-math-apis.md
3861
4034
  */
3862
4035
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
3863
4036
  /**
3864
4037
  * Prefer JavaScript modules (ESM) over CommonJS.
3865
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
4038
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-module.md
3866
4039
  */
3867
4040
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
3868
4041
  /**
3869
4042
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
3870
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
4043
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-native-coercion-functions.md
3871
4044
  */
3872
4045
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
3873
4046
  /**
3874
4047
  * Prefer negative index over `.length - index` when possible.
3875
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
4048
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-negative-index.md
3876
4049
  */
3877
4050
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
3878
4051
  /**
3879
4052
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
3880
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
4053
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-node-protocol.md
3881
4054
  */
3882
4055
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
3883
4056
  /**
3884
4057
  * Prefer `Number` static properties over global ones.
3885
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
4058
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-number-properties.md
3886
4059
  */
3887
4060
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
3888
4061
  /**
3889
4062
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
3890
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
4063
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-object-from-entries.md
3891
4064
  */
3892
4065
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
3893
4066
  /**
3894
4067
  * Prefer omitting the `catch` binding parameter.
3895
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
4068
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-optional-catch-binding.md
3896
4069
  */
3897
4070
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
3898
4071
  /**
3899
4072
  * Prefer borrowing methods from the prototype instead of the instance.
3900
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
4073
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-prototype-methods.md
3901
4074
  */
3902
4075
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
3903
4076
  /**
3904
4077
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
3905
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
4078
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-query-selector.md
3906
4079
  */
3907
4080
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
3908
4081
  /**
3909
4082
  * Prefer `Reflect.apply()` over `Function#apply()`.
3910
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
4083
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-reflect-apply.md
3911
4084
  */
3912
4085
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
3913
4086
  /**
3914
4087
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
3915
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
4088
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-regexp-test.md
3916
4089
  */
3917
4090
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
4091
+ /**
4092
+ * Prefer `Response.json()` over `new Response(JSON.stringify())`.
4093
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-response-static-json.md
4094
+ */
4095
+ 'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>
3918
4096
  /**
3919
4097
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
3920
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
4098
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-set-has.md
3921
4099
  */
3922
4100
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
3923
4101
  /**
3924
4102
  * Prefer using `Set#size` instead of `Array#length`.
3925
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
4103
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-set-size.md
3926
4104
  */
3927
4105
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
3928
4106
  /**
3929
4107
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
3930
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
4108
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-single-call.md
3931
4109
  */
3932
4110
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
3933
4111
  /**
3934
4112
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
3935
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
4113
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-spread.md
3936
4114
  */
3937
4115
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
3938
4116
  /**
3939
4117
  * Prefer using the `String.raw` tag to avoid escaping `\`.
3940
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
4118
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-raw.md
3941
4119
  */
3942
4120
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
3943
4121
  /**
3944
4122
  * Prefer `String#replaceAll()` over regex searches with the global flag.
3945
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
4123
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-replace-all.md
3946
4124
  */
3947
4125
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
3948
4126
  /**
3949
4127
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
3950
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
4128
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-slice.md
3951
4129
  */
3952
4130
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
3953
4131
  /**
3954
4132
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
3955
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
4133
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-starts-ends-with.md
3956
4134
  */
3957
4135
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
3958
4136
  /**
3959
4137
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
3960
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
4138
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-trim-start-end.md
3961
4139
  */
3962
4140
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
3963
4141
  /**
3964
4142
  * Prefer using `structuredClone` to create a deep clone.
3965
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
4143
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-structured-clone.md
3966
4144
  */
3967
4145
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
3968
4146
  /**
3969
4147
  * Prefer `switch` over multiple `else-if`.
3970
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
4148
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-switch.md
3971
4149
  */
3972
4150
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
3973
4151
  /**
3974
4152
  * Prefer ternary expressions over simple `if-else` statements.
3975
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
4153
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-ternary.md
3976
4154
  */
3977
4155
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
3978
4156
  /**
3979
4157
  * Prefer top-level await over top-level promises and async function calls.
3980
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
4158
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-top-level-await.md
3981
4159
  */
3982
4160
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
3983
4161
  /**
3984
4162
  * Enforce throwing `TypeError` in type checking conditions.
3985
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
4163
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-type-error.md
3986
4164
  */
3987
4165
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
3988
4166
  /**
3989
4167
  * Prevent abbreviations.
3990
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
4168
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prevent-abbreviations.md
3991
4169
  */
3992
4170
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
3993
4171
  /**
3994
4172
  * Enforce consistent relative URL style.
3995
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
4173
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/relative-url-style.md
3996
4174
  */
3997
4175
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
3998
4176
  /**
3999
4177
  * Enforce using the separator argument with `Array#join()`.
4000
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
4178
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-array-join-separator.md
4001
4179
  */
4002
4180
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
4181
+ /**
4182
+ * Require non-empty module attributes for imports and exports
4183
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-module-attributes.md
4184
+ */
4185
+ 'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>
4003
4186
  /**
4004
4187
  * Require non-empty specifier list in import and export statements.
4005
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
4188
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-module-specifiers.md
4006
4189
  */
4007
4190
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
4008
4191
  /**
4009
4192
  * Enforce using the digits argument with `Number#toFixed()`.
4010
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
4193
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-number-to-fixed-digits-argument.md
4011
4194
  */
4012
4195
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
4013
4196
  /**
4014
4197
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
4015
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
4198
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-post-message-target-origin.md
4016
4199
  */
4017
4200
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
4018
4201
  /**
4019
4202
  * Enforce better string content.
4020
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
4203
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/string-content.md
4021
4204
  */
4022
4205
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
4023
4206
  /**
4024
4207
  * Enforce consistent brace style for `case` clauses.
4025
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
4208
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/switch-case-braces.md
4026
4209
  */
4027
4210
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
4028
4211
  /**
4029
4212
  * Fix whitespace-insensitive template indentation.
4030
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
4213
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/template-indent.md
4031
4214
  */
4032
4215
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
4033
4216
  /**
4034
4217
  * Enforce consistent case for text encoding identifiers.
4035
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
4218
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/text-encoding-identifier-case.md
4036
4219
  */
4037
- 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
4220
+ 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>
4038
4221
  /**
4039
4222
  * Require `new` when creating an error.
4040
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
4223
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/throw-new-error.md
4041
4224
  */
4042
4225
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
4043
4226
  /**
@@ -4066,7 +4249,7 @@ interface RuleOptions {
4066
4249
  */
4067
4250
  'vars-on-top'?: Linter.RuleEntry<[]>
4068
4251
  /**
4069
- * require .spec test file pattern
4252
+ * require test file pattern
4070
4253
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
4071
4254
  */
4072
4255
  'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>
@@ -4085,6 +4268,11 @@ interface RuleOptions {
4085
4268
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
4086
4269
  */
4087
4270
  'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>
4271
+ /**
4272
+ * enforce hoisted APIs to be on top of the file
4273
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md
4274
+ */
4275
+ 'vitest/hoisted-apis-on-top'?: Linter.RuleEntry<[]>
4088
4276
  /**
4089
4277
  * enforce a maximum number of expect per test
4090
4278
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
@@ -4241,6 +4429,11 @@ interface RuleOptions {
4241
4429
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
4242
4430
  */
4243
4431
  'vitest/padding-around-test-blocks'?: Linter.RuleEntry<[]>
4432
+ /**
4433
+ * Prefer `toHaveBeenCalledExactlyOnceWith` over `toHaveBeenCalledOnce` and `toHaveBeenCalledWith`
4434
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-exactly-once-with.md
4435
+ */
4436
+ 'vitest/prefer-called-exactly-once-with'?: Linter.RuleEntry<[]>
4244
4437
  /**
4245
4438
  * enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
4246
4439
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
@@ -4286,6 +4479,11 @@ interface RuleOptions {
4286
4479
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
4287
4480
  */
4288
4481
  'vitest/prefer-expect-resolves'?: Linter.RuleEntry<[]>
4482
+ /**
4483
+ * enforce using `expectTypeOf` instead of `expect(typeof ...)`
4484
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md
4485
+ */
4486
+ 'vitest/prefer-expect-type-of'?: Linter.RuleEntry<[]>
4289
4487
  /**
4290
4488
  * enforce having hooks in consistent order
4291
4489
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
@@ -4296,6 +4494,11 @@ interface RuleOptions {
4296
4494
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
4297
4495
  */
4298
4496
  'vitest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
4497
+ /**
4498
+ * prefer dynamic import in mock
4499
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
4500
+ */
4501
+ 'vitest/prefer-import-in-mock'?: Linter.RuleEntry<[]>
4299
4502
  /**
4300
4503
  * enforce importing Vitest globals
4301
4504
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
@@ -4452,11 +4655,13 @@ type EslintReactDomNoUnknownProperty = []|[{
4452
4655
  ignore?: string[]
4453
4656
  requireDataLowercase?: boolean
4454
4657
  }]
4658
+ // ----- @eslint-react/jsx-shorthand-boolean -----
4659
+ type EslintReactJsxShorthandBoolean = []|[(-1 | 1)]
4660
+ // ----- @eslint-react/jsx-shorthand-fragment -----
4661
+ type EslintReactJsxShorthandFragment = []|[(-1 | 1)]
4455
4662
  // ----- @eslint-react/naming-convention/component-name -----
4456
4663
  type EslintReactNamingConventionComponentName = []|[(("PascalCase" | "CONSTANT_CASE") | {
4457
4664
  allowAllCaps?: boolean
4458
- allowLeadingUnderscore?: boolean
4459
- allowNamespace?: boolean
4460
4665
  excepts?: string[]
4461
4666
  rule?: ("PascalCase" | "CONSTANT_CASE")
4462
4667
  })]
@@ -4472,6 +4677,17 @@ type EslintReactNamingConventionFilenameExtension = []|[(("always" | "as-needed"
4472
4677
  extensions?: string[]
4473
4678
  ignoreFilesWithoutCode?: boolean
4474
4679
  })]
4680
+ // ----- @eslint-react/no-forbidden-props -----
4681
+ type EslintReactNoForbiddenProps = []|[{
4682
+ forbid?: (string | {
4683
+ excludedNodes?: string[]
4684
+ prop: string
4685
+ } | {
4686
+ includedNodes?: string[]
4687
+ prop: string
4688
+ })[]
4689
+ [k: string]: unknown | undefined
4690
+ }]
4475
4691
  // ----- @eslint-react/no-useless-fragment -----
4476
4692
  type EslintReactNoUselessFragment = []|[{
4477
4693
 
@@ -4488,15 +4704,19 @@ type TypescriptEslintArrayType = []|[{
4488
4704
  type TypescriptEslintBanTsComment = []|[{
4489
4705
 
4490
4706
  minimumDescriptionLength?: number
4707
+
4491
4708
  "ts-check"?: (boolean | "allow-with-description" | {
4492
4709
  descriptionFormat?: string
4493
4710
  })
4711
+
4494
4712
  "ts-expect-error"?: (boolean | "allow-with-description" | {
4495
4713
  descriptionFormat?: string
4496
4714
  })
4715
+
4497
4716
  "ts-ignore"?: (boolean | "allow-with-description" | {
4498
4717
  descriptionFormat?: string
4499
4718
  })
4719
+
4500
4720
  "ts-nocheck"?: (boolean | "allow-with-description" | {
4501
4721
  descriptionFormat?: string
4502
4722
  })
@@ -4590,10 +4810,15 @@ type TypescriptEslintExplicitMemberAccessibility = []|[{
4590
4810
  ignoredMethodNames?: string[]
4591
4811
 
4592
4812
  overrides?: {
4813
+
4593
4814
  accessors?: ("explicit" | "no-public" | "off")
4815
+
4594
4816
  constructors?: ("explicit" | "no-public" | "off")
4817
+
4595
4818
  methods?: ("explicit" | "no-public" | "off")
4819
+
4596
4820
  parameterProperties?: ("explicit" | "no-public" | "off")
4821
+
4597
4822
  properties?: ("explicit" | "no-public" | "off")
4598
4823
  }
4599
4824
  }]
@@ -4627,26 +4852,31 @@ type TypescriptEslintMaxParams = []|[{
4627
4852
  }]
4628
4853
  // ----- @typescript-eslint/member-ordering -----
4629
4854
  type TypescriptEslintMemberOrdering = []|[{
4855
+
4630
4856
  classes?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
4631
4857
  memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never")
4632
4858
  optionalityOrder?: ("optional-first" | "required-first")
4633
4859
  order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
4634
4860
  })
4861
+
4635
4862
  classExpressions?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
4636
4863
  memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never")
4637
4864
  optionalityOrder?: ("optional-first" | "required-first")
4638
4865
  order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
4639
4866
  })
4867
+
4640
4868
  default?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
4641
4869
  memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never")
4642
4870
  optionalityOrder?: ("optional-first" | "required-first")
4643
4871
  order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
4644
4872
  })
4873
+
4645
4874
  interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
4646
4875
  memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
4647
4876
  optionalityOrder?: ("optional-first" | "required-first")
4648
4877
  order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
4649
4878
  })
4879
+
4650
4880
  typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
4651
4881
  memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
4652
4882
  optionalityOrder?: ("optional-first" | "required-first")
@@ -5297,6 +5527,11 @@ type TypescriptEslintNoUnnecessaryTypeAssertion = []|[{
5297
5527
 
5298
5528
  typesToIgnore?: string[]
5299
5529
  }]
5530
+ // ----- @typescript-eslint/no-unsafe-member-access -----
5531
+ type TypescriptEslintNoUnsafeMemberAccess = []|[{
5532
+
5533
+ allowOptionalChaining?: boolean
5534
+ }]
5300
5535
  // ----- @typescript-eslint/no-unused-expressions -----
5301
5536
  type TypescriptEslintNoUnusedExpressions = []|[{
5302
5537
  allowShortCircuit?: boolean
@@ -5322,6 +5557,8 @@ type TypescriptEslintNoUnusedVars = []|[(("all" | "local") | {
5322
5557
 
5323
5558
  ignoreRestSiblings?: boolean
5324
5559
 
5560
+ ignoreUsingDeclarations?: boolean
5561
+
5325
5562
  reportUsedIgnorePattern?: boolean
5326
5563
 
5327
5564
  vars?: ("all" | "local")
@@ -6200,6 +6437,11 @@ type IndentLegacy = []|[("tab" | number)]|[("tab" | number), {
6200
6437
  type InitDeclarations = ([]|["always"] | []|["never"]|["never", {
6201
6438
  ignoreForLoopInit?: boolean
6202
6439
  }])
6440
+ // ----- jsdoc/check-alignment -----
6441
+ type JsdocCheckAlignment = []|[{
6442
+
6443
+ innerIndent?: number
6444
+ }]
6203
6445
  // ----- jsdoc/check-examples -----
6204
6446
  type JsdocCheckExamples = []|[{
6205
6447
  allowInlineConfig?: boolean
@@ -6224,85 +6466,138 @@ type JsdocCheckExamples = []|[{
6224
6466
  }]
6225
6467
  // ----- jsdoc/check-indentation -----
6226
6468
  type JsdocCheckIndentation = []|[{
6469
+
6227
6470
  excludeTags?: string[]
6228
6471
  }]
6229
6472
  // ----- jsdoc/check-line-alignment -----
6230
6473
  type JsdocCheckLineAlignment = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
6474
+
6231
6475
  customSpacings?: {
6476
+
6232
6477
  postDelimiter?: number
6478
+
6233
6479
  postHyphen?: number
6480
+
6234
6481
  postName?: number
6482
+
6235
6483
  postTag?: number
6484
+
6236
6485
  postType?: number
6237
6486
  }
6487
+
6238
6488
  disableWrapIndent?: boolean
6489
+
6239
6490
  preserveMainDescriptionPostDelimiter?: boolean
6491
+
6240
6492
  tags?: string[]
6493
+
6241
6494
  wrapIndent?: string
6242
6495
  }]
6243
6496
  // ----- jsdoc/check-param-names -----
6244
6497
  type JsdocCheckParamNames = []|[{
6498
+
6245
6499
  allowExtraTrailingParamDocs?: boolean
6500
+
6246
6501
  checkDestructured?: boolean
6502
+
6247
6503
  checkRestProperty?: boolean
6504
+
6248
6505
  checkTypesPattern?: string
6506
+
6249
6507
  disableExtraPropertyReporting?: boolean
6508
+
6250
6509
  disableMissingParamChecks?: boolean
6510
+
6251
6511
  enableFixer?: boolean
6512
+
6252
6513
  useDefaultObjectProperties?: boolean
6253
6514
  }]
6254
6515
  // ----- jsdoc/check-property-names -----
6255
6516
  type JsdocCheckPropertyNames = []|[{
6517
+
6256
6518
  enableFixer?: boolean
6257
6519
  }]
6258
6520
  // ----- jsdoc/check-tag-names -----
6259
6521
  type JsdocCheckTagNames = []|[{
6522
+
6260
6523
  definedTags?: string[]
6524
+
6261
6525
  enableFixer?: boolean
6526
+
6527
+ inlineTags?: string[]
6528
+
6262
6529
  jsxTags?: boolean
6530
+
6263
6531
  typed?: boolean
6264
6532
  }]
6265
6533
  // ----- jsdoc/check-types -----
6266
6534
  type JsdocCheckTypes = []|[{
6535
+
6267
6536
  exemptTagContexts?: {
6537
+
6268
6538
  tag?: string
6539
+
6269
6540
  types?: (boolean | string[])
6270
6541
  }[]
6542
+
6271
6543
  noDefaults?: boolean
6544
+
6272
6545
  unifyParentAndChildTypeChecks?: boolean
6273
6546
  }]
6274
6547
  // ----- jsdoc/check-values -----
6275
6548
  type JsdocCheckValues = []|[{
6549
+
6276
6550
  allowedAuthors?: string[]
6551
+
6277
6552
  allowedLicenses?: (string[] | boolean)
6553
+
6278
6554
  licensePattern?: string
6555
+
6279
6556
  numericOnlyVariation?: boolean
6280
6557
  }]
6281
6558
  // ----- jsdoc/convert-to-jsdoc-comments -----
6282
6559
  type JsdocConvertToJsdocComments = []|[{
6560
+
6283
6561
  allowedPrefixes?: string[]
6562
+
6284
6563
  contexts?: (string | {
6285
6564
  context?: string
6286
6565
  inlineCommentBlock?: boolean
6287
6566
  })[]
6567
+
6288
6568
  contextsAfter?: (string | {
6289
6569
  context?: string
6290
6570
  inlineCommentBlock?: boolean
6291
6571
  })[]
6572
+
6292
6573
  contextsBeforeAndAfter?: (string | {
6293
6574
  context?: string
6294
6575
  inlineCommentBlock?: boolean
6295
6576
  })[]
6577
+
6296
6578
  enableFixer?: boolean
6579
+
6297
6580
  enforceJsdocLineStyle?: ("multi" | "single")
6581
+
6298
6582
  lineOrBlockStyle?: ("block" | "line" | "both")
6299
6583
  }]
6300
6584
  // ----- jsdoc/empty-tags -----
6301
6585
  type JsdocEmptyTags = []|[{
6586
+
6302
6587
  tags?: string[]
6303
6588
  }]
6589
+ // ----- jsdoc/escape-inline-tags -----
6590
+ type JsdocEscapeInlineTags = []|[{
6591
+
6592
+ allowedInlineTags?: string[]
6593
+
6594
+ enableFixer?: boolean
6595
+
6596
+ fixType?: ("backticks" | "backslash")
6597
+ }]
6304
6598
  // ----- jsdoc/implements-on-classes -----
6305
6599
  type JsdocImplementsOnClasses = []|[{
6600
+
6306
6601
  contexts?: (string | {
6307
6602
  comment?: string
6308
6603
  context?: string
@@ -6310,33 +6605,47 @@ type JsdocImplementsOnClasses = []|[{
6310
6605
  }]
6311
6606
  // ----- jsdoc/informative-docs -----
6312
6607
  type JsdocInformativeDocs = []|[{
6608
+
6313
6609
  aliases?: {
6314
6610
  [k: string]: string[]
6315
6611
  }
6612
+
6316
6613
  excludedTags?: string[]
6614
+
6317
6615
  uselessWords?: string[]
6318
6616
  }]
6319
6617
  // ----- jsdoc/lines-before-block -----
6320
6618
  type JsdocLinesBeforeBlock = []|[{
6619
+
6321
6620
  checkBlockStarts?: boolean
6621
+
6322
6622
  excludedTags?: string[]
6623
+
6323
6624
  ignoreSameLine?: boolean
6625
+
6324
6626
  ignoreSingleLines?: boolean
6627
+
6325
6628
  lines?: number
6326
6629
  }]
6327
6630
  // ----- jsdoc/match-description -----
6328
6631
  type JsdocMatchDescription = []|[{
6632
+
6329
6633
  contexts?: (string | {
6330
6634
  comment?: string
6331
6635
  context?: string
6332
6636
  })[]
6637
+
6333
6638
  mainDescription?: (string | boolean | {
6334
6639
  match?: (string | boolean)
6335
6640
  message?: string
6336
6641
  })
6642
+
6337
6643
  matchDescription?: string
6644
+
6338
6645
  message?: string
6646
+
6339
6647
  nonemptyTags?: boolean
6648
+
6340
6649
  tags?: {
6341
6650
  [k: string]: (string | true | {
6342
6651
  match?: (string | true)
@@ -6346,47 +6655,70 @@ type JsdocMatchDescription = []|[{
6346
6655
  }]
6347
6656
  // ----- jsdoc/match-name -----
6348
6657
  type JsdocMatchName = []|[{
6658
+
6349
6659
  match: {
6660
+
6350
6661
  allowName?: string
6662
+
6351
6663
  comment?: string
6664
+
6352
6665
  context?: string
6666
+
6353
6667
  disallowName?: string
6668
+
6354
6669
  message?: string
6670
+
6355
6671
  replacement?: string
6672
+
6356
6673
  tags?: string[]
6357
6674
  }[]
6358
6675
  }]
6359
6676
  // ----- jsdoc/multiline-blocks -----
6360
6677
  type JsdocMultilineBlocks = []|[{
6678
+
6361
6679
  allowMultipleTags?: boolean
6680
+
6362
6681
  minimumLengthForMultiline?: number
6682
+
6363
6683
  multilineTags?: ("*" | string[])
6684
+
6364
6685
  noFinalLineText?: boolean
6686
+
6365
6687
  noMultilineBlocks?: boolean
6688
+
6366
6689
  noSingleLineBlocks?: boolean
6690
+
6367
6691
  noZeroLineText?: boolean
6692
+
6368
6693
  requireSingleLineUnderCount?: number
6694
+
6369
6695
  singleLineTags?: string[]
6370
6696
  }]
6371
6697
  // ----- jsdoc/no-bad-blocks -----
6372
6698
  type JsdocNoBadBlocks = []|[{
6699
+
6373
6700
  ignore?: string[]
6701
+
6374
6702
  preventAllMultiAsteriskBlocks?: boolean
6375
6703
  }]
6376
6704
  // ----- jsdoc/no-blank-blocks -----
6377
6705
  type JsdocNoBlankBlocks = []|[{
6706
+
6378
6707
  enableFixer?: boolean
6379
6708
  }]
6380
6709
  // ----- jsdoc/no-defaults -----
6381
6710
  type JsdocNoDefaults = []|[{
6711
+
6382
6712
  contexts?: (string | {
6383
6713
  comment?: string
6384
6714
  context?: string
6385
6715
  })[]
6716
+
6386
6717
  noOptionalParamNames?: boolean
6387
6718
  }]
6388
6719
  // ----- jsdoc/no-missing-syntax -----
6389
6720
  type JsdocNoMissingSyntax = []|[{
6721
+
6390
6722
  contexts?: (string | {
6391
6723
  comment?: string
6392
6724
  context?: string
@@ -6396,12 +6728,16 @@ type JsdocNoMissingSyntax = []|[{
6396
6728
  }]
6397
6729
  // ----- jsdoc/no-multi-asterisks -----
6398
6730
  type JsdocNoMultiAsterisks = []|[{
6731
+
6399
6732
  allowWhitespace?: boolean
6733
+
6400
6734
  preventAtEnd?: boolean
6735
+
6401
6736
  preventAtMiddleLines?: boolean
6402
6737
  }]
6403
6738
  // ----- jsdoc/no-restricted-syntax -----
6404
6739
  type JsdocNoRestrictedSyntax = []|[{
6740
+
6405
6741
  contexts: (string | {
6406
6742
  comment?: string
6407
6743
  context?: string
@@ -6410,6 +6746,7 @@ type JsdocNoRestrictedSyntax = []|[{
6410
6746
  }]
6411
6747
  // ----- jsdoc/no-types -----
6412
6748
  type JsdocNoTypes = []|[{
6749
+
6413
6750
  contexts?: (string | {
6414
6751
  comment?: string
6415
6752
  context?: string
@@ -6417,51 +6754,86 @@ type JsdocNoTypes = []|[{
6417
6754
  }]
6418
6755
  // ----- jsdoc/no-undefined-types -----
6419
6756
  type JsdocNoUndefinedTypes = []|[{
6757
+
6758
+ checkUsedTypedefs?: boolean
6759
+
6420
6760
  definedTypes?: string[]
6761
+
6421
6762
  disableReporting?: boolean
6763
+
6422
6764
  markVariablesAsUsed?: boolean
6423
6765
  }]
6766
+ // ----- jsdoc/prefer-import-tag -----
6767
+ type JsdocPreferImportTag = []|[{
6768
+
6769
+ enableFixer?: boolean
6770
+
6771
+ exemptTypedefs?: boolean
6772
+
6773
+ outputType?: ("named-import" | "namespaced-import")
6774
+ }]
6424
6775
  // ----- jsdoc/require-asterisk-prefix -----
6425
6776
  type JsdocRequireAsteriskPrefix = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
6777
+
6426
6778
  tags?: {
6779
+
6427
6780
  always?: string[]
6781
+
6428
6782
  any?: string[]
6783
+
6429
6784
  never?: string[]
6430
6785
  }
6431
6786
  }]
6432
6787
  // ----- jsdoc/require-description -----
6433
6788
  type JsdocRequireDescription = []|[{
6789
+
6434
6790
  checkConstructors?: boolean
6791
+
6435
6792
  checkGetters?: boolean
6793
+
6436
6794
  checkSetters?: boolean
6795
+
6437
6796
  contexts?: (string | {
6438
6797
  comment?: string
6439
6798
  context?: string
6440
6799
  })[]
6800
+
6441
6801
  descriptionStyle?: ("body" | "tag" | "any")
6802
+
6442
6803
  exemptedBy?: string[]
6443
6804
  }]
6444
6805
  // ----- jsdoc/require-description-complete-sentence -----
6445
6806
  type JsdocRequireDescriptionCompleteSentence = []|[{
6807
+
6446
6808
  abbreviations?: string[]
6809
+
6447
6810
  newlineBeforeCapsAssumesBadSentenceEnd?: boolean
6811
+
6448
6812
  tags?: string[]
6449
6813
  }]
6450
6814
  // ----- jsdoc/require-example -----
6451
6815
  type JsdocRequireExample = []|[{
6816
+
6452
6817
  checkConstructors?: boolean
6818
+
6453
6819
  checkGetters?: boolean
6820
+
6454
6821
  checkSetters?: boolean
6822
+
6455
6823
  contexts?: (string | {
6456
6824
  comment?: string
6457
6825
  context?: string
6458
6826
  })[]
6827
+
6459
6828
  enableFixer?: boolean
6829
+
6460
6830
  exemptedBy?: string[]
6831
+
6461
6832
  exemptNoArguments?: boolean
6462
6833
  }]
6463
6834
  // ----- jsdoc/require-file-overview -----
6464
6835
  type JsdocRequireFileOverview = []|[{
6836
+
6465
6837
  tags?: {
6466
6838
  [k: string]: {
6467
6839
  initialCommentsOnly?: boolean
@@ -6472,73 +6844,117 @@ type JsdocRequireFileOverview = []|[{
6472
6844
  }]
6473
6845
  // ----- jsdoc/require-hyphen-before-param-description -----
6474
6846
  type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("always" | "never"), {
6847
+
6475
6848
  tags?: ({
6476
6849
  [k: string]: ("always" | "never")
6477
6850
  } | "any")
6478
6851
  }]
6479
6852
  // ----- jsdoc/require-jsdoc -----
6480
6853
  type JsdocRequireJsdoc = []|[{
6854
+
6481
6855
  checkConstructors?: boolean
6856
+
6482
6857
  checkGetters?: (boolean | "no-setter")
6858
+
6483
6859
  checkSetters?: (boolean | "no-getter")
6860
+
6484
6861
  contexts?: (string | {
6485
6862
  context?: string
6486
6863
  inlineCommentBlock?: boolean
6487
6864
  minLineCount?: number
6488
6865
  })[]
6866
+
6489
6867
  enableFixer?: boolean
6868
+
6490
6869
  exemptEmptyConstructors?: boolean
6870
+
6491
6871
  exemptEmptyFunctions?: boolean
6872
+
6873
+ exemptOverloadedImplementations?: boolean
6874
+
6492
6875
  fixerMessage?: string
6876
+
6493
6877
  minLineCount?: number
6878
+
6494
6879
  publicOnly?: (boolean | {
6495
6880
  ancestorsOnly?: boolean
6496
6881
  cjs?: boolean
6497
6882
  esm?: boolean
6498
6883
  window?: boolean
6499
6884
  })
6885
+
6500
6886
  require?: {
6887
+
6501
6888
  ArrowFunctionExpression?: boolean
6889
+
6502
6890
  ClassDeclaration?: boolean
6891
+
6503
6892
  ClassExpression?: boolean
6893
+
6504
6894
  FunctionDeclaration?: boolean
6895
+
6505
6896
  FunctionExpression?: boolean
6897
+
6506
6898
  MethodDefinition?: boolean
6507
6899
  }
6900
+
6901
+ skipInterveningOverloadedDeclarations?: boolean
6508
6902
  }]
6509
6903
  // ----- jsdoc/require-param -----
6510
6904
  type JsdocRequireParam = []|[{
6905
+
6511
6906
  autoIncrementBase?: number
6907
+
6512
6908
  checkConstructors?: boolean
6909
+
6513
6910
  checkDestructured?: boolean
6911
+
6514
6912
  checkDestructuredRoots?: boolean
6913
+
6515
6914
  checkGetters?: boolean
6915
+
6516
6916
  checkRestProperty?: boolean
6917
+
6517
6918
  checkSetters?: boolean
6919
+
6518
6920
  checkTypesPattern?: string
6921
+
6519
6922
  contexts?: (string | {
6520
6923
  comment?: string
6521
6924
  context?: string
6522
6925
  })[]
6926
+
6523
6927
  enableFixer?: boolean
6928
+
6524
6929
  enableRestElementFixer?: boolean
6930
+
6525
6931
  enableRootFixer?: boolean
6932
+
6526
6933
  exemptedBy?: string[]
6934
+
6527
6935
  ignoreWhenAllParamsMissing?: boolean
6936
+
6937
+ interfaceExemptsParamsCheck?: boolean
6938
+
6528
6939
  unnamedRootBase?: string[]
6940
+
6529
6941
  useDefaultObjectProperties?: boolean
6530
6942
  }]
6531
6943
  // ----- jsdoc/require-param-description -----
6532
6944
  type JsdocRequireParamDescription = []|[{
6945
+
6533
6946
  contexts?: (string | {
6534
6947
  comment?: string
6535
6948
  context?: string
6536
6949
  })[]
6950
+
6537
6951
  defaultDestructuredRootDescription?: string
6952
+
6538
6953
  setDefaultDestructuredRootDescription?: boolean
6539
6954
  }]
6540
6955
  // ----- jsdoc/require-param-name -----
6541
6956
  type JsdocRequireParamName = []|[{
6957
+
6542
6958
  contexts?: (string | {
6543
6959
  comment?: string
6544
6960
  context?: string
@@ -6546,26 +6962,37 @@ type JsdocRequireParamName = []|[{
6546
6962
  }]
6547
6963
  // ----- jsdoc/require-param-type -----
6548
6964
  type JsdocRequireParamType = []|[{
6965
+
6549
6966
  contexts?: (string | {
6550
6967
  comment?: string
6551
6968
  context?: string
6552
6969
  })[]
6970
+
6553
6971
  defaultDestructuredRootType?: string
6972
+
6554
6973
  setDefaultDestructuredRootType?: boolean
6555
6974
  }]
6556
6975
  // ----- jsdoc/require-returns -----
6557
6976
  type JsdocRequireReturns = []|[{
6977
+
6558
6978
  checkConstructors?: boolean
6979
+
6559
6980
  checkGetters?: boolean
6981
+
6560
6982
  contexts?: (string | {
6561
6983
  comment?: string
6562
6984
  context?: string
6563
6985
  forceRequireReturn?: boolean
6564
6986
  })[]
6987
+
6565
6988
  enableFixer?: boolean
6989
+
6566
6990
  exemptedBy?: string[]
6991
+
6567
6992
  forceRequireReturn?: boolean
6993
+
6568
6994
  forceReturnsWithAsync?: boolean
6995
+
6569
6996
  publicOnly?: (boolean | {
6570
6997
  ancestorsOnly?: boolean
6571
6998
  cjs?: boolean
@@ -6575,12 +7002,18 @@ type JsdocRequireReturns = []|[{
6575
7002
  }]
6576
7003
  // ----- jsdoc/require-returns-check -----
6577
7004
  type JsdocRequireReturnsCheck = []|[{
7005
+
6578
7006
  exemptAsync?: boolean
7007
+
6579
7008
  exemptGenerators?: boolean
7009
+
7010
+ noNativeTypes?: boolean
7011
+
6580
7012
  reportMissingReturnForUndefinedTypes?: boolean
6581
7013
  }]
6582
7014
  // ----- jsdoc/require-returns-description -----
6583
7015
  type JsdocRequireReturnsDescription = []|[{
7016
+
6584
7017
  contexts?: (string | {
6585
7018
  comment?: string
6586
7019
  context?: string
@@ -6588,62 +7021,99 @@ type JsdocRequireReturnsDescription = []|[{
6588
7021
  }]
6589
7022
  // ----- jsdoc/require-returns-type -----
6590
7023
  type JsdocRequireReturnsType = []|[{
7024
+
6591
7025
  contexts?: (string | {
6592
7026
  comment?: string
6593
7027
  context?: string
6594
7028
  })[]
6595
7029
  }]
7030
+ // ----- jsdoc/require-tags -----
7031
+ type JsdocRequireTags = []|[{
7032
+
7033
+ tags?: (string | {
7034
+ context?: string
7035
+ tag?: string
7036
+ [k: string]: unknown | undefined
7037
+ })[]
7038
+ }]
6596
7039
  // ----- jsdoc/require-template -----
6597
7040
  type JsdocRequireTemplate = []|[{
7041
+
7042
+ exemptedBy?: string[]
7043
+
6598
7044
  requireSeparateTemplates?: boolean
6599
7045
  }]
6600
7046
  // ----- jsdoc/require-throws -----
6601
7047
  type JsdocRequireThrows = []|[{
7048
+
6602
7049
  contexts?: (string | {
6603
7050
  comment?: string
6604
7051
  context?: string
6605
7052
  })[]
7053
+
6606
7054
  exemptedBy?: string[]
6607
7055
  }]
6608
7056
  // ----- jsdoc/require-yields -----
6609
7057
  type JsdocRequireYields = []|[{
7058
+
6610
7059
  contexts?: (string | {
6611
7060
  comment?: string
6612
7061
  context?: string
6613
7062
  })[]
7063
+
6614
7064
  exemptedBy?: string[]
7065
+
6615
7066
  forceRequireNext?: boolean
7067
+
6616
7068
  forceRequireYields?: boolean
7069
+
6617
7070
  next?: boolean
7071
+
6618
7072
  nextWithGeneratorTag?: boolean
7073
+
6619
7074
  withGeneratorTag?: boolean
6620
7075
  }]
6621
7076
  // ----- jsdoc/require-yields-check -----
6622
7077
  type JsdocRequireYieldsCheck = []|[{
7078
+
6623
7079
  checkGeneratorsOnly?: boolean
7080
+
6624
7081
  contexts?: (string | {
6625
7082
  comment?: string
6626
7083
  context?: string
6627
7084
  })[]
6628
- exemptedBy?: string[]
7085
+
6629
7086
  next?: boolean
6630
7087
  }]
6631
7088
  // ----- jsdoc/sort-tags -----
6632
7089
  type JsdocSortTags = []|[{
7090
+
6633
7091
  alphabetizeExtras?: boolean
7092
+
6634
7093
  linesBetween?: number
7094
+
6635
7095
  reportIntraTagGroupSpacing?: boolean
7096
+
6636
7097
  reportTagGroupSpacing?: boolean
7098
+
6637
7099
  tagSequence?: {
7100
+
6638
7101
  tags?: string[]
6639
7102
  }[]
6640
7103
  }]
6641
7104
  // ----- jsdoc/tag-lines -----
6642
7105
  type JsdocTagLines = []|[("always" | "any" | "never")]|[("always" | "any" | "never"), {
7106
+
6643
7107
  applyToEndTag?: boolean
7108
+
6644
7109
  count?: number
7110
+
6645
7111
  endLines?: (number | null)
7112
+
7113
+ maxBlockLines?: (number | null)
7114
+
6646
7115
  startLines?: (number | null)
7116
+
6647
7117
  tags?: {
6648
7118
  [k: string]: {
6649
7119
  count?: number
@@ -6653,11 +7123,88 @@ type JsdocTagLines = []|[("always" | "any" | "never")]|[("always" | "any" | "nev
6653
7123
  }]
6654
7124
  // ----- jsdoc/text-escaping -----
6655
7125
  type JsdocTextEscaping = []|[{
7126
+
6656
7127
  escapeHTML?: boolean
7128
+
6657
7129
  escapeMarkdown?: boolean
6658
7130
  }]
7131
+ // ----- jsdoc/ts-method-signature-style -----
7132
+ type JsdocTsMethodSignatureStyle = []|[("method" | "property")]|[("method" | "property"), {
7133
+
7134
+ enableFixer?: boolean
7135
+ }]
7136
+ // ----- jsdoc/ts-no-unnecessary-template-expression -----
7137
+ type JsdocTsNoUnnecessaryTemplateExpression = []|[{
7138
+
7139
+ enableFixer?: boolean
7140
+ }]
7141
+ // ----- jsdoc/ts-prefer-function-type -----
7142
+ type JsdocTsPreferFunctionType = []|[{
7143
+
7144
+ enableFixer?: boolean
7145
+ }]
7146
+ // ----- jsdoc/type-formatting -----
7147
+ type JsdocTypeFormatting = []|[{
7148
+
7149
+ arrayBrackets?: ("angle" | "square")
7150
+
7151
+ arrowFunctionPostReturnMarkerSpacing?: string
7152
+
7153
+ arrowFunctionPreReturnMarkerSpacing?: string
7154
+
7155
+ enableFixer?: boolean
7156
+
7157
+ functionOrClassParameterSpacing?: string
7158
+
7159
+ functionOrClassPostGenericSpacing?: string
7160
+
7161
+ functionOrClassPostReturnMarkerSpacing?: string
7162
+
7163
+ functionOrClassPreReturnMarkerSpacing?: string
7164
+
7165
+ functionOrClassTypeParameterSpacing?: string
7166
+
7167
+ genericAndTupleElementSpacing?: string
7168
+
7169
+ genericDot?: boolean
7170
+
7171
+ keyValuePostColonSpacing?: string
7172
+
7173
+ keyValuePostKeySpacing?: string
7174
+
7175
+ keyValuePostOptionalSpacing?: string
7176
+
7177
+ keyValuePostVariadicSpacing?: string
7178
+
7179
+ methodQuotes?: ("double" | "single")
7180
+
7181
+ objectFieldIndent?: string
7182
+
7183
+ objectFieldQuote?: ("double" | "single" | null)
7184
+
7185
+ objectFieldSeparator?: ("comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak")
7186
+
7187
+ objectFieldSeparatorOptionalLinebreak?: boolean
7188
+
7189
+ objectFieldSeparatorTrailingPunctuation?: boolean
7190
+
7191
+ parameterDefaultValueSpacing?: string
7192
+
7193
+ postMethodNameSpacing?: string
7194
+
7195
+ postNewSpacing?: string
7196
+
7197
+ separatorForSingleObjectField?: boolean
7198
+
7199
+ stringQuotes?: ("double" | "single")
7200
+
7201
+ typeBracketSpacing?: string
7202
+
7203
+ unionSpacing?: string
7204
+ }]
6659
7205
  // ----- jsdoc/valid-types -----
6660
7206
  type JsdocValidTypes = []|[{
7207
+
6661
7208
  allowEmptyNamepaths?: boolean
6662
7209
  }]
6663
7210
  // ----- jsx-quotes -----
@@ -7414,12 +7961,16 @@ type NoRestrictedImports = ((string | {
7414
7961
  message?: string
7415
7962
  importNames?: string[]
7416
7963
  allowImportNames?: string[]
7964
+
7965
+ allowTypeImports?: boolean
7417
7966
  })[] | []|[{
7418
7967
  paths?: (string | {
7419
7968
  name: string
7420
7969
  message?: string
7421
7970
  importNames?: string[]
7422
7971
  allowImportNames?: string[]
7972
+
7973
+ allowTypeImports?: boolean
7423
7974
  })[]
7424
7975
  patterns?: (string[] | ({
7425
7976
  [k: string]: unknown | undefined
@@ -10573,6 +11124,11 @@ type PreferReflect = []|[{
10573
11124
  type PreferRegexLiterals = []|[{
10574
11125
  disallowRedundantWrapping?: boolean
10575
11126
  }]
11127
+ // ----- preserve-caught-error -----
11128
+ type PreserveCaughtError = []|[{
11129
+
11130
+ requireCatchParameter?: boolean
11131
+ }]
10576
11132
  // ----- quote-props -----
10577
11133
  type QuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
10578
11134
  keywords?: boolean
@@ -10586,10 +11142,124 @@ type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "b
10586
11142
  })]
10587
11143
  // ----- radix -----
10588
11144
  type Radix = []|[("always" | "as-needed")]
11145
+ // ----- react-hooks/automatic-effect-dependencies -----
11146
+ type ReactHooksAutomaticEffectDependencies = []|[{
11147
+ [k: string]: unknown | undefined
11148
+ }]
11149
+ // ----- react-hooks/capitalized-calls -----
11150
+ type ReactHooksCapitalizedCalls = []|[{
11151
+ [k: string]: unknown | undefined
11152
+ }]
11153
+ // ----- react-hooks/component-hook-factories -----
11154
+ type ReactHooksComponentHookFactories = []|[{
11155
+ [k: string]: unknown | undefined
11156
+ }]
11157
+ // ----- react-hooks/config -----
11158
+ type ReactHooksConfig = []|[{
11159
+ [k: string]: unknown | undefined
11160
+ }]
11161
+ // ----- react-hooks/error-boundaries -----
11162
+ type ReactHooksErrorBoundaries = []|[{
11163
+ [k: string]: unknown | undefined
11164
+ }]
10589
11165
  // ----- react-hooks/exhaustive-deps -----
10590
11166
  type ReactHooksExhaustiveDeps = []|[{
10591
11167
  additionalHooks?: string
10592
11168
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
11169
+ experimental_autoDependenciesHooks?: string[]
11170
+ requireExplicitEffectDeps?: boolean
11171
+ }]
11172
+ // ----- react-hooks/fbt -----
11173
+ type ReactHooksFbt = []|[{
11174
+ [k: string]: unknown | undefined
11175
+ }]
11176
+ // ----- react-hooks/fire -----
11177
+ type ReactHooksFire = []|[{
11178
+ [k: string]: unknown | undefined
11179
+ }]
11180
+ // ----- react-hooks/gating -----
11181
+ type ReactHooksGating = []|[{
11182
+ [k: string]: unknown | undefined
11183
+ }]
11184
+ // ----- react-hooks/globals -----
11185
+ type ReactHooksGlobals = []|[{
11186
+ [k: string]: unknown | undefined
11187
+ }]
11188
+ // ----- react-hooks/hooks -----
11189
+ type ReactHooksHooks = []|[{
11190
+ [k: string]: unknown | undefined
11191
+ }]
11192
+ // ----- react-hooks/immutability -----
11193
+ type ReactHooksImmutability = []|[{
11194
+ [k: string]: unknown | undefined
11195
+ }]
11196
+ // ----- react-hooks/incompatible-library -----
11197
+ type ReactHooksIncompatibleLibrary = []|[{
11198
+ [k: string]: unknown | undefined
11199
+ }]
11200
+ // ----- react-hooks/invariant -----
11201
+ type ReactHooksInvariant = []|[{
11202
+ [k: string]: unknown | undefined
11203
+ }]
11204
+ // ----- react-hooks/memoized-effect-dependencies -----
11205
+ type ReactHooksMemoizedEffectDependencies = []|[{
11206
+ [k: string]: unknown | undefined
11207
+ }]
11208
+ // ----- react-hooks/no-deriving-state-in-effects -----
11209
+ type ReactHooksNoDerivingStateInEffects = []|[{
11210
+ [k: string]: unknown | undefined
11211
+ }]
11212
+ // ----- react-hooks/preserve-manual-memoization -----
11213
+ type ReactHooksPreserveManualMemoization = []|[{
11214
+ [k: string]: unknown | undefined
11215
+ }]
11216
+ // ----- react-hooks/purity -----
11217
+ type ReactHooksPurity = []|[{
11218
+ [k: string]: unknown | undefined
11219
+ }]
11220
+ // ----- react-hooks/refs -----
11221
+ type ReactHooksRefs = []|[{
11222
+ [k: string]: unknown | undefined
11223
+ }]
11224
+ // ----- react-hooks/rule-suppression -----
11225
+ type ReactHooksRuleSuppression = []|[{
11226
+ [k: string]: unknown | undefined
11227
+ }]
11228
+ // ----- react-hooks/rules-of-hooks -----
11229
+ type ReactHooksRulesOfHooks = []|[{
11230
+ additionalHooks?: string
11231
+ }]
11232
+ // ----- react-hooks/set-state-in-effect -----
11233
+ type ReactHooksSetStateInEffect = []|[{
11234
+ [k: string]: unknown | undefined
11235
+ }]
11236
+ // ----- react-hooks/set-state-in-render -----
11237
+ type ReactHooksSetStateInRender = []|[{
11238
+ [k: string]: unknown | undefined
11239
+ }]
11240
+ // ----- react-hooks/static-components -----
11241
+ type ReactHooksStaticComponents = []|[{
11242
+ [k: string]: unknown | undefined
11243
+ }]
11244
+ // ----- react-hooks/syntax -----
11245
+ type ReactHooksSyntax = []|[{
11246
+ [k: string]: unknown | undefined
11247
+ }]
11248
+ // ----- react-hooks/todo -----
11249
+ type ReactHooksTodo = []|[{
11250
+ [k: string]: unknown | undefined
11251
+ }]
11252
+ // ----- react-hooks/unsupported-syntax -----
11253
+ type ReactHooksUnsupportedSyntax = []|[{
11254
+ [k: string]: unknown | undefined
11255
+ }]
11256
+ // ----- react-hooks/use-memo -----
11257
+ type ReactHooksUseMemo = []|[{
11258
+ [k: string]: unknown | undefined
11259
+ }]
11260
+ // ----- react-hooks/void-use-memo -----
11261
+ type ReactHooksVoidUseMemo = []|[{
11262
+ [k: string]: unknown | undefined
10593
11263
  }]
10594
11264
  // ----- react-refresh/only-export-components -----
10595
11265
  type ReactRefreshOnlyExportComponents = []|[{
@@ -10764,6 +11434,10 @@ type UnicornNoArrayReduce = []|[{
10764
11434
  type UnicornNoArrayReverse = []|[{
10765
11435
  allowExpressionStatement?: boolean
10766
11436
  }]
11437
+ // ----- unicorn/no-array-sort -----
11438
+ type UnicornNoArraySort = []|[{
11439
+ allowExpressionStatement?: boolean
11440
+ }]
10767
11441
  // ----- unicorn/no-instanceof-builtins -----
10768
11442
  type UnicornNoInstanceofBuiltins = []|[{
10769
11443
  useErrorIsError?: boolean
@@ -10913,6 +11587,10 @@ type UnicornTemplateIndent = []|[{
10913
11587
  selectors?: string[]
10914
11588
  comments?: string[]
10915
11589
  }]
11590
+ // ----- unicorn/text-encoding-identifier-case -----
11591
+ type UnicornTextEncodingIdentifierCase = []|[{
11592
+ withDash?: boolean
11593
+ }]
10916
11594
  // ----- unused-imports/no-unused-imports -----
10917
11595
  type UnusedImportsNoUnusedImports = []|[(("all" | "local") | {
10918
11596
 
@@ -10930,6 +11608,8 @@ type UnusedImportsNoUnusedImports = []|[(("all" | "local") | {
10930
11608
 
10931
11609
  ignoreRestSiblings?: boolean
10932
11610
 
11611
+ ignoreUsingDeclarations?: boolean
11612
+
10933
11613
  reportUsedIgnorePattern?: boolean
10934
11614
 
10935
11615
  vars?: ("all" | "local")
@@ -10953,6 +11633,8 @@ type UnusedImportsNoUnusedVars = []|[(("all" | "local") | {
10953
11633
 
10954
11634
  ignoreRestSiblings?: boolean
10955
11635
 
11636
+ ignoreUsingDeclarations?: boolean
11637
+
10956
11638
  reportUsedIgnorePattern?: boolean
10957
11639
 
10958
11640
  vars?: ("all" | "local")