@vinicunca/eslint-config 2.7.8 → 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 = []|[{
@@ -9406,6 +9458,10 @@ type PerfectionistSortEnums = []|[{
9406
9458
 
9407
9459
  ignoreCase?: boolean
9408
9460
 
9461
+ sortByValue?: boolean
9462
+
9463
+ forceNumericSort?: boolean
9464
+
9409
9465
  partitionByComment?: (string[] | boolean | string)
9410
9466
  }]
9411
9467
  // ----- perfectionist/sort-exports -----
@@ -9706,6 +9762,31 @@ type ReactHooksExhaustiveDeps = []|[{
9706
9762
  additionalHooks?: string
9707
9763
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
9708
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
+ }]
9709
9790
  // ----- regexp/hexadecimal-escape -----
9710
9791
  type RegexpHexadecimalEscape = []|[("always" | "never")]
9711
9792
  // ----- regexp/letter-case -----
@@ -10798,7 +10879,7 @@ type StylePaddedBlocks = []|[(("always" | "never") | {
10798
10879
  }]
10799
10880
  // ----- style/padding-line-between-statements -----
10800
10881
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
10801
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
10882
+ type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
10802
10883
  type StylePaddingLineBetweenStatements = {
10803
10884
  blankLine: _StylePaddingLineBetweenStatementsPaddingType
10804
10885
  prev: _StylePaddingLineBetweenStatementsStatementType
@@ -10961,6 +11042,7 @@ type TestNoLargeSnapshots = []|[{
10961
11042
  type TestNoOnlyTests = []|[{
10962
11043
  block?: string[]
10963
11044
  focus?: string[]
11045
+ functions?: string[]
10964
11046
  fix?: boolean
10965
11047
  }]
10966
11048
  // ----- test/no-restricted-matchers -----
@@ -13610,7 +13692,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
13610
13692
  onlyEquality?: boolean
13611
13693
  }]
13612
13694
  // Names of all the configs
13613
- 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'
13614
13696
 
13615
13697
  /**
13616
13698
  * Vendor types from Prettier so we don't rely on the dependency.
@@ -13618,47 +13700,57 @@ type ConfigNames = 'vinicunca/eslint-comments' | 'vinicunca/formatter/setup' | '
13618
13700
  type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
13619
13701
  interface VendoredPrettierOptionsRequired {
13620
13702
  /**
13621
- * Include parentheses around a sole arrow function parameter.
13622
- * @default "always"
13703
+ * Specify the line length that the printer will wrap on.
13704
+ * @default 120
13623
13705
  */
13624
- arrowParens: 'always' | 'avoid';
13706
+ printWidth: number;
13625
13707
  /**
13626
- * Put the `>` of a multi-line HTML (HTML, JSX, Vue, Angular) element at the end of the last line instead of being
13627
- * alone on the next line (does not apply to self closing elements).
13708
+ * Specify the number of spaces per indentation-level.
13628
13709
  */
13629
- bracketSameLine: boolean;
13710
+ tabWidth: number;
13630
13711
  /**
13631
- * Print spaces between brackets in object literals.
13712
+ * Indent lines with tabs instead of spaces
13632
13713
  */
13633
- bracketSpacing: boolean;
13714
+ useTabs?: boolean;
13634
13715
  /**
13635
- * Which end of line characters to apply.
13636
- * @default "lf"
13716
+ * Print semicolons at the ends of statements.
13637
13717
  */
13638
- endOfLine: 'auto' | 'cr' | 'crlf' | 'lf';
13718
+ semi: boolean;
13639
13719
  /**
13640
- * How to handle whitespaces in HTML.
13641
- * @default "css"
13720
+ * Use single quotes instead of double quotes.
13721
+ */
13722
+ singleQuote: boolean;
13723
+ /**
13724
+ * Use single quotes in JSX.
13725
+ */
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).
13642
13738
  */
13643
- htmlWhitespaceSensitivity: 'css' | 'ignore' | 'strict';
13739
+ bracketSameLine: boolean;
13644
13740
  /**
13645
13741
  * Put the `>` of a multi-line JSX element at the end of the last line instead of being alone on the next line.
13646
13742
  * @deprecated use bracketSameLine instead
13647
13743
  */
13648
13744
  jsxBracketSameLine: boolean;
13649
13745
  /**
13650
- * Use single quotes in JSX.
13651
- */
13652
- jsxSingleQuote: boolean;
13653
- /**
13654
- * Provide ability to support new languages to prettier.
13746
+ * Format only a segment of a file.
13655
13747
  */
13656
- plugins: Array<any | string>;
13748
+ rangeStart: number;
13657
13749
  /**
13658
- * Specify the line length that the printer will wrap on.
13659
- * @default 120
13750
+ * Format only a segment of a file.
13751
+ * @default Number.POSITIVE_INFINITY
13660
13752
  */
13661
- printWidth: number;
13753
+ rangeEnd: number;
13662
13754
  /**
13663
13755
  * By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer.
13664
13756
  * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out.
@@ -13666,49 +13758,59 @@ interface VendoredPrettierOptionsRequired {
13666
13758
  */
13667
13759
  proseWrap: 'always' | 'never' | 'preserve';
13668
13760
  /**
13669
- * Change when properties in objects are quoted.
13670
- * @default "as-needed"
13761
+ * Include parentheses around a sole arrow function parameter.
13762
+ * @default "always"
13671
13763
  */
13672
- quoteProps: 'as-needed' | 'consistent' | 'preserve';
13764
+ arrowParens: 'avoid' | 'always';
13673
13765
  /**
13674
- * Format only a segment of a file.
13675
- * @default Number.POSITIVE_INFINITY
13766
+ * Provide ability to support new languages to prettier.
13676
13767
  */
13677
- rangeEnd: number;
13768
+ plugins: Array<string | any>;
13678
13769
  /**
13679
- * Format only a segment of a file.
13770
+ * How to handle whitespaces in HTML.
13771
+ * @default "css"
13680
13772
  */
13681
- rangeStart: number;
13773
+ htmlWhitespaceSensitivity: 'css' | 'strict' | 'ignore';
13682
13774
  /**
13683
- * Print semicolons at the ends of statements.
13775
+ * Which end of line characters to apply.
13776
+ * @default "lf"
13684
13777
  */
13685
- semi: boolean;
13778
+ endOfLine: 'auto' | 'lf' | 'crlf' | 'cr';
13686
13779
  /**
13687
- * Enforce single attribute per line in HTML, Vue and JSX.
13688
- * @default false
13780
+ * Change when properties in objects are quoted.
13781
+ * @default "as-needed"
13689
13782
  */
13690
- singleAttributePerLine: boolean;
13783
+ quoteProps: 'as-needed' | 'consistent' | 'preserve';
13691
13784
  /**
13692
- * 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
13693
13787
  */
13694
- singleQuote: boolean;
13788
+ vueIndentScriptAndStyle: boolean;
13695
13789
  /**
13696
- * Specify the number of spaces per indentation-level.
13790
+ * Enforce single attribute per line in HTML, XML, Vue and JSX.
13791
+ * @default false
13697
13792
  */
13698
- tabWidth: number;
13793
+ singleAttributePerLine: boolean;
13699
13794
  /**
13700
- * Print trailing commas wherever possible.
13795
+ * How to handle whitespaces in XML.
13796
+ * @default "preserve"
13701
13797
  */
13702
- trailingComma: 'all' | 'es5' | 'none';
13798
+ xmlQuoteAttributes: 'single' | 'double' | 'preserve';
13703
13799
  /**
13704
- * Indent lines with tabs instead of spaces
13800
+ * Whether to put a space inside the brackets of self-closing XML elements.
13801
+ * @default true
13705
13802
  */
13706
- useTabs?: boolean;
13803
+ xmlSelfClosingSpace: boolean;
13707
13804
  /**
13708
- * 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.
13709
13806
  * @default false
13710
13807
  */
13711
- vueIndentScriptAndStyle: boolean;
13808
+ xmlSortAttributesByKey: boolean;
13809
+ /**
13810
+ * How to handle whitespaces in XML.
13811
+ * @default "ignore"
13812
+ */
13813
+ xmlWhitespaceSensitivity: 'ignore' | 'strict' | 'preserve';
13712
13814
  }
13713
13815
 
13714
13816
  type Awaitable<T> = Promise<T> | T;
@@ -13735,7 +13837,7 @@ interface OptionsVue extends OptionsOverrides {
13735
13837
  * @see https://github.com/antfu/eslint-processor-vue-blocks
13736
13838
  * @default true
13737
13839
  */
13738
- sfcBlocks?: Options | boolean;
13840
+ sfcBlocks?: boolean | Options;
13739
13841
  /**
13740
13842
  * Vue version. Apply different rules set from `eslint-plugin-vue`.
13741
13843
  *
@@ -13752,21 +13854,23 @@ interface OptionsFormatters {
13752
13854
  */
13753
13855
  css?: 'prettier' | boolean;
13754
13856
  /**
13755
- * Custom options for dprint.
13857
+ * Enable formatting support for HTML.
13756
13858
  *
13757
- * By default it's controlled by our own config.
13859
+ * Currently only support Prettier.
13758
13860
  */
13759
- dprintOptions?: boolean;
13861
+ html?: 'prettier' | boolean;
13760
13862
  /**
13761
- * Enable formatting support for GraphQL.
13863
+ * Enable formatting support for XML.
13864
+ *
13865
+ * Currently only support Prettier.
13762
13866
  */
13763
- graphql?: 'prettier' | boolean;
13867
+ xml?: 'prettier' | boolean;
13764
13868
  /**
13765
- * Enable formatting support for HTML.
13869
+ * Enable formatting support for SVG.
13766
13870
  *
13767
13871
  * Currently only support Prettier.
13768
13872
  */
13769
- html?: 'prettier' | boolean;
13873
+ svg?: 'prettier' | boolean;
13770
13874
  /**
13771
13875
  * Enable formatting support for Markdown.
13772
13876
  *
@@ -13775,12 +13879,36 @@ interface OptionsFormatters {
13775
13879
  * When set to `true`, it will use Prettier.
13776
13880
  */
13777
13881
  markdown?: 'dprint' | 'prettier' | boolean;
13882
+ /**
13883
+ * Enable formatting support for GraphQL.
13884
+ */
13885
+ graphql?: 'prettier' | boolean;
13778
13886
  /**
13779
13887
  * Custom options for Prettier.
13780
13888
  *
13781
13889
  * By default it's controlled by our own config.
13782
13890
  */
13783
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;
13784
13912
  }
13785
13913
  interface OptionsComponentExts {
13786
13914
  /**
@@ -13792,6 +13920,10 @@ interface OptionsComponentExts {
13792
13920
  componentExts?: Array<string>;
13793
13921
  }
13794
13922
  interface OptionsTypeScriptParserOptions {
13923
+ /**
13924
+ * Additional parser options for TypeScript.
13925
+ */
13926
+ parserOptions?: Partial<ParserOptions>;
13795
13927
  /**
13796
13928
  * Glob patterns for files that should be type aware.
13797
13929
  * @default ['**\/*.{ts,tsx}']
@@ -13802,10 +13934,6 @@ interface OptionsTypeScriptParserOptions {
13802
13934
  * @default ['**\/*.md\/**', '**\/*.astro/*.ts']
13803
13935
  */
13804
13936
  ignoresTypeAware?: Array<string>;
13805
- /**
13806
- * Additional parser options for TypeScript.
13807
- */
13808
- parserOptions?: Partial<ParserOptions>;
13809
13937
  }
13810
13938
  interface OptionsTypeScriptWithTypes {
13811
13939
  /**
@@ -13813,18 +13941,30 @@ interface OptionsTypeScriptWithTypes {
13813
13941
  * @see https://typescript-eslint.io/linting/typed-linting/
13814
13942
  */
13815
13943
  tsconfigPath?: string;
13944
+ /**
13945
+ * Override type aware rules.
13946
+ */
13947
+ overridesTypeAware?: TypedFlatConfigItem['rules'];
13816
13948
  }
13817
13949
  interface OptionsHasTypeScript {
13818
13950
  typescript?: boolean;
13819
13951
  }
13820
13952
  interface OptionsStylistic {
13821
- stylistic?: StylisticConfig | boolean;
13953
+ stylistic?: boolean | StylisticConfig;
13822
13954
  }
13823
13955
  interface StylisticConfig extends Pick<StylisticCustomizeOptions, 'indent' | 'jsx' | 'quotes' | 'semi'> {
13824
13956
  }
13825
13957
  interface OptionsOverrides {
13826
13958
  overrides?: TypedFlatConfigItem['rules'];
13827
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
+ }
13828
13968
  interface OptionsRegExp {
13829
13969
  /**
13830
13970
  * Override rulelevels
@@ -13846,123 +13986,144 @@ interface OptionsUnoCSS extends OptionsOverrides {
13846
13986
  */
13847
13987
  strict?: boolean;
13848
13988
  }
13849
- interface OptionsConfig extends OptionsComponentExts {
13989
+ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
13850
13990
  /**
13851
- * Automatically rename plugins in the config.
13991
+ * Enable gitignore support.
13852
13992
  *
13993
+ * Passing an object to configure the options.
13994
+ *
13995
+ * @see https://github.com/antfu/eslint-config-flat-gitignore
13853
13996
  * @default true
13854
13997
  */
13855
- autoRenamePlugins?: boolean;
13998
+ gitignore?: boolean | FlatGitignoreOptions;
13856
13999
  /**
13857
- * Use external formatters to format files.
13858
- *
13859
- * Requires installing:
13860
- * - `eslint-plugin-format`
14000
+ * Core rules. Can't be disabled.
14001
+ */
14002
+ javascript?: OptionsOverrides;
14003
+ /**
14004
+ * Enable TypeScript support.
13861
14005
  *
13862
- * When set to `true`, it will enable all formatters.
14006
+ * Passing an object to enable TypeScript Language Server support.
13863
14007
  *
13864
- * @default false
14008
+ * @default auto-detect based on the dependencies
13865
14009
  */
13866
- formatters?: OptionsFormatters | boolean;
14010
+ typescript?: boolean | OptionsTypescript;
13867
14011
  /**
13868
- * Enable gitignore support.
14012
+ * Enable JSX related rules.
13869
14013
  *
13870
- * Passing an object to configure the options.
14014
+ * Currently only stylistic rules are included.
13871
14015
  *
13872
- * @see https://github.com/antfu/eslint-config-flat-gitignore
13873
14016
  * @default true
13874
14017
  */
13875
- gitignore?: FlatGitignoreOptions | boolean;
14018
+ jsx?: boolean;
13876
14019
  /**
13877
- * Control to disable some rules in editors.
13878
- * @default auto-detect based on the process.env
14020
+ * Enable test support.
14021
+ *
14022
+ * @default true
13879
14023
  */
13880
- isInEditor?: boolean;
14024
+ test?: boolean | OptionsOverrides;
13881
14025
  /**
13882
- * Core rules. Can't be disabled.
14026
+ * Enable Vue support.
14027
+ *
14028
+ * @default auto-detect based on the dependencies
13883
14029
  */
13884
- javascript?: OptionsOverrides;
14030
+ vue?: boolean | OptionsVue;
13885
14031
  /**
13886
14032
  * Enable JSONC support.
13887
14033
  *
13888
14034
  * @default true
13889
14035
  */
13890
- jsonc?: OptionsOverrides | boolean;
14036
+ jsonc?: boolean | OptionsOverrides;
13891
14037
  /**
13892
- * Enable JSX related rules.
13893
- *
13894
- * Currently only stylistic rules are included.
14038
+ * Enable YAML support.
13895
14039
  *
13896
14040
  * @default true
13897
14041
  */
13898
- jsx?: boolean;
14042
+ yaml?: boolean | OptionsOverrides;
13899
14043
  /**
13900
- * Enable linting for **code snippets** in Markdown.
13901
- *
13902
- * For formatting Markdown content, enable also `formatters.markdown`.
14044
+ * Enable TOML support.
13903
14045
  *
13904
14046
  * @default true
13905
14047
  */
13906
- markdown?: OptionsOverrides | boolean;
14048
+ toml?: boolean | OptionsOverrides;
13907
14049
  /**
13908
- * Enable react support.
13909
- * In This plugin, react is not supported as a first class citizen. 😎
14050
+ * Enable Astro support.
13910
14051
  *
13911
14052
  * @default false
13912
14053
  */
13913
- react?: OptionsOverrides | boolean;
14054
+ astro?: boolean | OptionsOverrides;
13914
14055
  /**
13915
- * Enable regexp rules.
14056
+ * Enable linting for **code snippets** in Markdown.
14057
+ *
14058
+ * For formatting Markdown content, enable also `formatters.markdown`.
13916
14059
  *
13917
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/
13918
14060
  * @default true
13919
14061
  */
13920
- regexp?: (OptionsOverrides & OptionsRegExp) | boolean;
14062
+ markdown?: boolean | OptionsOverrides;
13921
14063
  /**
13922
14064
  * Enable stylistic rules.
13923
14065
  *
13924
14066
  * @see https://eslint.style/
13925
14067
  * @default true
13926
14068
  */
13927
- stylistic?: (OptionsOverrides & StylisticConfig) | boolean;
14069
+ stylistic?: boolean | (OptionsOverrides & StylisticConfig);
13928
14070
  /**
13929
- * Enable test support.
14071
+ * Enable regexp rules.
13930
14072
  *
14073
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/
13931
14074
  * @default true
13932
14075
  */
13933
- test?: OptionsOverrides | boolean;
14076
+ regexp?: boolean | (OptionsOverrides & OptionsRegExp);
13934
14077
  /**
13935
- * Enable TypeScript support.
14078
+ * Enable react rules.
13936
14079
  *
13937
- * Passing an object to enable TypeScript Language Server support.
14080
+ * @default false
14081
+ */
14082
+ react?: boolean | OptionsOverrides;
14083
+ /**
14084
+ * Enable solid rules.
13938
14085
  *
13939
- * @default auto-detect based on the dependencies
14086
+ * @default false
13940
14087
  */
13941
- typescript?: OptionsTypescript | boolean;
14088
+ solid?: boolean | OptionsOverrides;
13942
14089
  /**
13943
- * Enable unocss rules.
14090
+ * Enable svelte rules.
13944
14091
  *
13945
- * Requires installing:
13946
- * - `@unocss/eslint-plugin`
14092
+ * @default false
14093
+ */
14094
+ svelte?: boolean;
14095
+ /**
14096
+ * Enable unocss rules.
13947
14097
  *
13948
14098
  * @default false
13949
14099
  */
13950
- unocss?: OptionsUnoCSS | boolean;
14100
+ unocss?: boolean | OptionsUnoCSS;
13951
14101
  /**
13952
- * Enable Vue support.
14102
+ * Use external formatters to format files.
13953
14103
  *
13954
- * @default auto-detect based on the dependencies
14104
+ * When set to `true`, it will enable all formatters.
14105
+ *
14106
+ * @default false
13955
14107
  */
13956
- vue?: OptionsVue | boolean;
14108
+ formatters?: boolean | OptionsFormatters;
13957
14109
  /**
13958
- * 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.
13959
14116
  *
13960
14117
  * @default true
13961
14118
  */
13962
- yaml?: OptionsOverrides | boolean;
14119
+ autoRenamePlugins?: boolean;
13963
14120
  }
13964
14121
 
13965
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;
13966
14127
  '@stylistic': string;
13967
14128
  '@typescript-eslint': string;
13968
14129
  'import-x': string;
@@ -13982,6 +14143,11 @@ declare const defaultPluginRenaming: {
13982
14143
  * The merged ESLint configurations.
13983
14144
  */
13984
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>>;
13985
14151
 
13986
14152
  declare function comments(): Promise<Array<TypedFlatConfigItem>>;
13987
14153
 
@@ -13989,13 +14155,13 @@ declare function formatters(options?: OptionsFormatters | true, stylistic?: Styl
13989
14155
 
13990
14156
  declare function ignores(): Promise<Array<TypedFlatConfigItem>>;
13991
14157
 
13992
- declare function imports(): Promise<Array<TypedFlatConfigItem>>;
14158
+ declare function imports(options?: OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
13993
14159
 
13994
14160
  declare function javascript(options?: OptionsIsInEditor & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
13995
14161
 
13996
14162
  declare function jsdoc(options?: OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
13997
14163
 
13998
- declare function jsonc(options?: OptionsFiles & OptionsStylistic & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
14164
+ declare function jsonc(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
13999
14165
 
14000
14166
  declare function jsx(): Promise<Array<TypedFlatConfigItem>>;
14001
14167
 
@@ -14014,6 +14180,8 @@ declare function react(options?: OptionsFiles & OptionsOverrides & OptionsTypeSc
14014
14180
 
14015
14181
  declare function regexp(options?: OptionsOverrides & OptionsRegExp): Promise<Array<TypedFlatConfigItem>>;
14016
14182
 
14183
+ declare function solid(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
14184
+
14017
14185
  declare function sonar(): Promise<Array<TypedFlatConfigItem>>;
14018
14186
 
14019
14187
  /**
@@ -14030,22 +14198,28 @@ declare function sortPackageJson(): Promise<Array<TypedFlatConfigItem>>;
14030
14198
  declare function sortTsconfig(): Array<TypedFlatConfigItem>;
14031
14199
 
14032
14200
  declare const STYLISTIC_CONFIG_DEFAULTS: StylisticConfig;
14033
- 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>>;
14034
14206
 
14035
14207
  declare function test(options?: OptionsFiles & OptionsIsInEditor & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
14036
14208
 
14037
- 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>>;
14038
14212
 
14039
14213
  declare function unicorn(): Promise<Array<TypedFlatConfigItem>>;
14040
14214
 
14041
14215
  declare function unocss(options?: OptionsUnoCSS): Promise<Array<TypedFlatConfigItem>>;
14042
14216
 
14043
- 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>>;
14044
14218
 
14045
- declare function yaml(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
14219
+ declare function yaml(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
14046
14220
 
14047
- declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
14048
14221
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
14222
+ declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
14049
14223
  declare const GLOB_JS = "**/*.?([cm])js";
14050
14224
  declare const GLOB_JSX = "**/*.?([cm])jsx";
14051
14225
  declare const GLOB_TS = "**/*.?([cm])ts";
@@ -14060,14 +14234,46 @@ declare const GLOB_JSON5 = "**/*.json5";
14060
14234
  declare const GLOB_JSONC = "**/*.jsonc";
14061
14235
  declare const GLOB_MARKDOWN = "**/*.md";
14062
14236
  declare const GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
14237
+ declare const GLOB_SVELTE = "**/*.svelte";
14063
14238
  declare const GLOB_VUE = "**/*.vue";
14064
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";
14065
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";
14066
14247
  declare const GLOB_MARKDOWN_CODE = "**/*.md/**/*.?([cm])[jt]s?(x)";
14067
14248
  declare const GLOB_TESTS: string[];
14068
14249
  declare const GLOB_ALL_SRC: string[];
14069
14250
  declare const GLOB_EXCLUDE: string[];
14070
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
+ };
14071
14277
  /**
14072
14278
  * Combine array and non-array configs into a single array.
14073
14279
  */
@@ -14108,34 +14314,13 @@ declare function renameRules(rules: Record<string, any>, map: Record<string, str
14108
14314
  * ```
14109
14315
  */
14110
14316
  declare function renamePluginInConfigs(configs: Array<TypedFlatConfigItem>, map: Record<string, string>): Array<TypedFlatConfigItem>;
14317
+ declare function toArray<T>(value: Array<T> | T): Array<T>;
14111
14318
  declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
14112
14319
  default: infer U;
14113
14320
  } ? U : T>;
14114
- declare const parserPlain: {
14115
- meta: {
14116
- name: string;
14117
- };
14118
- parseForESLint: (code: string) => {
14119
- ast: {
14120
- body: never[];
14121
- comments: never[];
14122
- loc: {
14123
- end: number;
14124
- start: number;
14125
- };
14126
- range: number[];
14127
- tokens: never[];
14128
- type: string;
14129
- };
14130
- scopeManager: null;
14131
- services: {
14132
- isPlain: boolean;
14133
- };
14134
- visitorKeys: {
14135
- Program: never[];
14136
- };
14137
- };
14138
- };
14321
+ declare function isPackageInScope(name: string): boolean;
14322
+ declare function ensurePackages(packages: Array<string | undefined>): Promise<void>;
14139
14323
  declare function isInEditorEnv(): boolean;
14324
+ declare function isInGitHooksOrLintStaged(): boolean;
14140
14325
 
14141
- 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 };