@so1ve/eslint-config 3.3.2 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -167,7 +167,7 @@ interface RuleOptions {
167
167
  */
168
168
  'default-case'?: Linter.RuleEntry<DefaultCase>;
169
169
  /**
170
- * Enforce default clauses in switch statements to be last
170
+ * Enforce `default` clauses in `switch` statements to be last
171
171
  * @see https://eslint.org/docs/latest/rules/default-case-last
172
172
  */
173
173
  'default-case-last'?: Linter.RuleEntry<[]>;
@@ -244,7 +244,7 @@ interface RuleOptions {
244
244
  */
245
245
  'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>;
246
246
  /**
247
- * Enforce "for" loop update clause moving the counter in the right direction
247
+ * Enforce `for` loop update clause moving the counter in the right direction
248
248
  * @see https://eslint.org/docs/latest/rules/for-direction
249
249
  */
250
250
  'for-direction'?: Linter.RuleEntry<[]>;
@@ -358,6 +358,11 @@ interface RuleOptions {
358
358
  * @see https://html-eslint.org/docs/rules/no-aria-hidden-body
359
359
  */
360
360
  'html/no-aria-hidden-body'?: Linter.RuleEntry<[]>;
361
+ /**
362
+ * Disallow aria-hidden="true" on focusable elements
363
+ * @see https://html-eslint.org/docs/rules/no-aria-hidden-on-focusable
364
+ */
365
+ 'html/no-aria-hidden-on-focusable'?: Linter.RuleEntry<[]>;
361
366
  /**
362
367
  * Disallow to use duplicate attributes
363
368
  * @see https://html-eslint.org/docs/rules/no-duplicate-attrs
@@ -373,6 +378,16 @@ interface RuleOptions {
373
378
  * @see https://html-eslint.org/docs/rules/no-duplicate-id
374
379
  */
375
380
  'html/no-duplicate-id'?: Linter.RuleEntry<[]>;
381
+ /**
382
+ * Disallow duplicate tags in `<head>`
383
+ * @see https://html-eslint.org/docs/rules/no-duplicate-in-head
384
+ */
385
+ 'html/no-duplicate-in-head'?: Linter.RuleEntry<[]>;
386
+ /**
387
+ * Disallow empty or inaccessible headings.
388
+ * @see https://html-eslint.org/docs/rules/no-empty-headings
389
+ */
390
+ 'html/no-empty-headings'?: Linter.RuleEntry<[]>;
376
391
  /**
377
392
  * Disallow an extra spacing around attributes
378
393
  * @see https://html-eslint.org/docs/rules/no-extra-spacing-attrs
@@ -393,6 +408,11 @@ interface RuleOptions {
393
408
  * @see https://html-eslint.org/docs/rules/no-inline-styles
394
409
  */
395
410
  'html/no-inline-styles'?: Linter.RuleEntry<[]>;
411
+ /**
412
+ * Disallows the use of invalid HTML entities
413
+ * @see https://html-eslint.org/docs/rules/no-invalid-entity
414
+ */
415
+ 'html/no-invalid-entity'?: Linter.RuleEntry<[]>;
396
416
  /**
397
417
  * Disallows use of invalid role.
398
418
  * @see https://html-eslint.org/docs/rules/no-invalid-role
@@ -1010,7 +1030,7 @@ interface RuleOptions {
1010
1030
  * disallow unnecessary escape usage
1011
1031
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
1012
1032
  */
1013
- 'jsonc/no-useless-escape'?: Linter.RuleEntry<[]>;
1033
+ 'jsonc/no-useless-escape'?: Linter.RuleEntry<JsoncNoUselessEscape>;
1014
1034
  /**
1015
1035
  * enforce consistent line breaks inside braces
1016
1036
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
@@ -1264,7 +1284,7 @@ interface RuleOptions {
1264
1284
  */
1265
1285
  'no-class-assign'?: Linter.RuleEntry<[]>;
1266
1286
  /**
1267
- * Disallow comparing against -0
1287
+ * Disallow comparing against `-0`
1268
1288
  * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
1269
1289
  */
1270
1290
  'no-compare-neg-zero'?: Linter.RuleEntry<[]>;
@@ -1678,7 +1698,7 @@ interface RuleOptions {
1678
1698
  */
1679
1699
  'no-only-tests/no-only-tests'?: Linter.RuleEntry<NoOnlyTestsNoOnlyTests>;
1680
1700
  /**
1681
- * Disallow reassigning `function` parameters
1701
+ * Disallow reassigning function parameters
1682
1702
  * @see https://eslint.org/docs/latest/rules/no-param-reassign
1683
1703
  */
1684
1704
  'no-param-reassign'?: Linter.RuleEntry<NoParamReassign>;
@@ -1773,7 +1793,7 @@ interface RuleOptions {
1773
1793
  */
1774
1794
  'no-return-await'?: Linter.RuleEntry<[]>;
1775
1795
  /**
1776
- * Disallow `javascript:` urls
1796
+ * Disallow `javascript:` URLs
1777
1797
  * @see https://eslint.org/docs/latest/rules/no-script-url
1778
1798
  */
1779
1799
  'no-script-url'?: Linter.RuleEntry<[]>;
@@ -1806,7 +1826,7 @@ interface RuleOptions {
1806
1826
  * Disallow identifiers from shadowing restricted names
1807
1827
  * @see https://eslint.org/docs/latest/rules/no-shadow-restricted-names
1808
1828
  */
1809
- 'no-shadow-restricted-names'?: Linter.RuleEntry<[]>;
1829
+ 'no-shadow-restricted-names'?: Linter.RuleEntry<NoShadowRestrictedNames>;
1810
1830
  /**
1811
1831
  * Disallow spacing between function identifiers and their applications (deprecated)
1812
1832
  * @see https://eslint.org/docs/latest/rules/no-spaced-func
@@ -1856,6 +1876,11 @@ interface RuleOptions {
1856
1876
  * @deprecated
1857
1877
  */
1858
1878
  'no-trailing-spaces'?: Linter.RuleEntry<NoTrailingSpaces>;
1879
+ /**
1880
+ * Disallow `let` or `var` variables that are read but never assigned
1881
+ * @see https://eslint.org/docs/latest/rules/no-unassigned-vars
1882
+ */
1883
+ 'no-unassigned-vars'?: Linter.RuleEntry<[]>;
1859
1884
  /**
1860
1885
  * Disallow the use of undeclared variables unless mentioned in `/*global *\/` comments
1861
1886
  * @see https://eslint.org/docs/latest/rules/no-undef
@@ -1980,7 +2005,7 @@ interface RuleOptions {
1980
2005
  * Disallow unnecessary escape characters
1981
2006
  * @see https://eslint.org/docs/latest/rules/no-useless-escape
1982
2007
  */
1983
- 'no-useless-escape'?: Linter.RuleEntry<[]>;
2008
+ 'no-useless-escape'?: Linter.RuleEntry<NoUselessEscape>;
1984
2009
  /**
1985
2010
  * Disallow renaming import, export, and destructured assignments to the same name
1986
2011
  * @see https://eslint.org/docs/latest/rules/no-useless-rename
@@ -2323,7 +2348,7 @@ interface RuleOptions {
2323
2348
  */
2324
2349
  'prefer-object-has-own'?: Linter.RuleEntry<[]>;
2325
2350
  /**
2326
- * Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead
2351
+ * Disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead
2327
2352
  * @see https://eslint.org/docs/latest/rules/prefer-object-spread
2328
2353
  */
2329
2354
  'prefer-object-spread'?: Linter.RuleEntry<[]>;
@@ -2881,10 +2906,10 @@ interface RuleOptions {
2881
2906
  */
2882
2907
  'require-await'?: Linter.RuleEntry<[]>;
2883
2908
  /**
2884
- * Enforce the use of `u` or `v` flag on RegExp
2909
+ * Enforce the use of `u` or `v` flag on regular expressions
2885
2910
  * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
2886
2911
  */
2887
- 'require-unicode-regexp'?: Linter.RuleEntry<[]>;
2912
+ 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>;
2888
2913
  /**
2889
2914
  * Require generator functions to contain `yield`
2890
2915
  * @see https://eslint.org/docs/latest/rules/require-yield
@@ -3061,7 +3086,7 @@ interface RuleOptions {
3061
3086
  */
3062
3087
  'solid/style-prop'?: Linter.RuleEntry<SolidStyleProp>;
3063
3088
  /**
3064
- * Enforce sorted import declarations within modules
3089
+ * Enforce sorted `import` declarations within modules
3065
3090
  * @see https://eslint.org/docs/latest/rules/sort-imports
3066
3091
  */
3067
3092
  'sort-imports'?: Linter.RuleEntry<SortImports>;
@@ -3126,483 +3151,478 @@ interface RuleOptions {
3126
3151
  'strict'?: Linter.RuleEntry<Strict>;
3127
3152
  /**
3128
3153
  * Enforce linebreaks after opening and before closing array brackets
3129
- * @see https://eslint.style/rules/js/array-bracket-newline
3154
+ * @see https://eslint.style/rules/array-bracket-newline
3130
3155
  */
3131
3156
  'style/array-bracket-newline'?: Linter.RuleEntry<StyleArrayBracketNewline>;
3132
3157
  /**
3133
3158
  * Enforce consistent spacing inside array brackets
3134
- * @see https://eslint.style/rules/js/array-bracket-spacing
3159
+ * @see https://eslint.style/rules/array-bracket-spacing
3135
3160
  */
3136
3161
  'style/array-bracket-spacing'?: Linter.RuleEntry<StyleArrayBracketSpacing>;
3137
3162
  /**
3138
3163
  * Enforce line breaks after each array element
3139
- * @see https://eslint.style/rules/js/array-element-newline
3164
+ * @see https://eslint.style/rules/array-element-newline
3140
3165
  */
3141
3166
  'style/array-element-newline'?: Linter.RuleEntry<StyleArrayElementNewline>;
3142
3167
  /**
3143
3168
  * Require parentheses around arrow function arguments
3144
- * @see https://eslint.style/rules/js/arrow-parens
3169
+ * @see https://eslint.style/rules/arrow-parens
3145
3170
  */
3146
3171
  'style/arrow-parens'?: Linter.RuleEntry<StyleArrowParens>;
3147
3172
  /**
3148
3173
  * Enforce consistent spacing before and after the arrow in arrow functions
3149
- * @see https://eslint.style/rules/js/arrow-spacing
3174
+ * @see https://eslint.style/rules/arrow-spacing
3150
3175
  */
3151
3176
  'style/arrow-spacing'?: Linter.RuleEntry<StyleArrowSpacing>;
3152
3177
  /**
3153
3178
  * Disallow or enforce spaces inside of blocks after opening block and before closing block
3154
- * @see https://eslint.style/rules/ts/block-spacing
3179
+ * @see https://eslint.style/rules/block-spacing
3155
3180
  */
3156
3181
  'style/block-spacing'?: Linter.RuleEntry<StyleBlockSpacing>;
3157
3182
  /**
3158
3183
  * Enforce consistent brace style for blocks
3159
- * @see https://eslint.style/rules/ts/brace-style
3184
+ * @see https://eslint.style/rules/brace-style
3160
3185
  */
3161
3186
  'style/brace-style'?: Linter.RuleEntry<StyleBraceStyle>;
3162
3187
  /**
3163
3188
  * Require or disallow trailing commas
3164
- * @see https://eslint.style/rules/ts/comma-dangle
3189
+ * @see https://eslint.style/rules/comma-dangle
3165
3190
  */
3166
3191
  'style/comma-dangle'?: Linter.RuleEntry<StyleCommaDangle>;
3167
3192
  /**
3168
3193
  * Enforce consistent spacing before and after commas
3169
- * @see https://eslint.style/rules/ts/comma-spacing
3194
+ * @see https://eslint.style/rules/comma-spacing
3170
3195
  */
3171
3196
  'style/comma-spacing'?: Linter.RuleEntry<StyleCommaSpacing>;
3172
3197
  /**
3173
3198
  * Enforce consistent comma style
3174
- * @see https://eslint.style/rules/js/comma-style
3199
+ * @see https://eslint.style/rules/comma-style
3175
3200
  */
3176
3201
  'style/comma-style'?: Linter.RuleEntry<StyleCommaStyle>;
3177
3202
  /**
3178
3203
  * Enforce consistent spacing inside computed property brackets
3179
- * @see https://eslint.style/rules/js/computed-property-spacing
3204
+ * @see https://eslint.style/rules/computed-property-spacing
3180
3205
  */
3181
3206
  'style/computed-property-spacing'?: Linter.RuleEntry<StyleComputedPropertySpacing>;
3182
3207
  /**
3183
3208
  * Enforce consistent line breaks after opening and before closing braces
3184
- * @see https://eslint.style/rules/plus/curly-newline
3209
+ * @see https://eslint.style/rules/curly-newline
3185
3210
  */
3186
3211
  'style/curly-newline'?: Linter.RuleEntry<StyleCurlyNewline>;
3187
3212
  /**
3188
3213
  * Enforce consistent newlines before and after dots
3189
- * @see https://eslint.style/rules/js/dot-location
3214
+ * @see https://eslint.style/rules/dot-location
3190
3215
  */
3191
3216
  'style/dot-location'?: Linter.RuleEntry<StyleDotLocation>;
3192
3217
  /**
3193
3218
  * Require or disallow newline at the end of files
3194
- * @see https://eslint.style/rules/js/eol-last
3219
+ * @see https://eslint.style/rules/eol-last
3195
3220
  */
3196
3221
  'style/eol-last'?: Linter.RuleEntry<StyleEolLast>;
3197
- /**
3198
- * Require or disallow spacing between function identifiers and their invocations
3199
- * @see https://eslint.style/rules/ts/function-call-spacing
3200
- */
3201
- 'style/func-call-spacing'?: Linter.RuleEntry<StyleFuncCallSpacing>;
3202
3222
  /**
3203
3223
  * Enforce line breaks between arguments of a function call
3204
- * @see https://eslint.style/rules/js/function-call-argument-newline
3224
+ * @see https://eslint.style/rules/function-call-argument-newline
3205
3225
  */
3206
3226
  'style/function-call-argument-newline'?: Linter.RuleEntry<StyleFunctionCallArgumentNewline>;
3207
3227
  /**
3208
3228
  * Require or disallow spacing between function identifiers and their invocations
3209
- * @see https://eslint.style/rules/ts/function-call-spacing
3229
+ * @see https://eslint.style/rules/function-call-spacing
3210
3230
  */
3211
3231
  'style/function-call-spacing'?: Linter.RuleEntry<StyleFunctionCallSpacing>;
3212
3232
  /**
3213
3233
  * Enforce consistent line breaks inside function parentheses
3214
- * @see https://eslint.style/rules/js/function-paren-newline
3234
+ * @see https://eslint.style/rules/function-paren-newline
3215
3235
  */
3216
3236
  'style/function-paren-newline'?: Linter.RuleEntry<StyleFunctionParenNewline>;
3217
3237
  /**
3218
3238
  * Enforce consistent spacing around `*` operators in generator functions
3219
- * @see https://eslint.style/rules/js/generator-star-spacing
3239
+ * @see https://eslint.style/rules/generator-star-spacing
3220
3240
  */
3221
3241
  'style/generator-star-spacing'?: Linter.RuleEntry<StyleGeneratorStarSpacing>;
3222
3242
  /**
3223
3243
  * Enforce the location of arrow function bodies
3224
- * @see https://eslint.style/rules/js/implicit-arrow-linebreak
3244
+ * @see https://eslint.style/rules/implicit-arrow-linebreak
3225
3245
  */
3226
3246
  'style/implicit-arrow-linebreak'?: Linter.RuleEntry<StyleImplicitArrowLinebreak>;
3227
3247
  /**
3228
3248
  * Enforce consistent indentation
3229
- * @see https://eslint.style/rules/ts/indent
3249
+ * @see https://eslint.style/rules/indent
3230
3250
  */
3231
3251
  'style/indent'?: Linter.RuleEntry<StyleIndent>;
3232
3252
  /**
3233
3253
  * Indentation for binary operators
3234
- * @see https://eslint.style/rules/plus/indent-binary-ops
3254
+ * @see https://eslint.style/rules/indent-binary-ops
3235
3255
  */
3236
3256
  'style/indent-binary-ops'?: Linter.RuleEntry<StyleIndentBinaryOps>;
3237
3257
  /**
3238
3258
  * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
3239
- * @see https://eslint.style/rules/jsx/jsx-child-element-spacing
3259
+ * @see https://eslint.style/rules/jsx-child-element-spacing
3240
3260
  */
3241
3261
  'style/jsx-child-element-spacing'?: Linter.RuleEntry<[]>;
3242
3262
  /**
3243
3263
  * Enforce closing bracket location in JSX
3244
- * @see https://eslint.style/rules/jsx/jsx-closing-bracket-location
3264
+ * @see https://eslint.style/rules/jsx-closing-bracket-location
3245
3265
  */
3246
3266
  'style/jsx-closing-bracket-location'?: Linter.RuleEntry<StyleJsxClosingBracketLocation>;
3247
3267
  /**
3248
3268
  * Enforce closing tag location for multiline JSX
3249
- * @see https://eslint.style/rules/jsx/jsx-closing-tag-location
3269
+ * @see https://eslint.style/rules/jsx-closing-tag-location
3250
3270
  */
3251
3271
  'style/jsx-closing-tag-location'?: Linter.RuleEntry<StyleJsxClosingTagLocation>;
3252
3272
  /**
3253
3273
  * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
3254
- * @see https://eslint.style/rules/jsx/jsx-curly-brace-presence
3274
+ * @see https://eslint.style/rules/jsx-curly-brace-presence
3255
3275
  */
3256
3276
  'style/jsx-curly-brace-presence'?: Linter.RuleEntry<StyleJsxCurlyBracePresence>;
3257
3277
  /**
3258
3278
  * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
3259
- * @see https://eslint.style/rules/jsx/jsx-curly-newline
3279
+ * @see https://eslint.style/rules/jsx-curly-newline
3260
3280
  */
3261
3281
  'style/jsx-curly-newline'?: Linter.RuleEntry<StyleJsxCurlyNewline>;
3262
3282
  /**
3263
3283
  * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
3264
- * @see https://eslint.style/rules/jsx/jsx-curly-spacing
3284
+ * @see https://eslint.style/rules/jsx-curly-spacing
3265
3285
  */
3266
3286
  'style/jsx-curly-spacing'?: Linter.RuleEntry<StyleJsxCurlySpacing>;
3267
3287
  /**
3268
3288
  * Enforce or disallow spaces around equal signs in JSX attributes
3269
- * @see https://eslint.style/rules/jsx/jsx-equals-spacing
3289
+ * @see https://eslint.style/rules/jsx-equals-spacing
3270
3290
  */
3271
3291
  'style/jsx-equals-spacing'?: Linter.RuleEntry<StyleJsxEqualsSpacing>;
3272
3292
  /**
3273
3293
  * Enforce proper position of the first property in JSX
3274
- * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
3294
+ * @see https://eslint.style/rules/jsx-first-prop-new-line
3275
3295
  */
3276
3296
  'style/jsx-first-prop-new-line'?: Linter.RuleEntry<StyleJsxFirstPropNewLine>;
3277
3297
  /**
3278
3298
  * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
3279
- * @see https://eslint.style/rules/jsx/jsx-function-call-newline
3299
+ * @see https://eslint.style/rules/jsx-function-call-newline
3280
3300
  */
3281
3301
  'style/jsx-function-call-newline'?: Linter.RuleEntry<StyleJsxFunctionCallNewline>;
3282
3302
  /**
3283
3303
  * Enforce JSX indentation. Deprecated, use `indent` rule instead.
3284
- * @see https://eslint.style/rules/jsx/jsx-indent
3304
+ * @see https://eslint.style/rules/jsx-indent
3285
3305
  * @deprecated
3286
3306
  */
3287
3307
  'style/jsx-indent'?: Linter.RuleEntry<StyleJsxIndent>;
3288
3308
  /**
3289
3309
  * Enforce props indentation in JSX
3290
- * @see https://eslint.style/rules/jsx/jsx-indent-props
3310
+ * @see https://eslint.style/rules/jsx-indent-props
3291
3311
  */
3292
3312
  'style/jsx-indent-props'?: Linter.RuleEntry<StyleJsxIndentProps>;
3293
3313
  /**
3294
3314
  * Enforce maximum of props on a single line in JSX
3295
- * @see https://eslint.style/rules/jsx/jsx-max-props-per-line
3315
+ * @see https://eslint.style/rules/jsx-max-props-per-line
3296
3316
  */
3297
3317
  'style/jsx-max-props-per-line'?: Linter.RuleEntry<StyleJsxMaxPropsPerLine>;
3298
3318
  /**
3299
3319
  * Require or prevent a new line after jsx elements and expressions.
3300
- * @see https://eslint.style/rules/jsx/jsx-newline
3320
+ * @see https://eslint.style/rules/jsx-newline
3301
3321
  */
3302
3322
  'style/jsx-newline'?: Linter.RuleEntry<StyleJsxNewline>;
3303
3323
  /**
3304
3324
  * Require one JSX element per line
3305
- * @see https://eslint.style/rules/jsx/jsx-one-expression-per-line
3325
+ * @see https://eslint.style/rules/jsx-one-expression-per-line
3306
3326
  */
3307
3327
  'style/jsx-one-expression-per-line'?: Linter.RuleEntry<StyleJsxOneExpressionPerLine>;
3308
3328
  /**
3309
3329
  * Enforce PascalCase for user-defined JSX components
3310
- * @see https://eslint.style/rules/jsx/jsx-pascal-case
3330
+ * @see https://eslint.style/rules/jsx-pascal-case
3311
3331
  */
3312
3332
  'style/jsx-pascal-case'?: Linter.RuleEntry<StyleJsxPascalCase>;
3313
3333
  /**
3314
3334
  * Disallow multiple spaces between inline JSX props
3315
- * @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
3335
+ * @see https://eslint.style/rules/jsx-props-no-multi-spaces
3316
3336
  */
3317
3337
  'style/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>;
3318
3338
  /**
3319
3339
  * Enforce the consistent use of either double or single quotes in JSX attributes
3320
- * @see https://eslint.style/rules/js/jsx-quotes
3340
+ * @see https://eslint.style/rules/jsx-quotes
3321
3341
  */
3322
3342
  'style/jsx-quotes'?: Linter.RuleEntry<StyleJsxQuotes>;
3323
3343
  /**
3324
3344
  * Disallow extra closing tags for components without children
3325
- * @see https://eslint.style/rules/jsx/jsx-self-closing-comp
3345
+ * @see https://eslint.style/rules/jsx-self-closing-comp
3326
3346
  */
3327
3347
  'style/jsx-self-closing-comp'?: Linter.RuleEntry<StyleJsxSelfClosingComp>;
3328
3348
  /**
3329
3349
  * Enforce props alphabetical sorting
3330
- * @see https://eslint.style/rules/jsx/jsx-sort-props
3350
+ * @see https://eslint.style/rules/jsx-sort-props
3331
3351
  */
3332
3352
  'style/jsx-sort-props'?: Linter.RuleEntry<StyleJsxSortProps>;
3333
3353
  /**
3334
3354
  * Enforce whitespace in and around the JSX opening and closing brackets
3335
- * @see https://eslint.style/rules/jsx/jsx-tag-spacing
3355
+ * @see https://eslint.style/rules/jsx-tag-spacing
3336
3356
  */
3337
3357
  'style/jsx-tag-spacing'?: Linter.RuleEntry<StyleJsxTagSpacing>;
3338
3358
  /**
3339
3359
  * Disallow missing parentheses around multiline JSX
3340
- * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
3360
+ * @see https://eslint.style/rules/jsx-wrap-multilines
3341
3361
  */
3342
3362
  'style/jsx-wrap-multilines'?: Linter.RuleEntry<StyleJsxWrapMultilines>;
3343
3363
  /**
3344
3364
  * Enforce consistent spacing between property names and type annotations in types and interfaces
3345
- * @see https://eslint.style/rules/ts/key-spacing
3365
+ * @see https://eslint.style/rules/key-spacing
3346
3366
  */
3347
3367
  'style/key-spacing'?: Linter.RuleEntry<StyleKeySpacing>;
3348
3368
  /**
3349
3369
  * Enforce consistent spacing before and after keywords
3350
- * @see https://eslint.style/rules/ts/keyword-spacing
3370
+ * @see https://eslint.style/rules/keyword-spacing
3351
3371
  */
3352
3372
  'style/keyword-spacing'?: Linter.RuleEntry<StyleKeywordSpacing>;
3353
3373
  /**
3354
3374
  * Enforce position of line comments
3355
- * @see https://eslint.style/rules/js/line-comment-position
3375
+ * @see https://eslint.style/rules/line-comment-position
3356
3376
  */
3357
3377
  'style/line-comment-position'?: Linter.RuleEntry<StyleLineCommentPosition>;
3358
3378
  /**
3359
3379
  * Enforce consistent linebreak style
3360
- * @see https://eslint.style/rules/js/linebreak-style
3380
+ * @see https://eslint.style/rules/linebreak-style
3361
3381
  */
3362
3382
  'style/linebreak-style'?: Linter.RuleEntry<StyleLinebreakStyle>;
3363
3383
  /**
3364
3384
  * Require empty lines around comments
3365
- * @see https://eslint.style/rules/ts/lines-around-comment
3385
+ * @see https://eslint.style/rules/lines-around-comment
3366
3386
  */
3367
3387
  'style/lines-around-comment'?: Linter.RuleEntry<StyleLinesAroundComment>;
3368
3388
  /**
3369
3389
  * Require or disallow an empty line between class members
3370
- * @see https://eslint.style/rules/ts/lines-between-class-members
3390
+ * @see https://eslint.style/rules/lines-between-class-members
3371
3391
  */
3372
3392
  'style/lines-between-class-members'?: Linter.RuleEntry<StyleLinesBetweenClassMembers>;
3373
3393
  /**
3374
3394
  * Enforce a maximum line length
3375
- * @see https://eslint.style/rules/js/max-len
3395
+ * @see https://eslint.style/rules/max-len
3376
3396
  */
3377
3397
  'style/max-len'?: Linter.RuleEntry<StyleMaxLen>;
3378
3398
  /**
3379
3399
  * Enforce a maximum number of statements allowed per line
3380
- * @see https://eslint.style/rules/js/max-statements-per-line
3400
+ * @see https://eslint.style/rules/max-statements-per-line
3381
3401
  */
3382
3402
  'style/max-statements-per-line'?: Linter.RuleEntry<StyleMaxStatementsPerLine>;
3383
3403
  /**
3384
3404
  * Require a specific member delimiter style for interfaces and type literals
3385
- * @see https://eslint.style/rules/ts/member-delimiter-style
3405
+ * @see https://eslint.style/rules/member-delimiter-style
3386
3406
  */
3387
3407
  'style/member-delimiter-style'?: Linter.RuleEntry<StyleMemberDelimiterStyle>;
3388
3408
  /**
3389
3409
  * Enforce a particular style for multiline comments
3390
- * @see https://eslint.style/rules/js/multiline-comment-style
3410
+ * @see https://eslint.style/rules/multiline-comment-style
3391
3411
  */
3392
3412
  'style/multiline-comment-style'?: Linter.RuleEntry<StyleMultilineCommentStyle>;
3393
3413
  /**
3394
3414
  * Enforce newlines between operands of ternary expressions
3395
- * @see https://eslint.style/rules/js/multiline-ternary
3415
+ * @see https://eslint.style/rules/multiline-ternary
3396
3416
  */
3397
3417
  'style/multiline-ternary'?: Linter.RuleEntry<StyleMultilineTernary>;
3398
3418
  /**
3399
3419
  * Enforce or disallow parentheses when invoking a constructor with no arguments
3400
- * @see https://eslint.style/rules/js/new-parens
3420
+ * @see https://eslint.style/rules/new-parens
3401
3421
  */
3402
3422
  'style/new-parens'?: Linter.RuleEntry<StyleNewParens>;
3403
3423
  /**
3404
3424
  * Require a newline after each call in a method chain
3405
- * @see https://eslint.style/rules/js/newline-per-chained-call
3425
+ * @see https://eslint.style/rules/newline-per-chained-call
3406
3426
  */
3407
3427
  'style/newline-per-chained-call'?: Linter.RuleEntry<StyleNewlinePerChainedCall>;
3408
3428
  /**
3409
3429
  * Disallow arrow functions where they could be confused with comparisons
3410
- * @see https://eslint.style/rules/js/no-confusing-arrow
3430
+ * @see https://eslint.style/rules/no-confusing-arrow
3411
3431
  */
3412
3432
  'style/no-confusing-arrow'?: Linter.RuleEntry<StyleNoConfusingArrow>;
3413
3433
  /**
3414
3434
  * Disallow unnecessary parentheses
3415
- * @see https://eslint.style/rules/ts/no-extra-parens
3435
+ * @see https://eslint.style/rules/no-extra-parens
3416
3436
  */
3417
3437
  'style/no-extra-parens'?: Linter.RuleEntry<StyleNoExtraParens>;
3418
3438
  /**
3419
3439
  * Disallow unnecessary semicolons
3420
- * @see https://eslint.style/rules/ts/no-extra-semi
3440
+ * @see https://eslint.style/rules/no-extra-semi
3421
3441
  */
3422
3442
  'style/no-extra-semi'?: Linter.RuleEntry<[]>;
3423
3443
  /**
3424
3444
  * Disallow leading or trailing decimal points in numeric literals
3425
- * @see https://eslint.style/rules/js/no-floating-decimal
3445
+ * @see https://eslint.style/rules/no-floating-decimal
3426
3446
  */
3427
3447
  'style/no-floating-decimal'?: Linter.RuleEntry<[]>;
3428
3448
  /**
3429
3449
  * Disallow mixed binary operators
3430
- * @see https://eslint.style/rules/js/no-mixed-operators
3450
+ * @see https://eslint.style/rules/no-mixed-operators
3431
3451
  */
3432
3452
  'style/no-mixed-operators'?: Linter.RuleEntry<StyleNoMixedOperators>;
3433
3453
  /**
3434
3454
  * Disallow mixed spaces and tabs for indentation
3435
- * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
3455
+ * @see https://eslint.style/rules/no-mixed-spaces-and-tabs
3436
3456
  */
3437
3457
  'style/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StyleNoMixedSpacesAndTabs>;
3438
3458
  /**
3439
3459
  * Disallow multiple spaces
3440
- * @see https://eslint.style/rules/js/no-multi-spaces
3460
+ * @see https://eslint.style/rules/no-multi-spaces
3441
3461
  */
3442
3462
  'style/no-multi-spaces'?: Linter.RuleEntry<StyleNoMultiSpaces>;
3443
3463
  /**
3444
3464
  * Disallow multiple empty lines
3445
- * @see https://eslint.style/rules/js/no-multiple-empty-lines
3465
+ * @see https://eslint.style/rules/no-multiple-empty-lines
3446
3466
  */
3447
3467
  'style/no-multiple-empty-lines'?: Linter.RuleEntry<StyleNoMultipleEmptyLines>;
3448
3468
  /**
3449
3469
  * Disallow all tabs
3450
- * @see https://eslint.style/rules/js/no-tabs
3470
+ * @see https://eslint.style/rules/no-tabs
3451
3471
  */
3452
3472
  'style/no-tabs'?: Linter.RuleEntry<StyleNoTabs>;
3453
3473
  /**
3454
3474
  * Disallow trailing whitespace at the end of lines
3455
- * @see https://eslint.style/rules/js/no-trailing-spaces
3475
+ * @see https://eslint.style/rules/no-trailing-spaces
3456
3476
  */
3457
3477
  'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>;
3458
3478
  /**
3459
3479
  * Disallow whitespace before properties
3460
- * @see https://eslint.style/rules/js/no-whitespace-before-property
3480
+ * @see https://eslint.style/rules/no-whitespace-before-property
3461
3481
  */
3462
3482
  'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>;
3463
3483
  /**
3464
3484
  * Enforce the location of single-line statements
3465
- * @see https://eslint.style/rules/js/nonblock-statement-body-position
3485
+ * @see https://eslint.style/rules/nonblock-statement-body-position
3466
3486
  */
3467
3487
  'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>;
3468
3488
  /**
3469
3489
  * Enforce consistent line breaks after opening and before closing braces
3470
- * @see https://eslint.style/rules/ts/object-curly-newline
3490
+ * @see https://eslint.style/rules/object-curly-newline
3471
3491
  */
3472
3492
  'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>;
3473
3493
  /**
3474
3494
  * Enforce consistent spacing inside braces
3475
- * @see https://eslint.style/rules/ts/object-curly-spacing
3495
+ * @see https://eslint.style/rules/object-curly-spacing
3476
3496
  */
3477
3497
  'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>;
3478
3498
  /**
3479
3499
  * Enforce placing object properties on separate lines
3480
- * @see https://eslint.style/rules/ts/object-property-newline
3500
+ * @see https://eslint.style/rules/object-property-newline
3481
3501
  */
3482
3502
  'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>;
3483
3503
  /**
3484
3504
  * Require or disallow newlines around variable declarations
3485
- * @see https://eslint.style/rules/js/one-var-declaration-per-line
3505
+ * @see https://eslint.style/rules/one-var-declaration-per-line
3486
3506
  */
3487
3507
  'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>;
3488
3508
  /**
3489
3509
  * Enforce consistent linebreak style for operators
3490
- * @see https://eslint.style/rules/js/operator-linebreak
3510
+ * @see https://eslint.style/rules/operator-linebreak
3491
3511
  */
3492
3512
  'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>;
3493
3513
  /**
3494
3514
  * Require or disallow padding within blocks
3495
- * @see https://eslint.style/rules/js/padded-blocks
3515
+ * @see https://eslint.style/rules/padded-blocks
3496
3516
  */
3497
3517
  'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>;
3498
3518
  /**
3499
3519
  * Require or disallow padding lines between statements
3500
- * @see https://eslint.style/rules/ts/padding-line-between-statements
3520
+ * @see https://eslint.style/rules/padding-line-between-statements
3501
3521
  */
3502
3522
  'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>;
3503
3523
  /**
3504
3524
  * Require quotes around object literal, type literal, interfaces and enums property names
3505
- * @see https://eslint.style/rules/ts/quote-props
3525
+ * @see https://eslint.style/rules/quote-props
3506
3526
  */
3507
3527
  'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>;
3508
3528
  /**
3509
3529
  * Enforce the consistent use of either backticks, double, or single quotes
3510
- * @see https://eslint.style/rules/ts/quotes
3530
+ * @see https://eslint.style/rules/quotes
3511
3531
  */
3512
3532
  'style/quotes'?: Linter.RuleEntry<StyleQuotes>;
3513
3533
  /**
3514
3534
  * Enforce spacing between rest and spread operators and their expressions
3515
- * @see https://eslint.style/rules/js/rest-spread-spacing
3535
+ * @see https://eslint.style/rules/rest-spread-spacing
3516
3536
  */
3517
3537
  'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>;
3518
3538
  /**
3519
3539
  * Require or disallow semicolons instead of ASI
3520
- * @see https://eslint.style/rules/ts/semi
3540
+ * @see https://eslint.style/rules/semi
3521
3541
  */
3522
3542
  'style/semi'?: Linter.RuleEntry<StyleSemi>;
3523
3543
  /**
3524
3544
  * Enforce consistent spacing before and after semicolons
3525
- * @see https://eslint.style/rules/ts/semi-spacing
3545
+ * @see https://eslint.style/rules/semi-spacing
3526
3546
  */
3527
3547
  'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>;
3528
3548
  /**
3529
3549
  * Enforce location of semicolons
3530
- * @see https://eslint.style/rules/js/semi-style
3550
+ * @see https://eslint.style/rules/semi-style
3531
3551
  */
3532
3552
  'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>;
3533
3553
  /**
3534
3554
  * Enforce consistent spacing before blocks
3535
- * @see https://eslint.style/rules/ts/space-before-blocks
3555
+ * @see https://eslint.style/rules/space-before-blocks
3536
3556
  */
3537
3557
  'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>;
3538
3558
  /**
3539
3559
  * Enforce consistent spacing before function parenthesis
3540
- * @see https://eslint.style/rules/ts/space-before-function-paren
3560
+ * @see https://eslint.style/rules/space-before-function-paren
3541
3561
  */
3542
3562
  'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>;
3543
3563
  /**
3544
3564
  * Enforce consistent spacing inside parentheses
3545
- * @see https://eslint.style/rules/js/space-in-parens
3565
+ * @see https://eslint.style/rules/space-in-parens
3546
3566
  */
3547
3567
  'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>;
3548
3568
  /**
3549
3569
  * Require spacing around infix operators
3550
- * @see https://eslint.style/rules/ts/space-infix-ops
3570
+ * @see https://eslint.style/rules/space-infix-ops
3551
3571
  */
3552
3572
  'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>;
3553
3573
  /**
3554
3574
  * Enforce consistent spacing before or after unary operators
3555
- * @see https://eslint.style/rules/js/space-unary-ops
3575
+ * @see https://eslint.style/rules/space-unary-ops
3556
3576
  */
3557
3577
  'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>;
3558
3578
  /**
3559
3579
  * Enforce consistent spacing after the `//` or `/*` in a comment
3560
- * @see https://eslint.style/rules/js/spaced-comment
3580
+ * @see https://eslint.style/rules/spaced-comment
3561
3581
  */
3562
3582
  'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>;
3563
3583
  /**
3564
3584
  * Enforce spacing around colons of switch statements
3565
- * @see https://eslint.style/rules/js/switch-colon-spacing
3585
+ * @see https://eslint.style/rules/switch-colon-spacing
3566
3586
  */
3567
3587
  'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>;
3568
3588
  /**
3569
3589
  * Require or disallow spacing around embedded expressions of template strings
3570
- * @see https://eslint.style/rules/js/template-curly-spacing
3590
+ * @see https://eslint.style/rules/template-curly-spacing
3571
3591
  */
3572
3592
  'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>;
3573
3593
  /**
3574
3594
  * Require or disallow spacing between template tags and their literals
3575
- * @see https://eslint.style/rules/js/template-tag-spacing
3595
+ * @see https://eslint.style/rules/template-tag-spacing
3576
3596
  */
3577
3597
  'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>;
3578
3598
  /**
3579
3599
  * Require consistent spacing around type annotations
3580
- * @see https://eslint.style/rules/ts/type-annotation-spacing
3600
+ * @see https://eslint.style/rules/type-annotation-spacing
3581
3601
  */
3582
3602
  'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>;
3583
3603
  /**
3584
3604
  * Enforces consistent spacing inside TypeScript type generics
3585
- * @see https://eslint.style/rules/plus/type-generic-spacing
3605
+ * @see https://eslint.style/rules/type-generic-spacing
3586
3606
  */
3587
3607
  'style/type-generic-spacing'?: Linter.RuleEntry<[]>;
3588
3608
  /**
3589
3609
  * Expect space before the type declaration in the named tuple
3590
- * @see https://eslint.style/rules/plus/type-named-tuple-spacing
3610
+ * @see https://eslint.style/rules/type-named-tuple-spacing
3591
3611
  */
3592
3612
  'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>;
3593
3613
  /**
3594
3614
  * Require parentheses around immediate `function` invocations
3595
- * @see https://eslint.style/rules/js/wrap-iife
3615
+ * @see https://eslint.style/rules/wrap-iife
3596
3616
  */
3597
3617
  'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>;
3598
3618
  /**
3599
3619
  * Require parenthesis around regex literals
3600
- * @see https://eslint.style/rules/js/wrap-regex
3620
+ * @see https://eslint.style/rules/wrap-regex
3601
3621
  */
3602
3622
  'style/wrap-regex'?: Linter.RuleEntry<[]>;
3603
3623
  /**
3604
3624
  * Require or disallow spacing around the `*` in `yield*` expressions
3605
- * @see https://eslint.style/rules/js/yield-star-spacing
3625
+ * @see https://eslint.style/rules/yield-star-spacing
3606
3626
  */
3607
3627
  'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>;
3608
3628
  /**
@@ -5101,263 +5121,343 @@ interface RuleOptions {
5101
5121
  'vars-on-top'?: Linter.RuleEntry<[]>;
5102
5122
  /**
5103
5123
  * require .spec test file pattern
5104
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
5124
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
5105
5125
  */
5106
5126
  'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>;
5107
5127
  /**
5108
5128
  * enforce using test or it but not both
5109
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
5129
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
5110
5130
  */
5111
5131
  'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>;
5132
+ /**
5133
+ * enforce using vitest or vi but not both
5134
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md
5135
+ */
5136
+ 'vitest/consistent-vitest-vi'?: Linter.RuleEntry<VitestConsistentVitestVi>;
5112
5137
  /**
5113
5138
  * enforce having expectation in test body
5114
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
5139
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
5115
5140
  */
5116
5141
  'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>;
5117
5142
  /**
5118
5143
  * enforce a maximum number of expect per test
5119
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
5144
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
5120
5145
  */
5121
5146
  'vitest/max-expects'?: Linter.RuleEntry<VitestMaxExpects>;
5122
5147
  /**
5123
5148
  * require describe block to be less than set max value or default value
5124
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
5149
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
5125
5150
  */
5126
5151
  'vitest/max-nested-describe'?: Linter.RuleEntry<VitestMaxNestedDescribe>;
5127
5152
  /**
5128
5153
  * disallow alias methods
5129
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
5154
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
5130
5155
  */
5131
5156
  'vitest/no-alias-methods'?: Linter.RuleEntry<[]>;
5132
5157
  /**
5133
5158
  * disallow commented out tests
5134
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
5159
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
5135
5160
  */
5136
5161
  'vitest/no-commented-out-tests'?: Linter.RuleEntry<[]>;
5137
5162
  /**
5138
5163
  * disallow conditional expects
5139
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
5164
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
5140
5165
  */
5141
5166
  'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>;
5142
5167
  /**
5143
5168
  * disallow conditional tests
5144
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
5169
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
5145
5170
  */
5146
5171
  'vitest/no-conditional-in-test'?: Linter.RuleEntry<[]>;
5147
5172
  /**
5148
5173
  * disallow conditional tests
5149
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
5174
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
5150
5175
  */
5151
5176
  'vitest/no-conditional-tests'?: Linter.RuleEntry<[]>;
5152
5177
  /**
5153
5178
  * disallow disabled tests
5154
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
5179
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
5155
5180
  */
5156
5181
  'vitest/no-disabled-tests'?: Linter.RuleEntry<[]>;
5157
5182
  /**
5158
5183
  * disallow using a callback in asynchronous tests and hooks
5159
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
5184
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
5160
5185
  * @deprecated
5161
5186
  */
5162
5187
  'vitest/no-done-callback'?: Linter.RuleEntry<[]>;
5163
5188
  /**
5164
5189
  * disallow duplicate hooks and teardown hooks
5165
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
5190
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
5166
5191
  */
5167
5192
  'vitest/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
5168
5193
  /**
5169
5194
  * disallow focused tests
5170
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
5195
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
5171
5196
  */
5172
5197
  'vitest/no-focused-tests'?: Linter.RuleEntry<VitestNoFocusedTests>;
5173
5198
  /**
5174
5199
  * disallow setup and teardown hooks
5175
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
5200
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
5176
5201
  */
5177
5202
  'vitest/no-hooks'?: Linter.RuleEntry<VitestNoHooks>;
5178
5203
  /**
5179
5204
  * disallow identical titles
5180
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
5205
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
5181
5206
  */
5182
5207
  'vitest/no-identical-title'?: Linter.RuleEntry<[]>;
5183
5208
  /**
5184
5209
  * disallow importing `node:test`
5185
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
5210
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
5186
5211
  */
5187
5212
  'vitest/no-import-node-test'?: Linter.RuleEntry<[]>;
5213
+ /**
5214
+ * disallow importing Vitest globals
5215
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md
5216
+ */
5217
+ 'vitest/no-importing-vitest-globals'?: Linter.RuleEntry<[]>;
5188
5218
  /**
5189
5219
  * disallow string interpolation in snapshots
5190
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
5220
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
5191
5221
  */
5192
5222
  'vitest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>;
5193
5223
  /**
5194
5224
  * disallow large snapshots
5195
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
5225
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
5196
5226
  */
5197
5227
  'vitest/no-large-snapshots'?: Linter.RuleEntry<VitestNoLargeSnapshots>;
5198
5228
  /**
5199
5229
  * disallow importing from __mocks__ directory
5200
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
5230
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
5201
5231
  */
5202
5232
  'vitest/no-mocks-import'?: Linter.RuleEntry<[]>;
5203
5233
  /**
5204
5234
  * disallow the use of certain matchers
5205
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
5235
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
5206
5236
  */
5207
5237
  'vitest/no-restricted-matchers'?: Linter.RuleEntry<VitestNoRestrictedMatchers>;
5208
5238
  /**
5209
5239
  * disallow specific `vi.` methods
5210
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
5240
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
5211
5241
  */
5212
5242
  'vitest/no-restricted-vi-methods'?: Linter.RuleEntry<VitestNoRestrictedViMethods>;
5213
5243
  /**
5214
5244
  * disallow using `expect` outside of `it` or `test` blocks
5215
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
5245
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
5216
5246
  */
5217
5247
  'vitest/no-standalone-expect'?: Linter.RuleEntry<VitestNoStandaloneExpect>;
5218
5248
  /**
5219
- * disallow using `test` as a prefix
5220
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
5249
+ * disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
5250
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
5221
5251
  */
5222
5252
  'vitest/no-test-prefixes'?: Linter.RuleEntry<[]>;
5223
5253
  /**
5224
5254
  * disallow return statements in tests
5225
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
5255
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
5226
5256
  */
5227
5257
  'vitest/no-test-return-statement'?: Linter.RuleEntry<[]>;
5258
+ /**
5259
+ * Enforce padding around `afterAll` blocks
5260
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
5261
+ */
5262
+ 'vitest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>;
5263
+ /**
5264
+ * Enforce padding around `afterEach` blocks
5265
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
5266
+ */
5267
+ 'vitest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>;
5268
+ /**
5269
+ * Enforce padding around vitest functions
5270
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
5271
+ */
5272
+ 'vitest/padding-around-all'?: Linter.RuleEntry<[]>;
5273
+ /**
5274
+ * Enforce padding around `beforeAll` blocks
5275
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
5276
+ */
5277
+ 'vitest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>;
5278
+ /**
5279
+ * Enforce padding around `beforeEach` blocks
5280
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
5281
+ */
5282
+ 'vitest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>;
5283
+ /**
5284
+ * Enforce padding around `describe` blocks
5285
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
5286
+ */
5287
+ 'vitest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>;
5288
+ /**
5289
+ * Enforce padding around `expect` groups
5290
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
5291
+ */
5292
+ 'vitest/padding-around-expect-groups'?: Linter.RuleEntry<[]>;
5293
+ /**
5294
+ * Enforce padding around `test` blocks
5295
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
5296
+ */
5297
+ 'vitest/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
5228
5298
  /**
5229
5299
  * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
5230
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
5300
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
5231
5301
  */
5232
5302
  'vitest/prefer-called-with'?: Linter.RuleEntry<[]>;
5233
5303
  /**
5234
5304
  * enforce using the built-in comparison matchers
5235
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
5305
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
5236
5306
  */
5237
5307
  'vitest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>;
5308
+ /**
5309
+ * enforce using a function as a describe title over an equivalent string
5310
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-describe-function-title.md
5311
+ */
5312
+ 'vitest/prefer-describe-function-title'?: Linter.RuleEntry<[]>;
5238
5313
  /**
5239
5314
  * enforce using `each` rather than manual loops
5240
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
5315
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
5241
5316
  */
5242
5317
  'vitest/prefer-each'?: Linter.RuleEntry<[]>;
5243
5318
  /**
5244
5319
  * enforce using the built-in quality matchers
5245
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
5320
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
5246
5321
  */
5247
5322
  'vitest/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
5248
5323
  /**
5249
5324
  * enforce using expect assertions instead of callbacks
5250
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
5325
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
5251
5326
  */
5252
5327
  'vitest/prefer-expect-assertions'?: Linter.RuleEntry<VitestPreferExpectAssertions>;
5253
5328
  /**
5254
5329
  * enforce using `expect().resolves` over `expect(await ...)` syntax
5255
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
5330
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
5256
5331
  */
5257
5332
  'vitest/prefer-expect-resolves'?: Linter.RuleEntry<[]>;
5258
5333
  /**
5259
5334
  * enforce having hooks in consistent order
5260
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
5335
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
5261
5336
  */
5262
5337
  'vitest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>;
5263
5338
  /**
5264
5339
  * enforce having hooks before any test cases
5265
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
5340
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
5266
5341
  */
5267
5342
  'vitest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
5343
+ /**
5344
+ * enforce importing Vitest globals
5345
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
5346
+ */
5347
+ 'vitest/prefer-importing-vitest-globals'?: Linter.RuleEntry<[]>;
5268
5348
  /**
5269
5349
  * enforce lowercase titles
5270
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
5350
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
5271
5351
  */
5272
5352
  'vitest/prefer-lowercase-title'?: Linter.RuleEntry<VitestPreferLowercaseTitle>;
5273
5353
  /**
5274
5354
  * enforce mock resolved/rejected shorthands for promises
5275
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
5355
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
5276
5356
  */
5277
5357
  'vitest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
5278
5358
  /**
5279
5359
  * enforce including a hint with external snapshots
5280
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
5360
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
5281
5361
  */
5282
5362
  'vitest/prefer-snapshot-hint'?: Linter.RuleEntry<VitestPreferSnapshotHint>;
5283
5363
  /**
5284
5364
  * enforce using `vi.spyOn`
5285
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
5365
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
5286
5366
  */
5287
5367
  'vitest/prefer-spy-on'?: Linter.RuleEntry<[]>;
5368
+ /**
5369
+ * enforce using `toBe(true)` and `toBe(false)` over matchers that coerce types to boolean
5370
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-boolean-matchers.md
5371
+ */
5372
+ 'vitest/prefer-strict-boolean-matchers'?: Linter.RuleEntry<[]>;
5288
5373
  /**
5289
5374
  * enforce strict equal over equal
5290
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
5375
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
5291
5376
  */
5292
5377
  'vitest/prefer-strict-equal'?: Linter.RuleEntry<[]>;
5293
5378
  /**
5294
5379
  * enforce using toBe()
5295
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
5380
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
5296
5381
  */
5297
5382
  'vitest/prefer-to-be'?: Linter.RuleEntry<[]>;
5298
5383
  /**
5299
5384
  * enforce using toBeFalsy()
5300
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
5385
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
5301
5386
  */
5302
5387
  'vitest/prefer-to-be-falsy'?: Linter.RuleEntry<[]>;
5303
5388
  /**
5304
5389
  * enforce using toBeObject()
5305
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
5390
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
5306
5391
  */
5307
5392
  'vitest/prefer-to-be-object'?: Linter.RuleEntry<[]>;
5308
5393
  /**
5309
5394
  * enforce using `toBeTruthy`
5310
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
5395
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
5311
5396
  */
5312
5397
  'vitest/prefer-to-be-truthy'?: Linter.RuleEntry<[]>;
5313
5398
  /**
5314
5399
  * enforce using toContain()
5315
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
5400
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
5316
5401
  */
5317
5402
  'vitest/prefer-to-contain'?: Linter.RuleEntry<[]>;
5318
5403
  /**
5319
5404
  * enforce using toHaveLength()
5320
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
5405
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
5321
5406
  */
5322
5407
  'vitest/prefer-to-have-length'?: Linter.RuleEntry<[]>;
5323
5408
  /**
5324
5409
  * enforce using `test.todo`
5325
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
5410
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
5326
5411
  */
5327
5412
  'vitest/prefer-todo'?: Linter.RuleEntry<[]>;
5413
+ /**
5414
+ * require `vi.mocked()` over `fn as Mock`
5415
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
5416
+ */
5417
+ 'vitest/prefer-vi-mocked'?: Linter.RuleEntry<[]>;
5328
5418
  /**
5329
5419
  * require setup and teardown to be within a hook
5330
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
5420
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
5331
5421
  */
5332
5422
  'vitest/require-hook'?: Linter.RuleEntry<VitestRequireHook>;
5333
5423
  /**
5334
5424
  * require local Test Context for concurrent snapshot tests
5335
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
5425
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
5336
5426
  */
5337
5427
  'vitest/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>;
5428
+ /**
5429
+ * enforce using type parameters with vitest mock functions
5430
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
5431
+ */
5432
+ 'vitest/require-mock-type-parameters'?: Linter.RuleEntry<VitestRequireMockTypeParameters>;
5338
5433
  /**
5339
5434
  * require toThrow() to be called with an error message
5340
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
5435
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
5341
5436
  */
5342
5437
  'vitest/require-to-throw-message'?: Linter.RuleEntry<[]>;
5343
5438
  /**
5344
5439
  * enforce that all tests are in a top-level describe
5345
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
5440
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
5346
5441
  */
5347
5442
  'vitest/require-top-level-describe'?: Linter.RuleEntry<VitestRequireTopLevelDescribe>;
5348
5443
  /**
5349
5444
  * enforce valid describe callback
5350
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
5445
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
5351
5446
  */
5352
5447
  'vitest/valid-describe-callback'?: Linter.RuleEntry<[]>;
5353
5448
  /**
5354
5449
  * enforce valid `expect()` usage
5355
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
5450
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
5356
5451
  */
5357
5452
  'vitest/valid-expect'?: Linter.RuleEntry<VitestValidExpect>;
5453
+ /**
5454
+ * require promises that have expectations in their chain to be valid
5455
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
5456
+ */
5457
+ 'vitest/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
5358
5458
  /**
5359
5459
  * enforce valid titles
5360
- * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
5460
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
5361
5461
  */
5362
5462
  'vitest/valid-title'?: Linter.RuleEntry<VitestValidTitle>;
5363
5463
  /**
@@ -6837,6 +6937,8 @@ type CapitalizedComments = [] | [("always" | "never")] | [("always" | "never"),
6837
6937
  type ClassMethodsUseThis = [] | [{
6838
6938
  exceptMethods?: string[];
6839
6939
  enforceForClassFields?: boolean;
6940
+ ignoreOverrideMethods?: boolean;
6941
+ ignoreClassesWithImplements?: ("all" | "public-fields");
6840
6942
  }];
6841
6943
  // ----- comma-dangle -----
6842
6944
  type CommaDangle = [] | [(_CommaDangleValue | {
@@ -6863,6 +6965,7 @@ type CommaStyle = [] | [("first" | "last")] | [("first" | "last"), {
6863
6965
  type Complexity = [] | [(number | {
6864
6966
  maximum?: number;
6865
6967
  max?: number;
6968
+ variant?: ("classic" | "modified");
6866
6969
  })];
6867
6970
  // ----- computed-property-spacing -----
6868
6971
  type ComputedPropertySpacing = [] | [("always" | "never")] | [("always" | "never"), {
@@ -6927,6 +7030,7 @@ type _FuncNamesValue = ("always" | "as-needed" | "never");
6927
7030
  // ----- func-style -----
6928
7031
  type FuncStyle = [] | [("declaration" | "expression")] | [("declaration" | "expression"), {
6929
7032
  allowArrowFunctions?: boolean;
7033
+ allowTypeAnnotation?: boolean;
6930
7034
  overrides?: {
6931
7035
  namedExports?: ("declaration" | "expression" | "ignore");
6932
7036
  };
@@ -7513,6 +7617,10 @@ type JsoncNoIrregularWhitespace = [] | [{
7513
7617
  skipRegExps?: boolean;
7514
7618
  skipJSXText?: boolean;
7515
7619
  }];
7620
+ // ----- jsonc/no-useless-escape -----
7621
+ type JsoncNoUselessEscape = [] | [{
7622
+ allowRegexCharacters?: string[];
7623
+ }];
7516
7624
  // ----- jsonc/object-curly-newline -----
7517
7625
  type JsoncObjectCurlyNewline = [] | [((("always" | "never") | {
7518
7626
  multiline?: boolean;
@@ -8129,6 +8237,7 @@ type MaxNestedCallbacks = [] | [(number | {
8129
8237
  type MaxParams = [] | [(number | {
8130
8238
  maximum?: number;
8131
8239
  max?: number;
8240
+ countVoidThis?: boolean;
8132
8241
  })];
8133
8242
  // ----- max-statements -----
8134
8243
  type MaxStatements = [] | [(number | {
@@ -8202,7 +8311,7 @@ type NoEmpty = [] | [{
8202
8311
  }];
8203
8312
  // ----- no-empty-function -----
8204
8313
  type NoEmptyFunction = [] | [{
8205
- allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "asyncFunctions" | "asyncMethods")[];
8314
+ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "asyncFunctions" | "asyncMethods" | "privateConstructors" | "protectedConstructors" | "decoratedFunctions" | "overrideMethods")[];
8206
8315
  }];
8207
8316
  // ----- no-empty-pattern -----
8208
8317
  type NoEmptyPattern = [] | [{
@@ -8294,6 +8403,10 @@ type NoMagicNumbers = [] | [{
8294
8403
  ignoreArrayIndexes?: boolean;
8295
8404
  ignoreDefaultValues?: boolean;
8296
8405
  ignoreClassFieldInitialValues?: boolean;
8406
+ ignoreEnums?: boolean;
8407
+ ignoreNumericLiteralTypes?: boolean;
8408
+ ignoreReadonlyClassProperties?: boolean;
8409
+ ignoreTypeIndexes?: boolean;
8297
8410
  }];
8298
8411
  // ----- no-misleading-character-class -----
8299
8412
  type NoMisleadingCharacterClass = [] | [{
@@ -8392,15 +8505,11 @@ type NoRestrictedImports = ((string | {
8392
8505
  importNames?: string[];
8393
8506
  allowImportNames?: string[];
8394
8507
  })[];
8395
- patterns?: (string[] | {
8396
- importNames?: [string, ...(string)[]];
8397
- allowImportNames?: [string, ...(string)[]];
8398
- group: [string, ...(string)[]];
8399
- importNamePattern?: string;
8400
- allowImportNamePattern?: string;
8401
- message?: string;
8402
- caseSensitive?: boolean;
8403
- }[]);
8508
+ patterns?: (string[] | ({
8509
+ [k: string]: unknown | undefined;
8510
+ } | {
8511
+ [k: string]: unknown | undefined;
8512
+ })[]);
8404
8513
  }]);
8405
8514
  // ----- no-restricted-modules -----
8406
8515
  type NoRestrictedModules = ((string | {
@@ -8415,13 +8524,9 @@ type NoRestrictedModules = ((string | {
8415
8524
  }[]);
8416
8525
  // ----- no-restricted-properties -----
8417
8526
  type NoRestrictedProperties = ({
8418
- object: string;
8419
- property?: string;
8420
- message?: string;
8527
+ [k: string]: unknown | undefined;
8421
8528
  } | {
8422
- object?: string;
8423
- property: string;
8424
- message?: string;
8529
+ [k: string]: unknown | undefined;
8425
8530
  })[];
8426
8531
  // ----- no-restricted-syntax -----
8427
8532
  type NoRestrictedSyntax = (string | {
@@ -8441,9 +8546,15 @@ type NoSequences = [] | [{
8441
8546
  // ----- no-shadow -----
8442
8547
  type NoShadow = [] | [{
8443
8548
  builtinGlobals?: boolean;
8444
- hoist?: ("all" | "functions" | "never");
8549
+ hoist?: ("all" | "functions" | "never" | "types" | "functions-and-types");
8445
8550
  allow?: string[];
8446
8551
  ignoreOnInitialization?: boolean;
8552
+ ignoreTypeValueShadow?: boolean;
8553
+ ignoreFunctionTypeParameterNameValueShadow?: boolean;
8554
+ }];
8555
+ // ----- no-shadow-restricted-names -----
8556
+ type NoShadowRestrictedNames = [] | [{
8557
+ reportGlobalThis?: boolean;
8447
8558
  }];
8448
8559
  // ----- no-sync -----
8449
8560
  type NoSync = [] | [{
@@ -8496,6 +8607,7 @@ type NoUnusedExpressions = [] | [{
8496
8607
  allowTernary?: boolean;
8497
8608
  allowTaggedTemplates?: boolean;
8498
8609
  enforceForJSX?: boolean;
8610
+ ignoreDirectives?: boolean;
8499
8611
  }];
8500
8612
  // ----- no-unused-vars -----
8501
8613
  type NoUnusedVars = [] | [(("all" | "local") | {
@@ -8516,11 +8628,18 @@ type NoUseBeforeDefine = [] | [("nofunc" | {
8516
8628
  classes?: boolean;
8517
8629
  variables?: boolean;
8518
8630
  allowNamedExports?: boolean;
8631
+ enums?: boolean;
8632
+ typedefs?: boolean;
8633
+ ignoreTypeReferences?: boolean;
8519
8634
  })];
8520
8635
  // ----- no-useless-computed-key -----
8521
8636
  type NoUselessComputedKey = [] | [{
8522
8637
  enforceForClassMembers?: boolean;
8523
8638
  }];
8639
+ // ----- no-useless-escape -----
8640
+ type NoUselessEscape = [] | [{
8641
+ allowRegexCharacters?: string[];
8642
+ }];
8524
8643
  // ----- no-useless-rename -----
8525
8644
  type NoUselessRename = [] | [{
8526
8645
  ignoreDestructuring?: boolean;
@@ -9127,6 +9246,10 @@ type RegexpUnicodeProperty = [] | [{
9127
9246
  type RequireAtomicUpdates = [] | [{
9128
9247
  allowProperties?: boolean;
9129
9248
  }];
9249
+ // ----- require-unicode-regexp -----
9250
+ type RequireUnicodeRegexp = [] | [{
9251
+ requireFlag?: ("u" | "v");
9252
+ }];
9130
9253
  // ----- rest-spread-spacing -----
9131
9254
  type RestSpreadSpacing = [] | [("always" | "never")];
9132
9255
  // ----- semi -----
@@ -9208,6 +9331,7 @@ type SortKeys = [] | [("asc" | "desc")] | [("asc" | "desc"), {
9208
9331
  natural?: boolean;
9209
9332
  minKeys?: number;
9210
9333
  allowLineSeparatedGroups?: boolean;
9334
+ ignoreComputedKeys?: boolean;
9211
9335
  }];
9212
9336
  // ----- sort-vars -----
9213
9337
  type SortVars = [] | [{
@@ -9425,16 +9549,6 @@ type StyleCurlyNewline = [] | [(("always" | "never") | {
9425
9549
  minElements?: number;
9426
9550
  consistent?: boolean;
9427
9551
  });
9428
- TSEnumBody?: (("always" | "never") | {
9429
- multiline?: boolean;
9430
- minElements?: number;
9431
- consistent?: boolean;
9432
- });
9433
- TSInterfaceBody?: (("always" | "never") | {
9434
- multiline?: boolean;
9435
- minElements?: number;
9436
- consistent?: boolean;
9437
- });
9438
9552
  TSModuleBlock?: (("always" | "never") | {
9439
9553
  multiline?: boolean;
9440
9554
  minElements?: number;
@@ -9448,14 +9562,6 @@ type StyleCurlyNewline = [] | [(("always" | "never") | {
9448
9562
  type StyleDotLocation = [] | [("object" | "property")];
9449
9563
  // ----- style/eol-last -----
9450
9564
  type StyleEolLast = [] | [("always" | "never" | "unix" | "windows")];
9451
- // ----- style/func-call-spacing -----
9452
- type StyleFuncCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
9453
- allowNewlines?: boolean;
9454
- optionalChain?: {
9455
- before?: boolean;
9456
- after?: boolean;
9457
- };
9458
- }]);
9459
9565
  // ----- style/function-call-argument-newline -----
9460
9566
  type StyleFunctionCallArgumentNewline = [] | [("always" | "never" | "consistent")];
9461
9567
  // ----- style/function-call-spacing -----
@@ -9496,6 +9602,7 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
9496
9602
  var?: (number | ("first" | "off"));
9497
9603
  let?: (number | ("first" | "off"));
9498
9604
  const?: (number | ("first" | "off"));
9605
+ using?: (number | ("first" | "off"));
9499
9606
  });
9500
9607
  outerIIFEBody?: (number | "off");
9501
9608
  MemberExpression?: (number | "off");
@@ -9630,8 +9737,8 @@ type StyleJsxSortProps = [] | [{
9630
9737
  multiline?: ("ignore" | "first" | "last");
9631
9738
  ignoreCase?: boolean;
9632
9739
  noSortAlphabetically?: boolean;
9633
- reservedFirst?: (unknown[] | boolean);
9634
- reservedLast?: unknown[];
9740
+ reservedFirst?: (string[] | boolean);
9741
+ reservedLast?: string[];
9635
9742
  locale?: string;
9636
9743
  }];
9637
9744
  // ----- style/jsx-tag-spacing -----
@@ -9976,6 +10083,10 @@ type StyleKeywordSpacing = [] | [{
9976
10083
  before?: boolean;
9977
10084
  after?: boolean;
9978
10085
  };
10086
+ using?: {
10087
+ before?: boolean;
10088
+ after?: boolean;
10089
+ };
9979
10090
  yield?: {
9980
10091
  before?: boolean;
9981
10092
  after?: boolean;
@@ -10178,6 +10289,11 @@ type StyleNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
10178
10289
  enforceForFunctionPrototypeMethods?: boolean;
10179
10290
  allowParensAfterCommentPattern?: string;
10180
10291
  nestedConditionalExpressions?: boolean;
10292
+ allowNodesInSpreadElement?: {
10293
+ ConditionalExpression?: boolean;
10294
+ LogicalExpression?: boolean;
10295
+ AwaitExpression?: boolean;
10296
+ };
10181
10297
  }]);
10182
10298
  // ----- style/no-mixed-operators -----
10183
10299
  type StyleNoMixedOperators = [] | [{
@@ -10255,6 +10371,11 @@ type StyleObjectCurlyNewline = [] | [((("always" | "never") | {
10255
10371
  minProperties?: number;
10256
10372
  consistent?: boolean;
10257
10373
  });
10374
+ TSEnumBody?: (("always" | "never") | {
10375
+ multiline?: boolean;
10376
+ minProperties?: number;
10377
+ consistent?: boolean;
10378
+ });
10258
10379
  })];
10259
10380
  // ----- style/object-curly-spacing -----
10260
10381
  type StyleObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
@@ -10264,7 +10385,6 @@ type StyleObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never
10264
10385
  // ----- style/object-property-newline -----
10265
10386
  type StyleObjectPropertyNewline = [] | [{
10266
10387
  allowAllPropertiesOnSameLine?: boolean;
10267
- allowMultiplePropertiesPerLine?: boolean;
10268
10388
  }];
10269
10389
  // ----- style/one-var-declaration-per-line -----
10270
10390
  type StyleOneVarDeclarationPerLine = [] | [("always" | "initializations")];
@@ -10288,7 +10408,7 @@ type StylePaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
10288
10408
  }];
10289
10409
  // ----- style/padding-line-between-statements -----
10290
10410
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
10291
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]]);
10411
+ type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-using" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-using" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "using" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-using" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-using" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "using" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-using" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-using" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "using" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]]);
10292
10412
  type StylePaddingLineBetweenStatements = {
10293
10413
  blankLine: _StylePaddingLineBetweenStatementsPaddingType;
10294
10414
  prev: _StylePaddingLineBetweenStatementsStatementType;
@@ -10327,12 +10447,14 @@ type StyleSpaceBeforeBlocks = [] | [(("always" | "never") | {
10327
10447
  keywords?: ("always" | "never" | "off");
10328
10448
  functions?: ("always" | "never" | "off");
10329
10449
  classes?: ("always" | "never" | "off");
10450
+ modules?: ("always" | "never" | "off");
10330
10451
  })];
10331
10452
  // ----- style/space-before-function-paren -----
10332
10453
  type StyleSpaceBeforeFunctionParen = [] | [(("always" | "never") | {
10333
10454
  anonymous?: ("always" | "never" | "ignore");
10334
10455
  named?: ("always" | "never" | "ignore");
10335
10456
  asyncArrow?: ("always" | "never" | "ignore");
10457
+ catch?: ("always" | "never" | "ignore");
10336
10458
  })];
10337
10459
  // ----- style/space-in-parens -----
10338
10460
  type StyleSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
@@ -11168,7 +11290,8 @@ type TsNoRestrictedImports = ((string | {
11168
11290
  patterns?: (string[] | {
11169
11291
  importNames?: [string, ...(string)[]];
11170
11292
  allowImportNames?: [string, ...(string)[]];
11171
- group: [string, ...(string)[]];
11293
+ group?: [string, ...(string)[]];
11294
+ regex?: string;
11172
11295
  importNamePattern?: string;
11173
11296
  allowImportNamePattern?: string;
11174
11297
  message?: string;
@@ -11234,6 +11357,7 @@ type TsNoUnusedExpressions = [] | [{
11234
11357
  allowTernary?: boolean;
11235
11358
  allowTaggedTemplates?: boolean;
11236
11359
  enforceForJSX?: boolean;
11360
+ ignoreDirectives?: boolean;
11237
11361
  }];
11238
11362
  // ----- ts/no-unused-vars -----
11239
11363
  type TsNoUnusedVars = [] | [(("all" | "local") | {
@@ -11733,9 +11857,13 @@ type VitestConsistentTestIt = [] | [{
11733
11857
  fn?: ("test" | "it");
11734
11858
  withinDescribe?: ("test" | "it");
11735
11859
  }];
11860
+ // ----- vitest/consistent-vitest-vi -----
11861
+ type VitestConsistentVitestVi = [] | [{
11862
+ fn?: ("vi" | "vitest");
11863
+ }];
11736
11864
  // ----- vitest/expect-expect -----
11737
11865
  type VitestExpectExpect = [] | [{
11738
- assertFunctionNames?: [] | [string];
11866
+ assertFunctionNames?: string[];
11739
11867
  additionalTestBlockFunctions?: string[];
11740
11868
  }];
11741
11869
  // ----- vitest/max-expects -----
@@ -11793,6 +11921,10 @@ type VitestPreferSnapshotHint = [] | [("always" | "multi")];
11793
11921
  type VitestRequireHook = [] | [{
11794
11922
  allowedFunctionCalls?: string[];
11795
11923
  }];
11924
+ // ----- vitest/require-mock-type-parameters -----
11925
+ type VitestRequireMockTypeParameters = [] | [{
11926
+ checkImportFunctions?: boolean;
11927
+ }];
11796
11928
  // ----- vitest/require-top-level-describe -----
11797
11929
  type VitestRequireTopLevelDescribe = [] | [{
11798
11930
  maxNumberOfTopLevelDescribes?: number;