@vinicunca/eslint-config 2.7.9 → 2.8.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
@@ -4,8 +4,8 @@ import { StylisticCustomizeOptions } from '@stylistic/eslint-plugin';
4
4
  import { ParserOptions } from '@typescript-eslint/parser';
5
5
  import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
6
6
  import { Options } from 'eslint-processor-vue-blocks';
7
+ export { default as pluginComments } from '@eslint-community/eslint-plugin-eslint-comments';
7
8
  export { default as pluginAntfu } from 'eslint-plugin-antfu';
8
- export { default as pluginComments } from 'eslint-plugin-eslint-comments';
9
9
  import * as eslintPluginImportX from 'eslint-plugin-import-x';
10
10
  export { eslintPluginImportX as pluginImport };
11
11
  export { default as pluginNode } from 'eslint-plugin-n';
@@ -235,47 +235,47 @@ interface RuleOptions {
235
235
  'eqeqeq'?: Linter.RuleEntry<Eqeqeq>
236
236
  /**
237
237
  * require a `eslint-enable` comment for every `eslint-disable` comment
238
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
238
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
239
239
  */
240
240
  'eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommentsDisableEnablePair>
241
241
  /**
242
242
  * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
243
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
243
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
244
244
  */
245
245
  'eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>
246
246
  /**
247
247
  * disallow duplicate `eslint-disable` comments
248
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
248
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
249
249
  */
250
250
  'eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>
251
251
  /**
252
252
  * disallow `eslint-disable` comments about specific rules
253
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
253
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
254
254
  */
255
255
  'eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>
256
256
  /**
257
257
  * disallow `eslint-disable` comments without rule names
258
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
258
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
259
259
  */
260
260
  'eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>
261
261
  /**
262
262
  * disallow unused `eslint-disable` comments
263
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
263
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
264
264
  */
265
265
  'eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>
266
266
  /**
267
267
  * disallow unused `eslint-enable` comments
268
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
268
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
269
269
  */
270
270
  'eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>
271
271
  /**
272
272
  * disallow ESLint directive-comments
273
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
273
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
274
274
  */
275
275
  'eslint-comments/no-use'?: Linter.RuleEntry<EslintCommentsNoUse>
276
276
  /**
277
277
  * require include descriptions in ESLint directive-comments
278
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
278
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
279
279
  */
280
280
  'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>
281
281
  /**
@@ -2575,6 +2575,36 @@ interface RuleOptions {
2575
2575
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
2576
2576
  */
2577
2577
  'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
2578
+ /**
2579
+ * enforce custom hooks using other hooks
2580
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-ensure-custom-hooks-using-other-hooks
2581
+ */
2582
+ 'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
2583
+ /**
2584
+ * enforce 'useCallback' has non-empty dependencies array
2585
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-ensure-use-callback-has-non-empty-deps
2586
+ */
2587
+ 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
2588
+ /**
2589
+ * enforce 'useMemo' has non-empty dependencies array
2590
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-ensure-use-memo-has-non-empty-deps
2591
+ */
2592
+ 'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
2593
+ /**
2594
+ * disallow direct calls to the 'set' function of 'useState' in 'useEffect'
2595
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
2596
+ */
2597
+ 'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
2598
+ /**
2599
+ * disallow direct calls to the 'set' function of 'useState' in 'useLayoutEffect'
2600
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
2601
+ */
2602
+ 'react-hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
2603
+ /**
2604
+ * disallow function calls in 'useState' that aren't wrapped in an initializer function
2605
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
2606
+ */
2607
+ 'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
2578
2608
  /**
2579
2609
  * verifies the list of dependencies for Hooks like useEffect and similar
2580
2610
  * @see https://github.com/facebook/react/issues/14920
@@ -2586,12 +2616,33 @@ interface RuleOptions {
2586
2616
  */
2587
2617
  'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
2588
2618
  /**
2589
- * avoid using shorthand boolean attribute
2619
+ * enforce component naming convention to 'PascalCase' or 'CONSTANT_CASE'
2620
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
2621
+ */
2622
+ 'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
2623
+ /**
2624
+ * enforce naming convention for JSX filenames
2625
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
2626
+ */
2627
+ 'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
2628
+ /**
2629
+ * enforce naming convention for JSX file extensions
2630
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
2631
+ */
2632
+ 'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
2633
+ /**
2634
+ * enforce destructuring and symmetric naming of 'useState' hook value and setter variables
2635
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
2636
+ */
2637
+ 'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
2638
+ 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2639
+ /**
2640
+ * disallow using shorthand boolean attributes
2590
2641
  * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
2591
2642
  */
2592
2643
  'react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>
2593
2644
  /**
2594
- * avoid using shorthand fragment syntax
2645
+ * disallow using shorthand fragment syntax
2595
2646
  * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
2596
2647
  */
2597
2648
  'react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
@@ -4727,7 +4778,7 @@ interface RuleOptions {
4727
4778
  */
4728
4779
  'ts/unified-signatures'?: Linter.RuleEntry<TsUnifiedSignatures>
4729
4780
  /**
4730
- * Enforce typing arguments in `.catch()` callbacks as `unknown`
4781
+ * Enforce typing arguments in Promise rejection callbacks as `unknown`
4731
4782
  * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
4732
4783
  */
4733
4784
  'ts/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
@@ -6852,24 +6903,25 @@ type AccessorPairs = []|[{
6852
6903
  // ----- antfu/consistent-list-newline -----
6853
6904
  type AntfuConsistentListNewline = []|[{
6854
6905
  ArrayExpression?: boolean
6906
+ ArrayPattern?: boolean
6855
6907
  ArrowFunctionExpression?: boolean
6856
6908
  CallExpression?: boolean
6857
6909
  ExportNamedDeclaration?: boolean
6858
6910
  FunctionDeclaration?: boolean
6859
6911
  FunctionExpression?: boolean
6860
6912
  ImportDeclaration?: boolean
6913
+ JSONArrayExpression?: boolean
6914
+ JSONObjectExpression?: boolean
6915
+ JSXOpeningElement?: boolean
6861
6916
  NewExpression?: boolean
6862
6917
  ObjectExpression?: boolean
6918
+ ObjectPattern?: boolean
6919
+ TSFunctionType?: boolean
6863
6920
  TSInterfaceDeclaration?: boolean
6864
6921
  TSTupleType?: boolean
6865
6922
  TSTypeLiteral?: boolean
6866
6923
  TSTypeParameterDeclaration?: boolean
6867
6924
  TSTypeParameterInstantiation?: boolean
6868
- ObjectPattern?: boolean
6869
- ArrayPattern?: boolean
6870
- JSXOpeningElement?: boolean
6871
- JSONArrayExpression?: boolean
6872
- JSONObjectExpression?: boolean
6873
6925
  }]
6874
6926
  // ----- antfu/indent-unindent -----
6875
6927
  type AntfuIndentUnindent = []|[{
@@ -9710,6 +9762,31 @@ type ReactHooksExhaustiveDeps = []|[{
9710
9762
  additionalHooks?: string
9711
9763
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
9712
9764
  }]
9765
+ // ----- react-naming-convention/component-name -----
9766
+ type ReactNamingConventionComponentName = []|[(("PascalCase" | "CONSTANT_CASE") | {
9767
+ allowAllCaps?: boolean
9768
+ allowLeadingUnderscore?: boolean
9769
+ allowNamespace?: boolean
9770
+ excepts?: string[]
9771
+ rule?: ("PascalCase" | "CONSTANT_CASE")
9772
+ })]
9773
+ // ----- react-naming-convention/filename -----
9774
+ type ReactNamingConventionFilename = []|[(("PascalCase" | "camelCase" | "kebab-case" | "snake_case") | {
9775
+ excepts?: string[]
9776
+ extensions?: string[]
9777
+ rule?: ("PascalCase" | "camelCase" | "kebab-case" | "snake_case")
9778
+ })]
9779
+ // ----- react-naming-convention/filename-extension -----
9780
+ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
9781
+ allow?: ("always" | "as-needed")
9782
+ extensions?: string[]
9783
+ })]
9784
+ // ----- react-refresh/only-export-components -----
9785
+ type ReactRefreshOnlyExportComponents = []|[{
9786
+ allowConstantExport?: boolean
9787
+ checkJS?: boolean
9788
+ allowExportNames?: string[]
9789
+ }]
9713
9790
  // ----- regexp/hexadecimal-escape -----
9714
9791
  type RegexpHexadecimalEscape = []|[("always" | "never")]
9715
9792
  // ----- regexp/letter-case -----
@@ -13615,7 +13692,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
13615
13692
  onlyEquality?: boolean
13616
13693
  }]
13617
13694
  // Names of all the configs
13618
- type ConfigNames = 'vinicunca/eslint-comments' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/perfectionist/rules' | 'vinicunca/node/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/regexp/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/rules-type-aware' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules'
13695
+ type ConfigNames = 'vinicunca/eslint-comments/rules' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/imports/disables/bin' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/perfectionist/rules' | 'vinicunca/node/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/regexp/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules'
13619
13696
 
13620
13697
  /**
13621
13698
  * Vendor types from Prettier so we don't rely on the dependency.
@@ -13623,47 +13700,57 @@ type ConfigNames = 'vinicunca/eslint-comments' | 'vinicunca/formatter/setup' | '
13623
13700
  type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
13624
13701
  interface VendoredPrettierOptionsRequired {
13625
13702
  /**
13626
- * Include parentheses around a sole arrow function parameter.
13627
- * @default "always"
13703
+ * Specify the line length that the printer will wrap on.
13704
+ * @default 120
13628
13705
  */
13629
- arrowParens: 'always' | 'avoid';
13706
+ printWidth: number;
13630
13707
  /**
13631
- * Put the `>` of a multi-line HTML (HTML, JSX, Vue, Angular) element at the end of the last line instead of being
13632
- * alone on the next line (does not apply to self closing elements).
13708
+ * Specify the number of spaces per indentation-level.
13633
13709
  */
13634
- bracketSameLine: boolean;
13710
+ tabWidth: number;
13635
13711
  /**
13636
- * Print spaces between brackets in object literals.
13712
+ * Indent lines with tabs instead of spaces
13637
13713
  */
13638
- bracketSpacing: boolean;
13714
+ useTabs?: boolean;
13639
13715
  /**
13640
- * Which end of line characters to apply.
13641
- * @default "lf"
13716
+ * Print semicolons at the ends of statements.
13642
13717
  */
13643
- endOfLine: 'auto' | 'cr' | 'crlf' | 'lf';
13718
+ semi: boolean;
13644
13719
  /**
13645
- * How to handle whitespaces in HTML.
13646
- * @default "css"
13720
+ * Use single quotes instead of double quotes.
13721
+ */
13722
+ singleQuote: boolean;
13723
+ /**
13724
+ * Use single quotes in JSX.
13647
13725
  */
13648
- htmlWhitespaceSensitivity: 'css' | 'ignore' | 'strict';
13726
+ jsxSingleQuote: boolean;
13727
+ /**
13728
+ * Print trailing commas wherever possible.
13729
+ */
13730
+ trailingComma: 'none' | 'es5' | 'all';
13731
+ /**
13732
+ * Print spaces between brackets in object literals.
13733
+ */
13734
+ bracketSpacing: boolean;
13735
+ /**
13736
+ * Put the `>` of a multi-line HTML (HTML, XML, JSX, Vue, Angular) element at the end of the last line instead of being
13737
+ * alone on the next line (does not apply to self closing elements).
13738
+ */
13739
+ bracketSameLine: boolean;
13649
13740
  /**
13650
13741
  * Put the `>` of a multi-line JSX element at the end of the last line instead of being alone on the next line.
13651
13742
  * @deprecated use bracketSameLine instead
13652
13743
  */
13653
13744
  jsxBracketSameLine: boolean;
13654
13745
  /**
13655
- * Use single quotes in JSX.
13656
- */
13657
- jsxSingleQuote: boolean;
13658
- /**
13659
- * Provide ability to support new languages to prettier.
13746
+ * Format only a segment of a file.
13660
13747
  */
13661
- plugins: Array<any | string>;
13748
+ rangeStart: number;
13662
13749
  /**
13663
- * Specify the line length that the printer will wrap on.
13664
- * @default 120
13750
+ * Format only a segment of a file.
13751
+ * @default Number.POSITIVE_INFINITY
13665
13752
  */
13666
- printWidth: number;
13753
+ rangeEnd: number;
13667
13754
  /**
13668
13755
  * By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer.
13669
13756
  * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out.
@@ -13671,49 +13758,59 @@ interface VendoredPrettierOptionsRequired {
13671
13758
  */
13672
13759
  proseWrap: 'always' | 'never' | 'preserve';
13673
13760
  /**
13674
- * Change when properties in objects are quoted.
13675
- * @default "as-needed"
13761
+ * Include parentheses around a sole arrow function parameter.
13762
+ * @default "always"
13676
13763
  */
13677
- quoteProps: 'as-needed' | 'consistent' | 'preserve';
13764
+ arrowParens: 'avoid' | 'always';
13678
13765
  /**
13679
- * Format only a segment of a file.
13680
- * @default Number.POSITIVE_INFINITY
13766
+ * Provide ability to support new languages to prettier.
13681
13767
  */
13682
- rangeEnd: number;
13768
+ plugins: Array<string | any>;
13683
13769
  /**
13684
- * Format only a segment of a file.
13770
+ * How to handle whitespaces in HTML.
13771
+ * @default "css"
13685
13772
  */
13686
- rangeStart: number;
13773
+ htmlWhitespaceSensitivity: 'css' | 'strict' | 'ignore';
13687
13774
  /**
13688
- * Print semicolons at the ends of statements.
13775
+ * Which end of line characters to apply.
13776
+ * @default "lf"
13689
13777
  */
13690
- semi: boolean;
13778
+ endOfLine: 'auto' | 'lf' | 'crlf' | 'cr';
13691
13779
  /**
13692
- * Enforce single attribute per line in HTML, Vue and JSX.
13693
- * @default false
13780
+ * Change when properties in objects are quoted.
13781
+ * @default "as-needed"
13694
13782
  */
13695
- singleAttributePerLine: boolean;
13783
+ quoteProps: 'as-needed' | 'consistent' | 'preserve';
13696
13784
  /**
13697
- * Use single quotes instead of double quotes.
13785
+ * Whether or not to indent the code inside <script> and <style> tags in Vue files.
13786
+ * @default false
13698
13787
  */
13699
- singleQuote: boolean;
13788
+ vueIndentScriptAndStyle: boolean;
13700
13789
  /**
13701
- * Specify the number of spaces per indentation-level.
13790
+ * Enforce single attribute per line in HTML, XML, Vue and JSX.
13791
+ * @default false
13702
13792
  */
13703
- tabWidth: number;
13793
+ singleAttributePerLine: boolean;
13704
13794
  /**
13705
- * Print trailing commas wherever possible.
13795
+ * How to handle whitespaces in XML.
13796
+ * @default "preserve"
13706
13797
  */
13707
- trailingComma: 'all' | 'es5' | 'none';
13798
+ xmlQuoteAttributes: 'single' | 'double' | 'preserve';
13708
13799
  /**
13709
- * Indent lines with tabs instead of spaces
13800
+ * Whether to put a space inside the brackets of self-closing XML elements.
13801
+ * @default true
13710
13802
  */
13711
- useTabs?: boolean;
13803
+ xmlSelfClosingSpace: boolean;
13712
13804
  /**
13713
- * Whether or not to indent the code inside <script> and <style> tags in Vue files.
13805
+ * Whether to sort attributes by key in XML elements.
13714
13806
  * @default false
13715
13807
  */
13716
- vueIndentScriptAndStyle: boolean;
13808
+ xmlSortAttributesByKey: boolean;
13809
+ /**
13810
+ * How to handle whitespaces in XML.
13811
+ * @default "ignore"
13812
+ */
13813
+ xmlWhitespaceSensitivity: 'ignore' | 'strict' | 'preserve';
13717
13814
  }
