@ntnyq/eslint-config 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -57,6 +57,10 @@ type Awaitable<T> = T | Promise<T>;
57
57
  type Pretty<T> = {
58
58
  [P in keyof T]: T[P];
59
59
  } & {};
60
+ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
61
+ type InteropModuleDefault<T> = T extends {
62
+ default: infer U;
63
+ } ? U : T;
60
64
  /**
61
65
  * A literal type that supports custom further strings but preserves autocompletion in IDEs.
62
66
  *
@@ -65,10 +69,6 @@ type Pretty<T> = {
65
69
  type LiteralUnion<Union extends Base, Base = string> = Union | (Base & {
66
70
  zz_IGNORE_ME?: never;
67
71
  });
68
- type InteropModuleDefault<T> = T extends {
69
- default: infer U;
70
- } ? U : T;
71
- type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
72
72
 
73
73
  interface RuleOptions {
74
74
  /**
@@ -1549,6 +1549,11 @@ interface RuleOptions {
1549
1549
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/max-jobs-per-action.html
1550
1550
  */
1551
1551
  'github-action/max-jobs-per-action'?: Linter.RuleEntry<GithubActionMaxJobsPerAction>;
1552
+ /**
1553
+ * disallow using top level env.
1554
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/no-top-level-env.html
1555
+ */
1556
+ 'github-action/no-top-level-env'?: Linter.RuleEntry<[]>;
1552
1557
  /**
1553
1558
  * disallow using top level permissions.
1554
1559
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/no-top-level-permissions.html
@@ -1559,6 +1564,16 @@ interface RuleOptions {
1559
1564
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-action-name.html
1560
1565
  */
1561
1566
  'github-action/require-action-name'?: Linter.RuleEntry<[]>;
1567
+ /**
1568
+ * require job name to be set.
1569
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-job-name.html
1570
+ */
1571
+ 'github-action/require-job-name'?: Linter.RuleEntry<[]>;
1572
+ /**
1573
+ * require job step name to be set.
1574
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-job-step-name.html
1575
+ */
1576
+ 'github-action/require-job-step-name'?: Linter.RuleEntry<[]>;
1562
1577
  /**
1563
1578
  * Require `require()` calls to be placed at top-level module scope
1564
1579
  * @see https://eslint.org/docs/latest/rules/global-require
@@ -2583,7 +2598,7 @@ interface RuleOptions {
2583
2598
  */
2584
2599
  'no-class-assign'?: Linter.RuleEntry<[]>;
2585
2600
  /**
2586
- * Disallow comparing against -0
2601
+ * Disallow comparing against `-0`
2587
2602
  * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
2588
2603
  */
2589
2604
  'no-compare-neg-zero'?: Linter.RuleEntry<[]>;
