@coderwyd/eslint-config 4.4.1 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -10,28 +10,28 @@ import prompts from "prompts";
10
10
  import { execSync } from "node:child_process";
11
11
 
12
12
  //#region package.json
13
- var version = "4.4.1";
13
+ var version = "4.5.0";
14
14
  var devDependencies = {
15
15
  "@antfu/ni": "^25.0.0",
16
- "@eslint-react/eslint-plugin": "^1.52.2",
16
+ "@eslint-react/eslint-plugin": "^1.52.3",
17
17
  "@eslint/config-inspector": "^1.1.0",
18
18
  "@types/eslint-config-prettier": "^6.11.3",
19
- "@types/node": "^24.0.3",
19
+ "@types/node": "^24.1.0",
20
20
  "@types/prompts": "^2.4.9",
21
21
  "@types/yargs": "^17.0.33",
22
- "@unocss/eslint-plugin": "^66.2.3",
22
+ "@unocss/eslint-plugin": "^66.3.3",
23
23
  "bumpp": "^10.2.0",
24
- "eslint": "^9.29.0",
24
+ "eslint": "^9.31.0",
25
25
  "eslint-plugin-react-hooks": "6.0.0-rc1",
26
26
  "eslint-plugin-react-refresh": "^0.4.20",
27
- "eslint-plugin-svelte": "^3.9.3",
28
- "eslint-plugin-tailwindcss": "^3.18.0",
29
- "jiti": "^2.4.2",
27
+ "eslint-plugin-svelte": "^3.11.0",
28
+ "eslint-plugin-tailwindcss": "^3.18.2",
29
+ "jiti": "^2.5.0",
30
30
  "nano-staged": "^0.8.0",
31
31
  "simple-git-hooks": "^2.13.0",
32
- "svelte": "^5.34.7",
33
- "svelte-eslint-parser": "^1.2.0",
34
- "tsdown": "^0.12.8",
32
+ "svelte": "^5.36.14",
33
+ "svelte-eslint-parser": "^1.3.0",
34
+ "tsdown": "^0.13.0",
35
35
  "typescript": "^5.8.3"
36
36
  };
37
37
 