13718
13815
 
13719
13816
  type Awaitable<T> = Promise<T> | T;
@@ -13740,7 +13837,7 @@ interface OptionsVue extends OptionsOverrides {
13740
13837
  * @see https://github.com/antfu/eslint-processor-vue-blocks
13741
13838
  * @default true
13742
13839
  */
13743
- sfcBlocks?: Options | boolean;
13840
+ sfcBlocks?: boolean | Options;
13744
13841
  /**
13745
13842
  * Vue version. Apply different rules set from `eslint-plugin-vue`.
13746
13843
  *
@@ -13757,21 +13854,23 @@ interface OptionsFormatters {
13757
13854
  */
13758
13855
  css?: 'prettier' | boolean;
13759
13856
  /**
13760
- * Custom options for dprint.
13857
+ * Enable formatting support for HTML.
13761
13858
  *
13762
- * By default it's controlled by our own config.
13859
+ * Currently only support Prettier.
13763
13860
  */
13764
- dprintOptions?: boolean;
13861
+ html?: 'prettier' | boolean;
13765
13862
  /**
13766
- * Enable formatting support for GraphQL.
13863
+ * Enable formatting support for XML.
13864
+ *
13865
+ * Currently only support Prettier.
13767
13866
  */
13768
- graphql?: 'prettier' | boolean;
13867
+ xml?: 'prettier' | boolean;
13769
13868
  /**
13770
- * Enable formatting support for HTML.
13869
+ * Enable formatting support for SVG.
13771
13870
  *
13772
13871
  * Currently only support Prettier.
13773
13872
  */
13774
- html?: 'prettier' | boolean;
13873
+ svg?: 'prettier' | boolean;
13775
13874
  /**
13776
13875
  * Enable formatting support for Markdown.
13777
13876
  *
@@ -13780,12 +13879,36 @@ interface OptionsFormatters {
13780
13879
  * When set to `true`, it will use Prettier.
13781
13880
  */
13782
13881
  markdown?: 'dprint' | 'prettier' | boolean;
13882
+ /**
13883
+ * Enable formatting support for GraphQL.
13884
+ */
13885
+ graphql?: 'prettier' | boolean;
13783
13886
  /**
13784
13887
  * Custom options for Prettier.
13785
13888
  *
13786
13889
  * By default it's controlled by our own config.
13787
13890
  */
13788
13891
  prettierOptions?: VendoredPrettierOptions;
13892
+ /**
13893
+ * Custom options for dprint.
13894
+ *
13895
+ * By default it's controlled by our own config.
13896
+ */
13897
+ dprintOptions?: boolean;
13898
+ /**
13899
+ * Install the prettier plugin for handle Slidev markdown
13900
+ *
13901
+ * Only works when `markdown` is enabled with `prettier`.
13902
+ */
13903
+ slidev?: {
13904
+ files?: Array<string>;
13905
+ } | boolean;
13906
+ /**
13907
+ * Enable formatting support for Astro.
13908
+ *
13909
+ * Currently only support Prettier.
13910
+ */
13911
+ astro?: 'prettier' | boolean;
13789
13912
  }
