@antfu/eslint-config 4.17.0 → 4.18.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 (3) hide show
  1. package/dist/cli.js +3 -3
  2. package/dist/index.d.ts +217 -162
  3. package/package.json +18 -15
package/dist/cli.js CHANGED
@@ -9,7 +9,7 @@ import parse from "parse-gitignore";
9
9
  import { execSync } from "node:child_process";
10
10
 
11
11
  //#region package.json
12
- var version = "4.17.0";
12
+ var version = "4.18.0";
13
13
 
14
14
  //#endregion
15
15
  //#region src/cli/constants.ts
@@ -185,10 +185,10 @@ const versionsMap = {
185
185
  "eslint-plugin-react-hooks": "^5.2.0",
186
186
  "eslint-plugin-react-refresh": "^0.4.20",
187
187
  "eslint-plugin-solid": "^0.14.5",
188
- "eslint-plugin-svelte": "^3.10.1",
188
+ "eslint-plugin-svelte": "^3.11.0",
189
189
  "prettier-plugin-astro": "^0.14.1",
190
190
  "prettier-plugin-slidev": "^1.0.5",
191
- "svelte-eslint-parser": "^1.2.0"
191
+ "svelte-eslint-parser": "^1.3.0"
192
192
  };
193
193
 
194
194
  //#endregion