package/dist/index.d.ts CHANGED
@@ -1158,7 +1158,7 @@ interface RuleOptions {
1158
1158
  */
1159
1159
  'no-console'?: Linter.RuleEntry<NoConsole>;
1160
1160
  /**
1161
- * Disallow reassigning `const` variables
1161
+ * Disallow reassigning `const`, `using`, and `await using` variables
1162
1162
  * @see https://eslint.org/docs/latest/rules/no-const-assign
1163
1163
  */
1164
1164
  'no-const-assign'?: Linter.RuleEntry<[]>;
@@ -3676,6 +3676,11 @@ interface RuleOptions {
3676
3676
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-style-directive/
3677
3677
  */
3678
3678
  'svelte/prefer-style-directive'?: Linter.RuleEntry<[]>;
3679
+ /**
3680
+ * disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity
3681
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-svelte-reactivity/
3682
+ */
3683
+ 'svelte/prefer-svelte-reactivity'?: Linter.RuleEntry<[]>;
3679
3684
  /**
3680
3685
  * Prefer using writable $derived instead of $state and $effect
3681
3686
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-writable-derived/
@@ -4005,6 +4010,16 @@ interface RuleOptions {
4005
4010
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
4006
4011
  */
4007
4012
  'test/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
4013
+ /**
4014
+ * enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
4015
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
4016
+ */
4017
+ 'test/prefer-called-once'?: Linter.RuleEntry<[]>;
4018
+ /**
4019
+ * enforce using `toBeCalledTimes(1)` or `toHaveBeenCalledTimes(1)`
4020
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-times.md
4021
+ */
4022
+ 'test/prefer-called-times'?: Linter.RuleEntry<[]>;
4008
4023
  /**
4009
4024
  * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
4010
4025
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
@@ -4170,6 +4185,11 @@ interface RuleOptions {
4170
4185
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
4171
4186
  */
4172
4187
  'test/valid-title'?: Linter.RuleEntry<TestValidTitle>;
4188
+ /**
4189
+ * disallow `.todo` usage
4190
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/warn-todo.md
4191
+ */
4192
+ 'test/warn-todo'?: Linter.RuleEntry<[]>;
4173
4193
  /**
4174
4194
  * Require that function overload signatures be consecutive
4175
4195
  * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
@@ -4839,670 +4859,690 @@ interface RuleOptions {
4839
4859
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
4840
4860
  /**
4841
4861
  * Improve regexes by making them shorter, consistent, and safer.
4842
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
4862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
4843
4863
  */
4844
4864
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
4845
4865
  /**
4846
4866
  * Enforce a specific parameter name in catch clauses.
4847
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
4867
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
4848
4868
  */
4849
4869
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
4850
4870
  /**
4851
4871
  * Enforce consistent assertion style with `node:assert`.
4852
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
4872
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
4853
4873
  */
4854
4874
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
4855
4875
  /**
4856
4876
  * Prefer passing `Date` directly to the constructor when cloning.
4857
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
4877
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
4858
4878
  */
4859
4879
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
4860
4880
  /**
4861
4881
  * Use destructured variables over properties.
4862
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
4882
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
4863
4883
  */
4864
4884
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
4865
4885
  /**
4866
4886
  * Prefer consistent types when spreading a ternary in an array literal.
4867
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
4887
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
4868
4888
  */
4869
4889
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
4870
4890
  /**
4871
4891
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
4872
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
4892
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
4873
4893
  */
4874
4894
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
4875
4895
  /**
4876
4896
  * Move function definitions to the highest possible scope.
4877
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
4897
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
4878
4898
  */
4879
4899
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
4880
4900
  /**
4881
4901
  * Enforce correct `Error` subclassing.
4882
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
4902
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
4883
4903
  */
4884
4904
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
4885
4905
  /**
4886
4906
  * Enforce no spaces between braces.
4887
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
4907
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
4888
4908
  */
4889
4909
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
4890
4910
  /**
4891
4911
  * Enforce passing a `message` value when creating a built-in error.
4892
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
4912
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
4893
4913
  */
4894
4914
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
4895
4915
  /**
4896
4916
  * Require escape sequences to use uppercase or lowercase values.
4897
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
4917
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
4898
4918
  */
4899
4919
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
4900
4920
  /**
4901
4921
  * Add expiration conditions to TODO comments.
4902
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
4922
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
4903
4923
  */
4904
4924
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
4905
4925
  /**
4906
4926
  * Enforce explicitly comparing the `length` or `size` property of a value.
4907
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
4927
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
4908
4928
  */
4909
4929
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
4910
4930
  /**
4911
4931
  * Enforce a case style for filenames.
4912
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
4932
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
4913
4933
  */
4914
4934
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
4915
4935
  /**
4916
4936
  * Enforce specific import styles per module.
4917
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
4937
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
4918
4938
  */
4919
4939
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
4920
4940
  /**
4921
4941
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
4922
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
4942
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
4923
4943
  */
4924
4944
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
4925
4945
  /**
4926
4946
  * Enforce specifying rules to disable in `eslint-disable` comments.
4927
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
4947
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
4928
4948
  */
4929
4949
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
4930
4950
  /**
4931
4951
  * Disallow recursive access to `this` within getters and setters.
4932
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
4952
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
4933
4953
  */
4934
4954
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
4935
4955
  /**
4936
4956
  * Disallow anonymous functions and classes as the default export.
4937
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
4957
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
4938
4958
  */
4939
4959
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
4940
4960
  /**
4941
4961
  * Prevent passing a function reference directly to iterator methods.
4942
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
4962
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
4943
4963
  */
4944
4964
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
4945
4965
  /**
4946
4966
  * Prefer `for…of` over the `forEach` method.
4947
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
4967
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
4948
4968
  */
4949
4969
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
4950
4970
  /**
4951
4971
  * Disallow using the `this` argument in array methods.
4952
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
4972
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
4953
4973
  */
4954
4974
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
4955
4975
  /**
4956
4976
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
4957
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
4977
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
4958
4978
  * @deprecated
4959
4979
  */
4960
4980
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
4961
4981
  /**
4962
4982
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
4963
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
4983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
4964
4984
  */
4965
4985
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
4986
+ /**
4987
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
4988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
4989
+ */
4990
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
4966
4991
  /**
4967
4992
  * Disallow member access from await expression.
4968
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
4993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
4969
4994
  */
4970
4995
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
4971
4996
  /**
4972
4997
  * Disallow using `await` in `Promise` method parameters.
4973
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
4998
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
4974
4999
  */
4975
5000
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
4976
5001
  /**
4977
5002
  * Do not use leading/trailing space between `console.log` parameters.
4978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
5003
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
4979
5004
  */
4980
5005
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
4981
5006
  /**
4982
5007
  * Do not use `document.cookie` directly.
4983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
5008
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
4984
5009
  */
4985
5010
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
4986
5011
  /**
4987
5012
  * Disallow empty files.
4988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
5013
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
4989
5014
  */
4990
5015
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
4991
5016
  /**
4992
5017
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
4993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
5018
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
4994
5019
  */
4995
5020
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
4996
5021
  /**
4997
5022
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
4998
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
5023
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
4999
5024
  */
5000
5025
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
5001
5026
  /**
5002
5027
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
5003
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
5028
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
5004
5029
  * @deprecated
5005
5030
  */
5006
5031
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
5007
5032
  /**
5008
5033
  * Disallow `instanceof` with built-in objects
5009
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
5034
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
5010
5035
  */
5011
5036
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
5012
5037
  /**
5013
5038
  * Disallow invalid options in `fetch()` and `new Request()`.
5014
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
5039
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
5015
5040
  */
5016
5041
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
5017
5042
  /**
5018
5043
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
5019
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
5044
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
5020
5045
  */
5021
5046
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
5022
5047
  /**
5023
5048
  * Disallow identifiers starting with `new` or `class`.
5024
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
5049
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
5025
5050
  */
5026
5051
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
5027
5052
  /**
5028
5053
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
5029
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
5054
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
5030
5055
  * @deprecated
5031
5056
  */
5032
5057
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
5033
5058
  /**
5034
5059
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
5035
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
5060
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
5036
5061
  */
5037
5062
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
5038
5063
  /**
5039
5064
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
5040
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
5065
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
5041
5066
  */
5042
5067
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
5043
5068
  /**
5044
5069
  * Disallow named usage of default import and export.
5045
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
5070
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
5046
5071
  */
5047
5072
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
5048
5073
  /**
5049
5074
  * Disallow negated conditions.
5050
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
5075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
5051
5076
  */
5052
5077
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
5053
5078
  /**
5054
5079
  * Disallow negated expression in equality check.
5055
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
5080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
5056
5081
  */
5057
5082
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
5058
5083
  /**
5059
5084
  * Disallow nested ternary expressions.
5060
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
5085
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
5061
5086
  */
5062
5087
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
5063
5088
  /**
5064
5089
  * Disallow `new Array()`.
5065
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
5090
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
5066
5091
  */
5067
5092
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
5068
5093
  /**
5069
5094
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
5070
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
5095
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
5071
5096
  */
5072
5097
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
5073
5098
  /**
5074
5099
  * Disallow the use of the `null` literal.
5075
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
5100
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
5076
5101
  */
5077
5102
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
5078
5103
  /**
5079
5104
  * Disallow the use of objects as default parameters.
5080
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
5105
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
5081
5106
  */
5082
5107
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
5083
5108
  /**
5084
5109
  * Disallow `process.exit()`.
5085
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
5110
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
5086
5111
  */
5087
5112
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
5088
5113
  /**
5089
5114
  * Disallow passing single-element arrays to `Promise` methods.
5090
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
5115
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
5091
5116
  */
5092
5117
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
5093
5118
  /**
5094
5119
  * Disallow classes that only have static members.
5095
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
5120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
5096
5121
  */
5097
5122
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
5098
5123
  /**
5099
5124
  * Disallow `then` property.
5100
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
5125
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
5101
5126
  */
5102
5127
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
5103
5128
  /**
5104
5129
  * Disallow assigning `this` to a variable.
5105
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
5130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
5106
5131
  */
5107
5132
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
5108
5133
  /**
5109
5134
  * Disallow comparing `undefined` using `typeof`.
5110
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
5135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
5111
5136
  */
5112
5137
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
5113
5138
  /**
5114
5139
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
5115
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
5140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
5116
5141
  */
5117
5142
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
5118
5143
  /**
5119
5144
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
5120
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
5145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
5121
5146
  */
5122
5147
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
5123
5148
  /**
5124
5149
  * Disallow awaiting non-promise values.
5125
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
5150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
5126
5151
  */
5127
5152
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
5128
5153
  /**
5129
5154
  * Enforce the use of built-in methods instead of unnecessary polyfills.
5130
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
5155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
5131
5156
  */
5132
5157
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
5133
5158
  /**
5134
5159
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
5135
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
5160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
5136
5161
  */
5137
5162
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
5138
5163
  /**
5139
5164
  * Disallow unreadable array destructuring.
5140
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
5165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
5141
5166
  */
5142
5167
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
5143
5168
  /**
5144
5169
  * Disallow unreadable IIFEs.
5145
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
5170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
5146
5171
  */
5147
5172
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
5148
5173
  /**
5149
5174
  * Disallow unused object properties.
5150
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
5175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
5151
5176
  */
5152
5177
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
5178
+ /**
5179
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
5180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
5181
+ */
5182
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
5153
5183
  /**
5154
5184
  * Disallow useless fallback when spreading in object literals.
5155
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
5185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
5156
5186
  */
5157
5187
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
5158
5188
  /**
5159
5189
  * Disallow useless array length check.
5160
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
5190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
5161
5191
  */
5162
5192
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
5163
5193
  /**
5164
5194
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
5165
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
5195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
5166
5196
  */
5167
5197
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
5168
5198
  /**
5169
5199
  * Disallow unnecessary spread.
5170
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
5200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
5171
5201
  */
5172
5202
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
5173
5203
  /**
5174
5204
  * Disallow useless case in switch statements.
5175
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
5205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
5176
5206
  */
5177
5207
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
5178
5208
  /**
5179
5209
  * Disallow useless `undefined`.
5180
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
5210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
5181
5211
  */
5182
5212
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
5183
5213
  /**
5184
5214
  * Disallow number literals with zero fractions or dangling dots.
5185
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
5215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
5186
5216
  */
5187
5217
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
5188
5218
  /**
5189
5219
  * Enforce proper case for numeric literals.
5190
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
5220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
5191
5221
  */
5192
5222
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
5193
5223
  /**
5194
5224
  * Enforce the style of numeric separators by correctly grouping digits.
5195
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
5225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
5196
5226
  */
5197
5227
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
5198
5228
  /**
5199
5229
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
5200
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
5230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
5201
5231
  */
5202
5232
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
5203
5233
  /**
5204
5234
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
5205
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
5235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
5206
5236
  */
5207
5237
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
5208
5238
  /**
5209
5239
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
5210
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
5240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
5211
5241
  */
5212
5242
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
5213
5243
  /**
5214
5244
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
5215
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
5245
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
5216
5246
  */
5217
5247
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
5218
5248
  /**
5219
5249
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
5220
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
5250
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
5221
5251
  */
5222
5252
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
5223
5253
  /**
5224
5254
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
5225
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
5255
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
5226
5256
  */
5227
5257
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
5228
5258
  /**
5229
5259
  * Prefer `.at()` method for index access and `String#charAt()`.
5230
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
5260
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
5231
5261
  */
5232
5262
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
5233
5263
  /**
5234
5264
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
5235
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
5265
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
5236
5266
  */
5237
5267
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
5268
+ /**
5269
+ * Prefer class field declarations over `this` assignments in constructors.
5270
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
5271
+ */
5272
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
5238
5273
  /**
5239
5274
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
5240
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
5275
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
5241
5276
  */
5242
5277
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
5243
5278
  /**
5244
5279
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
5245
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
5280
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
5246
5281
  */
5247
5282
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
5248
5283
  /**
5249
5284
  * Prefer default parameters over reassignment.
5250
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
5285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
5251
5286
  */
5252
5287
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
5253
5288
  /**
5254
5289
  * Prefer `Node#append()` over `Node#appendChild()`.
5255
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
5290
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
5256
5291
  */
5257
5292
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
5258
5293
  /**
5259
5294
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
5260
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
5295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
5261
5296
  */
5262
5297
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
5263
5298
  /**
5264
5299
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
5265
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
5300
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
5266
5301
  */
5267
5302
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
5268
5303
  /**
5269
5304
  * Prefer `.textContent` over `.innerText`.
5270
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
5305
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
5271
5306
  */
5272
5307
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
5273
5308
  /**
5274
5309
  * Prefer `EventTarget` over `EventEmitter`.
5275
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
5310
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
5276
5311
  */
5277
5312
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
5278
5313
  /**
5279
5314
  * Prefer `export…from` when re-exporting.
5280
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
5315
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
5281
5316
  */
5282
5317
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
5283
5318
  /**
5284
5319
  * Prefer `globalThis` over `window`, `self`, and `global`.
5285
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
5320
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
5286
5321
  */
5287
5322
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
5288
5323
  /**
5289
5324
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
5290
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
5325
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
5291
5326
  */
5292
5327
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
5293
5328
  /**
5294
5329
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
5295
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
5330
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
5296
5331
  */
5297
5332
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
5298
5333
  /**
5299
5334
  * Prefer reading a JSON file as a buffer.
5300
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
5335
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
5301
5336
  */
5302
5337
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
5303
5338
  /**
5304
5339
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
5305
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
5340
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
5306
5341
  */
5307
5342
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
5308
5343
  /**
5309
5344
  * Prefer using a logical operator over a ternary.
5310
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
5345
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
5311
5346
  */
5312
5347
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
5313
5348
  /**
5314
5349
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
5315
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
5350
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
5316
5351
  */
5317
5352
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
5318
5353
  /**
5319
5354
  * Enforce the use of `Math.trunc` instead of bitwise operators.
5320
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
5355
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
5321
5356
  */
5322
5357
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
5323
5358
  /**
5324
5359
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
5325
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
5360
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
5326
5361
  */
5327
5362
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
5328
5363
  /**
5329
5364
  * Prefer modern `Math` APIs over legacy patterns.
5330
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
5365
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
5331
5366
  */
5332
5367
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
5333
5368
  /**
5334
5369
  * Prefer JavaScript modules (ESM) over CommonJS.
5335
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
5370
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
5336
5371
  */
5337
5372
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
5338
5373
  /**
5339
5374
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
5340
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
5375
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
5341
5376
  */
5342
5377
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
5343
5378
  /**
5344
5379
  * Prefer negative index over `.length - index` when possible.
5345
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
5380
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
5346
5381
  */
5347
5382
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
5348
5383
  /**
5349
5384
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
5350
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
5385
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
5351
5386
  */
5352
5387
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
5353
5388
  /**
5354
5389
  * Prefer `Number` static properties over global ones.
5355
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
5390
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
5356
5391
  */
5357
5392
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
5358
5393
  /**
5359
5394
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
5360
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
5395
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
5361
5396
  */
5362
5397
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
5363
5398
  /**
5364
5399
  * Prefer omitting the `catch` binding parameter.
5365
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
5400
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
5366
5401
  */
5367
5402
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
5368
5403
  /**
5369
5404
  * Prefer borrowing methods from the prototype instead of the instance.
5370
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
5405
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
5371
5406
  */
5372
5407
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
5373
5408
  /**
5374
5409
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
5375
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
5410
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
5376
5411
  */
5377
5412
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
5378
5413
  /**
5379
5414
  * Prefer `Reflect.apply()` over `Function#apply()`.
5380
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
5415
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
5381
5416
  */
5382
5417
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
5383
5418
  /**
5384
5419
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
5385
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
5420
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
5386
5421
  */
5387
5422
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
5388
5423
  /**
5389
5424
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
5390
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
5425
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
5391
5426
  */
5392
5427
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
5393
5428
  /**
5394
5429
  * Prefer using `Set#size` instead of `Array#length`.
5395
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
5430
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
5396
5431
  */
5397
5432
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
5398
5433
  /**
5399
5434
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
5400
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
5435
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
5401
5436
  */
5402
5437
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
5403
5438
  /**
5404
5439
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
5405
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
5440
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
5406
5441
  */
5407
5442
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
5408
5443
  /**
5409
5444
  * Prefer using the `String.raw` tag to avoid escaping `\`.
5410
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
5445
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
5411
5446
  */
5412
5447
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
5413
5448
  /**
5414
5449
  * Prefer `String#replaceAll()` over regex searches with the global flag.
5415
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
5450
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
5416
5451
  */
5417
5452
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
5418
5453
  /**
5419
5454
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
5420
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
5455
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
5421
5456
  */
5422
5457
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
5423
5458
  /**
5424
5459
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
5425
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
5460
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
5426
5461
  */
5427
5462
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
5428
5463
  /**
5429
5464
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
5430
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
5465
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
5431
5466
  */
5432
5467
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
5433
5468
  /**
5434
5469
  * Prefer using `structuredClone` to create a deep clone.
5435
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
5470
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
5436
5471
  */
5437
5472
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
5438
5473
  /**
5439
5474
  * Prefer `switch` over multiple `else-if`.
5440
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
5475
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
5441
5476
  */
5442
5477
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
5443
5478
  /**
5444
5479
  * Prefer ternary expressions over simple `if-else` statements.
5445
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
5480
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
5446
5481
  */
5447
5482
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
5448
5483
  /**
5449
5484
  * Prefer top-level await over top-level promises and async function calls.
5450
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
5485
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
5451
5486
  */
5452
5487
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
5453
5488
  /**
5454
5489
  * Enforce throwing `TypeError` in type checking conditions.
5455
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
5490
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
5456
5491
  */
5457
5492
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
5458
5493
  /**
5459
5494
  * Prevent abbreviations.
5460
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
5495
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
5461
5496
  */
5462
5497
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
5463
5498
  /**
5464
5499
  * Enforce consistent relative URL style.
5465
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
5500
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
5466
5501
  */
5467
5502
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
5468
5503
  /**
5469
5504
  * Enforce using the separator argument with `Array#join()`.
5470
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
5505
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
5471
5506
  */
5472
5507
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
5508
+ /**
5509
+ * Require non-empty specifier list in import and export statements.
5510
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
5511
+ */
5512
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
5473
5513
  /**
5474
5514
  * Enforce using the digits argument with `Number#toFixed()`.
5475
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
5515
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
5476
5516
  */
5477
5517
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
5478
5518
  /**
5479
5519
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
5480
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
5520
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
5481
5521
  */
5482
5522
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
5483
5523
  /**
5484
5524
  * Enforce better string content.
5485
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
5525
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
5486
5526
  */
5487
5527
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
5488
5528
  /**
5489
5529
  * Enforce consistent brace style for `case` clauses.
5490
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
5530
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
5491
5531
  */
5492
5532
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
5493
5533
  /**
5494
5534
  * Fix whitespace-insensitive template indentation.
5495
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
5535
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
5496
5536
  */
5497
5537
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
5498
5538
  /**
5499
5539
  * Enforce consistent case for text encoding identifiers.
5500
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
5540
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
5501
5541
  */
5502
5542
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>;
5503
5543
  /**
5504
5544
  * Require `new` when creating an error.
5505
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
5545
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
5506
5546
  */
5507
5547
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
5508
5548
  /**
@@ -6156,7 +6196,7 @@ interface RuleOptions {
6156
6196
  */
6157
6197
  'vue/no-restricted-custom-event'?: Linter.RuleEntry<VueNoRestrictedCustomEvent>;
6158
6198
  /**
6159
- * disallow specific HTML elements
6199
+ * disallow specific elements
6160
6200
  * @see https://eslint.vuejs.org/rules/no-restricted-html-elements.html
6161
6201
  */
6162
6202
  'vue/no-restricted-html-elements'?: Linter.RuleEntry<VueNoRestrictedHtmlElements>;
@@ -7299,8 +7339,8 @@ type JsdocMatchName = [] | [{
7299
7339
  context?: string;
7300
7340
  disallowName?: string;
7301
7341
  message?: string;
7342
+ replacement?: string;
7302
7343
  tags?: string[];
7303
- [k: string]: unknown | undefined;
7304
7344
  }[];
7305
7345
  }];
7306
7346
  // ----- jsdoc/multiline-blocks -----
@@ -7312,6 +7352,7 @@ type JsdocMultilineBlocks = [] | [{
7312
7352
  noMultilineBlocks?: boolean;
7313
7353
  noSingleLineBlocks?: boolean;
7314
7354
  noZeroLineText?: boolean;
7355
+ requireSingleLineUnderCount?: number;
7315
7356
  singleLineTags?: string[];
7316
7357
  }];
7317
7358
  // ----- jsdoc/no-bad-blocks -----
@@ -7373,7 +7414,6 @@ type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("alway
7373
7414
  always?: string[];
7374
7415
  any?: string[];
7375
7416
  never?: string[];
7376
- [k: string]: unknown | undefined;
7377
7417
  };
7378
7418
  }];