13790
13913
  interface OptionsComponentExts {
13791
13914
  /**
@@ -13797,6 +13920,10 @@ interface OptionsComponentExts {
13797
13920
  componentExts?: Array<string>;
13798
13921
  }
13799
13922
  interface OptionsTypeScriptParserOptions {
13923
+ /**
13924
+ * Additional parser options for TypeScript.
13925
+ */
13926
+ parserOptions?: Partial<ParserOptions>;
13800
13927
  /**
13801
13928
  * Glob patterns for files that should be type aware.
13802
13929
  * @default ['**\/*.{ts,tsx}']
@@ -13807,10 +13934,6 @@ interface OptionsTypeScriptParserOptions {
13807
13934
  * @default ['**\/*.md\/**', '**\/*.astro/*.ts']
13808
13935
  */
13809
13936
  ignoresTypeAware?: Array<string>;
13810
- /**
13811
- * Additional parser options for TypeScript.
13812
- */
13813
- parserOptions?: Partial<ParserOptions>;
13814
13937
  }
13815
13938
  interface OptionsTypeScriptWithTypes {
13816
13939
  /**
@@ -13818,18 +13941,30 @@ interface OptionsTypeScriptWithTypes {
13818
13941
  * @see https://typescript-eslint.io/linting/typed-linting/
13819
13942
  */
13820
13943
  tsconfigPath?: string;
13944
+ /**
13945
+ * Override type aware rules.
13946
+ */
13947
+ overridesTypeAware?: TypedFlatConfigItem['rules'];
13821
13948
  }
