@shayanthenerd/eslint-config 0.13.1 → 0.15.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 (53) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +192 -183
  3. package/dist/configs/base.mjs +13 -9
  4. package/dist/configs/css.mjs +2 -2
  5. package/dist/configs/cypress.mjs +2 -2
  6. package/dist/configs/html.mjs +2 -2
  7. package/dist/configs/importX.mjs +2 -2
  8. package/dist/configs/oxlintOverrides.mjs +16 -11
  9. package/dist/configs/perfectionist.mjs +2 -2
  10. package/dist/configs/playwright.mjs +2 -2
  11. package/dist/configs/restrictedExports.mjs +1 -1
  12. package/dist/configs/storybook.mjs +2 -2
  13. package/dist/configs/stylistic.mjs +2 -2
  14. package/dist/configs/tailwind.mjs +4 -4
  15. package/dist/configs/typescript.mjs +2 -2
  16. package/dist/configs/vitest.mjs +2 -2
  17. package/dist/configs/vue.mjs +2 -2
  18. package/dist/configs/vueComponentNames.mjs +1 -1
  19. package/dist/configs/vueServerComponents.mjs +1 -1
  20. package/dist/configs/zod.mjs +21 -0
  21. package/dist/{utils → helpers}/globs.mjs +1 -1
  22. package/dist/{utils → helpers}/ignores/defaultIgnorePatterns.mjs +1 -1
  23. package/dist/{utils → helpers}/ignores/getIgnorePatterns.mjs +1 -1
  24. package/dist/{utils → helpers}/ignores/resolveGitignorePatterns.mjs +1 -1
  25. package/dist/{utils → helpers}/isPackageDetected.mjs +5 -3
  26. package/dist/{utils → helpers}/options/defaultOptions.mjs +14 -7
  27. package/dist/{utils → helpers}/options/enableDetectedConfigs.mjs +2 -3
  28. package/dist/{utils → helpers}/options/mergeWithDefaults.mjs +4 -5
  29. package/dist/{utils → helpers}/vue/getRestrictedVueElements.mjs +1 -1
  30. package/dist/{utils → helpers}/vue/getRestrictedVueInputs.mjs +1 -1
  31. package/dist/index.mjs +6 -4
  32. package/dist/oxlint.config.jsonc +209 -201
  33. package/dist/prettier.config.mjs +1 -1
  34. package/dist/rules/css.mjs +1 -1
  35. package/dist/rules/html.mjs +3 -3
  36. package/dist/rules/importX.mjs +1 -1
  37. package/dist/rules/javascript.mjs +1 -2
  38. package/dist/rules/perfectionist.mjs +2 -2
  39. package/dist/rules/stylistic.mjs +22 -10
  40. package/dist/rules/tailwind.mjs +4 -4
  41. package/dist/rules/typescript.mjs +6 -3
  42. package/dist/rules/vitest.mjs +4 -0
  43. package/dist/rules/vue.mjs +6 -6
  44. package/dist/rules/vueAccessibility.mjs +1 -1
  45. package/dist/rules/zod.mjs +20 -0
  46. package/dist/types/configOptions/base.d.mts +8 -8
  47. package/dist/types/configOptions/nuxt.d.mts +3 -3
  48. package/dist/types/configOptions/stylistic.d.mts +0 -15
  49. package/dist/types/configOptions/test.d.mts +4 -4
  50. package/dist/types/configOptions/vue.d.mts +1 -1
  51. package/dist/types/eslint-schema.d.mts +769 -270
  52. package/dist/types/index.d.mts +43 -19
  53. package/package.json +139 -123
