@kitschpatrol/eslint-config 5.6.0 → 5.7.1

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
@@ -706,6 +706,11 @@ interface RuleOptions {
706
706
  * @see https://html-eslint.org/docs/rules/no-restricted-attrs
707
707
  */
708
708
  'html/no-restricted-attrs'?: Linter.RuleEntry<HtmlNoRestrictedAttrs>
709
+ /**
710
+ * Disallow specified tags
711
+ * @see https://html-eslint.org/docs/rules/no-restricted-tags
712
+ */
713
+ 'html/no-restricted-tags'?: Linter.RuleEntry<HtmlNoRestrictedTags>
709
714
  /**
710
715
  * Enforce to omit type attributes for style sheets and scripts
711
716
  * @see https://html-eslint.org/docs/rules/no-script-style-type
@@ -1115,9 +1120,9 @@ interface RuleOptions {
1115
1120
  * Reports invalid alignment of JSDoc block asterisks.
1116
1121
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
1117
1122
  */
1118
- 'jsdoc/check-alignment'?: Linter.RuleEntry<[]>
1123
+ 'jsdoc/check-alignment'?: Linter.RuleEntry<JsdocCheckAlignment>
1119
1124
  /**
1120
- * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
1125
+ * @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
1121
1126
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
1122
1127
  */
1123
1128
  'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>
@@ -1132,7 +1137,7 @@ interface RuleOptions {
1132
1137
  */
1133
1138
  'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>
1134
1139
  /**
1135
- * Ensures that parameter names in JSDoc match those in the function declaration.
1140
+ * Checks for dupe `@param` names, that nested param names have roots, and that parameter names in function declarations match JSDoc param names.
1136
1141
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
1137
1142
  */
1138
1143
  'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>
@@ -1157,7 +1162,7 @@ interface RuleOptions {
1157
1162
  */
1158
1163
  'jsdoc/check-template-names'?: Linter.RuleEntry<[]>
1159
1164
  /**
1160
- * Reports invalid types.
1165
+ * Reports types deemed invalid (customizable and with defaults, for preventing and/or recommending replacements).
1161
1166
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
1162
1167
  */
1163
1168
  'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>
@@ -1172,12 +1177,12 @@ interface RuleOptions {
1172
1177
  */
1173
1178
  'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>
1174
1179
  /**
1175
- * Expects specific tags to be empty of any content.
1180
+ * Checks tags that are expected to be empty (e.g., `@abstract` or `@async`), reporting if they have content
1176
1181
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
1177
1182
  */
1178
1183
  'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>
1179
1184
  /**
1180
- * Reports an issue with any non-constructor function using `@implements`.
1185
+ * Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
1181
1186
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
1182
1187
  */
1183
1188
  'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>
@@ -1207,17 +1212,17 @@ interface RuleOptions {
1207
1212
  */
1208
1213
  'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>
1209
1214
  /**
1210
- * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
1215
+ * Controls how and whether JSDoc blocks can be expressed as single or multiple line blocks.
1211
1216
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
1212
1217
  */
1213
1218
  'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>
1214
1219
  /**
1215
- * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
1220
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a JSDoc block.
1216
1221
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
1217
1222
  */
1218
1223
  'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>
1219
1224
  /**
1220
- * Detects and removes extra lines of a blank block description
1225
+ * 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.
1221
1226
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
1222
1227
  */
1223
1228
  'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>
@@ -1247,22 +1252,37 @@ interface RuleOptions {
1247
1252
  */
1248
1253
  'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>
1249
1254
  /**
1250
- * This rule reports types being used on `@param` or `@returns`.
1255
+ * This rule reports types being used on `@param` or `@returns` (redundant with TypeScript).
1251
1256
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
1252
1257
  */
1253
1258
  'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>
1254
1259
  /**
1255
- * Checks that types in jsdoc comments are defined.
1260
+ * Besides some expected built-in types, prohibits any types not specified as globals or within `@typedef`.
1256
1261
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
1257
1262
  */
1258
1263
  'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>
1264
+ /**
1265
+ * Prefer `@import` tags to inline `import()` statements.
1266
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md#repos-sticky-header
1267
+ */
1268
+ 'jsdoc/prefer-import-tag'?: Linter.RuleEntry<JsdocPreferImportTag>
1269
+ /**
1270
+ * Reports use of `any` or `*` type
1271
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
1272
+ */
1273
+ 'jsdoc/reject-any-type'?: Linter.RuleEntry<[]>
1274
+ /**
1275
+ * Reports use of `Function` type
1276
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header
1277
+ */
1278
+ 'jsdoc/reject-function-type'?: Linter.RuleEntry<[]>
1259
1279
  /**
1260
1280
  * Requires that each JSDoc line starts with an `*`.
1261
1281
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
1262
1282
  */
1263
1283
  'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>
1264
1284
  /**
1265
- * Requires that all functions have a description.
1285
+ * Requires that all functions (and potentially other contexts) have a description.
1266
1286
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
1267
1287
  */
1268
1288
  'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>
@@ -1272,7 +1292,7 @@ interface RuleOptions {
1272
1292
  */
1273
1293
  'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>
1274
1294
  /**
1275
- * Requires that all functions have examples.
1295
+ * Requires that all functions (and potentially other contexts) have examples.
1276
1296
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
1277
1297
  */
1278
1298
  'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>
@@ -1282,17 +1302,27 @@ interface RuleOptions {
1282
1302
  */
1283
1303
  'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>
1284
1304
  /**
1285
- * Requires a hyphen before the `@param` description.
1305
+ * Requires a hyphen before the `@param` description (and optionally before `@property` descriptions).
1286
1306
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
1287
1307
  */
1288
1308
  'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>
1289
1309
  /**
1290
- * Require JSDoc comments
1310
+ * Checks for presence of JSDoc comments, on functions and potentially other contexts (optionally limited to exports).
1291
1311
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
1292
1312
  */
1293
1313
  'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>
1294
1314
  /**
1295
- * Requires that all function parameters are documented.
1315
+ * Requires a description for `@next` tags
1316
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header
1317
+ */
1318
+ 'jsdoc/require-next-description'?: Linter.RuleEntry<[]>
1319
+ /**
1320
+ * Requires a type for `@next` tags
1321
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
1322
+ */
1323
+ 'jsdoc/require-next-type'?: Linter.RuleEntry<[]>
1324
+ /**
1325
+ * Requires that all function parameters are documented with a `@param` tag.
1296
1326
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
1297
1327
  */
1298
1328
  'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>
@@ -1302,12 +1332,12 @@ interface RuleOptions {
1302
1332
  */
1303
1333
  'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>
1304
1334
  /**
1305
- * Requires that all function parameters have names.
1335
+ * Requires that all `@param` tags have names.
1306
1336
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
1307
1337
  */
1308
1338
  'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>
1309
1339
  /**
1310
- * Requires that each `@param` tag has a `type` value.
1340
+ * Requires that each `@param` tag has a type value (in curly brackets).
1311
1341
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
1312
1342
  */
1313
1343
  'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>
@@ -1322,62 +1352,92 @@ interface RuleOptions {
1322
1352
  */
1323
1353
  'jsdoc/require-property-description'?: Linter.RuleEntry<[]>
1324
1354
  /**
1325
- * Requires that all function `@property` tags have names.
1355
+ * Requires that all `@property` tags have names.
1326
1356
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
1327
1357
  */
1328
1358
  'jsdoc/require-property-name'?: Linter.RuleEntry<[]>
1329
1359
  /**
1330
- * Requires that each `@property` tag has a `type` value.
1360
+ * Requires that each `@property` tag has a type value (in curly brackets).
1331
1361
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
1332
1362
  */
1333
1363
  'jsdoc/require-property-type'?: Linter.RuleEntry<[]>
1334
1364
  /**
1335
- * Requires that returns are documented.
1365
+ * Requires that returns are documented with `@returns`.
1336
1366
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
1337
1367
  */
1338
1368
  'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>
1339
1369
  /**
1340
- * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
1370
+ * Requires a return statement in function body if a `@returns` tag is specified in JSDoc comment(and reports if multiple `@returns` tags are present).
1341
1371
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
1342
1372
  */
1343
1373
  'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>
1344
1374
  /**
1345
- * Requires that the `@returns` tag has a `description` value.
1375
+ * Requires that the `@returns` tag has a `description` value (not including `void`/`undefined` type returns).
1346
1376
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
1347
1377
  */
1348
1378
  'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>
1349
1379
  /**
1350
- * Requires that `@returns` tag has `type` value.
1380
+ * Requires that `@returns` tag has type value (in curly brackets).
1351
1381
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
1352
1382
  */
1353
1383
  'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>
1354
1384
  /**
1355
- * Requires template tags for each generic type parameter
1385
+ * Requires tags be present, optionally for specific contexts
1386
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-tags.md#repos-sticky-header
1387
+ */
1388
+ 'jsdoc/require-tags'?: Linter.RuleEntry<JsdocRequireTags>
1389
+ /**
1390
+ * Requires `@template` tags be present when type parameters are used.
1356
1391
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
1357
1392
  */
1358
1393
  'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>
1359
1394
  /**
1360
- * Requires that throw statements are documented.
1395
+ * Requires a description for `@template` tags
1396
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header
1397
+ */
1398
+ 'jsdoc/require-template-description'?: Linter.RuleEntry<[]>
1399
+ /**
1400
+ * Requires that throw statements are documented with `@throws` tags.
1361
1401
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
1362
1402
  */
1363
1403
  'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>
1364
1404
  /**
1365
- * Requires yields are documented.
1405
+ * Requires a description for `@throws` tags
1406
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header
1407
+ */
1408
+ 'jsdoc/require-throws-description'?: Linter.RuleEntry<[]>
1409
+ /**
1410
+ * Requires a type for `@throws` tags
1411
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
1412
+ */
1413
+ 'jsdoc/require-throws-type'?: Linter.RuleEntry<[]>
1414
+ /**
1415
+ * Requires yields are documented with `@yields` tags.
1366
1416
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
1367
1417
  */
1368
1418
  'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>
1369
1419
  /**
1370
- * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
1420
+ * 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).
1371
1421
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
1372
1422
  */
1373
1423
  'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>
1374
1424
  /**
1375
- * Sorts tags by a specified sequence according to tag name.
1425
+ * Requires a description for `@yields` tags
1426
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header
1427
+ */
1428
+ 'jsdoc/require-yields-description'?: Linter.RuleEntry<[]>
1429
+ /**
1430
+ * Requires a type for `@yields` tags
1431
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
1432
+ */
1433
+ 'jsdoc/require-yields-type'?: Linter.RuleEntry<[]>
1434
+ /**
1435
+ * Sorts tags by a specified sequence according to tag name, optionally adding line breaks between tag groups.
1376
1436
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
1377
1437
  */
1378
1438
  'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>
1379
1439
  /**
1380
- * Enforces lines (or no lines) between tags.
1440
+ * Enforces lines (or no lines) before, after, or between tags.
1381
1441
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
1382
1442
  */
1383
1443
  'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>
@@ -1387,7 +1447,12 @@ interface RuleOptions {
1387
1447
  */
1388
1448
  'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>
1389
1449
  /**
1390
- * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
1450
+ * Formats JSDoc type values.
1451
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
1452
+ */
1453
+ 'jsdoc/type-formatting'?: Linter.RuleEntry<JsdocTypeFormatting>
1454
+ /**
1455
+ * Requires all types/namepaths to be valid JSDoc, Closure compiler, or TypeScript types (configurable in settings).
1391
1456
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
1392
1457
  */
1393
1458
  'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
@@ -1492,7 +1557,7 @@ interface RuleOptions {
1492
1557
  */
1493
1558
  'json-package/restrict-dependency-ranges'?: Linter.RuleEntry<JsonPackageRestrictDependencyRanges>
1494
1559
  /**
1495
- * Dependencies, scripts, and configuration values must be declared in alphabetical order.
1560
+ * Selected collections must be in a consistent order (lexicographical for most; lifecycle-aware for scripts).
1496
1561
  * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/sort-collections.md
1497
1562
  */
1498
1563
  'json-package/sort-collections'?: Linter.RuleEntry<JsonPackageSortCollections>
@@ -3033,12 +3098,12 @@ interface RuleOptions {
3033
3098
  */
3034
3099
  'node/no-hide-core-modules'?: Linter.RuleEntry<NodeNoHideCoreModules>
3035
3100
  /**
3036
- * disallow `import` declarations which import non-existence modules
3101
+ * disallow `import` declarations which import missing modules
3037
3102
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-import.md
3038
3103
  */
3039
3104
  'node/no-missing-import'?: Linter.RuleEntry<NodeNoMissingImport>
3040
3105
  /**
3041
- * disallow `require()` expressions which import non-existence modules
3106
+ * disallow `require()` expressions which import missing modules
3042
3107
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-require.md
3043
3108
  */
3044
3109
  'node/no-missing-require'?: Linter.RuleEntry<NodeNoMissingRequire>
@@ -3412,6 +3477,11 @@ interface RuleOptions {
3412
3477
  * @see https://eslint.org/docs/latest/rules/prefer-template
3413
3478
  */
3414
3479
  'prefer-template'?: Linter.RuleEntry<[]>
3480
+ /**
3481
+ * Disallow losing originally caught error when re-throwing custom errors
3482
+ * @see https://eslint.org/docs/latest/rules/preserve-caught-error
3483
+ */
3484
+ 'preserve-caught-error'?: Linter.RuleEntry<PreserveCaughtError>
3415
3485
  /**
3416
3486
  * Require quotes around object literal property names
3417
3487
  * @see https://eslint.org/docs/latest/rules/quote-props
@@ -3454,16 +3524,6 @@ interface RuleOptions {
3454
3524
  * @see https://eslint-react.xyz/docs/rules/debug-jsx
3455
3525
  */
3456
3526
  'react-debug/jsx'?: Linter.RuleEntry<[]>
3457
- /**
3458
- * Reports all React Hooks.
3459
- * @see https://eslint-react.xyz/docs/rules/debug-hook
3460
- */
3461
- 'react-debug/react-hooks'?: Linter.RuleEntry<[]>
3462
- /**
3463
- * Disallow `children` in void DOM elements.
3464
- * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3465
- */
3466
- 'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
3467
3527
  /**
3468
3528
  * Disallow `dangerouslySetInnerHTML`.
3469
3529
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
@@ -3519,6 +3579,11 @@ interface RuleOptions {
3519
3579
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3520
3580
  */
3521
3581
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>
3582
+ /**
3583
+ * Disallows the use of string style prop.
3584
+ * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3585
+ */
3586
+ 'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
3522
3587
  /**
3523
3588
  * Disallow unknown `DOM` property.
3524
3589
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
@@ -3544,61 +3609,11 @@ interface RuleOptions {
3544
3609
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3545
3610
  */
3546
3611
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
3547
- /**
3548
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3549
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3550
- */
3551
- 'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
3552
- /**
3553
- * Disallow unnecessary usage of `useCallback`.
3554
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
3555
- */
3556
- 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
3557
- /**
3558
- * Disallow unnecessary usage of `useMemo`.
3559
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
3560
- */
3561
- 'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
3562
3612
  /**
3563
3613
  * Disallow direct calls to the `set` function of `useState` in `useEffect`.
3564
3614
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
3565
3615
  */
3566
3616
  'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
3567
- /**
3568
- * Disallow direct calls to the `set` function of `useState` in `useLayoutEffect`.
3569
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
3570
- */
3571
- 'react-hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
3572
- /**
3573
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3574
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3575
- */
3576
- 'react-hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
3577
- /**
3578
- * Disallow unnecessary usage of `useCallback`.
3579
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
3580
- */
3581
- 'react-hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
3582
- /**
3583
- * Disallow unnecessary usage of `useMemo`.
3584
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
3585
- */
3586
- 'react-hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
3587
- /**
3588
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3589
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3590
- */
3591
- 'react-hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
3592
- /**
3593
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3594
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3595
- */
3596
- 'react-hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
3597
- /**
3598
- * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
3599
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
3600
- */
3601
- 'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
3602
3617
  /**
3603
3618
  * Enforces naming conventions for components.
3604
3619
  * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
@@ -3644,26 +3659,16 @@ interface RuleOptions {
3644
3659
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3645
3660
  */
3646
3661
  'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
3647
- /**
3648
- * Enforces explicit boolean values for boolean attributes.
3649
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
3650
- */
3651
- 'react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>
3652
- /**
3653
- * Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax.
3654
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
3655
- */
3656
- 'react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
3657
- /**
3658
- * Disallow useless `forwardRef` calls on components that don't use `ref`s.
3659
- * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
3660
- */
3661
- 'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
3662
3662
  /**
3663
3663
  * Enforces that the 'key' attribute is placed before the spread attribute in JSX elements.
3664
3664
  * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
3665
3665
  */
3666
3666
  'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
3667
+ /**
3668
+ * Prevents comments from being inserted as text nodes.
3669
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3670
+ */
3671
+ 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
3667
3672
  /**
3668
3673
  * Disallow duplicate props in JSX elements.
3669
3674
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
@@ -3679,6 +3684,16 @@ interface RuleOptions {
3679
3684
  * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
3680
3685
  */
3681
3686
  'react/jsx-no-undef'?: Linter.RuleEntry<[]>
3687
+ /**
3688
+ * Enforces shorthand syntax for boolean attributes.
3689
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3690
+ */
3691
+ 'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>
3692
+ /**
3693
+ * Enforces shorthand syntax for fragments.
3694
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3695
+ */
3696
+ 'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>
3682
3697
  /**
3683
3698
  * Marks React variables as used when JSX is used.
3684
3699
  * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
@@ -3739,21 +3754,6 @@ interface RuleOptions {
3739
3754
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
3740
3755
  */
3741
3756
  'react/no-clone-element'?: Linter.RuleEntry<[]>
3742
- /**
3743
- * Prevents comments from being inserted as text nodes.
3744
- * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
3745
- */
3746
- 'react/no-comment-textnodes'?: Linter.RuleEntry<[]>
3747
- /**
3748
- * Disallow complex conditional rendering in JSX expressions.
3749
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
3750
- */
3751
- 'react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
3752
- /**
3753
- * Disallow complex conditional rendering in JSX expressions.
3754
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
3755
- */
3756
- 'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
3757
3757
  /**
3758
3758
  * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
3759
3759
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
@@ -3789,16 +3789,16 @@ interface RuleOptions {
3789
3789
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3790
3790
  */
3791
3791
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
3792
- /**
3793
- * Disallow duplicate props in JSX elements.
3794
- * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
3795
- */
3796
- 'react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>
3797
3792
  /**
3798
3793
  * Disallow duplicate `key` on elements in the same array or a list of `children`.
3799
3794
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3800
3795
  */
3801
3796
  'react/no-duplicate-key'?: Linter.RuleEntry<[]>
3797
+ /**
3798
+ * Disallow certain props on components.
3799
+ * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
3800
+ */
3801
+ 'react/no-forbidden-props'?: Linter.RuleEntry<ReactNoForbiddenProps>
3802
3802
  /**
3803
3803
  * Replaces usages of `forwardRef` with passing `ref` as a prop.
3804
3804
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
@@ -3839,11 +3839,6 @@ interface RuleOptions {
3839
3839
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3840
3840
  */
3841
3841
  'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
3842
- /**
3843
- * Disallow nesting component definitions inside other components.
3844
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3845
- */
3846
- 'react/no-nested-components'?: Linter.RuleEntry<[]>
3847
3842
  /**
3848
3843
  * Disallow nesting lazy component declarations inside other components.
3849
3844
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
@@ -3879,6 +3874,26 @@ interface RuleOptions {
3879
3874
  * @see https://eslint-react.xyz/docs/rules/no-string-refs
3880
3875
  */
3881
3876
  'react/no-string-refs'?: Linter.RuleEntry<[]>
3877
+ /**
3878
+ * Prevents the use of unnecessary `key` props on JSX elements when rendering lists.
3879
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
3880
+ */
3881
+ 'react/no-unnecessary-key'?: Linter.RuleEntry<[]>
3882
+ /**
3883
+ * Disallow unnecessary usage of `useCallback`.
3884
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3885
+ */
3886
+ 'react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
3887
+ /**
3888
+ * Disallow unnecessary usage of `useMemo`.
3889
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3890
+ */
3891
+ 'react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
3892
+ /**
3893
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3894
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3895
+ */
3896
+ 'react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
3882
3897
  /**
3883
3898
  * Warns the usage of `UNSAFE_componentWillMount` in class components.
3884
3899
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
@@ -3909,6 +3924,11 @@ interface RuleOptions {
3909
3924
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3910
3925
  */
3911
3926
  'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
3927
+ /**
3928
+ * Warns about unused component prop declarations.
3929
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
3930
+ */
3931
+ 'react/no-unused-props'?: Linter.RuleEntry<[]>
3912
3932
  /**
3913
3933
  * Warns unused class component state.
3914
3934
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
@@ -3936,29 +3956,19 @@ interface RuleOptions {
3936
3956
  'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3937
3957
  /**
3938
3958
  * Enforces React is imported via a namespace import.
3939
- * @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
3959
+ * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
3940
3960
  */
3941
- 'react/prefer-react-namespace-import'?: Linter.RuleEntry<[]>
3961
+ 'react/prefer-namespace-import'?: Linter.RuleEntry<[]>
3942
3962
  /**
3943
3963
  * Enforces read-only props in components.
3944
3964
  * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
3945
3965
  */
3946
3966
  'react/prefer-read-only-props'?: Linter.RuleEntry<[]>
3947
3967
  /**
3948
- * Enforces shorthand syntax for boolean attributes.
3949
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
3950
- */
3951
- 'react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
3952
- /**
3953
- * Enforces shorthand syntax for fragments.
3954
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
3955
- */
3956
- 'react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
3957
- /**
3958
- * Marks variables used in JSX elements as used.
3959
- * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
3968
+ * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
3969
+ * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
3960
3970
  */
3961
- 'react/use-jsx-vars'?: Linter.RuleEntry<[]>
3971
+ 'react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
3962
3972
  /**
3963
3973
  * disallow confusing quantifiers
3964
3974
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
@@ -4645,8 +4655,14 @@ interface RuleOptions {
4645
4655
  /**
4646
4656
  * disallow using navigation (links, goto, pushState, replaceState) without the base path
4647
4657
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-base/
4658
+ * @deprecated
4648
4659
  */
4649
4660
  'svelte/no-navigation-without-base'?: Linter.RuleEntry<SvelteNoNavigationWithoutBase>
4661
+ /**
4662
+ * disallow using navigation (links, goto, pushState, replaceState) without a resolve()
4663
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
4664
+ */
4665
+ 'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>
4650
4666
  /**
4651
4667
  * disallow use of not function in event handler
4652
4668
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
@@ -4905,6 +4921,11 @@ interface RuleOptions {
4905
4921
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
4906
4922
  */
4907
4923
  'test/expect-expect'?: Linter.RuleEntry<TestExpectExpect>
4924
+ /**
4925
+ * enforce hoisted APIs to be on top of the file
4926
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md
4927
+ */
4928
+ 'test/hoisted-apis-on-top'?: Linter.RuleEntry<[]>
4908
4929
  /**
4909
4930
  * enforce a maximum number of expect per test
4910
4931
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
@@ -5111,6 +5132,11 @@ interface RuleOptions {
5111
5132
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
5112
5133
  */
5113
5134
  'test/prefer-expect-resolves'?: Linter.RuleEntry<[]>
5135
+ /**
5136
+ * enforce using `expectTypeOf` instead of `expect(typeof ...)`
5137
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md
5138
+ */
5139
+ 'test/prefer-expect-type-of'?: Linter.RuleEntry<[]>
5114
5140
  /**
5115
5141
  * enforce having hooks in consistent order
5116
5142
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
@@ -6026,690 +6052,710 @@ interface RuleOptions {
6026
6052
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
6027
6053
  /**
6028
6054
  * Improve regexes by making them shorter, consistent, and safer.
6029
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
6055
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/better-regex.md
6030
6056
  */
6031
6057
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
6032
6058
  /**
6033
6059
  * Enforce a specific parameter name in catch clauses.
6034
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
6060
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/catch-error-name.md
6035
6061
  */
6036
6062
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
6037
6063
  /**
6038
6064
  * Enforce consistent assertion style with `node:assert`.
6039
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
6065
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-assert.md
6040
6066
  */
6041
6067
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
6042
6068
  /**
6043
6069
  * Prefer passing `Date` directly to the constructor when cloning.
6044
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
6070
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-date-clone.md
6045
6071
  */
6046
6072
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
6047
6073
  /**
6048
6074
  * Use destructured variables over properties.
6049
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
6075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-destructuring.md
6050
6076
  */
6051
6077
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
6052
6078
  /**
6053
6079
  * Prefer consistent types when spreading a ternary in an array literal.
6054
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
6080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-empty-array-spread.md
6055
6081
  */
6056
6082
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
6057
6083
  /**
6058
6084
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6059
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
6085
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-existence-index-check.md
6060
6086
  */
6061
6087
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
6062
6088
  /**
6063
6089
  * Move function definitions to the highest possible scope.
6064
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
6090
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-function-scoping.md
6065
6091
  */
6066
6092
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
6067
6093
  /**
6068
6094
  * Enforce correct `Error` subclassing.
6069
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
6095
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/custom-error-definition.md
6070
6096
  */
6071
6097
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
6072
6098
  /**
6073
6099
  * Enforce no spaces between braces.
6074
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
6100
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/empty-brace-spaces.md
6075
6101
  */
6076
6102
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
6077
6103
  /**
6078
6104
  * Enforce passing a `message` value when creating a built-in error.
6079
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
6105
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/error-message.md
6080
6106
  */
6081
6107
  'unicorn/error-message'?: Linter.RuleEntry<[]>
6082
6108
  /**
6083
6109
  * Require escape sequences to use uppercase or lowercase values.
6084
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
6110
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/escape-case.md
6085
6111
  */
6086
6112
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
6087
6113
  /**
6088
6114
  * Add expiration conditions to TODO comments.
6089
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
6115
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/expiring-todo-comments.md
6090
6116
  */
6091
6117
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
6092
6118
  /**
6093
6119
  * Enforce explicitly comparing the `length` or `size` property of a value.
6094
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
6120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/explicit-length-check.md
6095
6121
  */
6096
6122
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
6097
6123
  /**
6098
6124
  * Enforce a case style for filenames.
6099
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
6125
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/filename-case.md
6100
6126
  */
6101
6127
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
6102
6128
  /**
6103
6129
  * Enforce specific import styles per module.
6104
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
6130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/import-style.md
6105
6131
  */
6106
6132
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
6107
6133
  /**
6108
6134
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
6109
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
6135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/new-for-builtins.md
6110
6136
  */
6111
6137
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
6112
6138
  /**
6113
6139
  * Enforce specifying rules to disable in `eslint-disable` comments.
6114
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
6140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-abusive-eslint-disable.md
6115
6141
  */
6116
6142
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
6117
6143
  /**
6118
6144
  * Disallow recursive access to `this` within getters and setters.
6119
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
6145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-accessor-recursion.md
6120
6146
  */
6121
6147
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
6122
6148
  /**
6123
6149
  * Disallow anonymous functions and classes as the default export.
6124
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
6150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-anonymous-default-export.md
6125
6151
  */
6126
6152
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
6127
6153
  /**
6128
6154
  * Prevent passing a function reference directly to iterator methods.
6129
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
6155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-callback-reference.md
6130
6156
  */
6131
6157
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
6132
6158
  /**
6133
6159
  * Prefer `for…of` over the `forEach` method.
6134
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
6160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-for-each.md
6135
6161
  */
6136
6162
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
6137
6163
  /**
6138
6164
  * Disallow using the `this` argument in array methods.
6139
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
6165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-method-this-argument.md
6140
6166
  */
6141
6167
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
6142
6168
  /**
6143
6169
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
6144
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
6170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-array-push-push
6145
6171
  * @deprecated
6146
6172
  */
6147
6173
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
6148
6174
  /**
6149
6175
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
6150
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
6176
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reduce.md
6151
6177
  */
6152
6178
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
6153
6179
  /**
6154
6180
  * Prefer `Array#toReversed()` over `Array#reverse()`.
6155
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
6181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reverse.md
6156
6182
  */
6157
6183
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
6184
+ /**
6185
+ * Prefer `Array#toSorted()` over `Array#sort()`.
6186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-sort.md
6187
+ */
6188
+ 'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>
6158
6189
  /**
6159
6190
  * Disallow member access from await expression.
6160
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
6191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-expression-member.md
6161
6192
  */
6162
6193
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
6163
6194
  /**
6164
6195
  * Disallow using `await` in `Promise` method parameters.
6165
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
6196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-in-promise-methods.md
6166
6197
  */
6167
6198
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
6168
6199
  /**
6169
6200
  * Do not use leading/trailing space between `console.log` parameters.
6170
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
6201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-console-spaces.md
6171
6202
  */
6172
6203
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
6173
6204
  /**
6174
6205
  * Do not use `document.cookie` directly.
6175
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
6206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-document-cookie.md
6176
6207
  */
6177
6208
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
6178
6209
  /**
6179
6210
  * Disallow empty files.
6180
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
6211
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-empty-file.md
6181
6212
  */
6182
6213
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
6183
6214
  /**
6184
6215
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6185
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
6216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-for-loop.md
6186
6217
  */
6187
6218
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
6188
6219
  /**
6189
6220
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6190
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
6221
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-hex-escape.md
6191
6222
  */
6192
6223
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
6193
6224
  /**
6194
6225
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6195
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
6226
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-instanceof-array
6196
6227
  * @deprecated
6197
6228
  */
6198
6229
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
6199
6230
  /**
6200
6231
  * Disallow `instanceof` with built-in objects
6201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
6232
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-instanceof-builtins.md
6202
6233
  */
6203
6234
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
6204
6235
  /**
6205
6236
  * Disallow invalid options in `fetch()` and `new Request()`.
6206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
6237
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-fetch-options.md
6207
6238
  */
6208
6239
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
6209
6240
  /**
6210
6241
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
6242
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-remove-event-listener.md
6212
6243
  */
6213
6244
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
6214
6245
  /**
6215
6246
  * Disallow identifiers starting with `new` or `class`.
6216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
6247
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-keyword-prefix.md
6217
6248
  */
6218
6249
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
6219
6250
  /**
6220
6251
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
6252
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-length-as-slice-end
6222
6253
  * @deprecated
6223
6254
  */
6224
6255
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
6225
6256
  /**
6226
6257
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6227
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
6258
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-lonely-if.md
6228
6259
  */
6229
6260
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
6230
6261
  /**
6231
6262
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6232
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
6263
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-magic-array-flat-depth.md
6233
6264
  */
6234
6265
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
6235
6266
  /**
6236
6267
  * Disallow named usage of default import and export.
6237
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
6268
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-named-default.md
6238
6269
  */
6239
6270
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
6240
6271
  /**
6241
6272
  * Disallow negated conditions.
6242
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
6273
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negated-condition.md
6243
6274
  */
6244
6275
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
6245
6276
  /**
6246
6277
  * Disallow negated expression in equality check.
6247
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
6278
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negation-in-equality-check.md
6248
6279
  */
6249
6280
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
6250
6281
  /**
6251
6282
  * Disallow nested ternary expressions.
6252
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
6283
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-nested-ternary.md
6253
6284
  */
6254
6285
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
6255
6286
  /**
6256
6287
  * Disallow `new Array()`.
6257
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
6288
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-array.md
6258
6289
  */
6259
6290
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
6260
6291
  /**
6261
6292
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6262
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
6293
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-buffer.md
6263
6294
  */
6264
6295
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
6265
6296
  /**
6266
6297
  * Disallow the use of the `null` literal.
6267
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
6298
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-null.md
6268
6299
  */
6269
6300
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
6270
6301
  /**
6271
6302
  * Disallow the use of objects as default parameters.
6272
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
6303
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-object-as-default-parameter.md
6273
6304
  */
6274
6305
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
6275
6306
  /**
6276
6307
  * Disallow `process.exit()`.
6277
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
6308
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-process-exit.md
6278
6309
  */
6279
6310
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
6280
6311
  /**
6281
6312
  * Disallow passing single-element arrays to `Promise` methods.
6282
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
6313
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-single-promise-in-promise-methods.md
6283
6314
  */
6284
6315
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
6285
6316
  /**
6286
6317
  * Disallow classes that only have static members.
6287
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
6318
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-static-only-class.md
6288
6319
  */
6289
6320
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
6290
6321
  /**
6291
6322
  * Disallow `then` property.
6292
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
6323
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-thenable.md
6293
6324
  */
6294
6325
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
6295
6326
  /**
6296
6327
  * Disallow assigning `this` to a variable.
6297
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
6328
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-this-assignment.md
6298
6329
  */
6299
6330
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
6300
6331
  /**
6301
6332
  * Disallow comparing `undefined` using `typeof`.
6302
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
6333
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-typeof-undefined.md
6303
6334
  */
6304
6335
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
6305
6336
  /**
6306
6337
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
6307
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6338
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-flat-depth.md
6308
6339
  */
6309
6340
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
6310
6341
  /**
6311
6342
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
6312
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
6343
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-splice-count.md
6313
6344
  */
6314
6345
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
6315
6346
  /**
6316
6347
  * Disallow awaiting non-promise values.
6317
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
6348
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-await.md
6318
6349
  */
6319
6350
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
6320
6351
  /**
6321
6352
  * Enforce the use of built-in methods instead of unnecessary polyfills.
6322
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
6353
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-polyfills.md
6323
6354
  */
6324
6355
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
6325
6356
  /**
6326
6357
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6327
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
6358
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-slice-end.md
6328
6359
  */
6329
6360
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
6330
6361
  /**
6331
6362
  * Disallow unreadable array destructuring.
6332
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
6363
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-array-destructuring.md
6333
6364
  */
6334
6365
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
6335
6366
  /**
6336
6367
  * Disallow unreadable IIFEs.
6337
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
6368
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-iife.md
6338
6369
  */
6339
6370
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
6340
6371
  /**
6341
6372
  * Disallow unused object properties.
6342
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
6373
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unused-properties.md
6343
6374
  */
6344
6375
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
6345
6376
  /**
6346
6377
  * Disallow unnecessary `Error.captureStackTrace(…)`.
6347
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6378
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-error-capture-stack-trace.md
6348
6379
  */
6349
6380
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
6350
6381
  /**
6351
6382
  * Disallow useless fallback when spreading in object literals.
6352
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
6383
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-fallback-in-spread.md
6353
6384
  */
6354
6385
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
6355
6386
  /**
6356
6387
  * Disallow useless array length check.
6357
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
6388
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-length-check.md
6358
6389
  */
6359
6390
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
6360
6391
  /**
6361
6392
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
6362
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
6393
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-promise-resolve-reject.md
6363
6394
  */
6364
6395
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
6365
6396
  /**
6366
6397
  * Disallow unnecessary spread.
6367
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
6398
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-spread.md
6368
6399
  */
6369
6400
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
6370
6401
  /**
6371
6402
  * Disallow useless case in switch statements.
6372
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
6403
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-switch-case.md
6373
6404
  */
6374
6405
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
6375
6406
  /**
6376
6407
  * Disallow useless `undefined`.
6377
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
6408
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-undefined.md
6378
6409
  */
6379
6410
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
6380
6411
  /**
6381
6412
  * Disallow number literals with zero fractions or dangling dots.
6382
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
6413
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-zero-fractions.md
6383
6414
  */
6384
6415
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
6385
6416
  /**
6386
6417
  * Enforce proper case for numeric literals.
6387
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
6418
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/number-literal-case.md
6388
6419
  */
6389
6420
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
6390
6421
  /**
6391
6422
  * Enforce the style of numeric separators by correctly grouping digits.
6392
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
6423
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/numeric-separators-style.md
6393
6424
  */
6394
6425
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
6395
6426
  /**
6396
6427
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6397
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
6428
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-add-event-listener.md
6398
6429
  */
6399
6430
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
6400
6431
  /**
6401
6432
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6402
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
6433
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-find.md
6403
6434
  */
6404
6435
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
6405
6436
  /**
6406
6437
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6407
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
6438
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat.md
6408
6439
  */
6409
6440
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
6410
6441
  /**
6411
6442
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
6412
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
6443
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat-map.md
6413
6444
  */
6414
6445
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
6415
6446
  /**
6416
6447
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6417
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
6448
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-index-of.md
6418
6449
  */
6419
6450
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
6420
6451
  /**
6421
6452
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6422
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
6453
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-some.md
6423
6454
  */
6424
6455
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
6425
6456
  /**
6426
6457
  * Prefer `.at()` method for index access and `String#charAt()`.
6427
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
6458
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-at.md
6428
6459
  */
6429
6460
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
6461
+ /**
6462
+ * Prefer `BigInt` literals over the constructor.
6463
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-bigint-literals.md
6464
+ */
6465
+ 'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>
6430
6466
  /**
6431
6467
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6432
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
6468
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-blob-reading-methods.md
6433
6469
  */
6434
6470
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
6435
6471
  /**
6436
6472
  * Prefer class field declarations over `this` assignments in constructors.
6437
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
6473
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-class-fields.md
6438
6474
  */
6439
6475
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
6476
+ /**
6477
+ * Prefer using `Element#classList.toggle()` to toggle class names.
6478
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-classlist-toggle.md
6479
+ */
6480
+ 'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>
6440
6481
  /**
6441
6482
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
6442
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
6483
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-code-point.md
6443
6484
  */
6444
6485
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
6445
6486
  /**
6446
6487
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
6447
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
6488
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-date-now.md
6448
6489
  */
6449
6490
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
6450
6491
  /**
6451
6492
  * Prefer default parameters over reassignment.
6452
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
6493
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-default-parameters.md
6453
6494
  */
6454
6495
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
6455
6496
  /**
6456
6497
  * Prefer `Node#append()` over `Node#appendChild()`.
6457
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
6498
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-append.md
6458
6499
  */
6459
6500
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
6460
6501
  /**
6461
6502
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
6462
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
6503
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-dataset.md
6463
6504
  */
6464
6505
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
6465
6506
  /**
6466
6507
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
6467
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
6508
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-remove.md
6468
6509
  */
6469
6510
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
6470
6511
  /**
6471
6512
  * Prefer `.textContent` over `.innerText`.
6472
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
6513
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-text-content.md
6473
6514
  */
6474
6515
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
6475
6516
  /**
6476
6517
  * Prefer `EventTarget` over `EventEmitter`.
6477
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
6518
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-event-target.md
6478
6519
  */
6479
6520
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
6480
6521
  /**
6481
6522
  * Prefer `export…from` when re-exporting.
6482
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
6523
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-export-from.md
6483
6524
  */
6484
6525
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
6485
6526
  /**
6486
6527
  * Prefer `globalThis` over `window`, `self`, and `global`.
6487
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
6528
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-global-this.md
6488
6529
  */
6489
6530
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
6490
6531
  /**
6491
6532
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
6492
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
6533
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-import-meta-properties.md
6493
6534
  */
6494
6535
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
6495
6536
  /**
6496
6537
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
6497
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
6538
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-includes.md
6498
6539
  */
6499
6540
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
6500
6541
  /**
6501
6542
  * Prefer reading a JSON file as a buffer.
6502
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
6543
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-json-parse-buffer.md
6503
6544
  */
6504
6545
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
6505
6546
  /**
6506
6547
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
6507
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
6548
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-keyboard-event-key.md
6508
6549
  */
6509
6550
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
6510
6551
  /**
6511
6552
  * Prefer using a logical operator over a ternary.
6512
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6553
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-logical-operator-over-ternary.md
6513
6554
  */
6514
6555
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
6515
6556
  /**
6516
6557
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
6517
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
6558
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-min-max.md
6518
6559
  */
6519
6560
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
6520
6561
  /**
6521
6562
  * Enforce the use of `Math.trunc` instead of bitwise operators.
6522
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
6563
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-trunc.md
6523
6564
  */
6524
6565
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
6525
6566
  /**
6526
6567
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
6527
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
6568
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-dom-apis.md
6528
6569
  */
6529
6570
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
6530
6571
  /**
6531
6572
  * Prefer modern `Math` APIs over legacy patterns.
6532
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
6573
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-math-apis.md
6533
6574
  */
6534
6575
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
6535
6576
  /**
6536
6577
  * Prefer JavaScript modules (ESM) over CommonJS.
6537
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
6578
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-module.md
6538
6579
  */
6539
6580
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
6540
6581
  /**
6541
6582
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
6542
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
6583
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-native-coercion-functions.md
6543
6584
  */
6544
6585
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
6545
6586
  /**
6546
6587
  * Prefer negative index over `.length - index` when possible.
6547
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
6588
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-negative-index.md
6548
6589
  */
6549
6590
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
6550
6591
  /**
6551
6592
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
6552
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
6593
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-node-protocol.md
6553
6594
  */
6554
6595
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
6555
6596
  /**
6556
6597
  * Prefer `Number` static properties over global ones.
6557
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
6598
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-number-properties.md
6558
6599
  */
6559
6600
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
6560
6601
  /**
6561
6602
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
6562
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
6603
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-object-from-entries.md
6563
6604
  */
6564
6605
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
6565
6606
  /**
6566
6607
  * Prefer omitting the `catch` binding parameter.
6567
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
6608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-optional-catch-binding.md
6568
6609
  */
6569
6610
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
6570
6611
  /**
6571
6612
  * Prefer borrowing methods from the prototype instead of the instance.
6572
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
6613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-prototype-methods.md
6573
6614
  */
6574
6615
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
6575
6616
  /**
6576
6617
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
6577
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
6618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-query-selector.md
6578
6619
  */
6579
6620
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
6580
6621
  /**
6581
6622
  * Prefer `Reflect.apply()` over `Function#apply()`.
6582
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
6623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-reflect-apply.md
6583
6624
  */
6584
6625
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
6585
6626
  /**
6586
6627
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
6587
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
6628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-regexp-test.md
6588
6629
  */
6589
6630
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
6590
6631
  /**
6591
6632
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
6592
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
6633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-has.md
6593
6634
  */
6594
6635
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
6595
6636
  /**
6596
6637
  * Prefer using `Set#size` instead of `Array#length`.
6597
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
6638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-size.md
6598
6639
  */
6599
6640
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
6600
6641
  /**
6601
6642
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
6602
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
6643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-single-call.md
6603
6644
  */
6604
6645
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
6605
6646
  /**
6606
6647
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
6607
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
6648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-spread.md
6608
6649
  */
6609
6650
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
6610
6651
  /**
6611
6652
  * Prefer using the `String.raw` tag to avoid escaping `\`.
6612
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
6653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-raw.md
6613
6654
  */
6614
6655
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
6615
6656
  /**
6616
6657
  * Prefer `String#replaceAll()` over regex searches with the global flag.
6617
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
6658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-replace-all.md
6618
6659
  */
6619
6660
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
6620
6661
  /**
6621
6662
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
6622
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
6663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-slice.md
6623
6664
  */
6624
6665
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
6625
6666
  /**
6626
6667
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
6627
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
6668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-starts-ends-with.md
6628
6669
  */
6629
6670
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
6630
6671
  /**
6631
6672
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
6632
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
6673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-trim-start-end.md
6633
6674
  */
6634
6675
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
6635
6676
  /**
6636
6677
  * Prefer using `structuredClone` to create a deep clone.
6637
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
6678
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-structured-clone.md
6638
6679
  */
6639
6680
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
6640
6681
  /**
6641
6682
  * Prefer `switch` over multiple `else-if`.
6642
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
6683
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-switch.md
6643
6684
  */
6644
6685
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
6645
6686
  /**
6646
6687
  * Prefer ternary expressions over simple `if-else` statements.
6647
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
6688
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-ternary.md
6648
6689
  */
6649
6690
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
6650
6691
  /**
6651
6692
  * Prefer top-level await over top-level promises and async function calls.
6652
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
6693
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-top-level-await.md
6653
6694
  */
6654
6695
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
6655
6696
  /**
6656
6697
  * Enforce throwing `TypeError` in type checking conditions.
6657
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
6698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-type-error.md
6658
6699
  */
6659
6700
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
6660
6701
  /**
6661
6702
  * Prevent abbreviations.
6662
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
6703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prevent-abbreviations.md
6663
6704
  */
6664
6705
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
6665
6706
  /**
6666
6707
  * Enforce consistent relative URL style.
6667
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
6708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/relative-url-style.md
6668
6709
  */
6669
6710
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
6670
6711
  /**
6671
6712
  * Enforce using the separator argument with `Array#join()`.
6672
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
6713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-array-join-separator.md
6673
6714
  */
6674
6715
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
6716
+ /**
6717
+ * Require non-empty module attributes for imports and exports
6718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-attributes.md
6719
+ */
6720
+ 'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>
6675
6721
  /**
6676
6722
  * Require non-empty specifier list in import and export statements.
6677
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
6723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-specifiers.md
6678
6724
  */
6679
6725
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
6680
6726
  /**
6681
6727
  * Enforce using the digits argument with `Number#toFixed()`.
6682
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
6728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-number-to-fixed-digits-argument.md
6683
6729
  */
6684
6730
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
6685
6731
  /**
6686
6732
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
6687
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
6733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-post-message-target-origin.md
6688
6734
  */
6689
6735
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
6690
6736
  /**
6691
6737
  * Enforce better string content.
6692
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
6738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/string-content.md
6693
6739
  */
6694
6740
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
6695
6741
  /**
6696
6742
  * Enforce consistent brace style for `case` clauses.
6697
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
6743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/switch-case-braces.md
6698
6744
  */
6699
6745
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
6700
6746
  /**
6701
6747
  * Fix whitespace-insensitive template indentation.
6702
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
6748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/template-indent.md
6703
6749
  */
6704
6750
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
6705
6751
  /**
6706
6752
  * Enforce consistent case for text encoding identifiers.
6707
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
6753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/text-encoding-identifier-case.md
6708
6754
  */
6709
6755
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
6710
6756
  /**
6711
6757
  * Require `new` when creating an error.
6712
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
6758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/throw-new-error.md
6713
6759
  */
6714
6760
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
6715
6761
  /**
@@ -7825,6 +7871,11 @@ type HtmlNoRestrictedAttrs = {
7825
7871
  attrPatterns: string[]
7826
7872
  message?: string
7827
7873
  }[]
7874
+ // ----- html/no-restricted-tags -----
7875
+ type HtmlNoRestrictedTags = {
7876
+ tagPatterns: string[]
7877
+ message?: string
7878
+ }[]
7828
7879
  // ----- html/quotes -----
7829
7880
  type HtmlQuotes =
7830
7881
  | []
@@ -8418,6 +8469,14 @@ type InitDeclarations =
8418
8469
  ignoreForLoopInit?: boolean
8419
8470
  },
8420
8471
  ]
8472
+ // ----- jsdoc/check-alignment -----
8473
+ type JsdocCheckAlignment =
8474
+ | []
8475
+ | [
8476
+ {
8477
+ innerIndent?: number
8478
+ },
8479
+ ]
8421
8480
  // ----- jsdoc/check-examples -----
8422
8481
  type JsdocCheckExamples =
8423
8482
  | []
@@ -8461,14 +8520,22 @@ type JsdocCheckLineAlignment =
8461
8520
  {
8462
8521
  customSpacings?: {
8463
8522
  postDelimiter?: number
8523
+
8464
8524
  postHyphen?: number
8525
+
8465
8526
  postName?: number
8527
+
8466
8528
  postTag?: number
8529
+
8467
8530
  postType?: number
8468
8531
  }
8532
+
8469
8533
  disableWrapIndent?: boolean
8534
+
8470
8535
  preserveMainDescriptionPostDelimiter?: boolean
8536
+
8471
8537
  tags?: string[]
8538
+
8472
8539
  wrapIndent?: string
8473
8540
  },
8474
8541
  ]
@@ -8478,12 +8545,19 @@ type JsdocCheckParamNames =
8478
8545
  | [
8479
8546
  {
8480
8547
  allowExtraTrailingParamDocs?: boolean
8548
+
8481
8549
  checkDestructured?: boolean
8550
+
8482
8551
  checkRestProperty?: boolean
8552
+
8483
8553
  checkTypesPattern?: string
8554
+
8484
8555
  disableExtraPropertyReporting?: boolean
8556
+
8485
8557
  disableMissingParamChecks?: boolean
8558
+
8486
8559
  enableFixer?: boolean
8560
+
8487
8561
  useDefaultObjectProperties?: boolean
8488
8562
  },
8489
8563
  ]
@@ -8501,8 +8575,13 @@ type JsdocCheckTagNames =
8501
8575
  | [
8502
8576
  {
8503
8577
  definedTags?: string[]
8578
+
8504
8579
  enableFixer?: boolean
8580
+
8581
+ inlineTags?: string[]
8582
+
8505
8583
  jsxTags?: boolean
8584
+
8506
8585
  typed?: boolean
8507
8586
  },
8508
8587
  ]
@@ -8513,9 +8592,12 @@ type JsdocCheckTypes =
8513
8592
  {
8514
8593
  exemptTagContexts?: {
8515
8594
  tag?: string
8595
+
8516
8596
  types?: boolean | string[]
8517
8597
  }[]
8598
+
8518
8599
  noDefaults?: boolean
8600
+
8519
8601
  unifyParentAndChildTypeChecks?: boolean
8520
8602
  },
8521
8603
  ]
@@ -8525,8 +8607,11 @@ type JsdocCheckValues =
8525
8607
  | [
8526
8608
  {
8527
8609
  allowedAuthors?: string[]
8610
+
8528
8611
  allowedLicenses?: string[] | boolean
8612
+
8529
8613
  licensePattern?: string
8614
+
8530
8615
  numericOnlyVariation?: boolean
8531
8616
  },
8532
8617
  ]
@@ -8536,6 +8621,7 @@ type JsdocConvertToJsdocComments =
8536
8621
  | [
8537
8622
  {
8538
8623
  allowedPrefixes?: string[]
8624
+
8539
8625
  contexts?: (
8540
8626
  | string
8541
8627
  | {
@@ -8543,6 +8629,7 @@ type JsdocConvertToJsdocComments =
8543
8629
  inlineCommentBlock?: boolean
8544
8630
  }
8545
8631
  )[]
8632
+
8546
8633
  contextsAfter?: (
8547
8634
  | string
8548
8635
  | {
@@ -8550,6 +8637,7 @@ type JsdocConvertToJsdocComments =
8550
8637
  inlineCommentBlock?: boolean
8551
8638
  }
8552
8639
  )[]
8640
+
8553
8641
  contextsBeforeAndAfter?: (
8554
8642
  | string
8555
8643
  | {
@@ -8557,8 +8645,11 @@ type JsdocConvertToJsdocComments =
8557
8645
  inlineCommentBlock?: boolean
8558
8646
  }
8559
8647
  )[]
8648
+
8560
8649
  enableFixer?: boolean
8650
+
8561
8651
  enforceJsdocLineStyle?: 'multi' | 'single'
8652
+
8562
8653
  lineOrBlockStyle?: 'block' | 'line' | 'both'
8563
8654
  },
8564
8655
  ]
@@ -8592,7 +8683,9 @@ type JsdocInformativeDocs =
8592
8683
  aliases?: {
8593
8684
  [k: string]: string[]
8594
8685
  }
8686
+
8595
8687
  excludedTags?: string[]
8688
+
8596
8689
  uselessWords?: string[]
8597
8690
  },
8598
8691
  ]
@@ -8602,9 +8695,13 @@ type JsdocLinesBeforeBlock =
8602
8695
  | [
8603
8696
  {
8604
8697
  checkBlockStarts?: boolean
8698
+
8605
8699
  excludedTags?: string[]
8700
+
8606
8701
  ignoreSameLine?: boolean
8702
+
8607
8703
  ignoreSingleLines?: boolean
8704
+
8608
8705
  lines?: number
8609
8706
  },
8610
8707
  ]
@@ -8620,6 +8717,7 @@ type JsdocMatchDescription =
8620
8717
  context?: string
8621
8718
  }
8622
8719
  )[]
8720
+
8623
8721
  mainDescription?:
8624
8722
  | string
8625
8723
  | boolean
@@ -8627,9 +8725,13 @@ type JsdocMatchDescription =
8627
8725
  match?: string | boolean
8628
8726
  message?: string
8629
8727
  }
8728
+
8630
8729
  matchDescription?: string
8730
+
8631
8731
  message?: string
8732
+
8632
8733
  nonemptyTags?: boolean
8734
+
8633
8735
  tags?: {
8634
8736
  [k: string]:
8635
8737
  | string
@@ -8648,11 +8750,17 @@ type JsdocMatchName =
8648
8750
  {
8649
8751
  match: {
8650
8752
  allowName?: string
8753
+
8651
8754
  comment?: string
8755
+
8652
8756
  context?: string
8757
+
8653
8758
  disallowName?: string
8759
+
8654
8760
  message?: string
8761
+
8655
8762
  replacement?: string
8763
+
8656
8764
  tags?: string[]
8657
8765
  }[]
8658
8766
  },
@@ -8663,13 +8771,21 @@ type JsdocMultilineBlocks =
8663
8771
  | [
8664
8772
  {
8665
8773
  allowMultipleTags?: boolean
8774
+
8666
8775
  minimumLengthForMultiline?: number
8776
+
8667
8777
  multilineTags?: '*' | string[]
8778
+
8668
8779
  noFinalLineText?: boolean
8780
+
8669
8781
  noMultilineBlocks?: boolean
8782
+
8670
8783
  noSingleLineBlocks?: boolean
8784
+
8671
8785
  noZeroLineText?: boolean
8786
+
8672
8787
  requireSingleLineUnderCount?: number
8788
+
8673
8789
  singleLineTags?: string[]
8674
8790
  },
8675
8791
  ]
@@ -8679,6 +8795,7 @@ type JsdocNoBadBlocks =
8679
8795
  | [
8680
8796
  {
8681
8797
  ignore?: string[]
8798
+
8682
8799
  preventAllMultiAsteriskBlocks?: boolean
8683
8800
  },
8684
8801
  ]
@@ -8702,6 +8819,7 @@ type JsdocNoDefaults =
8702
8819
  context?: string
8703
8820
  }
8704
8821
  )[]
8822
+
8705
8823
  noOptionalParamNames?: boolean
8706
8824
  },
8707
8825
  ]
@@ -8727,7 +8845,9 @@ type JsdocNoMultiAsterisks =
8727
8845
  | [
8728
8846
  {
8729
8847
  allowWhitespace?: boolean
8848
+
8730
8849
  preventAtEnd?: boolean
8850
+
8731
8851
  preventAtMiddleLines?: boolean
8732
8852
  },
8733
8853
  ]
@@ -8765,11 +8885,27 @@ type JsdocNoUndefinedTypes =
8765
8885
  | []
8766
8886
  | [
8767
8887
  {
8888
+ checkUsedTypedefs?: boolean
8889
+
8768
8890
  definedTypes?: string[]
8891
+
8769
8892
  disableReporting?: boolean
8893
+
8770
8894
  markVariablesAsUsed?: boolean
8771
8895
  },
8772
8896
  ]
8897
+ // ----- jsdoc/prefer-import-tag -----
8898
+ type JsdocPreferImportTag =
8899
+ | []
8900
+ | [
8901
+ {
8902
+ enableFixer?: boolean
8903
+
8904
+ exemptTypedefs?: boolean
8905
+
8906
+ outputType?: 'named-import' | 'namespaced-import'
8907
+ },
8908
+ ]
8773
8909
  // ----- jsdoc/require-asterisk-prefix -----
8774
8910
  type JsdocRequireAsteriskPrefix =
8775
8911
  | []
@@ -8779,7 +8915,9 @@ type JsdocRequireAsteriskPrefix =
8779
8915
  {
8780
8916
  tags?: {
8781
8917
  always?: string[]
8918
+
8782
8919
  any?: string[]
8920
+
8783
8921
  never?: string[]
8784
8922
  }
8785
8923
  },
@@ -8790,8 +8928,11 @@ type JsdocRequireDescription =
8790
8928
  | [
8791
8929
  {
8792
8930
  checkConstructors?: boolean
8931
+
8793
8932
  checkGetters?: boolean
8933
+
8794
8934
  checkSetters?: boolean
8935
+
8795
8936
  contexts?: (
8796
8937
  | string
8797
8938
  | {
@@ -8799,7 +8940,9 @@ type JsdocRequireDescription =
8799
8940
  context?: string
8800
8941
  }
8801
8942
  )[]
8943
+
8802
8944
  descriptionStyle?: 'body' | 'tag' | 'any'
8945
+
8803
8946
  exemptedBy?: string[]
8804
8947
  },
8805
8948
  ]
@@ -8809,7 +8952,9 @@ type JsdocRequireDescriptionCompleteSentence =
8809
8952
  | [
8810
8953
  {
8811
8954
  abbreviations?: string[]
8955
+
8812
8956
  newlineBeforeCapsAssumesBadSentenceEnd?: boolean
8957
+
8813
8958
  tags?: string[]
8814
8959
  },
8815
8960
  ]
@@ -8819,8 +8964,11 @@ type JsdocRequireExample =
8819
8964
  | [
8820
8965
  {
8821
8966
  checkConstructors?: boolean
8967
+
8822
8968
  checkGetters?: boolean
8969
+
8823
8970
  checkSetters?: boolean
8971
+
8824
8972
  contexts?: (
8825
8973
  | string
8826
8974
  | {
@@ -8828,8 +8976,11 @@ type JsdocRequireExample =
8828
8976
  context?: string
8829
8977
  }
8830
8978
  )[]
8979
+
8831
8980
  enableFixer?: boolean
8981
+
8832
8982
  exemptedBy?: string[]
8983
+
8833
8984
  exemptNoArguments?: boolean
8834
8985
  },
8835
8986
  ]
@@ -8867,8 +9018,11 @@ type JsdocRequireJsdoc =
8867
9018
  | [
8868
9019
  {
8869
9020
  checkConstructors?: boolean
9021
+
8870
9022
  checkGetters?: boolean | 'no-setter'
9023
+
8871
9024
  checkSetters?: boolean | 'no-getter'
9025
+
8872
9026
  contexts?: (
8873
9027
  | string
8874
9028
  | {
@@ -8877,11 +9031,19 @@ type JsdocRequireJsdoc =
8877
9031
  minLineCount?: number
8878
9032
  }
8879
9033
  )[]
9034
+
8880
9035
  enableFixer?: boolean
9036
+
8881
9037
  exemptEmptyConstructors?: boolean
9038
+
8882
9039
  exemptEmptyFunctions?: boolean
9040
+
9041
+ exemptOverloadedImplementations?: boolean
9042
+
8883
9043
  fixerMessage?: string
9044
+
8884
9045
  minLineCount?: number
9046
+
8885
9047
  publicOnly?:
8886
9048
  | boolean
8887
9049
  | {
@@ -8890,14 +9052,22 @@ type JsdocRequireJsdoc =
8890
9052
  esm?: boolean
8891
9053
  window?: boolean
8892
9054
  }
9055
+
8893
9056
  require?: {
8894
9057
  ArrowFunctionExpression?: boolean
9058
+
8895
9059
  ClassDeclaration?: boolean
9060
+
8896
9061
  ClassExpression?: boolean
9062
+
8897
9063
  FunctionDeclaration?: boolean
9064
+
8898
9065
  FunctionExpression?: boolean
9066
+
8899
9067
  MethodDefinition?: boolean
8900
9068
  }
9069
+
9070
+ skipInterveningOverloadedDeclarations?: boolean
8901
9071
  },
8902
9072
  ]
8903
9073
  // ----- jsdoc/require-param -----
@@ -8906,13 +9076,21 @@ type JsdocRequireParam =
8906
9076
  | [
8907
9077
  {
8908
9078
  autoIncrementBase?: number
9079
+
8909
9080
  checkConstructors?: boolean
9081
+
8910
9082
  checkDestructured?: boolean
9083
+
8911
9084
  checkDestructuredRoots?: boolean
9085
+
8912
9086
  checkGetters?: boolean
9087
+
8913
9088
  checkRestProperty?: boolean
9089
+
8914
9090
  checkSetters?: boolean
9091
+
8915
9092
  checkTypesPattern?: string
9093
+
8916
9094
  contexts?: (
8917
9095
  | string
8918
9096
  | {
@@ -8920,12 +9098,21 @@ type JsdocRequireParam =
8920
9098
  context?: string
8921
9099
  }
8922
9100
  )[]
9101
+
8923
9102
  enableFixer?: boolean
9103
+
8924
9104
  enableRestElementFixer?: boolean
9105
+
8925
9106
  enableRootFixer?: boolean
9107
+
8926
9108
  exemptedBy?: string[]
9109
+
8927
9110
  ignoreWhenAllParamsMissing?: boolean
9111
+
9112
+ interfaceExemptsParamsCheck?: boolean
9113
+
8928
9114
  unnamedRootBase?: string[]
9115
+
8929
9116
  useDefaultObjectProperties?: boolean
8930
9117
  },
8931
9118
  ]
@@ -8941,7 +9128,9 @@ type JsdocRequireParamDescription =
8941
9128
  context?: string
8942
9129
  }
8943
9130
  )[]
9131
+
8944
9132
  defaultDestructuredRootDescription?: string
9133
+
8945
9134
  setDefaultDestructuredRootDescription?: boolean
8946
9135
  },
8947
9136
  ]
@@ -8971,7 +9160,9 @@ type JsdocRequireParamType =
8971
9160
  context?: string
8972
9161
  }
8973
9162
  )[]
9163
+
8974
9164
  defaultDestructuredRootType?: string
9165
+
8975
9166
  setDefaultDestructuredRootType?: boolean
8976
9167
  },
8977
9168
  ]
@@ -8981,7 +9172,9 @@ type JsdocRequireReturns =
8981
9172
  | [
8982
9173
  {
8983
9174
  checkConstructors?: boolean
9175
+
8984
9176
  checkGetters?: boolean
9177
+
8985
9178
  contexts?: (
8986
9179
  | string
8987
9180
  | {
@@ -8990,10 +9183,15 @@ type JsdocRequireReturns =
8990
9183
  forceRequireReturn?: boolean
8991
9184
  }
8992
9185
  )[]
9186
+
8993
9187
  enableFixer?: boolean
9188
+
8994
9189
  exemptedBy?: string[]
9190
+
8995
9191
  forceRequireReturn?: boolean
9192
+
8996
9193
  forceReturnsWithAsync?: boolean
9194
+
8997
9195
  publicOnly?:
8998
9196
  | boolean
8999
9197
  | {
@@ -9010,7 +9208,9 @@ type JsdocRequireReturnsCheck =
9010
9208
  | [
9011
9209
  {
9012
9210
  exemptAsync?: boolean
9211
+
9013
9212
  exemptGenerators?: boolean
9213
+
9014
9214
  reportMissingReturnForUndefinedTypes?: boolean
9015
9215
  },
9016
9216
  ]
@@ -9042,11 +9242,28 @@ type JsdocRequireReturnsType =
9042
9242
  )[]
9043
9243
  },
9044
9244
  ]
9245
+ // ----- jsdoc/require-tags -----
9246
+ type JsdocRequireTags =
9247
+ | []
9248
+ | [
9249
+ {
9250
+ tags?: (
9251
+ | string
9252
+ | {
9253
+ context?: string
9254
+ tag?: string
9255
+ [k: string]: unknown | undefined
9256
+ }
9257
+ )[]
9258
+ },
9259
+ ]
9045
9260
  // ----- jsdoc/require-template -----
9046
9261
  type JsdocRequireTemplate =
9047
9262
  | []
9048
9263
  | [
9049
9264
  {
9265
+ exemptedBy?: string[]
9266
+
9050
9267
  requireSeparateTemplates?: boolean
9051
9268
  },
9052
9269
  ]
@@ -9062,6 +9279,7 @@ type JsdocRequireThrows =
9062
9279
  context?: string
9063
9280
  }
9064
9281
  )[]
9282
+
9065
9283
  exemptedBy?: string[]
9066
9284
  },
9067
9285
  ]
@@ -9077,11 +9295,17 @@ type JsdocRequireYields =
9077
9295
  context?: string
9078
9296
  }
9079
9297
  )[]
9298
+
9080
9299
  exemptedBy?: string[]
9300
+
9081
9301
  forceRequireNext?: boolean
9302
+
9082
9303
  forceRequireYields?: boolean
9304
+
9083
9305
  next?: boolean
9306
+
9084
9307
  nextWithGeneratorTag?: boolean
9308
+
9085
9309
  withGeneratorTag?: boolean
9086
9310
  },
9087
9311
  ]
@@ -9091,6 +9315,7 @@ type JsdocRequireYieldsCheck =
9091
9315
  | [
9092
9316
  {
9093
9317
  checkGeneratorsOnly?: boolean
9318
+
9094
9319
  contexts?: (
9095
9320
  | string
9096
9321
  | {
@@ -9098,7 +9323,7 @@ type JsdocRequireYieldsCheck =
9098
9323
  context?: string
9099
9324
  }
9100
9325
  )[]
9101
- exemptedBy?: string[]
9326
+
9102
9327
  next?: boolean
9103
9328
  },
9104
9329
  ]
@@ -9108,9 +9333,13 @@ type JsdocSortTags =
9108
9333
  | [
9109
9334
  {
9110
9335
  alphabetizeExtras?: boolean
9336
+
9111
9337
  linesBetween?: number
9338
+
9112
9339
  reportIntraTagGroupSpacing?: boolean
9340
+
9113
9341
  reportTagGroupSpacing?: boolean
9342
+
9114
9343
  tagSequence?: {
9115
9344
  tags?: string[]
9116
9345
  }[]
@@ -9124,9 +9353,15 @@ type JsdocTagLines =
9124
9353
  'always' | 'any' | 'never',
9125
9354
  {
9126
9355
  applyToEndTag?: boolean
9356
+
9127
9357
  count?: number
9358
+
9128
9359
  endLines?: number | null
9360
+
9361
+ maxBlockLines?: number | null
9362
+
9129
9363
  startLines?: number | null
9364
+
9130
9365
  tags?: {
9131
9366
  [k: string]: {
9132
9367
  count?: number
@@ -9141,9 +9376,45 @@ type JsdocTextEscaping =
9141
9376
  | [
9142
9377
  {
9143
9378
  escapeHTML?: boolean
9379
+
9144
9380
  escapeMarkdown?: boolean
9145
9381
  },
9146
9382
  ]
9383
+ // ----- jsdoc/type-formatting -----
9384
+ type JsdocTypeFormatting =
9385
+ | []
9386
+ | [
9387
+ {
9388
+ arrayBrackets?: 'angle' | 'square'
9389
+
9390
+ enableFixer?: boolean
9391
+
9392
+ genericDot?: boolean
9393
+
9394
+ objectFieldIndent?: string
9395
+
9396
+ objectFieldQuote?: 'double' | 'single' | null
9397
+
9398
+ objectFieldSeparator?:
9399
+ | 'comma'
9400
+ | 'comma-and-linebreak'
9401
+ | 'linebreak'
9402
+ | 'semicolon'
9403
+ | 'semicolon-and-linebreak'
9404
+
9405
+ objectFieldSeparatorOptionalLinebreak?: boolean
9406
+
9407
+ objectFieldSeparatorTrailingPunctuation?: boolean
9408
+
9409
+ separatorForSingleObjectField?: boolean
9410
+
9411
+ stringQuotes?: 'double' | 'single'
9412
+
9413
+ typeBracketSpacing?: string
9414
+
9415
+ unionSpacing?: string
9416
+ },
9417
+ ]
9147
9418
  // ----- jsdoc/valid-types -----
9148
9419
  type JsdocValidTypes =
9149
9420
  | []
@@ -11730,6 +12001,7 @@ type NodeNoDeprecatedApi =
11730
12001
  | 'repl.REPLServer'
11731
12002
  | 'repl.Recoverable'
11732
12003
  | 'repl.REPL_MODE_MAGIC'
12004
+ | 'repl.builtinModules'
11733
12005
  | 'safe-buffer.Buffer()'
11734
12006
  | 'new safe-buffer.Buffer()'
11735
12007
  | 'safe-buffer.SlowBuffer'
@@ -13177,6 +13449,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13177
13449
  | 'process.env'
13178
13450
  | 'process.execArgv'
13179
13451
  | 'process.execPath'
13452
+ | 'process.execve'
13180
13453
  | 'process.exitCode'
13181
13454
  | 'process.features.cached_builtins'
13182
13455
  | 'process.features.debug'
@@ -13199,6 +13472,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13199
13472
  | 'process.pid'
13200
13473
  | 'process.platform'
13201
13474
  | 'process.ppid'
13475
+ | 'process.ref'
13202
13476
  | 'process.release'
13203
13477
  | 'process.report'
13204
13478
  | 'process.report.excludeEnv'
@@ -13229,6 +13503,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13229
13503
  | 'process.stderr.isTTY'
13230
13504
  | 'process.stderr.moveCursor'
13231
13505
  | 'process.stderr.rows'
13506
+ | 'process.threadCpuUsage'
13232
13507
  | 'process.throwDeprecation'
13233
13508
  | 'process.title'
13234
13509
  | 'process.traceDeprecation'
@@ -13268,6 +13543,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13268
13543
  | 'process.setSourceMapsEnabled'
13269
13544
  | 'process.setUncaughtExceptionCaptureCallback'
13270
13545
  | 'process.umask'
13546
+ | 'process.unref'
13271
13547
  | 'process.uptime'
13272
13548
  | 'ReadableStream'
13273
13549
  | 'ReadableStream.from'
@@ -13304,6 +13580,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13304
13580
  | 'MessageChannel'
13305
13581
  | 'MessagePort'
13306
13582
  | 'assert'
13583
+ | 'assert.Assert'
13307
13584
  | 'assert.assert'
13308
13585
  | 'assert.deepEqual'
13309
13586
  | 'assert.deepStrictEqual'
@@ -13319,11 +13596,13 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13319
13596
  | 'assert.notEqual'
13320
13597
  | 'assert.notStrictEqual'
13321
13598
  | 'assert.ok'
13599
+ | 'assert.partialDeepStrictEqual'
13322
13600
  | 'assert.rejects'
13323
13601
  | 'assert.strictEqual'
13324
13602
  | 'assert.throws'
13325
13603
  | 'assert.CallTracker'
13326
13604
  | 'assert.strict'
13605
+ | 'assert.strict.Assert'
13327
13606
  | 'assert.strict.assert'
13328
13607
  | 'assert.strict.deepEqual'
13329
13608
  | 'assert.strict.deepStrictEqual'
@@ -13339,11 +13618,13 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13339
13618
  | 'assert.strict.notEqual'
13340
13619
  | 'assert.strict.notStrictEqual'
13341
13620
  | 'assert.strict.ok'
13621
+ | 'assert.strict.partialDeepStrictEqual'
13342
13622
  | 'assert.strict.rejects'
13343
13623
  | 'assert.strict.strictEqual'
13344
13624
  | 'assert.strict.throws'
13345
13625
  | 'assert.strict.CallTracker'
13346
13626
  | 'assert/strict'
13627
+ | 'assert/strict.Assert'
13347
13628
  | 'assert/strict.assert'
13348
13629
  | 'assert/strict.deepEqual'
13349
13630
  | 'assert/strict.deepStrictEqual'
@@ -13359,6 +13640,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13359
13640
  | 'assert/strict.notEqual'
13360
13641
  | 'assert/strict.notStrictEqual'
13361
13642
  | 'assert/strict.ok'
13643
+ | 'assert/strict.partialDeepStrictEqual'
13362
13644
  | 'assert/strict.rejects'
13363
13645
  | 'assert/strict.strictEqual'
13364
13646
  | 'assert/strict.throws'
@@ -13538,6 +13820,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13538
13820
  | 'dns.resolvePtr'
13539
13821
  | 'dns.resolveSoa'
13540
13822
  | 'dns.resolveSrv'
13823
+ | 'dns.resolveTlsa'
13541
13824
  | 'dns.resolveTxt'
13542
13825
  | 'dns.reverse'
13543
13826
  | 'dns.setDefaultResultOrder'
@@ -13561,6 +13844,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13561
13844
  | 'dns.promises.resolvePtr'
13562
13845
  | 'dns.promises.resolveSoa'
13563
13846
  | 'dns.promises.resolveSrv'
13847
+ | 'dns.promises.resolveTlsa'
13564
13848
  | 'dns.promises.resolveTxt'
13565
13849
  | 'dns.promises.reverse'
13566
13850
  | 'dns.promises.setDefaultResultOrder'
@@ -13584,6 +13868,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13584
13868
  | 'dns/promises.resolvePtr'
13585
13869
  | 'dns/promises.resolveSoa'
13586
13870
  | 'dns/promises.resolveSrv'
13871
+ | 'dns/promises.resolveTlsa'
13587
13872
  | 'dns/promises.resolveTxt'
13588
13873
  | 'dns/promises.reverse'
13589
13874
  | 'dns/promises.setDefaultResultOrder'
@@ -13846,6 +14131,12 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13846
14131
  | 'http.IncomingMessage'
13847
14132
  | 'http.OutgoingMessage'
13848
14133
  | 'http.WebSocket'
14134
+ | '_http_agent'
14135
+ | '_http_client'
14136
+ | '_http_common'
14137
+ | '_http_incoming'
14138
+ | '_http_outgoing'
14139
+ | '_http_server'
13849
14140
  | 'https'
13850
14141
  | 'https.globalAgent'
13851
14142
  | 'https.createServer'
@@ -13855,10 +14146,13 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13855
14146
  | 'https.Server'
13856
14147
  | 'inspector'
13857
14148
  | 'inspector.Session'
14149
+ | 'inspector.Network.dataReceived'
14150
+ | 'inspector.Network.dataSent'
13858
14151
  | 'inspector.Network.loadingFailed'
13859
14152
  | 'inspector.Network.loadingFinished'
13860
14153
  | 'inspector.Network.requestWillBeSent'
13861
14154
  | 'inspector.Network.responseReceived'
14155
+ | 'inspector.NetworkResources.put'
13862
14156
  | 'inspector.console'
13863
14157
  | 'inspector.close'
13864
14158
  | 'inspector.open'
@@ -13866,10 +14160,13 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13866
14160
  | 'inspector.waitForDebugger'
13867
14161
  | 'inspector/promises'
13868
14162
  | 'inspector/promises.Session'
14163
+ | 'inspector/promises.Network.dataReceived'
14164
+ | 'inspector/promises.Network.dataSent'
13869
14165
  | 'inspector/promises.Network.loadingFailed'
13870
14166
  | 'inspector/promises.Network.loadingFinished'
13871
14167
  | 'inspector/promises.Network.requestWillBeSent'
13872
14168
  | 'inspector/promises.Network.responseReceived'
14169
+ | 'inspector/promises.NetworkResources.put'
13873
14170
  | 'inspector/promises.console'
13874
14171
  | 'inspector/promises.close'
13875
14172
  | 'inspector/promises.open'
@@ -13883,8 +14180,11 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13883
14180
  | 'module.findPackageJSON'
13884
14181
  | 'module.flushCompileCache'
13885
14182
  | 'module.getCompileCacheDir'
14183
+ | 'module.getSourceMapsSupport'
13886
14184
  | 'module.isBuiltin'
14185
+ | 'module.registerHooks'
13887
14186
  | 'module.register'
14187
+ | 'module.setSourceMapsSupport'
13888
14188
  | 'module.stripTypeScriptTypes'
13889
14189
  | 'module.syncBuiltinESMExports'
13890
14190
  | 'module.findSourceMap'
@@ -13896,8 +14196,11 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13896
14196
  | 'module.Module.findPackageJSON'
13897
14197
  | 'module.Module.flushCompileCache'
13898
14198
  | 'module.Module.getCompileCacheDir'
14199
+ | 'module.Module.getSourceMapsSupport'
13899
14200
  | 'module.Module.isBuiltin'
14201
+ | 'module.Module.registerHooks'
13900
14202
  | 'module.Module.register'
14203
+ | 'module.Module.setSourceMapsSupport'
13901
14204
  | 'module.Module.stripTypeScriptTypes'
13902
14205
  | 'module.Module.syncBuiltinESMExports'
13903
14206
  | 'module.Module.findSourceMap'
@@ -13914,7 +14217,9 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
13914
14217
  | 'net.isIPv4'
13915
14218
  | 'net.isIPv6'
13916
14219
  | 'net.BlockList'
14220
+ | 'net.BlockList.isBlockList'
13917
14221
  | 'net.SocketAddress'
14222
+ | 'net.SocketAddress.parse'
13918
14223
  | 'net.Server'
13919
14224
  | 'net.Socket'
13920
14225
  | 'os'
@@ -14164,6 +14469,11 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14164
14469
  | 'string_decoder'
14165
14470
  | 'string_decoder.StringDecoder'
14166
14471
  | 'sqlite'
14472
+ | 'sqlite.constants'
14473
+ | 'sqlite.constants.SQLITE_CHANGESET_OMIT'
14474
+ | 'sqlite.constants.SQLITE_CHANGESET_REPLACE'
14475
+ | 'sqlite.constants.SQLITE_CHANGESET_ABORT'
14476
+ | 'sqlite.backup'
14167
14477
  | 'sqlite.DatabaseSync'
14168
14478
  | 'sqlite.StatementSync'
14169
14479
  | 'sqlite.SQLITE_CHANGESET_OMIT'
@@ -14172,6 +14482,8 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14172
14482
  | 'test'
14173
14483
  | 'test.after'
14174
14484
  | 'test.afterEach'
14485
+ | 'test.assert'
14486
+ | 'test.assert.register'
14175
14487
  | 'test.before'
14176
14488
  | 'test.beforeEach'
14177
14489
  | 'test.describe'
@@ -14228,21 +14540,23 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14228
14540
  | 'timers/promises.scheduler.wait'
14229
14541
  | 'timers/promises.scheduler.yield'
14230
14542
  | 'tls'
14231
- | 'tls.rootCertificates'
14232
- | 'tls.DEFAULT_ECDH_CURVE'
14233
- | 'tls.DEFAULT_MAX_VERSION'
14234
- | 'tls.DEFAULT_MIN_VERSION'
14235
- | 'tls.DEFAULT_CIPHERS'
14236
14543
  | 'tls.checkServerIdentity'
14237
14544
  | 'tls.connect'
14238
14545
  | 'tls.createSecureContext'
14239
14546
  | 'tls.createSecurePair'
14240
14547
  | 'tls.createServer'
14548
+ | 'tls.CryptoStream'
14549
+ | 'tls.DEFAULT_CIPHERS'
14550
+ | 'tls.DEFAULT_ECDH_CURVE'
14551
+ | 'tls.DEFAULT_MAX_VERSION'
14552
+ | 'tls.DEFAULT_MIN_VERSION'
14553
+ | 'tls.getCACertificates'
14241
14554
  | 'tls.getCiphers'
14555
+ | 'tls.rootCertificates'
14242
14556
  | 'tls.SecureContext'
14243
- | 'tls.CryptoStream'
14244
14557
  | 'tls.SecurePair'
14245
14558
  | 'tls.Server'
14559
+ | 'tls.setDefaultCACertificates'
14246
14560
  | 'tls.TLSSocket'
14247
14561
  | 'trace_events'
14248
14562
  | 'trace_events.createTracing'
@@ -14262,6 +14576,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14262
14576
  | 'url.URL.canParse'
14263
14577
  | 'url.URL.createObjectURL'
14264
14578
  | 'url.URL.revokeObjectURL'
14579
+ | 'url.URLPattern'
14265
14580
  | 'url.URLSearchParams'
14266
14581
  | 'url.Url'
14267
14582
  | 'util.promisify'
@@ -14270,6 +14585,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14270
14585
  | 'util.debuglog'
14271
14586
  | 'util.debug'
14272
14587
  | 'util.deprecate'
14588
+ | 'util.diff'
14273
14589
  | 'util.format'
14274
14590
  | 'util.formatWithOptions'
14275
14591
  | 'util.getCallSite'
@@ -14285,6 +14601,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14285
14601
  | 'util.isDeepStrictEqual'
14286
14602
  | 'util.parseArgs'
14287
14603
  | 'util.parseEnv'
14604
+ | 'util.setTraceSigInt'
14288
14605
  | 'util.stripVTControlCharacters'
14289
14606
  | 'util.styleText'
14290
14607
  | 'util.toUSVString'
@@ -14332,6 +14649,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14332
14649
  | 'util.types.isInt8Array'
14333
14650
  | 'util.types.isInt16Array'
14334
14651
  | 'util.types.isInt32Array'
14652
+ | 'util.types.isFloat16Array'
14335
14653
  | 'util.types.isFloat32Array'
14336
14654
  | 'util.types.isFloat64Array'
14337
14655
  | 'util.types.isBigInt64Array'
@@ -14394,6 +14712,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14394
14712
  | 'util/types.isInt8Array'
14395
14713
  | 'util/types.isInt16Array'
14396
14714
  | 'util/types.isInt32Array'
14715
+ | 'util/types.isFloat16Array'
14397
14716
  | 'util/types.isFloat32Array'
14398
14717
  | 'util/types.isFloat64Array'
14399
14718
  | 'util/types.isBigInt64Array'
@@ -14424,6 +14743,7 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14424
14743
  | 'v8.getHeapSnapshot'
14425
14744
  | 'v8.getHeapSpaceStatistics'
14426
14745
  | 'v8.getHeapStatistics'
14746
+ | 'v8.isStringOneByteRepresentation'
14427
14747
  | 'v8.queryObjects'
14428
14748
  | 'v8.setFlagsFromString'
14429
14749
  | 'v8.stopCoverage'
@@ -14447,15 +14767,17 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14447
14767
  | 'wasi.WASI'
14448
14768
  | 'wasi'
14449
14769
  | 'worker_threads'
14450
- | 'worker_threads.isMainThread'
14451
14770
  | 'worker_threads.parentPort'
14452
14771
  | 'worker_threads.resourceLimits'
14453
14772
  | 'worker_threads.SHARE_ENV'
14454
14773
  | 'worker_threads.threadId'
14455
14774
  | 'worker_threads.workerData'
14456
14775
  | 'worker_threads.getEnvironmentData'
14776
+ | 'worker_threads.getHeapStatistics'
14457
14777
  | 'worker_threads.markAsUncloneable'
14458
14778
  | 'worker_threads.markAsUntransferable'
14779
+ | 'worker_threads.isInternalThread'
14780
+ | 'worker_threads.isMainThread'
14459
14781
  | 'worker_threads.isMarkedAsUntransferable'
14460
14782
  | 'worker_threads.moveMessagePortToContext'
14461
14783
  | 'worker_threads.postMessageToThread'
@@ -14465,7 +14787,72 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14465
14787
  | 'worker_threads.MessageChannel'
14466
14788
  | 'worker_threads.MessagePort'
14467
14789
  | 'worker_threads.Worker'
14790
+ | 'zlib.brotliCompress'
14791
+ | 'zlib.brotliCompressSync'
14792
+ | 'zlib.brotliDecompress'
14793
+ | 'zlib.brotliDecompressSync'
14468
14794
  | 'zlib.constants'
14795
+ | 'zlib.constants.ZSTD_e_continue'
14796
+ | 'zlib.constants.ZSTD_e_flush'
14797
+ | 'zlib.constants.ZSTD_e_end'
14798
+ | 'zlib.constants.ZSTD_fast'
14799
+ | 'zlib.constants.ZSTD_dfast'
14800
+ | 'zlib.constants.ZSTD_greedy'
14801
+ | 'zlib.constants.ZSTD_lazy'
14802
+ | 'zlib.constants.ZSTD_lazy2'
14803
+ | 'zlib.constants.ZSTD_btlazy2'
14804
+ | 'zlib.constants.ZSTD_btopt'
14805
+ | 'zlib.constants.ZSTD_btultra'
14806
+ | 'zlib.constants.ZSTD_btultra2'
14807
+ | 'zlib.constants.ZSTD_c_compressionLevel'
14808
+ | 'zlib.constants.ZSTD_c_windowLog'
14809
+ | 'zlib.constants.ZSTD_c_hashLog'
14810
+ | 'zlib.constants.ZSTD_c_chainLog'
14811
+ | 'zlib.constants.ZSTD_c_searchLog'
14812
+ | 'zlib.constants.ZSTD_c_minMatch'
14813
+ | 'zlib.constants.ZSTD_c_targetLength'
14814
+ | 'zlib.constants.ZSTD_c_strategy'
14815
+ | 'zlib.constants.ZSTD_c_enableLongDistanceMatching'
14816
+ | 'zlib.constants.ZSTD_c_ldmHashLog'
14817
+ | 'zlib.constants.ZSTD_c_ldmMinMatch'
14818
+ | 'zlib.constants.ZSTD_c_ldmBucketSizeLog'
14819
+ | 'zlib.constants.ZSTD_c_ldmHashRateLog'
14820
+ | 'zlib.constants.ZSTD_c_contentSizeFlag'
14821
+ | 'zlib.constants.ZSTD_c_checksumFlag'
14822
+ | 'zlib.constants.ZSTD_c_dictIDFlag'
14823
+ | 'zlib.constants.ZSTD_c_nbWorkers'
14824
+ | 'zlib.constants.ZSTD_c_jobSize'
14825
+ | 'zlib.constants.ZSTD_c_overlapLog'
14826
+ | 'zlib.constants.ZSTD_d_windowLogMax'
14827
+ | 'zlib.constants.ZSTD_CLEVEL_DEFAULT'
14828
+ | 'zlib.constants.ZSTD_error_no_error'
14829
+ | 'zlib.constants.ZSTD_error_GENERIC'
14830
+ | 'zlib.constants.ZSTD_error_prefix_unknown'
14831
+ | 'zlib.constants.ZSTD_error_version_unsupported'
14832
+ | 'zlib.constants.ZSTD_error_frameParameter_unsupported'
14833
+ | 'zlib.constants.ZSTD_error_frameParameter_windowTooLarge'
14834
+ | 'zlib.constants.ZSTD_error_corruption_detected'
14835
+ | 'zlib.constants.ZSTD_error_checksum_wrong'
14836
+ | 'zlib.constants.ZSTD_error_literals_headerWrong'
14837
+ | 'zlib.constants.ZSTD_error_dictionary_corrupted'
14838
+ | 'zlib.constants.ZSTD_error_dictionary_wrong'
14839
+ | 'zlib.constants.ZSTD_error_dictionaryCreation_failed'
14840
+ | 'zlib.constants.ZSTD_error_parameter_unsupported'
14841
+ | 'zlib.constants.ZSTD_error_parameter_combination_unsupported'
14842
+ | 'zlib.constants.ZSTD_error_parameter_outOfBound'
14843
+ | 'zlib.constants.ZSTD_error_tableLog_tooLarge'
14844
+ | 'zlib.constants.ZSTD_error_maxSymbolValue_tooLarge'
14845
+ | 'zlib.constants.ZSTD_error_maxSymbolValue_tooSmall'
14846
+ | 'zlib.constants.ZSTD_error_stabilityCondition_notRespected'
14847
+ | 'zlib.constants.ZSTD_error_stage_wrong'
14848
+ | 'zlib.constants.ZSTD_error_init_missing'
14849
+ | 'zlib.constants.ZSTD_error_memory_allocation'
14850
+ | 'zlib.constants.ZSTD_error_workSpace_tooSmall'
14851
+ | 'zlib.constants.ZSTD_error_dstSize_tooSmall'
14852
+ | 'zlib.constants.ZSTD_error_srcSize_wrong'
14853
+ | 'zlib.constants.ZSTD_error_dstBuffer_null'
14854
+ | 'zlib.constants.ZSTD_error_noForwardProgress_destFull'
14855
+ | 'zlib.constants.ZSTD_error_noForwardProgress_inputEmpty'
14469
14856
  | 'zlib.crc32'
14470
14857
  | 'zlib.createBrotliCompress'
14471
14858
  | 'zlib.createBrotliDecompress'
@@ -14476,24 +14863,26 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14476
14863
  | 'zlib.createInflate'
14477
14864
  | 'zlib.createInflateRaw'
14478
14865
  | 'zlib.createUnzip'
14479
- | 'zlib.brotliCompress'
14480
- | 'zlib.brotliCompressSync'
14481
- | 'zlib.brotliDecompress'
14482
- | 'zlib.brotliDecompressSync'
14866
+ | 'zlib.createZstdCompress'
14867
+ | 'zlib.createZstdDecompress'
14483
14868
  | 'zlib.deflate'
14484
- | 'zlib.deflateSync'
14485
14869
  | 'zlib.deflateRaw'
14486
14870
  | 'zlib.deflateRawSync'
14871
+ | 'zlib.deflateSync'
14487
14872
  | 'zlib.gunzip'
14488
14873
  | 'zlib.gunzipSync'
14489
14874
  | 'zlib.gzip'
14490
14875
  | 'zlib.gzipSync'
14491
14876
  | 'zlib.inflate'
14492
- | 'zlib.inflateSync'
14493
14877
  | 'zlib.inflateRaw'
14494
14878
  | 'zlib.inflateRawSync'
14879
+ | 'zlib.inflateSync'
14495
14880
  | 'zlib.unzip'
14496
14881
  | 'zlib.unzipSync'
14882
+ | 'zlib.zstdCompress'
14883
+ | 'zlib.zstdCompressSync'
14884
+ | 'zlib.zstdDecompress'
14885
+ | 'zlib.zstdDecompressSync'
14497
14886
  | 'zlib.BrotliCompress()'
14498
14887
  | 'zlib.BrotliCompress'
14499
14888
  | 'zlib.BrotliDecompress()'
@@ -14512,10 +14901,14 @@ type NodeNoUnsupportedFeaturesNodeBuiltins =
14512
14901
  | 'zlib.InflateRaw'
14513
14902
  | 'zlib.Unzip()'
14514
14903
  | 'zlib.Unzip'
14904
+ | 'zlib.ZstdCompress'
14905
+ | 'zlib.ZstdDecompress'
14906
+ | 'zlib.ZstdOptions'
14515
14907
  | 'zlib'
14516
14908
  | 'import.meta.resolve'
14517
14909
  | 'import.meta.dirname'
14518
14910
  | 'import.meta.filename'
14911
+ | 'import.meta.main'
14519
14912
  )[]
14520
14913
  },
14521
14914
  ]
@@ -18880,6 +19273,14 @@ type PreferRegexLiterals =
18880
19273
  disallowRedundantWrapping?: boolean
18881
19274
  },
18882
19275
  ]
19276
+ // ----- preserve-caught-error -----
19277
+ type PreserveCaughtError =
19278
+ | []
19279
+ | [
19280
+ {
19281
+ requireCatchParameter?: boolean
19282
+ },
19283
+ ]
18883
19284
  // ----- quote-props -----
18884
19285
  type QuoteProps =
18885
19286
  | []
@@ -18926,8 +19327,6 @@ type ReactNamingConventionComponentName =
18926
19327
  | ('PascalCase' | 'CONSTANT_CASE')
18927
19328
  | {
18928
19329
  allowAllCaps?: boolean
18929
- allowLeadingUnderscore?: boolean
18930
- allowNamespace?: boolean
18931
19330
  excepts?: string[]
18932
19331
  rule?: 'PascalCase' | 'CONSTANT_CASE'
18933
19332
  },
@@ -18954,6 +19353,29 @@ type ReactNamingConventionFilenameExtension =
18954
19353
  ignoreFilesWithoutCode?: boolean
18955
19354
  },
18956
19355
  ]
19356
+ // ----- react/jsx-shorthand-boolean -----
19357
+ type ReactJsxShorthandBoolean = [] | [-1 | 1]
19358
+ // ----- react/jsx-shorthand-fragment -----
19359
+ type ReactJsxShorthandFragment = [] | [-1 | 1]
19360
+ // ----- react/no-forbidden-props -----
19361
+ type ReactNoForbiddenProps =
19362
+ | []
19363
+ | [
19364
+ {
19365
+ forbid?: (
19366
+ | string
19367
+ | {
19368
+ excludedNodes?: string[]
19369
+ prop: string
19370
+ }
19371
+ | {
19372
+ includedNodes?: string[]
19373
+ prop: string
19374
+ }
19375
+ )[]
19376
+ [k: string]: unknown | undefined
19377
+ },
19378
+ ]
18957
19379
  // ----- react/no-useless-fragment -----
18958
19380
  type ReactNoUselessFragment =
18959
19381
  | []
@@ -19555,6 +19977,17 @@ type SvelteNoNavigationWithoutBase =
19555
19977
  ignoreReplaceState?: boolean
19556
19978
  },
19557
19979
  ]
19980
+ // ----- svelte/no-navigation-without-resolve -----
19981
+ type SvelteNoNavigationWithoutResolve =
19982
+ | []
19983
+ | [
19984
+ {
19985
+ ignoreGoto?: boolean
19986
+ ignoreLinks?: boolean
19987
+ ignorePushState?: boolean
19988
+ ignoreReplaceState?: boolean
19989
+ },
19990
+ ]
19558
19991
  // ----- svelte/no-reactive-reassign -----
19559
19992
  type SvelteNoReactiveReassign =
19560
19993
  | []
@@ -23895,6 +24328,14 @@ type UnicornNoArrayReverse =
23895
24328
  allowExpressionStatement?: boolean
23896
24329
  },
23897
24330
  ]
24331
+ // ----- unicorn/no-array-sort -----
24332
+ type UnicornNoArraySort =
24333
+ | []
24334
+ | [
24335
+ {
24336
+ allowExpressionStatement?: boolean
24337
+ },
24338
+ ]
23898
24339
  // ----- unicorn/no-instanceof-builtins -----
23899
24340
  type UnicornNoInstanceofBuiltins =
23900
24341
  | []