@vinicunca/eslint-config 3.18.0 → 3.20.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.
Files changed (2) hide show
  1. package/dist/index.d.ts +222 -163
  2. package/package.json +10 -10
package/dist/index.d.ts CHANGED
@@ -1354,7 +1354,7 @@ interface RuleOptions {
1354
1354
  * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
1355
1355
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
1356
1356
  */
1357
- 'markdown/table-column-count'?: Linter.RuleEntry<[]>;
1357
+ 'markdown/table-column-count'?: Linter.RuleEntry<MarkdownTableColumnCount>;
1358
1358
  /**
1359
1359
  * Enforce a maximum number of classes per file
1360
1360
  * @see https://eslint.org/docs/latest/rules/max-classes-per-file
@@ -7117,670 +7117,690 @@ interface RuleOptions {
7117
7117
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
7118
7118
  /**
7119
7119
  * Improve regexes by making them shorter, consistent, and safer.
7120
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
7120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
7121
7121
  */
7122
7122
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
7123
7123
  /**
7124
7124
  * Enforce a specific parameter name in catch clauses.
7125
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
7125
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
7126
7126
  */
7127
7127
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
7128
7128
  /**
7129
7129
  * Enforce consistent assertion style with `node:assert`.
7130
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
7130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
7131
7131
  */
7132
7132
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
7133
7133
  /**
7134
7134
  * Prefer passing `Date` directly to the constructor when cloning.
7135
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
7135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
7136
7136
  */
7137
7137
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
7138
7138
  /**
7139
7139
  * Use destructured variables over properties.
7140
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
7140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
7141
7141
  */
7142
7142
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
7143
7143
  /**
7144
7144
  * Prefer consistent types when spreading a ternary in an array literal.
7145
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
7145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
7146
7146
  */
7147
7147
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
7148
7148
  /**
7149
7149
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
7150
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
7150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
7151
7151
  */
7152
7152
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
7153
7153
  /**
7154
7154
  * Move function definitions to the highest possible scope.
7155
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
7155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
7156
7156
  */
7157
7157
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
7158
7158
  /**
7159
7159
  * Enforce correct `Error` subclassing.
7160
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
7160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
7161
7161
  */
7162
7162
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
7163
7163
  /**
7164
7164
  * Enforce no spaces between braces.
7165
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
7165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
7166
7166
  */
7167
7167
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
7168
7168
  /**
7169
7169
  * Enforce passing a `message` value when creating a built-in error.
7170
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
7170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
7171
7171
  */
7172
7172
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
7173
7173
  /**
7174
7174
  * Require escape sequences to use uppercase or lowercase values.
7175
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
7175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
7176
7176
  */
7177
7177
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
7178
7178
  /**
7179
7179
  * Add expiration conditions to TODO comments.
7180
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
7180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
7181
7181
  */
7182
7182
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
7183
7183
  /**
7184
7184
  * Enforce explicitly comparing the `length` or `size` property of a value.
7185
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
7185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
7186
7186
  */
7187
7187
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
7188
7188
  /**
7189
7189
  * Enforce a case style for filenames.
7190
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
7190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
7191
7191
  */
7192
7192
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
7193
7193
  /**
7194
7194
  * Enforce specific import styles per module.
7195
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
7195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
7196
7196
  */
7197
7197
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
7198
7198
  /**
7199
7199
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
7200
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
7200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
7201
7201
  */
7202
7202
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
7203
7203
  /**
7204
7204
  * Enforce specifying rules to disable in `eslint-disable` comments.
7205
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
7205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
7206
7206
  */
7207
7207
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
7208
7208
  /**
7209
7209
  * Disallow recursive access to `this` within getters and setters.
7210
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
7210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
7211
7211
  */
7212
7212
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
7213
7213
  /**
7214
7214
  * Disallow anonymous functions and classes as the default export.
7215
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
7215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
7216
7216
  */
7217
7217
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
7218
7218
  /**
7219
7219
  * Prevent passing a function reference directly to iterator methods.
7220
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
7220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
7221
7221
  */
7222
7222
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
7223
7223
  /**
7224
7224
  * Prefer `for…of` over the `forEach` method.
7225
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
7225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
7226
7226
  */
7227
7227
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
7228
7228
  /**
7229
7229
  * Disallow using the `this` argument in array methods.
7230
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
7230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
7231
7231
  */
7232
7232
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
7233
7233
  /**
7234
7234
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
7235
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
7235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
7236
7236
  * @deprecated
7237
7237
  */
7238
7238
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
7239
7239
  /**
7240
7240
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
7241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
7241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
7242
7242
  */
7243
7243
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
7244
+ /**
7245
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
7246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
7247
+ */
7248
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
7244
7249
  /**
7245
7250
  * Disallow member access from await expression.
7246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
7251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
7247
7252
  */
7248
7253
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
7249
7254
  /**
7250
7255
  * Disallow using `await` in `Promise` method parameters.
7251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
7256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
7252
7257
  */
7253
7258
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
7254
7259
  /**
7255
7260
  * Do not use leading/trailing space between `console.log` parameters.
7256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
7261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
7257
7262
  */
7258
7263
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
7259
7264
  /**
7260
7265
  * Do not use `document.cookie` directly.
7261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
7266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
7262
7267
  */
7263
7268
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
7264
7269
  /**
7265
7270
  * Disallow empty files.
7266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
7271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
7267
7272
  */
7268
7273
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
7269
7274
  /**
7270
7275
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
7271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
7276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
7272
7277
  */
7273
7278
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
7274
7279
  /**
7275
7280
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
7276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
7281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
7277
7282
  */
7278
7283
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
7279
7284
  /**
7280
7285
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
7281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
7286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
7282
7287
  * @deprecated
7283
7288
  */
7284
7289
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
7285
7290
  /**
7286
7291
  * Disallow `instanceof` with built-in objects
7287
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
7292
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
7288
7293
  */
7289
7294
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
7290
7295
  /**
7291
7296
  * Disallow invalid options in `fetch()` and `new Request()`.
7292
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
7297
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
7293
7298
  */
7294
7299
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
7295
7300
  /**
7296
7301
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
7297
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
7302
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
7298
7303
  */
7299
7304
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
7300
7305
  /**
7301
7306
  * Disallow identifiers starting with `new` or `class`.
7302
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
7307
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
7303
7308
  */
7304
7309
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
7305
7310
  /**
7306
7311
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
7307
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
7312
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
7308
7313
  * @deprecated
7309
7314
  */
7310
7315
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
7311
7316
  /**
7312
7317
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
7313
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
7318
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
7314
7319
  */
7315
7320
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
7316
7321
  /**
7317
7322
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
7318
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
7323
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
7319
7324
  */
7320
7325
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
7321
7326
  /**
7322
7327
  * Disallow named usage of default import and export.
7323
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
7328
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
7324
7329
  */
7325
7330
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
7326
7331
  /**
7327
7332
  * Disallow negated conditions.
7328
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
7333
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
7329
7334
  */
7330
7335
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
7331
7336
  /**
7332
7337
  * Disallow negated expression in equality check.
7333
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
7338
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
7334
7339
  */
7335
7340
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
7336
7341
  /**
7337
7342
  * Disallow nested ternary expressions.
7338
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
7343
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
7339
7344
  */
7340
7345
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
7341
7346
  /**
7342
7347
  * Disallow `new Array()`.
7343
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
7348
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
7344
7349
  */
7345
7350
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
7346
7351
  /**
7347
7352
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
7348
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
7353
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
7349
7354
  */
7350
7355
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
7351
7356
  /**
7352
7357
  * Disallow the use of the `null` literal.
7353
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
7358
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
7354
7359
  */
7355
7360
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
7356
7361
  /**
7357
7362
  * Disallow the use of objects as default parameters.
7358
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
7363
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
7359
7364
  */
7360
7365
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
7361
7366
  /**
7362
7367
  * Disallow `process.exit()`.
7363
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
7368
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
7364
7369
  */
7365
7370
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
7366
7371
  /**
7367
7372
  * Disallow passing single-element arrays to `Promise` methods.
7368
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
7373
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
7369
7374
  */
7370
7375
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
7371
7376
  /**
7372
7377
  * Disallow classes that only have static members.
7373
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
7378
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
7374
7379
  */
7375
7380
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
7376
7381
  /**
7377
7382
  * Disallow `then` property.
7378
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
7383
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
7379
7384
  */
7380
7385
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
7381
7386
  /**
7382
7387
  * Disallow assigning `this` to a variable.
7383
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
7388
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
7384
7389
  */
7385
7390
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
7386
7391
  /**
7387
7392
  * Disallow comparing `undefined` using `typeof`.
7388
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
7393
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
7389
7394
  */
7390
7395
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
7391
7396
  /**
7392
7397
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
7393
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
7398
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7394
7399
  */
7395
7400
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
7396
7401
  /**
7397
7402
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
7398
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
7403
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
7399
7404
  */
7400
7405
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
7401
7406
  /**
7402
7407
  * Disallow awaiting non-promise values.
7403
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
7408
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
7404
7409
  */
7405
7410
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
7406
7411
  /**
7407
7412
  * Enforce the use of built-in methods instead of unnecessary polyfills.
7408
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
7413
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
7409
7414
  */
7410
7415
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
7411
7416
  /**
7412
7417
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
7413
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
7418
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
7414
7419
  */
7415
7420
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
7416
7421
  /**
7417
7422
  * Disallow unreadable array destructuring.
7418
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
7423
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
7419
7424
  */
7420
7425
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
7421
7426
  /**
7422
7427
  * Disallow unreadable IIFEs.
7423
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
7428
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
7424
7429
  */
7425
7430
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
7426
7431
  /**
7427
7432
  * Disallow unused object properties.
7428
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
7433
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
7429
7434
  */
7430
7435
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
7436
+ /**
7437
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
7438
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7439
+ */
7440
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
7431
7441
  /**
7432
7442
  * Disallow useless fallback when spreading in object literals.
7433
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
7443
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
7434
7444
  */
7435
7445
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
7436
7446
  /**
7437
7447
  * Disallow useless array length check.
7438
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
7448
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
7439
7449
  */
7440
7450
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
7441
7451
  /**
7442
7452
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
7443
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
7453
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
7444
7454
  */
7445
7455
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
7446
7456
  /**
7447
7457
  * Disallow unnecessary spread.
7448
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
7458
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
7449
7459
  */
7450
7460
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
7451
7461
  /**
7452
7462
  * Disallow useless case in switch statements.
7453
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
7463
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
7454
7464
  */
7455
7465
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
7456
7466
  /**
7457
7467
  * Disallow useless `undefined`.
7458
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
7468
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
7459
7469
  */
7460
7470
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
7461
7471
  /**
7462
7472
  * Disallow number literals with zero fractions or dangling dots.
7463
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
7473
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
7464
7474
  */
7465
7475
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
7466
7476
  /**
7467
7477
  * Enforce proper case for numeric literals.
7468
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
7478
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
7469
7479
  */
7470
7480
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
7471
7481
  /**
7472
7482
  * Enforce the style of numeric separators by correctly grouping digits.
7473
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
7483
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
7474
7484
  */
7475
7485
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
7476
7486
  /**
7477
7487
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
7478
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
7488
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
7479
7489
  */
7480
7490
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
7481
7491
  /**
7482
7492
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
7483
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
7493
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
7484
7494
  */
7485
7495
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
7486
7496
  /**
7487
7497
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
7488
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
7498
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
7489
7499
  */
7490
7500
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
7491
7501
  /**
7492
7502
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
7493
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
7503
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
7494
7504
  */
7495
7505
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
7496
7506
  /**
7497
7507
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
7498
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
7508
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
7499
7509
  */
7500
7510
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
7501
7511
  /**
7502
7512
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
7503
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
7513
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
7504
7514
  */
7505
7515
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
7506
7516
  /**
7507
7517
  * Prefer `.at()` method for index access and `String#charAt()`.
7508
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
7518
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
7509
7519
  */
7510
7520
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
7511
7521
  /**
7512
7522
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
7513
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
7523
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
7514
7524
  */
7515
7525
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
7526
+ /**
7527
+ * Prefer class field declarations over `this` assignments in constructors.
7528
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
7529
+ */
7530
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
7516
7531
  /**
7517
7532
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7518
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
7533
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
7519
7534
  */
7520
7535
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
7521
7536
  /**
7522
7537
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7523
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
7538
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
7524
7539
  */
7525
7540
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
7526
7541
  /**
7527
7542
  * Prefer default parameters over reassignment.
7528
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
7543
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
7529
7544
  */
7530
7545
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
7531
7546
  /**
7532
7547
  * Prefer `Node#append()` over `Node#appendChild()`.
7533
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
7548
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
7534
7549
  */
7535
7550
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
7536
7551
  /**
7537
7552
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
7538
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
7553
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
7539
7554
  */
7540
7555
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
7541
7556
  /**
7542
7557
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7543
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
7558
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
7544
7559
  */
7545
7560
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
7546
7561
  /**
7547
7562
  * Prefer `.textContent` over `.innerText`.
7548
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
7563
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
7549
7564
  */
7550
7565
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
7551
7566
  /**
7552
7567
  * Prefer `EventTarget` over `EventEmitter`.
7553
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
7568
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
7554
7569
  */
7555
7570
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
7556
7571
  /**
7557
7572
  * Prefer `export…from` when re-exporting.
7558
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
7573
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
7559
7574
  */
7560
7575
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
7561
7576
  /**
7562
7577
  * Prefer `globalThis` over `window`, `self`, and `global`.
7563
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
7578
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
7564
7579
  */
7565
7580
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
7566
7581
  /**
7567
7582
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7568
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
7583
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
7569
7584
  */
7570
7585
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
7571
7586
  /**
7572
7587
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7573
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
7588
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
7574
7589
  */
7575
7590
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
7576
7591
  /**
7577
7592
  * Prefer reading a JSON file as a buffer.
7578
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
7593
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
7579
7594
  */
7580
7595
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
7581
7596
  /**
7582
7597
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7583
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
7598
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
7584
7599
  */
7585
7600
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
7586
7601
  /**
7587
7602
  * Prefer using a logical operator over a ternary.
7588
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
7603
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7589
7604
  */
7590
7605
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
7591
7606
  /**
7592
7607
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7593
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
7608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
7594
7609
  */
7595
7610
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
7596
7611
  /**
7597
7612
  * Enforce the use of `Math.trunc` instead of bitwise operators.
7598
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
7613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
7599
7614
  */
7600
7615
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
7601
7616
  /**
7602
7617
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7603
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
7618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
7604
7619
  */
7605
7620
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
7606
7621
  /**
7607
7622
  * Prefer modern `Math` APIs over legacy patterns.
7608
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
7623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
7609
7624
  */
7610
7625
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
7611
7626
  /**
7612
7627
  * Prefer JavaScript modules (ESM) over CommonJS.
7613
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
7628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
7614
7629
  */
7615
7630
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
7616
7631
  /**
7617
7632
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7618
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
7633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
7619
7634
  */
7620
7635
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
7621
7636
  /**
7622
7637
  * Prefer negative index over `.length - index` when possible.
7623
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
7638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
7624
7639
  */
7625
7640
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
7626
7641
  /**
7627
7642
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7628
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
7643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
7629
7644
  */
7630
7645
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
7631
7646
  /**
7632
7647
  * Prefer `Number` static properties over global ones.
7633
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
7648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
7634
7649
  */
7635
7650
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
7636
7651
  /**
7637
7652
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7638
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
7653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
7639
7654
  */
7640
7655
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
7641
7656
  /**
7642
7657
  * Prefer omitting the `catch` binding parameter.
7643
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
7658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
7644
7659
  */
7645
7660
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
7646
7661
  /**
7647
7662
  * Prefer borrowing methods from the prototype instead of the instance.
7648
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
7663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
7649
7664
  */
7650
7665
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
7651
7666
  /**
7652
7667
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7653
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
7668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
7654
7669
  */
7655
7670
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
7656
7671
  /**
7657
7672
  * Prefer `Reflect.apply()` over `Function#apply()`.
7658
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
7673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
7659
7674
  */
7660
7675
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
7661
7676
  /**
7662
7677
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7663
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
7678
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
7664
7679
  */
7665
7680
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
7666
7681
  /**
7667
7682
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7668
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
7683
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
7669
7684
  */
7670
7685
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
7671
7686
  /**
7672
7687
  * Prefer using `Set#size` instead of `Array#length`.
7673
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
7688
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
7674
7689
  */
7675
7690
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
7676
7691
  /**
7677
7692
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7678
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
7693
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
7679
7694
  */
7680
7695
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
7681
7696
  /**
7682
7697
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7683
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
7698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
7684
7699
  */
7685
7700
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
7686
7701
  /**
7687
7702
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7688
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
7703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
7689
7704
  */
7690
7705
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
7691
7706
  /**
7692
7707
  * Prefer `String#replaceAll()` over regex searches with the global flag.
7693
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
7708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
7694
7709
  */
7695
7710
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
7696
7711
  /**
7697
7712
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7698
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
7713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
7699
7714
  */
7700
7715
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
7701
7716
  /**
7702
7717
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7703
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
7718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
7704
7719
  */
7705
7720
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
7706
7721
  /**
7707
7722
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7708
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
7723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
7709
7724
  */
7710
7725
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
7711
7726
  /**
7712
7727
  * Prefer using `structuredClone` to create a deep clone.
7713
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
7728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
7714
7729
  */
7715
7730
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
7716
7731
  /**
7717
7732
  * Prefer `switch` over multiple `else-if`.
7718
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
7733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
7719
7734
  */
7720
7735
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
7721
7736
  /**
7722
7737
  * Prefer ternary expressions over simple `if-else` statements.
7723
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
7738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
7724
7739
  */
7725
7740
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
7726
7741
  /**
7727
7742
  * Prefer top-level await over top-level promises and async function calls.
7728
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
7743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
7729
7744
  */
7730
7745
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
7731
7746
  /**
7732
7747
  * Enforce throwing `TypeError` in type checking conditions.
7733
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
7748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
7734
7749
  */
7735
7750
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
7736
7751
  /**
7737
7752
  * Prevent abbreviations.
7738
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
7753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
7739
7754
  */
7740
7755
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
7741
7756
  /**
7742
7757
  * Enforce consistent relative URL style.
7743
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
7758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
7744
7759
  */
7745
7760
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
7746
7761
  /**
7747
7762
  * Enforce using the separator argument with `Array#join()`.
7748
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
7763
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
7749
7764
  */
7750
7765
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
7766
+ /**
7767
+ * Require non-empty specifier list in import and export statements.
7768
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
7769
+ */
7770
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
7751
7771
  /**
7752
7772
  * Enforce using the digits argument with `Number#toFixed()`.
7753
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
7773
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7754
7774
  */
7755
7775
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
7756
7776
  /**
7757
7777
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7758
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
7778
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
7759
7779
  */
7760
7780
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
7761
7781
  /**
7762
7782
  * Enforce better string content.
7763
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
7783
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
7764
7784
  */
7765
7785
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
7766
7786
  /**
7767
7787
  * Enforce consistent brace style for `case` clauses.
7768
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
7788
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
7769
7789
  */
7770
7790
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
7771
7791
  /**
7772
7792
  * Fix whitespace-insensitive template indentation.
7773
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
7793
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
7774
7794
  */
7775
7795
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
7776
7796
  /**
7777
7797
  * Enforce consistent case for text encoding identifiers.
7778
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
7798
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
7779
7799
  */
7780
7800
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>;
7781
7801
  /**
7782
7802
  * Require `new` when creating an error.
7783
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
7803
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
7784
7804
  */
7785
7805
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
7786
7806
  /**
@@ -9228,6 +9248,7 @@ type AccessorPairs = [] | [{
9228
9248
  getWithoutSet?: boolean;
9229
9249
  setWithoutGet?: boolean;
9230
9250
  enforceForClassMembers?: boolean;
9251
+ enforceForTSTypes?: boolean;
9231
9252
  }];
9232
9253
  // ----- antfu/consistent-chaining -----
9233
9254
  type AntfuConsistentChaining = [] | [{
@@ -9493,7 +9514,9 @@ type GetterReturn = [] | [{
9493
9514
  allowImplicit?: boolean;
9494
9515
  }];
9495
9516
  // ----- grouped-accessor-pairs -----
9496
- type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")];
9517
+ type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")] | [("anyOrder" | "getBeforeSet" | "setBeforeGet"), {
9518
+ enforceForTSTypes?: boolean;
9519
+ }];
9497
9520
  // ----- handle-callback-err -----
9498
9521
  type HandleCallbackErr = [] | [string];
9499
9522
  // ----- id-blacklist -----
@@ -9747,8 +9770,8 @@ type JsdocMatchName = [] | [{
9747
9770
  context?: string;
9748
9771
  disallowName?: string;
9749
9772
  message?: string;
9773
+ replacement?: string;
9750
9774
  tags?: string[];
9751
- [k: string]: unknown | undefined;
9752
9775
  }[];
9753
9776
  }];
9754
9777
  // ----- jsdoc/multiline-blocks -----
@@ -9822,7 +9845,6 @@ type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("alway
9822
9845
  always?: string[];
9823
9846
  any?: string[];
9824
9847
  never?: string[];
9825
- [k: string]: unknown | undefined;
9826
9848
  };
9827
9849
  }];
9828
9850
  // ----- jsdoc/require-description -----
@@ -10032,7 +10054,6 @@ type JsdocSortTags = [] | [{
10032
10054
  reportTagGroupSpacing?: boolean;
10033
10055
  tagSequence?: {
10034
10056
  tags?: string[];
10035
- [k: string]: unknown | undefined;
10036
10057
  }[];
10037
10058
  }];
10038
10059
  // ----- jsdoc/tag-lines -----
@@ -10746,6 +10767,10 @@ type MarkdownNoUnusedDefinitions = [] | [{
10746
10767
  allowDefinitions?: string[];
10747
10768
  allowFootnoteDefinitions?: string[];
10748
10769
  }];
10770
+ // ----- markdown/table-column-count -----
10771
+ type MarkdownTableColumnCount = [] | [{
10772
+ checkMissingCells?: boolean;
10773
+ }];
10749
10774
  // ----- max-classes-per-file -----
10750
10775
  type MaxClassesPerFile = [] | [(number | {
10751
10776
  ignoreExpressions?: boolean;
@@ -11223,6 +11248,7 @@ type NoUnusedVars = [] | [(("all" | "local") | {
11223
11248
  caughtErrorsIgnorePattern?: string;
11224
11249
  destructuredArrayIgnorePattern?: string;
11225
11250
  ignoreClassWithStaticInitBlock?: boolean;
11251
+ ignoreUsingDeclarations?: boolean;
11226
11252
  reportUsedIgnorePattern?: boolean;
11227
11253
  })];
11228
11254
  // ----- no-use-before-define -----
@@ -14175,16 +14201,19 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
14175
14201
  var?: (number | ("first" | "off"));
14176
14202
  let?: (number | ("first" | "off"));
14177
14203
  const?: (number | ("first" | "off"));
14204
+ using?: (number | ("first" | "off"));
14178
14205
  });
14179
14206
  outerIIFEBody?: (number | "off");
14180
14207
  MemberExpression?: (number | "off");
14181
14208
  FunctionDeclaration?: {
14182
14209
  parameters?: (number | ("first" | "off"));
14183
14210
  body?: number;
14211
+ returnType?: number;
14184
14212
  };
14185
14213
  FunctionExpression?: {
14186
14214
  parameters?: (number | ("first" | "off"));
14187
14215
  body?: number;
14216
+ returnType?: number;
14188
14217
  };
14189
14218
  StaticBlock?: {
14190
14219
  body?: number;
@@ -14225,31 +14254,52 @@ type StyleJsxCurlyNewline = [] | [(("consistent" | "never") | {
14225
14254
  multiline?: ("consistent" | "require" | "forbid");
14226
14255
  })];
14227
14256
  // ----- style/jsx-curly-spacing -----
14228
- type StyleJsxCurlySpacing = [] | [((_StyleJsxCurlySpacing_BasicConfig & {
14229
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
14230
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
14231
- [k: string]: unknown | undefined;
14232
- }) | ("always" | "never"))] | [((_StyleJsxCurlySpacing_BasicConfig & {
14233
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
14234
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
14235
- [k: string]: unknown | undefined;
14236
- }) | ("always" | "never")), {
14257
+ type StyleJsxCurlySpacing = [] | [({
14258
+ when?: ("always" | "never");
14237
14259
  allowMultiline?: boolean;
14238
14260
  spacing?: {
14239
14261
  objectLiterals?: ("always" | "never");
14240
- [k: string]: unknown | undefined;
14241
14262
  };
14242
- }];
14243
- type _StyleJsxCurlySpacingBasicConfigOrBoolean = (_StyleJsxCurlySpacing_BasicConfig | boolean);
14244
- interface _StyleJsxCurlySpacing_BasicConfig {
14263
+ attributes?: ({
14264
+ when?: ("always" | "never");
14265
+ allowMultiline?: boolean;
14266
+ spacing?: {
14267
+ objectLiterals?: ("always" | "never");
14268
+ };
14269
+ } | boolean);
14270
+ children?: ({
14271
+ when?: ("always" | "never");
14272
+ allowMultiline?: boolean;
14273
+ spacing?: {
14274
+ objectLiterals?: ("always" | "never");
14275
+ };
14276
+ } | boolean);
14277
+ } | ("always" | "never"))] | [({
14245
14278
  when?: ("always" | "never");
14246
14279
  allowMultiline?: boolean;
14247
14280
  spacing?: {
14248
14281
  objectLiterals?: ("always" | "never");
14249
- [k: string]: unknown | undefined;
14250
14282
  };
14251
- [k: string]: unknown | undefined;
14252
- }
14283
+ attributes?: ({
14284
+ when?: ("always" | "never");
14285
+ allowMultiline?: boolean;
14286
+ spacing?: {
14287
+ objectLiterals?: ("always" | "never");
14288
+ };
14289
+ } | boolean);
14290
+ children?: ({
14291
+ when?: ("always" | "never");
14292
+ allowMultiline?: boolean;
14293
+ spacing?: {
14294
+ objectLiterals?: ("always" | "never");
14295
+ };
14296
+ } | boolean);
14297
+ } | ("always" | "never")), {
14298
+ allowMultiline?: boolean;
14299
+ spacing?: {
14300
+ objectLiterals?: ("always" | "never");
14301
+ };
14302
+ }];
14253
14303
  // ----- style/jsx-equals-spacing -----
14254
14304
  type StyleJsxEqualsSpacing = [] | [("always" | "never")];
14255
14305
  // ----- style/jsx-first-prop-new-line -----
@@ -14265,14 +14315,12 @@ type StyleJsxIndent = [] | [("tab" | number)] | [("tab" | number), {
14265
14315
  type StyleJsxIndentProps = [] | [(("tab" | "first") | number | {
14266
14316
  indentMode?: (("tab" | "first") | number);
14267
14317
  ignoreTernaryOperator?: boolean;
14268
- [k: string]: unknown | undefined;
14269
14318
  })];
14270
14319
  // ----- style/jsx-max-props-per-line -----
14271
14320
  type StyleJsxMaxPropsPerLine = [] | [({
14272
14321
  maximum?: {
14273
14322
  single?: number;
14274
14323
  multi?: number;
14275
- [k: string]: unknown | undefined;
14276
14324
  };
14277
14325
  } | {
14278
14326
  maximum?: number;
@@ -14619,6 +14667,10 @@ type StyleKeywordSpacing = [] | [{
14619
14667
  before?: boolean;
14620
14668
  after?: boolean;
14621
14669
  };
14670
+ accessor?: {
14671
+ before?: boolean;
14672
+ after?: boolean;
14673
+ };
14622
14674
  as?: {
14623
14675
  before?: boolean;
14624
14676
  after?: boolean;
@@ -14655,6 +14707,10 @@ type StyleKeywordSpacing = [] | [{
14655
14707
  before?: boolean;
14656
14708
  after?: boolean;
14657
14709
  };
14710
+ using?: {
14711
+ before?: boolean;
14712
+ after?: boolean;
14713
+ };
14658
14714
  yield?: {
14659
14715
  before?: boolean;
14660
14716
  after?: boolean;
@@ -14827,11 +14883,11 @@ interface _StyleMemberDelimiterStyle_DelimiterConfig {
14827
14883
  // ----- style/multiline-comment-style -----
14828
14884
  type StyleMultilineCommentStyle = ([] | [("starred-block" | "bare-block")] | [] | ["separate-lines"] | ["separate-lines", {
14829
14885
  checkJSDoc?: boolean;
14886
+ checkExclamation?: boolean;
14830
14887
  }]);
14831
14888
  // ----- style/multiline-ternary -----
14832
14889
  type StyleMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [("always" | "always-multiline" | "never"), {
14833
14890
  ignoreJSX?: boolean;
14834
- [k: string]: unknown | undefined;
14835
14891
  }];
14836
14892
  // ----- style/new-parens -----
14837
14893
  type StyleNewParens = [] | [("always" | "never")];
@@ -14976,11 +15032,12 @@ type StylePaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
14976
15032
  }];
14977
15033
  // ----- style/padding-line-between-statements -----
14978
15034
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
14979
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]]);
15035
+ type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementType | [_StylePaddingLineBetweenStatementsStatementType, ...(_StylePaddingLineBetweenStatementsStatementType)[]]);
15036
+ type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "return" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using");
14980
15037
  type StylePaddingLineBetweenStatements = {
14981
15038
  blankLine: _StylePaddingLineBetweenStatementsPaddingType;
14982
- prev: _StylePaddingLineBetweenStatementsStatementType;
14983
- next: _StylePaddingLineBetweenStatementsStatementType;
15039
+ prev: _StylePaddingLineBetweenStatementsStatementOption;
15040
+ next: _StylePaddingLineBetweenStatementsStatementOption;
14984
15041
  }[];
14985
15042
  // ----- style/quote-props -----
14986
15043
  type StyleQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
@@ -16266,7 +16323,6 @@ type TsPreferDestructuring = [] | [({
16266
16323
  }), {
16267
16324
  enforceForDeclarationWithTypeAnnotation?: boolean;
16268
16325
  enforceForRenamedProperties?: boolean;
16269
- [k: string]: unknown | undefined;
16270
16326
  }];
16271
16327
  // ----- ts/prefer-literal-enum-member -----
16272
16328
  type TsPreferLiteralEnumMember = [] | [{
@@ -16284,7 +16340,6 @@ type TsPreferNullishCoalescing = [] | [{
16284
16340
  boolean?: boolean;
16285
16341
  number?: boolean;
16286
16342
  string?: boolean;
16287
- [k: string]: unknown | undefined;
16288
16343
  } | true);
16289
16344
  ignoreTernaryTests?: boolean;
16290
16345
  }];
@@ -16493,6 +16548,10 @@ interface _UnicornImportStyle_BooleanObject {
16493
16548
  type UnicornNoArrayReduce = [] | [{
16494
16549
  allowSimpleOperations?: boolean;
16495
16550
  }];
16551
+ // ----- unicorn/no-array-reverse -----
16552
+ type UnicornNoArrayReverse = [] | [{
16553
+ allowExpressionStatement?: boolean;
16554
+ }];
16496
16555
  // ----- unicorn/no-instanceof-builtins -----
16497
16556
  type UnicornNoInstanceofBuiltins = [] | [{
16498
16557
  useErrorIsError?: boolean;
@@ -18778,4 +18837,4 @@ declare function ensurePackages(packages: Array<string | undefined>): Promise<vo
18778
18837
  declare function isInEditorEnv(): boolean;
18779
18838
  declare function isInGitHooksOrLintStaged(): boolean;
18780
18839
  //#endregion
18781
- export { Awaitable, ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
18840
+ export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vinicunca/eslint-config",
3
3
  "type": "module",
4
- "version": "3.18.0",
4
+ "version": "3.20.0",
5
5
  "description": "Vinicunca ESLint config",
6
6
  "author": {
7
7
  "name": "praburangki",
@@ -112,29 +112,29 @@
112
112
  "@antfu/install-pkg": "^1.1.0",
113
113
  "@clack/prompts": "^0.11.0",
114
114
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
115
- "@eslint/markdown": "^7.0.0",
116
- "@stylistic/eslint-plugin": "^5.0.0-beta.4",
117
- "@typescript-eslint/eslint-plugin": "^8.37.0",
118
- "@typescript-eslint/parser": "^8.37.0",
115
+ "@eslint/markdown": "^7.1.0",
116
+ "@stylistic/eslint-plugin": "^5.2.2",
117
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
118
+ "@typescript-eslint/parser": "^8.38.0",
119
119
  "@unocss/eslint-plugin": "^66.3.3",
120
120
  "@vitest/eslint-plugin": "^1.2.7",
121
121
  "eslint-config-flat-gitignore": "^2.1.0",
122
- "eslint-flat-config-utils": "^2.0.1",
122
+ "eslint-flat-config-utils": "^2.1.1",
123
123
  "eslint-merge-processors": "^2.0.0",
124
124
  "eslint-plugin-antfu": "^3.1.1",
125
125
  "eslint-plugin-command": "^3.2.1",
126
126
  "eslint-plugin-format": "^1.0.1",
127
127
  "eslint-plugin-import-lite": "^0.3.0",
128
- "eslint-plugin-jsdoc": "^51.3.4",
128
+ "eslint-plugin-jsdoc": "^52.0.0",
129
129
  "eslint-plugin-jsonc": "^2.20.1",
130
- "eslint-plugin-n": "^17.21.0",
130
+ "eslint-plugin-n": "^17.21.3",
131
131
  "eslint-plugin-no-only-tests": "^3.3.0",
132
132
  "eslint-plugin-perfectionist": "^4.15.0",
133
- "eslint-plugin-pnpm": "^1.0.0",
133
+ "eslint-plugin-pnpm": "^1.1.0",
134
134
  "eslint-plugin-regexp": "^2.9.0",
135
135
  "eslint-plugin-sonarjs": "^3.0.2",
136
136
  "eslint-plugin-toml": "^0.12.0",
137
- "eslint-plugin-unicorn": "^59.0.1",
137
+ "eslint-plugin-unicorn": "^60.0.0",
138
138
  "eslint-plugin-unused-imports": "^4.1.4",
139
139
  "eslint-plugin-vue": "^10.3.0",
140
140
  "eslint-plugin-yml": "^1.18.0",