@ntnyq/eslint-config 5.0.0-beta.4 → 5.0.0-beta.6

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/README.md CHANGED
@@ -7,6 +7,9 @@
7
7
  [![NPM DOWNLOADS](https://img.shields.io/npm/dy/@ntnyq/eslint-config)](https://www.npmjs.com/package/@ntnyq/eslint-config)
8
8
  [![LICENSE](https://img.shields.io/github/license/ntnyq/eslint-config.svg)](https://github.com/ntnyq/eslint-config/blob/main/LICENSE)
9
9
 
10
+ > [!IMPORTANT]
11
+ > Feel free to create and maintain your own fork if you think this is too much opinionated.
12
+
10
13
  ## Requirement
11
14
 
12
15
  - NodeJS v20.11.0+
@@ -93,6 +96,8 @@ Add scripts `lint` in `package.json`:
93
96
 
94
97
  ## Prettier config
95
98
 
99
+ > Feel free to use your own prettier config.
100
+
96
101
  Install `prettier` and setup your prettier config:
97
102
 
98
103
  ```shell
@@ -118,7 +123,9 @@ bun add prettier @ntnyq/prettier-config -D
118
123
  import { defineConfig } from '@ntnyq/prettier-config'
119
124
 
120
125
  export default defineConfig({
121
- // overrides if needed
126
+ // Custom options if needed
127
+ printWidth: 100,
128
+ trailingComma: 'none',
122
129
  overrides: [
123
130
  {
124
131
  files: ['**/*.html'],
package/dist/index.d.ts CHANGED
@@ -36,12 +36,6 @@ import { Linter } from "eslint";
36
36
  import { BuiltInParserName, Options as Options$1 } from "prettier";
37
37
 
38
38
  //#region src/types/utils.d.ts
39
- /**
40
- * @file Type Utils
41
- */
42
- /**
43
- * Array or not
44
- */
45
39
  /**
46
40
  * @file Type Utils
47
41
  */
@@ -61,7 +55,6 @@ type InteropModuleDefault<T> = T extends {
61
55
  } ? U : T;
62
56
  type Pretty<T> = { [P in keyof T]: T[P] } & {};
63
57
  type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
64
-
65
58
  //#endregion
66
59
  //#region src/configs/vue.d.ts
67
60
  /**
@@ -86,7 +79,6 @@ type ConfigVueOptions = OptionsFiles & OptionsOverrides & OptionsShareable & {
86
79
  * @returns ESLint configs
87
80
  */
88
81
  declare const configVue: (options?: ConfigVueOptions) => TypedConfigItem[];
89
-
90
82
  //#endregion
91
83
  //#region src/configs/yml.d.ts
92
84
  /**
@@ -107,7 +99,6 @@ type ConfigYmlOptions = OptionsOverrides & OptionsFiles & {
107
99
  * @returns ESLint configs
108
100
  */
109
101
  declare const configYml: (options?: ConfigYmlOptions) => TypedConfigItem[];
110
-
111
102
  //#endregion
112
103
  //#region src/configs/html.d.ts
113
104
  /**
@@ -123,7 +114,6 @@ type ConfigHtmlOptions = OptionsFiles & OptionsOverrides;
123
114
  * @returns ESLint configs
124
115
  */
125
116
  declare const configHtml: (options?: ConfigHtmlOptions) => Promise<TypedConfigItem[]>;
126
-
127
117
  //#endregion
128
118
  //#region src/configs/node.d.ts
129
119
  /**
@@ -139,7 +129,6 @@ type ConfigNodeOptions = OptionsOverrides;
139
129
  * @returns ESLint configs
140
130
  */
141
131
  declare const configNode: (options?: ConfigNodeOptions) => TypedConfigItem[];
142
-
143
132
  //#endregion
144
133
  //#region src/configs/pnpm.d.ts
145
134
  /**
@@ -160,7 +149,6 @@ type ConfigPnpmOptions = {
160
149
  * @returns ESLint configs
161
150
  */
162
151
  declare const configPnpm: (options?: ConfigPnpmOptions) => Promise<TypedConfigItem[]>;
163
-
164
152
  //#endregion
165
153
  //#region src/configs/sort.d.ts
166
154
  /**
@@ -203,7 +191,6 @@ interface ConfigSortOptions {
203
191
  * @returns ESLint configs
204
192
  */
205
193
  declare const configSort: (options?: ConfigSortOptions) => TypedConfigItem[];
206
-
207
194
  //#endregion
208
195
  //#region src/configs/svgo.d.ts
209
196
  /**
@@ -219,7 +206,6 @@ type ConfigSVGOOptions = OptionsFiles & OptionsIgnores;
219
206
  * @returns ESLint configs
220
207
  */
221
208
  declare const configSVGO: (options?: ConfigSVGOOptions) => TypedConfigItem[];
222
-
223
209
  //#endregion
224
210
  //#region src/configs/test.d.ts
225
211
  /**
@@ -246,7 +232,6 @@ type ConfigTestOptions = OptionsFiles & OptionsOverrides & {
246
232
  * @returns ESLint configs
247
233
  */
248
234
  declare const configTest: (options?: ConfigTestOptions) => TypedConfigItem[];
249
-
250
235
  //#endregion
251
236
  //#region src/configs/toml.d.ts
252
237
  /**
@@ -262,7 +247,6 @@ type ConfigTomlOptions = OptionsOverrides & OptionsFiles;
262
247
  * @returns ESLint configs
263
248
  */
264
249
  declare const configToml: (options?: ConfigTomlOptions) => TypedConfigItem[];
265
-
266
250
  //#endregion
267
251
  //#region src/configs/antfu.d.ts
268
252
  /**
@@ -278,7 +262,6 @@ type ConfigAntfuOptions = OptionsOverrides;
278
262
  * @returns ESLint configs
279
263
  */
280
264
  declare const configAntfu: (options?: ConfigAntfuOptions) => TypedConfigItem[];
281
-
282
265
  //#endregion
283
266
  //#region src/configs/astro.d.ts
284
267
  /**
@@ -294,7 +277,6 @@ type ConfigAstroOptions = OptionsFiles & OptionsOverrides & OptionsShareable;
294
277
  * @returns ESLint configs
295
278
  */
296
279
  declare const configAstro: (options?: ConfigAstroOptions) => Promise<TypedConfigItem[]>;
297
-
298
280
  //#endregion
299
281
  //#region src/configs/jsdoc.d.ts
300
282
  /**
@@ -310,7 +292,6 @@ type ConfigJsdocOptions = Pick<OptionsShareable, 'typescript'> & OptionsOverride
310
292
  * @returns ESLint configs
311
293
  */
312
294
  declare const configJsdoc: (options?: ConfigJsdocOptions) => TypedConfigItem[];
313
-
314
295
  //#endregion
315
296
  //#region src/configs/jsonc.d.ts
316
297
  /**
@@ -331,7 +312,6 @@ type ConfigJsoncOptions = OptionsOverrides & OptionsFiles & {
331
312
  * @returns ESLint configs
332
313
  */
333
314
  declare const configJsonc: (options?: ConfigJsoncOptions) => TypedConfigItem[];
334
-
335
315
  //#endregion
336
316
  //#region src/configs/ntnyq.d.ts
337
317
  /**
@@ -347,7 +327,6 @@ type ConfigNtnyqOptions = OptionsOverrides;
347
327
  * @returns ESLint configs
348
328
  */
349
329
  declare const configNtnyq: (options?: ConfigNtnyqOptions) => TypedConfigItem[];
350
-
351
330
  //#endregion
352
331
  //#region src/configs/pinia.d.ts
353
332
  /**
@@ -363,7 +342,6 @@ type ConfigPiniaOptions = OptionsFiles & OptionsOverrides;
363
342
  * @returns ESLint configs
364
343
  */
365
344
  declare const configPinia: (options?: ConfigPiniaOptions) => TypedConfigItem[];
366
-
367
345
  //#endregion
368
346
  //#region src/configs/depend.d.ts
369
347
  /**
@@ -391,7 +369,6 @@ type ConfigDependOptions = OptionsFiles & OptionsOverrides & {
391
369
  * @returns ESLint configs
392
370
  */
393
371
  declare const configDepend: (options?: ConfigDependOptions) => TypedConfigItem[];
394
-
395
372
  //#endregion
396
373
  //#region src/configs/format.d.ts
397
374
  /**
@@ -424,7 +401,6 @@ interface ConfigFormatOptions {
424
401
  * @returns ESLint configs
425
402
  */
426
403
  declare const configFormat: (options?: ConfigFormatOptions) => Promise<TypedConfigItem[]>;
427
-
428
404
  //#endregion
429
405
  //#region src/configs/regexp.d.ts
430
406
  /**
@@ -447,7 +423,6 @@ type ConfigRegexpOptions = OptionsOverrides & {
447
423
  * @returns ESLint configs
448
424
  */
449
425
  declare const configRegexp: (options?: ConfigRegexpOptions) => TypedConfigItem[];
450
-
451
426
  //#endregion
452
427
  //#region src/configs/svelte.d.ts
453
428
  /**
@@ -463,7 +438,6 @@ type ConfigSvelteOptions = OptionsFiles & OptionsOverrides & OptionsShareable;
463
438
  * @returns ESLint configs
464
439
  */
465
440
  declare const configSvelte: (options?: ConfigSvelteOptions) => Promise<TypedConfigItem[]>;
466
-
467
441
  //#endregion
468
442
  //#region src/configs/unocss.d.ts
469
443
  /**
@@ -486,7 +460,6 @@ type ConfigUnoCSSOptions = OptionsOverrides & {
486
460
  * @returns ESLint configs
487
461
  */
488
462
  declare const configUnoCSS: (options?: ConfigUnoCSSOptions) => TypedConfigItem[];
489
-
490
463
  //#endregion
491
464
  //#region src/configs/command.d.ts
492
465
  /**
@@ -502,7 +475,6 @@ type ConfigCommandOptions = ESLintPluginCommandOptions;
502
475
  * @returns ESLint configs
503
476
  */
504
477
  declare const configCommand: (options?: ConfigCommandOptions) => TypedConfigItem[];
505
-
506
478
  //#endregion
507
479
  //#region src/configs/ignores.d.ts
508
480
  /**
@@ -518,7 +490,6 @@ type ConfigIgnoresOptions = string[];
518
490
  * @returns ESLint configs
519
491
  */
520
492
  declare const configIgnores: (customIgnores?: ConfigIgnoresOptions) => TypedConfigItem[];
521
-
522
493
  //#endregion
523
494
  //#region src/configs/importX.d.ts
524
495
  /**
@@ -541,7 +512,6 @@ type ConfigImportXOptions = Pick<OptionsShareable, 'typescript'> & OptionsOverri
541
512
  * @returns ESLint configs
542
513
  */
543
514
  declare const configImportX: (options?: ConfigImportXOptions) => TypedConfigItem[];
544
-
545
515
  //#endregion
546
516
  //#region src/configs/unicorn.d.ts
547
517
  /**
@@ -557,7 +527,6 @@ type ConfigUnicornOptions = OptionsOverrides;
557
527
  * @returns ESLint configs
558
528
  */
559
529
  declare const configUnicorn: (options?: ConfigUnicornOptions) => TypedConfigItem[];
560
-
561
530
  //#endregion
562
531
  //#region src/configs/deMorgan.d.ts
563
532
  /**
@@ -573,7 +542,6 @@ type ConfigDeMorganOptions = OptionsOverrides;
573
542
  * @returns ESLint configs
574
543
  */
575
544
  declare const configDeMorgan: (options?: ConfigDeMorganOptions) => TypedConfigItem[];
576
-
577
545
  //#endregion
578
546
  //#region src/configs/markdown.d.ts
579
547
  /**
@@ -589,7 +557,6 @@ type ConfigMarkdownOptions = OptionsFiles & OptionsOverrides & Pick<OptionsShare
589
557
  * @returns ESLint configs
590
558
  */
591
559
  declare const configMarkdown: (options?: ConfigMarkdownOptions) => TypedConfigItem[];
592
-
593
560
  //#endregion
594
561
  //#region src/configs/prettier.d.ts
595
562
  /**
@@ -624,7 +591,6 @@ interface ConfigPrettierOptions extends OptionsOverrides {
624
591
  * @returns ESLint configs
625
592
  */
626
593
  declare const configPrettier: (options?: ConfigPrettierOptions) => TypedConfigItem[];
627
-
628
594
  //#endregion
629
595
  //#region src/configs/specials.d.ts
630
596
  /**
@@ -670,7 +636,6 @@ interface ConfigSpecialsOptions {
670
636
  * @returns ESLint configs
671
637
  */
672
638
  declare const configSpecials: (options?: ConfigSpecialsOptions) => TypedConfigItem[];
673
-
674
639
  //#endregion
675
640
  //#region src/configs/gitignore.d.ts
676
641
  /**
@@ -693,7 +658,6 @@ type ConfigGitIgnoreOptions = Omit<FlatGitignoreOptions, 'strict'> & {
693
658
  * @returns ESLint configs
694
659
  */
695
660
  declare const configGitIgnore: (options?: ConfigGitIgnoreOptions) => TypedConfigItem[];
696
-
697
661
  //#endregion
698
662
  //#region src/configs/javascript.d.ts
699
663
  /**
@@ -717,7 +681,6 @@ type ConfigJavaScriptOptions = OptionsOverrides & {
717
681
  */
718
682
  declare const configJavaScript: (options?: ConfigJavaScriptOptions) => TypedConfigItem[];
719
683
  declare const configJSX: () => TypedConfigItem[];
720
-
721
684
  //#endregion
722
685
  //#region src/configs/typescript.d.ts
723
686
  /**
@@ -760,7 +723,6 @@ type ConfigTypeScriptOptions = OptionsFiles & OptionsOverrides & Pick<OptionsSha
760
723
  * @returns ESLint configs
761
724
  */
762
725
  declare const configTypeScript: (options?: ConfigTypeScriptOptions) => TypedConfigItem[];
763
-
764
726
  //#endregion
765
727
  //#region src/configs/eslintPlugin.d.ts
766
728
  /**
@@ -776,7 +738,6 @@ type ConfigESLintPluginOptions = OptionsOverrides;
776
738
  * @returns ESLint configs
777
739
  */
778
740
  declare const configESLintPlugin: (options?: ConfigESLintPluginOptions) => Promise<TypedConfigItem[]>;
779
-
780
741
  //#endregion
781
742
  //#region src/configs/githubAction.d.ts
782
743
  /**
@@ -792,7 +753,6 @@ type ConfigGitHubActionOptions = OptionsFiles & OptionsOverrides;
792
753
  * @returns ESLint configs
793
754
  */
794
755
  declare const configGitHubAction: (options?: ConfigGitHubActionOptions) => TypedConfigItem[];
795
-
796
756
  //#endregion
797
757
  //#region src/configs/perfectionist.d.ts
798
758
  /**
@@ -862,7 +822,6 @@ type ConfigPerfectionistOptions = OptionsOverrides & {
862
822
  * @returns ESLint configs
863
823
  */
864
824
  declare const configPerfectionist: (options?: ConfigPerfectionistOptions) => TypedConfigItem[];
865
-
866
825
  //#endregion
867
826
  //#region src/configs/unusedImports.d.ts
868
827
  /**
@@ -878,7 +837,6 @@ type ConfigUnusedImportsOptions = OptionsOverrides;
878
837
  * @returns ESLint configs
879
838
  */
880
839
  declare const configUnusedImports: (options?: ConfigUnusedImportsOptions) => Promise<TypedConfigItem[]>;
881
-
882
840
  //#endregion
883
841
  //#region src/configs/eslintComments.d.ts
884
842
  /**
@@ -894,7 +852,6 @@ type ConfigESLintCommentsOptions = OptionsOverrides;
894
852
  * @returns ESLint configs
895
853
  */
896
854
  declare const configESLintComments: (options?: ConfigESLintCommentsOptions) => TypedConfigItem[];
897
-
898
855
  //#endregion
899
856
  //#region src/types/typegen.d.ts
900
857
  interface RuleOptions {
@@ -1783,6 +1740,7 @@ interface RuleOptions {
1783
1740
  /**
1784
1741
  * Require type annotations in certain places
1785
1742
  * @see https://typescript-eslint.io/rules/typedef
1743
+ * @deprecated
1786
1744
  */
1787
1745
  '@typescript-eslint/typedef'?: Linter.RuleEntry<TypescriptEslintTypedef>;
1788
1746
  /**
@@ -2647,233 +2605,233 @@ interface RuleOptions {
2647
2605
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
2648
2606
  /**
2649
2607
  * Enforce or ban the use of inline type-only markers for named imports.
2650
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/consistent-type-specifier-style.md
2608
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/consistent-type-specifier-style.md
2651
2609
  */
2652
2610
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>;
2653
2611
  /**
2654
2612
  * Ensure a default export is present, given a default import.
2655
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/default.md
2613
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/default.md
2656
2614
  */
2657
2615
  'import-x/default'?: Linter.RuleEntry<[]>;
2658
2616
  /**
2659
2617
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
2660
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/dynamic-import-chunkname.md
2618
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/dynamic-import-chunkname.md
2661
2619
  */
2662
2620
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>;
2663
2621
  /**
2664
2622
  * Forbid any invalid exports, i.e. re-export of the same name.
2665
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/export.md
2623
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/export.md
2666
2624
  */
2667
2625
  'import-x/export'?: Linter.RuleEntry<[]>;
2668
2626
  /**
2669
2627
  * Ensure all exports appear after other statements.
2670
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/exports-last.md
2628
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/exports-last.md
2671
2629
  */
2672
2630
  'import-x/exports-last'?: Linter.RuleEntry<[]>;
2673
2631
  /**
2674
2632
  * Ensure consistent use of file extension within the import path.
2675
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/extensions.md
2633
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/extensions.md
2676
2634
  */
2677
2635
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>;
2678
2636
  /**
2679
2637
  * Ensure all imports appear before other statements.
2680
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/first.md
2638
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/first.md
2681
2639
  */
2682
2640
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>;
2683
2641
  /**
2684
2642
  * Prefer named exports to be grouped together in a single export declaration.
2685
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/group-exports.md
2643
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/group-exports.md
2686
2644
  */
2687
2645
  'import-x/group-exports'?: Linter.RuleEntry<[]>;
2688
2646
  /**
2689
2647
  * Replaced by `import-x/first`.
2690
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/imports-first.md
2648
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/imports-first.md
2691
2649
  * @deprecated
2692
2650
  */
2693
2651
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>;
2694
2652
  /**
2695
2653
  * Enforce the maximum number of dependencies a module can have.
2696
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/max-dependencies.md
2654
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/max-dependencies.md
2697
2655
  */
2698
2656
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>;
2699
2657
  /**
2700
2658
  * Ensure named imports correspond to a named export in the remote file.
2701
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/named.md
2659
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/named.md
2702
2660
  */
2703
2661
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>;
2704
2662
  /**
2705
2663
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
2706
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/namespace.md
2664
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/namespace.md
2707
2665
  */
2708
2666
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>;
2709
2667
  /**
2710
2668
  * Enforce a newline after import statements.
2711
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/newline-after-import.md
2669
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/newline-after-import.md
2712
2670
  */
2713
2671
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>;
2714
2672
  /**
2715
2673
  * Forbid import of modules using absolute paths.
2716
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-absolute-path.md
2674
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-absolute-path.md
2717
2675
  */
2718
2676
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>;
2719
2677
  /**
2720
2678
  * Forbid AMD `require` and `define` calls.
2721
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-amd.md
2679
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-amd.md
2722
2680
  */
2723
2681
  'import-x/no-amd'?: Linter.RuleEntry<[]>;
2724
2682
  /**
2725
2683
  * Forbid anonymous values as default exports.
2726
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-anonymous-default-export.md
2684
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-anonymous-default-export.md
2727
2685
  */
2728
2686
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>;
2729
2687
  /**
2730
2688
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
2731
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-commonjs.md
2689
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-commonjs.md
2732
2690
  */
2733
2691
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>;
2734
2692
  /**
2735
2693
  * Forbid a module from importing a module with a dependency path back to itself.
2736
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-cycle.md
2694
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-cycle.md
2737
2695
  */
2738
2696
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>;
2739
2697
  /**
2740
2698
  * Forbid default exports.
2741
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-default-export.md
2699
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-default-export.md
2742
2700
  */
2743
2701
  'import-x/no-default-export'?: Linter.RuleEntry<[]>;
2744
2702
  /**
2745
2703
  * Forbid imported names marked with `@deprecated` documentation tag.
2746
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-deprecated.md
2704
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-deprecated.md
2747
2705
  */
2748
2706
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>;
2749
2707
  /**
2750
2708
  * Forbid repeated import of the same module in multiple places.
2751
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-duplicates.md
2709
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-duplicates.md
2752
2710
  */
2753
2711
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>;
2754
2712
  /**
2755
2713
  * Forbid `require()` calls with expressions.
2756
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-dynamic-require.md
2714
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-dynamic-require.md
2757
2715
  */
2758
2716
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>;
2759
2717
  /**
2760
2718
  * Forbid empty named import blocks.
2761
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-empty-named-blocks.md
2719
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-empty-named-blocks.md
2762
2720
  */
2763
2721
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
2764
2722
  /**
2765
2723
  * Forbid the use of extraneous packages.
2766
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-extraneous-dependencies.md
2724
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-extraneous-dependencies.md
2767
2725
  */
2768
2726
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>;
2769
2727
  /**
2770
2728
  * Forbid import statements with CommonJS module.exports.
2771
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-import-module-exports.md
2729
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-import-module-exports.md
2772
2730
  */
2773
2731
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>;
2774
2732
  /**
2775
2733
  * Forbid importing the submodules of other modules.
2776
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-internal-modules.md
2734
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-internal-modules.md
2777
2735
  */
2778
2736
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>;
2779
2737
  /**
2780
2738
  * Forbid the use of mutable exports with `var` or `let`.
2781
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-mutable-exports.md
2739
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-mutable-exports.md
2782
2740
  */
2783
2741
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>;
2784
2742
  /**
2785
2743
  * Forbid use of exported name as identifier of default export.
2786
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-named-as-default.md
2744
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-as-default.md
2787
2745
  */
2788
2746
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>;
2789
2747
  /**
2790
2748
  * Forbid use of exported name as property of default export.
2791
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-named-as-default-member.md
2749
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-as-default-member.md
2792
2750
  */
2793
2751
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>;
2794
2752
  /**
2795
2753
  * Forbid named default exports.
2796
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-named-default.md
2754
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-default.md
2797
2755
  */
2798
2756
  'import-x/no-named-default'?: Linter.RuleEntry<[]>;
2799
2757
  /**
2800
2758
  * Forbid named exports.
2801
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-named-export.md
2759
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-export.md
2802
2760
  */
2803
2761
  'import-x/no-named-export'?: Linter.RuleEntry<[]>;
2804
2762
  /**
2805
2763
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
2806
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-namespace.md
2764
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-namespace.md
2807
2765
  */
2808
2766
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>;
2809
2767
  /**
2810
2768
  * Forbid Node.js builtin modules.
2811
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-nodejs-modules.md
2769
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-nodejs-modules.md
2812
2770
  */
2813
2771
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>;
2814
2772
  /**
2815
2773
  * Forbid importing packages through relative paths.
2816
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-relative-packages.md
2774
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-relative-packages.md
2817
2775
  */
2818
2776
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>;
2819
2777
  /**
2820
2778
  * Forbid importing modules from parent directories.
2821
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-relative-parent-imports.md
2779
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-relative-parent-imports.md
2822
2780
  */
2823
2781
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>;
2824
2782
  /**
2825
2783
  * Forbid importing a default export by a different name.
2826
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-rename-default.md
2784
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-rename-default.md
2827
2785
  */
2828
2786
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>;
2829
2787
  /**
2830
2788
  * Enforce which files can be imported in a given folder.
2831
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-restricted-paths.md
2789
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-restricted-paths.md
2832
2790
  */
2833
2791
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>;
2834
2792
  /**
2835
2793
  * Forbid a module from importing itself.
2836
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-self-import.md
2794
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-self-import.md
2837
2795
  */
2838
2796
  'import-x/no-self-import'?: Linter.RuleEntry<[]>;
2839
2797
  /**
2840
2798
  * Forbid unassigned imports.
2841
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-unassigned-import.md
2799
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-unassigned-import.md
2842
2800
  */
2843
2801
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>;
2844
2802
  /**
2845
2803
  * Ensure imports point to a file/module that can be resolved.
2846
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-unresolved.md
2804
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-unresolved.md
2847
2805
  */
2848
2806
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>;
2849
2807
  /**
2850
2808
  * Forbid modules without exports, or exports without matching import in another module.
2851
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-unused-modules.md
2809
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-unused-modules.md
2852
2810
  */
2853
2811
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>;
2854
2812
  /**
2855
2813
  * Forbid unnecessary path segments in import and require statements.
2856
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-useless-path-segments.md
2814
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-useless-path-segments.md
2857
2815
  */
2858
2816
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>;
2859
2817
  /**
2860
2818
  * Forbid webpack loader syntax in imports.
2861
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/no-webpack-loader-syntax.md
2819
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-webpack-loader-syntax.md
2862
2820
  */
2863
2821
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
2864
2822
  /**
2865
2823
  * Enforce a convention in module import order.
2866
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/order.md
2824
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/order.md
2867
2825
  */
2868
2826
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>;
2869
2827
  /**
2870
2828
  * Prefer a default export if module exports a single name or multiple names.
2871
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/prefer-default-export.md
2829
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/prefer-default-export.md
2872
2830
  */
2873
2831
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>;
2874
2832
  /**
2875
2833
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
2876
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.13.0/docs/rules/unambiguous.md
2834
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/unambiguous.md
2877
2835
  */
2878
2836
  'import-x/unambiguous'?: Linter.RuleEntry<[]>;
2879
2837
  /**
@@ -3461,11 +3419,26 @@ interface RuleOptions {
3461
3419
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
3462
3420
  */
3463
3421
  'markdown/heading-increment'?: Linter.RuleEntry<[]>;
3422
+ /**
3423
+ * Disallow duplicate definitions
3424
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-definitions.md
3425
+ */
3426
+ 'markdown/no-duplicate-definitions'?: Linter.RuleEntry<MarkdownNoDuplicateDefinitions>;
3464
3427
  /**
3465
3428
  * Disallow duplicate headings in the same document
3466
3429
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-headings.md
3467
3430
  */
3468
3431
  'markdown/no-duplicate-headings'?: Linter.RuleEntry<[]>;
3432
+ /**
3433
+ * Disallow empty definitions
3434
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-definitions.md
3435
+ */
3436
+ 'markdown/no-empty-definitions'?: Linter.RuleEntry<[]>;
3437
+ /**
3438
+ * Disallow empty images
3439
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-images.md
3440
+ */
3441
+ 'markdown/no-empty-images'?: Linter.RuleEntry<[]>;
3469
3442
  /**
3470
3443
  * Disallow empty links
3471
3444
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-links.md
@@ -3481,11 +3454,31 @@ interface RuleOptions {
3481
3454
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-invalid-label-refs.md
3482
3455
  */
3483
3456
  'markdown/no-invalid-label-refs'?: Linter.RuleEntry<[]>;
3457
+ /**
3458
+ * Disallow headings without a space after the hash characters
3459
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
3460
+ */
3461
+ 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<[]>;
3484
3462
  /**
3485
3463
  * Disallow missing label references
3486
3464
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
3487
3465
  */
3488
3466
  'markdown/no-missing-label-refs'?: Linter.RuleEntry<[]>;
3467
+ /**
3468
+ * Disallow multiple H1 headings in the same document
3469
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
3470
+ */
3471
+ 'markdown/no-multiple-h1'?: Linter.RuleEntry<MarkdownNoMultipleH1>;
3472
+ /**
3473
+ * Require alternative text for images
3474
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/require-alt-text.md
3475
+ */
3476
+ 'markdown/require-alt-text'?: Linter.RuleEntry<[]>;
3477
+ /**
3478
+ * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
3479
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
3480
+ */
3481
+ 'markdown/table-column-count'?: Linter.RuleEntry<[]>;
3489
3482
  /**
3490
3483
  * Enforce a maximum number of classes per file
3491
3484
  * @see https://eslint.org/docs/latest/rules/max-classes-per-file
@@ -4496,6 +4489,11 @@ interface RuleOptions {
4496
4489
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-sync.md
4497
4490
  */
4498
4491
  'node/no-sync'?: Linter.RuleEntry<NodeNoSync>;
4492
+ /**
4493
+ * disallow top-level `await` in published modules
4494
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-top-level-await.md
4495
+ */
4496
+ 'node/no-top-level-await'?: Linter.RuleEntry<NodeNoTopLevelAwait>;
4499
4497
  /**
4500
4498
  * disallow `bin` files that npm ignores
4501
4499
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-bin.md
@@ -5231,7 +5229,7 @@ interface RuleOptions {
5231
5229
  * enforce using quantifier
5232
5230
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-quantifier.html
5233
5231
  */
5234
- 'regexp/prefer-quantifier'?: Linter.RuleEntry<[]>;
5232
+ 'regexp/prefer-quantifier'?: Linter.RuleEntry<RegexpPreferQuantifier>;
5235
5233
  /**
5236
5234
  * enforce using `?` quantifier
5237
5235
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-question-quantifier.html
@@ -9708,6 +9706,7 @@ type _FuncNamesValue = ("always" | "as-needed" | "never");
9708
9706
  // ----- func-style -----
9709
9707
  type FuncStyle = [] | [("declaration" | "expression")] | [("declaration" | "expression"), {
9710
9708
  allowArrowFunctions?: boolean;
9709
+ allowTypeAnnotation?: boolean;
9711
9710
  overrides?: {
9712
9711
  namedExports?: ("declaration" | "expression" | "ignore");
9713
9712
  };
@@ -10155,10 +10154,10 @@ type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always"
10155
10154
  postTag?: number;
10156
10155
  postType?: number;
10157
10156
  };
10157
+ disableWrapIndent?: boolean;
10158
10158
  preserveMainDescriptionPostDelimiter?: boolean;
10159
10159
  tags?: string[];
10160
10160
  wrapIndent?: string;
10161
- disableWrapIndent?: boolean;
10162
10161
  }];
10163
10162
  // ----- jsdoc/check-param-names -----
10164
10163
  type JsdocCheckParamNames = [] | [{
@@ -11236,10 +11235,19 @@ type LogicalAssignmentOperators = (([] | ["always"] | ["always", {
11236
11235
  type MarkdownFencedCodeLanguage = [] | [{
11237
11236
  required?: string[];
11238
11237
  }];
11238
+ // ----- markdown/no-duplicate-definitions -----
11239
+ type MarkdownNoDuplicateDefinitions = [] | [{
11240
+ allowDefinitions?: string[];
11241
+ allowFootnoteDefinitions?: string[];
11242
+ }];
11239
11243
  // ----- markdown/no-html -----
11240
11244
  type MarkdownNoHtml = [] | [{
11241
11245
  allowed?: string[];
11242
11246
  }];
11247
+ // ----- markdown/no-multiple-h1 -----
11248
+ type MarkdownNoMultipleH1 = [] | [{
11249
+ frontmatterTitle?: string;
11250
+ }];
11243
11251
  // ----- max-classes-per-file -----
11244
11252
  type MaxClassesPerFile = [] | [(number | {
11245
11253
  ignoreExpressions?: boolean;
@@ -11506,6 +11514,10 @@ type NoMagicNumbers = [] | [{
11506
11514
  ignoreArrayIndexes?: boolean;
11507
11515
  ignoreDefaultValues?: boolean;
11508
11516
  ignoreClassFieldInitialValues?: boolean;
11517
+ ignoreEnums?: boolean;
11518
+ ignoreNumericLiteralTypes?: boolean;
11519
+ ignoreReadonlyClassProperties?: boolean;
11520
+ ignoreTypeIndexes?: boolean;
11509
11521
  }];
11510
11522
  // ----- no-misleading-character-class -----
11511
11523
  type NoMisleadingCharacterClass = [] | [{
@@ -11645,9 +11657,11 @@ type NoSequences = [] | [{
11645
11657
  // ----- no-shadow -----
11646
11658
  type NoShadow = [] | [{
11647
11659
  builtinGlobals?: boolean;
11648
- hoist?: ("all" | "functions" | "never");
11660
+ hoist?: ("all" | "functions" | "never" | "types" | "functions-and-types");
11649
11661
  allow?: string[];
11650
11662
  ignoreOnInitialization?: boolean;
11663
+ ignoreTypeValueShadow?: boolean;
11664
+ ignoreFunctionTypeParameterNameValueShadow?: boolean;
11651
11665
  }];
11652
11666
  // ----- no-shadow-restricted-names -----
11653
11667
  type NoShadowRestrictedNames = [] | [{
@@ -11725,6 +11739,9 @@ type NoUseBeforeDefine = [] | [("nofunc" | {
11725
11739
  classes?: boolean;
11726
11740
  variables?: boolean;
11727
11741
  allowNamedExports?: boolean;
11742
+ enums?: boolean;
11743
+ typedefs?: boolean;
11744
+ ignoreTypeReferences?: boolean;
11728
11745
  })];
11729
11746
  // ----- no-useless-computed-key -----
11730
11747
  type NoUselessComputedKey = [] | [{
@@ -11878,7 +11895,33 @@ type NodeNoRestrictedRequire = [] | [(string | {
11878
11895
  // ----- node/no-sync -----
11879
11896
  type NodeNoSync = [] | [{
11880
11897
  allowAtRootLevel?: boolean;
11881
- ignores?: string[];
11898
+ ignores?: (string | {
11899
+ from?: "file";
11900
+ path?: string;
11901
+ name?: string[];
11902
+ } | {
11903
+ from?: "lib";
11904
+ name?: string[];
11905
+ } | {
11906
+ from?: "package";
11907
+ package?: string;
11908
+ name?: string[];
11909
+ })[];
11910
+ }];
11911
+ // ----- node/no-top-level-await -----
11912
+ type NodeNoTopLevelAwait = [] | [{
11913
+ ignoreBin?: boolean;
11914
+ convertPath?: ({
11915
+ [k: string]: [string, string];
11916
+ } | [{
11917
+ include: [string, ...(string)[]];
11918
+ exclude?: string[];
11919
+ replace: [string, string];
11920
+ }, ...({
11921
+ include: [string, ...(string)[]];
11922
+ exclude?: string[];
11923
+ replace: [string, string];
11924
+ })[]]);
11882
11925
  }];
11883
11926
  // ----- node/no-unpublished-bin -----
11884
11927
  type NodeNoUnpublishedBin = [] | [{
@@ -12179,7 +12222,8 @@ type PerfectionistSortArrayIncludes = {
12179
12222
  partitionByNewLine?: boolean;
12180
12223
  newlinesBetween?: ("ignore" | "always" | "never");
12181
12224
  groups?: (string | string[] | {
12182
- newlinesBetween: ("ignore" | "always" | "never");
12225
+ newlinesBetween?: ("ignore" | "always" | "never");
12226
+ commentAbove?: string;
12183
12227
  })[];
12184
12228
  }[];
12185
12229
  // ----- perfectionist/sort-classes -----
@@ -12293,7 +12337,8 @@ type PerfectionistSortClasses = [] | [{
12293
12337
  partitionByNewLine?: boolean;
12294
12338
  newlinesBetween?: ("ignore" | "always" | "never");
12295
12339
  groups?: (string | string[] | {
12296
- newlinesBetween: ("ignore" | "always" | "never");
12340
+ newlinesBetween?: ("ignore" | "always" | "never");
12341
+ commentAbove?: string;
12297
12342
  })[];
12298
12343
  }];
12299
12344
  // ----- perfectionist/sort-decorators -----
@@ -12339,7 +12384,8 @@ type PerfectionistSortDecorators = [] | [{
12339
12384
  [k: string]: (string | string[]) | undefined;
12340
12385
  };
12341
12386
  groups?: (string | string[] | {
12342
- newlinesBetween: ("ignore" | "always" | "never");
12387
+ newlinesBetween?: ("ignore" | "always" | "never");
12388
+ commentAbove?: string;
12343
12389
  })[];
12344
12390
  }];
12345
12391
  // ----- perfectionist/sort-enums -----
@@ -12432,7 +12478,8 @@ type PerfectionistSortEnums = [] | [{
12432
12478
  partitionByNewLine?: boolean;
12433
12479
  newlinesBetween?: ("ignore" | "always" | "never");
12434
12480
  groups?: (string | string[] | {
12435
- newlinesBetween: ("ignore" | "always" | "never");
12481
+ newlinesBetween?: ("ignore" | "always" | "never");
12482
+ commentAbove?: string;
12436
12483
  })[];
12437
12484
  }];
12438
12485
  // ----- perfectionist/sort-exports -----
@@ -12512,7 +12559,8 @@ type PerfectionistSortExports = {
12512
12559
  partitionByNewLine?: boolean;
12513
12560
  newlinesBetween?: ("ignore" | "always" | "never");
12514
12561
  groups?: (string | string[] | {
12515
- newlinesBetween: ("ignore" | "always" | "never");
12562
+ newlinesBetween?: ("ignore" | "always" | "never");
12563
+ commentAbove?: string;
12516
12564
  })[];
12517
12565
  }[];
12518
12566
  // ----- perfectionist/sort-heritage-clauses -----
@@ -12531,7 +12579,8 @@ type PerfectionistSortHeritageClauses = [] | [{
12531
12579
  [k: string]: (string | string[]) | undefined;
12532
12580
  };
12533
12581
  groups?: (string | string[] | {
12534
- newlinesBetween: ("ignore" | "always" | "never");
12582
+ newlinesBetween?: ("ignore" | "always" | "never");
12583
+ commentAbove?: string;
12535
12584
  })[];
12536
12585
  }];
12537
12586
  // ----- perfectionist/sort-imports -----
@@ -12606,6 +12655,10 @@ type PerfectionistSortImports = {
12606
12655
  flags?: string;
12607
12656
  } | string));
12608
12657
  })[]);
12658
+ tsconfig?: {
12659
+ rootDir: string;
12660
+ filename?: string;
12661
+ };
12609
12662
  maxLineLength?: number;
12610
12663
  sortSideEffects?: boolean;
12611
12664
  environment?: ("node" | "bun");
@@ -12642,7 +12695,8 @@ type PerfectionistSortImports = {
12642
12695
  flags?: string;
12643
12696
  } | string));
12644
12697
  groups?: (string | string[] | {
12645
- newlinesBetween: ("ignore" | "always" | "never");
12698
+ newlinesBetween?: ("ignore" | "always" | "never");
12699
+ commentAbove?: string;
12646
12700
  })[];
12647
12701
  }[];
12648
12702
  // ----- perfectionist/sort-interfaces -----
@@ -12767,7 +12821,8 @@ type PerfectionistSortInterfaces = {
12767
12821
  } | string));
12768
12822
  sortBy?: ("name" | "value");
12769
12823
  groups?: (string | string[] | {
12770
- newlinesBetween: ("ignore" | "always" | "never");
12824
+ newlinesBetween?: ("ignore" | "always" | "never");
12825
+ commentAbove?: string;
12771
12826
  })[];
12772
12827
  }[];
12773
12828
  // ----- perfectionist/sort-intersection-types -----
@@ -12844,7 +12899,8 @@ type PerfectionistSortIntersectionTypes = {
12844
12899
  partitionByNewLine?: boolean;
12845
12900
  newlinesBetween?: ("ignore" | "always" | "never");
12846
12901
  groups?: (string | string[] | {
12847
- newlinesBetween: ("ignore" | "always" | "never");
12902
+ newlinesBetween?: ("ignore" | "always" | "never");
12903
+ commentAbove?: string;
12848
12904
  })[];
12849
12905
  }[];
12850
12906
  // ----- perfectionist/sort-jsx-props -----
@@ -12940,7 +12996,8 @@ type PerfectionistSortJsxProps = {
12940
12996
  flags?: string;
12941
12997
  } | string));
12942
12998
  groups?: (string | string[] | {
12943
- newlinesBetween: ("ignore" | "always" | "never");
12999
+ newlinesBetween?: ("ignore" | "always" | "never");
13000
+ commentAbove?: string;
12944
13001
  })[];
12945
13002
  }[];
12946
13003
  // ----- perfectionist/sort-maps -----
@@ -13024,7 +13081,8 @@ type PerfectionistSortMaps = {
13024
13081
  partitionByNewLine?: boolean;
13025
13082
  newlinesBetween?: ("ignore" | "always" | "never");
13026
13083
  groups?: (string | string[] | {
13027
- newlinesBetween: ("ignore" | "always" | "never");
13084
+ newlinesBetween?: ("ignore" | "always" | "never");
13085
+ commentAbove?: string;
13028
13086
  })[];
13029
13087
  }[];
13030
13088
  // ----- perfectionist/sort-modules -----
@@ -13117,7 +13175,8 @@ type PerfectionistSortModules = [] | [{
13117
13175
  partitionByNewLine?: boolean;
13118
13176
  newlinesBetween?: ("ignore" | "always" | "never");
13119
13177
  groups?: (string | string[] | {
13120
- newlinesBetween: ("ignore" | "always" | "never");
13178
+ newlinesBetween?: ("ignore" | "always" | "never");
13179
+ commentAbove?: string;
13121
13180
  })[];
13122
13181
  }];
13123
13182
  // ----- perfectionist/sort-named-exports -----
@@ -13198,7 +13257,8 @@ type PerfectionistSortNamedExports = {
13198
13257
  partitionByNewLine?: boolean;
13199
13258
  newlinesBetween?: ("ignore" | "always" | "never");
13200
13259
  groups?: (string | string[] | {
13201
- newlinesBetween: ("ignore" | "always" | "never");
13260
+ newlinesBetween?: ("ignore" | "always" | "never");
13261
+ commentAbove?: string;
13202
13262
  })[];
13203
13263
  }[];
13204
13264
  // ----- perfectionist/sort-named-imports -----
@@ -13279,7 +13339,8 @@ type PerfectionistSortNamedImports = {
13279
13339
  partitionByNewLine?: boolean;
13280
13340
  newlinesBetween?: ("ignore" | "always" | "never");
13281
13341
  groups?: (string | string[] | {
13282
- newlinesBetween: ("ignore" | "always" | "never");
13342
+ newlinesBetween?: ("ignore" | "always" | "never");
13343
+ commentAbove?: string;
13283
13344
  })[];
13284
13345
  }[];
13285
13346
  // ----- perfectionist/sort-object-types -----
@@ -13404,7 +13465,8 @@ type PerfectionistSortObjectTypes = {
13404
13465
  } | string));
13405
13466
  sortBy?: ("name" | "value");
13406
13467
  groups?: (string | string[] | {
13407
- newlinesBetween: ("ignore" | "always" | "never");
13468
+ newlinesBetween?: ("ignore" | "always" | "never");
13469
+ commentAbove?: string;
13408
13470
  })[];
13409
13471
  }[];
13410
13472
  // ----- perfectionist/sort-objects -----
@@ -13528,7 +13590,8 @@ type PerfectionistSortObjects = {
13528
13590
  flags?: string;
13529
13591
  } | string));
13530
13592
  groups?: (string | string[] | {
13531
- newlinesBetween: ("ignore" | "always" | "never");
13593
+ newlinesBetween?: ("ignore" | "always" | "never");
13594
+ commentAbove?: string;
13532
13595
  })[];
13533
13596
  }[];
13534
13597
  // ----- perfectionist/sort-sets -----
@@ -13615,7 +13678,8 @@ type PerfectionistSortSets = {
13615
13678
  partitionByNewLine?: boolean;
13616
13679
  newlinesBetween?: ("ignore" | "always" | "never");
13617
13680
  groups?: (string | string[] | {
13618
- newlinesBetween: ("ignore" | "always" | "never");
13681
+ newlinesBetween?: ("ignore" | "always" | "never");
13682
+ commentAbove?: string;
13619
13683
  })[];
13620
13684
  }[];
13621
13685
  // ----- perfectionist/sort-switch-case -----
@@ -13705,7 +13769,8 @@ type PerfectionistSortUnionTypes = {
13705
13769
  partitionByNewLine?: boolean;
13706
13770
  newlinesBetween?: ("ignore" | "always" | "never");
13707
13771
  groups?: (string | string[] | {
13708
- newlinesBetween: ("ignore" | "always" | "never");
13772
+ newlinesBetween?: ("ignore" | "always" | "never");
13773
+ commentAbove?: string;
13709
13774
  })[];
13710
13775
  }[];
13711
13776
  // ----- perfectionist/sort-variable-declarations -----
@@ -13782,7 +13847,8 @@ type PerfectionistSortVariableDeclarations = [] | [{
13782
13847
  partitionByNewLine?: boolean;
13783
13848
  newlinesBetween?: ("ignore" | "always" | "never");
13784
13849
  groups?: (string | string[] | {
13785
- newlinesBetween: ("ignore" | "always" | "never");
13850
+ newlinesBetween?: ("ignore" | "always" | "never");
13851
+ commentAbove?: string;
13786
13852
  })[];
13787
13853
  }];
13788
13854
  // ----- pinia/prefer-use-store-naming-convention -----
@@ -13984,6 +14050,10 @@ type RegexpPreferLookaround = [] | [{
13984
14050
  type RegexpPreferNamedReplacement = [] | [{
13985
14051
  strictTypes?: boolean;
13986
14052
  }];
14053
+ // ----- regexp/prefer-quantifier -----
14054
+ type RegexpPreferQuantifier = [] | [{
14055
+ allows?: string[];
14056
+ }];
13987
14057
  // ----- regexp/prefer-range -----
13988
14058
  type RegexpPreferRange = [] | [{
13989
14059
  target?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]]);
@@ -14259,6 +14329,7 @@ type SveltePreferConst = [] | [{
14259
14329
  destructuring?: ("any" | "all");
14260
14330
  ignoreReadBeforeAssign?: boolean;
14261
14331
  excludedRunes?: string[];
14332
+ [k: string]: unknown | undefined;
14262
14333
  }];
14263
14334
  // ----- svelte/require-event-prefix -----
14264
14335
  type SvelteRequireEventPrefix = [] | [{
@@ -16128,7 +16199,7 @@ type VueNoRestrictedCustomEvent = (string | {
16128
16199
  })[];
16129
16200
  // ----- vue/no-restricted-html-elements -----
16130
16201
  type VueNoRestrictedHtmlElements = (string | {
16131
- element: string;
16202
+ element: (string | string[]);
16132
16203
  message?: string;
16133
16204
  })[];
16134
16205
  // ----- vue/no-restricted-props -----
@@ -16650,7 +16721,8 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
16650
16721
  onlyEquality?: boolean;
16651
16722
  }];
16652
16723
  // Names of all the configs
16653
- type ConfigNames = 'ntnyq/antfu' | 'ntnyq/astro' | 'ntnyq/command' | 'ntnyq/de-morgan' | 'ntnyq/eslint-comments' | 'ntnyq/depend' | 'ntnyq/depend/package-json' | 'ntnyq/eslint-plugin' | 'ntnyq/format/setup' | 'ntnyq/format/css' | 'ntnyq/format/scss' | 'ntnyq/format/less' | 'ntnyq/format/html' | 'ntnyq/github-action' | 'ntnyq/gitignore' | 'ntnyq/html' | 'ntnyq/ignores' | 'ntnyq/import-x' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/processor' | 'ntnyq/markdown/parser' | 'ntnyq/markdown/disabled' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/pinia' | 'ntnyq/pnpm/package-json' | 'ntnyq/pnpm/pnpm-workspace-yaml' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/perfectionist/common' | 'ntnyq/perfectionist/enums' | 'ntnyq/perfectionist/types' | 'ntnyq/perfectionist/constants' | 'ntnyq/regexp' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/json-schema' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/bin' | 'ntnyq/specials/userscript' | 'ntnyq/specials/config-file' | 'ntnyq/svelte' | 'ntnyq/svgo' | 'ntnyq/test/setup' | 'ntnyq/test/base' | 'ntnyq/test/vitest' | 'ntnyq/toml' | 'ntnyq/ts/setup' | 'ntnyq/ts/parser' | 'ntnyq/ts/rules' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/vue/setup' | 'ntnyq/vue/rules' | 'ntnyq/yml'; //#endregion
16724
+ type ConfigNames = 'ntnyq/antfu' | 'ntnyq/astro' | 'ntnyq/command' | 'ntnyq/de-morgan' | 'ntnyq/eslint-comments' | 'ntnyq/depend' | 'ntnyq/depend/package-json' | 'ntnyq/eslint-plugin' | 'ntnyq/format/setup' | 'ntnyq/format/css' | 'ntnyq/format/scss' | 'ntnyq/format/less' | 'ntnyq/format/html' | 'ntnyq/github-action' | 'ntnyq/gitignore' | 'ntnyq/html' | 'ntnyq/ignores' | 'ntnyq/import-x' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/processor' | 'ntnyq/markdown/parser' | 'ntnyq/markdown/disabled' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/pinia' | 'ntnyq/pnpm/package-json' | 'ntnyq/pnpm/pnpm-workspace-yaml' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/perfectionist/common' | 'ntnyq/perfectionist/enums' | 'ntnyq/perfectionist/types' | 'ntnyq/perfectionist/constants' | 'ntnyq/regexp' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/json-schema' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/bin' | 'ntnyq/specials/userscript' | 'ntnyq/specials/config-file' | 'ntnyq/svelte' | 'ntnyq/svgo' | 'ntnyq/test/setup' | 'ntnyq/test/base' | 'ntnyq/test/vitest' | 'ntnyq/toml' | 'ntnyq/ts/setup' | 'ntnyq/ts/parser' | 'ntnyq/ts/rules' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/vue/setup' | 'ntnyq/vue/rules' | 'ntnyq/yml';
16725
+ //#endregion
16654
16726
  //#region src/types/eslint.d.ts
16655
16727
  /**
16656
16728
  * ESLint config
@@ -16691,7 +16763,6 @@ type TypedConfigItem = Omit<Linter.Config<ESLintRulesRecord & RuleOptions>, 'plu
16691
16763
  */
16692
16764
  plugins?: Record<string, any>;
16693
16765
  };
16694
-
16695
16766
  //#endregion
16696
16767
  //#region src/types/options.d.ts
16697
16768
  /**
@@ -16726,7 +16797,6 @@ interface OptionsShareable {
16726
16797
  */
16727
16798
  typescript?: boolean;
16728
16799
  }
16729
-
16730
16800
  //#endregion
16731
16801
  //#region src/types/config.d.ts
16732
16802
  /**
@@ -16787,7 +16857,6 @@ interface ConfigOptionsInternal {
16787
16857
  format?: boolean | ConfigFormatOptions;
16788
16858
  unusedImports?: boolean | ConfigUnusedImportsOptions;
16789
16859
  }
16790
-
16791
16860
  //#endregion
16792
16861
  //#region src/types/prettier.d.ts
16793
16862
  /**
@@ -16796,14 +16865,12 @@ interface ConfigOptionsInternal {
16796
16865
  type PrettierOptions = Pick<Options$1, 'arrowParens' | 'bracketSameLine' | 'bracketSpacing' | 'embeddedLanguageFormatting' | 'endOfLine' | 'experimentalOperatorPosition' | 'experimentalTernaries' | 'htmlWhitespaceSensitivity' | 'insertPragma' | 'jsxSingleQuote' | 'objectWrap' | 'plugins' | 'printWidth' | 'proseWrap' | 'quoteProps' | 'rangeEnd' | 'rangeStart' | 'requirePragma' | 'semi' | 'singleAttributePerLine' | 'singleQuote' | 'tabWidth' | 'trailingComma' | 'useTabs' | 'vueIndentScriptAndStyle'> & {
16797
16866
  parser?: BuiltInParserName;
16798
16867
  };
16799
-
16800
16868
  //#endregion
16801
16869
  //#region src/core.d.ts
16802
16870
  /**
16803
16871
  * Config factory
16804
16872
  */
16805
16873
  declare function defineESLintConfig(options?: ConfigOptions, ...userConfigs: Awaitable<TypedConfigItem | TypedConfigItem[] | ESLintConfig[]>[]): FlatConfigComposer<TypedConfigItem, ConfigNames>;
16806
-
16807
16874
  //#endregion
16808
16875
  //#region src/globs.d.ts
16809
16876
  /**
@@ -16851,7 +16918,6 @@ declare const GLOB_NODE_MODULES: string;
16851
16918
  declare const GLOB_DIST: string;
16852
16919
  declare const GLOB_LOCKFILE: string[];
16853
16920
  declare const GLOB_EXCLUDE: string[];
16854
-
16855
16921
  //#endregion
16856
16922
  //#region src/utils/env.d.ts
16857
16923
  type ExistChecker = () => boolean;
@@ -16861,22 +16927,18 @@ declare const hasTypeScript: ExistChecker;
16861
16927
  declare const hasShadcnVue: ExistChecker;
16862
16928
  declare const hasUnoCSS: ExistChecker;
16863
16929
  declare const hasVue: ExistChecker;
16864
-
16865
16930
  //#endregion
16866
16931
  //#region src/utils/getOverrides.d.ts
16867
16932
  declare function getOverrides<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): Partial<TypedConfigItem['rules'] & RuleOptions>;
16868
-
16869
16933
  //#endregion
16870
16934
  //#region src/utils/combineConfigs.d.ts
16871
16935
  declare function combineConfigs(...configs: Awaitable<TypedConfigItem | TypedConfigItem[]>[]): Promise<TypedConfigItem[]>;
16872
-
16873
16936
  //#endregion
16874
16937
  //#region src/utils/ensurePackages.d.ts
16875
16938
  /**
16876
16939
  * @copyright {@link https://github.com/antfu/eslint-config}
16877
16940
  */
16878
16941
  declare function ensurePackages(packages: (string | undefined)[]): Promise<void>;
16879
-
16880
16942
  //#endregion
16881
16943
  //#region src/utils/interopDefault.d.ts
16882
16944
  /**
@@ -16885,19 +16947,15 @@ declare function ensurePackages(packages: (string | undefined)[]): Promise<void>
16885
16947
  * @returns The default export
16886
16948
  */
16887
16949
  declare function interopDefault<T>(mod: Awaitable<T>): Promise<InteropModuleDefault<T>>;
16888
-
16889
16950
  //#endregion
16890
16951
  //#region src/utils/resolveSubOptions.d.ts
16891
16952
  declare function resolveSubOptions<T extends Record<string, any>, K extends keyof T>(options: T, key: K): Partial<ResolvedOptions<T[K]>>;
16892
-
16893
16953
  //#endregion
16894
16954
  //#region src/utils/mergePrettierOptions.d.ts
16895
16955
  declare function mergePrettierOptions(options?: PrettierOptions, overrides?: PrettierOptions): PrettierOptions;
16896
-
16897
16956
  //#endregion
16898
16957
  //#region src/utils/isInGitHooksOrRunBySpecifyPackages.d.ts
16899
16958
  declare function isInGitHooksOrRunBySpecifyPackages(): boolean;
16900
-
16901
16959
  //#endregion
16902
16960
  //#region src/constants/prettier.d.ts
16903
16961
  /**
@@ -16906,7 +16964,6 @@ declare function isInGitHooksOrRunBySpecifyPackages(): boolean;
16906
16964
  * @see {@link https://github.com/ntnyq/configs/blob/main/packages/prettier-config/index.js}
16907
16965
  */
16908
16966
  declare const PRETTIER_DEFAULT_OPTIONS: PrettierOptions;
16909
-
16910
16967
  //#endregion
16911
16968
  //#region src/constants/perfectionist.d.ts
16912
16969
  /**
@@ -16937,6 +16994,5 @@ declare const PERFECTIONIST: Readonly<{
16937
16994
  sortNamedImportsGroups: string[];
16938
16995
  sortObjectsGroups: string[];
16939
16996
  }>;
16940
-
16941
16997
  //#endregion
16942
16998
  export { Arrayable, Awaitable, ConfigAntfuOptions, ConfigAstroOptions, ConfigCommandOptions, ConfigDeMorganOptions, ConfigDependOptions, ConfigESLintCommentsOptions, ConfigESLintPluginOptions, ConfigFormatOptions, ConfigGitHubActionOptions, ConfigGitIgnoreOptions, ConfigHtmlOptions, ConfigIgnoresOptions, ConfigImportXOptions, ConfigJavaScriptOptions, ConfigJsdocOptions, ConfigJsoncOptions, ConfigMarkdownOptions, ConfigNames, ConfigNodeOptions, ConfigNtnyqOptions, ConfigOptions, ConfigOptionsInternal, ConfigPerfectionistOptions, ConfigPiniaOptions, ConfigPnpmOptions, ConfigPrettierOptions, ConfigRegexpOptions, ConfigSVGOOptions, ConfigSortOptions, ConfigSpecialsOptions, ConfigSvelteOptions, ConfigTestOptions, ConfigTomlOptions, ConfigTypeScriptOptions, ConfigUnicornOptions, ConfigUnoCSSOptions, ConfigUnusedImportsOptions, ConfigVueOptions, ConfigYmlOptions, ESLintConfig, ESLintParser, ESLintParserOptions, ESLintProcessor, ESLintRuleSeverity, ESLintRulesRecord, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_DIST, GLOB_DTS, GLOB_EXCLUDE, GLOB_GITHUB_ACTION, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSON_SCHEMA, GLOB_JSX, GLOB_JSX_ONLY, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_NESTED, GLOB_NODE_MODULES, GLOB_PACKAGE_JSON, GLOB_PINIA_STORE, GLOB_PNPM_WORKSPACE_YAML, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TEST, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG_JSON, GLOB_TSX, GLOB_TSX_ONLY, GLOB_TYPES, GLOB_TYPE_TEST, GLOB_VUE, GLOB_YAML, InteropModuleDefault, OptionsFiles, OptionsIgnores, OptionsOverrides, OptionsShareable, PERFECTIONIST, PRETTIER_DEFAULT_OPTIONS, PerfectionistPartitionByComment, PrettierOptions, Pretty, ResolvedOptions, RuleOptions, TSESLintParserOptions, TypedConfigItem, combineConfigs, configAntfu, configAstro, configCommand, configDeMorgan, configDepend, configESLintComments, configESLintPlugin, configFormat, configGitHubAction, configGitIgnore, configHtml, configIgnores, configImportX, configJSX, configJavaScript, configJsdoc, configJsonc, configMarkdown, configNode, configNtnyq, configPerfectionist, configPinia, configPnpm, configPrettier, configRegexp, configSVGO, configSort, configSpecials, configSvelte, configTest, configToml, configTypeScript, configUnicorn, configUnoCSS, configUnusedImports, configVue, configYml, configsTypeScript, defineESLintConfig, ensurePackages, getOverrides, hasPinia, hasShadcnVue, hasTypeScript, hasUnoCSS, hasVitest, hasVue, interopDefault, isInGitHooksOrRunBySpecifyPackages, mergePrettierOptions, mergeProcessors, parserJsonc, parserPlain, parserToml, parserTypeScript, parserVue, parserYaml, pluginAntfu, pluginComments, pluginDeMorgan, pluginDepend, pluginGitHubAction, pluginImportX, pluginJsdoc, pluginJsonc, pluginMarkdown, pluginNoOnlyTests, pluginNode, pluginNtnyq, pluginPerfectionist, pluginPinia, pluginPrettier, pluginRegexp, pluginSvgo, pluginToml, pluginTypeScript, pluginUnicorn, pluginUnoCSS, pluginVitest, pluginVue, pluginYml, processorPassThrough, processorVueBlocks, resolveSubOptions };
package/dist/index.js CHANGED
@@ -267,6 +267,7 @@ const unCategorizedRules = {
267
267
  ]
268
268
  }],
269
269
  "vue/define-props-declaration": ["error", "type-based"],
270
+ "vue/define-props-destructuring": ["error", { destructure: "never" }],
270
271
  "vue/enforce-style-attribute": ["error", { allow: ["scoped", "plain"] }],
271
272
  "vue/html-button-has-type": ["error", {
272
273
  button: true,
@@ -995,6 +996,7 @@ const configSort = (options = {}) => {
995
996
  if (enableSortJsonSchema) configs.push({
996
997
  name: "ntnyq/sort/json-schema",
997
998
  files: [...GLOB_JSON_SCHEMA],
999
+ ignores: [GLOB_PACKAGE_JSON],
998
1000
  rules: {
999
1001
  "jsonc/sort-array-values": ["error", {
1000
1002
  order: { type: "asc" },
@@ -1011,6 +1013,7 @@ const configSort = (options = {}) => {
1011
1013
  "$ref",
1012
1014
  "title",
1013
1015
  "description",
1016
+ "version",
1014
1017
  "type",
1015
1018
  "definitions",
1016
1019
  "properties",
@@ -2254,7 +2257,8 @@ const configPrettier = (options = {}) => {
2254
2257
  "vue/space-infix-ops": "off",
2255
2258
  "vue/space-unary-ops": "off",
2256
2259
  "vue/template-curly-spacing": "off",
2257
- ...pluginPrettier.configs.recommended.rules,
2260
+ "arrow-body-style": "off",
2261
+ "prefer-arrow-callback": "off",
2258
2262
  "prettier/prettier": options.severity || "warn",
2259
2263
  ...options.overrides
2260
2264
  }
@@ -3039,16 +3043,16 @@ function defineESLintConfig(options = {}, ...userConfigs) {
3039
3043
  ...resolveSubOptions(options, "javascript"),
3040
3044
  overrides: getOverrides(options, "javascript")
3041
3045
  }));
3042
- if (enableImportX) configImportX({
3046
+ if (enableImportX) configs.push(configImportX({
3043
3047
  typescript: !!enableTypeScript,
3044
3048
  ...resolveSubOptions(options, "importX"),
3045
3049
  overrides: getOverrides(options, "importX")
3046
- });
3047
- if (enableJsdoc) configJsdoc({
3050
+ }));
3051
+ if (enableJsdoc) configs.push(configJsdoc({
3048
3052
  typescript: !!enableTypeScript,
3049
3053
  overrides: getOverrides(options, "jsdoc"),
3050
3054
  ...resolveSubOptions(options, "jsdoc")
3051
- });
3055
+ }));
3052
3056
  if (enablePerfectionist) configs.push(configPerfectionist({
3053
3057
  ...resolveSubOptions(options, "perfectionist"),
3054
3058
  overrides: getOverrides(options, "perfectionist")
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "5.0.0-beta.4",
4
+ "version": "5.0.0-beta.6",
5
5
  "description": "An opinionated ESLint config preset of ntnyq",
6
6
  "keywords": [
7
7
  "eslint",
@@ -88,34 +88,34 @@
88
88
  "@antfu/install-pkg": "^1.1.0",
89
89
  "@clack/prompts": "^0.11.0",
90
90
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
91
- "@eslint/js": "^9.27.0",
92
- "@eslint/markdown": "^6.4.0",
93
- "@unocss/eslint-plugin": "^66.1.2",
91
+ "@eslint/js": "^9.28.0",
92
+ "@eslint/markdown": "^6.5.0",
93
+ "@unocss/eslint-plugin": "^66.1.4",
94
94
  "@vitest/eslint-plugin": "^1.2.1",
95
95
  "eslint-config-flat-gitignore": "^2.1.0",
96
96
  "eslint-flat-config-utils": "^2.1.0",
97
- "eslint-import-resolver-typescript": "^4.4.1",
97
+ "eslint-import-resolver-typescript": "^4.4.3",
98
98
  "eslint-merge-processors": "^2.0.0",
99
99
  "eslint-parser-plain": "^0.1.1",
100
100
  "eslint-plugin-antfu": "^3.1.1",
101
101
  "eslint-plugin-command": "^3.2.1",
102
- "eslint-plugin-de-morgan": "^1.2.1",
102
+ "eslint-plugin-de-morgan": "^1.3.0",
103
103
  "eslint-plugin-depend": "^1.2.0",
104
104
  "eslint-plugin-github-action": "^0.0.16",
105
- "eslint-plugin-import-x": "^4.13.2",
106
- "eslint-plugin-jsdoc": "^50.6.17",
105
+ "eslint-plugin-import-x": "^4.15.1",
106
+ "eslint-plugin-jsdoc": "^50.7.1",
107
107
  "eslint-plugin-jsonc": "^2.20.1",
108
- "eslint-plugin-n": "^17.18.0",
108
+ "eslint-plugin-n": "^17.19.0",
109
109
  "eslint-plugin-no-only-tests": "^3.3.0",
110
110
  "eslint-plugin-ntnyq": "^0.11.0",
111
- "eslint-plugin-perfectionist": "^4.13.0",
111
+ "eslint-plugin-perfectionist": "^4.14.0",
112
112
  "eslint-plugin-pinia": "^0.4.1",
113
- "eslint-plugin-prettier": "^5.4.0",
114
- "eslint-plugin-regexp": "^2.7.0",
113
+ "eslint-plugin-prettier": "^5.4.1",
114
+ "eslint-plugin-regexp": "^2.9.0",
115
115
  "eslint-plugin-svgo": "^0.8.0",
116
116
  "eslint-plugin-toml": "^0.12.0",
117
117
  "eslint-plugin-unicorn": "^59.0.1",
118
- "eslint-plugin-vue": "^10.1.0",
118
+ "eslint-plugin-vue": "^10.2.0",
119
119
  "eslint-plugin-yml": "^1.18.0",
120
120
  "eslint-processor-vue-blocks": "^2.0.0",
121
121
  "globals": "^16.2.0",
@@ -123,15 +123,16 @@
123
123
  "local-pkg": "^1.1.1",
124
124
  "prettier": "^3.5.3",
125
125
  "toml-eslint-parser": "^0.10.0",
126
- "typescript-eslint": "^8.32.1",
126
+ "typescript-eslint": "^8.33.1",
127
127
  "vue-eslint-parser": "^10.1.3",
128
128
  "yaml-eslint-parser": "^1.3.0"
129
129
  },
130
130
  "devDependencies": {
131
131
  "@ntnyq/prettier-config": "^2.2.0",
132
- "@types/node": "^22.15.21",
132
+ "@types/node": "^22.15.30",
133
133
  "bumpp": "^10.1.1",
134
- "eslint": "^9.27.0",
134
+ "consola": "^3.4.2",
135
+ "eslint": "^9.28.0",
135
136
  "eslint-plugin-eslint-plugin": "^6.4.0",
136
137
  "eslint-typegen": "^2.2.0",
137
138
  "husky": "^9.1.7",
@@ -139,11 +140,10 @@
139
140
  "nano-staged": "^0.8.0",
140
141
  "npm-run-all2": "^8.0.4",
141
142
  "tinyglobby": "^0.2.14",
142
- "tsdown": "^0.12.3",
143
- "tsx": "^4.19.4",
143
+ "tsdown": "^0.12.7",
144
144
  "typescript": "^5.8.3",
145
145
  "uncase": "^0.1.0",
146
- "vitest": "^3.1.4"
146
+ "vitest": "^3.2.2"
147
147
  },
148
148
  "engines": {
149
149
  "node": ">=20.11.0"
@@ -153,14 +153,12 @@
153
153
  "*.{css,scss,html}": "prettier -uw"
154
154
  },
155
155
  "scripts": {
156
- "build": "run-s generate:types build:lib",
157
- "build:inspector": "pnpm dlx @eslint/config-inspector build --config eslint-inspector.config.ts",
158
- "build:lib": "tsdown",
156
+ "build": "tsdown",
159
157
  "dev": "tsdown --watch",
160
158
  "docs:build": "pnpm -C docs run build",
161
159
  "docs:dev": "pnpm -C docs run dev",
162
- "generate:site": "run-s generate:types build:lib build:inspector",
163
- "generate:types": "tsx scripts/generateType.ts",
160
+ "inspector:build": "run-s build inspector:generate",
161
+ "inspector:generate": "pnpm dlx @eslint/config-inspector build --config eslint-inspector.config.ts",
164
162
  "lint": "eslint --cache",
165
163
  "release": "run-s release:check release:version release:publish",
166
164
  "release:check": "run-s build lint test typecheck",