package/dist/index.d.ts CHANGED
@@ -1346,7 +1346,7 @@ interface RuleOptions {
1346
1346
  * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
1347
1347
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
1348
1348
  */
1349
- 'markdown/table-column-count'?: Linter.RuleEntry<[]>;
1349
+ 'markdown/table-column-count'?: Linter.RuleEntry<MarkdownTableColumnCount>;
1350
1350
  /**
1351
1351
  * Enforce a maximum number of classes per file
1352
1352
  * @see https://eslint.org/docs/latest/rules/max-classes-per-file
@@ -4600,6 +4600,11 @@ interface RuleOptions {
4600
4600
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-style-directive/
4601
4601
  */
4602
4602
  'svelte/prefer-style-directive'?: Linter.RuleEntry<[]>;
4603
+ /**
4604
+ * disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity
4605
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-svelte-reactivity/
4606
+ */
4607
+ 'svelte/prefer-svelte-reactivity'?: Linter.RuleEntry<[]>;
4603
4608
  /**
4604
4609
  * Prefer using writable $derived instead of $state and $effect
4605
4610
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-writable-derived/
@@ -5849,670 +5854,690 @@ interface RuleOptions {
5849
5854
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
5850
5855
  /**
5851
5856
  * Improve regexes by making them shorter, consistent, and safer.
5852
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
5857
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
5853
5858
  */
5854
5859
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
5855
5860
  /**
5856
5861
  * Enforce a specific parameter name in catch clauses.
5857
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
5862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
5858
5863
  */
5859
5864
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
5860
5865
  /**
5861
5866
  * Enforce consistent assertion style with `node:assert`.
5862
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
5867
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
5863
5868
  */
5864
5869
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
5865
5870
  /**
5866
5871
  * Prefer passing `Date` directly to the constructor when cloning.
5867
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
5872
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
5868
5873
  */
5869
5874
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
5870
5875
  /**
5871
5876
  * Use destructured variables over properties.
5872
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
5877
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
5873
5878
  */
5874
5879
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
5875
5880
  /**
5876
5881
  * Prefer consistent types when spreading a ternary in an array literal.
5877
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
5882
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
5878
5883
  */
5879
5884
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
5880
5885
  /**
5881
5886
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
5882
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
5887
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
5883
5888
  */
5884
5889
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
5885
5890
  /**
5886
5891
  * Move function definitions to the highest possible scope.
5887
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
5892
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
5888
5893
  */
5889
5894
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
5890
5895
  /**
5891
5896
  * Enforce correct `Error` subclassing.
5892
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
5897
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
5893
5898
  */
5894
5899
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
5895
5900
  /**
5896
5901
  * Enforce no spaces between braces.
5897
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
5902
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
5898
5903
  */
5899
5904
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
5900
5905
  /**
5901
5906
  * Enforce passing a `message` value when creating a built-in error.
5902
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
5907
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
5903
5908
  */
5904
5909
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
5905
5910
  /**
5906
5911
  * Require escape sequences to use uppercase or lowercase values.
5907
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
5912
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
5908
5913
  */
5909
5914
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
5910
5915
  /**
5911
5916
  * Add expiration conditions to TODO comments.
5912
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
5917
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
5913
5918
  */
5914
5919
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
5915
5920
  /**
5916
5921
  * Enforce explicitly comparing the `length` or `size` property of a value.
5917
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
5922
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
5918
5923
  */
5919
5924
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
5920
5925
  /**
5921
5926
  * Enforce a case style for filenames.
5922
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
5927
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
5923
5928
  */
5924
5929
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
5925
5930
  /**
5926
5931
  * Enforce specific import styles per module.
5927
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
5932
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
5928
5933
  */
5929
5934
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
5930
5935
  /**
5931
5936
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
5932
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
5937
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
5933
5938
  */
5934
5939
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
5935
5940
  /**
5936
5941
  * Enforce specifying rules to disable in `eslint-disable` comments.
5937
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
5942
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
5938
5943
  */
5939
5944
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
5940
5945
  /**
5941
5946
  * Disallow recursive access to `this` within getters and setters.
5942
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
5947
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
5943
5948
  */
5944
5949
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
5945
5950
  /**
5946
5951
  * Disallow anonymous functions and classes as the default export.
5947
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
5952
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
5948
5953
  */
5949
5954
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
5950
5955
  /**
5951
5956
  * Prevent passing a function reference directly to iterator methods.
5952
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
5957
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
5953
5958
  */
5954
5959
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
5955
5960
  /**
5956
5961
  * Prefer `for…of` over the `forEach` method.
5957
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
5962
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
5958
5963
  */
5959
5964
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
5960
5965
  /**
5961
5966
  * Disallow using the `this` argument in array methods.
5962
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
5967
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
5963
5968
  */
5964
5969
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
5965
5970
  /**
5966
5971
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
5967
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
5972
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
5968
5973
  * @deprecated
5969
5974
  */
5970
5975
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
5971
5976
  /**
5972
5977
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
5973
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
5978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
5974
5979
  */
5975
5980
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
5981
+ /**
5982
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
5983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
5984
+ */
5985
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
5976
5986
  /**
5977
5987
  * Disallow member access from await expression.
5978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
5988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
5979
5989
  */
5980
5990
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
5981
5991
  /**
5982
5992
  * Disallow using `await` in `Promise` method parameters.
5983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
5993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
5984
5994
  */
5985
5995
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
5986
5996
  /**
5987
5997
  * Do not use leading/trailing space between `console.log` parameters.
5988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
5998
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
5989
5999
  */
5990
6000
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
5991
6001
  /**
5992
6002
  * Do not use `document.cookie` directly.
5993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
6003
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
5994
6004
  */
5995
6005
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
5996
6006
  /**
5997
6007
  * Disallow empty files.
5998
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
6008
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
5999
6009
  */
6000
6010
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
6001
6011
  /**
6002
6012
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6003
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
6013
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
6004
6014
  */
6005
6015
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
6006
6016
  /**
6007
6017
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6008
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
6018
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
6009
6019
  */
6010
6020
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
6011
6021
  /**
6012
6022
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6013
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
6023
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
6014
6024
  * @deprecated
6015
6025
  */
6016
6026
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
6017
6027
  /**
6018
6028
  * Disallow `instanceof` with built-in objects
6019
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
6029
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
6020
6030
  */
6021
6031
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
6022
6032
  /**
6023
6033
  * Disallow invalid options in `fetch()` and `new Request()`.
6024
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
6034
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
6025
6035
  */
6026
6036
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
6027
6037
  /**
6028
6038
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6029
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
6039
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
6030
6040
  */
6031
6041
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
6032
6042
  /**
6033
6043
  * Disallow identifiers starting with `new` or `class`.
6034
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
6044
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
6035
6045
  */
6036
6046
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
6037
6047
  /**
6038
6048
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6039
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
6049
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
6040
6050
  * @deprecated
6041
6051
  */
6042
6052
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
6043
6053
  /**
6044
6054
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6045
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
6055
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
6046
6056
  */
6047
6057
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
6048
6058
  /**
6049
6059
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6050
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
6060
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
6051
6061
  */
6052
6062
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
6053
6063
  /**
6054
6064
  * Disallow named usage of default import and export.
6055
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
6065
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
6056
6066
  */
6057
6067
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
6058
6068
  /**
6059
6069
  * Disallow negated conditions.
6060
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
6070
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
6061
6071
  */
6062
6072
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
6063
6073
  /**
6064
6074
  * Disallow negated expression in equality check.
6065
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
6075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
6066
6076
  */
6067
6077
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
6068
6078
  /**
6069
6079
  * Disallow nested ternary expressions.
6070
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
6080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
6071
6081
  */
6072
6082
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
6073
6083
  /**
6074
6084
  * Disallow `new Array()`.
6075
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
6085
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
6076
6086
  */
6077
6087
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
6078
6088
  /**
6079
6089
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6080
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
6090
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
6081
6091
  */
6082
6092
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
6083
6093
  /**
6084
6094
  * Disallow the use of the `null` literal.
6085
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
6095
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
6086
6096
  */
6087
6097
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
6088
6098
  /**
6089
6099
  * Disallow the use of objects as default parameters.
6090
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
6100
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
6091
6101
  */
6092
6102
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
6093
6103
  /**
6094
6104
  * Disallow `process.exit()`.
6095
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
6105
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
6096
6106
  */
6097
6107
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
6098
6108
  /**
6099
6109
  * Disallow passing single-element arrays to `Promise` methods.
6100
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
6110
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
6101
6111
  */
6102
6112
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
6103
6113
  /**
6104
6114
  * Disallow classes that only have static members.
6105
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
6115
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
6106
6116
  */
6107
6117
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
6108
6118
  /**
6109
6119
  * Disallow `then` property.
6110
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
6120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
6111
6121
  */
6112
6122
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
6113
6123
  /**
6114
6124
  * Disallow assigning `this` to a variable.
6115
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
6125
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
6116
6126
  */
6117
6127
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
6118
6128
  /**
6119
6129
  * Disallow comparing `undefined` using `typeof`.
6120
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
6130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
6121
6131
  */
6122
6132
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
6123
6133
  /**
6124
6134
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
6125
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
6135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6126
6136
  */
6127
6137
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
6128
6138
  /**
6129
6139
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
6130
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
6140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
6131
6141
  */
6132
6142
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
6133
6143
  /**
6134
6144
  * Disallow awaiting non-promise values.
6135
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
6145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
6136
6146
  */
6137
6147
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
6138
6148
  /**
6139
6149
  * Enforce the use of built-in methods instead of unnecessary polyfills.
6140
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
6150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
6141
6151
  */
6142
6152
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
6143
6153
  /**
6144
6154
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6145
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
6155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
6146
6156
  */
6147
6157
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
6148
6158
  /**
6149
6159
  * Disallow unreadable array destructuring.
6150
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
6160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
6151
6161
  */
6152
6162
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
6153
6163
  /**
6154
6164
  * Disallow unreadable IIFEs.
6155
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
6165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
6156
6166
  */
6157
6167
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
6158
6168
  /**
6159
6169
  * Disallow unused object properties.
6160
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
6170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
6161
6171
  */
6162
6172
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
6173
+ /**
6174
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
6175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6176
+ */
6177
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
6163
6178
  /**
6164
6179
  * Disallow useless fallback when spreading in object literals.
6165
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
6180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
6166
6181
  */
6167
6182
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
6168
6183
  /**
6169
6184
  * Disallow useless array length check.
6170
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
6185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
6171
6186
  */
6172
6187
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
6173
6188
  /**
6174
6189
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
6175
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
6190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
6176
6191
  */
6177
6192
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
6178
6193
  /**
6179
6194
  * Disallow unnecessary spread.
6180
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
6195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
6181
6196
  */
6182
6197
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
6183
6198
  /**
6184
6199
  * Disallow useless case in switch statements.
6185
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
6200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
6186
6201
  */
6187
6202
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
6188
6203
  /**
6189
6204
  * Disallow useless `undefined`.
6190
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
6205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
6191
6206
  */
6192
6207
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
6193
6208
  /**
6194
6209
  * Disallow number literals with zero fractions or dangling dots.
6195
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
6210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
6196
6211
  */
6197
6212
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
6198
6213
  /**
6199
6214
  * Enforce proper case for numeric literals.
6200
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
6215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
6201
6216
  */
6202
6217
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
6203
6218
  /**
6204
6219
  * Enforce the style of numeric separators by correctly grouping digits.
6205
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
6220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
6206
6221
  */
6207
6222
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
6208
6223
  /**
6209
6224
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6210
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
6225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
6211
6226
  */
6212
6227
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
6213
6228
  /**
6214
6229
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6215
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
6230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
6216
6231
  */
6217
6232
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
6218
6233
  /**
6219
6234
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6220
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
6235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
6221
6236
  */
6222
6237
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
6223
6238
  /**
6224
6239
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
6225
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
6240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
6226
6241
  */
6227
6242
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
6228
6243
  /**
6229
6244
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6230
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
6245
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
6231
6246
  */
6232
6247
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
6233
6248
  /**
6234
6249
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6235
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
6250
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
6236
6251
  */
6237
6252
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
6238
6253
  /**
6239
6254
  * Prefer `.at()` method for index access and `String#charAt()`.
6240
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
6255
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
6241
6256
  */
6242
6257
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
6243
6258
  /**
6244
6259
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6245
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
6260
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
6246
6261
  */
6247
6262
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
6263
+ /**
6264
+ * Prefer class field declarations over `this` assignments in constructors.
6265
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
6266
+ */
6267
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
6248
6268
  /**
6249
6269
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
6250
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
6270
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
6251
6271
  */
6252
6272
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
6253
6273
  /**
6254
6274
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
6255
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
6275
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
6256
6276
  */
6257
6277
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
6258
6278
  /**
6259
6279
  * Prefer default parameters over reassignment.
6260
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
6280
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
6261
6281
  */
6262
6282
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
6263
6283
  /**
6264
6284
  * Prefer `Node#append()` over `Node#appendChild()`.
6265
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
6285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
6266
6286
  */
6267
6287
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
6268
6288
  /**
6269
6289
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
6270
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
6290
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
6271
6291
  */
6272
6292
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
6273
6293
  /**
6274
6294
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
6275
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
6295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
6276
6296
  */
6277
6297
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
6278
6298
  /**
6279
6299
  * Prefer `.textContent` over `.innerText`.
6280
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
6300
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
6281
6301
  */
6282
6302
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
6283
6303
  /**
6284
6304
  * Prefer `EventTarget` over `EventEmitter`.
6285
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
6305
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
6286
6306
  */
6287
6307
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
6288
6308
  /**
6289
6309
  * Prefer `export…from` when re-exporting.
6290
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
6310
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
6291
6311
  */
6292
6312
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
6293
6313
  /**
6294
6314
  * Prefer `globalThis` over `window`, `self`, and `global`.
6295
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
6315
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
6296
6316
  */
6297
6317
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
6298
6318
  /**
6299
6319
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
6300
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
6320
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
6301
6321
  */
6302
6322
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
6303
6323
  /**
6304
6324
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
6305
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
6325
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
6306
6326
  */
6307
6327
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
6308
6328
  /**
6309
6329
  * Prefer reading a JSON file as a buffer.
6310
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
6330
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
6311
6331
  */
6312
6332
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
6313
6333
  /**
6314
6334
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
6315
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
6335
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
6316
6336
  */
6317
6337
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
6318
6338
  /**
6319
6339
  * Prefer using a logical operator over a ternary.
6320
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
6340
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6321
6341
  */
6322
6342
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
6323
6343
  /**
6324
6344
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
6325
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
6345
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
6326
6346
  */
6327
6347
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
6328
6348
  /**
6329
6349
  * Enforce the use of `Math.trunc` instead of bitwise operators.
6330
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
6350
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
6331
6351
  */
6332
6352
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
6333
6353
  /**
6334
6354
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
6335
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
6355
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
6336
6356
  */
6337
6357
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
6338
6358
  /**
6339
6359
  * Prefer modern `Math` APIs over legacy patterns.
6340
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
6360
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
6341
6361
  */
6342
6362
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
6343
6363
  /**
6344
6364
  * Prefer JavaScript modules (ESM) over CommonJS.
6345
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
6365
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
6346
6366
  */
6347
6367
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
6348
6368
  /**
6349
6369
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
6350
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
6370
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
6351
6371
  */
6352
6372
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
6353
6373
  /**
6354
6374
  * Prefer negative index over `.length - index` when possible.
6355
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
6375
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
6356
6376
  */
6357
6377
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
6358
6378
  /**
6359
6379
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
6360
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
6380
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
6361
6381
  */
6362
6382
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
6363
6383
  /**
6364
6384
  * Prefer `Number` static properties over global ones.
6365
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
6385
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
6366
6386
  */
6367
6387
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
6368
6388
  /**
6369
6389
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
6370
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
6390
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
6371
6391
  */
6372
6392
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
6373
6393
  /**
6374
6394
  * Prefer omitting the `catch` binding parameter.
6375
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
6395
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
6376
6396
  */
6377
6397
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
6378
6398
  /**
6379
6399
  * Prefer borrowing methods from the prototype instead of the instance.
6380
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
6400
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
6381
6401
  */
6382
6402
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
6383
6403
  /**
6384
6404
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
6385
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
6405
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
6386
6406
  */
6387
6407
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
6388
6408
  /**
6389
6409
  * Prefer `Reflect.apply()` over `Function#apply()`.
6390
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
6410
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
6391
6411
  */
6392
6412
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
6393
6413
  /**
6394
6414
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
6395
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
6415
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
6396
6416
  */
6397
6417
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
6398
6418
  /**
6399
6419
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
6400
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
6420
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
6401
6421
  */
6402
6422
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
6403
6423
  /**
6404
6424
  * Prefer using `Set#size` instead of `Array#length`.
6405
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
6425
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
6406
6426
  */
6407
6427
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
6408
6428
  /**
6409
6429
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
6410
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
6430
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
6411
6431
  */
6412
6432
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
6413
6433
  /**
6414
6434
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
6415
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
6435
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
6416
6436
  */
6417
6437
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
6418
6438
  /**
6419
6439
  * Prefer using the `String.raw` tag to avoid escaping `\`.
6420
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
6440
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
6421
6441
  */
6422
6442
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
6423
6443
  /**
6424
6444
  * Prefer `String#replaceAll()` over regex searches with the global flag.
6425
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
6445
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
6426
6446
  */
6427
6447
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
6428
6448
  /**
6429
6449
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
6430
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
6450
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
6431
6451
  */
6432
6452
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
6433
6453
  /**
6434
6454
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
6435
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
6455
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
6436
6456
  */
6437
6457
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
6438
6458
  /**
6439
6459
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
6440
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
6460
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
6441
6461
  */
6442
6462
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
6443
6463
  /**
6444
6464
  * Prefer using `structuredClone` to create a deep clone.
6445
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
6465
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
6446
6466
  */
6447
6467
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
6448
6468
  /**
6449
6469
  * Prefer `switch` over multiple `else-if`.
6450
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
6470
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
6451
6471
  */
6452
6472
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
6453
6473
  /**
6454
6474
  * Prefer ternary expressions over simple `if-else` statements.
6455
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
6475
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
6456
6476
  */
6457
6477
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
6458
6478
  /**
6459
6479
  * Prefer top-level await over top-level promises and async function calls.
6460
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
6480
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
6461
6481
  */
6462
6482
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
6463
6483
  /**
6464
6484
  * Enforce throwing `TypeError` in type checking conditions.
6465
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
6485
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
6466
6486
  */
6467
6487
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
6468
6488
  /**
6469
6489
  * Prevent abbreviations.
6470
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
6490
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
6471
6491
  */
6472
6492
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
6473
6493
  /**
6474
6494
  * Enforce consistent relative URL style.
6475
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
6495
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
6476
6496
  */
6477
6497
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
6478
6498
  /**
6479
6499
  * Enforce using the separator argument with `Array#join()`.
6480
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
6500
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
6481
6501
  */
6482
6502
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
6503
+ /**
6504
+ * Require non-empty specifier list in import and export statements.
6505
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
6506
+ */
6507
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
6483
6508
  /**
6484
6509
  * Enforce using the digits argument with `Number#toFixed()`.
6485
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
6510
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
6486
6511
  */
6487
6512
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
6488
6513
  /**
6489
6514
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
6490
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
6515
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
6491
6516
  */
6492
6517
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
6493
6518
  /**
6494
6519
  * Enforce better string content.
6495
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
6520
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
6496
6521
  */
6497
6522
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
6498
6523
  /**
6499
6524
  * Enforce consistent brace style for `case` clauses.
6500
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
6525
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
6501
6526
  */
6502
6527
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
6503
6528
  /**
6504
6529
  * Fix whitespace-insensitive template indentation.
6505
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
6530
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
6506
6531
  */
6507
6532
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
6508
6533
  /**
6509
6534
  * Enforce consistent case for text encoding identifiers.
6510
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
6535
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
6511
6536
  */
6512
6537
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>;
6513
6538
  /**
6514
6539
  * Require `new` when creating an error.
6515
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
6540
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
6516
6541
  */
6517
6542
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
6518
6543
  /**
@@ -8479,8 +8504,8 @@ type JsdocMatchName = [] | [{
8479
8504
  context?: string;
8480
8505
  disallowName?: string;
8481
8506
  message?: string;
8507
+ replacement?: string;
8482
8508
  tags?: string[];
8483
- [k: string]: unknown | undefined;
8484
8509
  }[];
8485
8510
  }];
8486
8511
  // ----- jsdoc/multiline-blocks -----
@@ -8554,7 +8579,6 @@ type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("alway
8554
8579
  always?: string[];
8555
8580
  any?: string[];
8556
8581
  never?: string[];
8557
- [k: string]: unknown | undefined;
8558
8582
  };
8559
8583
  }];
8560
8584
  // ----- jsdoc/require-description -----
@@ -8764,7 +8788,6 @@ type JsdocSortTags = [] | [{
8764
8788
  reportTagGroupSpacing?: boolean;
8765
8789
  tagSequence?: {
8766
8790
  tags?: string[];
8767
- [k: string]: unknown | undefined;
8768
8791
  }[];
8769
8792
  }];
8770
8793
  // ----- jsdoc/tag-lines -----
@@ -9478,6 +9501,10 @@ type MarkdownNoUnusedDefinitions = [] | [{
9478
9501
  allowDefinitions?: string[];
9479
9502
  allowFootnoteDefinitions?: string[];
9480
9503
  }];
9504
+ // ----- markdown/table-column-count -----
9505
+ type MarkdownTableColumnCount = [] | [{
9506
+ checkMissingCells?: boolean;
9507
+ }];
9481
9508
  // ----- max-classes-per-file -----
9482
9509
  type MaxClassesPerFile = [] | [(number | {
9483
9510
  ignoreExpressions?: boolean;
@@ -12650,10 +12677,12 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
12650
12677
  FunctionDeclaration?: {
12651
12678
  parameters?: (number | ("first" | "off"));
12652
12679
  body?: number;
12680
+ returnType?: number;
12653
12681
  };
12654
12682
  FunctionExpression?: {
12655
12683
  parameters?: (number | ("first" | "off"));
12656
12684
  body?: number;
12685
+ returnType?: number;
12657
12686
  };
12658
12687
  StaticBlock?: {
12659
12688
  body?: number;
@@ -12694,31 +12723,52 @@ type StyleJsxCurlyNewline = [] | [(("consistent" | "never") | {
12694
12723
  multiline?: ("consistent" | "require" | "forbid");
12695
12724
  })];
12696
12725
  // ----- style/jsx-curly-spacing -----
12697
- type StyleJsxCurlySpacing = [] | [((_StyleJsxCurlySpacing_BasicConfig & {
12698
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12699
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12700
- [k: string]: unknown | undefined;
12701
- }) | ("always" | "never"))] | [((_StyleJsxCurlySpacing_BasicConfig & {
12702
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12703
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
12704
- [k: string]: unknown | undefined;
12705
- }) | ("always" | "never")), {
12726
+ type StyleJsxCurlySpacing = [] | [({
12727
+ when?: ("always" | "never");
12706
12728
  allowMultiline?: boolean;
12707
12729
  spacing?: {
12708
12730
  objectLiterals?: ("always" | "never");
12709
- [k: string]: unknown | undefined;
12710
12731
  };
12711
- }];
12712
- type _StyleJsxCurlySpacingBasicConfigOrBoolean = (_StyleJsxCurlySpacing_BasicConfig | boolean);
12713
- interface _StyleJsxCurlySpacing_BasicConfig {
12732
+ attributes?: ({
12733
+ when?: ("always" | "never");
12734
+ allowMultiline?: boolean;
12735
+ spacing?: {
12736
+ objectLiterals?: ("always" | "never");
12737
+ };
12738
+ } | boolean);
12739
+ children?: ({
12740
+ when?: ("always" | "never");
12741
+ allowMultiline?: boolean;
12742
+ spacing?: {
12743
+ objectLiterals?: ("always" | "never");
12744
+ };
12745
+ } | boolean);
12746
+ } | ("always" | "never"))] | [({
12714
12747
  when?: ("always" | "never");
12715
12748
  allowMultiline?: boolean;
12716
12749
  spacing?: {
12717
12750
  objectLiterals?: ("always" | "never");
12718
- [k: string]: unknown | undefined;
12719
12751
  };
12720
- [k: string]: unknown | undefined;
12721
- }
12752
+ attributes?: ({
12753
+ when?: ("always" | "never");
12754
+ allowMultiline?: boolean;
12755
+ spacing?: {
12756
+ objectLiterals?: ("always" | "never");
12757
+ };
12758
+ } | boolean);
12759
+ children?: ({
12760
+ when?: ("always" | "never");
12761
+ allowMultiline?: boolean;
12762
+ spacing?: {
12763
+ objectLiterals?: ("always" | "never");
12764
+ };
12765
+ } | boolean);
12766
+ } | ("always" | "never")), {
12767
+ allowMultiline?: boolean;
12768
+ spacing?: {
12769
+ objectLiterals?: ("always" | "never");
12770
+ };
12771
+ }];
12722
12772
  // ----- style/jsx-equals-spacing -----
12723
12773
  type StyleJsxEqualsSpacing = [] | [("always" | "never")];
12724
12774
  // ----- style/jsx-first-prop-new-line -----
@@ -12734,14 +12784,12 @@ type StyleJsxIndent = [] | [("tab" | number)] | [("tab" | number), {
12734
12784
  type StyleJsxIndentProps = [] | [(("tab" | "first") | number | {
12735
12785
  indentMode?: (("tab" | "first") | number);
12736
12786
  ignoreTernaryOperator?: boolean;
12737
- [k: string]: unknown | undefined;
12738
12787
  })];
12739
12788
  // ----- style/jsx-max-props-per-line -----
12740
12789
  type StyleJsxMaxPropsPerLine = [] | [({
12741
12790
  maximum?: {
12742
12791
  single?: number;
12743
12792
  multi?: number;
12744
- [k: string]: unknown | undefined;
12745
12793
  };
12746
12794
  } | {
12747
12795
  maximum?: number;
@@ -13088,6 +13136,10 @@ type StyleKeywordSpacing = [] | [{
13088
13136
  before?: boolean;
13089
13137
  after?: boolean;
13090
13138
  };
13139
+ accessor?: {
13140
+ before?: boolean;
13141
+ after?: boolean;
13142
+ };
13091
13143
  as?: {
13092
13144
  before?: boolean;
13093
13145
  after?: boolean;
@@ -13300,11 +13352,11 @@ interface _StyleMemberDelimiterStyle_DelimiterConfig {
13300
13352
  // ----- style/multiline-comment-style -----
13301
13353
  type StyleMultilineCommentStyle = ([] | [("starred-block" | "bare-block")] | [] | ["separate-lines"] | ["separate-lines", {
13302
13354
  checkJSDoc?: boolean;
13355
+ checkExclamation?: boolean;
13303
13356
  }]);
13304
13357
  // ----- style/multiline-ternary -----
13305
13358
  type StyleMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [("always" | "always-multiline" | "never"), {
13306
13359
  ignoreJSX?: boolean;
13307
- [k: string]: unknown | undefined;
13308
13360
  }];
13309
13361
  // ----- style/new-parens -----
13310
13362
  type StyleNewParens = [] | [("always" | "never")];
@@ -13449,11 +13501,12 @@ type StylePaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
13449
13501
  }];
13450
13502
  // ----- style/padding-line-between-statements -----
13451
13503
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
13452
- 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"))[]]);
13504
+ type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementType | [_StylePaddingLineBetweenStatementsStatementType, ...(_StylePaddingLineBetweenStatementsStatementType)[]]);
13505
+ 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");
13453
13506
  type StylePaddingLineBetweenStatements = {
13454
13507
  blankLine: _StylePaddingLineBetweenStatementsPaddingType;
13455
- prev: _StylePaddingLineBetweenStatementsStatementType;
13456
- next: _StylePaddingLineBetweenStatementsStatementType;
13508
+ prev: _StylePaddingLineBetweenStatementsStatementOption;
13509
+ next: _StylePaddingLineBetweenStatementsStatementOption;
13457
13510
  }[];
13458
13511
  // ----- style/quote-props -----
13459
13512
  type StyleQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
@@ -14775,7 +14828,6 @@ type TsPreferDestructuring = [] | [({
14775
14828
  }), {
14776
14829
  enforceForDeclarationWithTypeAnnotation?: boolean;
14777
14830
  enforceForRenamedProperties?: boolean;
14778
- [k: string]: unknown | undefined;
14779
14831
  }];
14780
14832
  // ----- ts/prefer-literal-enum-member -----
14781
14833
  type TsPreferLiteralEnumMember = [] | [{
@@ -14793,7 +14845,6 @@ type TsPreferNullishCoalescing = [] | [{
14793
14845
  boolean?: boolean;
14794
14846
  number?: boolean;
14795
14847
  string?: boolean;
14796
- [k: string]: unknown | undefined;
14797
14848
  } | true);
14798
14849
  ignoreTernaryTests?: boolean;
14799
14850
  }];
@@ -15002,6 +15053,10 @@ interface _UnicornImportStyle_BooleanObject {
15002
15053
  type UnicornNoArrayReduce = [] | [{
15003
15054
  allowSimpleOperations?: boolean;
15004
15055
  }];
15056
+ // ----- unicorn/no-array-reverse -----
15057
+ type UnicornNoArrayReverse = [] | [{
15058
+ allowExpressionStatement?: boolean;
15059
+ }];
15005
15060
  // ----- unicorn/no-instanceof-builtins -----
15006
15061
  type UnicornNoInstanceofBuiltins = [] | [{
15007
15062
  useErrorIsError?: boolean;
@@ -17342,4 +17397,4 @@ declare function ensurePackages(packages: (string | undefined)[]): Promise<void>
17342
17397
  declare function isInEditorEnv(): boolean;
17343
17398
  declare function isInGitHooksOrLintStaged(): boolean;
17344
17399
  //#endregion
17345
- 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, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, antfu, astro, combine, command, comments, antfu as default, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
17400
+ 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, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, antfu, astro, combine, command, comments, antfu as default, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@antfu/eslint-config",
3
3
  "type": "module",
4
- "version": "4.17.0",
4
+ "version": "4.18.0",
5
5
  "description": "Anthony's ESLint config",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)",
7
7
  "license": "MIT",
@@ -92,10 +92,10 @@
92
92
  "@antfu/install-pkg": "^1.1.0",
93
93
  "@clack/prompts": "^0.11.0",
94
94
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
95
- "@eslint/markdown": "^7.0.0",
96
- "@stylistic/eslint-plugin": "^5.1.0",
97
- "@typescript-eslint/eslint-plugin": "^8.37.0",
98
- "@typescript-eslint/parser": "^8.37.0",
95
+ "@eslint/markdown": "^7.1.0",
96
+ "@stylistic/eslint-plugin": "^5.2.2",
97
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
98
+ "@typescript-eslint/parser": "^8.38.0",
99
99
  "@vitest/eslint-plugin": "^1.3.4",
100
100
  "ansis": "^4.1.0",
101
101
  "cac": "^6.7.14",
@@ -105,15 +105,15 @@
105
105
  "eslint-plugin-antfu": "^3.1.1",
106
106
  "eslint-plugin-command": "^3.3.1",
107
107
  "eslint-plugin-import-lite": "^0.3.0",
108
- "eslint-plugin-jsdoc": "^51.3.4",
108
+ "eslint-plugin-jsdoc": "^51.4.1",
109
109
  "eslint-plugin-jsonc": "^2.20.1",
110
110
  "eslint-plugin-n": "^17.21.0",
111
111
  "eslint-plugin-no-only-tests": "^3.3.0",
112
112
  "eslint-plugin-perfectionist": "^4.15.0",
113
- "eslint-plugin-pnpm": "^1.0.0",
113
+ "eslint-plugin-pnpm": "^1.1.0",
114
114
  "eslint-plugin-regexp": "^2.9.0",
115
115
  "eslint-plugin-toml": "^0.12.0",
116
- "eslint-plugin-unicorn": "^59.0.1",
116
+ "eslint-plugin-unicorn": "^60.0.0",
117
117
  "eslint-plugin-unused-imports": "^4.1.4",
118
118
  "eslint-plugin-vue": "^10.3.0",
119
119
  "eslint-plugin-yml": "^1.18.0",
@@ -131,7 +131,7 @@
131
131
  "@eslint-react/eslint-plugin": "^1.52.3",
132
132
  "@eslint/config-inspector": "^1.1.0",
133
133
  "@prettier/plugin-xml": "^3.4.2",
134
- "@types/node": "^24.0.13",
134
+ "@types/node": "^24.1.0",
135
135
  "@unocss/eslint-plugin": "^66.3.3",
136
136
  "astro-eslint-parser": "^1.2.2",
137
137
  "bumpp": "^10.2.0",
@@ -141,25 +141,28 @@
141
141
  "eslint-plugin-react-hooks": "^5.2.0",
142
142
  "eslint-plugin-react-refresh": "^0.4.20",
143
143
  "eslint-plugin-solid": "^0.14.5",
144
- "eslint-plugin-svelte": "^3.10.1",
144
+ "eslint-plugin-svelte": "^3.11.0",
145
145
  "eslint-plugin-vuejs-accessibility": "^2.4.1",
146
146
  "eslint-typegen": "^2.2.1",
147
147
  "execa": "^9.6.0",
148
148
  "jiti": "^2.4.2",
149
149
  "lint-staged": "^16.1.2",
150
- "pnpm-workspace-yaml": "^1.0.0",
150
+ "pnpm-workspace-yaml": "^1.1.0",
151
151
  "prettier-plugin-astro": "^0.14.1",
152
152
  "prettier-plugin-slidev": "^1.0.5",
153
153
  "simple-git-hooks": "^2.13.0",
154
- "svelte": "^5.36.0",
155
- "svelte-eslint-parser": "^1.2.0",
154
+ "svelte": "^5.36.13",
155
+ "svelte-eslint-parser": "^1.3.0",
156
156
  "tinyglobby": "^0.2.14",
157
- "tsdown": "^0.12.9",
157
+ "tsdown": "^0.13.0",
158
158
  "tsx": "^4.20.3",
159
159
  "typescript": "^5.8.3",
160
160
  "vitest": "^3.2.4",
161
161
  "vue": "^3.5.17",
162
- "@antfu/eslint-config": "4.17.0"
162
+ "@antfu/eslint-config": "4.18.0"
163
+ },
164
+ "resolutions": {
165
+ "eslint": "catalog:peer"
163
166
  },
164
167
  "simple-git-hooks": {
165
168
  "pre-commit": "npx lint-staged"