@kazupon/eslint-config 0.31.1 → 0.33.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/index.d.ts CHANGED
@@ -1,24 +1,43 @@
1
1
  import { FlatConfigComposer } from "eslint-flat-config-utils";
2
2
  import { Awaitable } from "@kazupon/jts-utils/types";
3
3
  import { ESLint, Linter } from "eslint";
4
- import * as typescript1 from "typescript";
4
+ import * as typescript0 from "typescript";
5
5
  import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
6
6
 
7
7
  //#region src/config.d.ts
8
8
 
9
9
  /**
10
10
  * define eslint configurations
11
+ *
11
12
  * @param {Awaitable<Linter.Config | Linter.Config[]>[]} configs eslint flat configurations
12
13
  * @returns {FlatConfigComposer} eslint flat configuration composer
13
14
  */
14
15
  declare function defineConfig(...configs: Awaitable<Linter.Config | Linter.Config[]>[]): FlatConfigComposer;
15
16
  //#endregion
16
17
  //#region src/types/overrides.d.ts
18
+ /**
19
+ * Overrides configuration options
20
+ */
17
21
  interface OverridesOptions<Rules = Linter.Config["rules"]> {
22
+ /**
23
+ * Override files
24
+ */
18
25
  files?: Linter.Config["files"];
26
+ /**
27
+ * Override ignores
28
+ */
19
29
  ignores?: Linter.Config["ignores"];
30
+ /**
31
+ * Override rules
32
+ */
20
33
  rules?: Rules;
34
+ /**
35
+ * Override parser options
36
+ */
21
37
  parserOptions?: ESLint.Environment["parserOptions"];
38
+ /**
39
+ * Override language options
40
+ */
22
41
  settings?: Linter.Config["settings"];
23
42
  }
24
43
  //#endregion
