@luxass/eslint-config 5.1.1 → 5.2.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 +226 -166
  2. package/package.json +15 -15
package/dist/index.d.ts CHANGED
@@ -1906,7 +1906,7 @@ interface RuleOptions {
1906
1906
  * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
1907
1907
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
1908
1908
  */
1909
- 'markdown/table-column-count'?: Linter.RuleEntry<[]>;
1909
+ 'markdown/table-column-count'?: Linter.RuleEntry<MarkdownTableColumnCount>;
1910
1910
  /**
1911
1911
  * Enforce a maximum number of classes per file
1912
1912
  * @see https://eslint.org/docs/latest/rules/max-classes-per-file
@@ -5955,670 +5955,690 @@ interface RuleOptions {
5955
5955
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
5956
5956
  /**
5957
5957
  * Improve regexes by making them shorter, consistent, and safer.
5958
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
5958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
5959
5959
  */
5960
5960
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
5961
5961
  /**
5962
5962
  * Enforce a specific parameter name in catch clauses.
5963
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
5963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
5964
5964
  */
5965
5965
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
5966
5966
  /**
5967
5967
  * Enforce consistent assertion style with `node:assert`.
5968
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
5968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
5969
5969
  */
5970
5970
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
5971
5971
  /**
5972
5972
  * Prefer passing `Date` directly to the constructor when cloning.
5973
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
5973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
5974
5974
  */
5975
5975
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
5976
5976
  /**
5977
5977
  * Use destructured variables over properties.
5978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
5978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
5979
5979
  */
5980
5980
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
5981
5981
  /**
5982
5982
  * Prefer consistent types when spreading a ternary in an array literal.
5983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
5983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
5984
5984
  */
5985
5985
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
5986
5986
  /**
5987
5987
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
5988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
5988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
5989
5989
  */
5990
5990
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
5991
5991
  /**
5992
5992
  * Move function definitions to the highest possible scope.
5993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
5993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
5994
5994
  */
5995
5995
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
5996
5996
  /**
5997
5997
  * Enforce correct `Error` subclassing.
5998
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
5998
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
5999
5999
  */
6000
6000
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
6001
6001
  /**
6002
6002
  * Enforce no spaces between braces.
6003
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
6003
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
6004
6004
  */
6005
6005
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
6006
6006
  /**
6007
6007
  * Enforce passing a `message` value when creating a built-in error.
6008
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
6008
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
6009
6009
  */
6010
6010
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
6011
6011
  /**
6012
6012
  * Require escape sequences to use uppercase or lowercase values.
6013
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
6013
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
6014
6014
  */
6015
6015
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
6016
6016
  /**
6017
6017
  * Add expiration conditions to TODO comments.
6018
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
6018
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
6019
6019
  */
6020
6020
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
6021
6021
  /**
6022
6022
  * Enforce explicitly comparing the `length` or `size` property of a value.
6023
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
6023
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
6024
6024
  */
6025
6025
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
6026
6026
  /**
6027
6027
  * Enforce a case style for filenames.
6028
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
6028
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
6029
6029
  */
6030
6030
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
6031
6031
  /**
6032
6032
  * Enforce specific import styles per module.
6033
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
6033
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
6034
6034
  */
6035
6035
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
6036
6036
  /**
6037
6037
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
6038
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
6038
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
6039
6039
  */
6040
6040
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
6041
6041
  /**
6042
6042
  * Enforce specifying rules to disable in `eslint-disable` comments.
6043
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
6043
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
6044
6044
  */
6045
6045
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
6046
6046
  /**
6047
6047
  * Disallow recursive access to `this` within getters and setters.
6048
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
6048
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
6049
6049
  */
6050
6050
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
6051
6051
  /**
6052
6052
  * Disallow anonymous functions and classes as the default export.
6053
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
6053
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
6054
6054
  */
6055
6055
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
6056
6056
  /**
6057
6057
  * Prevent passing a function reference directly to iterator methods.
6058
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
6058
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
6059
6059
  */
6060
6060
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
6061
6061
  /**
6062
6062
  * Prefer `for…of` over the `forEach` method.
6063
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
6063
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
6064
6064
  */
6065
6065
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
6066
6066
  /**
6067
6067
  * Disallow using the `this` argument in array methods.
6068
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
6068
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
6069
6069
  */
6070
6070
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
6071
6071
  /**
6072
6072
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
6073
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
6073
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
6074
6074
  * @deprecated
6075
6075
  */
6076
6076
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
6077
6077
  /**
6078
6078
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
6079
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
6079
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
6080
6080
  */
6081
6081
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
6082
+ /**
6083
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
6084
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
6085
+ */
6086
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
6082
6087
  /**
6083
6088
  * Disallow member access from await expression.
6084
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
6089
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
6085
6090
  */
6086
6091
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
6087
6092
  /**
6088
6093
  * Disallow using `await` in `Promise` method parameters.
6089
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
6094
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
6090
6095
  */
6091
6096
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
6092
6097
  /**
6093
6098
  * Do not use leading/trailing space between `console.log` parameters.
6094
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
6099
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
6095
6100
  */
6096
6101
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
6097
6102
  /**
6098
6103
  * Do not use `document.cookie` directly.
6099
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
6104
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
6100
6105
  */
6101
6106
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
6102
6107
  /**
6103
6108
  * Disallow empty files.
6104
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
6109
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
6105
6110
  */
6106
6111
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
6107
6112
  /**
6108
6113
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6109
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
6114
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
6110
6115
  */
6111
6116
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
6112
6117
  /**
6113
6118
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6114
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
6119
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
6115
6120
  */
6116
6121
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
6117
6122
  /**
6118
6123
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6119
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
6124
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
6120
6125
  * @deprecated
6121
6126
  */
6122
6127
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
6123
6128
  /**
6124
6129
  * Disallow `instanceof` with built-in objects
6125
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
6130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
6126
6131
  */
6127
6132
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
6128
6133
  /**
6129
6134
  * Disallow invalid options in `fetch()` and `new Request()`.
6130
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
6135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
6131
6136
  */
6132
6137
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
6133
6138
  /**
6134
6139
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6135
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
6140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
6136
6141
  */
6137
6142
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
6138
6143
  /**
6139
6144
  * Disallow identifiers starting with `new` or `class`.
6140
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
6145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
6141
6146
  */
6142
6147
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
6143
6148
  /**
6144
6149
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6145
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
6150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
6146
6151
  * @deprecated
6147
6152
  */
6148
6153
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
6149
6154
  /**
6150
6155
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6151
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
6156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
6152
6157
  */
6153
6158
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
6154
6159
  /**
6155
6160
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6156
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
6161
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
6157
6162
  */
6158
6163
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
6159
6164
  /**
6160
6165
  * Disallow named usage of default import and export.
6161
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
6166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
6162
6167
  */
6163
6168
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
6164
6169
  /**
6165
6170
  * Disallow negated conditions.
6166
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
6171
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
6167
6172
  */
6168
6173
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
6169
6174
  /**
6170
6175
  * Disallow negated expression in equality check.
6171
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
6176
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
6172
6177
  */
6173
6178
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
6174
6179
  /**
6175
6180
  * Disallow nested ternary expressions.
6176
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
6181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
6177
6182
  */
6178
6183
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
6179
6184
  /**
6180
6185
  * Disallow `new Array()`.
6181
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
6186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
6182
6187
  */
6183
6188
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
6184
6189
  /**
6185
6190
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6186
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
6191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
6187
6192
  */
6188
6193
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
6189
6194
  /**
6190
6195
  * Disallow the use of the `null` literal.
6191
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
6196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
6192
6197
  */
6193
6198
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
6194
6199
  /**
6195
6200
  * Disallow the use of objects as default parameters.
6196
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
6201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
6197
6202
  */
6198
6203
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
6199
6204
  /**
6200
6205
  * Disallow `process.exit()`.
6201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
6206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
6202
6207
  */
6203
6208
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
6204
6209
  /**
6205
6210
  * Disallow passing single-element arrays to `Promise` methods.
6206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
6211
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
6207
6212
  */
6208
6213
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
6209
6214
  /**
6210
6215
  * Disallow classes that only have static members.
6211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
6216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
6212
6217
  */
6213
6218
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
6214
6219
  /**
6215
6220
  * Disallow `then` property.
6216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
6221
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
6217
6222
  */
6218
6223
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
6219
6224
  /**
6220
6225
  * Disallow assigning `this` to a variable.
6221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
6226
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
6222
6227
  */
6223
6228
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
6224
6229
  /**
6225
6230
  * Disallow comparing `undefined` using `typeof`.
6226
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
6231
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
6227
6232
  */
6228
6233
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
6229
6234
  /**
6230
6235
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
6231
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
6236
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6232
6237
  */
6233
6238
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
6234
6239
  /**
6235
6240
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
6236
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
6241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
6237
6242
  */
6238
6243
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
6239
6244
  /**
6240
6245
  * Disallow awaiting non-promise values.
6241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
6246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
6242
6247
  */
6243
6248
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
6244
6249
  /**
6245
6250
  * Enforce the use of built-in methods instead of unnecessary polyfills.
6246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
6251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
6247
6252
  */
6248
6253
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
6249
6254
  /**
6250
6255
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
6256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
6252
6257
  */
6253
6258
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
6254
6259
  /**
6255
6260
  * Disallow unreadable array destructuring.
6256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
6261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
6257
6262
  */
6258
6263
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
6259
6264
  /**
6260
6265
  * Disallow unreadable IIFEs.
6261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
6266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
6262
6267
  */
6263
6268
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
6264
6269
  /**
6265
6270
  * Disallow unused object properties.
6266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
6271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
6267
6272
  */
6268
6273
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
6274
+ /**
6275
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
6276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6277
+ */
6278
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
6269
6279
  /**
6270
6280
  * Disallow useless fallback when spreading in object literals.
6271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
6281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
6272
6282
  */
6273
6283
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
6274
6284
  /**
6275
6285
  * Disallow useless array length check.
6276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
6286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
6277
6287
  */
6278
6288
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
6279
6289
  /**
6280
6290
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
6281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
6291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
6282
6292
  */
6283
6293
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
6284
6294
  /**
6285
6295
  * Disallow unnecessary spread.
6286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
6296
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
6287
6297
  */
6288
6298
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
6289
6299
  /**
6290
6300
  * Disallow useless case in switch statements.
6291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
6301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
6292
6302
  */
6293
6303
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
6294
6304
  /**
6295
6305
  * Disallow useless `undefined`.
6296
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
6306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
6297
6307
  */
6298
6308
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
6299
6309
  /**
6300
6310
  * Disallow number literals with zero fractions or dangling dots.
6301
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
6311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
6302
6312
  */
6303
6313
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
6304
6314
  /**
6305
6315
  * Enforce proper case for numeric literals.
6306
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
6316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
6307
6317
  */
6308
6318
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
6309
6319
  /**
6310
6320
  * Enforce the style of numeric separators by correctly grouping digits.
6311
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
6321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
6312
6322
  */
6313
6323
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
6314
6324
  /**
6315
6325
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6316
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
6326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
6317
6327
  */
6318
6328
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
6319
6329
  /**
6320
6330
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6321
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
6331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
6322
6332
  */
6323
6333
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
6324
6334
  /**
6325
6335
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6326
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
6336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
6327
6337
  */
6328
6338
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
6329
6339
  /**
6330
6340
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
6331
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
6341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
6332
6342
  */
6333
6343
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
6334
6344
  /**
6335
6345
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6336
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
6346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
6337
6347
  */
6338
6348
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
6339
6349
  /**
6340
6350
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6341
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
6351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
6342
6352
  */
6343
6353
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
6344
6354
  /**
6345
6355
  * Prefer `.at()` method for index access and `String#charAt()`.
6346
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
6356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
6347
6357
  */
6348
6358
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
6349
6359
  /**
6350
6360
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6351
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
6361
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
6352
6362
  */
6353
6363
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
6364
+ /**
6365
+ * Prefer class field declarations over `this` assignments in constructors.
6366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
6367
+ */
6368
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
6354
6369
  /**
6355
6370
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
6356
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
6371
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
6357
6372
  */
6358
6373
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
6359
6374
  /**
6360
6375
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
6361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
6376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
6362
6377
  */
6363
6378
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
6364
6379
  /**
6365
6380
  * Prefer default parameters over reassignment.
6366
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
6381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
6367
6382
  */
6368
6383
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
6369
6384
  /**
6370
6385
  * Prefer `Node#append()` over `Node#appendChild()`.
6371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
6386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
6372
6387
  */
6373
6388
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
6374
6389
  /**
6375
6390
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
6376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
6391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
6377
6392
  */
6378
6393
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
6379
6394
  /**
6380
6395
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
6381
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
6396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
6382
6397
  */
6383
6398
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
6384
6399
  /**
6385
6400
  * Prefer `.textContent` over `.innerText`.
6386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
6401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
6387
6402
  */
6388
6403
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
6389
6404
  /**
6390
6405
  * Prefer `EventTarget` over `EventEmitter`.
6391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
6406
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
6392
6407
  */
6393
6408
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
6394
6409
  /**
6395
6410
  * Prefer `export…from` when re-exporting.
6396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
6411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
6397
6412
  */
6398
6413
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
6399
6414
  /**
6400
6415
  * Prefer `globalThis` over `window`, `self`, and `global`.
6401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
6416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
6402
6417
  */
6403
6418
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
6404
6419
  /**
6405
6420
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
6406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
6421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
6407
6422
  */
6408
6423
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
6409
6424
  /**
6410
6425
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
6411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
6426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
6412
6427
  */
6413
6428
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
6414
6429
  /**
6415
6430
  * Prefer reading a JSON file as a buffer.
6416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
6431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
6417
6432
  */
6418
6433
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
6419
6434
  /**
6420
6435
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
6421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
6436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
6422
6437
  */
6423
6438
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
6424
6439
  /**
6425
6440
  * Prefer using a logical operator over a ternary.
6426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
6441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6427
6442
  */
6428
6443
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
6429
6444
  /**
6430
6445
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
6431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
6446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
6432
6447
  */
6433
6448
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
6434
6449
  /**
6435
6450
  * Enforce the use of `Math.trunc` instead of bitwise operators.
6436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
6451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
6437
6452
  */
6438
6453
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
6439
6454
  /**
6440
6455
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
6441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
6456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
6442
6457
  */
6443
6458
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
6444
6459
  /**
6445
6460
  * Prefer modern `Math` APIs over legacy patterns.
6446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
6461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
6447
6462
  */
6448
6463
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
6449
6464
  /**
6450
6465
  * Prefer JavaScript modules (ESM) over CommonJS.
6451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
6466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
6452
6467
  */
6453
6468
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
6454
6469
  /**
6455
6470
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
6456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
6471
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
6457
6472
  */
6458
6473
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
6459
6474
  /**
6460
6475
  * Prefer negative index over `.length - index` when possible.
6461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
6476
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
6462
6477
  */
6463
6478
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
6464
6479
  /**
6465
6480
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
6466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
6481
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
6467
6482
  */
6468
6483
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
6469
6484
  /**
6470
6485
  * Prefer `Number` static properties over global ones.
6471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
6486
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
6472
6487
  */
6473
6488
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
6474
6489
  /**
6475
6490
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
6476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
6491
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
6477
6492
  */
6478
6493
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
6479
6494
  /**
6480
6495
  * Prefer omitting the `catch` binding parameter.
6481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
6496
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
6482
6497
  */
6483
6498
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
6484
6499
  /**
6485
6500
  * Prefer borrowing methods from the prototype instead of the instance.
6486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
6501
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
6487
6502
  */
6488
6503
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
6489
6504
  /**
6490
6505
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
6491
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
6506
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
6492
6507
  */
6493
6508
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
6494
6509
  /**
6495
6510
  * Prefer `Reflect.apply()` over `Function#apply()`.
6496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
6511
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
6497
6512
  */
6498
6513
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
6499
6514
  /**
6500
6515
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
6501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
6516
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
6502
6517
  */
6503
6518
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
6504
6519
  /**
6505
6520
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
6506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
6521
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
6507
6522
  */
6508
6523
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
6509
6524
  /**
6510
6525
  * Prefer using `Set#size` instead of `Array#length`.
6511
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
6526
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
6512
6527
  */
6513
6528
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
6514
6529
  /**
6515
6530
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
6516
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
6531
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
6517
6532
  */
6518
6533
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
6519
6534
  /**
6520
6535
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
6521
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
6536
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
6522
6537
  */
6523
6538
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
6524
6539
  /**
6525
6540
  * Prefer using the `String.raw` tag to avoid escaping `\`.
6526
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
6541
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
6527
6542
  */
6528
6543
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
6529
6544
  /**
6530
6545
  * Prefer `String#replaceAll()` over regex searches with the global flag.
6531
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
6546
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
6532
6547
  */
6533
6548
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
6534
6549
  /**
6535
6550
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
6536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
6551
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
6537
6552
  */
6538
6553
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
6539
6554
  /**
6540
6555
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
6541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
6556
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
6542
6557
  */
6543
6558
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
6544
6559
  /**
6545
6560
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
6546
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
6561
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
6547
6562
  */
6548
6563
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
6549
6564
  /**
6550
6565
  * Prefer using `structuredClone` to create a deep clone.
6551
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
6566
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
6552
6567
  */
6553
6568
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
6554
6569
  /**
6555
6570
  * Prefer `switch` over multiple `else-if`.
6556
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
6571
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
6557
6572
  */
6558
6573
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
6559
6574
  /**
6560
6575
  * Prefer ternary expressions over simple `if-else` statements.
6561
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
6576
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
6562
6577
  */
6563
6578
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
6564
6579
  /**
6565
6580
  * Prefer top-level await over top-level promises and async function calls.
6566
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
6581
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
6567
6582
  */
6568
6583
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
6569
6584
  /**
6570
6585
  * Enforce throwing `TypeError` in type checking conditions.
6571
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
6586
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
6572
6587
  */
6573
6588
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
6574
6589
  /**
6575
6590
  * Prevent abbreviations.
6576
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
6591
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
6577
6592
  */
6578
6593
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
6579
6594
  /**
6580
6595
  * Enforce consistent relative URL style.
6581
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
6596
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
6582
6597
  */
6583
6598
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
6584
6599
  /**
6585
6600
  * Enforce using the separator argument with `Array#join()`.
6586
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
6601
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
6587
6602
  */
6588
6603
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
6604
+ /**
6605
+ * Require non-empty specifier list in import and export statements.
6606
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
6607
+ */
6608
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
6589
6609
  /**
6590
6610
  * Enforce using the digits argument with `Number#toFixed()`.
6591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
6611
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
6592
6612
  */
6593
6613
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
6594
6614
  /**
6595
6615
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
6596
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
6616
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
6597
6617
  */
6598
6618
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
6599
6619
  /**
6600
6620
  * Enforce better string content.
6601
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
6621
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
6602
6622
  */
6603
6623
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
6604
6624
  /**
6605
6625
  * Enforce consistent brace style for `case` clauses.
6606
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
6626
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
6607
6627
  */
6608
6628
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
6609
6629
  /**
6610
6630
  * Fix whitespace-insensitive template indentation.
6611
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
6631
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
6612
6632
  */
6613
6633
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
6614
6634
  /**
6615
6635
  * Enforce consistent case for text encoding identifiers.
6616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
6636
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
6617
6637
  */
6618
6638
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>;
6619
6639
  /**
6620
6640
  * Require `new` when creating an error.
6621
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
6641
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
6622
6642
  */
6623
6643
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
6624
6644
  /**
@@ -8066,6 +8086,7 @@ type AccessorPairs = [] | [{
8066
8086
  getWithoutSet?: boolean;
8067
8087
  setWithoutGet?: boolean;
8068
8088
  enforceForClassMembers?: boolean;
8089
+ enforceForTSTypes?: boolean;
8069
8090
  }];
8070
8091
  // ----- antfu/consistent-chaining -----
8071
8092
  type AntfuConsistentChaining = [] | [{
@@ -8331,7 +8352,9 @@ type GetterReturn = [] | [{
8331
8352
  allowImplicit?: boolean;
8332
8353
  }];
8333
8354
  // ----- grouped-accessor-pairs -----
8334
- type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")];
8355
+ type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")] | [("anyOrder" | "getBeforeSet" | "setBeforeGet"), {
8356
+ enforceForTSTypes?: boolean;
8357
+ }];
8335
8358
  // ----- handle-callback-err -----
8336
8359
  type HandleCallbackErr = [] | [string];
8337
8360
  // ----- id-blacklist -----
@@ -8585,8 +8608,8 @@ type JsdocMatchName = [] | [{
8585
8608
  context?: string;
8586
8609
  disallowName?: string;
8587
8610
  message?: string;
8611
+ replacement?: string;
8588
8612
  tags?: string[];
8589
- [k: string]: unknown | undefined;
8590
8613
  }[];
8591
8614
  }];
8592
8615
  // ----- jsdoc/multiline-blocks -----
@@ -8660,7 +8683,6 @@ type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("alway
8660
8683
  always?: string[];
8661
8684
  any?: string[];
8662
8685
  never?: string[];
8663
- [k: string]: unknown | undefined;
8664
8686
  };
8665
8687
  }];
8666
8688
  // ----- jsdoc/require-description -----
@@ -8870,7 +8892,6 @@ type JsdocSortTags = [] | [{
8870
8892
  reportTagGroupSpacing?: boolean;
8871
8893
  tagSequence?: {
8872
8894
  tags?: string[];
8873
- [k: string]: unknown | undefined;
8874
8895
  }[];
8875
8896
  }];
8876
8897
  // ----- jsdoc/tag-lines -----
@@ -9584,6 +9605,10 @@ type MarkdownNoUnusedDefinitions = [] | [{
9584
9605
  allowDefinitions?: string[];
9585
9606
  allowFootnoteDefinitions?: string[];
9586
9607
  }];
9608
+ // ----- markdown/table-column-count -----
9609
+ type MarkdownTableColumnCount = [] | [{
9610
+ checkMissingCells?: boolean;
9611
+ }];
9587
9612
  // ----- max-classes-per-file -----
9588
9613
  type MaxClassesPerFile = [] | [(number | {
9589
9614
  ignoreExpressions?: boolean;
@@ -10061,6 +10086,7 @@ type NoUnusedVars = [] | [(("all" | "local") | {
10061
10086
  caughtErrorsIgnorePattern?: string;
10062
10087
  destructuredArrayIgnorePattern?: string;
10063
10088
  ignoreClassWithStaticInitBlock?: boolean;
10089
+ ignoreUsingDeclarations?: boolean;
10064
10090
  reportUsedIgnorePattern?: boolean;
10065
10091
  })];
10066
10092
  // ----- no-use-before-define -----
@@ -12714,10 +12740,12 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
12714
12740
  FunctionDeclaration?: {
12715
12741
  parameters?: (number | ("first" | "off"));
12716
12742
  body?: number;
12743
+ returnType?: number;
12717
12744
  };
12718
12745
  FunctionExpression?: {
12719
12746
  parameters?: (number | ("first" | "off"));
12720
12747
  body?: number;
12748
+ returnType?: number;
12721
12749
  };
12722
12750
  StaticBlock?: {
12723
12751
  body?: number;
@@ -12758,31 +12786,52 @@ type StyleJsxCurlyNewline = [] | [(("consistent" | "never") | {
12758
12786
  multiline?: ("consistent" | "require" | "forbid");
12759
12787
  })];
12760
12788
  // ----- style/jsx-curly-spacing -----
12761
- type StyleJsxCurlySpacing = [] | [((_StyleJsxCurlySpacing_BasicConfig & {
12762
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12763
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12764
- [k: string]: unknown | undefined;
12765
- }) | ("always" | "never"))] | [((_StyleJsxCurlySpacing_BasicConfig & {
12766
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12767
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12768
- [k: string]: unknown | undefined;
12769
- }) | ("always" | "never")), {
12789
+ type StyleJsxCurlySpacing = [] | [({
12790
+ when?: ("always" | "never");
12770
12791
  allowMultiline?: boolean;
12771
12792
  spacing?: {
12772
12793
  objectLiterals?: ("always" | "never");
12773
- [k: string]: unknown | undefined;
12774
12794
  };
12775
- }];
12776
- type _StyleJsxCurlySpacingBasicConfigOrBoolean = (_StyleJsxCurlySpacing_BasicConfig | boolean);
12777
- interface _StyleJsxCurlySpacing_BasicConfig {
12795
+ attributes?: ({
12796
+ when?: ("always" | "never");
12797
+ allowMultiline?: boolean;
12798
+ spacing?: {
12799
+ objectLiterals?: ("always" | "never");
12800
+ };
12801
+ } | boolean);
12802
+ children?: ({
12803
+ when?: ("always" | "never");
12804
+ allowMultiline?: boolean;
12805
+ spacing?: {
12806
+ objectLiterals?: ("always" | "never");
12807
+ };
12808
+ } | boolean);
12809
+ } | ("always" | "never"))] | [({
12778
12810
  when?: ("always" | "never");
12779
12811
  allowMultiline?: boolean;
12780
12812
  spacing?: {
12781
12813
  objectLiterals?: ("always" | "never");
12782
- [k: string]: unknown | undefined;
12783
12814
  };
12784
- [k: string]: unknown | undefined;
12785
- }
12815
+ attributes?: ({
12816
+ when?: ("always" | "never");
12817
+ allowMultiline?: boolean;
12818
+ spacing?: {
12819
+ objectLiterals?: ("always" | "never");
12820
+ };
12821
+ } | boolean);
12822
+ children?: ({
12823
+ when?: ("always" | "never");
12824
+ allowMultiline?: boolean;
12825
+ spacing?: {
12826
+ objectLiterals?: ("always" | "never");
12827
+ };
12828
+ } | boolean);
12829
+ } | ("always" | "never")), {
12830
+ allowMultiline?: boolean;
12831
+ spacing?: {
12832
+ objectLiterals?: ("always" | "never");
12833
+ };
12834
+ }];
12786
12835
  // ----- style/jsx-equals-spacing -----
12787
12836
  type StyleJsxEqualsSpacing = [] | [("always" | "never")];
12788
12837
  // ----- style/jsx-first-prop-new-line -----
@@ -12798,14 +12847,12 @@ type StyleJsxIndent = [] | [("tab" | number)] | [("tab" | number), {
12798
12847
  type StyleJsxIndentProps = [] | [(("tab" | "first") | number | {
12799
12848
  indentMode?: (("tab" | "first") | number);
12800
12849
  ignoreTernaryOperator?: boolean;
12801
- [k: string]: unknown | undefined;
12802
12850
  })];
12803
12851
  // ----- style/jsx-max-props-per-line -----
12804
12852
  type StyleJsxMaxPropsPerLine = [] | [({
12805
12853
  maximum?: {
12806
12854
  single?: number;
12807
12855
  multi?: number;
12808
- [k: string]: unknown | undefined;
12809
12856
  };
12810
12857
  } | {
12811
12858
  maximum?: number;
@@ -13152,6 +13199,10 @@ type StyleKeywordSpacing = [] | [{
13152
13199
  before?: boolean;
13153
13200
  after?: boolean;
13154
13201
  };
13202
+ accessor?: {
13203
+ before?: boolean;
13204
+ after?: boolean;
13205
+ };
13155
13206
  as?: {
13156
13207
  before?: boolean;
13157
13208
  after?: boolean;
@@ -13364,11 +13415,11 @@ interface _StyleMemberDelimiterStyle_DelimiterConfig {
13364
13415
  // ----- style/multiline-comment-style -----
13365
13416
  type StyleMultilineCommentStyle = ([] | [("starred-block" | "bare-block")] | [] | ["separate-lines"] | ["separate-lines", {
13366
13417
  checkJSDoc?: boolean;
13418
+ checkExclamation?: boolean;
13367
13419
  }]);
13368
13420
  // ----- style/multiline-ternary -----
13369
13421
  type StyleMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [("always" | "always-multiline" | "never"), {
13370
13422
  ignoreJSX?: boolean;
13371
- [k: string]: unknown | undefined;
13372
13423
  }];
13373
13424
  // ----- style/new-parens -----
13374
13425
  type StyleNewParens = [] | [("always" | "never")];
@@ -13513,11 +13564,12 @@ type StylePaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
13513
13564
  }];
13514
13565
  // ----- style/padding-line-between-statements -----
13515
13566
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
13516
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-using" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-using" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "using" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-using" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-using" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "using" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-using" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-using" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "using" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]]);
13567
+ type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementType | [_StylePaddingLineBetweenStatementsStatementType, ...(_StylePaddingLineBetweenStatementsStatementType)[]]);
13568
+ 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");
13517
13569
  type StylePaddingLineBetweenStatements = {
13518
13570
  blankLine: _StylePaddingLineBetweenStatementsPaddingType;
13519
- prev: _StylePaddingLineBetweenStatementsStatementType;
13520
- next: _StylePaddingLineBetweenStatementsStatementType;
13571
+ prev: _StylePaddingLineBetweenStatementsStatementOption;
13572
+ next: _StylePaddingLineBetweenStatementsStatementOption;
13521
13573
  }[];
13522
13574
  // ----- style/quote-props -----
13523
13575
  type StyleQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
@@ -14725,7 +14777,6 @@ type TsPreferDestructuring = [] | [({
14725
14777
  }), {
14726
14778
  enforceForDeclarationWithTypeAnnotation?: boolean;
14727
14779
  enforceForRenamedProperties?: boolean;
14728
- [k: string]: unknown | undefined;
14729
14780
  }];
14730
14781
  // ----- ts/prefer-literal-enum-member -----
14731
14782
  type TsPreferLiteralEnumMember = [] | [{
@@ -14743,7 +14794,6 @@ type TsPreferNullishCoalescing = [] | [{
14743
14794
  boolean?: boolean;
14744
14795
  number?: boolean;
14745
14796
  string?: boolean;
14746
- [k: string]: unknown | undefined;
14747
14797
  } | true);
14748
14798
  ignoreTernaryTests?: boolean;
14749
14799
  }];
@@ -14952,6 +15002,10 @@ interface _UnicornImportStyle_BooleanObject {
14952
15002
  type UnicornNoArrayReduce = [] | [{
14953
15003
  allowSimpleOperations?: boolean;
14954
15004
  }];
15005
+ // ----- unicorn/no-array-reverse -----
15006
+ type UnicornNoArrayReverse = [] | [{
15007
+ allowExpressionStatement?: boolean;
15008
+ }];
14955
15009
  // ----- unicorn/no-instanceof-builtins -----
14956
15010
  type UnicornNoInstanceofBuiltins = [] | [{
14957
15011
  useErrorIsError?: boolean;
@@ -16543,14 +16597,20 @@ type ConfigNames = 'luxass/astro/setup' | 'luxass/astro/rules' | 'luxass/eslint-
16543
16597
  //#endregion
16544
16598
  //#region src/types.d.ts
16545
16599
  type Awaitable<T> = T | Promise<T>;
16546
- interface Rules extends RuleOptions {}
16547
- type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins"> & {
16600
+ type Rules = Record<string, Linter.RuleEntry<any> | undefined> & RuleOptions;
16601
+ type TypedFlatConfigItem = Omit<Linter.Config, "plugins" | "rules"> & {
16548
16602
  /**
16549
- * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
16603
+ * An object containing a name-value mapping of plugin names to plugin objects.
16604
+ * When `files` is specified, these plugins are only available to the matching files.
16550
16605
  *
16551
16606
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
16552
16607
  */
16553
16608
  plugins?: Record<string, any>;
16609
+ /**
16610
+ * An object containing the configured rules. When `files` or `ignores` are
16611
+ * specified, these rule configurations are only available to the matching files.
16612
+ */
16613
+ rules?: Rules;
16554
16614
  };
