@vinicunca/eslint-config 3.16.1 → 3.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +163 -84
  2. package/dist/index.js +22 -18
  3. package/package.json +10 -9
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { FlatConfigComposer } from "eslint-flat-config-utils";
2
2
  import pluginComments from "@eslint-community/eslint-plugin-eslint-comments";
3
3
  import pluginAntfu from "eslint-plugin-antfu";
4
+ import pluginImportLite from "eslint-plugin-import-lite";
4
5
  import pluginNode from "eslint-plugin-n";
5
6
  import pluginPerfectionist from "eslint-plugin-perfectionist";
6
7
  import pluginSonar from "eslint-plugin-sonarjs";
@@ -654,6 +655,41 @@ interface RuleOptions {
654
655
  * @deprecated
655
656
  */
656
657
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
658
+ /**
659
+ * Enforce or ban the use of inline type-only markers for named imports.
660
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/consistent-type-specifier-style/README.md
661
+ */
662
+ 'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
663
+ /**
664
+ * Ensure all imports appear before other statements.
665
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/first/README.md
666
+ */
667
+ 'import/first'?: Linter.RuleEntry<ImportFirst>;
668
+ /**
669
+ * Enforce a newline after import statements.
670
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/newline-after-import/README.md
671
+ */
672
+ 'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>;
673
+ /**
674
+ * Forbid default exports.
675
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-default-export/README.md
676
+ */
677
+ 'import/no-default-export'?: Linter.RuleEntry<[]>;
678
+ /**
679
+ * Forbid repeated import of the same module in multiple places.
680
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-duplicates/README.md
681
+ */
682
+ 'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>;
683
+ /**
684
+ * Forbid the use of mutable exports with `var` or `let`.
685
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-mutable-exports/README.md
686
+ */
687
+ 'import/no-mutable-exports'?: Linter.RuleEntry<[]>;
688
+ /**
689
+ * Forbid named default exports.
690
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-named-default/README.md
691
+ */
692
+ 'import/no-named-default'?: Linter.RuleEntry<[]>;
657
693
  /**
658
694
  * Enforce consistent indentation
659
695
  * @see https://eslint.org/docs/latest/rules/indent
@@ -5945,6 +5981,11 @@ interface RuleOptions {
5945
5981
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
5946
5982
  */
5947
5983
  'test/consistent-test-it'?: Linter.RuleEntry<TestConsistentTestIt>;
5984
+ /**
5985
+ * enforce using vitest or vi but not both
5986
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md
5987
+ */
5988
+ 'test/consistent-vitest-vi'?: Linter.RuleEntry<TestConsistentVitestVi>;
5948
5989
  /**
5949
5990
  * enforce having expectation in test body
5950
5991
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
@@ -6021,6 +6062,11 @@ interface RuleOptions {
6021
6062
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
6022
6063
  */
6023
6064
  'test/no-import-node-test'?: Linter.RuleEntry<[]>;
6065
+ /**
6066
+ * disallow importing Vitest globals
6067
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md
6068
+ */
6069
+ 'test/no-importing-vitest-globals'?: Linter.RuleEntry<[]>;
6024
6070
  /**
6025
6071
  * disallow string interpolation in snapshots
6026
6072
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
@@ -6057,7 +6103,7 @@ interface RuleOptions {
6057
6103
  */
6058
6104
  'test/no-standalone-expect'?: Linter.RuleEntry<TestNoStandaloneExpect>;
6059
6105
  /**
6060
- * Disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
6106
+ * disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
6061
6107
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
6062
6108
  */
6063
6109
  'test/no-test-prefixes'?: Linter.RuleEntry<[]>;
@@ -6151,6 +6197,11 @@ interface RuleOptions {
6151
6197
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
6152
6198
  */
6153
6199
  'test/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
6200
+ /**
6201
+ * enforce importing Vitest globals
6202
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
6203
+ */
6204
+ 'test/prefer-importing-vitest-globals'?: Linter.RuleEntry<[]>;
6154
6205
  /**
6155
6206
  * enforce lowercase titles
6156
6207
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
@@ -9446,6 +9497,20 @@ type IdMatch = [] | [string] | [string, {
9446
9497
  }];
9447
9498
  // ----- implicit-arrow-linebreak -----
9448
9499
  type ImplicitArrowLinebreak = [] | [("beside" | "below")];
9500
+ // ----- import/consistent-type-specifier-style -----
9501
+ type ImportConsistentTypeSpecifierStyle = [] | [("top-level" | "inline" | "prefer-top-level")];
9502
+ // ----- import/first -----
9503
+ type ImportFirst = [] | [("absolute-first" | "disable-absolute-first")];
9504
+ // ----- import/newline-after-import -----
9505
+ type ImportNewlineAfterImport = [] | [{
9506
+ count?: number;
9507
+ exactCount?: boolean;
9508
+ considerComments?: boolean;
9509
+ }];
9510
+ // ----- import/no-duplicates -----
9511
+ type ImportNoDuplicates = [] | [{
9512
+ "prefer-inline"?: boolean;
9513
+ }];
9449
9514
  // ----- indent -----
9450
9515
  type Indent = [] | [("tab" | number)] | [("tab" | number), {
9451
9516
  SwitchCase?: number;
@@ -9631,6 +9696,7 @@ type JsdocLinesBeforeBlock = [] | [{
9631
9696
  checkBlockStarts?: boolean;
9632
9697
  excludedTags?: string[];
9633
9698
  ignoreSameLine?: boolean;
9699
+ ignoreSingleLines?: boolean;
9634
9700
  lines?: number;
9635
9701
  }];
9636
9702
  // ----- jsdoc/match-description -----
@@ -11528,7 +11594,7 @@ type PerfectionistSortArrayIncludes = {
11528
11594
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11529
11595
  groupKind?: ("mixed" | "literals-first" | "spreads-first");
11530
11596
  customGroups?: ({
11531
- newlinesInside?: ("always" | "never");
11597
+ newlinesInside?: (("always" | "never") | number);
11532
11598
  fallbackSort?: {
11533
11599
  order?: ("asc" | "desc");
11534
11600
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11547,7 +11613,7 @@ type PerfectionistSortArrayIncludes = {
11547
11613
  } | string));
11548
11614
  }[];
11549
11615
  } | {
11550
- newlinesInside?: ("always" | "never");
11616
+ newlinesInside?: (("always" | "never") | number);
11551
11617
  fallbackSort?: {
11552
11618
  order?: ("asc" | "desc");
11553
11619
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11596,9 +11662,9 @@ type PerfectionistSortArrayIncludes = {
11596
11662
  } | string)));
11597
11663
  });
11598
11664
  partitionByNewLine?: boolean;
11599
- newlinesBetween?: ("ignore" | "always" | "never");
11665
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11600
11666
  groups?: (string | string[] | {
11601
- newlinesBetween?: ("ignore" | "always" | "never");
11667
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11602
11668
  commentAbove?: string;
11603
11669
  })[];
11604
11670
  }[];
@@ -11615,7 +11681,7 @@ type PerfectionistSortClasses = [] | [{
11615
11681
  order?: ("asc" | "desc");
11616
11682
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11617
11683
  customGroups?: ({
11618
- newlinesInside?: ("always" | "never");
11684
+ newlinesInside?: (("always" | "never") | number);
11619
11685
  fallbackSort?: {
11620
11686
  order?: ("asc" | "desc");
11621
11687
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11649,7 +11715,7 @@ type PerfectionistSortClasses = [] | [{
11649
11715
  } | string));
11650
11716
  }[];
11651
11717
  } | {
11652
- newlinesInside?: ("always" | "never");
11718
+ newlinesInside?: (("always" | "never") | number);
11653
11719
  fallbackSort?: {
11654
11720
  order?: ("asc" | "desc");
11655
11721
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11711,9 +11777,9 @@ type PerfectionistSortClasses = [] | [{
11711
11777
  } | string)));
11712
11778
  });
11713
11779
  partitionByNewLine?: boolean;
11714
- newlinesBetween?: ("ignore" | "always" | "never");
11780
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11715
11781
  groups?: (string | string[] | {
11716
- newlinesBetween?: ("ignore" | "always" | "never");
11782
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11717
11783
  commentAbove?: string;
11718
11784
  })[];
11719
11785
  }];
@@ -11760,7 +11826,7 @@ type PerfectionistSortDecorators = [] | [{
11760
11826
  [k: string]: (string | string[]) | undefined;
11761
11827
  };
11762
11828
  groups?: (string | string[] | {
11763
- newlinesBetween?: ("ignore" | "always" | "never");
11829
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11764
11830
  commentAbove?: string;
11765
11831
  })[];
11766
11832
  }];
@@ -11779,7 +11845,7 @@ type PerfectionistSortEnums = [] | [{
11779
11845
  customGroups?: ({
11780
11846
  [k: string]: (string | string[]) | undefined;
11781
11847
  } | ({
11782
- newlinesInside?: ("always" | "never");
11848
+ newlinesInside?: (("always" | "never") | number);
11783
11849
  fallbackSort?: {
11784
11850
  order?: ("asc" | "desc");
11785
11851
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11804,7 +11870,7 @@ type PerfectionistSortEnums = [] | [{
11804
11870
  } | string));
11805
11871
  }[];
11806
11872
  } | {
11807
- newlinesInside?: ("always" | "never");
11873
+ newlinesInside?: (("always" | "never") | number);
11808
11874
  fallbackSort?: {
11809
11875
  order?: ("asc" | "desc");
11810
11876
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11852,9 +11918,9 @@ type PerfectionistSortEnums = [] | [{
11852
11918
  } | string)));
11853
11919
  });
11854
11920
  partitionByNewLine?: boolean;
11855
- newlinesBetween?: ("ignore" | "always" | "never");
11921
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11856
11922
  groups?: (string | string[] | {
11857
- newlinesBetween?: ("ignore" | "always" | "never");
11923
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11858
11924
  commentAbove?: string;
11859
11925
  })[];
11860
11926
  }];
@@ -11872,7 +11938,7 @@ type PerfectionistSortExports = {
11872
11938
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11873
11939
  groupKind?: ("mixed" | "values-first" | "types-first");
11874
11940
  customGroups?: ({
11875
- newlinesInside?: ("always" | "never");
11941
+ newlinesInside?: (("always" | "never") | number);
11876
11942
  fallbackSort?: {
11877
11943
  order?: ("asc" | "desc");
11878
11944
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11892,7 +11958,7 @@ type PerfectionistSortExports = {
11892
11958
  } | string));
11893
11959
  }[];
11894
11960
  } | {
11895
- newlinesInside?: ("always" | "never");
11961
+ newlinesInside?: (("always" | "never") | number);
11896
11962
  fallbackSort?: {
11897
11963
  order?: ("asc" | "desc");
11898
11964
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -11933,9 +11999,9 @@ type PerfectionistSortExports = {
11933
11999
  } | string)));
11934
12000
  });
11935
12001
  partitionByNewLine?: boolean;
11936
- newlinesBetween?: ("ignore" | "always" | "never");
12002
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11937
12003
  groups?: (string | string[] | {
11938
- newlinesBetween?: ("ignore" | "always" | "never");
12004
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11939
12005
  commentAbove?: string;
11940
12006
  })[];
11941
12007
  }[];
@@ -11955,7 +12021,7 @@ type PerfectionistSortHeritageClauses = [] | [{
11955
12021
  [k: string]: (string | string[]) | undefined;
11956
12022
  };
11957
12023
  groups?: (string | string[] | {
11958
- newlinesBetween?: ("ignore" | "always" | "never");
12024
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
11959
12025
  commentAbove?: string;
11960
12026
  })[];
11961
12027
  }];
@@ -11979,7 +12045,7 @@ type PerfectionistSortImports = {
11979
12045
  [k: string]: (string | string[]) | undefined;
11980
12046
  };
11981
12047
  } | ({
11982
- newlinesInside?: ("always" | "never");
12048
+ newlinesInside?: (("always" | "never") | number);
11983
12049
  fallbackSort?: {
11984
12050
  order?: ("asc" | "desc");
11985
12051
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12006,7 +12072,7 @@ type PerfectionistSortImports = {
12006
12072
  } | string));
12007
12073
  }[];
12008
12074
  } | {
12009
- newlinesInside?: ("always" | "never");
12075
+ newlinesInside?: (("always" | "never") | number);
12010
12076
  fallbackSort?: {
12011
12077
  order?: ("asc" | "desc");
12012
12078
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12062,7 +12128,7 @@ type PerfectionistSortImports = {
12062
12128
  } | string)));
12063
12129
  });
12064
12130
  partitionByNewLine?: boolean;
12065
- newlinesBetween?: ("ignore" | "always" | "never");
12131
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12066
12132
  internalPattern?: (({
12067
12133
  pattern: string;
12068
12134
  flags?: string;
@@ -12071,7 +12137,7 @@ type PerfectionistSortImports = {
12071
12137
  flags?: string;
12072
12138
  } | string));
12073
12139
  groups?: (string | string[] | {
12074
- newlinesBetween?: ("ignore" | "always" | "never");
12140
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12075
12141
  commentAbove?: string;
12076
12142
  })[];
12077
12143
  }[];
@@ -12091,7 +12157,7 @@ type PerfectionistSortInterfaces = {
12091
12157
  customGroups?: ({
12092
12158
  [k: string]: (string | string[]) | undefined;
12093
12159
  } | ({
12094
- newlinesInside?: ("always" | "never");
12160
+ newlinesInside?: (("always" | "never") | number);
12095
12161
  fallbackSort?: {
12096
12162
  order?: ("asc" | "desc");
12097
12163
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12120,7 +12186,7 @@ type PerfectionistSortInterfaces = {
12120
12186
  sortBy?: ("name" | "value");
12121
12187
  }[];
12122
12188
  } | {
12123
- newlinesInside?: ("always" | "never");
12189
+ newlinesInside?: (("always" | "never") | number);
12124
12190
  fallbackSort?: {
12125
12191
  order?: ("asc" | "desc");
12126
12192
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12187,7 +12253,7 @@ type PerfectionistSortInterfaces = {
12187
12253
  } | string)));
12188
12254
  });
12189
12255
  partitionByNewLine?: boolean;
12190
- newlinesBetween?: ("ignore" | "always" | "never");
12256
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12191
12257
  ignorePattern?: (({
12192
12258
  pattern: string;
12193
12259
  flags?: string;
@@ -12197,7 +12263,7 @@ type PerfectionistSortInterfaces = {
12197
12263
  } | string));
12198
12264
  sortBy?: ("name" | "value");
12199
12265
  groups?: (string | string[] | {
12200
- newlinesBetween?: ("ignore" | "always" | "never");
12266
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12201
12267
  commentAbove?: string;
12202
12268
  })[];
12203
12269
  }[];
@@ -12214,7 +12280,7 @@ type PerfectionistSortIntersectionTypes = {
12214
12280
  order?: ("asc" | "desc");
12215
12281
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12216
12282
  customGroups?: ({
12217
- newlinesInside?: ("always" | "never");
12283
+ newlinesInside?: (("always" | "never") | number);
12218
12284
  fallbackSort?: {
12219
12285
  order?: ("asc" | "desc");
12220
12286
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12233,7 +12299,7 @@ type PerfectionistSortIntersectionTypes = {
12233
12299
  } | string));
12234
12300
  }[];
12235
12301
  } | {
12236
- newlinesInside?: ("always" | "never");
12302
+ newlinesInside?: (("always" | "never") | number);
12237
12303
  fallbackSort?: {
12238
12304
  order?: ("asc" | "desc");
12239
12305
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12273,9 +12339,9 @@ type PerfectionistSortIntersectionTypes = {
12273
12339
  } | string)));
12274
12340
  });
12275
12341
  partitionByNewLine?: boolean;
12276
- newlinesBetween?: ("ignore" | "always" | "never");
12342
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12277
12343
  groups?: (string | string[] | {
12278
- newlinesBetween?: ("ignore" | "always" | "never");
12344
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12279
12345
  commentAbove?: string;
12280
12346
  })[];
12281
12347
  }[];
@@ -12294,7 +12360,7 @@ type PerfectionistSortJsxProps = {
12294
12360
  customGroups?: ({
12295
12361
  [k: string]: (string | string[]) | undefined;
12296
12362
  } | ({
12297
- newlinesInside?: ("always" | "never");
12363
+ newlinesInside?: (("always" | "never") | number);
12298
12364
  fallbackSort?: {
12299
12365
  order?: ("asc" | "desc");
12300
12366
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12321,7 +12387,7 @@ type PerfectionistSortJsxProps = {
12321
12387
  } | string));
12322
12388
  }[];
12323
12389
  } | {
12324
- newlinesInside?: ("always" | "never");
12390
+ newlinesInside?: (("always" | "never") | number);
12325
12391
  fallbackSort?: {
12326
12392
  order?: ("asc" | "desc");
12327
12393
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12363,7 +12429,7 @@ type PerfectionistSortJsxProps = {
12363
12429
  } | string));
12364
12430
  };
12365
12431
  partitionByNewLine?: boolean;
12366
- newlinesBetween?: ("ignore" | "always" | "never");
12432
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12367
12433
  ignorePattern?: (({
12368
12434
  pattern: string;
12369
12435
  flags?: string;
@@ -12372,7 +12438,7 @@ type PerfectionistSortJsxProps = {
12372
12438
  flags?: string;
12373
12439
  } | string));
12374
12440
  groups?: (string | string[] | {
12375
- newlinesBetween?: ("ignore" | "always" | "never");
12441
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12376
12442
  commentAbove?: string;
12377
12443
  })[];
12378
12444
  }[];
@@ -12389,7 +12455,7 @@ type PerfectionistSortMaps = {
12389
12455
  order?: ("asc" | "desc");
12390
12456
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12391
12457
  customGroups?: ({
12392
- newlinesInside?: ("always" | "never");
12458
+ newlinesInside?: (("always" | "never") | number);
12393
12459
  fallbackSort?: {
12394
12460
  order?: ("asc" | "desc");
12395
12461
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12407,7 +12473,7 @@ type PerfectionistSortMaps = {
12407
12473
  } | string));
12408
12474
  }[];
12409
12475
  } | {
12410
- newlinesInside?: ("always" | "never");
12476
+ newlinesInside?: (("always" | "never") | number);
12411
12477
  fallbackSort?: {
12412
12478
  order?: ("asc" | "desc");
12413
12479
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12455,9 +12521,9 @@ type PerfectionistSortMaps = {
12455
12521
  } | string)));
12456
12522
  });
12457
12523
  partitionByNewLine?: boolean;
12458
- newlinesBetween?: ("ignore" | "always" | "never");
12524
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12459
12525
  groups?: (string | string[] | {
12460
- newlinesBetween?: ("ignore" | "always" | "never");
12526
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12461
12527
  commentAbove?: string;
12462
12528
  })[];
12463
12529
  }[];
@@ -12474,7 +12540,7 @@ type PerfectionistSortModules = [] | [{
12474
12540
  order?: ("asc" | "desc");
12475
12541
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12476
12542
  customGroups?: ({
12477
- newlinesInside?: ("always" | "never");
12543
+ newlinesInside?: (("always" | "never") | number);
12478
12544
  fallbackSort?: {
12479
12545
  order?: ("asc" | "desc");
12480
12546
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12501,7 +12567,7 @@ type PerfectionistSortModules = [] | [{
12501
12567
  } | string));
12502
12568
  }[];
12503
12569
  } | {
12504
- newlinesInside?: ("always" | "never");
12570
+ newlinesInside?: (("always" | "never") | number);
12505
12571
  fallbackSort?: {
12506
12572
  order?: ("asc" | "desc");
12507
12573
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12549,9 +12615,9 @@ type PerfectionistSortModules = [] | [{
12549
12615
  } | string)));
12550
12616
  });
12551
12617
  partitionByNewLine?: boolean;
12552
- newlinesBetween?: ("ignore" | "always" | "never");
12618
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12553
12619
  groups?: (string | string[] | {
12554
- newlinesBetween?: ("ignore" | "always" | "never");
12620
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12555
12621
  commentAbove?: string;
12556
12622
  })[];
12557
12623
  }];
@@ -12570,7 +12636,7 @@ type PerfectionistSortNamedExports = {
12570
12636
  groupKind?: ("mixed" | "values-first" | "types-first");
12571
12637
  ignoreAlias?: boolean;
12572
12638
  customGroups?: ({
12573
- newlinesInside?: ("always" | "never");
12639
+ newlinesInside?: (("always" | "never") | number);
12574
12640
  fallbackSort?: {
12575
12641
  order?: ("asc" | "desc");
12576
12642
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12590,7 +12656,7 @@ type PerfectionistSortNamedExports = {
12590
12656
  } | string));
12591
12657
  }[];
12592
12658
  } | {
12593
- newlinesInside?: ("always" | "never");
12659
+ newlinesInside?: (("always" | "never") | number);
12594
12660
  fallbackSort?: {
12595
12661
  order?: ("asc" | "desc");
12596
12662
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12631,9 +12697,9 @@ type PerfectionistSortNamedExports = {
12631
12697
  } | string)));
12632
12698
  });
12633
12699
  partitionByNewLine?: boolean;
12634
- newlinesBetween?: ("ignore" | "always" | "never");
12700
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12635
12701
  groups?: (string | string[] | {
12636
- newlinesBetween?: ("ignore" | "always" | "never");
12702
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12637
12703
  commentAbove?: string;
12638
12704
  })[];
12639
12705
  }[];
@@ -12652,7 +12718,7 @@ type PerfectionistSortNamedImports = {
12652
12718
  groupKind?: ("mixed" | "values-first" | "types-first");
12653
12719
  ignoreAlias?: boolean;
12654
12720
  customGroups?: ({
12655
- newlinesInside?: ("always" | "never");
12721
+ newlinesInside?: (("always" | "never") | number);
12656
12722
  fallbackSort?: {
12657
12723
  order?: ("asc" | "desc");
12658
12724
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12672,7 +12738,7 @@ type PerfectionistSortNamedImports = {
12672
12738
  } | string));
12673
12739
  }[];
12674
12740
  } | {
12675
- newlinesInside?: ("always" | "never");
12741
+ newlinesInside?: (("always" | "never") | number);
12676
12742
  fallbackSort?: {
12677
12743
  order?: ("asc" | "desc");
12678
12744
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12713,9 +12779,9 @@ type PerfectionistSortNamedImports = {
12713
12779
  } | string)));
12714
12780
  });
12715
12781
  partitionByNewLine?: boolean;
12716
- newlinesBetween?: ("ignore" | "always" | "never");
12782
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12717
12783
  groups?: (string | string[] | {
12718
- newlinesBetween?: ("ignore" | "always" | "never");
12784
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12719
12785
  commentAbove?: string;
12720
12786
  })[];
12721
12787
  }[];
@@ -12735,7 +12801,7 @@ type PerfectionistSortObjectTypes = {
12735
12801
  customGroups?: ({
12736
12802
  [k: string]: (string | string[]) | undefined;
12737
12803
  } | ({
12738
- newlinesInside?: ("always" | "never");
12804
+ newlinesInside?: (("always" | "never") | number);
12739
12805
  fallbackSort?: {
12740
12806
  order?: ("asc" | "desc");
12741
12807
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12764,7 +12830,7 @@ type PerfectionistSortObjectTypes = {
12764
12830
  sortBy?: ("name" | "value");
12765
12831
  }[];
12766
12832
  } | {
12767
- newlinesInside?: ("always" | "never");
12833
+ newlinesInside?: (("always" | "never") | number);
12768
12834
  fallbackSort?: {
12769
12835
  order?: ("asc" | "desc");
12770
12836
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12831,7 +12897,7 @@ type PerfectionistSortObjectTypes = {
12831
12897
  } | string)));
12832
12898
  });
12833
12899
  partitionByNewLine?: boolean;
12834
- newlinesBetween?: ("ignore" | "always" | "never");
12900
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12835
12901
  ignorePattern?: (({
12836
12902
  pattern: string;
12837
12903
  flags?: string;
@@ -12841,7 +12907,7 @@ type PerfectionistSortObjectTypes = {
12841
12907
  } | string));
12842
12908
  sortBy?: ("name" | "value");
12843
12909
  groups?: (string | string[] | {
12844
- newlinesBetween?: ("ignore" | "always" | "never");
12910
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12845
12911
  commentAbove?: string;
12846
12912
  })[];
12847
12913
  }[];
@@ -12863,7 +12929,7 @@ type PerfectionistSortObjects = {
12863
12929
  customGroups?: ({
12864
12930
  [k: string]: (string | string[]) | undefined;
12865
12931
  } | ({
12866
- newlinesInside?: ("always" | "never");
12932
+ newlinesInside?: (("always" | "never") | number);
12867
12933
  fallbackSort?: {
12868
12934
  order?: ("asc" | "desc");
12869
12935
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12890,7 +12956,7 @@ type PerfectionistSortObjects = {
12890
12956
  } | string));
12891
12957
  }[];
12892
12958
  } | {
12893
- newlinesInside?: ("always" | "never");
12959
+ newlinesInside?: (("always" | "never") | number);
12894
12960
  fallbackSort?: {
12895
12961
  order?: ("asc" | "desc");
12896
12962
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -12957,7 +13023,7 @@ type PerfectionistSortObjects = {
12957
13023
  } | string)));
12958
13024
  });
12959
13025
  partitionByNewLine?: boolean;
12960
- newlinesBetween?: ("ignore" | "always" | "never");
13026
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12961
13027
  ignorePattern?: (({
12962
13028
  pattern: string;
12963
13029
  flags?: string;
@@ -12966,7 +13032,7 @@ type PerfectionistSortObjects = {
12966
13032
  flags?: string;
12967
13033
  } | string));
12968
13034
  groups?: (string | string[] | {
12969
- newlinesBetween?: ("ignore" | "always" | "never");
13035
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
12970
13036
  commentAbove?: string;
12971
13037
  })[];
12972
13038
  }[];
@@ -12984,7 +13050,7 @@ type PerfectionistSortSets = {
12984
13050
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12985
13051
  groupKind?: ("mixed" | "literals-first" | "spreads-first");
12986
13052
  customGroups?: ({
12987
- newlinesInside?: ("always" | "never");
13053
+ newlinesInside?: (("always" | "never") | number);
12988
13054
  fallbackSort?: {
12989
13055
  order?: ("asc" | "desc");
12990
13056
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -13003,7 +13069,7 @@ type PerfectionistSortSets = {
13003
13069
  } | string));
13004
13070
  }[];
13005
13071
  } | {
13006
- newlinesInside?: ("always" | "never");
13072
+ newlinesInside?: (("always" | "never") | number);
13007
13073
  fallbackSort?: {
13008
13074
  order?: ("asc" | "desc");
13009
13075
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -13052,9 +13118,9 @@ type PerfectionistSortSets = {
13052
13118
  } | string)));
13053
13119
  });
13054
13120
  partitionByNewLine?: boolean;
13055
- newlinesBetween?: ("ignore" | "always" | "never");
13121
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
13056
13122
  groups?: (string | string[] | {
13057
- newlinesBetween?: ("ignore" | "always" | "never");
13123
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
13058
13124
  commentAbove?: string;
13059
13125
  })[];
13060
13126
  }[];
@@ -13084,7 +13150,7 @@ type PerfectionistSortUnionTypes = {
13084
13150
  order?: ("asc" | "desc");
13085
13151
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
13086
13152
  customGroups?: ({
13087
- newlinesInside?: ("always" | "never");
13153
+ newlinesInside?: (("always" | "never") | number);
13088
13154
  fallbackSort?: {
13089
13155
  order?: ("asc" | "desc");
13090
13156
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -13103,7 +13169,7 @@ type PerfectionistSortUnionTypes = {
13103
13169
  } | string));
13104
13170
  }[];
13105
13171
  } | {
13106
- newlinesInside?: ("always" | "never");
13172
+ newlinesInside?: (("always" | "never") | number);
13107
13173
  fallbackSort?: {
13108
13174
  order?: ("asc" | "desc");
13109
13175
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -13143,9 +13209,9 @@ type PerfectionistSortUnionTypes = {
13143
13209
  } | string)));
13144
13210
  });
13145
13211
  partitionByNewLine?: boolean;
13146
- newlinesBetween?: ("ignore" | "always" | "never");
13212
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
13147
13213
  groups?: (string | string[] | {
13148
- newlinesBetween?: ("ignore" | "always" | "never");
13214
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
13149
13215
  commentAbove?: string;
13150
13216
  })[];
13151
13217
  }[];
@@ -13162,7 +13228,7 @@ type PerfectionistSortVariableDeclarations = [] | [{
13162
13228
  order?: ("asc" | "desc");
13163
13229
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
13164
13230
  customGroups?: ({
13165
- newlinesInside?: ("always" | "never");
13231
+ newlinesInside?: (("always" | "never") | number);
13166
13232
  fallbackSort?: {
13167
13233
  order?: ("asc" | "desc");
13168
13234
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -13181,7 +13247,7 @@ type PerfectionistSortVariableDeclarations = [] | [{
13181
13247
  } | string));
13182
13248
  }[];
13183
13249
  } | {
13184
- newlinesInside?: ("always" | "never");
13250
+ newlinesInside?: (("always" | "never") | number);
13185
13251
  fallbackSort?: {
13186
13252
  order?: ("asc" | "desc");
13187
13253
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
@@ -13221,9 +13287,9 @@ type PerfectionistSortVariableDeclarations = [] | [{
13221
13287
  } | string)));
13222
13288
  });
13223
13289
  partitionByNewLine?: boolean;
13224
- newlinesBetween?: ("ignore" | "always" | "never");
13290
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
13225
13291
  groups?: (string | string[] | {
13226
- newlinesBetween?: ("ignore" | "always" | "never");
13292
+ newlinesBetween?: (("ignore" | "always" | "never") | number);
13227
13293
  commentAbove?: string;
13228
13294
  })[];
13229
13295
  }];
@@ -14014,16 +14080,6 @@ type StyleCurlyNewline = [] | [(("always" | "never") | {
14014
14080
  minElements?: number;
14015
14081
  consistent?: boolean;
14016
14082
  });
14017
- TSEnumBody?: (("always" | "never") | {
14018
- multiline?: boolean;
14019
- minElements?: number;
14020
- consistent?: boolean;
14021
- });
14022
- TSInterfaceBody?: (("always" | "never") | {
14023
- multiline?: boolean;
14024
- minElements?: number;
14025
- consistent?: boolean;
14026
- });
14027
14083
  TSModuleBlock?: (("always" | "never") | {
14028
14084
  multiline?: boolean;
14029
14085
  minElements?: number;
@@ -14759,6 +14815,11 @@ type StyleNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
14759
14815
  enforceForFunctionPrototypeMethods?: boolean;
14760
14816
  allowParensAfterCommentPattern?: string;
14761
14817
  nestedConditionalExpressions?: boolean;
14818
+ allowNodesInSpreadElement?: {
14819
+ ConditionalExpression?: boolean;
14820
+ LogicalExpression?: boolean;
14821
+ AwaitExpression?: boolean;
14822
+ };
14762
14823
  }]);
14763
14824
  // ----- style/no-mixed-operators -----
14764
14825
  type StyleNoMixedOperators = [] | [{
@@ -14836,6 +14897,11 @@ type StyleObjectCurlyNewline = [] | [((("always" | "never") | {
14836
14897
  minProperties?: number;
14837
14898
  consistent?: boolean;
14838
14899
  });
14900
+ TSEnumBody?: (("always" | "never") | {
14901
+ multiline?: boolean;
14902
+ minProperties?: number;
14903
+ consistent?: boolean;
14904
+ });
14839
14905
  })];
14840
14906
  // ----- style/object-curly-spacing -----
14841
14907
  type StyleObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
@@ -14907,12 +14973,14 @@ type StyleSpaceBeforeBlocks = [] | [(("always" | "never") | {
14907
14973
  keywords?: ("always" | "never" | "off");
14908
14974
  functions?: ("always" | "never" | "off");
14909
14975
  classes?: ("always" | "never" | "off");
14976
+ modules?: ("always" | "never" | "off");
14910
14977
  })];
14911
14978
  // ----- style/space-before-function-paren -----
14912
14979
  type StyleSpaceBeforeFunctionParen = [] | [(("always" | "never") | {
14913
14980
  anonymous?: ("always" | "never" | "ignore");
14914
14981
  named?: ("always" | "never" | "ignore");
14915
14982
  asyncArrow?: ("always" | "never" | "ignore");
14983
+ catch?: ("always" | "never" | "ignore");
14916
14984
  })];
14917
14985
  // ----- style/space-in-parens -----
14918
14986
  type StyleSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
@@ -15154,6 +15222,10 @@ type TestConsistentTestIt = [] | [{
15154
15222
  fn?: ("test" | "it");
15155
15223
  withinDescribe?: ("test" | "it");
15156
15224
  }];
15225
+ // ----- test/consistent-vitest-vi -----
15226
+ type TestConsistentVitestVi = [] | [{
15227
+ fn?: ("vi" | "vitest");
15228
+ }];
15157
15229
  // ----- test/expect-expect -----
15158
15230
  type TestExpectExpect = [] | [{
15159
15231
  assertFunctionNames?: string[];
@@ -18123,7 +18195,7 @@ interface OptionsVue extends OptionsOverrides {
18123
18195
  */
18124
18196
  a11y?: boolean;
18125
18197
  }
18126
- type OptionsTypescript = (OptionsOverrides & OptionsTypeScriptParserOptions) | (OptionsOverrides & OptionsTypeScriptWithTypes);
18198
+ type OptionsTypescript = (OptionsTypeScriptWithTypes & OptionsOverrides) | (OptionsTypeScriptParserOptions & OptionsOverrides);
18127
18199
  interface OptionsFormatters {
18128
18200
  /**
18129
18201
  * Enable formatting support for CSS, Less, Sass, and SCSS.
@@ -18307,6 +18379,12 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18307
18379
  * @default true
18308
18380
  */
18309
18381
  unicorn?: boolean | OptionsUnicorn;
18382
+ /**
18383
+ * Options for eslint-plugin-import-lite.
18384
+ *
18385
+ * @default true
18386
+ */
18387
+ imports?: boolean | OptionsOverrides;
18310
18388
  /**
18311
18389
  * Enable test support.
18312
18390
  *
@@ -18429,6 +18507,7 @@ declare const defaultPluginRenaming: {
18429
18507
  '@eslint-react/naming-convention': string;
18430
18508
  '@stylistic': string;
18431
18509
  '@typescript-eslint': string;
18510
+ 'import-lite': string;
18432
18511
  n: string;
18433
18512
  sonarjs: string;
18434
18513
  vitest: string;
@@ -18463,7 +18542,7 @@ declare function formatters(options?: OptionsFormatters | true, stylistic?: Styl
18463
18542
  declare function ignores(userIgnores?: Array<string>): Promise<Array<TypedFlatConfigItem>>;
18464
18543
  //#endregion
18465
18544
  //#region src/configs/imports.d.ts
18466
- declare function imports(_options?: OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
18545
+ declare function imports(options?: OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
18467
18546
  //#endregion
18468
18547
  //#region src/configs/javascript.d.ts
18469
18548
  declare function javascript(options?: OptionsIsInEditor & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
@@ -18656,4 +18735,4 @@ declare function ensurePackages(packages: Array<string | undefined>): Promise<vo
18656
18735
  declare function isInEditorEnv(): boolean;
18657
18736
  declare function isInGitHooksOrLintStaged(): boolean;
18658
18737
  //#endregion
18659
- export { Awaitable, ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
18738
+ export { Awaitable, ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import { fileURLToPath } from "node:url";
5
5
  import createCommand from "eslint-plugin-command/config";
6
6
  import pluginComments from "@eslint-community/eslint-plugin-eslint-comments";
7
7
  import pluginAntfu from "eslint-plugin-antfu";
8
+ import pluginImportLite from "eslint-plugin-import-lite";
8
9
  import pluginNode from "eslint-plugin-n";
9
10
  import pluginPerfectionist from "eslint-plugin-perfectionist";
10
11
  import pluginSonar from "eslint-plugin-sonarjs";
@@ -365,19 +366,6 @@ async function stylistic(options = {}) {
365
366
  after: true,
366
367
  before: false
367
368
  }],
368
- "style/padding-line-between-statements": [
369
- "error",
370
- {
371
- blankLine: "always",
372
- next: "*",
373
- prev: "import"
374
- },
375
- {
376
- blankLine: "any",
377
- next: "import",
378
- prev: "import"
379
- }
380
- ],
381
369
  "style/yield-star-spacing": ["error", {
382
370
  after: true,
383
371
  before: false
@@ -563,14 +551,25 @@ async function ignores(userIgnores = []) {
563
551
 
564
552
  //#endregion
565
553
  //#region src/configs/imports.ts
566
- async function imports(_options = {}) {
554
+ async function imports(options = {}) {
555
+ const { overrides = {}, stylistic: stylistic$1 = true } = options;
567
556
  return [{
568
557
  name: "vinicunca/imports/rules",
569
- plugins: { antfu: pluginAntfu },
558
+ plugins: {
559
+ antfu: pluginAntfu,
560
+ import: pluginImportLite
561
+ },
570
562
  rules: {
571
563
  "antfu/import-dedupe": ERROR,
572
564
  "antfu/no-import-dist": ERROR,
573
- "antfu/no-import-node-modules-by-path": ERROR
565
+ "antfu/no-import-node-modules-by-path": ERROR,
566
+ "import/consistent-type-specifier-style": ["error", "top-level"],
567
+ "import/first": "error",
568
+ "import/no-duplicates": "error",
569
+ "import/no-mutable-exports": "error",
570
+ "import/no-named-default": "error",
571
+ ...stylistic$1 ? { "import/newline-after-import": ["error", { count: 1 }] } : {},
572
+ ...overrides
574
573
  }
575
574
  }];
576
575
  }
@@ -2214,6 +2213,7 @@ const defaultPluginRenaming = {
2214
2213
  "@eslint-react/naming-convention": "react-naming-convention",
2215
2214
  "@stylistic": "style",
2216
2215
  "@typescript-eslint": "ts",
2216
+ "import-lite": "import",
2217
2217
  "n": "node",
2218
2218
  "sonarjs": "sonar",
2219
2219
  "vitest": "test",
@@ -2230,7 +2230,7 @@ const defaultPluginRenaming = {
2230
2230
  * The merged ESLint configurations.
2231
2231
  */
2232
2232
  function vinicuncaESLint(options = {}, ...userConfigs) {
2233
- const { astro: enableAstro = false, autoRenamePlugins = true, componentExts = [], gitignore: enableGitignore = true, jsx: enableJsx = true, react: enableReact = false, regexp: enableRegexp = true, solid: enableSolid = false, svelte: enableSvelte = false, pnpm: enableCatalogs = false, typescript: enableTypeScript = isPackageExists("typescript"), unicorn: enableUnicorn = true, unocss: enableUnoCSS = false, vue: enableVue = VuePackages.some((i) => isPackageExists(i)) } = options;
2233
+ const { astro: enableAstro = false, autoRenamePlugins = true, componentExts = [], gitignore: enableGitignore = true, imports: enableImports = true, jsx: enableJsx = true, react: enableReact = false, regexp: enableRegexp = true, solid: enableSolid = false, svelte: enableSvelte = false, pnpm: enableCatalogs = false, typescript: enableTypeScript = isPackageExists("typescript"), unicorn: enableUnicorn = true, unocss: enableUnoCSS = false, vue: enableVue = VuePackages.some((i) => isPackageExists(i)) } = options;
2234
2234
  let isInEditor = options.isInEditor;
2235
2235
  if (isInEditor == null) {
2236
2236
  isInEditor = isInEditorEnv();
@@ -2256,6 +2256,10 @@ function vinicuncaESLint(options = {}, ...userConfigs) {
2256
2256
  isInEditor,
2257
2257
  overrides: getOverrides(options, "javascript")
2258
2258
  }), comments(), node(), jsdoc({ stylistic: stylisticOptions }), imports({ stylistic: stylisticOptions }), command(), perfectionist(), sonar());
2259
+ if (enableImports) configs$1.push(imports(enableImports === true ? { stylistic: stylisticOptions } : {
2260
+ stylistic: stylisticOptions,
2261
+ ...enableImports
2262
+ }));
2259
2263
  if (enableUnicorn) configs$1.push(unicorn(enableUnicorn === true ? {} : enableUnicorn));
2260
2264
  if (enableVue) componentExts.push("vue");
2261
2265
  if (enableJsx) configs$1.push(jsx());
@@ -2345,4 +2349,4 @@ function resolveSubOptions(options, key) {
2345
2349
  }
2346
2350
 
2347
2351
  //#endregion
2348
- export { GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, STYLISTIC_CONFIG_DEFAULTS, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
2352
+ export { GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, STYLISTIC_CONFIG_DEFAULTS, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vinicunca/eslint-config",
3
3
  "type": "module",
4
- "version": "3.16.1",
4
+ "version": "3.17.0",
5
5
  "description": "Vinicunca ESLint config",
6
6
  "author": {
7
7
  "name": "praburangki",
@@ -113,24 +113,25 @@
113
113
  "@clack/prompts": "^0.11.0",
114
114
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
115
115
  "@eslint/markdown": "^6.5.0",
116
- "@stylistic/eslint-plugin": "^5.0.0-beta.1",
117
- "@typescript-eslint/eslint-plugin": "^8.33.1",
118
- "@typescript-eslint/parser": "^8.33.1",
116
+ "@stylistic/eslint-plugin": "^5.0.0-beta.4",
117
+ "@typescript-eslint/eslint-plugin": "^8.34.1",
118
+ "@typescript-eslint/parser": "^8.34.1",
119
119
  "@unocss/eslint-plugin": "66.0.0",
120
- "@vitest/eslint-plugin": "^1.2.1",
120
+ "@vitest/eslint-plugin": "^1.2.7",
121
121
  "eslint-config-flat-gitignore": "^2.1.0",
122
122
  "eslint-flat-config-utils": "^2.0.1",
123
123
  "eslint-merge-processors": "^2.0.0",
124
124
  "eslint-plugin-antfu": "^3.1.1",
125
125
  "eslint-plugin-command": "^3.2.1",
126
126
  "eslint-plugin-format": "^1.0.1",
127
- "eslint-plugin-jsdoc": "^50.7.1",
127
+ "eslint-plugin-import-lite": "^0.3.0",
128
+ "eslint-plugin-jsdoc": "^51.0.3",
128
129
  "eslint-plugin-jsonc": "^2.20.1",
129
- "eslint-plugin-n": "^17.19.0",
130
+ "eslint-plugin-n": "^17.20.0",
130
131
  "eslint-plugin-no-only-tests": "^3.3.0",
131
- "eslint-plugin-perfectionist": "^4.14.0",
132
+ "eslint-plugin-perfectionist": "^4.15.0",
132
133
  "eslint-plugin-pnpm": "^0.3.1",
133
- "eslint-plugin-regexp": "^2.8.0",
134
+ "eslint-plugin-regexp": "^2.9.0",
134
135
  "eslint-plugin-sonarjs": "^3.0.2",
135
136
  "eslint-plugin-toml": "^0.12.0",
136
137
  "eslint-plugin-unicorn": "^59.0.1",