@ncontiero/eslint-config 5.2.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -19,6 +19,11 @@ interface RuleOptions {
19
19
  * @see https://tanstack.com/query/latest/docs/eslint/infinite-query-property-order
20
20
  */
21
21
  '@tanstack/query/infinite-query-property-order'?: Linter.RuleEntry<[]>
22
+ /**
23
+ * Ensure correct order of inference-sensitive properties in useMutation()
24
+ * @see https://tanstack.com/query/latest/docs/eslint/mutation-property-order
25
+ */
26
+ '@tanstack/query/mutation-property-order'?: Linter.RuleEntry<[]>
22
27
  /**
23
28
  * Disallows rest destructuring in queries
24
29
  * @see https://tanstack.com/query/latest/docs/eslint/no-rest-destructuring
@@ -683,6 +688,7 @@ interface RuleOptions {
683
688
  /**
684
689
  * Require type annotations in certain places
685
690
  * @see https://typescript-eslint.io/rules/typedef
691
+ * @deprecated
686
692
  */
687
693
  '@typescript-eslint/typedef'?: Linter.RuleEntry<TypescriptEslintTypedef>
688
694
  /**
@@ -1084,233 +1090,238 @@ interface RuleOptions {
1084
1090
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
1085
1091
  /**
1086
1092
  * Enforce or ban the use of inline type-only markers for named imports.
1087
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/consistent-type-specifier-style.md
1093
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/consistent-type-specifier-style.md
1088
1094
  */
1089
1095
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
1090
1096
  /**
1091
1097
  * Ensure a default export is present, given a default import.
1092
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/default.md
1098
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/default.md
1093
1099
  */
1094
1100
  'import/default'?: Linter.RuleEntry<[]>
1095
1101
  /**
1096
1102
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
1097
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/dynamic-import-chunkname.md
1103
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/dynamic-import-chunkname.md
1098
1104
  */
1099
1105
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
1100
1106
  /**
1101
1107
  * Forbid any invalid exports, i.e. re-export of the same name.
1102
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/export.md
1108
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/export.md
1103
1109
  */
1104
1110
  'import/export'?: Linter.RuleEntry<[]>
1105
1111
  /**
1106
1112
  * Ensure all exports appear after other statements.
1107
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/exports-last.md
1113
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/exports-last.md
1108
1114
  */
1109
1115
  'import/exports-last'?: Linter.RuleEntry<[]>
1110
1116
  /**
1111
1117
  * Ensure consistent use of file extension within the import path.
1112
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/extensions.md
1118
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/extensions.md
1113
1119
  */
1114
1120
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
1115
1121
  /**
1116
1122
  * Ensure all imports appear before other statements.
1117
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/first.md
1123
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/first.md
1118
1124
  */
1119
1125
  'import/first'?: Linter.RuleEntry<ImportFirst>
1120
1126
  /**
1121
1127
  * Prefer named exports to be grouped together in a single export declaration.
1122
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/group-exports.md
1128
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/group-exports.md
1123
1129
  */
1124
1130
  'import/group-exports'?: Linter.RuleEntry<[]>
1125
1131
  /**
1126
1132
  * Replaced by `import-x/first`.
1127
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/imports-first.md
1133
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/imports-first.md
1128
1134
  * @deprecated
1129
1135
  */
1130
1136
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
1131
1137
  /**
1132
1138
  * Enforce the maximum number of dependencies a module can have.
1133
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/max-dependencies.md
1139
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/max-dependencies.md
1134
1140
  */
1135
1141
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
1136
1142
  /**
1137
1143
  * Ensure named imports correspond to a named export in the remote file.
1138
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/named.md
1144
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/named.md
1139
1145
  */
1140
1146
  'import/named'?: Linter.RuleEntry<ImportNamed>
1141
1147
  /**
1142
1148
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
1143
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/namespace.md
1149
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/namespace.md
1144
1150
  */
1145
1151
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
1146
1152
  /**
1147
1153
  * Enforce a newline after import statements.
1148
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/newline-after-import.md
1154
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/newline-after-import.md
1149
1155
  */
1150
1156
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
1151
1157
  /**
1152
1158
  * Forbid import of modules using absolute paths.
1153
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-absolute-path.md
1159
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-absolute-path.md
1154
1160
  */
1155
1161
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
1156
1162
  /**
1157
1163
  * Forbid AMD `require` and `define` calls.
1158
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-amd.md
1164
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-amd.md
1159
1165
  */
1160
1166
  'import/no-amd'?: Linter.RuleEntry<[]>
1161
1167
  /**
1162
1168
  * Forbid anonymous values as default exports.
1163
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-anonymous-default-export.md
1169
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-anonymous-default-export.md
1164
1170
  */
1165
1171
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
1166
1172
  /**
1167
1173
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
1168
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-commonjs.md
1174
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-commonjs.md
1169
1175
  */
1170
1176
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
1171
1177
  /**
1172
1178
  * Forbid a module from importing a module with a dependency path back to itself.
1173
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-cycle.md
1179
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-cycle.md
1174
1180
  */
1175
1181
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
1176
1182
  /**
1177
1183
  * Forbid default exports.
1178
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-default-export.md
1184
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-default-export.md
1179
1185
  */
1180
1186
  'import/no-default-export'?: Linter.RuleEntry<[]>
1181
1187
  /**
1182
1188
  * Forbid imported names marked with `@deprecated` documentation tag.
1183
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-deprecated.md
1189
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-deprecated.md
1184
1190
  */
1185
1191
  'import/no-deprecated'?: Linter.RuleEntry<[]>
1186
1192
  /**
1187
1193
  * Forbid repeated import of the same module in multiple places.
1188
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-duplicates.md
1194
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-duplicates.md
1189
1195
  */
1190
1196
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
1191
1197
  /**
1192
1198
  * Forbid `require()` calls with expressions.
1193
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-dynamic-require.md
1199
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-dynamic-require.md
1194
1200
  */
1195
1201
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
1196
1202
  /**
1197
1203
  * Forbid empty named import blocks.
1198
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-empty-named-blocks.md
1204
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-empty-named-blocks.md
1199
1205
  */
1200
1206
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
1201
1207
  /**
1202
1208
  * Forbid the use of extraneous packages.
1203
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-extraneous-dependencies.md
1209
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-extraneous-dependencies.md
1204
1210
  */
1205
1211
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
1206
1212
  /**
1207
1213
  * Forbid import statements with CommonJS module.exports.
1208
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-import-module-exports.md
1214
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-import-module-exports.md
1209
1215
  */
1210
1216
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
1211
1217
  /**
1212
1218
  * Forbid importing the submodules of other modules.
1213
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-internal-modules.md
1219
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-internal-modules.md
1214
1220
  */
1215
1221
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
1216
1222
  /**
1217
1223
  * Forbid the use of mutable exports with `var` or `let`.
1218
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-mutable-exports.md
1224
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-mutable-exports.md
1219
1225
  */
1220
1226
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
1221
1227
  /**
1222
1228
  * Forbid use of exported name as identifier of default export.
1223
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-as-default.md
1229
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default.md
1224
1230
  */
1225
1231
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
1226
1232
  /**
1227
1233
  * Forbid use of exported name as property of default export.
1228
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-as-default-member.md
1234
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default-member.md
1229
1235
  */
1230
1236
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
1231
1237
  /**
1232
1238
  * Forbid named default exports.
1233
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-default.md
1239
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-default.md
1234
1240
  */
1235
1241
  'import/no-named-default'?: Linter.RuleEntry<[]>
1236
1242
  /**
1237
1243
  * Forbid named exports.
1238
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-export.md
1244
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-export.md
1239
1245
  */
1240
1246
  'import/no-named-export'?: Linter.RuleEntry<[]>
1241
1247
  /**
1242
1248
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
1243
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-namespace.md
1249
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-namespace.md
1244
1250
  */
1245
1251
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
1246
1252
  /**
1247
1253
  * Forbid Node.js builtin modules.
1248
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-nodejs-modules.md
1254
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-nodejs-modules.md
1249
1255
  */
1250
1256
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
1251
1257
  /**
1252
1258
  * Forbid importing packages through relative paths.
1253
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-relative-packages.md
1259
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-packages.md
1254
1260
  */
1255
1261
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
1256
1262
  /**
1257
1263
  * Forbid importing modules from parent directories.
1258
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-relative-parent-imports.md
1264
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-parent-imports.md
1259
1265
  */
1260
1266
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
1261
1267
  /**
1262
1268
  * Forbid importing a default export by a different name.
1263
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-rename-default.md
1269
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-rename-default.md
1264
1270
  */
1265
1271
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
1266
1272
  /**
1267
1273
  * Enforce which files can be imported in a given folder.
1268
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-restricted-paths.md
1274
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-restricted-paths.md
1269
1275
  */
1270
1276
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
1271
1277
  /**
1272
1278
  * Forbid a module from importing itself.
1273
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-self-import.md
1279
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-self-import.md
1274
1280
  */
1275
1281
  'import/no-self-import'?: Linter.RuleEntry<[]>
1276
1282
  /**
1277
1283
  * Forbid unassigned imports.
1278
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-unassigned-import.md
1284
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unassigned-import.md
1279
1285
  */
1280
1286
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
1281
1287
  /**
1282
1288
  * Ensure imports point to a file/module that can be resolved.
1283
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-unresolved.md
1289
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unresolved.md
1284
1290
  */
1285
1291
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
1286
1292
  /**
1287
1293
  * Forbid modules without exports, or exports without matching import in another module.
1288
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-unused-modules.md
1294
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unused-modules.md
1289
1295
  */
1290
1296
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
1291
1297
  /**
1292
1298
  * Forbid unnecessary path segments in import and require statements.
1293
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-useless-path-segments.md
1299
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-useless-path-segments.md
1294
1300
  */
1295
1301
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
1296
1302
  /**
1297
1303
  * Forbid webpack loader syntax in imports.
1298
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-webpack-loader-syntax.md
1304
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-webpack-loader-syntax.md
1299
1305
  */
1300
1306
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
1301
1307
  /**
1302
1308
  * Enforce a convention in module import order.
1303
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/order.md
1309
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/order.md
1304
1310
  */
1305
1311
  'import/order'?: Linter.RuleEntry<ImportOrder>
1306
1312
  /**
1307
1313
  * Prefer a default export if module exports a single name or multiple names.
1308
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/prefer-default-export.md
1314
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-default-export.md
1309
1315
  */
1310
1316
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
1317
+ /**
1318
+ * Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
1319
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-namespace-import.md
1320
+ */
1321
+ 'import/prefer-namespace-import'?: Linter.RuleEntry<ImportPreferNamespaceImport>
1311
1322
  /**
1312
1323
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1313
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/unambiguous.md
1324
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
1314
1325
  */
1315
1326
  'import/unambiguous'?: Linter.RuleEntry<[]>
1316
1327
  /**
@@ -1784,7 +1795,7 @@ interface RuleOptions {
1784
1795
  * disallow unnecessary escape usage
1785
1796
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
1786
1797
  */
1787
- 'jsonc/no-useless-escape'?: Linter.RuleEntry<[]>
1798
+ 'jsonc/no-useless-escape'?: Linter.RuleEntry<JsoncNoUselessEscape>
1788
1799
  /**
1789
1800
  * enforce consistent line breaks inside braces
1790
1801
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
@@ -2096,11 +2107,31 @@ interface RuleOptions {
2096
2107
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
2097
2108
  */
2098
2109
  'markdown/heading-increment'?: Linter.RuleEntry<[]>
2110
+ /**
2111
+ * Disallow bare URLs
2112
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
2113
+ */
2114
+ 'markdown/no-bare-urls'?: Linter.RuleEntry<[]>
2115
+ /**
2116
+ * Disallow duplicate definitions
2117
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-definitions.md
2118
+ */
2119
+ 'markdown/no-duplicate-definitions'?: Linter.RuleEntry<MarkdownNoDuplicateDefinitions>
2099
2120
  /**
2100
2121
  * Disallow duplicate headings in the same document
2101
2122
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-headings.md
2102
2123
  */
2103
- 'markdown/no-duplicate-headings'?: Linter.RuleEntry<[]>
2124
+ 'markdown/no-duplicate-headings'?: Linter.RuleEntry<MarkdownNoDuplicateHeadings>
2125
+ /**
2126
+ * Disallow empty definitions
2127
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-definitions.md
2128
+ */
2129
+ 'markdown/no-empty-definitions'?: Linter.RuleEntry<MarkdownNoEmptyDefinitions>
2130
+ /**
2131
+ * Disallow empty images
2132
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-images.md
2133
+ */
2134
+ 'markdown/no-empty-images'?: Linter.RuleEntry<[]>
2104
2135
  /**
2105
2136
  * Disallow empty links
2106
2137
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-links.md
@@ -2116,11 +2147,46 @@ interface RuleOptions {
2116
2147
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-invalid-label-refs.md
2117
2148
  */
2118
2149
  'markdown/no-invalid-label-refs'?: Linter.RuleEntry<[]>
2150
+ /**
2151
+ * Disallow headings without a space after the hash characters
2152
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
2153
+ */
2154
+ 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<[]>
2119
2155
  /**
2120
2156
  * Disallow missing label references
2121
2157
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
2122
2158
  */
2123
2159
  'markdown/no-missing-label-refs'?: Linter.RuleEntry<[]>
2160
+ /**
2161
+ * Disallow link fragments that do not reference valid headings
2162
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
2163
+ */
2164
+ 'markdown/no-missing-link-fragments'?: Linter.RuleEntry<MarkdownNoMissingLinkFragments>
2165
+ /**
2166
+ * Disallow multiple H1 headings in the same document
2167
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
2168
+ */
2169
+ 'markdown/no-multiple-h1'?: Linter.RuleEntry<MarkdownNoMultipleH1>
2170
+ /**
2171
+ * Disallow reversed link and image syntax
2172
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
2173
+ */
2174
+ 'markdown/no-reversed-media-syntax'?: Linter.RuleEntry<[]>
2175
+ /**
2176
+ * Disallow unused definitions
2177
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
2178
+ */
2179
+ 'markdown/no-unused-definitions'?: Linter.RuleEntry<MarkdownNoUnusedDefinitions>
2180
+ /**
2181
+ * Require alternative text for images
2182
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/require-alt-text.md
2183
+ */
2184
+ 'markdown/require-alt-text'?: Linter.RuleEntry<[]>
2185
+ /**
2186
+ * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
2187
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
2188
+ */
2189
+ 'markdown/table-column-count'?: Linter.RuleEntry<MarkdownTableColumnCount>
2124
2190
  /**
2125
2191
  * Enforce a maximum number of classes per file
2126
2192
  * @see https://eslint.org/docs/latest/rules/max-classes-per-file
@@ -2235,7 +2301,7 @@ interface RuleOptions {
2235
2301
  */
2236
2302
  'nextjs/no-assign-module-variable'?: Linter.RuleEntry<[]>
2237
2303
  /**
2238
- * Prevent client components from being async functions.
2304
+ * Prevent Client Components from being async functions.
2239
2305
  * @see https://nextjs.org/docs/messages/no-async-client-component
2240
2306
  */
2241
2307
  'nextjs/no-async-client-component'?: Linter.RuleEntry<[]>
@@ -2387,7 +2453,7 @@ interface RuleOptions {
2387
2453
  */
2388
2454
  'no-console'?: Linter.RuleEntry<NoConsole>
2389
2455
  /**
2390
- * Disallow reassigning `const` variables
2456
+ * Disallow reassigning `const`, `using`, and `await using` variables
2391
2457
  * @see https://eslint.org/docs/latest/rules/no-const-assign
2392
2458
  */
2393
2459
  'no-const-assign'?: Linter.RuleEntry<[]>
@@ -2953,6 +3019,11 @@ interface RuleOptions {
2953
3019
  * @deprecated
2954
3020
  */
2955
3021
  'no-trailing-spaces'?: Linter.RuleEntry<NoTrailingSpaces>
3022
+ /**
3023
+ * Disallow `let` or `var` variables that are read but never assigned
3024
+ * @see https://eslint.org/docs/latest/rules/no-unassigned-vars
3025
+ */
3026
+ 'no-unassigned-vars'?: Linter.RuleEntry<[]>
2956
3027
  /**
2957
3028
  * Disallow the use of undeclared variables unless mentioned in `/*global *\/` comments
2958
3029
  * @see https://eslint.org/docs/latest/rules/no-undef
@@ -3077,7 +3148,7 @@ interface RuleOptions {
3077
3148
  * Disallow unnecessary escape characters
3078
3149
  * @see https://eslint.org/docs/latest/rules/no-useless-escape
3079
3150
  */
3080
- 'no-useless-escape'?: Linter.RuleEntry<[]>
3151
+ 'no-useless-escape'?: Linter.RuleEntry<NoUselessEscape>
3081
3152
  /**
3082
3153
  * Disallow renaming import, export, and destructured assignments to the same name
3083
3154
  * @see https://eslint.org/docs/latest/rules/no-useless-rename
@@ -3225,6 +3296,11 @@ interface RuleOptions {
3225
3296
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-sync.md
3226
3297
  */
3227
3298
  'node/no-sync'?: Linter.RuleEntry<NodeNoSync>
3299
+ /**
3300
+ * disallow top-level `await` in published modules
3301
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-top-level-await.md
3302
+ */
3303
+ 'node/no-top-level-await'?: Linter.RuleEntry<NodeNoTopLevelAwait>
3228
3304
  /**
3229
3305
  * disallow `bin` files that npm ignores
3230
3306
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-bin.md
@@ -4498,7 +4574,7 @@ interface RuleOptions {
4498
4574
  * enforce using quantifier
4499
4575
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-quantifier.html
4500
4576
  */
4501
- 'regexp/prefer-quantifier'?: Linter.RuleEntry<[]>
4577
+ 'regexp/prefer-quantifier'?: Linter.RuleEntry<RegexpPreferQuantifier>
4502
4578
  /**
4503
4579
  * enforce using `?` quantifier
4504
4580
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-question-quantifier.html
@@ -4875,670 +4951,690 @@ interface RuleOptions {
4875
4951
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
4876
4952
  /**
4877
4953
  * Improve regexes by making them shorter, consistent, and safer.
4878
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
4954
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
4879
4955
  */
4880
4956
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
4881
4957
  /**
4882
4958
  * Enforce a specific parameter name in catch clauses.
4883
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
4959
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
4884
4960
  */
4885
4961
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
4886
4962
  /**
4887
4963
  * Enforce consistent assertion style with `node:assert`.
4888
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
4964
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
4889
4965
  */
4890
4966
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
4891
4967
  /**
4892
4968
  * Prefer passing `Date` directly to the constructor when cloning.
4893
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
4969
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
4894
4970
  */
4895
4971
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
4896
4972
  /**
4897
4973
  * Use destructured variables over properties.
4898
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
4974
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
4899
4975
  */
4900
4976
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
4901
4977
  /**
4902
4978
  * Prefer consistent types when spreading a ternary in an array literal.
4903
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
4979
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
4904
4980
  */
4905
4981
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
4906
4982
  /**
4907
4983
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
4908
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
4984
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
4909
4985
  */
4910
4986
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
4911
4987
  /**
4912
4988
  * Move function definitions to the highest possible scope.
4913
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
4989
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
4914
4990
  */
4915
4991
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
4916
4992
  /**
4917
4993
  * Enforce correct `Error` subclassing.
4918
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
4994
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
4919
4995
  */
4920
4996
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
4921
4997
  /**
4922
4998
  * Enforce no spaces between braces.
4923
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
4999
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
4924
5000
  */
4925
5001
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
4926
5002
  /**
4927
5003
  * Enforce passing a `message` value when creating a built-in error.
4928
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
5004
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
4929
5005
  */
4930
5006
  'unicorn/error-message'?: Linter.RuleEntry<[]>
4931
5007
  /**
4932
5008
  * Require escape sequences to use uppercase or lowercase values.
4933
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
5009
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
4934
5010
  */
4935
5011
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
4936
5012
  /**
4937
5013
  * Add expiration conditions to TODO comments.
4938
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
5014
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
4939
5015
  */
4940
5016
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
4941
5017
  /**
4942
5018
  * Enforce explicitly comparing the `length` or `size` property of a value.
4943
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
5019
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
4944
5020
  */
4945
5021
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
4946
5022
  /**
4947
5023
  * Enforce a case style for filenames.
4948
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
5024
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
4949
5025
  */
4950
5026
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
4951
5027
  /**
4952
5028
  * Enforce specific import styles per module.
4953
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
5029
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
4954
5030
  */
4955
5031
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
4956
5032
  /**
4957
5033
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
4958
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
5034
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
4959
5035
  */
4960
5036
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
4961
5037
  /**
4962
5038
  * Enforce specifying rules to disable in `eslint-disable` comments.
4963
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
5039
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
4964
5040
  */
4965
5041
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
4966
5042
  /**
4967
5043
  * Disallow recursive access to `this` within getters and setters.
4968
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
5044
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
4969
5045
  */
4970
5046
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
4971
5047
  /**
4972
5048
  * Disallow anonymous functions and classes as the default export.
4973
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
5049
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
4974
5050
  */
4975
5051
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
4976
5052
  /**
4977
5053
  * Prevent passing a function reference directly to iterator methods.
4978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
5054
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
4979
5055
  */
4980
5056
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
4981
5057
  /**
4982
5058
  * Prefer `for…of` over the `forEach` method.
4983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
5059
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
4984
5060
  */
4985
5061
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
4986
5062
  /**
4987
5063
  * Disallow using the `this` argument in array methods.
4988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
5064
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
4989
5065
  */
4990
5066
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
4991
5067
  /**
4992
5068
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
4993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
5069
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
4994
5070
  * @deprecated
4995
5071
  */
4996
5072
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
4997
5073
  /**
4998
5074
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
4999
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
5075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
5000
5076
  */
5001
5077
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
5078
+ /**
5079
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
5080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
5081
+ */
5082
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
5002
5083
  /**
5003
5084
  * Disallow member access from await expression.
5004
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
5085
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
5005
5086
  */
5006
5087
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
5007
5088
  /**
5008
5089
  * Disallow using `await` in `Promise` method parameters.
5009
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
5090
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
5010
5091
  */
5011
5092
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
5012
5093
  /**
5013
5094
  * Do not use leading/trailing space between `console.log` parameters.
5014
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
5095
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
5015
5096
  */
5016
5097
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
5017
5098
  /**
5018
5099
  * Do not use `document.cookie` directly.
5019
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
5100
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
5020
5101
  */
5021
5102
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
5022
5103
  /**
5023
5104
  * Disallow empty files.
5024
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
5105
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
5025
5106
  */
5026
5107
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
5027
5108
  /**
5028
5109
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
5029
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
5110
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
5030
5111
  */
5031
5112
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
5032
5113
  /**
5033
5114
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
5034
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
5115
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
5035
5116
  */
5036
5117
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
5037
5118
  /**
5038
5119
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
5039
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
5120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
5040
5121
  * @deprecated
5041
5122
  */
5042
5123
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
5043
5124
  /**
5044
5125
  * Disallow `instanceof` with built-in objects
5045
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
5126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
5046
5127
  */
5047
5128
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
5048
5129
  /**
5049
5130
  * Disallow invalid options in `fetch()` and `new Request()`.
5050
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
5131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
5051
5132
  */
5052
5133
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
5053
5134
  /**
5054
5135
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
5055
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
5136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
5056
5137
  */
5057
5138
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
5058
5139
  /**
5059
5140
  * Disallow identifiers starting with `new` or `class`.
5060
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
5141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
5061
5142
  */
5062
5143
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
5063
5144
  /**
5064
5145
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
5065
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
5146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
5066
5147
  * @deprecated
5067
5148
  */
5068
5149
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
5069
5150
  /**
5070
5151
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
5071
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
5152
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
5072
5153
  */
5073
5154
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
5074
5155
  /**
5075
5156
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
5076
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
5157
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
5077
5158
  */
5078
5159
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
5079
5160
  /**
5080
5161
  * Disallow named usage of default import and export.
5081
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
5162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
5082
5163
  */
5083
5164
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
5084
5165
  /**
5085
5166
  * Disallow negated conditions.
5086
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
5167
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
5087
5168
  */
5088
5169
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
5089
5170
  /**
5090
5171
  * Disallow negated expression in equality check.
5091
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
5172
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
5092
5173
  */
5093
5174
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
5094
5175
  /**
5095
5176
  * Disallow nested ternary expressions.
5096
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
5177
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
5097
5178
  */
5098
5179
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
5099
5180
  /**
5100
5181
  * Disallow `new Array()`.
5101
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
5182
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
5102
5183
  */
5103
5184
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
5104
5185
  /**
5105
5186
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
5106
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
5187
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
5107
5188
  */
5108
5189
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
5109
5190
  /**
5110
5191
  * Disallow the use of the `null` literal.
5111
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
5192
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
5112
5193
  */
5113
5194
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
5114
5195
  /**
5115
5196
  * Disallow the use of objects as default parameters.
5116
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
5197
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
5117
5198
  */
5118
5199
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
5119
5200
  /**
5120
5201
  * Disallow `process.exit()`.
5121
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
5202
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
5122
5203
  */
5123
5204
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
5124
5205
  /**
5125
5206
  * Disallow passing single-element arrays to `Promise` methods.
5126
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
5207
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
5127
5208
  */
5128
5209
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
5129
5210
  /**
5130
5211
  * Disallow classes that only have static members.
5131
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
5212
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
5132
5213
  */
5133
5214
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
5134
5215
  /**
5135
5216
  * Disallow `then` property.
5136
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
5217
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
5137
5218
  */
5138
5219
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
5139
5220
  /**
5140
5221
  * Disallow assigning `this` to a variable.
5141
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
5222
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
5142
5223
  */
5143
5224
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
5144
5225
  /**
5145
5226
  * Disallow comparing `undefined` using `typeof`.
5146
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
5227
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
5147
5228
  */
5148
5229
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
5149
5230
  /**
5150
5231
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
5151
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
5232
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
5152
5233
  */
5153
5234
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
5154
5235
  /**
5155
5236
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
5156
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
5237
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
5157
5238
  */
5158
5239
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
5159
5240
  /**
5160
5241
  * Disallow awaiting non-promise values.
5161
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
5242
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
5162
5243
  */
5163
5244
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
5164
5245
  /**
5165
5246
  * Enforce the use of built-in methods instead of unnecessary polyfills.
5166
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
5247
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
5167
5248
  */
5168
5249
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
5169
5250
  /**
5170
5251
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
5171
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
5252
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
5172
5253
  */
5173
5254
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
5174
5255
  /**
5175
5256
  * Disallow unreadable array destructuring.
5176
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
5257
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
5177
5258
  */
5178
5259
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
5179
5260
  /**
5180
5261
  * Disallow unreadable IIFEs.
5181
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
5262
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
5182
5263
  */
5183
5264
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
5184
5265
  /**
5185
5266
  * Disallow unused object properties.
5186
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
5267
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
5187
5268
  */
5188
5269
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
5270
+ /**
5271
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
5272
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
5273
+ */
5274
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
5189
5275
  /**
5190
5276
  * Disallow useless fallback when spreading in object literals.
5191
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
5277
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
5192
5278
  */
5193
5279
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
5194
5280
  /**
5195
5281
  * Disallow useless array length check.
5196
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
5282
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
5197
5283
  */
5198
5284
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
5199
5285
  /**
5200
5286
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
5201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
5287
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
5202
5288
  */
5203
5289
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
5204
5290
  /**
5205
5291
  * Disallow unnecessary spread.
5206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
5292
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
5207
5293
  */
5208
5294
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
5209
5295
  /**
5210
5296
  * Disallow useless case in switch statements.
5211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
5297
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
5212
5298
  */
5213
5299
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
5214
5300
  /**
5215
5301
  * Disallow useless `undefined`.
5216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
5302
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
5217
5303
  */
5218
5304
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
5219
5305
  /**
5220
5306
  * Disallow number literals with zero fractions or dangling dots.
5221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
5307
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
5222
5308
  */
5223
5309
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
5224
5310
  /**
5225
5311
  * Enforce proper case for numeric literals.
5226
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
5312
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
5227
5313
  */
5228
5314
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
5229
5315
  /**
5230
5316
  * Enforce the style of numeric separators by correctly grouping digits.
5231
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
5317
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
5232
5318
  */
5233
5319
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
5234
5320
  /**
5235
5321
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
5236
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
5322
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
5237
5323
  */
5238
5324
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
5239
5325
  /**
5240
5326
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
5241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
5327
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
5242
5328
  */
5243
5329
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
5244
5330
  /**
5245
5331
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
5246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
5332
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
5247
5333
  */
5248
5334
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
5249
5335
  /**
5250
5336
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
5251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
5337
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
5252
5338
  */
5253
5339
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
5254
5340
  /**
5255
5341
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
5256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
5342
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
5257
5343
  */
5258
5344
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
5259
5345
  /**
5260
5346
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
5261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
5347
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
5262
5348
  */
5263
5349
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
5264
5350
  /**
5265
5351
  * Prefer `.at()` method for index access and `String#charAt()`.
5266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
5352
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
5267
5353
  */
5268
5354
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
5269
5355
  /**
5270
5356
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
5271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
5357
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
5272
5358
  */
5273
5359
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
5360
+ /**
5361
+ * Prefer class field declarations over `this` assignments in constructors.
5362
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
5363
+ */
5364
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
5274
5365
  /**
5275
5366
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
5276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
5367
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
5277
5368
  */
5278
5369
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
5279
5370
  /**
5280
5371
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
5281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
5372
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
5282
5373
  */
5283
5374
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
5284
5375
  /**
5285
5376
  * Prefer default parameters over reassignment.
5286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
5377
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
5287
5378
  */
5288
5379
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
5289
5380
  /**
5290
5381
  * Prefer `Node#append()` over `Node#appendChild()`.
5291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
5382
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
5292
5383
  */
5293
5384
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
5294
5385
  /**
5295
5386
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
5296
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
5387
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
5297
5388
  */
5298
5389
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
5299
5390
  /**
5300
5391
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
5301
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
5392
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
5302
5393
  */
5303
5394
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
5304
5395
  /**
5305
5396
  * Prefer `.textContent` over `.innerText`.
5306
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
5397
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
5307
5398
  */
5308
5399
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
5309
5400
  /**
5310
5401
  * Prefer `EventTarget` over `EventEmitter`.
5311
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
5402
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
5312
5403
  */
5313
5404
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
5314
5405
  /**
5315
5406
  * Prefer `export…from` when re-exporting.
5316
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
5407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
5317
5408
  */
5318
5409
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
5319
5410
  /**
5320
5411
  * Prefer `globalThis` over `window`, `self`, and `global`.
5321
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
5412
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
5322
5413
  */
5323
5414
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
5324
5415
  /**
5325
5416
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
5326
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
5417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
5327
5418
  */
5328
5419
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
5329
5420
  /**
5330
5421
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
5331
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
5422
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
5332
5423
  */
5333
5424
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
5334
5425
  /**
5335
5426
  * Prefer reading a JSON file as a buffer.
5336
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
5427
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
5337
5428
  */
5338
5429
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
5339
5430
  /**
5340
5431
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
5341
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
5432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
5342
5433
  */
5343
5434
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
5344
5435
  /**
5345
5436
  * Prefer using a logical operator over a ternary.
5346
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
5437
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
5347
5438
  */
5348
5439
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
5349
5440
  /**
5350
5441
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
5351
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
5442
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
5352
5443
  */
5353
5444
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
5354
5445
  /**
5355
5446
  * Enforce the use of `Math.trunc` instead of bitwise operators.
5356
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
5447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
5357
5448
  */
5358
5449
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
5359
5450
  /**
5360
5451
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
5361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
5452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
5362
5453
  */
5363
5454
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
5364
5455
  /**
5365
5456
  * Prefer modern `Math` APIs over legacy patterns.
5366
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
5457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
5367
5458
  */
5368
5459
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
5369
5460
  /**
5370
5461
  * Prefer JavaScript modules (ESM) over CommonJS.
5371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
5462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
5372
5463
  */
5373
5464
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
5374
5465
  /**
5375
5466
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
5376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
5467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
5377
5468
  */
5378
5469
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
5379
5470
  /**
5380
5471
  * Prefer negative index over `.length - index` when possible.
5381
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
5472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
5382
5473
  */
5383
5474
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
5384
5475
  /**
5385
5476
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
5386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
5477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
5387
5478
  */
5388
5479
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
5389
5480
  /**
5390
5481
  * Prefer `Number` static properties over global ones.
5391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
5482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
5392
5483
  */
5393
5484
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
5394
5485
  /**
5395
5486
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
5396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
5487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
5397
5488
  */
5398
5489
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
5399
5490
  /**
5400
5491
  * Prefer omitting the `catch` binding parameter.
5401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
5492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
5402
5493
  */
5403
5494
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
5404
5495
  /**
5405
5496
  * Prefer borrowing methods from the prototype instead of the instance.
5406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
5497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
5407
5498
  */
5408
5499
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
5409
5500
  /**
5410
5501
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
5411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
5502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
5412
5503
  */
5413
5504
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
5414
5505
  /**
5415
5506
  * Prefer `Reflect.apply()` over `Function#apply()`.
5416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
5507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
5417
5508
  */
5418
5509
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
5419
5510
  /**
5420
5511
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
5421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
5512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
5422
5513
  */
5423
5514
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
5424
5515
  /**
5425
5516
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
5426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
5517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
5427
5518
  */
5428
5519
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
5429
5520
  /**
5430
5521
  * Prefer using `Set#size` instead of `Array#length`.
5431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
5522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
5432
5523
  */
5433
5524
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
5434
5525
  /**
5435
5526
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
5436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
5527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
5437
5528
  */
5438
5529
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
5439
5530
  /**
5440
5531
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
5441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
5532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
5442
5533
  */
5443
5534
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
5444
5535
  /**
5445
5536
  * Prefer using the `String.raw` tag to avoid escaping `\`.
5446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
5537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
5447
5538
  */
5448
5539
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
5449
5540
  /**
5450
5541
  * Prefer `String#replaceAll()` over regex searches with the global flag.
5451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
5542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
5452
5543
  */
5453
5544
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
5454
5545
  /**
5455
5546
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
5456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
5547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
5457
5548
  */
5458
5549
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
5459
5550
  /**
5460
5551
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
5461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
5552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
5462
5553
  */
5463
5554
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
5464
5555
  /**
5465
5556
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
5466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
5557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
5467
5558
  */
5468
5559
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
5469
5560
  /**
5470
5561
  * Prefer using `structuredClone` to create a deep clone.
5471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
5562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
5472
5563
  */
5473
5564
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
5474
5565
  /**
5475
5566
  * Prefer `switch` over multiple `else-if`.
5476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
5567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
5477
5568
  */
5478
5569
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
5479
5570
  /**
5480
5571
  * Prefer ternary expressions over simple `if-else` statements.
5481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
5572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
5482
5573
  */
5483
5574
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
5484
5575
  /**
5485
5576
  * Prefer top-level await over top-level promises and async function calls.
5486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
5577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
5487
5578
  */
5488
5579
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
5489
5580
  /**
5490
5581
  * Enforce throwing `TypeError` in type checking conditions.
5491
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
5582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
5492
5583
  */
5493
5584
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
5494
5585
  /**
5495
5586
  * Prevent abbreviations.
5496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
5587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
5497
5588
  */
5498
5589
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
5499
5590
  /**
5500
5591
  * Enforce consistent relative URL style.
5501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
5592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
5502
5593
  */
5503
5594
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
5504
5595
  /**
5505
5596
  * Enforce using the separator argument with `Array#join()`.
5506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
5597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
5507
5598
  */
5508
5599
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
5600
+ /**
5601
+ * Require non-empty specifier list in import and export statements.
5602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
5603
+ */
5604
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
5509
5605
  /**
5510
5606
  * Enforce using the digits argument with `Number#toFixed()`.
5511
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
5607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
5512
5608
  */
5513
5609
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
5514
5610
  /**
5515
5611
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
5516
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
5612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
5517
5613
  */
5518
5614
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
5519
5615
  /**
5520
5616
  * Enforce better string content.
5521
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
5617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
5522
5618
  */
5523
5619
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
5524
5620
  /**
5525
5621
  * Enforce consistent brace style for `case` clauses.
5526
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
5622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
5527
5623
  */
5528
5624
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
5529
5625
  /**
5530
5626
  * Fix whitespace-insensitive template indentation.
5531
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
5627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
5532
5628
  */
5533
5629
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
5534
5630
  /**
5535
5631
  * Enforce consistent case for text encoding identifiers.
5536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
5632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
5537
5633
  */
5538
5634
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
5539
5635
  /**
5540
5636
  * Require `new` when creating an error.
5541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
5637
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
5542
5638
  */
5543
5639
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
5544
5640
  /**
@@ -6232,6 +6328,8 @@ interface _TypescriptEslintNamingConvention_MatchRegexConfig {
6232
6328
  // ----- @typescript-eslint/no-base-to-string -----
6233
6329
  type TypescriptEslintNoBaseToString = []|[{
6234
6330
 
6331
+ checkUnknown?: boolean
6332
+
6235
6333
  ignoredTypeNames?: string[]
6236
6334
  }]
6237
6335
  // ----- @typescript-eslint/no-confusing-void-expression -----
@@ -6662,7 +6760,6 @@ type TypescriptEslintPreferDestructuring = []|[({
6662
6760
  enforceForDeclarationWithTypeAnnotation?: boolean
6663
6761
 
6664
6762
  enforceForRenamedProperties?: boolean
6665
- [k: string]: unknown | undefined
6666
6763
  }]
6667
6764
  // ----- @typescript-eslint/prefer-literal-enum-member -----
6668
6765
  type TypescriptEslintPreferLiteralEnumMember = []|[{
@@ -6691,7 +6788,6 @@ type TypescriptEslintPreferNullishCoalescing = []|[{
6691
6788
  number?: boolean
6692
6789
 
6693
6790
  string?: boolean
6694
- [k: string]: unknown | undefined
6695
6791
  } | true)
6696
6792
 
6697
6793
  ignoreTernaryTests?: boolean
@@ -7115,6 +7211,7 @@ type _FuncNamesValue = ("always" | "as-needed" | "never")
7115
7211
  // ----- func-style -----
7116
7212
  type FuncStyle = []|[("declaration" | "expression")]|[("declaration" | "expression"), {
7117
7213
  allowArrowFunctions?: boolean
7214
+ allowTypeAnnotation?: boolean
7118
7215
  overrides?: {
7119
7216
  namedExports?: ("declaration" | "expression" | "ignore")
7120
7217
  }
@@ -7187,6 +7284,14 @@ type ImportExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("al
7187
7284
  }
7188
7285
  ignorePackages?: boolean
7189
7286
  checkTypeImports?: boolean
7287
+ pathGroupOverrides?: {
7288
+ pattern: string
7289
+ patternOptions?: {
7290
+ [k: string]: unknown | undefined
7291
+ }
7292
+ action: ("enforce" | "ignore")
7293
+ }[]
7294
+ fix?: boolean
7190
7295
  [k: string]: unknown | undefined
7191
7296
  }] | []|[{
7192
7297
  pattern?: {
@@ -7194,6 +7299,14 @@ type ImportExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("al
7194
7299
  }
7195
7300
  ignorePackages?: boolean
7196
7301
  checkTypeImports?: boolean
7302
+ pathGroupOverrides?: {
7303
+ pattern: string
7304
+ patternOptions?: {
7305
+ [k: string]: unknown | undefined
7306
+ }
7307
+ action: ("enforce" | "ignore")
7308
+ }[]
7309
+ fix?: boolean
7197
7310
  [k: string]: unknown | undefined
7198
7311
  }] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
7199
7312
  [k: string]: ("always" | "ignorePackages" | "never")
@@ -7414,6 +7527,10 @@ type ImportOrder = []|[{
7414
7527
  type ImportPreferDefaultExport = []|[{
7415
7528
  target?: ("single" | "any")
7416
7529
  }]
7530
+ // ----- import/prefer-namespace-import -----
7531
+ type ImportPreferNamespaceImport = []|[{
7532
+ patterns?: string[]
7533
+ }]
7417
7534
  // ----- indent -----
7418
7535
  type Indent = []|[("tab" | number)]|[("tab" | number), {
7419
7536
  SwitchCase?: number
@@ -7513,10 +7630,10 @@ type JsdocCheckLineAlignment = []|[("always" | "never" | "any")]|[("always" | "n
7513
7630
  postTag?: number
7514
7631
  postType?: number
7515
7632
  }
7633
+ disableWrapIndent?: boolean
7516
7634
  preserveMainDescriptionPostDelimiter?: boolean
7517
7635
  tags?: string[]
7518
7636
  wrapIndent?: string
7519
- disableWrapIndent?: boolean
7520
7637
  }]
7521
7638
  // ----- jsdoc/check-param-names -----
7522
7639
  type JsdocCheckParamNames = []|[{
@@ -7599,6 +7716,7 @@ type JsdocLinesBeforeBlock = []|[{
7599
7716
  checkBlockStarts?: boolean
7600
7717
  excludedTags?: string[]
7601
7718
  ignoreSameLine?: boolean
7719
+ ignoreSingleLines?: boolean
7602
7720
  lines?: number
7603
7721
  }]
7604
7722
  // ----- jsdoc/match-description -----
@@ -7629,8 +7747,8 @@ type JsdocMatchName = []|[{
7629
7747
  context?: string
7630
7748
  disallowName?: string
7631
7749
  message?: string
7750
+ replacement?: string
7632
7751
  tags?: string[]
7633
- [k: string]: unknown | undefined
7634
7752
  }[]
7635
7753
  }]
7636
7754
  // ----- jsdoc/multiline-blocks -----
@@ -7642,6 +7760,7 @@ type JsdocMultilineBlocks = []|[{
7642
7760
  noMultilineBlocks?: boolean
7643
7761
  noSingleLineBlocks?: boolean
7644
7762
  noZeroLineText?: boolean
7763
+ requireSingleLineUnderCount?: number
7645
7764
  singleLineTags?: string[]
7646
7765
  }]
7647
7766
  // ----- jsdoc/no-bad-blocks -----
@@ -7703,7 +7822,6 @@ type JsdocRequireAsteriskPrefix = []|[("always" | "never" | "any")]|[("always" |
7703
7822
  always?: string[]
7704
7823
  any?: string[]
7705
7824
  never?: string[]
7706
- [k: string]: unknown | undefined
7707
7825
  }
7708
7826
  }]
7709
7827
  // ----- jsdoc/require-description -----
@@ -7913,7 +8031,6 @@ type JsdocSortTags = []|[{
7913
8031
  reportTagGroupSpacing?: boolean
7914
8032
  tagSequence?: {
7915
8033
  tags?: string[]
7916
- [k: string]: unknown | undefined
7917
8034
  }[]
7918
8035
  }]
7919
8036
  // ----- jsdoc/tag-lines -----
@@ -8070,6 +8187,10 @@ type JsoncNoIrregularWhitespace = []|[{
8070
8187
  skipRegExps?: boolean
8071
8188
  skipJSXText?: boolean
8072
8189
  }]
8190
+ // ----- jsonc/no-useless-escape -----
8191
+ type JsoncNoUselessEscape = []|[{
8192
+ allowRegexCharacters?: string[]
8193
+ }]
8073
8194
  // ----- jsonc/object-curly-newline -----
8074
8195
  type JsoncObjectCurlyNewline = []|[((("always" | "never") | {
8075
8196
  multiline?: boolean
@@ -8807,10 +8928,43 @@ type LogicalAssignmentOperators = (([]|["always"]|["always", {
8807
8928
  type MarkdownFencedCodeLanguage = []|[{
8808
8929
  required?: string[]
8809
8930
  }]
8931
+ // ----- markdown/no-duplicate-definitions -----
8932
+ type MarkdownNoDuplicateDefinitions = []|[{
8933
+ allowDefinitions?: string[]
8934
+ allowFootnoteDefinitions?: string[]
8935
+ }]
8936
+ // ----- markdown/no-duplicate-headings -----
8937
+ type MarkdownNoDuplicateHeadings = []|[{
8938
+ checkSiblingsOnly?: boolean
8939
+ }]
8940
+ // ----- markdown/no-empty-definitions -----
8941
+ type MarkdownNoEmptyDefinitions = []|[{
8942
+ allowDefinitions?: string[]
8943
+ allowFootnoteDefinitions?: string[]
8944
+ checkFootnoteDefinitions?: boolean
8945
+ }]
8810
8946
  // ----- markdown/no-html -----
8811
8947
  type MarkdownNoHtml = []|[{
8812
8948
  allowed?: string[]
8813
8949
  }]
8950
+ // ----- markdown/no-missing-link-fragments -----
8951
+ type MarkdownNoMissingLinkFragments = []|[{
8952
+ ignoreCase?: boolean
8953
+ allowPattern?: string
8954
+ }]
8955
+ // ----- markdown/no-multiple-h1 -----
8956
+ type MarkdownNoMultipleH1 = []|[{
8957
+ frontmatterTitle?: string
8958
+ }]
8959
+ // ----- markdown/no-unused-definitions -----
8960
+ type MarkdownNoUnusedDefinitions = []|[{
8961
+ allowDefinitions?: string[]
8962
+ allowFootnoteDefinitions?: string[]
8963
+ }]
8964
+ // ----- markdown/table-column-count -----
8965
+ type MarkdownTableColumnCount = []|[{
8966
+ checkMissingCells?: boolean
8967
+ }]
8814
8968
  // ----- max-classes-per-file -----
8815
8969
  type MaxClassesPerFile = []|[(number | {
8816
8970
  ignoreExpressions?: boolean
@@ -8911,6 +9065,8 @@ type MaxNestedCallbacks = []|[(number | {
8911
9065
  type MaxParams = []|[(number | {
8912
9066
  maximum?: number
8913
9067
  max?: number
9068
+
9069
+ countVoidThis?: boolean
8914
9070
  })]
8915
9071
  // ----- max-statements -----
8916
9072
  type MaxStatements = []|[(number | {
@@ -8976,6 +9132,7 @@ type NoConstantCondition = []|[{
8976
9132
  // ----- no-duplicate-imports -----
8977
9133
  type NoDuplicateImports = []|[{
8978
9134
  includeExports?: boolean
9135
+ allowSeparateTypeImports?: boolean
8979
9136
  }]
8980
9137
  // ----- no-else-return -----
8981
9138
  type NoElseReturn = []|[{
@@ -9079,6 +9236,10 @@ type NoMagicNumbers = []|[{
9079
9236
  ignoreArrayIndexes?: boolean
9080
9237
  ignoreDefaultValues?: boolean
9081
9238
  ignoreClassFieldInitialValues?: boolean
9239
+ ignoreEnums?: boolean
9240
+ ignoreNumericLiteralTypes?: boolean
9241
+ ignoreReadonlyClassProperties?: boolean
9242
+ ignoreTypeIndexes?: boolean
9082
9243
  }]
9083
9244
  // ----- no-misleading-character-class -----
9084
9245
  type NoMisleadingCharacterClass = []|[{
@@ -9211,9 +9372,11 @@ type NoSequences = []|[{
9211
9372
  // ----- no-shadow -----
9212
9373
  type NoShadow = []|[{
9213
9374
  builtinGlobals?: boolean
9214
- hoist?: ("all" | "functions" | "never")
9375
+ hoist?: ("all" | "functions" | "never" | "types" | "functions-and-types")
9215
9376
  allow?: string[]
9216
9377
  ignoreOnInitialization?: boolean
9378
+ ignoreTypeValueShadow?: boolean
9379
+ ignoreFunctionTypeParameterNameValueShadow?: boolean
9217
9380
  }]
9218
9381
  // ----- no-shadow-restricted-names -----
9219
9382
  type NoShadowRestrictedNames = []|[{
@@ -9291,11 +9454,18 @@ type NoUseBeforeDefine = []|[("nofunc" | {
9291
9454
  classes?: boolean
9292
9455
  variables?: boolean
9293
9456
  allowNamedExports?: boolean
9457
+ enums?: boolean
9458
+ typedefs?: boolean
9459
+ ignoreTypeReferences?: boolean
9294
9460
  })]
9295
9461
  // ----- no-useless-computed-key -----
9296
9462
  type NoUselessComputedKey = []|[{
9297
9463
  enforceForClassMembers?: boolean
9298
9464
  }]
9465
+ // ----- no-useless-escape -----
9466
+ type NoUselessEscape = []|[{
9467
+ allowRegexCharacters?: string[]
9468
+ }]
9299
9469
  // ----- no-useless-rename -----
9300
9470
  type NoUselessRename = []|[{
9301
9471
  ignoreDestructuring?: boolean
@@ -9456,7 +9626,38 @@ type NodeNoRestrictedRequire = []|[(string | {
9456
9626
  // ----- node/no-sync -----
9457
9627
  type NodeNoSync = []|[{
9458
9628
  allowAtRootLevel?: boolean
9459
- ignores?: string[]
9629
+ ignores?: (string | {
9630
+ from?: "file"
9631
+ path?: string
9632
+ name?: string[]
9633
+ } | {
9634
+ from?: "lib"
9635
+ name?: string[]
9636
+ } | {
9637
+ from?: "package"
9638
+ package?: string
9639
+ name?: string[]
9640
+ })[]
9641
+ }]
9642
+ // ----- node/no-top-level-await -----
9643
+ type NodeNoTopLevelAwait = []|[{
9644
+ ignoreBin?: boolean
9645
+ convertPath?: ({
9646
+
9647
+ [k: string]: [string, string]
9648
+ } | [{
9649
+
9650
+ include: [string, ...(string)[]]
9651
+ exclude?: string[]
9652
+
9653
+ replace: [string, string]
9654
+ }, ...({
9655
+
9656
+ include: [string, ...(string)[]]
9657
+ exclude?: string[]
9658
+
9659
+ replace: [string, string]
9660
+ })[]])
9460
9661
  }]
9461
9662
  // ----- node/no-unpublished-bin -----
9462
9663
  type NodeNoUnpublishedBin = []|[{
@@ -9710,8 +9911,7 @@ type PerfectionistSortArrayIncludes = {
9710
9911
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
9711
9912
 
9712
9913
  customGroups?: ({
9713
-
9714
- newlinesInside?: ("always" | "never")
9914
+ newlinesInside?: (("always" | "never") | number)
9715
9915
 
9716
9916
  fallbackSort?: {
9717
9917
 
@@ -9742,8 +9942,7 @@ type PerfectionistSortArrayIncludes = {
9742
9942
  } | string))
9743
9943
  }[]
9744
9944
  } | {
9745
-
9746
- newlinesInside?: ("always" | "never")
9945
+ newlinesInside?: (("always" | "never") | number)
9747
9946
 
9748
9947
  fallbackSort?: {
9749
9948
 
@@ -9826,12 +10025,12 @@ type PerfectionistSortArrayIncludes = {
9826
10025
  })
9827
10026
 
9828
10027
  partitionByNewLine?: boolean
9829
-
9830
- newlinesBetween?: ("ignore" | "always" | "never")
10028
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9831
10029
 
9832
10030
  groups?: (string | string[] | {
10031
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9833
10032
 
9834
- newlinesBetween: ("ignore" | "always" | "never")
10033
+ commentAbove?: string
9835
10034
  })[]
9836
10035
  }[]
9837
10036
  // ----- perfectionist/sort-classes -----
@@ -9857,8 +10056,7 @@ type PerfectionistSortClasses = []|[{
9857
10056
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
9858
10057
 
9859
10058
  customGroups?: ({
9860
-
9861
- newlinesInside?: ("always" | "never")
10059
+ newlinesInside?: (("always" | "never") | number)
9862
10060
 
9863
10061
  fallbackSort?: {
9864
10062
 
@@ -9915,8 +10113,7 @@ type PerfectionistSortClasses = []|[{
9915
10113
  } | string))
9916
10114
  }[]
9917
10115
  } | {
9918
-
9919
- newlinesInside?: ("always" | "never")
10116
+ newlinesInside?: (("always" | "never") | number)
9920
10117
 
9921
10118
  fallbackSort?: {
9922
10119
 
@@ -10022,12 +10219,12 @@ type PerfectionistSortClasses = []|[{
10022
10219
  })
10023
10220
 
10024
10221
  partitionByNewLine?: boolean
10025
-
10026
- newlinesBetween?: ("ignore" | "always" | "never")
10222
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10027
10223
 
10028
10224
  groups?: (string | string[] | {
10225
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10029
10226
 
10030
- newlinesBetween: ("ignore" | "always" | "never")
10227
+ commentAbove?: string
10031
10228
  })[]
10032
10229
  }]
10033
10230
  // ----- perfectionist/sort-decorators -----
@@ -10104,8 +10301,9 @@ type PerfectionistSortDecorators = []|[{
10104
10301
  }
10105
10302
 
10106
10303
  groups?: (string | string[] | {
10304
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10107
10305
 
10108
- newlinesBetween: ("ignore" | "always" | "never")
10306
+ commentAbove?: string
10109
10307
  })[]
10110
10308
  }]
10111
10309
  // ----- perfectionist/sort-enums -----
@@ -10132,8 +10330,7 @@ type PerfectionistSortEnums = []|[{
10132
10330
  customGroups?: ({
10133
10331
  [k: string]: (string | string[]) | undefined
10134
10332
  } | ({
10135
-
10136
- newlinesInside?: ("always" | "never")
10333
+ newlinesInside?: (("always" | "never") | number)
10137
10334
 
10138
10335
  fallbackSort?: {
10139
10336
 
@@ -10174,8 +10371,7 @@ type PerfectionistSortEnums = []|[{
10174
10371
  } | string))
10175
10372
  }[]
10176
10373
  } | {
10177
-
10178
- newlinesInside?: ("always" | "never")
10374
+ newlinesInside?: (("always" | "never") | number)
10179
10375
 
10180
10376
  fallbackSort?: {
10181
10377
 
@@ -10257,12 +10453,12 @@ type PerfectionistSortEnums = []|[{
10257
10453
  })
10258
10454
 
10259
10455
  partitionByNewLine?: boolean
10260
-
10261
- newlinesBetween?: ("ignore" | "always" | "never")
10456
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10262
10457
 
10263
10458
  groups?: (string | string[] | {
10459
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10264
10460
 
10265
- newlinesBetween: ("ignore" | "always" | "never")
10461
+ commentAbove?: string
10266
10462
  })[]
10267
10463
  }]
10268
10464
  // ----- perfectionist/sort-exports -----
@@ -10290,8 +10486,7 @@ type PerfectionistSortExports = {
10290
10486
  groupKind?: ("mixed" | "values-first" | "types-first")
10291
10487
 
10292
10488
  customGroups?: ({
10293
-
10294
- newlinesInside?: ("always" | "never")
10489
+ newlinesInside?: (("always" | "never") | number)
10295
10490
 
10296
10491
  fallbackSort?: {
10297
10492
 
@@ -10324,8 +10519,7 @@ type PerfectionistSortExports = {
10324
10519
  } | string))
10325
10520
  }[]
10326
10521
  } | {
10327
-
10328
- newlinesInside?: ("always" | "never")
10522
+ newlinesInside?: (("always" | "never") | number)
10329
10523
 
10330
10524
  fallbackSort?: {
10331
10525
 
@@ -10395,12 +10589,12 @@ type PerfectionistSortExports = {
10395
10589
  })
10396
10590
 
10397
10591
  partitionByNewLine?: boolean
10398
-
10399
- newlinesBetween?: ("ignore" | "always" | "never")
10592
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10400
10593
 
10401
10594
  groups?: (string | string[] | {
10595
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10402
10596
 
10403
- newlinesBetween: ("ignore" | "always" | "never")
10597
+ commentAbove?: string
10404
10598
  })[]
10405
10599
  }[]
10406
10600
  // ----- perfectionist/sort-heritage-clauses -----
@@ -10430,8 +10624,9 @@ type PerfectionistSortHeritageClauses = []|[{
10430
10624
  }
10431
10625
 
10432
10626
  groups?: (string | string[] | {
10627
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10433
10628
 
10434
- newlinesBetween: ("ignore" | "always" | "never")
10629
+ commentAbove?: string
10435
10630
  })[]
10436
10631
  }]
10437
10632
  // ----- perfectionist/sort-imports -----
@@ -10465,8 +10660,7 @@ type PerfectionistSortImports = {
10465
10660
  [k: string]: (string | string[]) | undefined
10466
10661
  }
10467
10662
  } | ({
10468
-
10469
- newlinesInside?: ("always" | "never")
10663
+ newlinesInside?: (("always" | "never") | number)
10470
10664
 
10471
10665
  fallbackSort?: {
10472
10666
 
@@ -10511,8 +10705,7 @@ type PerfectionistSortImports = {
10511
10705
  } | string))
10512
10706
  }[]
10513
10707
  } | {
10514
-
10515
- newlinesInside?: ("always" | "never")
10708
+ newlinesInside?: (("always" | "never") | number)
10516
10709
 
10517
10710
  fallbackSort?: {
10518
10711
 
@@ -10555,6 +10748,12 @@ type PerfectionistSortImports = {
10555
10748
  flags?: string
10556
10749
  } | string))
10557
10750
  })[])
10751
+ tsconfig?: {
10752
+
10753
+ rootDir: string
10754
+
10755
+ filename?: string
10756
+ }
10558
10757
 
10559
10758
  maxLineLength?: number
10560
10759
 
@@ -10602,8 +10801,7 @@ type PerfectionistSortImports = {
10602
10801
  })
10603
10802
 
10604
10803
  partitionByNewLine?: boolean
10605
-
10606
- newlinesBetween?: ("ignore" | "always" | "never")
10804
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10607
10805
 
10608
10806
  internalPattern?: (({
10609
10807
 
@@ -10618,8 +10816,9 @@ type PerfectionistSortImports = {
10618
10816
  } | string))
10619
10817
 
10620
10818
  groups?: (string | string[] | {
10819
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10621
10820
 
10622
- newlinesBetween: ("ignore" | "always" | "never")
10821
+ commentAbove?: string
10623
10822
  })[]
10624
10823
  }[]
10625
10824
  // ----- perfectionist/sort-interfaces -----
@@ -10647,8 +10846,7 @@ type PerfectionistSortInterfaces = {
10647
10846
  customGroups?: ({
10648
10847
  [k: string]: (string | string[]) | undefined
10649
10848
  } | ({
10650
-
10651
- newlinesInside?: ("always" | "never")
10849
+ newlinesInside?: (("always" | "never") | number)
10652
10850
 
10653
10851
  fallbackSort?: {
10654
10852
 
@@ -10695,8 +10893,7 @@ type PerfectionistSortInterfaces = {
10695
10893
  sortBy?: ("name" | "value")
10696
10894
  }[]
10697
10895
  } | {
10698
-
10699
- newlinesInside?: ("always" | "never")
10896
+ newlinesInside?: (("always" | "never") | number)
10700
10897
 
10701
10898
  fallbackSort?: {
10702
10899
 
@@ -10809,8 +11006,7 @@ type PerfectionistSortInterfaces = {
10809
11006
  })
10810
11007
 
10811
11008
  partitionByNewLine?: boolean
10812
-
10813
- newlinesBetween?: ("ignore" | "always" | "never")
11009
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10814
11010
 
10815
11011
  ignorePattern?: (({
10816
11012
 
@@ -10826,8 +11022,9 @@ type PerfectionistSortInterfaces = {
10826
11022
  sortBy?: ("name" | "value")
10827
11023
 
10828
11024
  groups?: (string | string[] | {
11025
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10829
11026
 
10830
- newlinesBetween: ("ignore" | "always" | "never")
11027
+ commentAbove?: string
10831
11028
  })[]
10832
11029
  }[]
10833
11030
  // ----- perfectionist/sort-intersection-types -----
@@ -10853,8 +11050,7 @@ type PerfectionistSortIntersectionTypes = {
10853
11050
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
10854
11051
 
10855
11052
  customGroups?: ({
10856
-
10857
- newlinesInside?: ("always" | "never")
11053
+ newlinesInside?: (("always" | "never") | number)
10858
11054
 
10859
11055
  fallbackSort?: {
10860
11056
 
@@ -10885,8 +11081,7 @@ type PerfectionistSortIntersectionTypes = {
10885
11081
  } | string))
10886
11082
  }[]
10887
11083
  } | {
10888
-
10889
- newlinesInside?: ("always" | "never")
11084
+ newlinesInside?: (("always" | "never") | number)
10890
11085
 
10891
11086
  fallbackSort?: {
10892
11087
 
@@ -10954,12 +11149,12 @@ type PerfectionistSortIntersectionTypes = {
10954
11149
  })
10955
11150
 
10956
11151
  partitionByNewLine?: boolean
10957
-
10958
- newlinesBetween?: ("ignore" | "always" | "never")
11152
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10959
11153
 
10960
11154
  groups?: (string | string[] | {
11155
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
10961
11156
 
10962
- newlinesBetween: ("ignore" | "always" | "never")
11157
+ commentAbove?: string
10963
11158
  })[]
10964
11159
  }[]
10965
11160
  // ----- perfectionist/sort-jsx-props -----
@@ -10986,8 +11181,7 @@ type PerfectionistSortJsxProps = {
10986
11181
  customGroups?: ({
10987
11182
  [k: string]: (string | string[]) | undefined
10988
11183
  } | ({
10989
-
10990
- newlinesInside?: ("always" | "never")
11184
+ newlinesInside?: (("always" | "never") | number)
10991
11185
 
10992
11186
  fallbackSort?: {
10993
11187
 
@@ -11032,8 +11226,7 @@ type PerfectionistSortJsxProps = {
11032
11226
  } | string))
11033
11227
  }[]
11034
11228
  } | {
11035
-
11036
- newlinesInside?: ("always" | "never")
11229
+ newlinesInside?: (("always" | "never") | number)
11037
11230
 
11038
11231
  fallbackSort?: {
11039
11232
 
@@ -11105,8 +11298,7 @@ type PerfectionistSortJsxProps = {
11105
11298
  }
11106
11299
 
11107
11300
  partitionByNewLine?: boolean
11108
-
11109
- newlinesBetween?: ("ignore" | "always" | "never")
11301
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11110
11302
 
11111
11303
  ignorePattern?: (({
11112
11304
 
@@ -11121,8 +11313,9 @@ type PerfectionistSortJsxProps = {
11121
11313
  } | string))
11122
11314
 
11123
11315
  groups?: (string | string[] | {
11316
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11124
11317
 
11125
- newlinesBetween: ("ignore" | "always" | "never")
11318
+ commentAbove?: string
11126
11319
  })[]
11127
11320
  }[]
11128
11321
  // ----- perfectionist/sort-maps -----
@@ -11148,8 +11341,7 @@ type PerfectionistSortMaps = {
11148
11341
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11149
11342
 
11150
11343
  customGroups?: ({
11151
-
11152
- newlinesInside?: ("always" | "never")
11344
+ newlinesInside?: (("always" | "never") | number)
11153
11345
 
11154
11346
  fallbackSort?: {
11155
11347
 
@@ -11178,8 +11370,7 @@ type PerfectionistSortMaps = {
11178
11370
  } | string))
11179
11371
  }[]
11180
11372
  } | {
11181
-
11182
- newlinesInside?: ("always" | "never")
11373
+ newlinesInside?: (("always" | "never") | number)
11183
11374
 
11184
11375
  fallbackSort?: {
11185
11376
 
@@ -11260,12 +11451,12 @@ type PerfectionistSortMaps = {
11260
11451
  })
11261
11452
 
11262
11453
  partitionByNewLine?: boolean
11263
-
11264
- newlinesBetween?: ("ignore" | "always" | "never")
11454
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11265
11455
 
11266
11456
  groups?: (string | string[] | {
11457
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11267
11458
 
11268
- newlinesBetween: ("ignore" | "always" | "never")
11459
+ commentAbove?: string
11269
11460
  })[]
11270
11461
  }[]
11271
11462
  // ----- perfectionist/sort-modules -----
@@ -11291,8 +11482,7 @@ type PerfectionistSortModules = []|[{
11291
11482
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11292
11483
 
11293
11484
  customGroups?: ({
11294
-
11295
- newlinesInside?: ("always" | "never")
11485
+ newlinesInside?: (("always" | "never") | number)
11296
11486
 
11297
11487
  fallbackSort?: {
11298
11488
 
@@ -11337,8 +11527,7 @@ type PerfectionistSortModules = []|[{
11337
11527
  } | string))
11338
11528
  }[]
11339
11529
  } | {
11340
-
11341
- newlinesInside?: ("always" | "never")
11530
+ newlinesInside?: (("always" | "never") | number)
11342
11531
 
11343
11532
  fallbackSort?: {
11344
11533
 
@@ -11420,12 +11609,12 @@ type PerfectionistSortModules = []|[{
11420
11609
  })
11421
11610
 
11422
11611
  partitionByNewLine?: boolean
11423
-
11424
- newlinesBetween?: ("ignore" | "always" | "never")
11612
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11425
11613
 
11426
11614
  groups?: (string | string[] | {
11615
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11427
11616
 
11428
- newlinesBetween: ("ignore" | "always" | "never")
11617
+ commentAbove?: string
11429
11618
  })[]
11430
11619
  }]
11431
11620
  // ----- perfectionist/sort-named-exports -----
@@ -11455,8 +11644,7 @@ type PerfectionistSortNamedExports = {
11455
11644
  ignoreAlias?: boolean
11456
11645
 
11457
11646
  customGroups?: ({
11458
-
11459
- newlinesInside?: ("always" | "never")
11647
+ newlinesInside?: (("always" | "never") | number)
11460
11648
 
11461
11649
  fallbackSort?: {
11462
11650
 
@@ -11489,8 +11677,7 @@ type PerfectionistSortNamedExports = {
11489
11677
  } | string))
11490
11678
  }[]
11491
11679
  } | {
11492
-
11493
- newlinesInside?: ("always" | "never")
11680
+ newlinesInside?: (("always" | "never") | number)
11494
11681
 
11495
11682
  fallbackSort?: {
11496
11683
 
@@ -11560,12 +11747,12 @@ type PerfectionistSortNamedExports = {
11560
11747
  })
11561
11748
 
11562
11749
  partitionByNewLine?: boolean
11563
-
11564
- newlinesBetween?: ("ignore" | "always" | "never")
11750
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11565
11751
 
11566
11752
  groups?: (string | string[] | {
11753
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11567
11754
 
11568
- newlinesBetween: ("ignore" | "always" | "never")
11755
+ commentAbove?: string
11569
11756
  })[]
11570
11757
  }[]
11571
11758
  // ----- perfectionist/sort-named-imports -----
@@ -11595,8 +11782,7 @@ type PerfectionistSortNamedImports = {
11595
11782
  ignoreAlias?: boolean
11596
11783
 
11597
11784
  customGroups?: ({
11598
-
11599
- newlinesInside?: ("always" | "never")
11785
+ newlinesInside?: (("always" | "never") | number)
11600
11786
 
11601
11787
  fallbackSort?: {
11602
11788
 
@@ -11629,8 +11815,7 @@ type PerfectionistSortNamedImports = {
11629
11815
  } | string))
11630
11816
  }[]
11631
11817
  } | {
11632
-
11633
- newlinesInside?: ("always" | "never")
11818
+ newlinesInside?: (("always" | "never") | number)
11634
11819
 
11635
11820
  fallbackSort?: {
11636
11821
 
@@ -11700,12 +11885,12 @@ type PerfectionistSortNamedImports = {
11700
11885
  })
11701
11886
 
11702
11887
  partitionByNewLine?: boolean
11703
-
11704
- newlinesBetween?: ("ignore" | "always" | "never")
11888
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11705
11889
 
11706
11890
  groups?: (string | string[] | {
11891
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11707
11892
 
11708
- newlinesBetween: ("ignore" | "always" | "never")
11893
+ commentAbove?: string
11709
11894
  })[]
11710
11895
  }[]
11711
11896
  // ----- perfectionist/sort-object-types -----
@@ -11733,8 +11918,7 @@ type PerfectionistSortObjectTypes = {
11733
11918
  customGroups?: ({
11734
11919
  [k: string]: (string | string[]) | undefined
11735
11920
  } | ({
11736
-
11737
- newlinesInside?: ("always" | "never")
11921
+ newlinesInside?: (("always" | "never") | number)
11738
11922
 
11739
11923
  fallbackSort?: {
11740
11924
 
@@ -11781,8 +11965,7 @@ type PerfectionistSortObjectTypes = {
11781
11965
  sortBy?: ("name" | "value")
11782
11966
  }[]
11783
11967
  } | {
11784
-
11785
- newlinesInside?: ("always" | "never")
11968
+ newlinesInside?: (("always" | "never") | number)
11786
11969
 
11787
11970
  fallbackSort?: {
11788
11971
 
@@ -11895,8 +12078,7 @@ type PerfectionistSortObjectTypes = {
11895
12078
  })
11896
12079
 
11897
12080
  partitionByNewLine?: boolean
11898
-
11899
- newlinesBetween?: ("ignore" | "always" | "never")
12081
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11900
12082
 
11901
12083
  ignorePattern?: (({
11902
12084
 
@@ -11912,8 +12094,9 @@ type PerfectionistSortObjectTypes = {
11912
12094
  sortBy?: ("name" | "value")
11913
12095
 
11914
12096
  groups?: (string | string[] | {
12097
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
11915
12098
 
11916
- newlinesBetween: ("ignore" | "always" | "never")
12099
+ commentAbove?: string
11917
12100
  })[]
11918
12101
  }[]
11919
12102
  // ----- perfectionist/sort-objects -----
@@ -11945,8 +12128,7 @@ type PerfectionistSortObjects = {
11945
12128
  customGroups?: ({
11946
12129
  [k: string]: (string | string[]) | undefined
11947
12130
  } | ({
11948
-
11949
- newlinesInside?: ("always" | "never")
12131
+ newlinesInside?: (("always" | "never") | number)
11950
12132
 
11951
12133
  fallbackSort?: {
11952
12134
 
@@ -11991,8 +12173,7 @@ type PerfectionistSortObjects = {
11991
12173
  } | string))
11992
12174
  }[]
11993
12175
  } | {
11994
-
11995
- newlinesInside?: ("always" | "never")
12176
+ newlinesInside?: (("always" | "never") | number)
11996
12177
 
11997
12178
  fallbackSort?: {
11998
12179
 
@@ -12107,8 +12288,7 @@ type PerfectionistSortObjects = {
12107
12288
  })
12108
12289
 
12109
12290
  partitionByNewLine?: boolean
12110
-
12111
- newlinesBetween?: ("ignore" | "always" | "never")
12291
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12112
12292
 
12113
12293
  ignorePattern?: (({
12114
12294
 
@@ -12123,8 +12303,9 @@ type PerfectionistSortObjects = {
12123
12303
  } | string))
12124
12304
 
12125
12305
  groups?: (string | string[] | {
12306
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12126
12307
 
12127
- newlinesBetween: ("ignore" | "always" | "never")
12308
+ commentAbove?: string
12128
12309
  })[]
12129
12310
  }[]
12130
12311
  // ----- perfectionist/sort-sets -----
@@ -12152,8 +12333,7 @@ type PerfectionistSortSets = {
12152
12333
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
12153
12334
 
12154
12335
  customGroups?: ({
12155
-
12156
- newlinesInside?: ("always" | "never")
12336
+ newlinesInside?: (("always" | "never") | number)
12157
12337
 
12158
12338
  fallbackSort?: {
12159
12339
 
@@ -12184,8 +12364,7 @@ type PerfectionistSortSets = {
12184
12364
  } | string))
12185
12365
  }[]
12186
12366
  } | {
12187
-
12188
- newlinesInside?: ("always" | "never")
12367
+ newlinesInside?: (("always" | "never") | number)
12189
12368
 
12190
12369
  fallbackSort?: {
12191
12370
 
@@ -12268,12 +12447,12 @@ type PerfectionistSortSets = {
12268
12447
  })
12269
12448
 
12270
12449
  partitionByNewLine?: boolean
12271
-
12272
- newlinesBetween?: ("ignore" | "always" | "never")
12450
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12273
12451
 
12274
12452
  groups?: (string | string[] | {
12453
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12275
12454
 
12276
- newlinesBetween: ("ignore" | "always" | "never")
12455
+ commentAbove?: string
12277
12456
  })[]
12278
12457
  }[]
12279
12458
  // ----- perfectionist/sort-switch-case -----
@@ -12321,8 +12500,7 @@ type PerfectionistSortUnionTypes = {
12321
12500
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12322
12501
 
12323
12502
  customGroups?: ({
12324
-
12325
- newlinesInside?: ("always" | "never")
12503
+ newlinesInside?: (("always" | "never") | number)
12326
12504
 
12327
12505
  fallbackSort?: {
12328
12506
 
@@ -12353,8 +12531,7 @@ type PerfectionistSortUnionTypes = {
12353
12531
  } | string))
12354
12532
  }[]
12355
12533
  } | {
12356
-
12357
- newlinesInside?: ("always" | "never")
12534
+ newlinesInside?: (("always" | "never") | number)
12358
12535
 
12359
12536
  fallbackSort?: {
12360
12537
 
@@ -12422,12 +12599,12 @@ type PerfectionistSortUnionTypes = {
12422
12599
  })
12423
12600
 
12424
12601
  partitionByNewLine?: boolean
12425
-
12426
- newlinesBetween?: ("ignore" | "always" | "never")
12602
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12427
12603
 
12428
12604
  groups?: (string | string[] | {
12605
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12429
12606
 
12430
- newlinesBetween: ("ignore" | "always" | "never")
12607
+ commentAbove?: string
12431
12608
  })[]
12432
12609
  }[]
12433
12610
  // ----- perfectionist/sort-variable-declarations -----
@@ -12453,8 +12630,7 @@ type PerfectionistSortVariableDeclarations = []|[{
12453
12630
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12454
12631
 
12455
12632
  customGroups?: ({
12456
-
12457
- newlinesInside?: ("always" | "never")
12633
+ newlinesInside?: (("always" | "never") | number)
12458
12634
 
12459
12635
  fallbackSort?: {
12460
12636
 
@@ -12485,8 +12661,7 @@ type PerfectionistSortVariableDeclarations = []|[{
12485
12661
  } | string))
12486
12662
  }[]
12487
12663
  } | {
12488
-
12489
- newlinesInside?: ("always" | "never")
12664
+ newlinesInside?: (("always" | "never") | number)
12490
12665
 
12491
12666
  fallbackSort?: {
12492
12667
 
@@ -12554,12 +12729,12 @@ type PerfectionistSortVariableDeclarations = []|[{
12554
12729
  })
12555
12730
 
12556
12731
  partitionByNewLine?: boolean
12557
-
12558
- newlinesBetween?: ("ignore" | "always" | "never")
12732
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12559
12733
 
12560
12734
  groups?: (string | string[] | {
12735
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
12561
12736
 
12562
- newlinesBetween: ("ignore" | "always" | "never")
12737
+ commentAbove?: string
12563
12738
  })[]
12564
12739
  }]
12565
12740
  // ----- prefer-arrow-callback -----
@@ -13246,6 +13421,10 @@ type RegexpPreferLookaround = []|[{
13246
13421
  type RegexpPreferNamedReplacement = []|[{
13247
13422
  strictTypes?: boolean
13248
13423
  }]
13424
+ // ----- regexp/prefer-quantifier -----
13425
+ type RegexpPreferQuantifier = []|[{
13426
+ allows?: string[]
13427
+ }]
13249
13428
  // ----- regexp/prefer-range -----
13250
13429
  type RegexpPreferRange = []|[{
13251
13430
  target?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]])
@@ -13640,6 +13819,10 @@ interface _UnicornImportStyle_BooleanObject {
13640
13819
  type UnicornNoArrayReduce = []|[{
13641
13820
  allowSimpleOperations?: boolean
13642
13821
  }]
13822
+ // ----- unicorn/no-array-reverse -----
13823
+ type UnicornNoArrayReverse = []|[{
13824
+ allowExpressionStatement?: boolean
13825
+ }]
13643
13826
  // ----- unicorn/no-instanceof-builtins -----
13644
13827
  type UnicornNoInstanceofBuiltins = []|[{
13645
13828
  useErrorIsError?: boolean