7379
7419
  // ----- jsdoc/require-description -----
@@ -7583,7 +7623,6 @@ type JsdocSortTags = [] | [{
7583
7623
  reportTagGroupSpacing?: boolean;
7584
7624
  tagSequence?: {
7585
7625
  tags?: string[];
7586
- [k: string]: unknown | undefined;
7587
7626
  }[];
7588
7627
  }];
7589
7628
  // ----- jsdoc/tag-lines -----
@@ -8423,6 +8462,7 @@ type NoConstantCondition = [] | [{
8423
8462
  // ----- no-duplicate-imports -----
8424
8463
  type NoDuplicateImports = [] | [{
8425
8464
  includeExports?: boolean;
8465
+ allowSeparateTypeImports?: boolean;
8426
8466
  }];
8427
8467
  // ----- no-else-return -----
8428
8468
  type NoElseReturn = [] | [{
@@ -12013,6 +12053,7 @@ interface _TsNamingConvention_MatchRegexConfig {
12013
12053
  }
12014
12054
  // ----- ts/no-base-to-string -----
12015
12055
  type TsNoBaseToString = [] | [{
12056
+ checkUnknown?: boolean;
12016
12057
  ignoredTypeNames?: string[];
12017
12058
  }];
12018
12059
  // ----- ts/no-confusing-void-expression -----
@@ -12336,7 +12377,6 @@ type TsPreferDestructuring = [] | [({
12336
12377
  }), {
12337
12378
  enforceForDeclarationWithTypeAnnotation?: boolean;
12338
12379
  enforceForRenamedProperties?: boolean;
12339
- [k: string]: unknown | undefined;
12340
12380
  }];
12341
12381
  // ----- ts/prefer-literal-enum-member -----
12342
12382
  type TsPreferLiteralEnumMember = [] | [{
@@ -12354,7 +12394,6 @@ type TsPreferNullishCoalescing = [] | [{
12354
12394
  boolean?: boolean;
12355
12395
  number?: boolean;
12356
12396
  string?: boolean;
12357
- [k: string]: unknown | undefined;
12358
12397
  } | true);
12359
12398
  ignoreTernaryTests?: boolean;
12360
12399
  }];
@@ -12563,6 +12602,10 @@ interface _UnicornImportStyle_BooleanObject {
12563
12602
  type UnicornNoArrayReduce = [] | [{
12564
12603
  allowSimpleOperations?: boolean;
12565
12604
  }];
12605
+ // ----- unicorn/no-array-reverse -----
12606
+ type UnicornNoArrayReverse = [] | [{
12607
+ allowExpressionStatement?: boolean;
12608
+ }];
12566
12609
  // ----- unicorn/no-instanceof-builtins -----
12567
12610
  type UnicornNoInstanceofBuiltins = [] | [{
12568
12611
  useErrorIsError?: boolean;
@@ -13945,7 +13988,6 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
13945
13988
  //#endregion
13946
13989
  //#region src/types/rule.d.ts
13947
13990
  type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & RuleOptions>, "plugins"> & {
13948
- // Relax plugins type limitation, as most of the plugins did not have correct type info yet.
13949
13991
  /**
13950
13992
  * 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.
13951
13993
  *
package/dist/index.js CHANGED
@@ -58,7 +58,7 @@ const GLOB_DTS = "**/*.d.?([cm])ts";
58
58
  const GLOB_TSX = "**/*.?([cm])tsx";
59
59
  const GLOB_VUE = "**/*.vue";
60
60
  const GLOB_ASTRO_TS = "**/*.astro/*.ts";
61
- const GLOB_SVELTE = "**/*.svelte";
61
+ const GLOB_SVELTE = "**/*.svelte?(.{js,ts})";
62
62
  const GLOB_JSON = "**/*.json";
63
63
  const GLOB_JSON5 = "**/*.json5";
64
64
  const GLOB_JSONC = "**/*.jsonc";
@@ -785,7 +785,11 @@ async function react(options = {}) {
785
785
  "links",
786
786
  "headers",
787
787
  "loader",
788
- "action"
788
+ "action",
789
+ "clientLoader",
790
+ "clientAction",
791
+ "handle",
792
+ "shouldRevalidate"
789
793
  ] : []]
790
794
  }],
791
795
  ...overrides
@@ -929,7 +933,7 @@ function sortPackageJson() {
929
933
  */
930
934
  function sortTsconfig() {
931
935
  return [{
932
- files: ["**/tsconfig.json", "**/tsconfig.*.json"],
936
+ files: ["**/[jt]sconfig.json", "**/[jt]sconfig.*.json"],
933
937
  name: "coderwyd/sort/tsconfig-json",
934
938
  rules: { "jsonc/sort-keys": [
935
939
  "error",
@@ -1135,7 +1139,6 @@ async function svelte(options = {}) {
1135
1139
  "svelte/no-dupe-else-if-blocks": "error",
1136
1140
  "svelte/no-dupe-style-properties": "error",
1137
1141
  "svelte/no-dupe-use-directives": "error",
1138
- "svelte/no-dynamic-slot-name": "error",
1139
1142
  "svelte/no-export-load-in-svelte-module-in-kit-pages": "error",
1140
1143
  "svelte/no-inner-declarations": "error",
1141
1144
  "svelte/no-not-function-handler": "error",
@@ -1424,7 +1427,7 @@ function unicorn(options = {}) {
1424
1427
  async function unocss(options = {}) {
1425
1428
  const { attributify = true, strict = false } = options;
1426
1429
  await ensurePackages(["@unocss/eslint-plugin"]);
1427
- const [pluginUnoCSS] = await Promise.all([interopDefault(import("@unocss/eslint-plugin"))]);
1430
+ const pluginUnoCSS = await interopDefault(import("@unocss/eslint-plugin"));
1428
1431
  return [{
1429
1432
  name: "coderwyd/unocss/rules",
1430
1433
  plugins: { unocss: pluginUnoCSS },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coderwyd/eslint-config",
3
3
  "type": "module",
4
- "version": "4.4.1",
4
+ "version": "4.5.0",
5
5
  "description": "Donny's ESLint config",
6
6
  "author": "Donny Wang <donny526@outlook.com> (https://github.com/coderwyd/)",
7
7
  "license": "MIT",
@@ -71,59 +71,59 @@
71
71
  "dependencies": {
72
72
  "@antfu/install-pkg": "^1.1.0",
73
73
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
74
- "@typescript-eslint/eslint-plugin": "^8.34.1",
75
- "@typescript-eslint/parser": "^8.34.1",
76
- "@vitest/eslint-plugin": "^1.2.7",
74
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
75
+ "@typescript-eslint/parser": "^8.38.0",
76
+ "@vitest/eslint-plugin": "^1.3.4",
77
77
  "eslint-config-flat-gitignore": "^2.1.0",
78
- "eslint-config-prettier": "^10.1.5",
78
+ "eslint-config-prettier": "^10.1.8",
79
79
  "eslint-plugin-antfu": "^3.1.1",
80
80
  "eslint-plugin-command": "^3.3.1",
81
81
  "eslint-plugin-de-morgan": "^1.3.0",
82
82
  "eslint-plugin-eslint-comments": "^3.2.0",
83
83
  "eslint-plugin-import-lite": "^0.3.0",
84
- "eslint-plugin-jsdoc": "^51.2.1",
84
+ "eslint-plugin-jsdoc": "^51.4.1",
85
85
  "eslint-plugin-jsonc": "^2.20.1",
86
- "eslint-plugin-n": "^17.20.0",
86
+ "eslint-plugin-n": "^17.21.0",
87
87
  "eslint-plugin-no-only-tests": "^3.3.0",
88
88
  "eslint-plugin-perfectionist": "^4.15.0",
89
89
  "eslint-plugin-regexp": "^2.9.0",
90
- "eslint-plugin-unicorn": "^59.0.1",
90
+ "eslint-plugin-unicorn": "^60.0.0",
91
91
  "eslint-plugin-unused-imports": "^4.1.4",
92
- "eslint-plugin-vue": "^10.2.0",
92
+ "eslint-plugin-vue": "^10.3.0",
93
93
  "eslint-plugin-yml": "^1.18.0",
94
- "eslint-typegen": "^2.2.0",
95
- "globals": "^16.2.0",
94
+ "eslint-typegen": "^2.2.1",
95
+ "globals": "^16.3.0",
96
96
  "jsonc-eslint-parser": "^2.4.0",
97
97
  "local-pkg": "^1.1.1",
98
98
  "parse-gitignore": "^2.0.0",
99
99
  "picocolors": "^1.1.1",
100
- "prettier": "^3.6.0",
100
+ "prettier": "^3.6.2",
101
101
  "prompts": "^2.4.2",
102
- "vue-eslint-parser": "^10.1.3",
102
+ "vue-eslint-parser": "^10.2.0",
103
103
  "yaml-eslint-parser": "^1.3.0",
104
104
  "yargs": "^18.0.0"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@antfu/ni": "^25.0.0",
108
- "@eslint-react/eslint-plugin": "^1.52.2",
108
+ "@eslint-react/eslint-plugin": "^1.52.3",
109
109
  "@eslint/config-inspector": "^1.1.0",
110
110
  "@types/eslint-config-prettier": "^6.11.3",
111
- "@types/node": "^24.0.3",
111
+ "@types/node": "^24.1.0",
112
112
  "@types/prompts": "^2.4.9",
113
113
  "@types/yargs": "^17.0.33",
114
- "@unocss/eslint-plugin": "^66.2.3",
114
+ "@unocss/eslint-plugin": "^66.3.3",
115
115
  "bumpp": "^10.2.0",
116
- "eslint": "^9.29.0",
116
+ "eslint": "^9.31.0",
117
117
  "eslint-plugin-react-hooks": "6.0.0-rc1",
118
118
  "eslint-plugin-react-refresh": "^0.4.20",
119
- "eslint-plugin-svelte": "^3.9.3",
120
- "eslint-plugin-tailwindcss": "^3.18.0",
121
- "jiti": "^2.4.2",
119
+ "eslint-plugin-svelte": "^3.11.0",
120
+ "eslint-plugin-tailwindcss": "^3.18.2",
121
+ "jiti": "^2.5.0",
122
122
  "nano-staged": "^0.8.0",
123
123
  "simple-git-hooks": "^2.13.0",
124
- "svelte": "^5.34.7",
125
- "svelte-eslint-parser": "^1.2.0",
126
- "tsdown": "^0.12.8",
124
+ "svelte": "^5.36.14",
125
+ "svelte-eslint-parser": "^1.3.0",
126
+ "tsdown": "^0.13.0",
127
127
  "typescript": "^5.8.3"
128
128
  },
129
129
  "simple-git-hooks": {