@infernodesign/eslint-config 1.26.0 → 1.27.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
@@ -8,7 +8,7 @@ import { cac } from "cac";
8
8
  import parse from "parse-gitignore";
9
9
  import { execSync } from "node:child_process";
10
10
  //#region package.json
11
- var version = "1.26.0";
11
+ var version = "1.27.0";
12
12
  //#endregion
13
13
  //#region src/cli/constants.ts
14
14
  const vscodeSettingsString = `
@@ -187,17 +187,17 @@ async function updateEslintFiles(result) {
187
187
  //#region src/cli/constants-generated.ts
188
188
  const versionsMap = {
189
189
  "@eslint-react/eslint-plugin": "^3.0.0",
190
- "@next/eslint-plugin-next": "^16.2.0",
190
+ "@next/eslint-plugin-next": "^16.2.1",
191
191
  "@unocss/eslint-plugin": "^66.6.7",
192
- "astro-eslint-parser": "^1.3.0",
192
+ "astro-eslint-parser": "^1.4.0",
193
193
  "eslint": "^10.1.0",
194
194
  "eslint-plugin-astro": "^1.6.0",
195
195
  "eslint-plugin-better-tailwindcss": "^4.3.2",
196
196
  "eslint-plugin-format": "^2.0.1",
197
197
  "eslint-plugin-react-refresh": "^0.5.2",
198
198
  "eslint-plugin-solid": "^0.14.5",
199
- "eslint-plugin-storybook": "^10.3.1",
200
- "eslint-plugin-svelte": "^3.15.2",
199
+ "eslint-plugin-storybook": "^10.3.3",
200
+ "eslint-plugin-svelte": "^3.16.0",
201
201
  "prettier-plugin-astro": "^0.14.1",
202
202
  "prettier-plugin-slidev": "^1.0.5",
203
203
  "svelte-eslint-parser": "^1.6.0"
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ConfigWithExtends, FlatConfigComposer } from "eslint-flat-config-utils";
2
+ import { Linter } from "eslint";
2
3
  import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
3
4
  import { ParserOptions } from "@typescript-eslint/parser";
4
5
  import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
5
6
  import { Options } from "eslint-processor-vue-blocks";
6
- import { Linter } from "eslint";
7
7
 
8
8
  //#region src/typegen.d.ts
9
9
  interface RuleOptions {
@@ -1676,6 +1676,11 @@ interface RuleOptions {
1676
1676
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
1677
1677
  */
1678
1678
  'markdown/fenced-code-language'?: Linter.RuleEntry<MarkdownFencedCodeLanguage>;
1679
+ /**
1680
+ * Require or disallow metadata for fenced code blocks
1681
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-meta.md
1682
+ */
1683
+ 'markdown/fenced-code-meta'?: Linter.RuleEntry<MarkdownFencedCodeMeta>;
1679
1684
  /**
1680
1685
  * Enforce heading levels increment by one
1681
1686
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
@@ -5008,6 +5013,11 @@ interface RuleOptions {
5008
5013
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/max-attributes-per-line/
5009
5014
  */
5010
5015
  'svelte/max-attributes-per-line'?: Linter.RuleEntry<SvelteMaxAttributesPerLine>;
5016
+ /**
5017
+ * enforce maximum number of lines in svelte component blocks
5018
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/max-lines-per-block/
5019
+ */
5020
+ 'svelte/max-lines-per-block'?: Linter.RuleEntry<SvelteMaxLinesPerBlock>;
5011
5021
  /**
5012
5022
  * enforce unified spacing in mustache
5013
5023
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/mustache-spacing/
@@ -5107,7 +5117,7 @@ interface RuleOptions {
5107
5117
  */
5108
5118
  'svelte/no-navigation-without-base'?: Linter.RuleEntry<SvelteNoNavigationWithoutBase>;
5109
5119
  /**
5110
- * disallow using navigation (links, goto, pushState, replaceState) without a resolve()
5120
+ * disallow internal navigation (links, `goto()`, `pushState()`, `replaceState()`) without a `resolve()`
5111
5121
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
5112
5122
  */
5113
5123
  'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>;
@@ -5735,6 +5745,11 @@ interface RuleOptions {
5735
5745
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
5736
5746
  */
5737
5747
  'test/require-top-level-describe'?: Linter.RuleEntry<TestRequireTopLevelDescribe>;
5748
+ /**
5749
+ * enforce unbound methods are called with their expected scope
5750
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/unbound-method.md
5751
+ */
5752
+ 'test/unbound-method'?: Linter.RuleEntry<TestUnboundMethod>;
5738
5753
  /**
5739
5754
  * enforce valid describe callback
5740
5755
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
@@ -6565,730 +6580,750 @@ interface RuleOptions {
6565
6580
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
6566
6581
  /**
6567
6582
  * Improve regexes by making them shorter, consistent, and safer.
6568
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/better-regex.md
6583
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
6569
6584
  */
6570
6585
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
6571
6586
  /**
6572
6587
  * Enforce a specific parameter name in catch clauses.
6573
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/catch-error-name.md
6588
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
6574
6589
  */
6575
6590
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
6576
6591
  /**
6577
6592
  * Enforce consistent assertion style with `node:assert`.
6578
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-assert.md
6593
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
6579
6594
  */
6580
6595
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
6581
6596
  /**
6582
6597
  * Prefer passing `Date` directly to the constructor when cloning.
6583
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-date-clone.md
6598
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
6584
6599
  */
6585
6600
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
6586
6601
  /**
6587
6602
  * Use destructured variables over properties.
6588
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-destructuring.md
6603
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
6589
6604
  */
6590
6605
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
6591
6606
  /**
6592
6607
  * Prefer consistent types when spreading a ternary in an array literal.
6593
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-empty-array-spread.md
6608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
6594
6609
  */
6595
6610
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
6596
6611
  /**
6597
6612
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6598
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-existence-index-check.md
6613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
6599
6614
  */
6600
6615
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
6601
6616
  /**
6602
6617
  * Move function definitions to the highest possible scope.
6603
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-function-scoping.md
6618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
6604
6619
  */
6605
6620
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
6621
+ /**
6622
+ * Enforce consistent style for escaping `${` in template literals.
6623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
6624
+ */
6625
+ 'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
6606
6626
  /**
6607
6627
  * Enforce correct `Error` subclassing.
6608
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/custom-error-definition.md
6628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
6609
6629
  */
6610
6630
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
6611
6631
  /**
6612
6632
  * Enforce no spaces between braces.
6613
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/empty-brace-spaces.md
6633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
6614
6634
  */
6615
6635
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
6616
6636
  /**
6617
6637
  * Enforce passing a `message` value when creating a built-in error.
6618
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/error-message.md
6638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
6619
6639
  */
6620
6640
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
6621
6641
  /**
6622
6642
  * Require escape sequences to use uppercase or lowercase values.
6623
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/escape-case.md
6643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
6624
6644
  */
6625
6645
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
6626
6646
  /**
6627
6647
  * Add expiration conditions to TODO comments.
6628
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/expiring-todo-comments.md
6648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
6629
6649
  */
6630
6650
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
6631
6651
  /**
6632
6652
  * Enforce explicitly comparing the `length` or `size` property of a value.
6633
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/explicit-length-check.md
6653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
6634
6654
  */
6635
6655
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
6636
6656
  /**
6637
6657
  * Enforce a case style for filenames.
6638
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/filename-case.md
6658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
6639
6659
  */
6640
6660
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
6641
6661
  /**
6642
6662
  * Enforce specific import styles per module.
6643
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/import-style.md
6663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
6644
6664
  */
6645
6665
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
6646
6666
  /**
6647
6667
  * Prevent usage of variables from outside the scope of isolated functions.
6648
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/isolated-functions.md
6668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
6649
6669
  */
6650
6670
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
6651
6671
  /**
6652
6672
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
6653
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/new-for-builtins.md
6673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
6654
6674
  */
6655
6675
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
6656
6676
  /**
6657
6677
  * Enforce specifying rules to disable in `eslint-disable` comments.
6658
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-abusive-eslint-disable.md
6678
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
6659
6679
  */
6660
6680
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
6661
6681
  /**
6662
6682
  * Disallow recursive access to `this` within getters and setters.
6663
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-accessor-recursion.md
6683
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
6664
6684
  */
6665
6685
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
6666
6686
  /**
6667
6687
  * Disallow anonymous functions and classes as the default export.
6668
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-anonymous-default-export.md
6688
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
6669
6689
  */
6670
6690
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
6671
6691
  /**
6672
6692
  * Prevent passing a function reference directly to iterator methods.
6673
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-callback-reference.md
6693
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
6674
6694
  */
6675
6695
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
6676
6696
  /**
6677
6697
  * Prefer `for…of` over the `forEach` method.
6678
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-for-each.md
6698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
6679
6699
  */
6680
6700
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
6681
6701
  /**
6682
6702
  * Disallow using the `this` argument in array methods.
6683
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-method-this-argument.md
6703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
6684
6704
  */
6685
6705
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
6686
6706
  /**
6687
6707
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
6688
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6689
6709
  * @deprecated
6690
6710
  */
6691
6711
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
6692
6712
  /**
6693
6713
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
6694
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reduce.md
6714
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
6695
6715
  */
6696
6716
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
6697
6717
  /**
6698
6718
  * Prefer `Array#toReversed()` over `Array#reverse()`.
6699
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reverse.md
6719
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
6700
6720
  */
6701
6721
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
6702
6722
  /**
6703
6723
  * Prefer `Array#toSorted()` over `Array#sort()`.
6704
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-sort.md
6724
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
6705
6725
  */
6706
6726
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
6707
6727
  /**
6708
6728
  * Disallow member access from await expression.
6709
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-expression-member.md
6729
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
6710
6730
  */
6711
6731
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
6712
6732
  /**
6713
6733
  * Disallow using `await` in `Promise` method parameters.
6714
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-in-promise-methods.md
6734
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
6715
6735
  */
6716
6736
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
6717
6737
  /**
6718
6738
  * Do not use leading/trailing space between `console.log` parameters.
6719
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-console-spaces.md
6739
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
6720
6740
  */
6721
6741
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
6722
6742
  /**
6723
6743
  * Do not use `document.cookie` directly.
6724
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-document-cookie.md
6744
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
6725
6745
  */
6726
6746
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
6727
6747
  /**
6728
6748
  * Disallow empty files.
6729
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-empty-file.md
6749
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
6730
6750
  */
6731
6751
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
6732
6752
  /**
6733
6753
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6734
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-for-loop.md
6754
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
6735
6755
  */
6736
6756
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
6737
6757
  /**
6738
6758
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6739
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-hex-escape.md
6759
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
6740
6760
  */
6741
6761
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
6742
6762
  /**
6743
6763
  * Disallow immediate mutation after variable assignment.
6744
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-immediate-mutation.md
6764
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
6745
6765
  */
6746
6766
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
6747
6767
  /**
6748
6768
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6749
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
6769
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
6750
6770
  * @deprecated
6751
6771
  */
6752
6772
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
6753
6773
  /**
6754
6774
  * Disallow `instanceof` with built-in objects
6755
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-instanceof-builtins.md
6775
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
6756
6776
  */
6757
6777
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
6758
6778
  /**
6759
6779
  * Disallow invalid options in `fetch()` and `new Request()`.
6760
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-fetch-options.md
6780
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
6761
6781
  */
6762
6782
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
6763
6783
  /**
6764
6784
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6765
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-remove-event-listener.md
6785
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
6766
6786
  */
6767
6787
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
6768
6788
  /**
6769
6789
  * Disallow identifiers starting with `new` or `class`.
6770
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-keyword-prefix.md
6790
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
6771
6791
  */
6772
6792
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
6773
6793
  /**
6774
6794
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6775
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
6795
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
6776
6796
  * @deprecated
6777
6797
  */
6778
6798
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
6779
6799
  /**
6780
6800
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6781
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-lonely-if.md
6801
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
6782
6802
  */
6783
6803
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
6784
6804
  /**
6785
6805
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6786
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-magic-array-flat-depth.md
6806
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
6787
6807
  */
6788
6808
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
6789
6809
  /**
6790
6810
  * Disallow named usage of default import and export.
6791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-named-default.md
6811
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
6792
6812
  */
6793
6813
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
6794
6814
  /**
6795
6815
  * Disallow negated conditions.
6796
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negated-condition.md
6816
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
6797
6817
  */
6798
6818
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
6799
6819
  /**
6800
6820
  * Disallow negated expression in equality check.
6801
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negation-in-equality-check.md
6821
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
6802
6822
  */
6803
6823
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
6804
6824
  /**
6805
6825
  * Disallow nested ternary expressions.
6806
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-nested-ternary.md
6826
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
6807
6827
  */
6808
6828
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
6809
6829
  /**
6810
6830
  * Disallow `new Array()`.
6811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-array.md
6831
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
6812
6832
  */
6813
6833
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
6814
6834
  /**
6815
6835
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-buffer.md
6836
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
6817
6837
  */
6818
6838
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
6819
6839
  /**
6820
6840
  * Disallow the use of the `null` literal.
6821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-null.md
6841
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
6822
6842
  */
6823
6843
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
6824
6844
  /**
6825
6845
  * Disallow the use of objects as default parameters.
6826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-object-as-default-parameter.md
6846
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
6827
6847
  */
6828
6848
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
6829
6849
  /**
6830
6850
  * Disallow `process.exit()`.
6831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-process-exit.md
6851
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
6832
6852
  */
6833
6853
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
6834
6854
  /**
6835
6855
  * Disallow passing single-element arrays to `Promise` methods.
6836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-single-promise-in-promise-methods.md
6856
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
6837
6857
  */
6838
6858
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
6839
6859
  /**
6840
6860
  * Disallow classes that only have static members.
6841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-static-only-class.md
6861
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
6842
6862
  */
6843
6863
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
6844
6864
  /**
6845
6865
  * Disallow `then` property.
6846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-thenable.md
6866
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
6847
6867
  */
6848
6868
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
6849
6869
  /**
6850
6870
  * Disallow assigning `this` to a variable.
6851
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-this-assignment.md
6871
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
6852
6872
  */
6853
6873
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
6854
6874
  /**
6855
6875
  * Disallow comparing `undefined` using `typeof`.
6856
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-typeof-undefined.md
6876
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
6857
6877
  */
6858
6878
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
6859
6879
  /**
6860
6880
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
6861
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6881
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6862
6882
  */
6863
6883
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
6864
6884
  /**
6865
6885
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
6866
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-splice-count.md
6886
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
6867
6887
  */
6868
6888
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
6869
6889
  /**
6870
6890
  * Disallow awaiting non-promise values.
6871
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-await.md
6891
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
6872
6892
  */
6873
6893
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
6874
6894
  /**
6875
6895
  * Enforce the use of built-in methods instead of unnecessary polyfills.
6876
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-polyfills.md
6896
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
6877
6897
  */
6878
6898
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
6879
6899
  /**
6880
6900
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6881
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-slice-end.md
6901
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
6882
6902
  */
6883
6903
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
6884
6904
  /**
6885
6905
  * Disallow unreadable array destructuring.
6886
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-array-destructuring.md
6906
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
6887
6907
  */
6888
6908
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
6889
6909
  /**
6890
6910
  * Disallow unreadable IIFEs.
6891
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-iife.md
6911
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
6892
6912
  */
6893
6913
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
6894
6914
  /**
6895
6915
  * Disallow unused object properties.
6896
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unused-properties.md
6916
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
6897
6917
  */
6898
6918
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
6899
6919
  /**
6900
6920
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
6901
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-collection-argument.md
6921
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
6902
6922
  */
6903
6923
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
6904
6924
  /**
6905
6925
  * Disallow unnecessary `Error.captureStackTrace(…)`.
6906
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6926
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6907
6927
  */
6908
6928
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
6909
6929
  /**
6910
6930
  * Disallow useless fallback when spreading in object literals.
6911
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-fallback-in-spread.md
6931
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
6912
6932
  */
6913
6933
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
6934
+ /**
6935
+ * Disallow unnecessary `.toArray()` on iterators.
6936
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
6937
+ */
6938
+ 'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
6914
6939
  /**
6915
6940
  * Disallow useless array length check.
6916
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-length-check.md
6941
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
6917
6942
  */
6918
6943
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
6919
6944
  /**
6920
6945
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
6921
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-promise-resolve-reject.md
6946
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
6922
6947
  */
6923
6948
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
6924
6949
  /**
6925
6950
  * Disallow unnecessary spread.
6926
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-spread.md
6951
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
6927
6952
  */
6928
6953
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
6929
6954
  /**
6930
6955
  * Disallow useless case in switch statements.
6931
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-switch-case.md
6956
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
6932
6957
  */
6933
6958
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
6934
6959
  /**
6935
6960
  * Disallow useless `undefined`.
6936
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-undefined.md
6961
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
6937
6962
  */
6938
6963
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
6939
6964
  /**
6940
6965
  * Disallow number literals with zero fractions or dangling dots.
6941
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-zero-fractions.md
6966
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
6942
6967
  */
6943
6968
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
6944
6969
  /**
6945
6970
  * Enforce proper case for numeric literals.
6946
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/number-literal-case.md
6971
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
6947
6972
  */
6948
6973
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
6949
6974
  /**
6950
6975
  * Enforce the style of numeric separators by correctly grouping digits.
6951
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/numeric-separators-style.md
6976
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
6952
6977
  */
6953
6978
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
6954
6979
  /**
6955
6980
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6956
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-add-event-listener.md
6981
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
6957
6982
  */
6958
6983
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
6959
6984
  /**
6960
6985
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6961
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-find.md
6986
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
6962
6987
  */
6963
6988
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
6964
6989
  /**
6965
6990
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6966
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat.md
6991
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
6967
6992
  */
6968
6993
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
6969
6994
  /**
6970
6995
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
6971
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat-map.md
6996
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
6972
6997
  */
6973
6998
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
6974
6999
  /**
6975
7000
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6976
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-index-of.md
7001
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
6977
7002
  */
6978
7003
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
6979
7004
  /**
6980
7005
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6981
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-some.md
7006
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
6982
7007
  */
6983
7008
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
6984
7009
  /**
6985
7010
  * Prefer `.at()` method for index access and `String#charAt()`.
6986
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-at.md
7011
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
6987
7012
  */
6988
7013
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
6989
7014
  /**
6990
7015
  * Prefer `BigInt` literals over the constructor.
6991
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-bigint-literals.md
7016
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
6992
7017
  */
6993
7018
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
6994
7019
  /**
6995
7020
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6996
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-blob-reading-methods.md
7021
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
6997
7022
  */
6998
7023
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
6999
7024
  /**
7000
7025
  * Prefer class field declarations over `this` assignments in constructors.
7001
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-class-fields.md
7026
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
7002
7027
  */
7003
7028
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
7004
7029
  /**
7005
7030
  * Prefer using `Element#classList.toggle()` to toggle class names.
7006
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-classlist-toggle.md
7031
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
7007
7032
  */
7008
7033
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
7009
7034
  /**
7010
7035
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7011
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-code-point.md
7036
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
7012
7037
  */
7013
7038
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
7014
7039
  /**
7015
7040
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7016
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-date-now.md
7041
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
7017
7042
  */
7018
7043
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
7019
7044
  /**
7020
7045
  * Prefer default parameters over reassignment.
7021
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-default-parameters.md
7046
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
7022
7047
  */
7023
7048
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
7024
7049
  /**
7025
7050
  * Prefer `Node#append()` over `Node#appendChild()`.
7026
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-append.md
7051
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
7027
7052
  */
7028
7053
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
7029
7054
  /**
7030
7055
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
7031
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-dataset.md
7056
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
7032
7057
  */
7033
7058
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
7034
7059
  /**
7035
7060
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7036
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-remove.md
7061
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
7037
7062
  */
7038
7063
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
7039
7064
  /**
7040
7065
  * Prefer `.textContent` over `.innerText`.
7041
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-text-content.md
7066
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
7042
7067
  */
7043
7068
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
7044
7069
  /**
7045
7070
  * Prefer `EventTarget` over `EventEmitter`.
7046
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-event-target.md
7071
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
7047
7072
  */
7048
7073
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
7049
7074
  /**
7050
7075
  * Prefer `export…from` when re-exporting.
7051
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-export-from.md
7076
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
7052
7077
  */
7053
7078
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
7054
7079
  /**
7055
7080
  * Prefer `globalThis` over `window`, `self`, and `global`.
7056
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-global-this.md
7081
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
7057
7082
  */
7058
7083
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
7059
7084
  /**
7060
7085
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7061
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-import-meta-properties.md
7086
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
7062
7087
  */
7063
7088
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
7064
7089
  /**
7065
7090
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7066
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-includes.md
7091
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
7067
7092
  */
7068
7093
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
7069
7094
  /**
7070
7095
  * Prefer reading a JSON file as a buffer.
7071
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-json-parse-buffer.md
7096
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
7072
7097
  */
7073
7098
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
7074
7099
  /**
7075
7100
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7076
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-keyboard-event-key.md
7101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
7077
7102
  */
7078
7103
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
7079
7104
  /**
7080
7105
  * Prefer using a logical operator over a ternary.
7081
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7106
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7082
7107
  */
7083
7108
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
7084
7109
  /**
7085
7110
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7086
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-min-max.md
7111
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
7087
7112
  */
7088
7113
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
7089
7114
  /**
7090
7115
  * Enforce the use of `Math.trunc` instead of bitwise operators.
7091
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-trunc.md
7116
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
7092
7117
  */
7093
7118
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
7094
7119
  /**
7095
7120
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7096
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-dom-apis.md
7121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
7097
7122
  */
7098
7123
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
7099
7124
  /**
7100
7125
  * Prefer modern `Math` APIs over legacy patterns.
7101
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-math-apis.md
7126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
7102
7127
  */
7103
7128
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
7104
7129
  /**
7105
7130
  * Prefer JavaScript modules (ESM) over CommonJS.
7106
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-module.md
7131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
7107
7132
  */
7108
7133
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
7109
7134
  /**
7110
7135
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7111
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-native-coercion-functions.md
7136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
7112
7137
  */
7113
7138
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
7114
7139
  /**
7115
7140
  * Prefer negative index over `.length - index` when possible.
7116
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-negative-index.md
7141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
7117
7142
  */
7118
7143
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
7119
7144
  /**
7120
7145
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7121
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-node-protocol.md
7146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
7122
7147
  */
7123
7148
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
7124
7149
  /**
7125
7150
  * Prefer `Number` static properties over global ones.
7126
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-number-properties.md
7151
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
7127
7152
  */
7128
7153
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
7129
7154
  /**
7130
7155
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7131
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-object-from-entries.md
7156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
7132
7157
  */
7133
7158
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
7134
7159
  /**
7135
7160
  * Prefer omitting the `catch` binding parameter.
7136
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-optional-catch-binding.md
7161
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
7137
7162
  */
7138
7163
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
7139
7164
  /**
7140
7165
  * Prefer borrowing methods from the prototype instead of the instance.
7141
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-prototype-methods.md
7166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
7142
7167
  */
7143
7168
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
7144
7169
  /**
7145
7170
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7146
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-query-selector.md
7171
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
7147
7172
  */
7148
7173
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
7149
7174
  /**
7150
7175
  * Prefer `Reflect.apply()` over `Function#apply()`.
7151
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-reflect-apply.md
7176
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
7152
7177
  */
7153
7178
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
7154
7179
  /**
7155
7180
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7156
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-regexp-test.md
7181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
7157
7182
  */
7158
7183
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
7159
7184
  /**
7160
7185
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
7161
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-response-static-json.md
7186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
7162
7187
  */
7163
7188
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
7164
7189
  /**
7165
7190
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7166
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-has.md
7191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
7167
7192
  */
7168
7193
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
7169
7194
  /**
7170
7195
  * Prefer using `Set#size` instead of `Array#length`.
7171
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-size.md
7196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
7172
7197
  */
7173
7198
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
7199
+ /**
7200
+ * Prefer simple conditions first in logical expressions.
7201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
7202
+ */
7203
+ 'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
7174
7204
  /**
7175
7205
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7176
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-single-call.md
7206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
7177
7207
  */
7178
7208
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
7179
7209
  /**
7180
7210
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7181
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-spread.md
7211
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
7182
7212
  */
7183
7213
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
7184
7214
  /**
7185
7215
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7186
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-raw.md
7216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
7187
7217
  */
7188
7218
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
7189
7219
  /**
7190
7220
  * Prefer `String#replaceAll()` over regex searches with the global flag.
7191
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-replace-all.md
7221
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
7192
7222
  */
7193
7223
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
7194
7224
  /**
7195
7225
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7196
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-slice.md
7226
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
7197
7227
  */
7198
7228
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
7199
7229
  /**
7200
7230
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-starts-ends-with.md
7231
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
7202
7232
  */
7203
7233
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
7204
7234
  /**
7205
7235
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-trim-start-end.md
7236
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
7207
7237
  */
7208
7238
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
7209
7239
  /**
7210
7240
  * Prefer using `structuredClone` to create a deep clone.
7211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-structured-clone.md
7241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
7212
7242
  */
7213
7243
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
7214
7244
  /**
7215
7245
  * Prefer `switch` over multiple `else-if`.
7216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-switch.md
7246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
7217
7247
  */
7218
7248
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
7219
7249
  /**
7220
7250
  * Prefer ternary expressions over simple `if-else` statements.
7221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-ternary.md
7251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
7222
7252
  */
7223
7253
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
7224
7254
  /**
7225
7255
  * Prefer top-level await over top-level promises and async function calls.
7226
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-top-level-await.md
7256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
7227
7257
  */
7228
7258
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
7229
7259
  /**
7230
7260
  * Enforce throwing `TypeError` in type checking conditions.
7231
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-type-error.md
7261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
7232
7262
  */
7233
7263
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
7234
7264
  /**
7235
7265
  * Prevent abbreviations.
7236
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prevent-abbreviations.md
7266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
7237
7267
  */
7238
7268
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
7239
7269
  /**
7240
7270
  * Enforce consistent relative URL style.
7241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/relative-url-style.md
7271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
7242
7272
  */
7243
7273
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
7244
7274
  /**
7245
7275
  * Enforce using the separator argument with `Array#join()`.
7246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-array-join-separator.md
7276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
7247
7277
  */
7248
7278
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
7249
7279
  /**
7250
7280
  * Require non-empty module attributes for imports and exports
7251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-attributes.md
7281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
7252
7282
  */
7253
7283
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
7254
7284
  /**
7255
7285
  * Require non-empty specifier list in import and export statements.
7256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-specifiers.md
7286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
7257
7287
  */
7258
7288
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
7259
7289
  /**
7260
7290
  * Enforce using the digits argument with `Number#toFixed()`.
7261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7262
7292
  */
7263
7293
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
7264
7294
  /**
7265
7295
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-post-message-target-origin.md
7296
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
7267
7297
  */
7268
7298
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
7269
7299
  /**
7270
7300
  * Enforce better string content.
7271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/string-content.md
7301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
7272
7302
  */
7273
7303
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
7274
7304
  /**
7275
7305
  * Enforce consistent brace style for `case` clauses.
7276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/switch-case-braces.md
7306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
7277
7307
  */
7278
7308
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
7309
+ /**
7310
+ * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
7311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
7312
+ */
7313
+ 'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
7279
7314
  /**
7280
7315
  * Fix whitespace-insensitive template indentation.
7281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/template-indent.md
7316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
7282
7317
  */
7283
7318
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
7284
7319
  /**
7285
7320
  * Enforce consistent case for text encoding identifiers.
7286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/text-encoding-identifier-case.md
7321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
7287
7322
  */
7288
7323
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
7289
7324
  /**
7290
7325
  * Require `new` when creating an error.
7291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/throw-new-error.md
7326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
7292
7327
  */
7293
7328
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
7294
7329
  /**
@@ -10614,13 +10649,15 @@ type LogicalAssignmentOperators = (([] | ["always"] | ["always", {
10614
10649
  }] | ["never"]) & unknown[]); // ----- markdown/fenced-code-language -----
10615
10650
  type MarkdownFencedCodeLanguage = [] | [{
10616
10651
  required?: string[];
10617
- }]; // ----- markdown/heading-increment -----
10652
+ }]; // ----- markdown/fenced-code-meta -----
10653
+ type MarkdownFencedCodeMeta = [] | [("always" | "never")]; // ----- markdown/heading-increment -----
10618
10654
  type MarkdownHeadingIncrement = [] | [{
10619
10655
  frontmatterTitle?: string;
10620
10656
  }]; // ----- markdown/no-duplicate-definitions -----
10621
10657
  type MarkdownNoDuplicateDefinitions = [] | [{
10622
10658
  allowDefinitions?: string[];
10623
10659
  allowFootnoteDefinitions?: string[];
10660
+ checkFootnoteDefinitions?: boolean;
10624
10661
  }]; // ----- markdown/no-duplicate-headings -----
10625
10662
  type MarkdownNoDuplicateHeadings = [] | [{
10626
10663
  checkSiblingsOnly?: boolean;
@@ -10653,6 +10690,7 @@ type MarkdownNoSpaceInEmphasis = [] | [{
10653
10690
  type MarkdownNoUnusedDefinitions = [] | [{
10654
10691
  allowDefinitions?: string[];
10655
10692
  allowFootnoteDefinitions?: string[];
10693
+ checkFootnoteDefinitions?: boolean;
10656
10694
  }]; // ----- markdown/table-column-count -----
10657
10695
  type MarkdownTableColumnCount = [] | [{
10658
10696
  checkMissingCells?: boolean;
@@ -15489,6 +15527,13 @@ type SvelteIndent = [] | [{
15489
15527
  type SvelteMaxAttributesPerLine = [] | [{
15490
15528
  multiline?: number;
15491
15529
  singleline?: number;
15530
+ }]; // ----- svelte/max-lines-per-block -----
15531
+ type SvelteMaxLinesPerBlock = [] | [{
15532
+ script?: number;
15533
+ template?: number;
15534
+ style?: number;
15535
+ skipBlankLines?: boolean;
15536
+ skipComments?: boolean;
15492
15537
  }]; // ----- svelte/mustache-spacing -----
15493
15538
  type SvelteMustacheSpacing = [] | [{
15494
15539
  textExpressions?: ("never" | "always");
@@ -15672,6 +15717,9 @@ type TestRequireMockTypeParameters = [] | [{
15672
15717
  }]; // ----- test/require-top-level-describe -----
15673
15718
  type TestRequireTopLevelDescribe = [] | [{
15674
15719
  maxNumberOfTopLevelDescribes?: number;
15720
+ }]; // ----- test/unbound-method -----
15721
+ type TestUnboundMethod = [] | [{
15722
+ ignoreStatic?: boolean;
15675
15723
  }]; // ----- test/valid-expect -----
15676
15724
  type TestValidExpect = [] | [{
15677
15725
  alwaysAwait?: boolean;
@@ -16716,6 +16764,7 @@ type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/ex
16716
16764
  type UnicornExpiringTodoComments = [] | [{
16717
16765
  terms?: string[];
16718
16766
  ignore?: unknown[];
16767
+ ignoreDates?: boolean;
16719
16768
  ignoreDatesOnPullRequests?: boolean;
16720
16769
  allowWarningComments?: boolean;
16721
16770
  date?: string;
@@ -16872,6 +16921,9 @@ type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbrevia
16872
16921
  interface _UnicornPreventAbbreviations_Abbreviations {
16873
16922
  [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
16874
16923
  }
16924
+ interface _UnicornPreventAbbreviations_BooleanObject {
16925
+ [k: string]: boolean | undefined;
16926
+ }
16875
16927
  interface _UnicornPreventAbbreviations_BooleanObject {
16876
16928
  [k: string]: boolean | undefined;
16877
16929
  } // ----- unicorn/relative-url-style -----
package/dist/index.js CHANGED
@@ -478,6 +478,10 @@ async function e18e(options = {}) {
478
478
  ...modernization ? { ...configs.modernization.rules } : {},
479
479
  ...moduleReplacements ? { ...configs.moduleReplacements.rules } : {},
480
480
  ...performanceImprovements ? { ...configs.performanceImprovements.rules } : {},
481
+ "e18e/prefer-array-to-reversed": "off",
482
+ "e18e/prefer-array-to-sorted": "off",
483
+ "e18e/prefer-array-to-spliced": "off",
484
+ "e18e/prefer-spread-syntax": "off",
481
485
  ...overrides
482
486
  }
483
487
  }];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@infernodesign/eslint-config",
3
3
  "description": "ESLint config for Inferno Design.",
4
- "version": "1.26.0",
4
+ "version": "1.27.0",
5
5
  "type": "module",
6
6
  "author": "Inferno Design <support@infernodesign.com>",
7
7
  "license": "MIT",
@@ -48,26 +48,26 @@
48
48
  "dependencies": {
49
49
  "@antfu/install-pkg": "1.1.0",
50
50
  "@clack/prompts": "1.1.0",
51
- "@e18e/eslint-plugin": "0.2.0",
51
+ "@e18e/eslint-plugin": "0.3.0",
52
52
  "@eslint-community/eslint-plugin-eslint-comments": "4.7.1",
53
53
  "@eslint/compat": "2.0.3",
54
54
  "@eslint/config-array": "0.23.3",
55
55
  "@eslint/config-helpers": "0.5.3",
56
- "@eslint/markdown": "7.5.1",
56
+ "@eslint/markdown": "8.0.1",
57
57
  "@stylistic/eslint-plugin": "5.10.0",
58
- "@typescript-eslint/eslint-plugin": "8.57.1",
59
- "@typescript-eslint/parser": "8.57.1",
60
- "@typescript-eslint/utils": "8.57.1",
61
- "@vitest/eslint-plugin": "1.6.12",
58
+ "@typescript-eslint/eslint-plugin": "8.58.0",
59
+ "@typescript-eslint/parser": "8.58.0",
60
+ "@typescript-eslint/utils": "8.58.0",
61
+ "@vitest/eslint-plugin": "1.6.14",
62
62
  "ansis": "4.2.0",
63
63
  "cac": "7.0.0",
64
- "eslint-config-flat-gitignore": "2.2.1",
64
+ "eslint-config-flat-gitignore": "2.3.0",
65
65
  "eslint-flat-config-utils": "3.0.2",
66
66
  "eslint-merge-processors": "2.0.0",
67
67
  "eslint-plugin-antfu": "3.2.2",
68
68
  "eslint-plugin-command": "3.5.2",
69
69
  "eslint-plugin-import-lite": "0.6.0",
70
- "eslint-plugin-jsdoc": "62.8.0",
70
+ "eslint-plugin-jsdoc": "62.8.1",
71
71
  "eslint-plugin-jsonc": "3.1.2",
72
72
  "eslint-plugin-n": "17.24.0",
73
73
  "eslint-plugin-no-only-tests": "3.3.0",
@@ -75,7 +75,7 @@
75
75
  "eslint-plugin-pnpm": "1.6.0",
76
76
  "eslint-plugin-regexp": "3.1.0",
77
77
  "eslint-plugin-toml": "1.3.1",
78
- "eslint-plugin-unicorn": "63.0.0",
78
+ "eslint-plugin-unicorn": "64.0.0",
79
79
  "eslint-plugin-unused-imports": "4.4.1",
80
80
  "eslint-plugin-vue": "10.8.0",
81
81
  "eslint-plugin-yml": "3.3.1",
@@ -92,12 +92,12 @@
92
92
  "@eslint-react/eslint-plugin": "3.0.0",
93
93
  "@eslint/config-inspector": "1.5.0",
94
94
  "@infernodesign/typescript-config": "workspace:*",
95
- "@next/eslint-plugin-next": "16.2.0",
95
+ "@next/eslint-plugin-next": "16.2.1",
96
96
  "@prettier/plugin-xml": "3.4.2",
97
97
  "@types/eslint-plugin-jsx-a11y": "6.10.1",
98
98
  "@types/node": "25.5.0",
99
99
  "@unocss/eslint-plugin": "66.6.7",
100
- "astro-eslint-parser": "1.3.0",
100
+ "astro-eslint-parser": "1.4.0",
101
101
  "eslint": "10.1.0",
102
102
  "eslint-plugin-astro": "1.6.0",
103
103
  "eslint-plugin-better-tailwindcss": "4.3.2",
@@ -106,8 +106,8 @@
106
106
  "eslint-plugin-jsx-a11y": "6.10.2",
107
107
  "eslint-plugin-react-refresh": "0.5.2",
108
108
  "eslint-plugin-solid": "0.14.5",
109
- "eslint-plugin-storybook": "10.3.1",
110
- "eslint-plugin-svelte": "3.15.2",
109
+ "eslint-plugin-storybook": "10.3.3",
110
+ "eslint-plugin-svelte": "3.16.0",
111
111
  "eslint-plugin-vuejs-accessibility": "2.5.0",
112
112
  "eslint-typegen": "2.3.1",
113
113
  "execa": "9.6.1",
@@ -116,20 +116,20 @@
116
116
  "pnpm-workspace-yaml": "1.6.0",
117
117
  "prettier-plugin-astro": "0.14.1",
118
118
  "prettier-plugin-slidev": "1.0.5",
119
- "svelte": "5.54.0",
119
+ "svelte": "5.55.1",
120
120
  "svelte-eslint-parser": "1.6.0",
121
121
  "tinyglobby": "0.2.15",
122
- "tsdown": "0.21.4",
122
+ "tsdown": "0.21.7",
123
123
  "typescript": "5.9.3",
124
- "vitest": "4.1.0",
125
- "vue": "3.5.30"
124
+ "vitest": "4.1.2",
125
+ "vue": "3.5.31"
126
126
  },
127
127
  "peerDependencies": {
128
128
  "@eslint-react/eslint-plugin": "^3.0.0",
129
- "@next/eslint-plugin-next": "^16.2.0",
129
+ "@next/eslint-plugin-next": "^16.2.1",
130
130
  "@prettier/plugin-xml": "^3.4.2",
131
131
  "@unocss/eslint-plugin": "^66.6.7",
132
- "astro-eslint-parser": "^1.3.0",
132
+ "astro-eslint-parser": "^1.4.0",
133
133
  "eslint": "^10.1.0",
134
134
  "eslint-plugin-astro": "^1.6.0",
135
135
  "eslint-plugin-better-tailwindcss": "^4.3.2",
@@ -138,8 +138,8 @@
138
138
  "eslint-plugin-jsx-a11y": "^6.10.2",
139
139
  "eslint-plugin-react-refresh": "^0.5.2",
140
140
  "eslint-plugin-solid": "^0.14.5",
141
- "eslint-plugin-storybook": "^10.3.1",
142
- "eslint-plugin-svelte": "^3.15.2",
141
+ "eslint-plugin-storybook": "^10.3.3",
142
+ "eslint-plugin-svelte": "^3.16.0",
143
143
  "eslint-plugin-vuejs-accessibility": "^2.5.0",
144
144
  "prettier-plugin-astro": "^0.14.1",
145
145
  "prettier-plugin-slidev": "^1.0.5",