13822
13949
  interface OptionsHasTypeScript {
13823
13950
  typescript?: boolean;
13824
13951
  }
13825
13952
  interface OptionsStylistic {
13826
- stylistic?: StylisticConfig | boolean;
13953
+ stylistic?: boolean | StylisticConfig;
13827
13954
  }
13828
13955
  interface StylisticConfig extends Pick<StylisticCustomizeOptions, 'indent' | 'jsx' | 'quotes' | 'semi'> {
13829
13956
  }
13830
13957
  interface OptionsOverrides {
13831
13958
  overrides?: TypedFlatConfigItem['rules'];
13832
13959
  }
13960
+ interface OptionsProjectType {
13961
+ /**
13962
+ * Type of the project. `lib` will enable more strict rules for libraries.
13963
+ *
13964
+ * @default 'app'
13965
+ */
13966
+ type?: 'app' | 'lib';
13967
+ }
13833
13968
  interface OptionsRegExp {
13834
13969
  /**
13835
13970
  * Override rulelevels
@@ -13851,123 +13986,144 @@ interface OptionsUnoCSS extends OptionsOverrides {
13851
13986
  */
13852
13987
  strict?: boolean;
13853
13988
  }
13854
- interface OptionsConfig extends OptionsComponentExts {
13989
+ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
13855
13990
  /**
13856
- * Automatically rename plugins in the config.
13991
+ * Enable gitignore support.
13992
+ *
13993
+ * Passing an object to configure the options.
13857
13994
  *
13995
+ * @see https://github.com/antfu/eslint-config-flat-gitignore
13858
13996
  * @default true
13859
13997
  */
13860
- autoRenamePlugins?: boolean;
13998
+ gitignore?: boolean | FlatGitignoreOptions;
13861
13999
  /**
13862
- * Use external formatters to format files.
13863
- *
13864
- * Requires installing:
13865
- * - `eslint-plugin-format`
14000
+ * Core rules. Can't be disabled.
14001
+ */
14002
+ javascript?: OptionsOverrides;
14003
+ /**
14004
+ * Enable TypeScript support.
13866
14005
  *
13867
- * When set to `true`, it will enable all formatters.
14006
+ * Passing an object to enable TypeScript Language Server support.
13868
14007
  *
13869
- * @default false
14008
+ * @default auto-detect based on the dependencies
13870
14009
  */
13871
- formatters?: OptionsFormatters | boolean;
14010
+ typescript?: boolean | OptionsTypescript;
13872
14011
  /**
13873
- * Enable gitignore support.
14012
+ * Enable JSX related rules.
13874
14013
  *
13875
- * Passing an object to configure the options.
14014
+ * Currently only stylistic rules are included.
13876
14015
  *
13877
- * @see https://github.com/antfu/eslint-config-flat-gitignore
13878
14016
  * @default true
13879
14017
  */
13880
- gitignore?: FlatGitignoreOptions | boolean;
14018
+ jsx?: boolean;
13881
14019
  /**
13882
- * Control to disable some rules in editors.
13883
- * @default auto-detect based on the process.env
14020
+ * Enable test support.
14021
+ *
14022
+ * @default true
13884
14023
  */
13885
- isInEditor?: boolean;
14024
+ test?: boolean | OptionsOverrides;
13886
14025
  /**
13887
- * Core rules. Can't be disabled.
14026
+ * Enable Vue support.
14027
+ *
14028
+ * @default auto-detect based on the dependencies
13888
14029
  */
13889
- javascript?: OptionsOverrides;
14030
+ vue?: boolean | OptionsVue;
13890
14031
  /**
13891
14032
  * Enable JSONC support.
13892
14033
  *
13893
14034
  * @default true
13894
14035
  */
13895
- jsonc?: OptionsOverrides | boolean;
14036
+ jsonc?: boolean | OptionsOverrides;
13896
14037
  /**
13897
- * Enable JSX related rules.
13898
- *
13899
- * Currently only stylistic rules are included.
14038
+ * Enable YAML support.
13900
14039
  *
13901
14040
  * @default true
13902
14041
  */
13903
- jsx?: boolean;
14042
+ yaml?: boolean | OptionsOverrides;
13904
14043
  /**
13905
- * Enable linting for **code snippets** in Markdown.
13906
- *
13907
- * For formatting Markdown content, enable also `formatters.markdown`.
14044
+ * Enable TOML support.
13908
14045
  *
13909
14046
  * @default true
13910
14047
  */
13911
- markdown?: OptionsOverrides | boolean;
14048
+ toml?: boolean | OptionsOverrides;
13912
14049
  /**
13913
- * Enable react support.
13914
- * In This plugin, react is not supported as a first class citizen. 😎
14050
+ * Enable Astro support.
13915
14051
  *
13916
14052
  * @default false
13917
14053
  */
13918
- react?: OptionsOverrides | boolean;
14054
+ astro?: boolean | OptionsOverrides;
13919
14055
  /**
13920
- * Enable regexp rules.
14056
+ * Enable linting for **code snippets** in Markdown.
14057
+ *
14058
+ * For formatting Markdown content, enable also `formatters.markdown`.
13921
14059
  *
13922
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/
13923
14060
  * @default true
13924
14061
  */
13925
- regexp?: (OptionsOverrides & OptionsRegExp) | boolean;
14062
+ markdown?: boolean | OptionsOverrides;
13926
14063
  /**
13927
14064
  * Enable stylistic rules.
13928
14065
  *
13929
14066
  * @see https://eslint.style/
13930
14067
  * @default true
13931
14068
  */
13932
- stylistic?: (OptionsOverrides & StylisticConfig) | boolean;
14069
+ stylistic?: boolean | (OptionsOverrides & StylisticConfig);
13933
14070
  /**
13934
- * Enable test support.
14071
+ * Enable regexp rules.
13935
14072
  *
14073
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/
13936
14074
  * @default true
13937
14075
  */
13938
- test?: OptionsOverrides | boolean;
14076
+ regexp?: boolean | (OptionsOverrides & OptionsRegExp);
13939
14077
  /**
13940
- * Enable TypeScript support.
14078
+ * Enable react rules.
13941
14079
  *
13942
- * Passing an object to enable TypeScript Language Server support.
14080
+ * @default false
14081
+ */
14082
+ react?: boolean | OptionsOverrides;
14083
+ /**
14084
+ * Enable solid rules.
13943
14085
  *
13944
- * @default auto-detect based on the dependencies
14086
+ * @default false
13945
14087
  */
13946
- typescript?: OptionsTypescript | boolean;
14088
+ solid?: boolean | OptionsOverrides;
13947
14089
  /**
13948
- * Enable unocss rules.
14090
+ * Enable svelte rules.
13949
14091
  *
13950
- * Requires installing:
13951
- * - `@unocss/eslint-plugin`
14092
+ * @default false
14093
+ */
14094
+ svelte?: boolean;
14095
+ /**
14096
+ * Enable unocss rules.
13952
14097
  *
13953
14098
  * @default false
13954
14099
  */
13955
- unocss?: OptionsUnoCSS | boolean;
14100
+ unocss?: boolean | OptionsUnoCSS;
13956
14101
  /**
13957
- * Enable Vue support.
14102
+ * Use external formatters to format files.
13958
14103
  *
13959
- * @default auto-detect based on the dependencies
14104
+ * When set to `true`, it will enable all formatters.
14105
+ *
14106
+ * @default false
13960
14107
  */
13961
- vue?: OptionsVue | boolean;
14108
+ formatters?: boolean | OptionsFormatters;
13962
14109
  /**
13963
- * Enable YAML support.
14110
+ * Control to disable some rules in editors.
14111
+ * @default auto-detect based on the process.env
14112
+ */
14113
+ isInEditor?: boolean;
14114
+ /**
14115
+ * Automatically rename plugins in the config.
13964
14116
  *
13965
14117
  * @default true
13966
14118
  */
13967
- yaml?: OptionsOverrides | boolean;
14119
+ autoRenamePlugins?: boolean;
13968
14120
  }