@@ -5948,7 +5963,7 @@ interface RuleOptions {
5948
5963
  * enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
5949
5964
  * @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
5950
5965
  */
5951
- 'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<[]>;
5966
+ 'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<VueNoDuplicateAttrInheritance>;
5952
5967
  /**
5953
5968
  * disallow duplication of attributes
5954
5969
  * @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
@@ -6393,7 +6408,7 @@ interface RuleOptions {
6393
6408
  */
6394
6409
  'vue/prefer-true-attribute-shorthand'?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>;
6395
6410
  /**
6396
- * require using `useTemplateRef` instead of `ref` for template refs
6411
+ * require using `useTemplateRef` instead of `ref`/`shallowRef` for template refs
6397
6412
  * @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
6398
6413
  */
6399
6414
  'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>;
@@ -6507,6 +6522,11 @@ interface RuleOptions {
6507
6522
  * @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
6508
6523
  */
6509
6524
  'vue/require-valid-default-prop'?: Linter.RuleEntry<[]>;
6525
+ /**
6526
+ * enforce using only specific component names
6527
+ * @see https://eslint.vuejs.org/rules/restricted-component-names.html
6528
+ */
6529
+ 'vue/restricted-component-names'?: Linter.RuleEntry<VueRestrictedComponentNames>;
6510
6530
  /**
6511
6531
  * enforce that a return statement is present in computed property
6512
6532
  * @see https://eslint.vuejs.org/rules/return-in-computed-property.html
@@ -6533,6 +6553,11 @@ interface RuleOptions {
6533
6553
  * @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
6534
6554
  */
6535
6555
  'vue/singleline-html-element-content-newline'?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>;
6556
+ /**
6557
+ * enforce specific casing for slot names
6558
+ * @see https://eslint.vuejs.org/rules/slot-name-casing.html
6559
+ */
6560
+ 'vue/slot-name-casing'?: Linter.RuleEntry<VueSlotNameCasing>;
6536
6561
  /**
6537
6562
  * enforce sort-keys in a manner that is compatible with order-in-components
6538
6563
  * @see https://eslint.vuejs.org/rules/sort-keys.html
@@ -12503,6 +12528,7 @@ type SortKeys = [] | [("asc" | "desc")] | [
12503
12528
  natural?: boolean;
12504
12529
  minKeys?: number;
12505
12530
  allowLineSeparatedGroups?: boolean;
12531
+ ignoreComputedKeys?: boolean;
12506
12532
  }
12507
12533
  ];
12508
12534
  type SortVars = [] | [
@@ -13126,6 +13152,7 @@ type VueAttributeHyphenation = [] | [("always" | "never")] | [
13126
13152
  } & {
13127
13153
  [k: string]: unknown | undefined;
13128
13154
  })[];
13155
+ ignoreTags?: string[];
13129
13156
  }
13130
13157
  ];
13131
13158
  type VueAttributesOrder = [] | [
@@ -13896,6 +13923,11 @@ type VueNoDupeKeys = [] | [
13896
13923
  groups?: unknown[];
13897
13924
  }
13898
13925
  ];
13926
+ type VueNoDuplicateAttrInheritance = [] | [
13927
+ {
13928
+ checkMultiRootNodes?: boolean;
13929
+ }
13930
+ ];
13899
13931
  type VueNoDuplicateAttributes = [] | [
13900
13932
  {
13901
13933
  allowCoexistClass?: boolean;
@@ -14142,6 +14174,7 @@ type VueNoUselessVBind = [] | [
14142
14174
  type VueNoVTextVHtmlOnComponent = [] | [
14143
14175
  {
14144
14176
  allow?: string[];
14177
+ ignoreElementNamespaces?: boolean;
14145
14178
  }
14146
14179
  ];
14147
14180
  type VueObjectCurlyNewline = [] | [
@@ -14281,6 +14314,11 @@ type VueRequireToggleInsideTransition = [] | [
14281
14314
  additionalDirectives?: string[];
14282
14315
  }
14283
14316
  ];
14317
+ type VueRestrictedComponentNames = [] | [
14318
+ {
14319
+ allow?: string[];
14320
+ }
14321
+ ];
14284
14322
  type VueReturnInComputedProperty = [] | [
14285
14323
  {
14286
14324
  treatUndefinedAsUnspecified?: boolean;
@@ -14306,6 +14344,7 @@ type VueSinglelineHtmlElementContentNewline = [] | [
14306
14344
  externalIgnores?: string[];
14307
14345
  }
14308
14346
  ];
14347
+ type VueSlotNameCasing = [] | [("camelCase" | "kebab-case" | "singleword")];
14309
14348
  type VueSortKeys = [] | [("asc" | "desc")] | [
14310
14349
  ("asc" | "desc"),
14311
14350
  {
@@ -14355,6 +14394,7 @@ type VueVOnEventHyphenation = [] | [("always" | "never")] | [
14355
14394
  } & {
14356
14395
  [k: string]: unknown | undefined;
14357
14396
  })[];
14397
+ ignoreTags?: string[];
14358
14398
  }
14359
14399
  ];
14360
14400
  type VueVOnFunctionCall = [] | [("always" | "never")] | [
@@ -14640,17 +14680,8 @@ type Yoda = [] | [("always" | "never")] | [
14640
14680
  onlyEquality?: boolean;
14641
14681
  }
14642
14682
  ];
14643
- type ConfigNames = 'ntnyq/antfu' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/format/setup' | 'ntnyq/format/css' | 'ntnyq/format/scss' | 'ntnyq/format/less' | 'ntnyq/format/html' | 'ntnyq/github-action' | 'ntnyq/gitignore' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/processor' | 'ntnyq/markdown/parser' | 'ntnyq/markdown/disabled/code-blocks' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/perfectionist' | 'ntnyq/regexp' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/userscript' | 'ntnyq/stylistic' | 'ntnyq/toml' | 'ntnyq/ts/setup' | 'ntnyq/ts/parser' | 'ntnyq/ts/rules' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/vitest' | 'ntnyq/vue/setup' | 'ntnyq/vue/rules' | 'ntnyq/yaml';
14683
+ type ConfigNames = 'ntnyq/antfu' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/format/setup' | 'ntnyq/format/css' | 'ntnyq/format/scss' | 'ntnyq/format/less' | 'ntnyq/format/html' | 'ntnyq/github-action' | 'ntnyq/gitignore' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/processor' | 'ntnyq/markdown/parser' | 'ntnyq/markdown/disabled/code-blocks' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/perfectionist/common' | 'ntnyq/perfectionist/enums' | 'ntnyq/perfectionist/types' | 'ntnyq/perfectionist/constants' | 'ntnyq/regexp' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/userscript' | 'ntnyq/specials/config-file' | 'ntnyq/stylistic' | 'ntnyq/toml' | 'ntnyq/ts/setup' | 'ntnyq/ts/parser' | 'ntnyq/ts/rules' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/vitest' | 'ntnyq/vue/setup' | 'ntnyq/vue/rules' | 'ntnyq/yaml';
14644
14684
 
14645
- /**
14646
- * Typed flat config item
14647
- */
14648
- type TypedConfigItem = Omit<Linter.Config<Linter.RulesRecord & RuleOptions>, 'plugins'> & {
14649
- /**
14650
- * Most plugin are not properly typed
14651
- */
14652
- plugins?: Record<string, any>;
14653
- };
14654
14685
  /**
14655
14686
  * ESLint config
14656
14687
  */
@@ -14671,23 +14702,60 @@ type ESLintParserOptions = Linter.ParserOptions;
14671
14702
  * TypeScript ESLint parserOptions
14672
14703
  */
14673
14704
  type TSESLintParserOptions = Pretty<Required<Required<ConfigWithExtends>['languageOptions']>['parserOptions']>;
14705
+ /**
14706
+ * Typed flat config item
14707
+ */
14708
+ type TypedConfigItem = Omit<Linter.Config<Linter.RulesRecord & RuleOptions>, 'plugins'> & {
14709
+ /**
14710
+ * Most plugin are not properly typed
14711
+ */
14712
+ plugins?: Record<string, any>;
14713
+ };
14674
14714
 
14675
14715
  /**
14676
14716
  * @file Config options
14677
14717
  */
14678
14718
 
14719
+ type ConfigIgnoresOptions = string[];
14679
14720
  /**
14680
14721
  * Options for overrides `files`
14681
14722
  */
14682
14723
  interface OptionsFiles {
14683
14724
  files?: string[];
14684
14725
  }
14726
+ type ConfigCommandOptions = ESLintPluginCommandOptions;
14727
+ interface ConfigYmlOptions extends OptionsOverrides {
14728
+ }
14685
14729
  /**
14686
14730
  * Options for add `extensions` support
14687
14731
  */
14688
14732
  interface OptionsExtensions {
14689
14733
  extensions?: string[];
14690
14734
  }
14735
+ interface ConfigNodeOptions extends OptionsOverrides {
14736
+ }
14737
+ interface ConfigTomlOptions extends OptionsOverrides {
14738
+ }
14739
+ interface ConfigAntfuOptions extends OptionsOverrides {
14740
+ }
14741
+ interface ConfigNtnyqOptions extends OptionsOverrides {
14742
+ }
14743
+ interface ConfigJsoncOptions extends OptionsOverrides {
14744
+ }
14745
+ interface ConfigUnicornOptions extends OptionsOverrides {
14746
+ }
14747
+ interface ConfigImportsOptions extends OptionsOverrides {
14748
+ }
14749
+ interface ConfigCommentsOptions extends OptionsOverrides {
14750
+ }
14751
+ interface ConfigStylisticOptions extends OptionsOverrides {
14752
+ }
14753
+ interface ConfigGitHubActionOptions extends OptionsOverrides {
14754
+ }
14755
+ interface ConfigUnusedImportsOptions extends OptionsOverrides {
14756
+ }
14757
+ interface ConfigJsdocOptions extends OptionsFeatures, OptionsOverrides {
14758
+ }
14691
14759
  /**
14692
14760
  * Options for add `features` support
14693
14761
  */
@@ -14697,23 +14765,21 @@ type OptionsFeatures = {
14697
14765
  */
14698
14766
  typescript?: boolean;
14699
14767
  };
14768
+ interface ConfigMarkdownOptions extends OptionsExtensions, OptionsFiles, OptionsOverrides {
14769
+ }
14700
14770
  /**
14701
14771
  * Options for overrides `rules`
14702
14772
  */
14703
14773
  interface OptionsOverrides<Rules extends TypedConfigItem['rules'] = TypedConfigItem['rules']> {
14704
14774
  overrides?: Rules;
14705
14775
  }
14706
- type ConfigIgnoresOptions = string[];
14707
- type ConfigGitIgnoreOptions = Omit<FlatGitignoreOptions, 'strict'> & {
14776
+ interface ConfigRegexpOptions extends OptionsOverrides {
14708
14777
  /**
14709
- * Throw an error if gitignore file not found.
14778
+ * Prettier level
14710
14779
  *
14711
- * @default false
14780
+ * @default 'error'
14712
14781
  */
14713
- strict?: boolean;
14714
- };
14715
- type ConfigCommandOptions = ESLintPluginCommandOptions;
14716
- interface ConfigJsdocOptions extends OptionsOverrides, OptionsFeatures {
14782
+ level?: 'warn' | 'error';
14717
14783
  }
14718
14784
  interface ConfigUnoCSSOptions extends OptionsOverrides {
14719
14785
  /**
@@ -14723,66 +14789,11 @@ interface ConfigUnoCSSOptions extends OptionsOverrides {
14723
14789
  */
14724
14790
  attributify?: boolean;
14725
14791
  }
14726
- interface ConfigUnicornOptions extends OptionsOverrides {
14727
- }
14728
- interface ConfigImportsOptions extends OptionsOverrides {
14729
- }
14730
- interface ConfigNodeOptions extends OptionsOverrides {
14731
- }
14732
- interface ConfigAntfuOptions extends OptionsOverrides {
14733
- }
14734
- interface ConfigNtnyqOptions extends OptionsOverrides {
14735
- }
14736
- interface ConfigStylisticOptions extends OptionsOverrides {
14737
- }
14738
- interface ConfigGitHubActionOptions extends OptionsOverrides {
14739
- }
14740
- interface ConfigPrettierOptions extends OptionsOverrides {
14741
- /**
14742
- * Prettier level
14743
- *
14744
- * @default 'warn'
14745
- */
14746
- level?: 'warn' | 'error';
14747
- /**
14748
- * Glob of built-in disabled files
14749
- */
14750
- disabledFiles?: string[];
14751
- /**
14752
- * Glob of user custom disabled files
14753
- * @default []
14754
- */
14755
- userDisabledFiles?: string[];
14756
- }
14757
- type PerfectionistSortType = 'alphabetical' | 'line-length' | 'natural';
14758
- type PerfectionistSortOrder = 'asc' | 'desc';
14759
- interface ConfigPerfectionistOptions extends OptionsOverrides {
14760
- imports?: {
14761
- type?: PerfectionistSortType;
14762
- order?: PerfectionistSortOrder;
14763
- };
14764
- exports?: {
14765
- type?: PerfectionistSortType;
14766
- order?: PerfectionistSortOrder;
14767
- };
14768
- namedExports?: {
14769
- type?: PerfectionistSortType;
14770
- order?: PerfectionistSortOrder;
14771
- };
14772
- namedImports?: {
14773
- type?: PerfectionistSortType;
14774
- order?: PerfectionistSortOrder;
14775
- };
14776
- }
14777
- interface ConfigCommentsOptions extends OptionsOverrides {
14778
- }
14779
- interface ConfigRegexpOptions extends OptionsOverrides {
14792
+ interface ConfigTestOptions extends OptionsOverrides {
14780
14793
  /**
14781
- * Prettier level
14782
- *
14783
- * @default 'error'
14794
+ * Overrides built-in vitest rules
14784
14795
  */
14785
- level?: 'warn' | 'error';
14796
+ overridesVitestRules?: TypedConfigItem['rules'];
14786
14797
  }
14787
14798
  interface ConfigJavaScriptOptions extends OptionsOverrides {
14788
14799
  /**
@@ -14792,30 +14803,14 @@ interface ConfigJavaScriptOptions extends OptionsOverrides {
14792
14803
  */
14793
14804
  strict?: boolean;
14794
14805
  }
14795
- interface ConfigTypeScriptOptions extends OptionsOverrides, OptionsFiles, OptionsExtensions {
14796
- /**
14797
- * Enable type aware check for TypeScript files
14798
- */
14799
- tsconfigPath?: string;
14800
- /**
14801
- * Additional parser options
14802
- */
14803
- parserOptions?: TSESLintParserOptions;
14804
- /**
14805
- * Glob patterns for files that should be type aware.
14806
- * @default ['**\/*.{ts,tsx}']
14807
- */
14808
- filesTypeAware?: string[];
14809
- /**
14810
- * Glob patterns for files that should not be type aware.
14811
- * @default ['**\/*.md\/**', '**\/*.astro/*.ts']
14812
- */
14813
- ignoresTypeAware?: string[];
14806
+ type ConfigGitIgnoreOptions = Omit<FlatGitignoreOptions, 'strict'> & {
14814
14807
  /**
14815
- * Overrides built-in type aware rules
14808
+ * Throw an error if gitignore file not found.
14809
+ *
14810
+ * @default false
14816
14811
  */
14817
- overridesTypeAwareRules?: TypedConfigItem['rules'];
14818
- }
14812
+ strict?: boolean;
14813
+ };
14819
14814
  interface ConfigSortOptions {
14820
14815
  /**
14821
14816
  * @default true
@@ -14834,15 +14829,24 @@ interface ConfigSortOptions {
14834
14829
  */
14835
14830
  pnpmWorkspace?: boolean;
14836
14831
  }
14837
- interface ConfigJsoncOptions extends OptionsOverrides {
14838
- }
14839
- interface ConfigYmlOptions extends OptionsOverrides {
14840
- }
14841
- interface ConfigMarkdownOptions extends OptionsOverrides, OptionsFiles, OptionsExtensions {
14842
- }
14843
- interface ConfigTomlOptions extends OptionsOverrides {
14832
+ interface ConfigPrettierOptions extends OptionsOverrides {
14833
+ /**
14834
+ * Prettier level
14835
+ *
14836
+ * @default 'warn'
14837
+ */
14838
+ level?: 'warn' | 'error';
14839
+ /**
14840
+ * Glob of built-in disabled files
14841
+ */
14842
+ disabledFiles?: string[];
14843
+ /**
14844
+ * Glob of user custom disabled files
14845
+ * @default []
14846
+ */
14847
+ userDisabledFiles?: string[];
14844
14848
  }
14845
- interface ConfigVueOptions extends OptionsOverrides, OptionsFiles, OptionsFeatures {
14849
+ interface ConfigVueOptions extends OptionsFeatures, OptionsFiles, OptionsOverrides {
14846
14850
  /**
14847
14851
  * Create virtual files for Vue SFC blocks to enable linting.
14848
14852
  *
@@ -14857,12 +14861,6 @@ interface ConfigVueOptions extends OptionsOverrides, OptionsFiles, OptionsFeatur
14857
14861
  */
14858
14862
  vueVersion?: 2 | 3;
14859
14863
  }
14860
- interface ConfigTestOptions extends OptionsOverrides {
14861
- /**
14862
- * Overrides built-in vitest rules
14863
- */
14864
- overridesVitestRules?: TypedConfigItem['rules'];
14865
- }
14866
14864
  interface ConfigSpecialsOptions {
14867
14865
  /**
14868
14866
  * Overrides scripts rules
@@ -14876,6 +14874,10 @@ interface ConfigSpecialsOptions {
14876
14874
  * Overrides user scripts rules
14877
14875
  */
14878
14876
  overridesUserScriptsRules?: TypedConfigItem['rules'];
14877
+ /**
14878
+ * Overrides config files rules
14879
+ */
14880
+ overridesConfigFileRules?: TypedConfigItem['rules'];
14879
14881
  /**
14880
14882
  * More special case configs
14881
14883
  */
@@ -14887,19 +14889,19 @@ interface ConfigFormatOptions {
14887
14889
  *
14888
14890
  * @default 'prettier'
14889
14891
  */
14890
- css?: 'prettier' | boolean;
14892
+ css?: boolean | 'prettier';
14891
14893
  /**
14892
14894
  * Enable formatter support for html
14893
14895
  *
14894
14896
  * @default 'prettier'
14895
14897
  */
14896
- html?: 'prettier' | boolean;
14898
+ html?: boolean | 'prettier';
14897
14899
  /**
14898
14900
  * Enable formatter support for markdown
14899
14901
  *
14900
14902
  * @default 'prettier'
14901
14903
  */
14902
- markdown?: 'prettier' | 'dprint' | boolean;
14904
+ markdown?: boolean | 'dprint' | 'prettier';
14903
14905
  /**
14904
14906
  * Options for prettier
14905
14907
  */
@@ -14909,21 +14911,61 @@ interface ConfigFormatOptions {
14909
14911
  */
14910
14912
  dprintOptions?: boolean;
14911
14913
  }
14912
- interface ConfigUnusedImportsOptions extends OptionsOverrides {
14914
+ interface ConfigPerfectionistOptions extends OptionsOverrides {
14915
+ /**
14916
+ * Enable sort `constants`
14917
+ *
14918
+ * @default true
14919
+ */
14920
+ sortConstants?: boolean;
14921
+ /**
14922
+ * Enable sort `enums`
14923
+ *
14924
+ * @default true
14925
+ */
14926
+ sortEnums?: boolean;
14927
+ /**
14928
+ * Enable sort `types`
14929
+ *
14930
+ * @default true
14931
+ */
14932
+ sortTypes?: boolean;
14933
+ /**
14934
+ * Overrides rules for `constants`
14935
+ */
14936
+ overridesConstantsRules?: TypedConfigItem['rules'];
14937
+ /**
14938
+ * Overrides rules for `enums`
14939
+ */
14940
+ overridesEnumsRules?: TypedConfigItem['rules'];
14941
+ /**
14942
+ * Overrides rules for `types`
14943
+ */
14944
+ overridesTypesRules?: TypedConfigItem['rules'];
14913
14945
  }
14914
- interface ConfigOptionsInternal {
14946
+ interface ConfigTypeScriptOptions extends OptionsExtensions, OptionsFiles, OptionsOverrides {
14915
14947
  /**
14916
- * @internal
14948
+ * Enable type aware check for TypeScript files
14917
14949
  */
14918
- format?: boolean | ConfigFormatOptions;
14950
+ tsconfigPath?: string;
14919
14951
  /**
14920
- * @internal
14952
+ * Additional parser options
14921
14953
  */
14922
- ntnyq?: boolean | ConfigNtnyqOptions;
14954
+ parserOptions?: TSESLintParserOptions;
14923
14955
  /**
14924
- * @internal
14956
+ * Glob patterns for files that should be type aware.
14957
+ * @default ['**\/*.{ts,tsx}']
14925
14958
  */
14926
- unusedImports?: boolean | ConfigUnusedImportsOptions;
14959
+ filesTypeAware?: string[];
14960
+ /**
14961
+ * Glob patterns for files that should not be type aware.
14962
+ * @default ['**\/*.md\/**', '**\/*.astro/*.ts']
14963
+ */
14964
+ ignoresTypeAware?: string[];
14965
+ /**
14966
+ * Overrides built-in type aware rules
14967
+ */
14968
+ overridesTypeAwareRules?: TypedConfigItem['rules'];
14927
14969
  }
14928
14970
  /**
14929
14971
  * Config factory options
@@ -14955,11 +14997,25 @@ interface ConfigOptions extends ConfigOptionsInternal, OptionsExtensions {
14955
14997
  antfu?: boolean | ConfigAntfuOptions;
14956
14998
  githubAction?: boolean | ConfigGitHubActionOptions;
14957
14999
  }
15000
+ interface ConfigOptionsInternal {
15001
+ /**
15002
+ * @internal
15003
+ */
15004
+ format?: boolean | ConfigFormatOptions;
15005
+ /**
15006
+ * @internal
15007
+ */
15008
+ ntnyq?: boolean | ConfigNtnyqOptions;
15009
+ /**
15010
+ * @internal
15011
+ */
15012
+ unusedImports?: boolean | ConfigUnusedImportsOptions;
15013
+ }
14958
15014
 
14959
15015
  /**
14960
15016
  * Prettier options
14961
15017
  */
14962
- type PrettierOptions = Partial<Pick<RequiredOptions, 'semi' | 'useTabs' | 'tabWidth' | 'rangeEnd' | 'proseWrap' | 'endOfLine' | 'rangeStart' | 'quoteProps' | 'printWidth' | 'arrowParens' | 'singleQuote' | 'insertPragma' | 'trailingComma' | 'requirePragma' | 'bracketSpacing' | 'jsxSingleQuote' | 'bracketSameLine' | 'singleAttributePerLine' | 'experimentalTernaries' | 'vueIndentScriptAndStyle' | 'embeddedLanguageFormatting' | 'htmlWhitespaceSensitivity' | 'plugins'>> & {
15018
+ type PrettierOptions = Partial<Pick<RequiredOptions, 'semi' | 'useTabs' | 'plugins' | 'tabWidth' | 'rangeEnd' | 'proseWrap' | 'endOfLine' | 'rangeStart' | 'quoteProps' | 'printWidth' | 'arrowParens' | 'singleQuote' | 'insertPragma' | 'trailingComma' | 'requirePragma' | 'bracketSpacing' | 'jsxSingleQuote' | 'bracketSameLine' | 'experimentalTernaries' | 'singleAttributePerLine' | 'vueIndentScriptAndStyle' | 'htmlWhitespaceSensitivity' | 'embeddedLanguageFormatting'>> & {
14963
15019
  parser?: BuiltInParserName;
14964
15020
  };
14965
15021
 
@@ -14982,6 +15038,7 @@ declare const GLOB_JSX = "**/*.?([cm])jsx";
14982
15038
  declare const GLOB_TS = "**/*.?([cm])ts";
14983
15039
  declare const GLOB_TSX = "**/*.?([cm])tsx";
14984
15040
  declare const GLOB_DTS = "**/*.d.?([cm])ts";
15041
+ declare const GLOB_TYPES: string[];
14985
15042
  declare const GLOB_TEST: string[];
14986
15043
  declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
14987
15044
  declare const GLOB_CSS = "**/*.css";
@@ -15123,4 +15180,4 @@ declare const unusedImports: (options?: ConfigUnusedImportsOptions) => TypedConf
15123
15180
  */
15124
15181
  declare const DEFAULT_PRETTIER_OPTIONS: PrettierOptions;
15125
15182
 
15126
- export { type Arrayable, type Awaitable, type ConfigAntfuOptions, type ConfigCommandOptions, type ConfigCommentsOptions, type ConfigFormatOptions, type ConfigGitHubActionOptions, type ConfigGitIgnoreOptions, type ConfigIgnoresOptions, type ConfigImportsOptions, type ConfigJavaScriptOptions, type ConfigJsdocOptions, type ConfigJsoncOptions, type ConfigMarkdownOptions, type ConfigNames, type ConfigNodeOptions, type ConfigNtnyqOptions, type ConfigOptions, type ConfigPerfectionistOptions, type ConfigPrettierOptions, type ConfigRegexpOptions, type ConfigSortOptions, type ConfigSpecialsOptions, type ConfigStylisticOptions, type ConfigTestOptions, type ConfigTomlOptions, type ConfigTypeScriptOptions, type ConfigUnicornOptions, type ConfigUnoCSSOptions, type ConfigUnusedImportsOptions, type ConfigVueOptions, type ConfigYmlOptions, DEFAULT_PRETTIER_OPTIONS, type ESLintConfig, type ESLintParser, type ESLintParserOptions, type ESLintProcessor, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_DIST, GLOB_DTS, GLOB_EXCLUDE, GLOB_GITHUB_ACTION, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_NESTED, GLOB_NODE_MODULES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TEST, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type InteropModuleDefault, type LiteralUnion, type OptionsExtensions, type OptionsFeatures, type OptionsFiles, type OptionsOverrides, type PerfectionistSortOrder, type PerfectionistSortType, type PrettierOptions, type Pretty, type ResolvedOptions, type RuleOptions, type TSESLintParserOptions, type TypedConfigItem, antfu, command, comments, defineESLintConfig, format, getOverrides, githubAction, gitignore, hasTypeScript, hasUnoCSS, hasVitest, hasVue, ignores, imports, interopDefault, javascript, jsdoc, jsonc, jsx, loadPlugin, markdown, mergePrettierOptions, node, ntnyq, parserPlain, parserTypeScript, perfectionist, prettier, regexp, resolveSubOptions, sort, specials, stylistic, test, toArray, toml, typescript, unicorn, unocss, unusedImports, vitest, vue, yml };
15183
+ export { type Arrayable, type Awaitable, type ConfigAntfuOptions, type ConfigCommandOptions, type ConfigCommentsOptions, type ConfigFormatOptions, type ConfigGitHubActionOptions, type ConfigGitIgnoreOptions, type ConfigIgnoresOptions, type ConfigImportsOptions, type ConfigJavaScriptOptions, type ConfigJsdocOptions, type ConfigJsoncOptions, type ConfigMarkdownOptions, type ConfigNames, type ConfigNodeOptions, type ConfigNtnyqOptions, type ConfigOptions, type ConfigPerfectionistOptions, type ConfigPrettierOptions, type ConfigRegexpOptions, type ConfigSortOptions, type ConfigSpecialsOptions, type ConfigStylisticOptions, type ConfigTestOptions, type ConfigTomlOptions, type ConfigTypeScriptOptions, type ConfigUnicornOptions, type ConfigUnoCSSOptions, type ConfigUnusedImportsOptions, type ConfigVueOptions, type ConfigYmlOptions, DEFAULT_PRETTIER_OPTIONS, type ESLintConfig, type ESLintParser, type ESLintParserOptions, type ESLintProcessor, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_DIST, GLOB_DTS, GLOB_EXCLUDE, GLOB_GITHUB_ACTION, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_NESTED, GLOB_NODE_MODULES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TEST, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_TYPES, GLOB_VUE, GLOB_YAML, type InteropModuleDefault, type LiteralUnion, type OptionsExtensions, type OptionsFeatures, type OptionsFiles, type OptionsOverrides, type PrettierOptions, type Pretty, type ResolvedOptions, type RuleOptions, type TSESLintParserOptions, type TypedConfigItem, antfu, command, comments, defineESLintConfig, format, getOverrides, githubAction, gitignore, hasTypeScript, hasUnoCSS, hasVitest, hasVue, ignores, imports, interopDefault, javascript, jsdoc, jsonc, jsx, loadPlugin, markdown, mergePrettierOptions, node, ntnyq, parserPlain, parserTypeScript, perfectionist, prettier, regexp, resolveSubOptions, sort, specials, stylistic, test, toArray, toml, typescript, unicorn, unocss, unusedImports, vitest, vue, yml };