@@ -107,6 +126,7 @@ type KazuponNoTagComments = [] | [{
107
126
  // ----- @kazupon/prefer-scope-on-tag-comment -----
108
127
  type KazuponPreferScopeOnTagComment = [] | [{
109
128
  tags?: [string, ...(string)[]];
129
+ directives?: [string, ...(string)[]];
110
130
  }];
111
131
  //#endregion
112
132
  //#region src/types/gens/css.d.ts
@@ -142,6 +162,11 @@ interface CssRules {
142
162
  */
143
163
  "css/prefer-logical-properties"?: Linter.RuleEntry<CssPreferLogicalProperties>;
144
164
  /**
165
+ * Enforce the use of relative font units
166
+ * @see https://github.com/eslint/css/blob/main/docs/rules/relative-font-units.md
167
+ */
168
+ "css/relative-font-units"?: Linter.RuleEntry<CssRelativeFontUnits>;
169
+ /**
145
170
  * Enforce the use of baseline features
146
171
  * @see https://github.com/eslint/css/blob/main/docs/rules/use-baseline.md
147
172
  */
@@ -158,6 +183,11 @@ type CssPreferLogicalProperties = [] | [{
158
183
  allowProperties?: string[];
159
184
  allowUnits?: string[];
160
185
  }];
186
+ // ----- css/relative-font-units -----
187
+ type CssRelativeFontUnits = [] | [{
188
+ allowUnits?: ("%" | "cap" | "ch" | "em" | "ex" | "ic" | "lh" | "rcap" | "rch" | "rem" | "rex" | "ric" | "rlh")[];
189
+ [k: string]: unknown | undefined;
190
+ }];
161
191
  // ----- css/use-baseline -----
162
192
  type CssUseBaseline = [] | [{
163
193
  available?: (("widely" | "newly") | number);
@@ -216,6 +246,11 @@ interface HtmlRules {
216
246
  */
217
247
  "@html-eslint/no-aria-hidden-body"?: Linter.RuleEntry<[]>;
218
248
  /**
249
+ * Disallow aria-hidden="true" on focusable elements
250
+ * @see https://html-eslint.org/docs/rules/no-aria-hidden-on-focusable
251
+ */
252
+ "@html-eslint/no-aria-hidden-on-focusable"?: Linter.RuleEntry<[]>;
253
+ /**
219
254
  * Disallow to use duplicate attributes
220
255
  * @see https://html-eslint.org/docs/rules/no-duplicate-attrs
221
256
  */
@@ -231,6 +266,16 @@ interface HtmlRules {
231
266
  */
232
267
  "@html-eslint/no-duplicate-id"?: Linter.RuleEntry<[]>;
233
268
  /**
269
+ * Disallow duplicate tags in `<head>`
270
+ * @see https://html-eslint.org/docs/rules/no-duplicate-in-head
271
+ */
272
+ "@html-eslint/no-duplicate-in-head"?: Linter.RuleEntry<[]>;
273
+ /**
274
+ * Disallow empty or inaccessible headings.
275
+ * @see https://html-eslint.org/docs/rules/no-empty-headings
276
+ */
277
+ "@html-eslint/no-empty-headings"?: Linter.RuleEntry<[]>;
278
+ /**
234
279
  * Disallow an extra spacing around attributes
235
280
  * @see https://html-eslint.org/docs/rules/no-extra-spacing-attrs
236
281
  */
@@ -251,6 +296,11 @@ interface HtmlRules {
251
296
  */
252
297
  "@html-eslint/no-inline-styles"?: Linter.RuleEntry<[]>;
253
298
  /**
299
+ * Disallows the use of invalid HTML entities
300
+ * @see https://html-eslint.org/docs/rules/no-invalid-entity
301
+ */
302
+ "@html-eslint/no-invalid-entity"?: Linter.RuleEntry<[]>;
303
+ /**
254
304
  * Disallows use of invalid role.
255
305
  * @see https://html-eslint.org/docs/rules/no-invalid-role
256
306
  */
@@ -421,13 +471,11 @@ interface HtmlRules {
421
471
  type HtmlEslintAttrsNewline = [] | [{
422
472
  closeStyle?: ("newline" | "sameline");
423
473
  ifAttrsMoreThan?: number;
424
- [k: string]: unknown | undefined;
425
474
  }];
426
475
  // ----- @html-eslint/element-newline -----
427
476
  type HtmlEslintElementNewline = [] | [{
428
477
  inline?: string[];
429
478
  skip?: string[];
430
- [k: string]: unknown | undefined;
431
479
  }];
432
480
  // ----- @html-eslint/id-naming-convention -----
433
481
  type HtmlEslintIdNamingConvention = [] | [("camelCase" | "snake_case" | "PascalCase" | "kebab-case" | "regex")] | [("camelCase" | "snake_case" | "PascalCase" | "kebab-case" | "regex"), {
@@ -440,7 +488,6 @@ type HtmlEslintIndent = [] | [("tab" | number)] | [("tab" | number), {
440
488
  tagChildrenIndent?: {
441
489
  [k: string]: number;
442
490
  };
443
- [k: string]: unknown | undefined;
444
491
  }];
445
492
  // ----- @html-eslint/max-element-depth -----
446
493
  type HtmlEslintMaxElementDepth = [] | [{
@@ -452,7 +499,6 @@ type HtmlEslintNoExtraSpacingAttrs = [] | [{
452
499
  disallowMissing?: boolean;
453
500
  disallowTabs?: boolean;
454
501
  enforceBeforeSelfClose?: boolean;
455
- [k: string]: unknown | undefined;
456
502
  }];
457
503
  // ----- @html-eslint/no-extra-spacing-text -----
458
504
  type HtmlEslintNoExtraSpacingText = [] | [{
@@ -467,17 +513,17 @@ type HtmlEslintNoRestrictedAttrValues = {
467
513
  attrPatterns: string[];
468
514
  attrValuePatterns: string[];
469
515
  message?: string;
470
- [k: string]: unknown | undefined;
471
516
  }[];
472
517
  // ----- @html-eslint/no-restricted-attrs -----
473
518
  type HtmlEslintNoRestrictedAttrs = {
474
519
  tagPatterns: string[];
475
520
  attrPatterns: string[];
476
521
  message?: string;
477
- [k: string]: unknown | undefined;
478
522
  }[];
479
523
  // ----- @html-eslint/quotes -----
480
- type HtmlEslintQuotes = [] | [("single" | "double")];
524
+ type HtmlEslintQuotes = [] | [("single" | "double")] | [("single" | "double"), {
525
+ enforceTemplatedAttrValue?: boolean;
526
+ }];
481
527
  // ----- @html-eslint/require-attrs -----
482
528
  type HtmlEslintRequireAttrs = {
483
529
  tag: string;
@@ -497,14 +543,12 @@ type HtmlEslintRequireExplicitSize = [] | [{
497
543
  // ----- @html-eslint/require-img-alt -----
498
544
  type HtmlEslintRequireImgAlt = [] | [{
499
545
  substitute?: string[];
500
- [k: string]: unknown | undefined;
501
546
  }];
502
547
  // ----- @html-eslint/require-open-graph-protocol -----
503
548
  type HtmlEslintRequireOpenGraphProtocol = [] | [string[]];
504
549
  // ----- @html-eslint/sort-attrs -----
505
550
  type HtmlEslintSortAttrs = [] | [{
506
551
  priority?: string[];
507
- [k: string]: unknown | undefined;
508
552
  }];
509
553
  // ----- @html-eslint/use-baseline -----
510
554
  type HtmlEslintUseBaseline = [] | [{
@@ -515,42 +559,47 @@ type HtmlEslintUseBaseline = [] | [{
515
559
  interface ImportsRules {
516
560
  /**
517
561
  * Enforce or ban the use of inline type-only markers for named imports.
518
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/consistent-type-specifier-style.md
562
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/consistent-type-specifier-style.md
519
563
  */
520
564
  "import/consistent-type-specifier-style"?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
521
565
  /**
522
566
  * Ensure a default export is present, given a default import.
523
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/default.md
567
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/default.md
524
568
  */
525
569
  "import/default"?: Linter.RuleEntry<[]>;
526
570
  /**
527
571
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
528
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/dynamic-import-chunkname.md
572
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/dynamic-import-chunkname.md
529
573
  */
530
574
  "import/dynamic-import-chunkname"?: Linter.RuleEntry<ImportDynamicImportChunkname>;
531
575
  /**
576
+ * Enforce either using, or omitting, the `node:` protocol when importing Node.js builtin modules.
577
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/enforce-node-protocol-usage.md
578
+ */
579
+ "import/enforce-node-protocol-usage"?: Linter.RuleEntry<ImportEnforceNodeProtocolUsage>;
580
+ /**
532
581
  * Forbid any invalid exports, i.e. re-export of the same name.
533
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/export.md
582
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/export.md
534
583
  */
535
584
  "import/export"?: Linter.RuleEntry<[]>;
536
585
  /**
537
586
  * Ensure all exports appear after other statements.
538
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/exports-last.md
587
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/exports-last.md
539
588
  */
540
589
  "import/exports-last"?: Linter.RuleEntry<[]>;
541
590
  /**
542
591
  * Ensure consistent use of file extension within the import path.
543
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/extensions.md
592
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/extensions.md
544
593
  */
545
594
  "import/extensions"?: Linter.RuleEntry<ImportExtensions>;
546
595
  /**
547
596
  * Ensure all imports appear before other statements.
548
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/first.md
597
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/first.md
549
598
  */
550
599
  "import/first"?: Linter.RuleEntry<ImportFirst>;
551
600
  /**
552
601
  * Prefer named exports to be grouped together in a single export declaration
553
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/group-exports.md
602
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/group-exports.md
554
603
  */
555
604
  "import/group-exports"?: Linter.RuleEntry<[]>;
556
605
  /**
@@ -561,77 +610,77 @@ interface ImportsRules {
561
610
  "import/imports-first"?: Linter.RuleEntry<ImportImportsFirst>;
562
611
  /**
563
612
  * Enforce the maximum number of dependencies a module can have.
564
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/max-dependencies.md
613
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/max-dependencies.md
565
614
  */
566
615
  "import/max-dependencies"?: Linter.RuleEntry<ImportMaxDependencies>;
567
616
  /**
568
617
  * Ensure named imports correspond to a named export in the remote file.
569
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/named.md
618
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/named.md
570
619
  */
571
620
  "import/named"?: Linter.RuleEntry<ImportNamed>;
572
621
  /**
573
622
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
574
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/namespace.md
623
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/namespace.md
575
624
  */
576
625
  "import/namespace"?: Linter.RuleEntry<ImportNamespace>;
577
626
  /**
578
627
  * Enforce a newline after import statements.
579
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/newline-after-import.md
628
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/newline-after-import.md
580
629
  */
581
630
  "import/newline-after-import"?: Linter.RuleEntry<ImportNewlineAfterImport>;
582
631
  /**
583
632
  * Forbid import of modules using absolute paths.
584
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-absolute-path.md
633
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-absolute-path.md
585
634
  */
586
635
  "import/no-absolute-path"?: Linter.RuleEntry<ImportNoAbsolutePath>;
587
636
  /**
588
637
  * Forbid AMD `require` and `define` calls.
589
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-amd.md
638
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-amd.md
590
639
  */
591
640
  "import/no-amd"?: Linter.RuleEntry<[]>;
592
641
  /**
593
642
  * Forbid anonymous values as default exports.
594
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-anonymous-default-export.md
643
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-anonymous-default-export.md
595
644
  */
596
645
  "import/no-anonymous-default-export"?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>;
597
646
  /**
598
647
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
599
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-commonjs.md
648
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-commonjs.md
600
649
  */
601
650
  "import/no-commonjs"?: Linter.RuleEntry<ImportNoCommonjs>;
602
651
  /**
603
652
  * Forbid a module from importing a module with a dependency path back to itself.
604
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-cycle.md
653
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-cycle.md
605
654
  */
606
655
  "import/no-cycle"?: Linter.RuleEntry<ImportNoCycle>;
607
656
  /**
608
657
  * Forbid default exports.
609
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-default-export.md
658
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-default-export.md
610
659
  */
611
660
  "import/no-default-export"?: Linter.RuleEntry<[]>;
612
661
  /**
613
662
  * Forbid imported names marked with `@deprecated` documentation tag.
614
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-deprecated.md
663
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-deprecated.md
615
664
  */
616
665
  "import/no-deprecated"?: Linter.RuleEntry<[]>;
617
666
  /**
618
667
  * Forbid repeated import of the same module in multiple places.
619
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-duplicates.md
668
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-duplicates.md
620
669
  */
621
670
  "import/no-duplicates"?: Linter.RuleEntry<ImportNoDuplicates>;
622
671
  /**
623
672
  * Forbid `require()` calls with expressions.
624
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-dynamic-require.md
673
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-dynamic-require.md
625
674
  */
626
675
  "import/no-dynamic-require"?: Linter.RuleEntry<ImportNoDynamicRequire>;
627
676
  /**
628
677
  * Forbid empty named import blocks.
629
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-empty-named-blocks.md
678
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-empty-named-blocks.md
630
679
  */
631
680
  "import/no-empty-named-blocks"?: Linter.RuleEntry<[]>;
632
681
  /**
633
682
  * Forbid the use of extraneous packages.
634
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-extraneous-dependencies.md
683
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-extraneous-dependencies.md
635
684
  */
636
685
  "import/no-extraneous-dependencies"?: Linter.RuleEntry<ImportNoExtraneousDependencies>;
637
686
  /**
@@ -640,102 +689,102 @@ interface ImportsRules {
640
689
  "import/no-import-module-exports"?: Linter.RuleEntry<ImportNoImportModuleExports>;
641
690
  /**
642
691
  * Forbid importing the submodules of other modules.
643
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-internal-modules.md
692
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-internal-modules.md
644
693
  */
645
694
  "import/no-internal-modules"?: Linter.RuleEntry<ImportNoInternalModules>;
646
695
  /**
647
696
  * Forbid the use of mutable exports with `var` or `let`.
648
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-mutable-exports.md
697
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-mutable-exports.md
649
698
  */
650
699
  "import/no-mutable-exports"?: Linter.RuleEntry<[]>;
651
700
  /**
652
701
  * Forbid use of exported name as identifier of default export.
653
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-as-default.md
702
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default.md
654
703
  */
655
704
  "import/no-named-as-default"?: Linter.RuleEntry<[]>;
656
705
  /**
657
706
  * Forbid use of exported name as property of default export.
658
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-as-default-member.md
707
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default-member.md
659
708
  */
660
709
  "import/no-named-as-default-member"?: Linter.RuleEntry<[]>;
661
710
  /**
662
711
  * Forbid named default exports.
663
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-default.md
712
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-default.md
664
713
  */
665
714
  "import/no-named-default"?: Linter.RuleEntry<[]>;
666
715
  /**
667
716
  * Forbid named exports.
668
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-export.md
717
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-export.md
669
718
  */
670
719
  "import/no-named-export"?: Linter.RuleEntry<[]>;
671
720
  /**
672
721
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
673
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-namespace.md
722
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-namespace.md
674
723
  */
675
724
  "import/no-namespace"?: Linter.RuleEntry<ImportNoNamespace>;
676
725
  /**
677
726
  * Forbid Node.js builtin modules.
678
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-nodejs-modules.md
727
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-nodejs-modules.md
679
728
  */
680
729
  "import/no-nodejs-modules"?: Linter.RuleEntry<ImportNoNodejsModules>;
681
730
  /**
682
731
  * Forbid importing packages through relative paths.
683
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-relative-packages.md
732
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-packages.md
684
733
  */
685
734
  "import/no-relative-packages"?: Linter.RuleEntry<ImportNoRelativePackages>;
686
735
  /**
687
736
  * Forbid importing modules from parent directories.
688
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-relative-parent-imports.md
737
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-parent-imports.md
689
738
  */
690
739
  "import/no-relative-parent-imports"?: Linter.RuleEntry<ImportNoRelativeParentImports>;
691
740
  /**
692
741
  * Enforce which files can be imported in a given folder.
693
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-restricted-paths.md
742
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-restricted-paths.md
694
743
  */
695
744
  "import/no-restricted-paths"?: Linter.RuleEntry<ImportNoRestrictedPaths>;
696
745
  /**
697
746
  * Forbid a module from importing itself.
698
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-self-import.md
747
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-self-import.md
699
748
  */
700
749
  "import/no-self-import"?: Linter.RuleEntry<[]>;
701
750
  /**
702
751
  * Forbid unassigned imports
703
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-unassigned-import.md
752
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unassigned-import.md
704
753
  */
705
754
  "import/no-unassigned-import"?: Linter.RuleEntry<ImportNoUnassignedImport>;
706
755
  /**
707
756
  * Ensure imports point to a file/module that can be resolved.
708
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-unresolved.md
757
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unresolved.md
709
758
  */
710
759
  "import/no-unresolved"?: Linter.RuleEntry<ImportNoUnresolved>;
711
760
  /**
712
761
  * Forbid modules without exports, or exports without matching import in another module.
713
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-unused-modules.md
762
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unused-modules.md
714
763
  */
715
764
  "import/no-unused-modules"?: Linter.RuleEntry<ImportNoUnusedModules>;
716
765
  /**
717
766
  * Forbid unnecessary path segments in import and require statements.
718
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-useless-path-segments.md
767
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-useless-path-segments.md
719
768
  */
720
769
  "import/no-useless-path-segments"?: Linter.RuleEntry<ImportNoUselessPathSegments>;
721
770
  /**
722
771
  * Forbid webpack loader syntax in imports.
723
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-webpack-loader-syntax.md
772
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-webpack-loader-syntax.md
724
773
  */
725
774
  "import/no-webpack-loader-syntax"?: Linter.RuleEntry<[]>;
726
775
  /**
727
776
  * Enforce a convention in module import order.
728
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/order.md
777
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/order.md
729
778
  */
730
779
  "import/order"?: Linter.RuleEntry<ImportOrder>;
731
780
  /**
732
781
  * Prefer a default export if module exports a single name or multiple names.
733
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/prefer-default-export.md
782
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/prefer-default-export.md
734
783
  */
735
784
  "import/prefer-default-export"?: Linter.RuleEntry<ImportPreferDefaultExport>;
736
785
  /**
737
786
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
738
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/unambiguous.md
787
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/unambiguous.md
739
788
  */
740
789
  "import/unambiguous"?: Linter.RuleEntry<[]>;
741
790
  /**
@@ -774,6 +823,8 @@ type ImportDynamicImportChunkname = [] | [{
774
823
  webpackChunknameFormat?: string;
775
824
  [k: string]: unknown | undefined;
776
825
  }];
826
+ // ----- import/enforce-node-protocol-usage -----
827
+ type ImportEnforceNodeProtocolUsage = [("always" | "never")];
777
828
  // ----- import/extensions -----
778
829
  type ImportExtensions = ([] | [("always" | "ignorePackages" | "never")] | [] | [("always" | "ignorePackages" | "never")] | [("always" | "ignorePackages" | "never"), {
779
830
  pattern?: {
@@ -781,6 +832,13 @@ type ImportExtensions = ([] | [("always" | "ignorePackages" | "never")] | [] | [
781
832
  };
782
833
  checkTypeImports?: boolean;
783
834
  ignorePackages?: boolean;
835
+ pathGroupOverrides?: {
836
+ pattern: string;
837
+ patternOptions?: {
838
+ [k: string]: unknown | undefined;
839
+ };
840
+ action: ("enforce" | "ignore");
841
+ }[];
784
842
  [k: string]: unknown | undefined;
785
843
  }] | [] | [{
786
844
  pattern?: {
@@ -788,6 +846,13 @@ type ImportExtensions = ([] | [("always" | "ignorePackages" | "never")] | [] | [
788
846
  };
789
847
  checkTypeImports?: boolean;
790
848
  ignorePackages?: boolean;
849
+ pathGroupOverrides?: {
850
+ pattern: string;
851
+ patternOptions?: {
852
+ [k: string]: unknown | undefined;
853
+ };
854
+ action: ("enforce" | "ignore");
855
+ }[];
791
856
  [k: string]: unknown | undefined;
792
857
  }] | [] | [{
793
858
  [k: string]: ("always" | "ignorePackages" | "never");
@@ -953,7 +1018,7 @@ type ImportNoUselessPathSegments = [] | [{
953
1018
  }];
954
1019
  // ----- import/order -----
955
1020
  type ImportOrder = [] | [{
956
- groups?: unknown[];
1021
+ groups?: (("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type") | ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")[])[];
957
1022
  pathGroupsExcludedImportTypes?: unknown[];
958
1023
  distinctGroup?: boolean;
959
1024
  pathGroups?: {
@@ -965,6 +1030,9 @@ type ImportOrder = [] | [{
965
1030
  position?: ("after" | "before");
966
1031
  }[];
967
1032
  "newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never");
1033
+ "newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never");
1034
+ consolidateIslands?: ("inside-groups" | "never");
1035
+ sortTypesGroup?: boolean;
968
1036
  named?: (boolean | {
969
1037
  enabled?: boolean;
970
1038
  import?: boolean;
@@ -1512,7 +1580,7 @@ interface JavascriptRules {
1512
1580
  */
1513
1581
  "no-console"?: Linter.RuleEntry<NoConsole>;
1514
1582
  /**
1515
- * Disallow reassigning `const` variables
1583
+ * Disallow reassigning `const`, `using`, and `await using` variables
1516
1584
  * @see https://eslint.org/docs/latest/rules/no-const-assign
1517
1585
  */
1518
1586
  "no-const-assign"?: Linter.RuleEntry<[]>;
@@ -2568,6 +2636,7 @@ type AccessorPairs = [] | [{
2568
2636
  getWithoutSet?: boolean;
2569
2637
  setWithoutGet?: boolean;
2570
2638
  enforceForClassMembers?: boolean;
2639
+ enforceForTSTypes?: boolean;
2571
2640
  }];
2572
2641
  // ----- array-bracket-newline -----
2573
2642
  type ArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
@@ -2757,7 +2826,9 @@ type GetterReturn = [] | [{
2757
2826
  allowImplicit?: boolean;
2758
2827
  }];
2759
2828
  // ----- grouped-accessor-pairs -----
2760
- type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")];
2829
+ type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")] | [("anyOrder" | "getBeforeSet" | "setBeforeGet"), {
2830
+ enforceForTSTypes?: boolean;
2831
+ }];
2761
2832
  // ----- handle-callback-err -----
2762
2833
  type HandleCallbackErr = [] | [string];
2763
2834
  // ----- id-blacklist -----
@@ -3395,6 +3466,7 @@ type NoConstantCondition = [] | [{
3395
3466
  // ----- no-duplicate-imports -----
3396
3467
  type NoDuplicateImports = [] | [{
3397
3468
  includeExports?: boolean;
3469
+ allowSeparateTypeImports?: boolean;
3398
3470
  }];
3399
3471
  // ----- no-else-return -----
3400
3472
  type NoElseReturn = [] | [{
@@ -3708,6 +3780,7 @@ type NoUnusedVars = [] | [(("all" | "local") | {
3708
3780
  caughtErrorsIgnorePattern?: string;
3709
3781
  destructuredArrayIgnorePattern?: string;
3710
3782
  ignoreClassWithStaticInitBlock?: boolean;
3783
+ ignoreUsingDeclarations?: boolean;
3711
3784
  reportUsedIgnorePattern?: boolean;
3712
3785
  })];
3713
3786
  // ----- no-use-before-define -----
@@ -4436,6 +4509,7 @@ type JsdocLinesBeforeBlock = [] | [{
4436
4509
  checkBlockStarts?: boolean;
4437
4510
  excludedTags?: string[];
4438
4511
  ignoreSameLine?: boolean;
4512
+ ignoreSingleLines?: boolean;
4439
4513
  lines?: number;
4440
4514
  }];
4441
4515
  // ----- jsdoc/match-description -----
@@ -4466,8 +4540,8 @@ type JsdocMatchName = [] | [{
4466
4540
  context?: string;
4467
4541
  disallowName?: string;
4468
4542
  message?: string;
4543
+ replacement?: string;
4469
4544
  tags?: string[];
4470
- [k: string]: unknown | undefined;
4471
4545
  }[];
4472
4546
  }];
4473
4547
  // ----- jsdoc/multiline-blocks -----
@@ -4479,6 +4553,7 @@ type JsdocMultilineBlocks = [] | [{
4479
4553
  noMultilineBlocks?: boolean;
4480
4554
  noSingleLineBlocks?: boolean;
4481
4555
  noZeroLineText?: boolean;
4556
+ requireSingleLineUnderCount?: number;
4482
4557
  singleLineTags?: string[];
4483
4558
  }];
4484
4559
  // ----- jsdoc/no-bad-blocks -----
@@ -4540,7 +4615,6 @@ type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("alway
4540
4615
  always?: string[];
4541
4616
  any?: string[];
4542
4617
  never?: string[];
4543
- [k: string]: unknown | undefined;
4544
4618
  };
4545
4619
  }];
4546
4620
  // ----- jsdoc/require-description -----
@@ -4750,7 +4824,6 @@ type JsdocSortTags = [] | [{
4750
4824
  reportTagGroupSpacing?: boolean;
4751
4825
  tagSequence?: {
4752
4826
  tags?: string[];
4753
- [k: string]: unknown | undefined;
4754
4827
  }[];
4755
4828
  }];
4756
4829
  // ----- jsdoc/tag-lines -----
@@ -5279,6 +5352,11 @@ interface MarkdownRules {
5279
5352
  */
5280
5353
  "markdown/heading-increment"?: Linter.RuleEntry<[]>;
5281
5354
  /**
5355
+ * Disallow bare URLs
5356
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
5357
+ */
5358
+ "markdown/no-bare-urls"?: Linter.RuleEntry<[]>;
5359
+ /**
5282
5360
  * Disallow duplicate definitions
5283
5361
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-definitions.md
5284
5362
  */
@@ -5287,12 +5365,12 @@ interface MarkdownRules {
5287
5365
  * Disallow duplicate headings in the same document
5288
5366
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-headings.md
5289
5367
  */
5290
- "markdown/no-duplicate-headings"?: Linter.RuleEntry<[]>;
5368
+ "markdown/no-duplicate-headings"?: Linter.RuleEntry<MarkdownNoDuplicateHeadings>;
5291
5369
  /**
5292
5370
  * Disallow empty definitions
5293
5371
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-definitions.md
5294
5372
  */
5295
- "markdown/no-empty-definitions"?: Linter.RuleEntry<[]>;
5373
+ "markdown/no-empty-definitions"?: Linter.RuleEntry<MarkdownNoEmptyDefinitions>;
5296
5374
  /**
5297
5375
  * Disallow empty images
5298
5376
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-images.md
@@ -5324,11 +5402,26 @@ interface MarkdownRules {
5324
5402
  */
5325
5403
  "markdown/no-missing-label-refs"?: Linter.RuleEntry<[]>;
5326
5404
  /**
5405
+ * Disallow link fragments that do not reference valid headings
5406
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
5407
+ */
5408
+ "markdown/no-missing-link-fragments"?: Linter.RuleEntry<MarkdownNoMissingLinkFragments>;
5409
+ /**
5327
5410
  * Disallow multiple H1 headings in the same document
5328
5411
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
5329
5412
  */
5330
5413
  "markdown/no-multiple-h1"?: Linter.RuleEntry<MarkdownNoMultipleH1>;
5331
5414
  /**
5415
+ * Disallow reversed link and image syntax
5416
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
5417
+ */
5418
+ "markdown/no-reversed-media-syntax"?: Linter.RuleEntry<[]>;
5419
+ /**
5420
+ * Disallow unused definitions
5421
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
5422
+ */
5423
+ "markdown/no-unused-definitions"?: Linter.RuleEntry<MarkdownNoUnusedDefinitions>;
5424
+ /**
5332
5425
  * Require alternative text for images
5333
5426
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/require-alt-text.md
5334
5427
  */
@@ -5337,7 +5430,7 @@ interface MarkdownRules {
5337
5430
  * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
5338
5431
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
5339
5432
  */
5340
- "markdown/table-column-count"?: Linter.RuleEntry<[]>;
5433
+ "markdown/table-column-count"?: Linter.RuleEntry<MarkdownTableColumnCount>;
5341
5434
  }
5342
5435
  /* ======= Declarations ======= */
5343
5436
  // ----- markdown/fenced-code-language -----
@@ -5349,14 +5442,38 @@ type MarkdownNoDuplicateDefinitions = [] | [{
5349
5442
  allowDefinitions?: string[];
5350
5443
  allowFootnoteDefinitions?: string[];
5351
5444
  }];
5445
+ // ----- markdown/no-duplicate-headings -----
5446
+ type MarkdownNoDuplicateHeadings = [] | [{
5447
+ checkSiblingsOnly?: boolean;
5448
+ }];
5449
+ // ----- markdown/no-empty-definitions -----
5450
+ type MarkdownNoEmptyDefinitions = [] | [{
5451
+ allowDefinitions?: string[];
5452
+ allowFootnoteDefinitions?: string[];
5453
+ checkFootnoteDefinitions?: boolean;
5454
+ }];
5352
5455
  // ----- markdown/no-html -----
5353
5456
  type MarkdownNoHtml = [] | [{
5354
5457
  allowed?: string[];
5355
5458
  }];
5459
+ // ----- markdown/no-missing-link-fragments -----
5460
+ type MarkdownNoMissingLinkFragments = [] | [{
5461
+ ignoreCase?: boolean;
5462
+ allowPattern?: string;
5463
+ }];
5356
5464
  // ----- markdown/no-multiple-h1 -----
5357
5465
  type MarkdownNoMultipleH1 = [] | [{
5358
5466
  frontmatterTitle?: string;
5359
5467
  }];
5468
+ // ----- markdown/no-unused-definitions -----
5469
+ type MarkdownNoUnusedDefinitions = [] | [{
5470
+ allowDefinitions?: string[];
5471
+ allowFootnoteDefinitions?: string[];
5472
+ }];
5473
+ // ----- markdown/table-column-count -----
5474
+ type MarkdownTableColumnCount = [] | [{
5475
+ checkMissingCells?: boolean;
5476
+ }];
5360
5477
  //#endregion
5361
5478
  //#region src/types/gens/prettier.d.ts
5362
5479
  /* eslint-disable */
@@ -10514,6 +10631,7 @@ interface _TypescriptEslintNamingConvention_MatchRegexConfig {
10514
10631
  }
10515
10632
  // ----- @typescript-eslint/no-base-to-string -----
10516
10633
  type TypescriptEslintNoBaseToString = [] | [{
10634
+ checkUnknown?: boolean;
10517
10635
  ignoredTypeNames?: string[];
10518
10636
  }];
10519
10637
  // ----- @typescript-eslint/no-confusing-void-expression -----
@@ -10837,7 +10955,6 @@ type TypescriptEslintPreferDestructuring = [] | [({
10837
10955
  }), {
10838
10956
  enforceForDeclarationWithTypeAnnotation?: boolean;
10839
10957
  enforceForRenamedProperties?: boolean;
10840
- [k: string]: unknown | undefined;
10841
10958
  }];
10842
10959
  // ----- @typescript-eslint/prefer-literal-enum-member -----
10843
10960
  type TypescriptEslintPreferLiteralEnumMember = [] | [{
@@ -10855,7 +10972,6 @@ type TypescriptEslintPreferNullishCoalescing = [] | [{
10855
10972
  boolean?: boolean;
10856
10973
  number?: boolean;
10857
10974
  string?: boolean;
10858
- [k: string]: unknown | undefined;
10859
10975
  } | true);
10860
10976
  ignoreTernaryTests?: boolean;
10861
10977
  }];
@@ -11897,6 +12013,11 @@ interface VitestRules {
11897
12013
  */
11898
12014
  "vitest/consistent-test-it"?: Linter.RuleEntry<VitestConsistentTestIt>;
11899
12015
  /**
12016
+ * enforce using vitest or vi but not both
12017
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md
12018
+ */
12019
+ "vitest/consistent-vitest-vi"?: Linter.RuleEntry<VitestConsistentVitestVi>;
12020
+ /**
11900
12021
  * enforce having expectation in test body
11901
12022
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
11902
12023
  */
@@ -11973,6 +12094,11 @@ interface VitestRules {
11973
12094
  */
11974
12095
  "vitest/no-import-node-test"?: Linter.RuleEntry<[]>;
11975
12096
  /**
12097
+ * disallow importing Vitest globals
12098
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md
12099
+ */
12100
+ "vitest/no-importing-vitest-globals"?: Linter.RuleEntry<[]>;
12101
+ /**
11976
12102
  * disallow string interpolation in snapshots
11977
12103
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
11978
12104
  */
@@ -12003,7 +12129,7 @@ interface VitestRules {
12003
12129
  */
12004
12130
  "vitest/no-standalone-expect"?: Linter.RuleEntry<VitestNoStandaloneExpect>;
12005
12131
  /**
12006
- * Disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
12132
+ * disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
12007
12133
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
12008
12134
  */
12009
12135
  "vitest/no-test-prefixes"?: Linter.RuleEntry<[]>;
@@ -12053,6 +12179,16 @@ interface VitestRules {
12053
12179
  */
12054
12180
  "vitest/padding-around-test-blocks"?: Linter.RuleEntry<[]>;
12055
12181
  /**
12182
+ * enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
12183
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
12184
+ */
12185
+ "vitest/prefer-called-once"?: Linter.RuleEntry<[]>;
12186
+ /**
12187
+ * enforce using `toBeCalledTimes(1)` or `toHaveBeenCalledTimes(1)`
12188
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-times.md
12189
+ */
12190
+ "vitest/prefer-called-times"?: Linter.RuleEntry<[]>;
12191
+ /**
12056
12192
  * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
12057
12193
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
12058
12194
  */
@@ -12098,6 +12234,11 @@ interface VitestRules {
12098
12234
  */
12099
12235
  "vitest/prefer-hooks-on-top"?: Linter.RuleEntry<[]>;
12100
12236
  /**
12237
+ * enforce importing Vitest globals
12238
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
12239
+ */
12240
+ "vitest/prefer-importing-vitest-globals"?: Linter.RuleEntry<[]>;
12241
+ /**
12101
12242
  * enforce lowercase titles
12102
12243
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
12103
12244
  */
@@ -12212,6 +12353,11 @@ interface VitestRules {
12212
12353
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
12213
12354
  */
12214
12355
  "vitest/valid-title"?: Linter.RuleEntry<VitestValidTitle>;
12356
+ /**
12357
+ * disallow `.todo` usage
12358
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/warn-todo.md
12359
+ */
12360
+ "vitest/warn-todo"?: Linter.RuleEntry<[]>;
12215
12361
  }
12216
12362
  /* ======= Declarations ======= */
12217
12363
  // ----- vitest/consistent-test-filename -----
@@ -12224,6 +12370,10 @@ type VitestConsistentTestIt = [] | [{
12224
12370
  fn?: ("test" | "it");
12225
12371
  withinDescribe?: ("test" | "it");
12226
12372
  }];
12373
+ // ----- vitest/consistent-vitest-vi -----
12374
+ type VitestConsistentVitestVi = [] | [{
12375
+ fn?: ("vi" | "vitest");
12376
+ }];
12227
12377
  // ----- vitest/expect-expect -----
12228
12378
  type VitestExpectExpect = [] | [{
12229
12379
  assertFunctionNames?: string[];
@@ -13100,7 +13250,7 @@ interface VueRules {
13100
13250
  */
13101
13251
  "vue/no-restricted-custom-event"?: Linter.RuleEntry<VueNoRestrictedCustomEvent>;
13102
13252
  /**
13103
- * disallow specific HTML elements
13253
+ * disallow specific elements
13104
13254
  * @see https://eslint.vuejs.org/rules/no-restricted-html-elements.html
13105
13255
  */
13106
13256
  "vue/no-restricted-html-elements"?: Linter.RuleEntry<VueNoRestrictedHtmlElements>;
@@ -15539,6 +15689,7 @@ interface CommentsOptions {
15539
15689
  /**
15540
15690
  * configure comments preset for the below plugins
15541
15691
  * - `@eslint-community/eslint-plugin-eslint-comments`
15692
+ *
15542
15693
  * @param {CommentsOptions} options {@link CommentsOptions | comments preset options}
15543
15694
  * @returns {Promise<Linter.Config[]>} resolved eslint flat configurations
15544
15695
  */
@@ -15551,12 +15702,14 @@ declare function comments(options?: CommentsOptions): Promise<Linter.Config[]>;
15551
15702
  interface CssOptions {
15552
15703
  /**
15553
15704
  * whether to enable strict mode
15705
+ *
15554
15706
  * @see https://github.com/eslint/css?tab=readme-ov-file#tolerant-mode
15555
15707
  * @default false
15556
15708
  */
15557
15709
  tolerant?: boolean;
15558
15710
  /**
15559
15711
  * whether to enable custom syntax
15712
+ *
15560
15713
  * @description if 'tailwind', it will enable [Tailwind Syntax](https://github.com/eslint/css?tab=readme-ov-file#configuring-tailwind-syntax), otherwise it will enable [custom syntax](https://github.com/eslint/css?tab=readme-ov-file#configuring-custom-syntax)
15561
15714
  * @default false
15562
15715
  */
@@ -15564,11 +15717,12 @@ interface CssOptions {
15564
15717
  * TODO: If this issue is resolved, we should define more strict types for customSyntax
15565
15718
  * https://github.com/eslint/css/issues/56
15566
15719
  */
15567
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15720
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- NOTE(kazupon): `customSyntax` can be any object
15568
15721
  customSyntax?: false | "tailwind" | Record<string, any>;
15569
15722
  }
15570
15723
  /**
15571
15724
  * `@eslint/css` and overrides configuration options
15725
+ *
15572
15726
  * @param {CssOptions & OverridesOptions} options
15573
15727
  * eslint css configuration options
15574
15728
  * @returns {Promise<Linter.Config[]>}
@@ -15583,6 +15737,7 @@ declare function css(options?: CssOptions & OverridesOptions<CssRules>): Promise
15583
15737
  interface HtmlOptions {
15584
15738
  /**
15585
15739
  * whether to enable template engine syntax
15740
+ *
15586
15741
  * @default undefined
15587
15742
  */
15588
15743
  templateEngineSyntax?: "erb" | "handlebar" | "twig" | {
@@ -15590,18 +15745,21 @@ interface HtmlOptions {
15590
15745
  };
15591
15746
  /**
15592
15747
  * whether to enable frontmatter in html files
15748
+ *
15593
15749
  * @see https://html-eslint.org/docs/integrating-template-engine#skip-frontmatter
15594
15750
  * @default false
15595
15751
  */
15596
15752
  frontmatter?: boolean;
15597
15753
  /**
15598
15754
  * whether to disable stylistic rules for prettier, if set `true`
15755
+ *
15599
15756
  * @default false
15600
15757
  */
15601
15758
  prettier?: boolean;
15602
15759
  }
15603
15760
  /**
15604
15761
  * `@html-eslint/eslint-plugin` and overrides configuration options
15762
+ *
15605
15763
  * @param {HtmlOptions & OverridesOptions} options eslint configuration options for HTML
15606
15764
  * @returns {Promise<Linter.Config[]>}
15607
15765
  * eslint flat configurations with `@html-eslint/eslint-plugin` and overrides
@@ -15615,17 +15773,20 @@ declare function html(options?: HtmlOptions & OverridesOptions<HtmlRules>): Prom
15615
15773
  interface ImportsOptions {
15616
15774
  /**
15617
15775
  * use typescript
15776
+ *
15618
15777
  * @default false
15619
15778
  */
15620
15779
  typescript?: boolean;
15621
15780
  /**
15622
15781
  * use `eslint-plugin-module-interop`
15782
+ *
15623
15783
  * @default true
15624
15784
  */
15625
15785
  interop?: boolean;
15626
15786
  }
15627
15787
  /**
15628
15788
  * `eslint-plugin-import-x`, `eslint-plugin-unused-imports` and overrides configuration options
15789
+ *
15629
15790
  * @description if you want to use this preset, you need to put after `javascript` and `typescript` presets**
15630
15791
  * @param {ImportsOptions & OverridesOptions} options
15631
15792
  * import configuration options
@@ -15638,10 +15799,11 @@ declare function imports(options?: ImportsOptions & OverridesOptions<ImportsRule
15638
15799
  /**
15639
15800
  * JavaScript configuration options
15640
15801
  */
15641
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
15802
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- NOTE(kazupon): This is a placeholder for future options
15642
15803
  interface JavaScriptOptions {}
15643
15804
  /**
15644
15805
  * `@eslint/js` and overrides configuration options
15806
+ *
15645
15807
  * @param {JavaScriptOptions & OverridesOptions} options eslint configuration options for JavaScript
15646
15808
  * @returns {Promise<Linter.Config[]>} eslint flat configurations with `@eslint/js` and overrides
15647
15809
  */
@@ -15654,21 +15816,27 @@ declare function javascript(options?: JavaScriptOptions & OverridesOptions<Javas
15654
15816
  interface JsDocumentOptions {
15655
15817
  /**
15656
15818
  * If you want to use TypeScript, you need to set `syntax`, else if you want to use JavaScript and TypeScript flavor in comments, you need to set `flavor`.
15819
+ *
15657
15820
  * @see https://github.com/gajus/eslint-plugin-jsdoc?tab=readme-ov-file#configuration
15821
+ *
15658
15822
  * @default undefined
15659
15823
  */
15660
15824
  typescript?: "syntax" | "flavor";
15661
15825
  /**
15662
15826
  * If you wish to have all linting issues reported as failing errors, you can set this to `true`.
15827
+ *
15663
15828
  * @see https://github.com/gajus/eslint-plugin-jsdoc?tab=readme-ov-file#configuration
15829
+ *
15664
15830
  * @default false
15665
15831
  */
15666
15832
  error?: boolean;
15667
15833
  }
15668
15834
  /**
15669
15835
  * `eslint-plugin-jsdoc` and overrides configuration options
15836
+ *
15670
15837
  * @param {JsDocOptions & OverridesOptions} options
15671
15838
  * eslint configuration options for JavaScript
15839
+ *
15672
15840
  * @returns {Promise<Linter.Config[]>}
15673
15841
  * eslint flat configurations with `eslint-plugin-jsdoc` and overrides
15674
15842
  */
@@ -15681,24 +15849,28 @@ declare function jsdoc(options?: JsDocumentOptions & OverridesOptions<JsdocRules
15681
15849
  interface JsoncOptions {
15682
15850
  /**
15683
15851
  * whether to enable config `'flat/recommended-with-json'`of `eslint-plugin-jsonc`.
15852
+ *
15684
15853
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/user-guide/#usage
15685
15854
  * @default false
15686
15855
  */
15687
15856
  json?: boolean;
15688
15857
  /**
15689
15858
  * whether to enable config `'flat/recommended-with-jsonc'`of `eslint-plugin-jsonc`.
15859
+ *
15690
15860
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/user-guide/#usage
15691
15861
  * @default false
15692
15862
  */
15693
15863
  jsonc?: boolean;
15694
15864
  /**
15695
15865
  * whether to enable config `'flat/recommended-with-json5'`of `eslint-plugin-jsonc`.
15866
+ *
15696
15867
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/user-guide/#usage
15697
15868
  * @default false
15698
15869
  */
15699
15870
  json5?: boolean;
15700
15871
  /**
15701
15872
  * whether to enable config `'flat/prettier'`of `eslint-plugin-jsonc`.
15873
+ *
15702
15874
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/user-guide/#usage
15703
15875
  * @default false
15704
15876
  */
@@ -15706,6 +15878,7 @@ interface JsoncOptions {
15706
15878
  }
15707
15879
  /**
15708
15880
  * `eslint-plugin-jsonc` and overrides configuration options
15881
+ *
15709
15882
  * @param {JsoncOptions & OverridesOptions} options
15710
15883
  * eslint jsonc configuration options for json, jsonc, json5
15711
15884
  * @returns {Promise<Linter.Config[]>}
@@ -15720,12 +15893,14 @@ declare function jsonc(options?: JsoncOptions & OverridesOptions<JsoncRules>): P
15720
15893
  interface MarkdownOptions {
15721
15894
  /**
15722
15895
  * makrdown language
15896
+ *
15723
15897
  * @see https://github.com/eslint/markdown?tab=readme-ov-file#languages
15724
15898
  * @default 'gfm'
15725
15899
  */
15726
15900
  language?: "commonmark" | "gfm";
15727
15901
  /**
15728
15902
  * enable fenced code blocks
15903
+ *
15729
15904
  * @see https://github.com/eslint/markdown/blob/main/docs/processors/markdown.md
15730
15905
  * @default true
15731
15906
  */
@@ -15757,6 +15932,7 @@ interface MarkdownOptions {
15757
15932
  // }
15758
15933
  /**
15759
15934
  * `@eslint/markdown` and overrides configuration options
15935
+ *
15760
15936
  * @param {MarkdownOptions & OverridesOptions} options
15761
15937
  * eslint unicorn configuration options
15762
15938
  * @returns {Promise<Linter.Config[]>}
@@ -15770,10 +15946,11 @@ declare const md: typeof markdown;
15770
15946
  /**
15771
15947
  * Prettier configuration options
15772
15948
  */
15773
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
15949
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- NOTE(kazupon): This is a placeholder for future options
15774
15950
  interface PrettierOptions {}
15775
15951
  /**
15776
15952
  * `eslint-config-prettier` and overrides configuration options
15953
+ *
15777
15954
  * @param {PrettierOptions & OverridesOptions} options
15778
15955
  * eslint configuration options for Prettier
15779
15956
  * @returns {Promise<Linter.Config[]>}
@@ -15785,10 +15962,11 @@ declare function prettier(options?: PrettierOptions & OverridesOptions<PrettierR
15785
15962
  /**
15786
15963
  * eslint promise configuration options
15787
15964
  */
15788
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
15965
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- NOTE(kazupon): This is a placeholder for future options
15789
15966
  interface PromiseOptions {}
15790
15967
  /**
15791
15968
  * `eslint-plugin-promise` and overrides configuration options
15969
+ *
15792
15970
  * @param {PromiseOptions & OverridesOptions} options
15793
15971
  * eslint promise configuration options
15794
15972
  * @returns {Promise<Linter.Config[]>}
@@ -15803,6 +15981,7 @@ declare function promise(options?: PromiseOptions & OverridesOptions<PromiseRule
15803
15981
  interface TypeScriptOptions {
15804
15982
  /**
15805
15983
  * Additional extensions for files.
15984
+ *
15806
15985
  * @see https://typescript-eslint.io/packages/parser/#extrafileextensions
15807
15986
  */
15808
15987
  extraFileExtensions?: string[];
@@ -15811,7 +15990,10 @@ interface TypeScriptOptions {
15811
15990
  */
15812
15991
  parserOptions?: TypeScriptParserOptions;
15813
15992
  }
15993
+ /* eslint-disable jsdoc/require-jsdoc -- NOTE(kazupon): reference above URL */
15814
15994
  /**
15995
+ * TypeScript parser options
15996
+ *
15815
15997
  * @see https://typescript-eslint.io/packages/parser/#configuration
15816
15998
  */
15817
15999
  interface TypeScriptParserOptions {
@@ -15832,7 +16014,7 @@ interface TypeScriptParserOptions {
15832
16014
  jsxFragmentName?: string | null;
15833
16015
  jsxPragma?: string | null;
15834
16016
  lib?: string[];
15835
- programs?: typescript1.Program[];
16017
+ programs?: typescript0.Program[];
15836
16018
  project?: string | string[] | boolean | null;
15837
16019
  projectFolderIgnoreList?: string[];
15838
16020
  projectService?: boolean | TypeScriptProjectServiceOptions;
@@ -15840,14 +16022,18 @@ interface TypeScriptParserOptions {
15840
16022
  warnOnUnsupportedTypeScriptVersion?: boolean;
15841
16023
  }
15842
16024
  /**
16025
+ * TypeScript project service options
16026
+ *
15843
16027
  * @see https://typescript-eslint.io/packages/parser/#projectservice
15844
16028
  */
15845
16029
  interface TypeScriptProjectServiceOptions {
15846
16030
  allowDefaultProject?: string[];
15847
16031
  defaultProject?: string;
15848
16032
  }
16033
+ /* eslint-enable jsdoc/require-jsdoc */
15849
16034
  /**
15850
16035
  * `typescript-eslint` and overrides configuration options
16036
+ *
15851
16037
  * @param {TypeScriptOptions & OverridesOptions} options
15852
16038
  * eslint configuration options for TypeScript
15853
16039
  * @returns {Promise<Linter.FlatConfig[]>}
@@ -15862,17 +16048,20 @@ declare function typescript(options?: TypeScriptOptions & OverridesOptions<Types
15862
16048
  interface ReactOptions {
15863
16049
  /**
15864
16050
  * use TypeScript
16051
+ *
15865
16052
  * @default true
15866
16053
  */
15867
16054
  typescript?: boolean;
15868
16055
  /**
15869
16056
  * enable `eslint-plugin-react-refresh` recommended rules
16057
+ *
15870
16058
  * @default false
15871
16059
  */
15872
16060
  refresh?: boolean;
15873
16061
  }
15874
16062
  /**
15875
16063
  * `eslint-plugin-react` and overrides configuration options
16064
+ *
15876
16065
  * @param {ReactOptions & OverridesOptions} options
15877
16066
  * eslint react configuration options for regular expressions
15878
16067
  * @returns {Promise<Linter.Config[]>}
@@ -15884,10 +16073,11 @@ declare function react(options?: ReactOptions & TypeScriptOptions & OverridesOpt
15884
16073
  /**
15885
16074
  * eslint regexp configuration options
15886
16075
  */
15887
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
16076
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- NOTE(kazupon): This is a placeholder for future options
15888
16077
  interface RegexpOptions {}
15889
16078
  /**
15890
16079
  * `eslint-plugin-regexp` and overrides configuration options
16080
+ *
15891
16081
  * @param {RegexpOptions & OverridesOptions} options
15892
16082
  * eslint regexp configuration options for regular expressions
15893
16083
  * @returns {Promise<Linter.Config[]>}
@@ -15902,12 +16092,14 @@ declare function regexp(options?: RegexpOptions & OverridesOptions<RegexpRules>)
15902
16092
  interface StylisticOptions {
15903
16093
  /**
15904
16094
  * stylistic customize options
16095
+ *
15905
16096
  * @see https://eslint.style/guide/config-presets#configuration-factory
15906
16097
  */
15907
16098
  customize?: StylisticCustomizeOptions;
15908
16099
  }
15909
16100
  /**
15910
16101
  * `@stylistic/eslint-plugin` and overrides configuration options
16102
+ *
15911
16103
  * @param {StylisticOptions & OverridesOptions} options
15912
16104
  * stylistic eslint plugin configuration options
15913
16105
  * @returns {Promise<Linter.Config[]>}
@@ -15922,17 +16114,20 @@ declare function stylistic(options?: StylisticOptions & OverridesOptions<Stylist
15922
16114
  interface SvelteScriptOptions {
15923
16115
  /**
15924
16116
  * use TypeScript in `template` block
16117
+ *
15925
16118
  * @default false
15926
16119
  */
15927
16120
  typescript?: boolean;
15928
16121
  /**
15929
16122
  * `svelte.config.js` configuration
16123
+ *
15930
16124
  * @default {}
15931
16125
  */
15932
16126
  svelteConfig?: Record<string, unknown>;
15933
16127
  }
15934
16128
  /**
15935
16129
  * `eslint-plugin-svelte` and overrides configuration options
16130
+ *
15936
16131
  * @param {SvelteScriptOptions & TypeScriptOptions & OverridesOptions} options
15937
16132
  * eslint configuration options for Vue
15938
16133
  * @returns {Promise<Linter.Config[]>}
@@ -15944,10 +16139,11 @@ declare function svelte(options?: SvelteScriptOptions & TypeScriptOptions & Over
15944
16139
  /**
15945
16140
  * eslint toml configuration options
15946
16141
  */
15947
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
16142
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- NOTE(kazupon): This is a placeholder for future options
15948
16143
  interface TomlOptions {}
15949
16144
  /**
15950
16145
  * `eslint-plugin-yml` and overrides configuration options
16146
+ *
15951
16147
  * @param {YmlOptions & OverridesOptions} options
15952
16148
  * eslint yml configuration options for yml, yaml
15953
16149
  * @returns {Promise<Linter.Config[]>}
@@ -15962,12 +16158,14 @@ declare function toml(options?: TomlOptions & OverridesOptions<TomlRules>): Prom
15962
16158
  interface UnicornOptions {
15963
16159
  /**
15964
16160
  * use TypeScript
16161
+ *
15965
16162
  * @default true
15966
16163
  */
15967
16164
  typescript?: boolean;
15968
16165
  }
15969
16166
  /**
15970
16167
  * `eslint-plugin-unicorn` and overrides configuration options
16168
+ *
15971
16169
  * @param {UnicornOptions & OverridesOptions} options
15972
16170
  * eslint unicorn configuration options
15973
16171
  * @returns {Promise<Linter.Config[]>}
@@ -15982,6 +16180,7 @@ declare function unicorn(options?: UnicornOptions & OverridesOptions<UnicornRule
15982
16180
  interface VitestOptions {
15983
16181
  /**
15984
16182
  * use type testing
16183
+ *
15985
16184
  * @description about type testing, see https://vitest.dev/guide/testing-types,
15986
16185
  * and about eslint config, see https://github.com/vitest-dev/eslint-plugin-vitest?tab=readme-ov-file#enabling-with-type-testing
15987
16186
  * @default false
@@ -15990,6 +16189,7 @@ interface VitestOptions {
15990
16189
  }
15991
16190
  /**
15992
16191
  * `@vitest/eslint-plugin` and overrides configuration options
16192
+ *
15993
16193
  * @param {VitestOptions & OverridesOptions} options
15994
16194
  * eslint vitest configuration options
15995
16195
  * @returns {Promise<Linter.Config[]>}
@@ -16004,26 +16204,31 @@ declare function vitest(options?: VitestOptions & OverridesOptions<VitestRules>)
16004
16204
  interface VueScriptOptions {
16005
16205
  /**
16006
16206
  * use TypeScript in `template` block
16207
+ *
16007
16208
  * @default false
16008
16209
  */
16009
16210
  typescript?: boolean;
16010
16211
  /**
16011
16212
  * enable `eslint-plugin-vue-composable` rules
16213
+ *
16012
16214
  * @default false
16013
16215
  */
16014
16216
  composable?: boolean;
16015
16217
  /**
16016
16218
  * enable `eslint-plugin-vue-scoped-css` rules
16219
+ *
16017
16220
  * @default false
16018
16221
  */
16019
16222
  scopedCss?: boolean;
16020
16223
  /**
16021
16224
  * enable `eslint-plugin-vue-eslint-plugin-vuejs-accessibility` rules
16225
+ *
16022
16226
  * @default false
16023
16227
  */
16024
16228
  a11y?: boolean;
16025
16229
  /**
16026
16230
  * enable `@intlify/eslint-plugin-vue-i18n` rules
16231
+ *
16027
16232
  * @default false
16028
16233
  */
16029
16234
  i18n?: VueI18nOptions;
@@ -16034,11 +16239,18 @@ interface VueScriptOptions {
16034
16239
  * see https://eslint-plugin-vue-i18n.intlify.dev/started.html#settings-vue-i18n
16035
16240
  */
16036
16241
  interface VueI18nOptions {
16242
+ /**
16243
+ * A directory path to the locale files
16244
+ */
16037
16245
  localeDir?: string;
16246
+ /**
16247
+ * The version of the intlify message syntax to use
16248
+ */
16038
16249
  messageSyntaxVersion?: string;
16039
16250
  }
16040
16251
  /**
16041
16252
  * `eslint-plugin-vue`, `eslint-plugin-vue-composable`, `eslint-plugin-vue-eslint-plugin-vuejs-accessibility` and overrides configuration options
16253
+ *
16042
16254
  * @param {VueScriptOptions & TypeScriptOptions & OverridesOptions} options
16043
16255
  * eslint configuration options for Vue
16044
16256
  * @returns {Promise<Linter.Config[]>}
@@ -16053,6 +16265,7 @@ declare function vue(options?: VueScriptOptions & TypeScriptOptions & OverridesO
16053
16265
  interface YmlOptions {
16054
16266
  /**
16055
16267
  * whether to enable config `'flat/prettier'`of `eslint-plugin-jsonc`.
16268
+ *
16056
16269
  * @see https://ota-meshi.github.io/eslint-plugin-yml/user-guide/#configuration
16057
16270
  * @default false
16058
16271
  */
@@ -16060,6 +16273,7 @@ interface YmlOptions {
16060
16273
  }
16061
16274
  /**
16062
16275
  * `eslint-plugin-yml` and overrides configuration options
16276
+ *
16063
16277
  * @param {YmlOptions & OverridesOptions} options
16064
16278
  * eslint yml configuration options for yml, yaml
16065
16279
  * @returns {Promise<Linter.Config[]>}