@@ -21,6 +21,7 @@ declare module 'eslint-flat-config-utils' {
21
21
  'shayanthenerd/restricted-exports'?: true;
22
22
  'shayanthenerd/stylistic'?: true;
23
23
  'shayanthenerd/perfectionist'?: true;
24
+ 'shayanthenerd/zod'?: true;
24
25
  'shayanthenerd/tailwind'?: true;
25
26
  'shayanthenerd/vue > setup'?: true;
26
27
  'shayanthenerd/vue'?: true;
@@ -42,6 +43,11 @@ interface ESLintSchema {
42
43
  * @see https://html-eslint.org/docs/rules/attrs-newline
43
44
  */
44
45
  '@html-eslint/attrs-newline'?: Linter.RuleEntry<HtmlEslintAttrsNewline>;
46
+ /**
47
+ * Disallow extra spacing in class attribute values
48
+ * @see https://html-eslint.org/docs/rules/class-spacing
49
+ */
50
+ '@html-eslint/class-spacing'?: Linter.RuleEntry<[]>;
45
51
  /**
46
52
  * Enforce newline between elements.
47
53
  * @see https://html-eslint.org/docs/rules/element-newline
@@ -165,6 +171,11 @@ interface ESLintSchema {
165
171
  * @see https://html-eslint.org/docs/rules/no-non-scalable-viewport
166
172
  */
167
173
  '@html-eslint/no-non-scalable-viewport'?: Linter.RuleEntry<[]>;
174
+ /**
175
+ * Disallow use of obsolete attributes in HTML5
176
+ * @see https://html-eslint.org/docs/rules/no-obsolete-attrs
177
+ */
178
+ '@html-eslint/no-obsolete-attrs'?: Linter.RuleEntry<[]>;
168
179
  /**
169
180
  * Disallow use of obsolete elements in HTML5
170
181
  * @see https://html-eslint.org/docs/rules/no-obsolete-tags
@@ -3950,7 +3961,7 @@ interface ESLintSchema {
3950
3961
  * disallow conditional expects
3951
3962
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
3952
3963
  */
3953
- 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>;
3964
+ 'vitest/no-conditional-expect'?: Linter.RuleEntry<VitestNoConditionalExpect>;
3954
3965
  /**
3955
3966
  * disallow conditional tests
3956
3967
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
@@ -4042,6 +4053,11 @@ interface ESLintSchema {
4042
4053
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
4043
4054
  */
4044
4055
  'vitest/no-test-return-statement'?: Linter.RuleEntry<[]>;
4056
+ /**
4057
+ * Disallow unnecessary async function wrapper for expected promises
4058
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-unneeded-async-expect-function.md
4059
+ */
4060
+ 'vitest/no-unneeded-async-expect-function'?: Linter.RuleEntry<[]>;
4045
4061
  /**
4046
4062
  * Enforce padding around `afterAll` blocks
4047
4063
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
@@ -4151,7 +4167,7 @@ interface ESLintSchema {
4151
4167
  * prefer dynamic import in mock
4152
4168
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
4153
4169
  */
4154
- 'vitest/prefer-import-in-mock'?: Linter.RuleEntry<[]>;
4170
+ 'vitest/prefer-import-in-mock'?: Linter.RuleEntry<VitestPreferImportInMock>;
4155
4171
  /**
4156
4172
  * enforce importing Vitest globals
4157
4173
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
@@ -4167,6 +4183,11 @@ interface ESLintSchema {
4167
4183
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
4168
4184
  */
4169
4185
  'vitest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
4186
+ /**
4187
+ * Prefer mock return shorthands
4188
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-return-shorthand.md
4189
+ */
4190
+ 'vitest/prefer-mock-return-shorthand'?: Linter.RuleEntry<[]>;
4170
4191
  /**
4171
4192
  * enforce including a hint with external snapshots
4172
4193
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
@@ -4212,6 +4233,11 @@ interface ESLintSchema {
4212
4233
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
4213
4234
  */
4214
4235
  'vitest/prefer-to-contain'?: Linter.RuleEntry<[]>;
4236
+ /**
4237
+ * Suggest using `toHaveBeenCalledTimes()`
4238
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-been-called-times.md
4239
+ */
4240
+ 'vitest/prefer-to-have-been-called-times'?: Linter.RuleEntry<[]>;
4215
4241
  /**
4216
4242
  * enforce using toHaveLength()
4217
4243
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
@@ -4237,11 +4263,6 @@ interface ESLintSchema {
4237
4263
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
4238
4264
  */
4239
4265
  'vitest/require-hook'?: Linter.RuleEntry<VitestRequireHook>;
4240
- /**
4241
- * require usage of import in vi.mock()
4242
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-import-vi-mock.md
4243
- */
4244
- 'vitest/require-import-vi-mock'?: Linter.RuleEntry<[]>;
4245
4266
  /**
4246
4267
  * require local Test Context for concurrent snapshot tests
4247
4268
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
@@ -5647,6 +5668,86 @@ interface ESLintSchema {
5647
5668
  * @see https://eslint.org/docs/latest/rules/yoda
5648
5669
  */
5649
5670
  'yoda'?: Linter.RuleEntry<Yoda>;
5671
+ /**
5672
+ * Enforce consistent Zod array style
5673
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/array-style.md
5674
+ */
5675
+ 'zod-x/array-style'?: Linter.RuleEntry<ZodXArrayStyle>;
5676
+ /**
5677
+ * Enforce consistent source from Zod imports
5678
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/consistent-import-source.md
5679
+ */
5680
+ 'zod-x/consistent-import-source'?: Linter.RuleEntry<ZodXConsistentImportSource>;
5681
+ /**
5682
+ * Enforce consistent usage of Zod schema methods
5683
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/consistent-object-schema-type.md
5684
+ */
5685
+ 'zod-x/consistent-object-schema-type'?: Linter.RuleEntry<ZodXConsistentObjectSchemaType>;
5686
+ /**
5687
+ * Disallow usage of `z.any()` in Zod schemas
5688
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/no-any-schema.md
5689
+ */
5690
+ 'zod-x/no-any-schema'?: Linter.RuleEntry<[]>;
5691
+ /**
5692
+ * Disallow usage of `z.custom()` without arguments
5693
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/no-empty-custom-schema.md
5694
+ */
5695
+ 'zod-x/no-empty-custom-schema'?: Linter.RuleEntry<[]>;
5696
+ /**
5697
+ * Disallow usage of `z.number().int()` as it is considered legacy
5698
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/no-number-schema-with-int.md
5699
+ */
5700
+ 'zod-x/no-number-schema-with-int'?: Linter.RuleEntry<[]>;
5701
+ /**
5702
+ * Disallow using both `.optional()` and `.default()` on the same Zod schema
5703
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/no-optional-and-default-together.md
5704
+ */
5705
+ 'zod-x/no-optional-and-default-together'?: Linter.RuleEntry<ZodXNoOptionalAndDefaultTogether>;
5706
+ /**
5707
+ * Disallow throwing errors directly inside Zod refine callbacks
5708
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/no-throw-in-refine.md
5709
+ */
5710
+ 'zod-x/no-throw-in-refine'?: Linter.RuleEntry<[]>;
5711
+ /**
5712
+ * Disallow usage of `z.unknown()` in Zod schemas
5713
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/no-unknown-schema.md
5714
+ */
5715
+ 'zod-x/no-unknown-schema'?: Linter.RuleEntry<[]>;
5716
+ /**
5717
+ * Enforce usage of `.meta()` over `.describe()`
5718
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/prefer-meta.md
5719
+ */
5720
+ 'zod-x/prefer-meta'?: Linter.RuleEntry<[]>;
5721
+ /**
5722
+ * Enforce `.meta()` as last method
5723
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/prefer-meta-last.md
5724
+ */
5725
+ 'zod-x/prefer-meta-last'?: Linter.RuleEntry<[]>;
5726
+ /**
5727
+ * Enforce importing zod as a namespace import (`import * as z from 'zod'`)
5728
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/prefer-namespace-import.md
5729
+ */
5730
+ 'zod-x/prefer-namespace-import'?: Linter.RuleEntry<[]>;
5731
+ /**
5732
+ * Require type parameter on `.brand()` functions
5733
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/require-brand-type-parameter.md
5734
+ */
5735
+ 'zod-x/require-brand-type-parameter'?: Linter.RuleEntry<[]>;
5736
+ /**
5737
+ * Enforce that custom refinements include an error message
5738
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/require-error-message.md
5739
+ */
5740
+ 'zod-x/require-error-message'?: Linter.RuleEntry<[]>;
5741
+ /**
5742
+ * Require schema suffix when declaring a Zod schema
5743
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/require-schema-suffix.md
5744
+ */
5745
+ 'zod-x/require-schema-suffix'?: Linter.RuleEntry<ZodXRequireSchemaSuffix>;
5746
+ /**
5747
+ * Enforce consistent style for error messages in Zod schema validation (using ESQuery patterns)
5748
+ * @see https://github.com/marcalexiei/eslint-plugin-zod-x/blob/HEAD/docs/rules/schema-error-property-style.md
5749
+ */
5750
+ 'zod-x/schema-error-property-style'?: Linter.RuleEntry<ZodXSchemaErrorPropertyStyle>;
5650
5751
  }
5651
5752
  /* ======= Declarations ======= */
5652
5753
  // ----- @html-eslint/attrs-newline -----
@@ -8972,7 +9073,6 @@ type Curly = ([] | ["all"] | [] | [("multi" | "multi-line" | "multi-or-nest")] |
8972
9073
  type CypressUnsafeToChainCommand = [] | [_CypressUnsafeToChainCommandRules];
8973
9074
  interface _CypressUnsafeToChainCommandRules {
8974
9075
  methods?: unknown[];
8975
- [k: string]: unknown | undefined;
8976
9076
  }
8977
9077
  // ----- default-case -----
8978
9078
  type DefaultCase = [] | [{
@@ -10390,10 +10490,10 @@ type PaddingLineBetweenStatements = {
10390
10490
  // ----- perfectionist/sort-array-includes -----
10391
10491
  type PerfectionistSortArrayIncludes = {
10392
10492
  fallbackSort?: {
10393
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10493
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10394
10494
  order?: ("asc" | "desc");
10395
10495
  };
10396
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10496
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10397
10497
  specialCharacters?: ("remove" | "trim" | "keep");
10398
10498
  ignoreCase?: boolean;
10399
10499
  alphabet?: string;
@@ -10401,14 +10501,14 @@ type PerfectionistSortArrayIncludes = {
10401
10501
  order?: ("asc" | "desc");
10402
10502
  customGroups?: ({
10403
10503
  fallbackSort?: {
10404
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10504
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10405
10505
  order?: ("asc" | "desc");
10406
10506
  };
10407
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10507
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10408
10508
  groupName: string;
10409
- newlinesInside?: number;
10509
+ newlinesInside?: ("ignore" | number);
10410
10510
  order?: ("asc" | "desc");
10411
- anyOf: {
10511
+ anyOf: [{
10412
10512
  elementNamePattern?: (({
10413
10513
  pattern: string;
10414
10514
  flags?: string;
@@ -10417,15 +10517,24 @@ type PerfectionistSortArrayIncludes = {
10417
10517
  flags?: string;
10418
10518
  } | string));
10419
10519
  selector?: ("literal" | "spread");
10420
- }[];
10520
+ }, ...({
10521
+ elementNamePattern?: (({
10522
+ pattern: string;
10523
+ flags?: string;
10524
+ } | string)[] | ({
10525
+ pattern: string;
10526
+ flags?: string;
10527
+ } | string));
10528
+ selector?: ("literal" | "spread");
10529
+ })[]];
10421
10530
  } | {
10422
10531
  fallbackSort?: {
10423
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10532
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10424
10533
  order?: ("asc" | "desc");
10425
10534
  };
10426
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10535
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10427
10536
  groupName: string;
10428
- newlinesInside?: number;
10537
+ newlinesInside?: ("ignore" | number);
10429
10538
  order?: ("asc" | "desc");
10430
10539
  elementNamePattern?: (({
10431
10540
  pattern: string;
@@ -10436,13 +10545,18 @@ type PerfectionistSortArrayIncludes = {
10436
10545
  } | string));
10437
10546
  selector?: ("literal" | "spread");
10438
10547
  })[];
10548
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
10439
10549
  groups?: (string | [string, ...(string)[]] | {
10440
10550
  newlinesBetween: ("ignore" | number);
10441
10551
  } | {
10442
10552
  group: (string | [string, ...(string)[]]);
10553
+ fallbackSort?: {
10554
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10555
+ order?: ("asc" | "desc");
10556
+ };
10443
10557
  commentAbove?: string;
10444
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10445
- newlinesInside?: number;
10558
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10559
+ newlinesInside?: ("ignore" | number);
10446
10560
  order?: ("asc" | "desc");
10447
10561
  })[];
10448
10562
  newlinesBetween?: ("ignore" | number);
@@ -10482,10 +10596,10 @@ type PerfectionistSortArrayIncludes = {
10482
10596
  // ----- perfectionist/sort-classes -----
10483
10597
  type PerfectionistSortClasses = [] | [{
10484
10598
  fallbackSort?: {
10485
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10599
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10486
10600
  order?: ("asc" | "desc");
10487
10601
  };
10488
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10602
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10489
10603
  specialCharacters?: ("remove" | "trim" | "keep");
10490
10604
  ignoreCase?: boolean;
10491
10605
  alphabet?: string;
@@ -10493,14 +10607,14 @@ type PerfectionistSortClasses = [] | [{
10493
10607
  order?: ("asc" | "desc");
10494
10608
  customGroups?: ({
10495
10609
  fallbackSort?: {
10496
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10610
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10497
10611
  order?: ("asc" | "desc");
10498
10612
  };
10499
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10613
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10500
10614
  groupName: string;
10501
- newlinesInside?: number;
10615
+ newlinesInside?: ("ignore" | number);
10502
10616
  order?: ("asc" | "desc");
10503
- anyOf: {
10617
+ anyOf: [{
10504
10618
  elementNamePattern?: (({
10505
10619
  pattern: string;
10506
10620
  flags?: string;
@@ -10524,15 +10638,39 @@ type PerfectionistSortClasses = [] | [{
10524
10638
  pattern: string;
10525
10639
  flags?: string;
10526
10640
  } | string));
10527
- }[];
10641
+ }, ...({
10642
+ elementNamePattern?: (({
10643
+ pattern: string;
10644
+ flags?: string;
10645
+ } | string)[] | ({
10646
+ pattern: string;
10647
+ flags?: string;
10648
+ } | string));
10649
+ modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
10650
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
10651
+ decoratorNamePattern?: (({
10652
+ pattern: string;
10653
+ flags?: string;
10654
+ } | string)[] | ({
10655
+ pattern: string;
10656
+ flags?: string;
10657
+ } | string));
10658
+ elementValuePattern?: (({
10659
+ pattern: string;
10660
+ flags?: string;
10661
+ } | string)[] | ({
10662
+ pattern: string;
10663
+ flags?: string;
10664
+ } | string));
10665
+ })[]];
10528
10666
  } | {
10529
10667
  fallbackSort?: {
10530
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10668
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10531
10669
  order?: ("asc" | "desc");
10532
10670
  };
10533
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10671
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10534
10672
  groupName: string;
10535
- newlinesInside?: number;
10673
+ newlinesInside?: ("ignore" | number);
10536
10674
  order?: ("asc" | "desc");
10537
10675
  elementNamePattern?: (({
10538
10676
  pattern: string;
@@ -10558,13 +10696,18 @@ type PerfectionistSortClasses = [] | [{
10558
10696
  flags?: string;
10559
10697
  } | string));
10560
10698
  })[];
10699
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
10561
10700
  groups?: (string | [string, ...(string)[]] | {
10562
10701
  newlinesBetween: ("ignore" | number);
10563
10702
  } | {
10564
10703
  group: (string | [string, ...(string)[]]);
10704
+ fallbackSort?: {
10705
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10706
+ order?: ("asc" | "desc");
10707
+ };
10565
10708
  commentAbove?: string;
10566
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10567
- newlinesInside?: number;
10709
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10710
+ newlinesInside?: ("ignore" | number);
10568
10711
  order?: ("asc" | "desc");
10569
10712
  })[];
10570
10713
  newlinesBetween?: ("ignore" | number);
@@ -10602,10 +10745,10 @@ type PerfectionistSortClasses = [] | [{
10602
10745
  // ----- perfectionist/sort-decorators -----
10603
10746
  type PerfectionistSortDecorators = {
10604
10747
  fallbackSort?: {
10605
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10748
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10606
10749
  order?: ("asc" | "desc");
10607
10750
  };
10608
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10751
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10609
10752
  specialCharacters?: ("remove" | "trim" | "keep");
10610
10753
  ignoreCase?: boolean;
10611
10754
  alphabet?: string;
@@ -10613,14 +10756,14 @@ type PerfectionistSortDecorators = {
10613
10756
  order?: ("asc" | "desc");
10614
10757
  customGroups?: ({
10615
10758
  fallbackSort?: {
10616
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10759
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10617
10760
  order?: ("asc" | "desc");
10618
10761
  };
10619
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10762
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10620
10763
  groupName: string;
10621
- newlinesInside?: number;
10764
+ newlinesInside?: ("ignore" | number);
10622
10765
  order?: ("asc" | "desc");
10623
- anyOf: {
10766
+ anyOf: [{
10624
10767
  elementNamePattern?: (({
10625
10768
  pattern: string;
10626
10769
  flags?: string;
@@ -10628,15 +10771,23 @@ type PerfectionistSortDecorators = {
10628
10771
  pattern: string;
10629
10772
  flags?: string;
10630
10773
  } | string));
10631
- }[];
10774
+ }, ...({
10775
+ elementNamePattern?: (({
10776
+ pattern: string;
10777
+ flags?: string;
10778
+ } | string)[] | ({
10779
+ pattern: string;
10780
+ flags?: string;
10781
+ } | string));
10782
+ })[]];
10632
10783
  } | {
10633
10784
  fallbackSort?: {
10634
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10785
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10635
10786
  order?: ("asc" | "desc");
10636
10787
  };
10637
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10788
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10638
10789
  groupName: string;
10639
- newlinesInside?: number;
10790
+ newlinesInside?: ("ignore" | number);
10640
10791
  order?: ("asc" | "desc");
10641
10792
  elementNamePattern?: (({
10642
10793
  pattern: string;
@@ -10646,13 +10797,18 @@ type PerfectionistSortDecorators = {
10646
10797
  flags?: string;
10647
10798
  } | string));
10648
10799
  })[];
10800
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
10649
10801
  groups?: (string | [string, ...(string)[]] | {
10650
10802
  newlinesBetween: ("ignore" | number);
10651
10803
  } | {
10652
10804
  group: (string | [string, ...(string)[]]);
10805
+ fallbackSort?: {
10806
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10807
+ order?: ("asc" | "desc");
10808
+ };
10653
10809
  commentAbove?: string;
10654
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10655
- newlinesInside?: number;
10810
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10811
+ newlinesInside?: ("ignore" | number);
10656
10812
  order?: ("asc" | "desc");
10657
10813
  })[];
10658
10814
  newlinesBetween?: ("ignore" | number);
@@ -10688,10 +10844,10 @@ type PerfectionistSortDecorators = {
10688
10844
  // ----- perfectionist/sort-enums -----
10689
10845
  type PerfectionistSortEnums = [] | [{
10690
10846
  fallbackSort?: {
10691
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10847
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10692
10848
  order?: ("asc" | "desc");
10693
10849
  };
10694
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10850
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10695
10851
  specialCharacters?: ("remove" | "trim" | "keep");
10696
10852
  ignoreCase?: boolean;
10697
10853
  alphabet?: string;
@@ -10699,14 +10855,14 @@ type PerfectionistSortEnums = [] | [{
10699
10855
  order?: ("asc" | "desc");
10700
10856
  customGroups?: ({
10701
10857
  fallbackSort?: {
10702
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10858
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10703
10859
  order?: ("asc" | "desc");
10704
10860
  };
10705
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10861
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10706
10862
  groupName: string;
10707
- newlinesInside?: number;
10863
+ newlinesInside?: ("ignore" | number);
10708
10864
  order?: ("asc" | "desc");
10709
- anyOf: {
10865
+ anyOf: [{
10710
10866
  elementNamePattern?: (({
10711
10867
  pattern: string;
10712
10868
  flags?: string;
@@ -10721,15 +10877,30 @@ type PerfectionistSortEnums = [] | [{
10721
10877
  pattern: string;
10722
10878
  flags?: string;
10723
10879
  } | string));
10724
- }[];
10880
+ }, ...({
10881
+ elementNamePattern?: (({
10882
+ pattern: string;
10883
+ flags?: string;
10884
+ } | string)[] | ({
10885
+ pattern: string;
10886
+ flags?: string;
10887
+ } | string));
10888
+ elementValuePattern?: (({
10889
+ pattern: string;
10890
+ flags?: string;
10891
+ } | string)[] | ({
10892
+ pattern: string;
10893
+ flags?: string;
10894
+ } | string));
10895
+ })[]];
10725
10896
  } | {
10726
10897
  fallbackSort?: {
10727
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10898
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10728
10899
  order?: ("asc" | "desc");
10729
10900
  };
10730
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10901
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10731
10902
  groupName: string;
10732
- newlinesInside?: number;
10903
+ newlinesInside?: ("ignore" | number);
10733
10904
  order?: ("asc" | "desc");
10734
10905
  elementNamePattern?: (({
10735
10906
  pattern: string;
@@ -10746,13 +10917,18 @@ type PerfectionistSortEnums = [] | [{
10746
10917
  flags?: string;
10747
10918
  } | string));
10748
10919
  })[];
10920
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
10749
10921
  groups?: (string | [string, ...(string)[]] | {
10750
10922
  newlinesBetween: ("ignore" | number);
10751
10923
  } | {
10752
10924
  group: (string | [string, ...(string)[]]);
10925
+ fallbackSort?: {
10926
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10927
+ order?: ("asc" | "desc");
10928
+ };
10753
10929
  commentAbove?: string;
10754
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10755
- newlinesInside?: number;
10930
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10931
+ newlinesInside?: ("ignore" | number);
10756
10932
  order?: ("asc" | "desc");
10757
10933
  })[];
10758
10934
  newlinesBetween?: ("ignore" | number);
@@ -10784,10 +10960,10 @@ type PerfectionistSortEnums = [] | [{
10784
10960
  // ----- perfectionist/sort-export-attributes -----
10785
10961
  type PerfectionistSortExportAttributes = {
10786
10962
  fallbackSort?: {
10787
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10963
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10788
10964
  order?: ("asc" | "desc");
10789
10965
  };
10790
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10966
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10791
10967
  specialCharacters?: ("remove" | "trim" | "keep");
10792
10968
  ignoreCase?: boolean;
10793
10969
  alphabet?: string;
@@ -10795,14 +10971,14 @@ type PerfectionistSortExportAttributes = {
10795
10971
  order?: ("asc" | "desc");
10796
10972
  customGroups?: ({
10797
10973
  fallbackSort?: {
10798
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10974
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10799
10975
  order?: ("asc" | "desc");
10800
10976
  };
10801
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10977
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10802
10978
  groupName: string;
10803
- newlinesInside?: number;
10979
+ newlinesInside?: ("ignore" | number);
10804
10980
  order?: ("asc" | "desc");
10805
- anyOf: {
10981
+ anyOf: [{
10806
10982
  elementNamePattern?: (({
10807
10983
  pattern: string;
10808
10984
  flags?: string;
@@ -10810,15 +10986,23 @@ type PerfectionistSortExportAttributes = {
10810
10986
  pattern: string;
10811
10987
  flags?: string;
10812
10988
  } | string));
10813
- }[];
10989
+ }, ...({
10990
+ elementNamePattern?: (({
10991
+ pattern: string;
10992
+ flags?: string;
10993
+ } | string)[] | ({
10994
+ pattern: string;
10995
+ flags?: string;
10996
+ } | string));
10997
+ })[]];
10814
10998
  } | {
10815
10999
  fallbackSort?: {
10816
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11000
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10817
11001
  order?: ("asc" | "desc");
10818
11002
  };
10819
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11003
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10820
11004
  groupName: string;
10821
- newlinesInside?: number;
11005
+ newlinesInside?: ("ignore" | number);
10822
11006
  order?: ("asc" | "desc");
10823
11007
  elementNamePattern?: (({
10824
11008
  pattern: string;
@@ -10828,13 +11012,18 @@ type PerfectionistSortExportAttributes = {
10828
11012
  flags?: string;
10829
11013
  } | string));
10830
11014
  })[];
11015
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
10831
11016
  groups?: (string | [string, ...(string)[]] | {
10832
11017
  newlinesBetween: ("ignore" | number);
10833
11018
  } | {
10834
11019
  group: (string | [string, ...(string)[]]);
11020
+ fallbackSort?: {
11021
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11022
+ order?: ("asc" | "desc");
11023
+ };
10835
11024
  commentAbove?: string;
10836
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10837
- newlinesInside?: number;
11025
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11026
+ newlinesInside?: ("ignore" | number);
10838
11027
  order?: ("asc" | "desc");
10839
11028
  })[];
10840
11029
  newlinesBetween?: ("ignore" | number);
@@ -10865,10 +11054,10 @@ type PerfectionistSortExportAttributes = {
10865
11054
  // ----- perfectionist/sort-exports -----
10866
11055
  type PerfectionistSortExports = {
10867
11056
  fallbackSort?: {
10868
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11057
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10869
11058
  order?: ("asc" | "desc");
10870
11059
  };
10871
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11060
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10872
11061
  specialCharacters?: ("remove" | "trim" | "keep");
10873
11062
  ignoreCase?: boolean;
10874
11063
  alphabet?: string;
@@ -10876,14 +11065,24 @@ type PerfectionistSortExports = {
10876
11065
  order?: ("asc" | "desc");
10877
11066
  customGroups?: ({
10878
11067
  fallbackSort?: {
10879
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11068
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10880
11069
  order?: ("asc" | "desc");
10881
11070
  };
10882
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11071
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10883
11072
  groupName: string;
10884
- newlinesInside?: number;
11073
+ newlinesInside?: ("ignore" | number);
10885
11074
  order?: ("asc" | "desc");
10886
- anyOf: {
11075
+ anyOf: [{
11076
+ elementNamePattern?: (({
11077
+ pattern: string;
11078
+ flags?: string;
11079
+ } | string)[] | ({
11080
+ pattern: string;
11081
+ flags?: string;
11082
+ } | string));
11083
+ modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
11084
+ selector?: "export";
11085
+ }, ...({
10887
11086
  elementNamePattern?: (({
10888
11087
  pattern: string;
10889
11088
  flags?: string;
@@ -10893,15 +11092,15 @@ type PerfectionistSortExports = {
10893
11092
  } | string));
10894
11093
  modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
10895
11094
  selector?: "export";
10896
- }[];
11095
+ })[]];
10897
11096
  } | {
10898
11097
  fallbackSort?: {
10899
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11098
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10900
11099
  order?: ("asc" | "desc");
10901
11100
  };
10902
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11101
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10903
11102
  groupName: string;
10904
- newlinesInside?: number;
11103
+ newlinesInside?: ("ignore" | number);
10905
11104
  order?: ("asc" | "desc");
10906
11105
  elementNamePattern?: (({
10907
11106
  pattern: string;
@@ -10913,13 +11112,18 @@ type PerfectionistSortExports = {
10913
11112
  modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
10914
11113
  selector?: "export";
10915
11114
  })[];
11115
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
10916
11116
  groups?: (string | [string, ...(string)[]] | {
10917
11117
  newlinesBetween: ("ignore" | number);
10918
11118
  } | {
10919
11119
  group: (string | [string, ...(string)[]]);
11120
+ fallbackSort?: {
11121
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11122
+ order?: ("asc" | "desc");
11123
+ };
10920
11124
  commentAbove?: string;
10921
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10922
- newlinesInside?: number;
11125
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11126
+ newlinesInside?: ("ignore" | number);
10923
11127
  order?: ("asc" | "desc");
10924
11128
  })[];
10925
11129
  newlinesBetween?: ("ignore" | number);
@@ -10950,10 +11154,10 @@ type PerfectionistSortExports = {
10950
11154
  // ----- perfectionist/sort-heritage-clauses -----
10951
11155
  type PerfectionistSortHeritageClauses = {
10952
11156
  fallbackSort?: {
10953
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11157
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10954
11158
  order?: ("asc" | "desc");
10955
11159
  };
10956
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11160
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10957
11161
  specialCharacters?: ("remove" | "trim" | "keep");
10958
11162
  ignoreCase?: boolean;
10959
11163
  alphabet?: string;
@@ -10961,14 +11165,22 @@ type PerfectionistSortHeritageClauses = {
10961
11165
  order?: ("asc" | "desc");
10962
11166
  customGroups?: ({
10963
11167
  fallbackSort?: {
10964
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11168
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10965
11169
  order?: ("asc" | "desc");
10966
11170
  };
10967
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11171
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10968
11172
  groupName: string;
10969
- newlinesInside?: number;
11173
+ newlinesInside?: ("ignore" | number);
10970
11174
  order?: ("asc" | "desc");
10971
- anyOf: {
11175
+ anyOf: [{
11176
+ elementNamePattern?: (({
11177
+ pattern: string;
11178
+ flags?: string;
11179
+ } | string)[] | ({
11180
+ pattern: string;
11181
+ flags?: string;
11182
+ } | string));
11183
+ }, ...({
10972
11184
  elementNamePattern?: (({
10973
11185
  pattern: string;
10974
11186
  flags?: string;
@@ -10976,15 +11188,15 @@ type PerfectionistSortHeritageClauses = {
10976
11188
  pattern: string;
10977
11189
  flags?: string;
10978
11190
  } | string));
10979
- }[];
11191
+ })[]];
10980
11192
  } | {
10981
11193
  fallbackSort?: {
10982
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11194
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10983
11195
  order?: ("asc" | "desc");
10984
11196
  };
10985
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11197
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10986
11198
  groupName: string;
10987
- newlinesInside?: number;
11199
+ newlinesInside?: ("ignore" | number);
10988
11200
  order?: ("asc" | "desc");
10989
11201
  elementNamePattern?: (({
10990
11202
  pattern: string;
@@ -10994,13 +11206,18 @@ type PerfectionistSortHeritageClauses = {
10994
11206
  flags?: string;
10995
11207
  } | string));
10996
11208
  })[];
11209
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
10997
11210
  groups?: (string | [string, ...(string)[]] | {
10998
11211
  newlinesBetween: ("ignore" | number);
10999
11212
  } | {
11000
11213
  group: (string | [string, ...(string)[]]);
11214
+ fallbackSort?: {
11215
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11216
+ order?: ("asc" | "desc");
11217
+ };
11001
11218
  commentAbove?: string;
11002
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11003
- newlinesInside?: number;
11219
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11220
+ newlinesInside?: ("ignore" | number);
11004
11221
  order?: ("asc" | "desc");
11005
11222
  })[];
11006
11223
  newlinesBetween?: ("ignore" | number);
@@ -11031,10 +11248,10 @@ type PerfectionistSortHeritageClauses = {
11031
11248
  // ----- perfectionist/sort-import-attributes -----
11032
11249
  type PerfectionistSortImportAttributes = {
11033
11250
  fallbackSort?: {
11034
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11251
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11035
11252
  order?: ("asc" | "desc");
11036
11253
  };
11037
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11254
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11038
11255
  specialCharacters?: ("remove" | "trim" | "keep");
11039
11256
  ignoreCase?: boolean;
11040
11257
  alphabet?: string;
@@ -11042,14 +11259,22 @@ type PerfectionistSortImportAttributes = {
11042
11259
  order?: ("asc" | "desc");
11043
11260
  customGroups?: ({
11044
11261
  fallbackSort?: {
11045
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11262
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11046
11263
  order?: ("asc" | "desc");
11047
11264
  };
11048
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11265
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11049
11266
  groupName: string;
11050
- newlinesInside?: number;
11267
+ newlinesInside?: ("ignore" | number);
11051
11268
  order?: ("asc" | "desc");
11052
- anyOf: {
11269
+ anyOf: [{
11270
+ elementNamePattern?: (({
11271
+ pattern: string;
11272
+ flags?: string;
11273
+ } | string)[] | ({
11274
+ pattern: string;
11275
+ flags?: string;
11276
+ } | string));
11277
+ }, ...({
11053
11278
  elementNamePattern?: (({
11054
11279
  pattern: string;
11055
11280
  flags?: string;
@@ -11057,15 +11282,15 @@ type PerfectionistSortImportAttributes = {
11057
11282
  pattern: string;
11058
11283
  flags?: string;
11059
11284
  } | string));
11060
- }[];
11285
+ })[]];
11061
11286
  } | {
11062
11287
  fallbackSort?: {
11063
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11288
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11064
11289
  order?: ("asc" | "desc");
11065
11290
  };
11066
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11291
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11067
11292
  groupName: string;
11068
- newlinesInside?: number;
11293
+ newlinesInside?: ("ignore" | number);
11069
11294
  order?: ("asc" | "desc");
11070
11295
  elementNamePattern?: (({
11071
11296
  pattern: string;
@@ -11075,13 +11300,18 @@ type PerfectionistSortImportAttributes = {
11075
11300
  flags?: string;
11076
11301
  } | string));
11077
11302
  })[];
11303
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11078
11304
  groups?: (string | [string, ...(string)[]] | {
11079
11305
  newlinesBetween: ("ignore" | number);
11080
11306
  } | {
11081
11307
  group: (string | [string, ...(string)[]]);
11308
+ fallbackSort?: {
11309
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11310
+ order?: ("asc" | "desc");
11311
+ };
11082
11312
  commentAbove?: string;
11083
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11084
- newlinesInside?: number;
11313
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11314
+ newlinesInside?: ("ignore" | number);
11085
11315
  order?: ("asc" | "desc");
11086
11316
  })[];
11087
11317
  newlinesBetween?: ("ignore" | number);
@@ -11112,25 +11342,29 @@ type PerfectionistSortImportAttributes = {
11112
11342
  // ----- perfectionist/sort-imports -----
11113
11343
  type PerfectionistSortImports = {
11114
11344
  fallbackSort?: {
11115
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "type-import-first");
11345
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11116
11346
  order?: ("asc" | "desc");
11347
+ sortBy?: ("specifier" | "path");
11117
11348
  };
11118
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "type-import-first");
11349
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11119
11350
  specialCharacters?: ("remove" | "trim" | "keep");
11120
11351
  ignoreCase?: boolean;
11121
11352
  alphabet?: string;
11122
11353
  locales?: (string | string[]);
11123
11354
  order?: ("asc" | "desc");
11355
+ sortBy?: ("specifier" | "path");
11124
11356
  customGroups?: ({
11125
11357
  fallbackSort?: {
11126
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "type-import-first");
11358
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11127
11359
  order?: ("asc" | "desc");
11360
+ sortBy?: ("specifier" | "path");
11128
11361
  };
11129
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "type-import-first");
11362
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11130
11363
  groupName: string;
11131
- newlinesInside?: number;
11364
+ newlinesInside?: ("ignore" | number);
11132
11365
  order?: ("asc" | "desc");
11133
- anyOf: {
11366
+ sortBy?: ("specifier" | "path");
11367
+ anyOf: [{
11134
11368
  elementNamePattern?: (({
11135
11369
  pattern: string;
11136
11370
  flags?: string;
@@ -11140,16 +11374,28 @@ type PerfectionistSortImports = {
11140
11374
  } | string));
11141
11375
  modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
11142
11376
  selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11143
- }[];
11377
+ }, ...({
11378
+ elementNamePattern?: (({
11379
+ pattern: string;
11380
+ flags?: string;
11381
+ } | string)[] | ({
11382
+ pattern: string;
11383
+ flags?: string;
11384
+ } | string));
11385
+ modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
11386
+ selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11387
+ })[]];
11144
11388
  } | {
11145
11389
  fallbackSort?: {
11146
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "type-import-first");
11390
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11147
11391
  order?: ("asc" | "desc");
11392
+ sortBy?: ("specifier" | "path");
11148
11393
  };
11149
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "type-import-first");
11394
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11150
11395
  groupName: string;
11151
- newlinesInside?: number;
11396
+ newlinesInside?: ("ignore" | number);
11152
11397
  order?: ("asc" | "desc");
11398
+ sortBy?: ("specifier" | "path");
11153
11399
  elementNamePattern?: (({
11154
11400
  pattern: string;
11155
11401
  flags?: string;
@@ -11160,14 +11406,21 @@ type PerfectionistSortImports = {
11160
11406
  modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
11161
11407
  selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11162
11408
  })[];
11409
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11163
11410
  groups?: (string | [string, ...(string)[]] | {
11164
11411
  newlinesBetween: ("ignore" | number);
11165
11412
  } | {
11166
11413
  group: (string | [string, ...(string)[]]);
11414
+ fallbackSort?: {
11415
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11416
+ order?: ("asc" | "desc");
11417
+ sortBy?: ("specifier" | "path");
11418
+ };
11167
11419
  commentAbove?: string;
11168
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "type-import-first");
11169
- newlinesInside?: number;
11420
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11421
+ newlinesInside?: ("ignore" | number);
11170
11422
  order?: ("asc" | "desc");
11423
+ sortBy?: ("specifier" | "path");
11171
11424
  })[];
11172
11425
  newlinesBetween?: ("ignore" | number);
11173
11426
  tsconfig?: {
@@ -11211,27 +11464,29 @@ type PerfectionistSortImports = {
11211
11464
  // ----- perfectionist/sort-interfaces -----
11212
11465
  type PerfectionistSortInterfaces = {
11213
11466
  fallbackSort?: {
11214
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11467
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11215
11468
  order?: ("asc" | "desc");
11216
11469
  sortBy?: ("name" | "value");
11217
11470
  };
11218
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11471
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11219
11472
  specialCharacters?: ("remove" | "trim" | "keep");
11220
11473
  ignoreCase?: boolean;
11221
11474
  alphabet?: string;
11222
11475
  locales?: (string | string[]);
11223
11476
  order?: ("asc" | "desc");
11477
+ sortBy?: ("name" | "value");
11224
11478
  customGroups?: ({
11225
11479
  fallbackSort?: {
11226
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11480
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11227
11481
  order?: ("asc" | "desc");
11228
11482
  sortBy?: ("name" | "value");
11229
11483
  };
11230
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11484
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11231
11485
  groupName: string;
11232
- newlinesInside?: number;
11486
+ newlinesInside?: ("ignore" | number);
11233
11487
  order?: ("asc" | "desc");
11234
- anyOf: {
11488
+ sortBy?: ("name" | "value");
11489
+ anyOf: [{
11235
11490
  elementNamePattern?: (({
11236
11491
  pattern: string;
11237
11492
  flags?: string;
@@ -11248,18 +11503,35 @@ type PerfectionistSortInterfaces = {
11248
11503
  pattern: string;
11249
11504
  flags?: string;
11250
11505
  } | string));
11251
- sortBy?: ("name" | "value");
11252
- }[];
11506
+ }, ...({
11507
+ elementNamePattern?: (({
11508
+ pattern: string;
11509
+ flags?: string;
11510
+ } | string)[] | ({
11511
+ pattern: string;
11512
+ flags?: string;
11513
+ } | string));
11514
+ modifiers?: ("optional" | "required" | "multiline")[];
11515
+ selector?: ("index-signature" | "member" | "method" | "property");
11516
+ elementValuePattern?: (({
11517
+ pattern: string;
11518
+ flags?: string;
11519
+ } | string)[] | ({
11520
+ pattern: string;
11521
+ flags?: string;
11522
+ } | string));
11523
+ })[]];
11253
11524
  } | {
11254
11525
  fallbackSort?: {
11255
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11526
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11256
11527
  order?: ("asc" | "desc");
11257
11528
  sortBy?: ("name" | "value");
11258
11529
  };
11259
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11530
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11260
11531
  groupName: string;
11261
- newlinesInside?: number;
11532
+ newlinesInside?: ("ignore" | number);
11262
11533
  order?: ("asc" | "desc");
11534
+ sortBy?: ("name" | "value");
11263
11535
  elementNamePattern?: (({
11264
11536
  pattern: string;
11265
11537
  flags?: string;
@@ -11276,16 +11548,22 @@ type PerfectionistSortInterfaces = {
11276
11548
  pattern: string;
11277
11549
  flags?: string;
11278
11550
  } | string));
11279
- sortBy?: ("name" | "value");
11280
11551
  })[];
11552
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11281
11553
  groups?: (string | [string, ...(string)[]] | {
11282
11554
  newlinesBetween: ("ignore" | number);
11283
11555
  } | {
11284
11556
  group: (string | [string, ...(string)[]]);
11557
+ fallbackSort?: {
11558
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11559
+ order?: ("asc" | "desc");
11560
+ sortBy?: ("name" | "value");
11561
+ };
11285
11562
  commentAbove?: string;
11286
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11287
- newlinesInside?: number;
11563
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11564
+ newlinesInside?: ("ignore" | number);
11288
11565
  order?: ("asc" | "desc");
11566
+ sortBy?: ("name" | "value");
11289
11567
  })[];
11290
11568
  newlinesBetween?: ("ignore" | number);
11291
11569
  useConfigurationIf?: {
@@ -11339,15 +11617,14 @@ type PerfectionistSortInterfaces = {
11339
11617
  } | string)));
11340
11618
  });
11341
11619
  partitionByNewLine?: boolean;
11342
- sortBy?: ("name" | "value");
11343
11620
  }[];
11344
11621
  // ----- perfectionist/sort-intersection-types -----
11345
11622
  type PerfectionistSortIntersectionTypes = {
11346
11623
  fallbackSort?: {
11347
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11624
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11348
11625
  order?: ("asc" | "desc");
11349
11626
  };
11350
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11627
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11351
11628
  specialCharacters?: ("remove" | "trim" | "keep");
11352
11629
  ignoreCase?: boolean;
11353
11630
  alphabet?: string;
@@ -11355,14 +11632,14 @@ type PerfectionistSortIntersectionTypes = {
11355
11632
  order?: ("asc" | "desc");
11356
11633
  customGroups?: ({
11357
11634
  fallbackSort?: {
11358
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11635
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11359
11636
  order?: ("asc" | "desc");
11360
11637
  };
11361
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11638
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11362
11639
  groupName: string;
11363
- newlinesInside?: number;
11640
+ newlinesInside?: ("ignore" | number);
11364
11641
  order?: ("asc" | "desc");
11365
- anyOf: {
11642
+ anyOf: [{
11366
11643
  elementNamePattern?: (({
11367
11644
  pattern: string;
11368
11645
  flags?: string;
@@ -11371,15 +11648,24 @@ type PerfectionistSortIntersectionTypes = {
11371
11648
  flags?: string;
11372
11649
  } | string));
11373
11650
  selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
11374
- }[];
11651
+ }, ...({
11652
+ elementNamePattern?: (({
11653
+ pattern: string;
11654
+ flags?: string;
11655
+ } | string)[] | ({
11656
+ pattern: string;
11657
+ flags?: string;
11658
+ } | string));
11659
+ selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
11660
+ })[]];
11375
11661
  } | {
11376
11662
  fallbackSort?: {
11377
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11663
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11378
11664
  order?: ("asc" | "desc");
11379
11665
  };
11380
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11666
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11381
11667
  groupName: string;
11382
- newlinesInside?: number;
11668
+ newlinesInside?: ("ignore" | number);
11383
11669
  order?: ("asc" | "desc");
11384
11670
  elementNamePattern?: (({
11385
11671
  pattern: string;
@@ -11390,13 +11676,18 @@ type PerfectionistSortIntersectionTypes = {
11390
11676
  } | string));
11391
11677
  selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
11392
11678
  })[];
11679
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11393
11680
  groups?: (string | [string, ...(string)[]] | {
11394
11681
  newlinesBetween: ("ignore" | number);
11395
11682
  } | {
11396
11683
  group: (string | [string, ...(string)[]]);
11684
+ fallbackSort?: {
11685
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11686
+ order?: ("asc" | "desc");
11687
+ };
11397
11688
  commentAbove?: string;
11398
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11399
- newlinesInside?: number;
11689
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11690
+ newlinesInside?: ("ignore" | number);
11400
11691
  order?: ("asc" | "desc");
11401
11692
  })[];
11402
11693
  newlinesBetween?: ("ignore" | number);
@@ -11427,10 +11718,10 @@ type PerfectionistSortIntersectionTypes = {
11427
11718
  // ----- perfectionist/sort-jsx-props -----
11428
11719
  type PerfectionistSortJsxProps = {
11429
11720
  fallbackSort?: {
11430
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11721
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11431
11722
  order?: ("asc" | "desc");
11432
11723
  };
11433
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11724
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11434
11725
  specialCharacters?: ("remove" | "trim" | "keep");
11435
11726
  ignoreCase?: boolean;
11436
11727
  alphabet?: string;
@@ -11438,14 +11729,31 @@ type PerfectionistSortJsxProps = {
11438
11729
  order?: ("asc" | "desc");
11439
11730
  customGroups?: ({
11440
11731
  fallbackSort?: {
11441
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11732
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11442
11733
  order?: ("asc" | "desc");
11443
11734
  };
11444
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11735
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11445
11736
  groupName: string;
11446
- newlinesInside?: number;
11737
+ newlinesInside?: ("ignore" | number);
11447
11738
  order?: ("asc" | "desc");
11448
- anyOf: {
11739
+ anyOf: [{
11740
+ elementNamePattern?: (({
11741
+ pattern: string;
11742
+ flags?: string;
11743
+ } | string)[] | ({
11744
+ pattern: string;
11745
+ flags?: string;
11746
+ } | string));
11747
+ modifiers?: ("shorthand" | "multiline")[];
11748
+ selector?: "prop";
11749
+ elementValuePattern?: (({
11750
+ pattern: string;
11751
+ flags?: string;
11752
+ } | string)[] | ({
11753
+ pattern: string;
11754
+ flags?: string;
11755
+ } | string));
11756
+ }, ...({
11449
11757
  elementNamePattern?: (({
11450
11758
  pattern: string;
11451
11759
  flags?: string;
@@ -11462,15 +11770,15 @@ type PerfectionistSortJsxProps = {
11462
11770
  pattern: string;
11463
11771
  flags?: string;
11464
11772
  } | string));
11465
- }[];
11773
+ })[]];
11466
11774
  } | {
11467
11775
  fallbackSort?: {
11468
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11776
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11469
11777
  order?: ("asc" | "desc");
11470
11778
  };
11471
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11779
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11472
11780
  groupName: string;
11473
- newlinesInside?: number;
11781
+ newlinesInside?: ("ignore" | number);
11474
11782
  order?: ("asc" | "desc");
11475
11783
  elementNamePattern?: (({
11476
11784
  pattern: string;
@@ -11489,13 +11797,18 @@ type PerfectionistSortJsxProps = {
11489
11797
  flags?: string;
11490
11798
  } | string));
11491
11799
  })[];
11800
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11492
11801
  groups?: (string | [string, ...(string)[]] | {
11493
11802
  newlinesBetween: ("ignore" | number);
11494
11803
  } | {
11495
11804
  group: (string | [string, ...(string)[]]);
11805
+ fallbackSort?: {
11806
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11807
+ order?: ("asc" | "desc");
11808
+ };
11496
11809
  commentAbove?: string;
11497
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11498
- newlinesInside?: number;
11810
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11811
+ newlinesInside?: ("ignore" | number);
11499
11812
  order?: ("asc" | "desc");
11500
11813
  })[];
11501
11814
  newlinesBetween?: ("ignore" | number);
@@ -11520,10 +11833,10 @@ type PerfectionistSortJsxProps = {
11520
11833
  // ----- perfectionist/sort-maps -----
11521
11834
  type PerfectionistSortMaps = {
11522
11835
  fallbackSort?: {
11523
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11836
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11524
11837
  order?: ("asc" | "desc");
11525
11838
  };
11526
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11839
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11527
11840
  specialCharacters?: ("remove" | "trim" | "keep");
11528
11841
  ignoreCase?: boolean;
11529
11842
  alphabet?: string;
@@ -11531,14 +11844,22 @@ type PerfectionistSortMaps = {
11531
11844
  order?: ("asc" | "desc");
11532
11845
  customGroups?: ({
11533
11846
  fallbackSort?: {
11534
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11847
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11535
11848
  order?: ("asc" | "desc");
11536
11849
  };
11537
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11850
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11538
11851
  groupName: string;
11539
- newlinesInside?: number;
11852
+ newlinesInside?: ("ignore" | number);
11540
11853
  order?: ("asc" | "desc");
11541
- anyOf: {
11854
+ anyOf: [{
11855
+ elementNamePattern?: (({
11856
+ pattern: string;
11857
+ flags?: string;
11858
+ } | string)[] | ({
11859
+ pattern: string;
11860
+ flags?: string;
11861
+ } | string));
11862
+ }, ...({
11542
11863
  elementNamePattern?: (({
11543
11864
  pattern: string;
11544
11865
  flags?: string;
@@ -11546,15 +11867,15 @@ type PerfectionistSortMaps = {
11546
11867
  pattern: string;
11547
11868
  flags?: string;
11548
11869
  } | string));
11549
- }[];
11870
+ })[]];
11550
11871
  } | {
11551
11872
  fallbackSort?: {
11552
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11873
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11553
11874
  order?: ("asc" | "desc");
11554
11875
  };
11555
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11876
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11556
11877
  groupName: string;
11557
- newlinesInside?: number;
11878
+ newlinesInside?: ("ignore" | number);
11558
11879
  order?: ("asc" | "desc");
11559
11880
  elementNamePattern?: (({
11560
11881
  pattern: string;
@@ -11564,13 +11885,18 @@ type PerfectionistSortMaps = {
11564
11885
  flags?: string;
11565
11886
  } | string));
11566
11887
  })[];
11888
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11567
11889
  groups?: (string | [string, ...(string)[]] | {
11568
11890
  newlinesBetween: ("ignore" | number);
11569
11891
  } | {
11570
11892
  group: (string | [string, ...(string)[]]);
11893
+ fallbackSort?: {
11894
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11895
+ order?: ("asc" | "desc");
11896
+ };
11571
11897
  commentAbove?: string;
11572
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11573
- newlinesInside?: number;
11898
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11899
+ newlinesInside?: ("ignore" | number);
11574
11900
  order?: ("asc" | "desc");
11575
11901
  })[];
11576
11902
  newlinesBetween?: ("ignore" | number);
@@ -11610,10 +11936,10 @@ type PerfectionistSortMaps = {
11610
11936
  // ----- perfectionist/sort-modules -----
11611
11937
  type PerfectionistSortModules = [] | [{
11612
11938
  fallbackSort?: {
11613
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11939
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11614
11940
  order?: ("asc" | "desc");
11615
11941
  };
11616
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11942
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11617
11943
  specialCharacters?: ("remove" | "trim" | "keep");
11618
11944
  ignoreCase?: boolean;
11619
11945
  alphabet?: string;
@@ -11621,14 +11947,14 @@ type PerfectionistSortModules = [] | [{
11621
11947
  order?: ("asc" | "desc");
11622
11948
  customGroups?: ({
11623
11949
  fallbackSort?: {
11624
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11950
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11625
11951
  order?: ("asc" | "desc");
11626
11952
  };
11627
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11953
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11628
11954
  groupName: string;
11629
- newlinesInside?: number;
11955
+ newlinesInside?: ("ignore" | number);
11630
11956
  order?: ("asc" | "desc");
11631
- anyOf: {
11957
+ anyOf: [{
11632
11958
  elementNamePattern?: (({
11633
11959
  pattern: string;
11634
11960
  flags?: string;
@@ -11645,15 +11971,32 @@ type PerfectionistSortModules = [] | [{
11645
11971
  pattern: string;
11646
11972
  flags?: string;
11647
11973
  } | string));
11648
- }[];
11974
+ }, ...({
11975
+ elementNamePattern?: (({
11976
+ pattern: string;
11977
+ flags?: string;
11978
+ } | string)[] | ({
11979
+ pattern: string;
11980
+ flags?: string;
11981
+ } | string));
11982
+ modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
11983
+ selector?: ("enum" | "function" | "interface" | "type" | "class");
11984
+ decoratorNamePattern?: (({
11985
+ pattern: string;
11986
+ flags?: string;
11987
+ } | string)[] | ({
11988
+ pattern: string;
11989
+ flags?: string;
11990
+ } | string));
11991
+ })[]];
11649
11992
  } | {
11650
11993
  fallbackSort?: {
11651
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11994
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11652
11995
  order?: ("asc" | "desc");
11653
11996
  };
11654
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11997
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11655
11998
  groupName: string;
11656
- newlinesInside?: number;
11999
+ newlinesInside?: ("ignore" | number);
11657
12000
  order?: ("asc" | "desc");
11658
12001
  elementNamePattern?: (({
11659
12002
  pattern: string;
@@ -11672,13 +12015,18 @@ type PerfectionistSortModules = [] | [{
11672
12015
  flags?: string;
11673
12016
  } | string));
11674
12017
  })[];
12018
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11675
12019
  groups?: (string | [string, ...(string)[]] | {
11676
12020
  newlinesBetween: ("ignore" | number);
11677
12021
  } | {
11678
12022
  group: (string | [string, ...(string)[]]);
12023
+ fallbackSort?: {
12024
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
12025
+ order?: ("asc" | "desc");
12026
+ };
11679
12027
  commentAbove?: string;
11680
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11681
- newlinesInside?: number;
12028
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
12029
+ newlinesInside?: ("ignore" | number);
11682
12030
  order?: ("asc" | "desc");
11683
12031
  })[];
11684
12032
  newlinesBetween?: ("ignore" | number);
@@ -11709,10 +12057,10 @@ type PerfectionistSortModules = [] | [{
11709
12057
  // ----- perfectionist/sort-named-exports -----
11710
12058
  type PerfectionistSortNamedExports = {
11711
12059
  fallbackSort?: {
11712
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12060
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11713
12061
  order?: ("asc" | "desc");
11714
12062
  };
11715
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12063
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11716
12064
  specialCharacters?: ("remove" | "trim" | "keep");
11717
12065
  ignoreCase?: boolean;
11718
12066
  alphabet?: string;
@@ -11720,14 +12068,14 @@ type PerfectionistSortNamedExports = {
11720
12068
  order?: ("asc" | "desc");
11721
12069
  customGroups?: ({
11722
12070
  fallbackSort?: {
11723
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12071
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11724
12072
  order?: ("asc" | "desc");
11725
12073
  };
11726
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12074
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11727
12075
  groupName: string;
11728
- newlinesInside?: number;
12076
+ newlinesInside?: ("ignore" | number);
11729
12077
  order?: ("asc" | "desc");
11730
- anyOf: {
12078
+ anyOf: [{
11731
12079
  elementNamePattern?: (({
11732
12080
  pattern: string;
11733
12081
  flags?: string;
@@ -11737,15 +12085,25 @@ type PerfectionistSortNamedExports = {
11737
12085
  } | string));
11738
12086
  modifiers?: ("value" | "type")[];
11739
12087
  selector?: "export";
11740
- }[];
12088
+ }, ...({
12089
+ elementNamePattern?: (({
12090
+ pattern: string;
12091
+ flags?: string;
12092
+ } | string)[] | ({
12093
+ pattern: string;
12094
+ flags?: string;
12095
+ } | string));
12096
+ modifiers?: ("value" | "type")[];
12097
+ selector?: "export";
12098
+ })[]];
11741
12099
  } | {
11742
12100
  fallbackSort?: {
11743
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12101
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11744
12102
  order?: ("asc" | "desc");
11745
12103
  };
11746
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12104
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11747
12105
  groupName: string;
11748
- newlinesInside?: number;
12106
+ newlinesInside?: ("ignore" | number);
11749
12107
  order?: ("asc" | "desc");
11750
12108
  elementNamePattern?: (({
11751
12109
  pattern: string;
@@ -11757,13 +12115,18 @@ type PerfectionistSortNamedExports = {
11757
12115
  modifiers?: ("value" | "type")[];
11758
12116
  selector?: "export";
11759
12117
  })[];
12118
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11760
12119
  groups?: (string | [string, ...(string)[]] | {
11761
12120
  newlinesBetween: ("ignore" | number);
11762
12121
  } | {
11763
12122
  group: (string | [string, ...(string)[]]);
12123
+ fallbackSort?: {
12124
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12125
+ order?: ("asc" | "desc");
12126
+ };
11764
12127
  commentAbove?: string;
11765
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11766
- newlinesInside?: number;
12128
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12129
+ newlinesInside?: ("ignore" | number);
11767
12130
  order?: ("asc" | "desc");
11768
12131
  })[];
11769
12132
  newlinesBetween?: ("ignore" | number);
@@ -11795,10 +12158,10 @@ type PerfectionistSortNamedExports = {
11795
12158
  // ----- perfectionist/sort-named-imports -----
11796
12159
  type PerfectionistSortNamedImports = {
11797
12160
  fallbackSort?: {
11798
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12161
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11799
12162
  order?: ("asc" | "desc");
11800
12163
  };
11801
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12164
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11802
12165
  specialCharacters?: ("remove" | "trim" | "keep");
11803
12166
  ignoreCase?: boolean;
11804
12167
  alphabet?: string;
@@ -11806,14 +12169,14 @@ type PerfectionistSortNamedImports = {
11806
12169
  order?: ("asc" | "desc");
11807
12170
  customGroups?: ({
11808
12171
  fallbackSort?: {
11809
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12172
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11810
12173
  order?: ("asc" | "desc");
11811
12174
  };
11812
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12175
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11813
12176
  groupName: string;
11814
- newlinesInside?: number;
12177
+ newlinesInside?: ("ignore" | number);
11815
12178
  order?: ("asc" | "desc");
11816
- anyOf: {
12179
+ anyOf: [{
11817
12180
  elementNamePattern?: (({
11818
12181
  pattern: string;
11819
12182
  flags?: string;
@@ -11823,15 +12186,25 @@ type PerfectionistSortNamedImports = {
11823
12186
  } | string));
11824
12187
  modifiers?: ("value" | "type")[];
11825
12188
  selector?: "import";
11826
- }[];
12189
+ }, ...({
12190
+ elementNamePattern?: (({
12191
+ pattern: string;
12192
+ flags?: string;
12193
+ } | string)[] | ({
12194
+ pattern: string;
12195
+ flags?: string;
12196
+ } | string));
12197
+ modifiers?: ("value" | "type")[];
12198
+ selector?: "import";
12199
+ })[]];
11827
12200
  } | {
11828
12201
  fallbackSort?: {
11829
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12202
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11830
12203
  order?: ("asc" | "desc");
11831
12204
  };
11832
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12205
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11833
12206
  groupName: string;
11834
- newlinesInside?: number;
12207
+ newlinesInside?: ("ignore" | number);
11835
12208
  order?: ("asc" | "desc");
11836
12209
  elementNamePattern?: (({
11837
12210
  pattern: string;
@@ -11843,13 +12216,18 @@ type PerfectionistSortNamedImports = {
11843
12216
  modifiers?: ("value" | "type")[];
11844
12217
  selector?: "import";
11845
12218
  })[];
12219
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11846
12220
  groups?: (string | [string, ...(string)[]] | {
11847
12221
  newlinesBetween: ("ignore" | number);
11848
12222
  } | {
11849
12223
  group: (string | [string, ...(string)[]]);
12224
+ fallbackSort?: {
12225
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12226
+ order?: ("asc" | "desc");
12227
+ };
11850
12228
  commentAbove?: string;
11851
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11852
- newlinesInside?: number;
12229
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12230
+ newlinesInside?: ("ignore" | number);
11853
12231
  order?: ("asc" | "desc");
11854
12232
  })[];
11855
12233
  newlinesBetween?: ("ignore" | number);
@@ -11881,27 +12259,29 @@ type PerfectionistSortNamedImports = {
11881
12259
  // ----- perfectionist/sort-object-types -----
11882
12260
  type PerfectionistSortObjectTypes = {
11883
12261
  fallbackSort?: {
11884
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12262
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11885
12263
  order?: ("asc" | "desc");
11886
12264
  sortBy?: ("name" | "value");
11887
12265
  };
11888
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12266
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11889
12267
  specialCharacters?: ("remove" | "trim" | "keep");
11890
12268
  ignoreCase?: boolean;
11891
12269
  alphabet?: string;
11892
12270
  locales?: (string | string[]);
11893
12271
  order?: ("asc" | "desc");
12272
+ sortBy?: ("name" | "value");
11894
12273
  customGroups?: ({
11895
12274
  fallbackSort?: {
11896
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12275
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11897
12276
  order?: ("asc" | "desc");
11898
12277
  sortBy?: ("name" | "value");
11899
12278
  };
11900
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12279
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11901
12280
  groupName: string;
11902
- newlinesInside?: number;
12281
+ newlinesInside?: ("ignore" | number);
11903
12282
  order?: ("asc" | "desc");
11904
- anyOf: {
12283
+ sortBy?: ("name" | "value");
12284
+ anyOf: [{
11905
12285
  elementNamePattern?: (({
11906
12286
  pattern: string;
11907
12287
  flags?: string;
@@ -11918,18 +12298,35 @@ type PerfectionistSortObjectTypes = {
11918
12298
  pattern: string;
11919
12299
  flags?: string;
11920
12300
  } | string));
11921
- sortBy?: ("name" | "value");
11922
- }[];
12301
+ }, ...({
12302
+ elementNamePattern?: (({
12303
+ pattern: string;
12304
+ flags?: string;
12305
+ } | string)[] | ({
12306
+ pattern: string;
12307
+ flags?: string;
12308
+ } | string));
12309
+ modifiers?: ("optional" | "required" | "multiline")[];
12310
+ selector?: ("index-signature" | "member" | "method" | "property");
12311
+ elementValuePattern?: (({
12312
+ pattern: string;
12313
+ flags?: string;
12314
+ } | string)[] | ({
12315
+ pattern: string;
12316
+ flags?: string;
12317
+ } | string));
12318
+ })[]];
11923
12319
  } | {
11924
12320
  fallbackSort?: {
11925
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12321
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11926
12322
  order?: ("asc" | "desc");
11927
12323
  sortBy?: ("name" | "value");
11928
12324
  };
11929
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12325
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11930
12326
  groupName: string;
11931
- newlinesInside?: number;
12327
+ newlinesInside?: ("ignore" | number);
11932
12328
  order?: ("asc" | "desc");
12329
+ sortBy?: ("name" | "value");
11933
12330
  elementNamePattern?: (({
11934
12331
  pattern: string;
11935
12332
  flags?: string;
@@ -11946,16 +12343,22 @@ type PerfectionistSortObjectTypes = {
11946
12343
  pattern: string;
11947
12344
  flags?: string;
11948
12345
  } | string));
11949
- sortBy?: ("name" | "value");
11950
12346
  })[];
12347
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11951
12348
  groups?: (string | [string, ...(string)[]] | {
11952
12349
  newlinesBetween: ("ignore" | number);
11953
12350
  } | {
11954
12351
  group: (string | [string, ...(string)[]]);
12352
+ fallbackSort?: {
12353
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12354
+ order?: ("asc" | "desc");
12355
+ sortBy?: ("name" | "value");
12356
+ };
11955
12357
  commentAbove?: string;
11956
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11957
- newlinesInside?: number;
12358
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12359
+ newlinesInside?: ("ignore" | number);
11958
12360
  order?: ("asc" | "desc");
12361
+ sortBy?: ("name" | "value");
11959
12362
  })[];
11960
12363
  newlinesBetween?: ("ignore" | number);
11961
12364
  useConfigurationIf?: {
@@ -12009,15 +12412,14 @@ type PerfectionistSortObjectTypes = {
12009
12412
  } | string)));
12010
12413
  });
12011
12414
  partitionByNewLine?: boolean;
12012
- sortBy?: ("name" | "value");
12013
12415
  }[];
12014
12416
  // ----- perfectionist/sort-objects -----
12015
12417
  type PerfectionistSortObjects = {
12016
12418
  fallbackSort?: {
12017
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12419
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12018
12420
  order?: ("asc" | "desc");
12019
12421
  };
12020
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12422
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12021
12423
  specialCharacters?: ("remove" | "trim" | "keep");
12022
12424
  ignoreCase?: boolean;
12023
12425
  alphabet?: string;
@@ -12025,14 +12427,14 @@ type PerfectionistSortObjects = {
12025
12427
  order?: ("asc" | "desc");
12026
12428
  customGroups?: ({
12027
12429
  fallbackSort?: {
12028
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12430
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12029
12431
  order?: ("asc" | "desc");
12030
12432
  };
12031
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12433
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12032
12434
  groupName: string;
12033
- newlinesInside?: number;
12435
+ newlinesInside?: ("ignore" | number);
12034
12436
  order?: ("asc" | "desc");
12035
- anyOf: {
12437
+ anyOf: [{
12036
12438
  elementNamePattern?: (({
12037
12439
  pattern: string;
12038
12440
  flags?: string;
@@ -12040,7 +12442,24 @@ type PerfectionistSortObjects = {
12040
12442
  pattern: string;
12041
12443
  flags?: string;
12042
12444
  } | string));
12043
- modifiers?: ("optional" | "required" | "multiline")[];
12445
+ modifiers?: ("multiline")[];
12446
+ selector?: ("member" | "method" | "property");
12447
+ elementValuePattern?: (({
12448
+ pattern: string;
12449
+ flags?: string;
12450
+ } | string)[] | ({
12451
+ pattern: string;
12452
+ flags?: string;
12453
+ } | string));
12454
+ }, ...({
12455
+ elementNamePattern?: (({
12456
+ pattern: string;
12457
+ flags?: string;
12458
+ } | string)[] | ({
12459
+ pattern: string;
12460
+ flags?: string;
12461
+ } | string));
12462
+ modifiers?: ("multiline")[];
12044
12463
  selector?: ("member" | "method" | "property");
12045
12464
  elementValuePattern?: (({
12046
12465
  pattern: string;
@@ -12049,15 +12468,15 @@ type PerfectionistSortObjects = {
12049
12468
  pattern: string;
12050
12469
  flags?: string;
12051
12470
  } | string));
12052
- }[];
12471
+ })[]];
12053
12472
  } | {
12054
12473
  fallbackSort?: {
12055
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12474
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12056
12475
  order?: ("asc" | "desc");
12057
12476
  };
12058
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12477
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12059
12478
  groupName: string;
12060
- newlinesInside?: number;
12479
+ newlinesInside?: ("ignore" | number);
12061
12480
  order?: ("asc" | "desc");
12062
12481
  elementNamePattern?: (({
12063
12482
  pattern: string;
@@ -12066,7 +12485,7 @@ type PerfectionistSortObjects = {
12066
12485
  pattern: string;
12067
12486
  flags?: string;
12068
12487
  } | string));
12069
- modifiers?: ("optional" | "required" | "multiline")[];
12488
+ modifiers?: ("multiline")[];
12070
12489
  selector?: ("member" | "method" | "property");
12071
12490
  elementValuePattern?: (({
12072
12491
  pattern: string;
@@ -12076,13 +12495,18 @@ type PerfectionistSortObjects = {
12076
12495
  flags?: string;
12077
12496
  } | string));
12078
12497
  })[];
12498
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12079
12499
  groups?: (string | [string, ...(string)[]] | {
12080
12500
  newlinesBetween: ("ignore" | number);
12081
12501
  } | {
12082
12502
  group: (string | [string, ...(string)[]]);
12503
+ fallbackSort?: {
12504
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12505
+ order?: ("asc" | "desc");
12506
+ };
12083
12507
  commentAbove?: string;
12084
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12085
- newlinesInside?: number;
12508
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12509
+ newlinesInside?: ("ignore" | number);
12086
12510
  order?: ("asc" | "desc");
12087
12511
  })[];
12088
12512
  newlinesBetween?: ("ignore" | number);
@@ -12152,10 +12576,10 @@ type PerfectionistSortObjects = {
12152
12576
  // ----- perfectionist/sort-sets -----
12153
12577
  type PerfectionistSortSets = {
12154
12578
  fallbackSort?: {
12155
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12579
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12156
12580
  order?: ("asc" | "desc");
12157
12581
  };
12158
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12582
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12159
12583
  specialCharacters?: ("remove" | "trim" | "keep");
12160
12584
  ignoreCase?: boolean;
12161
12585
  alphabet?: string;
@@ -12163,14 +12587,23 @@ type PerfectionistSortSets = {
12163
12587
  order?: ("asc" | "desc");
12164
12588
  customGroups?: ({
12165
12589
  fallbackSort?: {
12166
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12590
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12167
12591
  order?: ("asc" | "desc");
12168
12592
  };
12169
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12593
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12170
12594
  groupName: string;
12171
- newlinesInside?: number;
12595
+ newlinesInside?: ("ignore" | number);
12172
12596
  order?: ("asc" | "desc");
12173
- anyOf: {
12597
+ anyOf: [{
12598
+ elementNamePattern?: (({
12599
+ pattern: string;
12600
+ flags?: string;
12601
+ } | string)[] | ({
12602
+ pattern: string;
12603
+ flags?: string;
12604
+ } | string));
12605
+ selector?: ("literal" | "spread");
12606
+ }, ...({
12174
12607
  elementNamePattern?: (({
12175
12608
  pattern: string;
12176
12609
  flags?: string;
@@ -12179,15 +12612,15 @@ type PerfectionistSortSets = {
12179
12612
  flags?: string;
12180
12613
  } | string));
12181
12614
  selector?: ("literal" | "spread");
12182
- }[];
12615
+ })[]];
12183
12616
  } | {
12184
12617
  fallbackSort?: {
12185
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12618
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12186
12619
  order?: ("asc" | "desc");
12187
12620
  };
12188
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12621
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12189
12622
  groupName: string;
12190
- newlinesInside?: number;
12623
+ newlinesInside?: ("ignore" | number);
12191
12624
  order?: ("asc" | "desc");
12192
12625
  elementNamePattern?: (({
12193
12626
  pattern: string;
@@ -12198,13 +12631,18 @@ type PerfectionistSortSets = {
12198
12631
  } | string));
12199
12632
  selector?: ("literal" | "spread");
12200
12633
  })[];
12634
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12201
12635
  groups?: (string | [string, ...(string)[]] | {
12202
12636
  newlinesBetween: ("ignore" | number);
12203
12637
  } | {
12204
12638
  group: (string | [string, ...(string)[]]);
12639
+ fallbackSort?: {
12640
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12641
+ order?: ("asc" | "desc");
12642
+ };
12205
12643
  commentAbove?: string;
12206
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12207
- newlinesInside?: number;
12644
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12645
+ newlinesInside?: ("ignore" | number);
12208
12646
  order?: ("asc" | "desc");
12209
12647
  })[];
12210
12648
  newlinesBetween?: ("ignore" | number);
@@ -12244,10 +12682,10 @@ type PerfectionistSortSets = {
12244
12682
  // ----- perfectionist/sort-switch-case -----
12245
12683
  type PerfectionistSortSwitchCase = [] | [{
12246
12684
  fallbackSort?: {
12247
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12685
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12248
12686
  order?: ("asc" | "desc");
12249
12687
  };
12250
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12688
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12251
12689
  specialCharacters?: ("remove" | "trim" | "keep");
12252
12690
  ignoreCase?: boolean;
12253
12691
  alphabet?: string;
@@ -12257,10 +12695,10 @@ type PerfectionistSortSwitchCase = [] | [{
12257
12695
  // ----- perfectionist/sort-union-types -----
12258
12696
  type PerfectionistSortUnionTypes = {
12259
12697
  fallbackSort?: {
12260
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12698
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12261
12699
  order?: ("asc" | "desc");
12262
12700
  };
12263
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12701
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12264
12702
  specialCharacters?: ("remove" | "trim" | "keep");
12265
12703
  ignoreCase?: boolean;
12266
12704
  alphabet?: string;
@@ -12268,14 +12706,14 @@ type PerfectionistSortUnionTypes = {
12268
12706
  order?: ("asc" | "desc");
12269
12707
  customGroups?: ({
12270
12708
  fallbackSort?: {
12271
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12709
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12272
12710
  order?: ("asc" | "desc");
12273
12711
  };
12274
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12712
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12275
12713
  groupName: string;
12276
- newlinesInside?: number;
12714
+ newlinesInside?: ("ignore" | number);
12277
12715
  order?: ("asc" | "desc");
12278
- anyOf: {
12716
+ anyOf: [{
12279
12717
  elementNamePattern?: (({
12280
12718
  pattern: string;
12281
12719
  flags?: string;
@@ -12284,15 +12722,24 @@ type PerfectionistSortUnionTypes = {
12284
12722
  flags?: string;
12285
12723
  } | string));
12286
12724
  selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
12287
- }[];
12725
+ }, ...({
12726
+ elementNamePattern?: (({
12727
+ pattern: string;
12728
+ flags?: string;
12729
+ } | string)[] | ({
12730
+ pattern: string;
12731
+ flags?: string;
12732
+ } | string));
12733
+ selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
12734
+ })[]];
12288
12735
  } | {
12289
12736
  fallbackSort?: {
12290
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12737
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12291
12738
  order?: ("asc" | "desc");
12292
12739
  };
12293
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12740
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12294
12741
  groupName: string;
12295
- newlinesInside?: number;
12742
+ newlinesInside?: ("ignore" | number);
12296
12743
  order?: ("asc" | "desc");
12297
12744
  elementNamePattern?: (({
12298
12745
  pattern: string;
@@ -12303,13 +12750,18 @@ type PerfectionistSortUnionTypes = {
12303
12750
  } | string));
12304
12751
  selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
12305
12752
  })[];
12753
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12306
12754
  groups?: (string | [string, ...(string)[]] | {
12307
12755
  newlinesBetween: ("ignore" | number);
12308
12756
  } | {
12309
12757
  group: (string | [string, ...(string)[]]);
12758
+ fallbackSort?: {
12759
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12760
+ order?: ("asc" | "desc");
12761
+ };
12310
12762
  commentAbove?: string;
12311
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12312
- newlinesInside?: number;
12763
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12764
+ newlinesInside?: ("ignore" | number);
12313
12765
  order?: ("asc" | "desc");
12314
12766
  })[];
12315
12767
  newlinesBetween?: ("ignore" | number);
@@ -12340,10 +12792,10 @@ type PerfectionistSortUnionTypes = {
12340
12792
  // ----- perfectionist/sort-variable-declarations -----
12341
12793
  type PerfectionistSortVariableDeclarations = [] | [{
12342
12794
  fallbackSort?: {
12343
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12795
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12344
12796
  order?: ("asc" | "desc");
12345
12797
  };
12346
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12798
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12347
12799
  specialCharacters?: ("remove" | "trim" | "keep");
12348
12800
  ignoreCase?: boolean;
12349
12801
  alphabet?: string;
@@ -12351,14 +12803,14 @@ type PerfectionistSortVariableDeclarations = [] | [{
12351
12803
  order?: ("asc" | "desc");
12352
12804
  customGroups?: ({
12353
12805
  fallbackSort?: {
12354
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12806
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12355
12807
  order?: ("asc" | "desc");
12356
12808
  };
12357
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12809
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12358
12810
  groupName: string;
12359
- newlinesInside?: number;
12811
+ newlinesInside?: ("ignore" | number);
12360
12812
  order?: ("asc" | "desc");
12361
- anyOf: {
12813
+ anyOf: [{
12362
12814
  elementNamePattern?: (({
12363
12815
  pattern: string;
12364
12816
  flags?: string;
@@ -12367,15 +12819,24 @@ type PerfectionistSortVariableDeclarations = [] | [{
12367
12819
  flags?: string;
12368
12820
  } | string));
12369
12821
  selector?: ("initialized" | "uninitialized");
12370
- }[];
12822
+ }, ...({
12823
+ elementNamePattern?: (({
12824
+ pattern: string;
12825
+ flags?: string;
12826
+ } | string)[] | ({
12827
+ pattern: string;
12828
+ flags?: string;
12829
+ } | string));
12830
+ selector?: ("initialized" | "uninitialized");
12831
+ })[]];
12371
12832
  } | {
12372
12833
  fallbackSort?: {
12373
- type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12834
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12374
12835
  order?: ("asc" | "desc");
12375
12836
  };
12376
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12837
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12377
12838
  groupName: string;
12378
- newlinesInside?: number;
12839
+ newlinesInside?: ("ignore" | number);
12379
12840
  order?: ("asc" | "desc");
12380
12841
  elementNamePattern?: (({
12381
12842
  pattern: string;
@@ -12386,13 +12847,18 @@ type PerfectionistSortVariableDeclarations = [] | [{
12386
12847
  } | string));
12387
12848
  selector?: ("initialized" | "uninitialized");
12388
12849
  })[];
12850
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12389
12851
  groups?: (string | [string, ...(string)[]] | {
12390
12852
  newlinesBetween: ("ignore" | number);
12391
12853
  } | {
12392
12854
  group: (string | [string, ...(string)[]]);
12855
+ fallbackSort?: {
12856
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12857
+ order?: ("asc" | "desc");
12858
+ };
12393
12859
  commentAbove?: string;
12394
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12395
- newlinesInside?: number;
12860
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12861
+ newlinesInside?: ("ignore" | number);
12396
12862
  order?: ("asc" | "desc");
12397
12863
  })[];
12398
12864
  newlinesBetween?: ("ignore" | number);
@@ -12747,6 +13213,10 @@ type VitestMaxExpects = [] | [{
12747
13213
  type VitestMaxNestedDescribe = [] | [{
12748
13214
  max?: number;
12749
13215
  }];
13216
+ // ----- vitest/no-conditional-expect -----
13217
+ type VitestNoConditionalExpect = [] | [{
13218
+ expectAssertions?: boolean;
13219
+ }];
12750
13220
  // ----- vitest/no-focused-tests -----
12751
13221
  type VitestNoFocusedTests = [] | [{
12752
13222
  fixable?: boolean;
@@ -12781,6 +13251,10 @@ type VitestPreferExpectAssertions = [] | [{
12781
13251
  onlyFunctionsWithExpectInLoop?: boolean;
12782
13252
  onlyFunctionsWithExpectInCallback?: boolean;
12783
13253
  }];
13254
+ // ----- vitest/prefer-import-in-mock -----
13255
+ type VitestPreferImportInMock = [] | [{
13256
+ fixable?: boolean;
13257
+ }];
12784
13258
  // ----- vitest/prefer-lowercase-title -----
12785
13259
  type VitestPreferLowercaseTitle = [] | [{
12786
13260
  ignore?: ("describe" | "test" | "it")[];
@@ -14161,5 +14635,30 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
14161
14635
  exceptRange?: boolean;
14162
14636
  onlyEquality?: boolean;
14163
14637
  }];
14638
+ // ----- zod-x/array-style -----
14639
+ type ZodXArrayStyle = [] | [{
14640
+ style?: ("function" | "method");
14641
+ }];
14642
+ // ----- zod-x/consistent-import-source -----
14643
+ type ZodXConsistentImportSource = [] | [{
14644
+ sources?: [("zod" | "zod/mini" | "zod/v4" | "zod/v4-mini" | "zod/v3"), ...(("zod" | "zod/mini" | "zod/v4" | "zod/v4-mini" | "zod/v3"))[]];
14645
+ }];
14646
+ // ----- zod-x/consistent-object-schema-type -----
14647
+ type ZodXConsistentObjectSchemaType = [] | [{
14648
+ allow?: [("object" | "looseObject" | "strictObject"), ...(("object" | "looseObject" | "strictObject"))[]];
14649
+ }];
14650
+ // ----- zod-x/no-optional-and-default-together -----
14651
+ type ZodXNoOptionalAndDefaultTogether = [] | [{
14652
+ preferredMethod?: ("none" | "default" | "optional");
14653
+ }];
14654
+ // ----- zod-x/require-schema-suffix -----
14655
+ type ZodXRequireSchemaSuffix = [] | [{
14656
+ suffix?: string;
14657
+ }];
14658
+ // ----- zod-x/schema-error-property-style -----
14659
+ type ZodXSchemaErrorPropertyStyle = [] | [{
14660
+ selector?: string;
14661
+ example?: string;
14662
+ }];
14164
14663
  //#endregion
14165
14664
  export { ESLintSchema };