16555
16615
  type UserConfigItem = TypedFlatConfigItem | Linter.Config;
16556
16616
  type ProjectType = "app" | "lib";
@@ -16946,4 +17006,4 @@ declare function isPackageInScope(name: string): boolean;
16946
17006
  declare function isInEditorEnv(): boolean;
16947
17007
  declare function isInGitHooksOrLintStaged(): boolean;
16948
17008
  //#endregion
16949
- export { AstroOptions, Awaitable, ConfigNames, ConfigOptions, FormattersOptions, 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_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, ImportsOptions, JSDOCOptions, JSONOptions, JavaScriptOptions, MarkdownOptions, ProjectType, ReactOptions, RegExpOptions, ResolvedOptions, Rules, StylisticConfig, StylisticOptions, TOMLOptions, TailwindCSSOptions, TestOptions, TypeScriptOptions, TypedFlatConfigItem, UnicornOptions, UnoCSSOptions, UserConfigItem, VueOptions, YAMLOptions, astro, combine, comments, luxass as default, luxass, disables, ensure, formatters, getOverrides, ignores, imports, interop, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
17009
+ export { AstroOptions, Awaitable, type ConfigNames, ConfigOptions, FormattersOptions, 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_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, ImportsOptions, JSDOCOptions, JSONOptions, JavaScriptOptions, MarkdownOptions, ProjectType, ReactOptions, RegExpOptions, ResolvedOptions, Rules, StylisticConfig, StylisticOptions, TOMLOptions, TailwindCSSOptions, TestOptions, TypeScriptOptions, TypedFlatConfigItem, UnicornOptions, UnoCSSOptions, UserConfigItem, VueOptions, YAMLOptions, astro, combine, comments, luxass as default, luxass, disables, ensure, formatters, getOverrides, ignores, imports, interop, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxass/eslint-config",
3
- "version": "5.1.1",
3
+ "version": "5.2.0",
4
4
  "description": "ESLint config for @luxass",
5
5
  "type": "module",
6
6
  "author": {
@@ -83,24 +83,24 @@
83
83
  "@antfu/install-pkg": "^1.1.0",
84
84
  "@clack/prompts": "^0.11.0",
85
85
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
86
- "@eslint/markdown": "^7.0.0",
87
- "@stylistic/eslint-plugin": "^5.1.0",
88
- "@typescript-eslint/eslint-plugin": "^8.37.0",
89
- "@typescript-eslint/parser": "^8.37.0",
86
+ "@eslint/markdown": "^7.1.0",
87
+ "@stylistic/eslint-plugin": "^5.2.2",
88
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
89
+ "@typescript-eslint/parser": "^8.38.0",
90
90
  "@vitest/eslint-plugin": "^1.3.4",
91
91
  "eslint-config-flat-gitignore": "^2.1.0",
92
92
  "eslint-flat-config-utils": "^2.1.0",
93
93
  "eslint-merge-processors": "^2.0.0",
94
94
  "eslint-plugin-antfu": "^3.1.1",
95
95
  "eslint-plugin-import-lite": "^0.3.0",
96
- "eslint-plugin-jsdoc": "^51.3.4",
96
+ "eslint-plugin-jsdoc": "^52.0.0",
97
97
  "eslint-plugin-jsonc": "^2.20.1",
98
- "eslint-plugin-n": "^17.21.0",
98
+ "eslint-plugin-n": "^17.21.3",
99
99
  "eslint-plugin-perfectionist": "^4.15.0",
100
- "eslint-plugin-pnpm": "^1.0.0",
100
+ "eslint-plugin-pnpm": "^1.1.0",
101
101
  "eslint-plugin-regexp": "^2.9.0",
102
102
  "eslint-plugin-toml": "^0.12.0",
103
- "eslint-plugin-unicorn": "^59.0.1",
103
+ "eslint-plugin-unicorn": "^60.0.0",
104
104
  "eslint-plugin-unused-imports": "^4.1.4",
105
105
  "eslint-plugin-vue": "^10.3.0",
106
106
  "eslint-plugin-yml": "^1.18.0",
@@ -117,25 +117,25 @@
117
117
  "@eslint-react/eslint-plugin": "^1.52.3",
118
118
  "@eslint/config-inspector": "^1.1.0",
119
119
  "@types/node": "^22.13.10",
120
- "@typescript-eslint/rule-tester": "^8.37.0",
120
+ "@typescript-eslint/rule-tester": "^8.38.0",
121
121
  "@unocss/eslint-plugin": "^66.3.3",
122
122
  "astro-eslint-parser": "^1.2.2",
123
- "eslint": "^9.31.0",
123
+ "eslint": "^9.32.0",
124
124
  "eslint-plugin-astro": "^1.3.1",
125
125
  "eslint-plugin-format": "^1.0.1",
126
126
  "eslint-plugin-react-hooks": "^5.2.0",
127
127
  "eslint-plugin-react-refresh": "^0.4.20",
128
128
  "eslint-plugin-tailwindcss": "^3.18.0",
129
- "eslint-typegen": "^2.2.1",
130
- "jiti": "^2.4.2",
129
+ "eslint-typegen": "^2.3.0",
130
+ "jiti": "^2.5.1",
131
131
  "prettier-plugin-astro": "^0.14.1",
132
132
  "tailwindcss": "3.4.17",
133
- "tsdown": "^0.12.9",
133
+ "tsdown": "^0.13.0",
134
134
  "tsx": "^4.20.3",
135
135
  "typescript": "^5.8.3",
136
136
  "unocss": "^66.3.3",
137
137
  "vitest": "^3.2.4",
138
- "vue": "^3.5.17"
138
+ "vue": "^3.5.18"
139
139
  },
140
140
  "scripts": {
141
141
  "build": "pnpm typegen && tsdown --clean --dts",