13969
14121
 
13970
14122
  declare const defaultPluginRenaming: {
14123
+ '@eslint-react': string;
14124
+ '@eslint-react/dom': string;
14125
+ '@eslint-react/hooks-extra': string;
14126
+ '@eslint-react/naming-convention': string;
13971
14127
  '@stylistic': string;
13972
14128
  '@typescript-eslint': string;
13973
14129
  'import-x': string;
@@ -13987,6 +14143,11 @@ declare const defaultPluginRenaming: {
13987
14143
  * The merged ESLint configurations.
13988
14144
  */
13989
14145
  declare function vinicuncaESLint(options?: OptionsConfig & TypedFlatConfigItem, ...userConfigs: Array<Awaitable<Array<Linter.Config> | Array<TypedFlatConfigItem> | FlatConfigComposer<any, any> | TypedFlatConfigItem>>): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
14146
+ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
14147
+
14148
+ declare function astro(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
14149
+
14150
+ declare function command(): Promise<Array<TypedFlatConfigItem>>;
13990
14151
 
13991
14152
  declare function comments(): Promise<Array<TypedFlatConfigItem>>;
13992
14153
 
@@ -13994,13 +14155,13 @@ declare function formatters(options?: OptionsFormatters | true, stylistic?: Styl
13994
14155
 
13995
14156
  declare function ignores(): Promise<Array<TypedFlatConfigItem>>;
13996
14157
 
13997
- declare function imports(): Promise<Array<TypedFlatConfigItem>>;
14158
+ declare function imports(options?: OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
13998
14159
 
13999
14160
  declare function javascript(options?: OptionsIsInEditor & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
14000
14161
 
14001
14162
  declare function jsdoc(options?: OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
14002
14163
 
14003
- declare function jsonc(options?: OptionsFiles & OptionsStylistic & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
14164
+ declare function jsonc(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
14004
14165
 
14005
14166
  declare function jsx(): Promise<Array<TypedFlatConfigItem>>;
14006
14167
 
@@ -14019,6 +14180,8 @@ declare function react(options?: OptionsFiles & OptionsOverrides & OptionsTypeSc
14019
14180
 
14020
14181
  declare function regexp(options?: OptionsOverrides & OptionsRegExp): Promise<Array<TypedFlatConfigItem>>;
14021
14182
 
14183
+ declare function solid(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
14184
+
14022
14185
  declare function sonar(): Promise<Array<TypedFlatConfigItem>>;
14023
14186
 
14024
14187
  /**
@@ -14035,22 +14198,28 @@ declare function sortPackageJson(): Promise<Array<TypedFlatConfigItem>>;
14035
14198
  declare function sortTsconfig(): Array<TypedFlatConfigItem>;
14036
14199
 
14037
14200
  declare const STYLISTIC_CONFIG_DEFAULTS: StylisticConfig;
14038
- declare function stylistic(options?: OptionsOverrides & StylisticConfig): Promise<Array<TypedFlatConfigItem>>;
14201
+ interface StylisticOptions extends StylisticConfig, OptionsOverrides {
14202
+ }
14203
+ declare function stylistic(options?: StylisticOptions): Promise<Array<TypedFlatConfigItem>>;
14204
+
14205
+ declare function svelte(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
14039
14206
 
14040
14207
  declare function test(options?: OptionsFiles & OptionsIsInEditor & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
14041
14208
 
14042
- declare function typescript(options?: OptionsComponentExts & OptionsFiles & OptionsOverrides & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
14209
+ declare function toml(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
14210
+
14211
+ declare function typescript(options?: OptionsComponentExts & OptionsFiles & OptionsOverrides & OptionsProjectType & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
14043
14212
 
14044
14213
  declare function unicorn(): Promise<Array<TypedFlatConfigItem>>;
14045
14214
 
14046
14215
  declare function unocss(options?: OptionsUnoCSS): Promise<Array<TypedFlatConfigItem>>;
14047
14216
 
14048
- declare function vue(options?: OptionsVue & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
14217
+ declare function vue(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic & OptionsVue): Promise<Array<TypedFlatConfigItem>>;
14049
14218
 
14050
- declare function yaml(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
14219
+ declare function yaml(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
14051
14220
 
14052
- declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
14053
14221
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
14222
+ declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
14054
14223
  declare const GLOB_JS = "**/*.?([cm])js";
14055
14224
  declare const GLOB_JSX = "**/*.?([cm])jsx";
14056
14225
  declare const GLOB_TS = "**/*.?([cm])ts";
@@ -14065,14 +14234,46 @@ declare const GLOB_JSON5 = "**/*.json5";
14065
14234
  declare const GLOB_JSONC = "**/*.jsonc";
14066
14235
  declare const GLOB_MARKDOWN = "**/*.md";
14067
14236
  declare const GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
14237
+ declare const GLOB_SVELTE = "**/*.svelte";
14068
14238
  declare const GLOB_VUE = "**/*.vue";
14069
14239
  declare const GLOB_YAML = "**/*.y?(a)ml";
14240
+ declare const GLOB_TOML = "**/*.toml";
14241
+ declare const GLOB_XML = "**/*.xml";
14242
+ declare const GLOB_SVG = "**/*.svg";
14070
14243
  declare const GLOB_HTML = "**/*.htm?(l)";
14244
+ declare const GLOB_ASTRO = "**/*.astro";
14245
+ declare const GLOB_ASTRO_TS = "**/*.astro/*.ts";
14246
+ declare const GLOB_GRAPHQL = "**/*.{g,graph}ql";
14071
14247
  declare const GLOB_MARKDOWN_CODE = "**/*.md/**/*.?([cm])[jt]s?(x)";
14072
14248
  declare const GLOB_TESTS: string[];
14073
14249
  declare const GLOB_ALL_SRC: string[];
14074
14250
  declare const GLOB_EXCLUDE: string[];
14075
14251
 
14252
+ declare const parserPlain: {
14253
+ meta: {
14254
+ name: string;
14255
+ };
14256
+ parseForESLint: (code: string) => {
14257
+ ast: {
14258
+ body: never[];
14259
+ comments: never[];
14260
+ loc: {
14261
+ end: number;
14262
+ start: number;
14263
+ };
14264
+ range: number[];
14265
+ tokens: never[];
14266
+ type: string;
14267
+ };
14268
+ scopeManager: null;
14269
+ services: {
14270
+ isPlain: boolean;
14271
+ };
14272
+ visitorKeys: {
14273
+ Program: never[];
14274
+ };
14275
+ };
14276
+ };
14076
14277
  /**
14077
14278
  * Combine array and non-array configs into a single array.
14078
14279
  */
@@ -14113,34 +14314,13 @@ declare function renameRules(rules: Record<string, any>, map: Record<string, str
14113
14314
  * ```
14114
14315
  */
14115
14316
  declare function renamePluginInConfigs(configs: Array<TypedFlatConfigItem>, map: Record<string, string>): Array<TypedFlatConfigItem>;
14317
+ declare function toArray<T>(value: Array<T> | T): Array<T>;
14116
14318
  declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
14117
14319
  default: infer U;
14118
14320
  } ? U : T>;
14119
- declare const parserPlain: {
14120
- meta: {
14121
- name: string;
14122
- };
14123
- parseForESLint: (code: string) => {
14124
- ast: {
14125
- body: never[];
14126
- comments: never[];
14127
- loc: {
14128
- end: number;
14129
- start: number;
14130
- };
14131
- range: number[];
14132
- tokens: never[];
14133
- type: string;
14134
- };
14135
- scopeManager: null;
14136
- services: {
14137
- isPlain: boolean;
14138
- };
14139
- visitorKeys: {
14140
- Program: never[];
14141
- };
14142
- };
14143
- };
14321
+ declare function isPackageInScope(name: string): boolean;
14322
+ declare function ensurePackages(packages: Array<string | undefined>): Promise<void>;
14144
14323
  declare function isInEditorEnv(): boolean;
14324
+ declare function isInGitHooksOrLintStaged(): boolean;
14145
14325
 
14146
- export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type Rules, STYLISTIC_CONFIG_DEFAULTS, type StylisticConfig, type TypedFlatConfigItem, combineConfigs, comments, defaultPluginRenaming, formatters, ignores, imports, interopDefault, isInEditorEnv, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, react, regexp, renamePluginInConfigs, renameRules, sonar, sortPackageJson, sortTsconfig, stylistic, test, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
14326
+ export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsProjectType, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, STYLISTIC_CONFIG_DEFAULTS, type StylisticConfig, type StylisticOptions, type TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };