@mheob/eslint-config
Version:
My personal configuration for eslint.
1,166 lines (1,165 loc) • 776 kB
text/typescript
import { FlatConfigComposer } from "eslint-flat-config-utils";
import { ParserOptions } from "@typescript-eslint/parser";
import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
import { Linter } from "eslint";
//#region src/typegen.d.ts
interface RuleOptions {
/**
* Enforce linebreaks after opening and before closing array brackets
* @see https://eslint.style/rules/array-bracket-newline
*/
'@stylistic/array-bracket-newline'?: Linter.RuleEntry<StylisticArrayBracketNewline>;
/**
* Enforce consistent spacing inside array brackets
* @see https://eslint.style/rules/array-bracket-spacing
*/
'@stylistic/array-bracket-spacing'?: Linter.RuleEntry<StylisticArrayBracketSpacing>;
/**
* Enforce line breaks after each array element
* @see https://eslint.style/rules/array-element-newline
*/
'@stylistic/array-element-newline'?: Linter.RuleEntry<StylisticArrayElementNewline>;
/**
* Require parentheses around arrow function arguments
* @see https://eslint.style/rules/arrow-parens
*/
'@stylistic/arrow-parens'?: Linter.RuleEntry<StylisticArrowParens>;
/**
* Enforce consistent spacing before and after the arrow in arrow functions
* @see https://eslint.style/rules/arrow-spacing
*/
'@stylistic/arrow-spacing'?: Linter.RuleEntry<StylisticArrowSpacing>;
/**
* Disallow or enforce spaces inside of blocks after opening block and before closing block
* @see https://eslint.style/rules/block-spacing
*/
'@stylistic/block-spacing'?: Linter.RuleEntry<StylisticBlockSpacing>;
/**
* Enforce consistent brace style for blocks
* @see https://eslint.style/rules/brace-style
*/
'@stylistic/brace-style'?: Linter.RuleEntry<StylisticBraceStyle>;
/**
* Require or disallow trailing commas
* @see https://eslint.style/rules/comma-dangle
*/
'@stylistic/comma-dangle'?: Linter.RuleEntry<StylisticCommaDangle>;
/**
* Enforce consistent spacing before and after commas
* @see https://eslint.style/rules/comma-spacing
*/
'@stylistic/comma-spacing'?: Linter.RuleEntry<StylisticCommaSpacing>;
/**
* Enforce consistent comma style
* @see https://eslint.style/rules/comma-style
*/
'@stylistic/comma-style'?: Linter.RuleEntry<StylisticCommaStyle>;
/**
* Enforce consistent spacing inside computed property brackets
* @see https://eslint.style/rules/computed-property-spacing
*/
'@stylistic/computed-property-spacing'?: Linter.RuleEntry<StylisticComputedPropertySpacing>;
/**
* Enforce consistent line breaks after opening and before closing braces
* @see https://eslint.style/rules/curly-newline
*/
'@stylistic/curly-newline'?: Linter.RuleEntry<StylisticCurlyNewline>;
/**
* Enforce consistent newlines before and after dots
* @see https://eslint.style/rules/dot-location
*/
'@stylistic/dot-location'?: Linter.RuleEntry<StylisticDotLocation>;
/**
* Require or disallow newline at the end of files
* @see https://eslint.style/rules/eol-last
*/
'@stylistic/eol-last'?: Linter.RuleEntry<StylisticEolLast>;
/**
* Enforce consistent spacing and line break styles inside brackets.
* @see https://eslint.style/rules/list-style
*/
'@stylistic/exp-list-style'?: Linter.RuleEntry<StylisticExpListStyle>;
/**
* Enforce line breaks between arguments of a function call
* @see https://eslint.style/rules/function-call-argument-newline
*/
'@stylistic/function-call-argument-newline'?: Linter.RuleEntry<StylisticFunctionCallArgumentNewline>;
/**
* Require or disallow spacing between function identifiers and their invocations
* @see https://eslint.style/rules/function-call-spacing
*/
'@stylistic/function-call-spacing'?: Linter.RuleEntry<StylisticFunctionCallSpacing>;
/**
* Enforce consistent line breaks inside function parentheses
* @see https://eslint.style/rules/function-paren-newline
*/
'@stylistic/function-paren-newline'?: Linter.RuleEntry<StylisticFunctionParenNewline>;
/**
* Enforce consistent spacing around `*` operators in generator functions
* @see https://eslint.style/rules/generator-star-spacing
*/
'@stylistic/generator-star-spacing'?: Linter.RuleEntry<StylisticGeneratorStarSpacing>;
/**
* Enforce the location of arrow function bodies
* @see https://eslint.style/rules/implicit-arrow-linebreak
*/
'@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry<StylisticImplicitArrowLinebreak>;
/**
* Enforce consistent indentation
* @see https://eslint.style/rules/indent
*/
'@stylistic/indent'?: Linter.RuleEntry<StylisticIndent>;
/**
* Indentation for binary operators
* @see https://eslint.style/rules/indent-binary-ops
*/
'@stylistic/indent-binary-ops'?: Linter.RuleEntry<StylisticIndentBinaryOps>;
/**
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
* @see https://eslint.style/rules/jsx-child-element-spacing
*/
'@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]>;
/**
* Enforce closing bracket location in JSX
* @see https://eslint.style/rules/jsx-closing-bracket-location
*/
'@stylistic/jsx-closing-bracket-location'?: Linter.RuleEntry<StylisticJsxClosingBracketLocation>;
/**
* Enforce closing tag location for multiline JSX
* @see https://eslint.style/rules/jsx-closing-tag-location
*/
'@stylistic/jsx-closing-tag-location'?: Linter.RuleEntry<StylisticJsxClosingTagLocation>;
/**
* Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
* @see https://eslint.style/rules/jsx-curly-brace-presence
*/
'@stylistic/jsx-curly-brace-presence'?: Linter.RuleEntry<StylisticJsxCurlyBracePresence>;
/**
* Enforce consistent linebreaks in curly braces in JSX attributes and expressions
* @see https://eslint.style/rules/jsx-curly-newline
*/
'@stylistic/jsx-curly-newline'?: Linter.RuleEntry<StylisticJsxCurlyNewline>;
/**
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
* @see https://eslint.style/rules/jsx-curly-spacing
*/
'@stylistic/jsx-curly-spacing'?: Linter.RuleEntry<StylisticJsxCurlySpacing>;
/**
* Enforce or disallow spaces around equal signs in JSX attributes
* @see https://eslint.style/rules/jsx-equals-spacing
*/
'@stylistic/jsx-equals-spacing'?: Linter.RuleEntry<StylisticJsxEqualsSpacing>;
/**
* Enforce proper position of the first property in JSX
* @see https://eslint.style/rules/jsx-first-prop-new-line
*/
'@stylistic/jsx-first-prop-new-line'?: Linter.RuleEntry<StylisticJsxFirstPropNewLine>;
/**
* Enforce line breaks before and after JSX elements when they are used as arguments to a function.
* @see https://eslint.style/rules/jsx-function-call-newline
*/
'@stylistic/jsx-function-call-newline'?: Linter.RuleEntry<StylisticJsxFunctionCallNewline>;
/**
* Enforce JSX indentation. Deprecated, use `indent` rule instead.
* @see https://eslint.style/rules/jsx-indent
* @deprecated
*/
'@stylistic/jsx-indent'?: Linter.RuleEntry<StylisticJsxIndent>;
/**
* Enforce props indentation in JSX
* @see https://eslint.style/rules/jsx-indent-props
*/
'@stylistic/jsx-indent-props'?: Linter.RuleEntry<StylisticJsxIndentProps>;
/**
* Enforce maximum of props on a single line in JSX
* @see https://eslint.style/rules/jsx-max-props-per-line
*/
'@stylistic/jsx-max-props-per-line'?: Linter.RuleEntry<StylisticJsxMaxPropsPerLine>;
/**
* Require or prevent a new line after jsx elements and expressions.
* @see https://eslint.style/rules/jsx-newline
*/
'@stylistic/jsx-newline'?: Linter.RuleEntry<StylisticJsxNewline>;
/**
* Require one JSX element per line
* @see https://eslint.style/rules/jsx-one-expression-per-line
*/
'@stylistic/jsx-one-expression-per-line'?: Linter.RuleEntry<StylisticJsxOneExpressionPerLine>;
/**
* Enforce PascalCase for user-defined JSX components
* @see https://eslint.style/rules/jsx-pascal-case
*/
'@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>;
/**
* Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead.
* @see https://eslint.style/rules/jsx-props-no-multi-spaces
* @deprecated
*/
'@stylistic/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>;
/**
* Enforce the consistent use of either double or single quotes in JSX attributes
* @see https://eslint.style/rules/jsx-quotes
*/
'@stylistic/jsx-quotes'?: Linter.RuleEntry<StylisticJsxQuotes>;
/**
* Disallow extra closing tags for components without children
* @see https://eslint.style/rules/jsx-self-closing-comp
*/
'@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxSelfClosingComp>;
/**
* Enforce props alphabetical sorting
* @see https://eslint.style/rules/jsx-sort-props
*/
'@stylistic/jsx-sort-props'?: Linter.RuleEntry<StylisticJsxSortProps>;
/**
* Enforce whitespace in and around the JSX opening and closing brackets
* @see https://eslint.style/rules/jsx-tag-spacing
*/
'@stylistic/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxTagSpacing>;
/**
* Disallow missing parentheses around multiline JSX
* @see https://eslint.style/rules/jsx-wrap-multilines
*/
'@stylistic/jsx-wrap-multilines'?: Linter.RuleEntry<StylisticJsxWrapMultilines>;
/**
* Enforce consistent spacing between property names and type annotations in types and interfaces
* @see https://eslint.style/rules/key-spacing
*/
'@stylistic/key-spacing'?: Linter.RuleEntry<StylisticKeySpacing>;
/**
* Enforce consistent spacing before and after keywords
* @see https://eslint.style/rules/keyword-spacing
*/
'@stylistic/keyword-spacing'?: Linter.RuleEntry<StylisticKeywordSpacing>;
/**
* Enforce position of line comments
* @see https://eslint.style/rules/line-comment-position
*/
'@stylistic/line-comment-position'?: Linter.RuleEntry<StylisticLineCommentPosition>;
/**
* Enforce consistent linebreak style
* @see https://eslint.style/rules/linebreak-style
*/
'@stylistic/linebreak-style'?: Linter.RuleEntry<StylisticLinebreakStyle>;
/**
* Require empty lines around comments
* @see https://eslint.style/rules/lines-around-comment
*/
'@stylistic/lines-around-comment'?: Linter.RuleEntry<StylisticLinesAroundComment>;
/**
* Require or disallow an empty line between class members
* @see https://eslint.style/rules/lines-between-class-members
*/
'@stylistic/lines-between-class-members'?: Linter.RuleEntry<StylisticLinesBetweenClassMembers>;
/**
* Enforce a maximum line length
* @see https://eslint.style/rules/max-len
*/
'@stylistic/max-len'?: Linter.RuleEntry<StylisticMaxLen>;
/**
* Enforce a maximum number of statements allowed per line
* @see https://eslint.style/rules/max-statements-per-line
*/
'@stylistic/max-statements-per-line'?: Linter.RuleEntry<StylisticMaxStatementsPerLine>;
/**
* Require a specific member delimiter style for interfaces and type literals
* @see https://eslint.style/rules/member-delimiter-style
*/
'@stylistic/member-delimiter-style'?: Linter.RuleEntry<StylisticMemberDelimiterStyle>;
/**
* Enforce a particular style for multiline comments
* @see https://eslint.style/rules/multiline-comment-style
*/
'@stylistic/multiline-comment-style'?: Linter.RuleEntry<StylisticMultilineCommentStyle>;
/**
* Enforce newlines between operands of ternary expressions
* @see https://eslint.style/rules/multiline-ternary
*/
'@stylistic/multiline-ternary'?: Linter.RuleEntry<StylisticMultilineTernary>;
/**
* Enforce or disallow parentheses when invoking a constructor with no arguments
* @see https://eslint.style/rules/new-parens
*/
'@stylistic/new-parens'?: Linter.RuleEntry<StylisticNewParens>;
/**
* Require a newline after each call in a method chain
* @see https://eslint.style/rules/newline-per-chained-call
*/
'@stylistic/newline-per-chained-call'?: Linter.RuleEntry<StylisticNewlinePerChainedCall>;
/**
* Disallow arrow functions where they could be confused with comparisons
* @see https://eslint.style/rules/no-confusing-arrow
*/
'@stylistic/no-confusing-arrow'?: Linter.RuleEntry<StylisticNoConfusingArrow>;
/**
* Disallow unnecessary parentheses
* @see https://eslint.style/rules/no-extra-parens
*/
'@stylistic/no-extra-parens'?: Linter.RuleEntry<StylisticNoExtraParens>;
/**
* Disallow unnecessary semicolons
* @see https://eslint.style/rules/no-extra-semi
*/
'@stylistic/no-extra-semi'?: Linter.RuleEntry<[]>;
/**
* Disallow leading or trailing decimal points in numeric literals
* @see https://eslint.style/rules/no-floating-decimal
*/
'@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]>;
/**
* Disallow mixed binary operators
* @see https://eslint.style/rules/no-mixed-operators
*/
'@stylistic/no-mixed-operators'?: Linter.RuleEntry<StylisticNoMixedOperators>;
/**
* Disallow mixed spaces and tabs for indentation
* @see https://eslint.style/rules/no-mixed-spaces-and-tabs
*/
'@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StylisticNoMixedSpacesAndTabs>;
/**
* Disallow multiple spaces
* @see https://eslint.style/rules/no-multi-spaces
*/
'@stylistic/no-multi-spaces'?: Linter.RuleEntry<StylisticNoMultiSpaces>;
/**
* Disallow multiple empty lines
* @see https://eslint.style/rules/no-multiple-empty-lines
*/
'@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry<StylisticNoMultipleEmptyLines>;
/**
* Disallow all tabs
* @see https://eslint.style/rules/no-tabs
*/
'@stylistic/no-tabs'?: Linter.RuleEntry<StylisticNoTabs>;
/**
* Disallow trailing whitespace at the end of lines
* @see https://eslint.style/rules/no-trailing-spaces
*/
'@stylistic/no-trailing-spaces'?: Linter.RuleEntry<StylisticNoTrailingSpaces>;
/**
* Disallow whitespace before properties
* @see https://eslint.style/rules/no-whitespace-before-property
*/
'@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]>;
/**
* Enforce the location of single-line statements
* @see https://eslint.style/rules/nonblock-statement-body-position
*/
'@stylistic/nonblock-statement-body-position'?: Linter.RuleEntry<StylisticNonblockStatementBodyPosition>;
/**
* Enforce consistent line breaks after opening and before closing braces
* @see https://eslint.style/rules/object-curly-newline
*/
'@stylistic/object-curly-newline'?: Linter.RuleEntry<StylisticObjectCurlyNewline>;
/**
* Enforce consistent spacing inside braces
* @see https://eslint.style/rules/object-curly-spacing
*/
'@stylistic/object-curly-spacing'?: Linter.RuleEntry<StylisticObjectCurlySpacing>;
/**
* Enforce placing object properties on separate lines
* @see https://eslint.style/rules/object-property-newline
*/
'@stylistic/object-property-newline'?: Linter.RuleEntry<StylisticObjectPropertyNewline>;
/**
* Require or disallow newlines around variable declarations
* @see https://eslint.style/rules/one-var-declaration-per-line
*/
'@stylistic/one-var-declaration-per-line'?: Linter.RuleEntry<StylisticOneVarDeclarationPerLine>;
/**
* Enforce consistent linebreak style for operators
* @see https://eslint.style/rules/operator-linebreak
*/
'@stylistic/operator-linebreak'?: Linter.RuleEntry<StylisticOperatorLinebreak>;
/**
* Require or disallow padding within blocks
* @see https://eslint.style/rules/padded-blocks
*/
'@stylistic/padded-blocks'?: Linter.RuleEntry<StylisticPaddedBlocks>;
/**
* Require or disallow padding lines between statements
* @see https://eslint.style/rules/padding-line-between-statements
*/
'@stylistic/padding-line-between-statements'?: Linter.RuleEntry<StylisticPaddingLineBetweenStatements>;
/**
* Require quotes around object literal, type literal, interfaces and enums property names
* @see https://eslint.style/rules/quote-props
*/
'@stylistic/quote-props'?: Linter.RuleEntry<StylisticQuoteProps>;
/**
* Enforce the consistent use of either backticks, double, or single quotes
* @see https://eslint.style/rules/quotes
*/
'@stylistic/quotes'?: Linter.RuleEntry<StylisticQuotes>;
/**
* Enforce spacing between rest and spread operators and their expressions
* @see https://eslint.style/rules/rest-spread-spacing
*/
'@stylistic/rest-spread-spacing'?: Linter.RuleEntry<StylisticRestSpreadSpacing>;
/**
* Require or disallow semicolons instead of ASI
* @see https://eslint.style/rules/semi
*/
'@stylistic/semi'?: Linter.RuleEntry<StylisticSemi>;
/**
* Enforce consistent spacing before and after semicolons
* @see https://eslint.style/rules/semi-spacing
*/
'@stylistic/semi-spacing'?: Linter.RuleEntry<StylisticSemiSpacing>;
/**
* Enforce location of semicolons
* @see https://eslint.style/rules/semi-style
*/
'@stylistic/semi-style'?: Linter.RuleEntry<StylisticSemiStyle>;
/**
* Enforce consistent spacing before blocks
* @see https://eslint.style/rules/space-before-blocks
*/
'@stylistic/space-before-blocks'?: Linter.RuleEntry<StylisticSpaceBeforeBlocks>;
/**
* Enforce consistent spacing before function parenthesis
* @see https://eslint.style/rules/space-before-function-paren
*/
'@stylistic/space-before-function-paren'?: Linter.RuleEntry<StylisticSpaceBeforeFunctionParen>;
/**
* Enforce consistent spacing inside parentheses
* @see https://eslint.style/rules/space-in-parens
*/
'@stylistic/space-in-parens'?: Linter.RuleEntry<StylisticSpaceInParens>;
/**
* Require spacing around infix operators
* @see https://eslint.style/rules/space-infix-ops
*/
'@stylistic/space-infix-ops'?: Linter.RuleEntry<StylisticSpaceInfixOps>;
/**
* Enforce consistent spacing before or after unary operators
* @see https://eslint.style/rules/space-unary-ops
*/
'@stylistic/space-unary-ops'?: Linter.RuleEntry<StylisticSpaceUnaryOps>;
/**
* Enforce consistent spacing after the `//` or `/*` in a comment
* @see https://eslint.style/rules/spaced-comment
*/
'@stylistic/spaced-comment'?: Linter.RuleEntry<StylisticSpacedComment>;
/**
* Enforce spacing around colons of switch statements
* @see https://eslint.style/rules/switch-colon-spacing
*/
'@stylistic/switch-colon-spacing'?: Linter.RuleEntry<StylisticSwitchColonSpacing>;
/**
* Require or disallow spacing around embedded expressions of template strings
* @see https://eslint.style/rules/template-curly-spacing
*/
'@stylistic/template-curly-spacing'?: Linter.RuleEntry<StylisticTemplateCurlySpacing>;
/**
* Require or disallow spacing between template tags and their literals
* @see https://eslint.style/rules/template-tag-spacing
*/
'@stylistic/template-tag-spacing'?: Linter.RuleEntry<StylisticTemplateTagSpacing>;
/**
* Require consistent spacing around type annotations
* @see https://eslint.style/rules/type-annotation-spacing
*/
'@stylistic/type-annotation-spacing'?: Linter.RuleEntry<StylisticTypeAnnotationSpacing>;
/**
* Enforces consistent spacing inside TypeScript type generics
* @see https://eslint.style/rules/type-generic-spacing
*/
'@stylistic/type-generic-spacing'?: Linter.RuleEntry<[]>;
/**
* Expect space before the type declaration in the named tuple
* @see https://eslint.style/rules/type-named-tuple-spacing
*/
'@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]>;
/**
* Require parentheses around immediate `function` invocations
* @see https://eslint.style/rules/wrap-iife
*/
'@stylistic/wrap-iife'?: Linter.RuleEntry<StylisticWrapIife>;
/**
* Require parenthesis around regex literals
* @see https://eslint.style/rules/wrap-regex
*/
'@stylistic/wrap-regex'?: Linter.RuleEntry<[]>;
/**
* Require or disallow spacing around the `*` in `yield*` expressions
* @see https://eslint.style/rules/yield-star-spacing
*/
'@stylistic/yield-star-spacing'?: Linter.RuleEntry<StylisticYieldStarSpacing>;
/**
* Enforce getter and setter pairs in objects and classes
* @see https://eslint.org/docs/latest/rules/accessor-pairs
*/
'accessor-pairs'?: Linter.RuleEntry<AccessorPairs>;
/**
* Having line breaks styles to object, array and named imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-chaining.md
*/
'antfu/consistent-chaining'?: Linter.RuleEntry<AntfuConsistentChaining>;
/**
* Having line breaks styles to object, array and named imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-list-newline.md
*/
'antfu/consistent-list-newline'?: Linter.RuleEntry<AntfuConsistentListNewline>;
/**
* Enforce Anthony's style of curly bracket
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/curly.md
*/
'antfu/curly'?: Linter.RuleEntry<[]>;
/**
* Newline after if
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/if-newline.md
*/
'antfu/if-newline'?: Linter.RuleEntry<[]>;
/**
* Fix duplication in imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/import-dedupe.md
*/
'antfu/import-dedupe'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent indentation in `unindent` template tag
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/indent-unindent.md
*/
'antfu/indent-unindent'?: Linter.RuleEntry<AntfuIndentUnindent>;
/**
* Prevent importing modules in `dist` folder
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-dist.test.ts
*/
'antfu/no-import-dist'?: Linter.RuleEntry<[]>;
/**
* Prevent importing modules in `node_modules` folder by relative or absolute path
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-node-modules-by-path.test.ts
*/
'antfu/no-import-node-modules-by-path'?: Linter.RuleEntry<[]>;
/**
* Prevent using top-level await
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-top-level-await.test.ts
*/
'antfu/no-top-level-await'?: Linter.RuleEntry<[]>;
/**
* Do not use `exports =`
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-ts-export-equal.test.ts
*/
'antfu/no-ts-export-equal'?: Linter.RuleEntry<[]>;
/**
* Enforce top-level functions to be declared with function keyword
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/top-level-function.md
*/
'antfu/top-level-function'?: Linter.RuleEntry<[]>;
/**
* Enforce linebreaks after opening and before closing array brackets
* @see https://eslint.org/docs/latest/rules/array-bracket-newline
* @deprecated
*/
'array-bracket-newline'?: Linter.RuleEntry<ArrayBracketNewline>;
/**
* Enforce consistent spacing inside array brackets
* @see https://eslint.org/docs/latest/rules/array-bracket-spacing
* @deprecated
*/
'array-bracket-spacing'?: Linter.RuleEntry<ArrayBracketSpacing>;
/**
* Enforce `return` statements in callbacks of array methods
* @see https://eslint.org/docs/latest/rules/array-callback-return
*/
'array-callback-return'?: Linter.RuleEntry<ArrayCallbackReturn>;
/**
* Enforce line breaks after each array element
* @see https://eslint.org/docs/latest/rules/array-element-newline
* @deprecated
*/
'array-element-newline'?: Linter.RuleEntry<ArrayElementNewline>;
/**
* Require braces around arrow function bodies
* @see https://eslint.org/docs/latest/rules/arrow-body-style
*/
'arrow-body-style'?: Linter.RuleEntry<ArrowBodyStyle>;
/**
* Require parentheses around arrow function arguments
* @see https://eslint.org/docs/latest/rules/arrow-parens
* @deprecated
*/
'arrow-parens'?: Linter.RuleEntry<ArrowParens>;
/**
* Enforce consistent spacing before and after the arrow in arrow functions
* @see https://eslint.org/docs/latest/rules/arrow-spacing
* @deprecated
*/
'arrow-spacing'?: Linter.RuleEntry<ArrowSpacing>;
/**
* apply `jsx-a11y/alt-text` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/alt-text/
*/
'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<AstroJsxA11YAltText>;
/**
* apply `jsx-a11y/anchor-ambiguous-text` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-ambiguous-text/
*/
'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<AstroJsxA11YAnchorAmbiguousText>;
/**
* apply `jsx-a11y/anchor-has-content` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-has-content/
*/
'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<AstroJsxA11YAnchorHasContent>;
/**
* apply `jsx-a11y/anchor-is-valid` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-is-valid/
*/
'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<AstroJsxA11YAnchorIsValid>;
/**
* apply `jsx-a11y/aria-activedescendant-has-tabindex` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-activedescendant-has-tabindex/
*/
'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<AstroJsxA11YAriaActivedescendantHasTabindex>;
/**
* apply `jsx-a11y/aria-props` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-props/
*/
'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<AstroJsxA11YAriaProps>;
/**
* apply `jsx-a11y/aria-proptypes` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-proptypes/
*/
'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<AstroJsxA11YAriaProptypes>;
/**
* apply `jsx-a11y/aria-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-role/
*/
'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<AstroJsxA11YAriaRole>;
/**
* apply `jsx-a11y/aria-unsupported-elements` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-unsupported-elements/
*/
'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<AstroJsxA11YAriaUnsupportedElements>;
/**
* apply `jsx-a11y/autocomplete-valid` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/autocomplete-valid/
*/
'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<AstroJsxA11YAutocompleteValid>;
/**
* apply `jsx-a11y/click-events-have-key-events` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/click-events-have-key-events/
*/
'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YClickEventsHaveKeyEvents>;
/**
* apply `jsx-a11y/control-has-associated-label` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/control-has-associated-label/
*/
'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<AstroJsxA11YControlHasAssociatedLabel>;
/**
* apply `jsx-a11y/heading-has-content` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/heading-has-content/
*/
'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<AstroJsxA11YHeadingHasContent>;
/**
* apply `jsx-a11y/html-has-lang` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/html-has-lang/
*/
'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<AstroJsxA11YHtmlHasLang>;
/**
* apply `jsx-a11y/iframe-has-title` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/iframe-has-title/
*/
'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<AstroJsxA11YIframeHasTitle>;
/**
* apply `jsx-a11y/img-redundant-alt` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/img-redundant-alt/
*/
'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<AstroJsxA11YImgRedundantAlt>;
/**
* apply `jsx-a11y/interactive-supports-focus` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/interactive-supports-focus/
*/
'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<AstroJsxA11YInteractiveSupportsFocus>;
/**
* apply `jsx-a11y/label-has-associated-control` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/label-has-associated-control/
*/
'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<AstroJsxA11YLabelHasAssociatedControl>;
/**
* apply `jsx-a11y/lang` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/lang/
*/
'astro/jsx-a11y/lang'?: Linter.RuleEntry<AstroJsxA11YLang>;
/**
* apply `jsx-a11y/media-has-caption` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/media-has-caption/
*/
'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<AstroJsxA11YMediaHasCaption>;
/**
* apply `jsx-a11y/mouse-events-have-key-events` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/mouse-events-have-key-events/
*/
'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YMouseEventsHaveKeyEvents>;
/**
* apply `jsx-a11y/no-access-key` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-access-key/
*/
'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<AstroJsxA11YNoAccessKey>;
/**
* apply `jsx-a11y/no-aria-hidden-on-focusable` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-aria-hidden-on-focusable/
*/
'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<AstroJsxA11YNoAriaHiddenOnFocusable>;
/**
* apply `jsx-a11y/no-autofocus` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-autofocus/
*/
'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<AstroJsxA11YNoAutofocus>;
/**
* apply `jsx-a11y/no-distracting-elements` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-distracting-elements/
*/
'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<AstroJsxA11YNoDistractingElements>;
/**
* apply `jsx-a11y/no-interactive-element-to-noninteractive-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-interactive-element-to-noninteractive-role/
*/
'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<AstroJsxA11YNoInteractiveElementToNoninteractiveRole>;
/**
* apply `jsx-a11y/no-noninteractive-element-interactions` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-interactions/
*/
'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementInteractions>;
/**
* apply `jsx-a11y/no-noninteractive-element-to-interactive-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-to-interactive-role/
*/
'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementToInteractiveRole>;
/**
* apply `jsx-a11y/no-noninteractive-tabindex` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-tabindex/
*/
'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveTabindex>;
/**
* apply `jsx-a11y/no-redundant-roles` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-redundant-roles/
*/
'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<AstroJsxA11YNoRedundantRoles>;
/**
* apply `jsx-a11y/no-static-element-interactions` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-static-element-interactions/
*/
'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoStaticElementInteractions>;
/**
* apply `jsx-a11y/prefer-tag-over-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/prefer-tag-over-role/
*/
'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<AstroJsxA11YPreferTagOverRole>;
/**
* apply `jsx-a11y/role-has-required-aria-props` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-has-required-aria-props/
*/
'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleHasRequiredAriaProps>;
/**
* apply `jsx-a11y/role-supports-aria-props` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-supports-aria-props/
*/
'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleSupportsAriaProps>;
/**
* apply `jsx-a11y/scope` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/scope/
*/
'astro/jsx-a11y/scope'?: Linter.RuleEntry<AstroJsxA11YScope>;
/**
* apply `jsx-a11y/tabindex-no-positive` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/tabindex-no-positive/
*/
'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<AstroJsxA11YTabindexNoPositive>;
/**
* the client:only directive is missing the correct component's framework value
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/missing-client-only-directive-value/
*/
'astro/missing-client-only-directive-value'?: Linter.RuleEntry<[]>;
/**
* disallow conflicting set directives and child contents
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-conflict-set-directives/
*/
'astro/no-conflict-set-directives'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `Astro.canonicalURL`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-canonicalurl/
*/
'astro/no-deprecated-astro-canonicalurl'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `Astro.fetchContent()`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-fetchcontent/
*/
'astro/no-deprecated-astro-fetchcontent'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `Astro.resolve()`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-resolve/
*/
'astro/no-deprecated-astro-resolve'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `getEntryBySlug()`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-getentrybyslug/
*/
'astro/no-deprecated-getentrybyslug'?: Linter.RuleEntry<[]>;
/**
* disallow value export
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
*/
'astro/no-exports-from-components'?: Linter.RuleEntry<[]>;
/**
* disallow use of `set:html` to prevent XSS attack
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/
*/
'astro/no-set-html-directive'?: Linter.RuleEntry<[]>;
/**
* disallow use of `set:text`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-text-directive/
*/
'astro/no-set-text-directive'?: Linter.RuleEntry<[]>;
/**
* disallow inline `<script>` without `src` to encourage CSP-safe patterns
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unsafe-inline-scripts/
*/
'astro/no-unsafe-inline-scripts'?: Linter.RuleEntry<AstroNoUnsafeInlineScripts>;
/**
* disallow selectors defined in `style` tag that don't use in HTML
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unused-css-selector/
*/
'astro/no-unused-css-selector'?: Linter.RuleEntry<[]>;
/**
* disallow unused `define:vars={...}` in `style` tag
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unused-define-vars-in-style/
*/
'astro/no-unused-define-vars-in-style'?: Linter.RuleEntry<[]>;
/**
* require `class:list` directives instead of `class` with expressions
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/prefer-class-list-directive/
*/
'astro/prefer-class-list-directive'?: Linter.RuleEntry<[]>;
/**
* require use object instead of ternary expression in `class:list`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/prefer-object-class-list/
*/
'astro/prefer-object-class-list'?: Linter.RuleEntry<[]>;
/**
* require use split array elements in `class:list`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/prefer-split-class-list/
*/
'astro/prefer-split-class-list'?: Linter.RuleEntry<AstroPreferSplitClassList>;
/**
* Require or disallow semicolons instead of ASI
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/semi/
*/
'astro/semi'?: Linter.RuleEntry<AstroSemi>;
/**
* enforce sorting of attributes
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/sort-attributes/
*/
'astro/sort-attributes'?: Linter.RuleEntry<AstroSortAttributes>;
/**
* disallow warnings when compiling.
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/valid-compile/
*/
'astro/valid-compile'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of variables within the scope they are defined
* @see https://eslint.org/docs/latest/rules/block-scoped-var
*/
'block-scoped-var'?: Linter.RuleEntry<[]>;
/**
* Disallow or enforce spaces inside of blocks after opening block and before closing block
* @see https://eslint.org/docs/latest/rules/block-spacing
* @deprecated
*/
'block-spacing'?: Linter.RuleEntry<BlockSpacing>;
/**
* Enforce consistent brace style for blocks
* @see https://eslint.org/docs/latest/rules/brace-style
* @deprecated
*/
'brace-style'?: Linter.RuleEntry<BraceStyle>;
/**
* Require `return` statements after callbacks
* @see https://eslint.org/docs/latest/rules/callback-return
* @deprecated
*/
'callback-return'?: Linter.RuleEntry<CallbackReturn>;
/**
* Enforce camelcase naming convention
* @see https://eslint.org/docs/latest/rules/camelcase
*/
'camelcase'?: Linter.RuleEntry<Camelcase>;
/**
* Enforce or disallow capitalization of the first letter of a comment
* @see https://eslint.org/docs/latest/rules/capitalized-comments
*/
'capitalized-comments'?: Linter.RuleEntry<CapitalizedComments>;
/**
* Enforce that class methods utilize `this`
* @see https://eslint.org/docs/latest/rules/class-methods-use-this
*/
'class-methods-use-this'?: Linter.RuleEntry<ClassMethodsUseThis>;
/**
* Require or disallow trailing commas
* @see https://eslint.org/docs/latest/rules/comma-dangle
* @deprecated
*/
'comma-dangle'?: Linter.RuleEntry<CommaDangle>;
/**
* Enforce consistent spacing before and after commas
* @see https://eslint.org/docs/latest/rules/comma-spacing
* @deprecated
*/
'comma-spacing'?: Linter.RuleEntry<CommaSpacing>;
/**
* Enforce consistent comma style
* @see https://eslint.org/docs/latest/rules/comma-style
* @deprecated
*/
'comma-style'?: Linter.RuleEntry<CommaStyle>;
/**
* Enforce a maximum cyclomatic complexity allowed in a program
* @see https://eslint.org/docs/latest/rules/complexity
*/
'complexity'?: Linter.RuleEntry<Complexity>;
/**
* Enforce consistent spacing inside computed property brackets
* @see https://eslint.org/docs/latest/rules/computed-property-spacing
* @deprecated
*/
'computed-property-spacing'?: Linter.RuleEntry<ComputedPropertySpacing>;
/**
* Require `return` statements to either always or never specify values
* @see https://eslint.org/docs/latest/rules/consistent-return
*/
'consistent-return'?: Linter.RuleEntry<ConsistentReturn>;
/**
* Enforce consistent naming when capturing the current execution context
* @see https://eslint.org/docs/latest/rules/consistent-this
*/
'consistent-this'?: Linter.RuleEntry<ConsistentThis>;
/**
* Require `super()` calls in constructors
* @see https://eslint.org/docs/latest/rules/constructor-super
*/
'constructor-super'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent brace style for all control statements
* @see https://eslint.org/docs/latest/rules/curly
*/
'curly'?: Linter.RuleEntry<Curly>;
/**
* Require `default` cases in `switch` statements
* @see https://eslint.org/docs/latest/rules/default-case
*/
'default-case'?: Linter.RuleEntry<DefaultCase>;
/**
* Enforce `default` clauses in `switch` statements to be last
* @see https://eslint.org/docs/latest/rules/default-case-last
*/
'default-case-last'?: Linter.RuleEntry<[]>;
/**
* Enforce default parameters to be last
* @see https://eslint.org/docs/latest/rules/default-param-last
*/
'default-param-last'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent newlines before and after dots
* @see https://eslint.org/docs/latest/rules/dot-location
* @deprecated
*/
'dot-location'?: Linter.RuleEntry<DotLocation>;
/**
* Enforce dot notation whenever possible
* @see https://eslint.org/docs/latest/rules/dot-notation
*/
'dot-notation'?: Linter.RuleEntry<DotNotation>;
/**
* Require or disallow newline at the end of files
* @see https://eslint.org/docs/latest/rules/eol-last
* @deprecated
*/
'eol-last'?: Linter.RuleEntry<EolLast>;
/**
* Require the use of `===` and `!==`
* @see https://eslint.org/docs/latest/rules/eqeqeq
*/
'eqeqeq'?: Linter.RuleEntry<Eqeqeq>;
/**
* require a `eslint-enable` comment for every `eslint-disable` comment
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
*/
'eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommentsDisableEnablePair>;
/**
* disallow a `eslint-enable` comment for multiple `eslint-disable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
*/
'eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>;
/**
* disallow duplicate `eslint-disable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
*/
'eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>;
/**
* disallow `eslint-disable` comments about specific rules
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
*/
'eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>;
/**
* disallow `eslint-disable` comments without rule names
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
*/
'eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>;
/**
* disallow unused `eslint-disable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
*/
'eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>;
/**
* disallow unused `eslint-enable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
*/
'eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>;
/**
* disallow ESLint directive-comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
*/
'eslint-comments/no-use'?: Linter.RuleEntry<EslintCommentsNoUse>;
/**
* require include descriptions in ESLint directive-comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
*/
'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>;
/**
* Enforce `for` loop update clause moving the counter in the right direction
* @see https://eslint.org/docs/latest/rules/for-direction
*/
'for-direction'?: Linter.RuleEntry<[]>;
/**
* Require or disallow spacing between function identifiers and their invocations
* @see https://eslint.org/docs/latest/rules/func-call-spacing
* @deprecated
*/
'func-call-spacing'?: Linter.RuleEntry<FuncCallSpacing>;
/**
* Require function names to match the name of the variable or property to which they are assigned
* @see https://eslint.org/docs/latest/rules/func-name-matching
*/
'func-name-matching'?: Linter.RuleEntry<FuncNameMatching>;
/**
* Require or disallow named `function` expressions
* @see https://eslint.org/docs/latest/rules/func-names
*/
'func-names'?: Linter.RuleEntry<FuncNames>;
/**
* Enforce the consistent use of either `function` declarations or expressions assigned to variables
* @see https://eslint.org/docs/latest/rules/func-style
*/
'func-style'?: Linter.RuleEntry<FuncStyle>;
/**
* Enforce line breaks between arguments of a function call
* @see https://eslint.org/docs/latest/rules/function-call-argument-newline
* @deprecated
*/
'function-call-argument-newline'?: Linter.RuleEntry<FunctionCallArgumentNewline>;
/**
* Enforce consistent line breaks inside function parentheses
* @see https://eslint.org/docs/latest/rules/function-paren-newline
* @deprecated
*/
'function-paren-newline'?: Linter.RuleEntry<FunctionParenNewline>;
/**
* Enforce consistent spacing around `*` operators in generator functions
* @see https://eslint.org/docs/latest/rules/generator-star-spacing
* @deprecated
*/
'generator-star-spacing'?: Linter.RuleEntry<GeneratorStarSpacing>;
/**
* Enforce `return` statements in getters
* @see https://eslint.org/docs/latest/rules/getter-return
*/
'getter-return'?: Linter.RuleEntry<GetterReturn>;
/**
* Require `require()` calls to be placed at top-level module scope
* @see https://eslint.org/docs/latest/rules/global-require
* @deprecated
*/
'global-require'?: Linter.RuleEntry<[]>;
/**
* Require grouped accessor pairs in object literals and classes
* @see https://eslint.org/docs/latest/rules/grouped-accessor-pairs
*/
'grouped-accessor-pairs'?: Linter.RuleEntry<GroupedAccessorPairs>;
/**
* Require `for-in` loops to include an `if` statement
* @see https://eslint.org/docs/latest/rules/guard-for-in
*/
'guard-for-in'?: Linter.RuleEntry<[]>;
/**
* Require error handling in callbacks
* @see https://eslint.org/docs/latest/rules/handle-callback-err
* @deprecated
*/
'handle-callback-err'?: Linter.RuleEntry<HandleCallbackErr>;
/**
* Disallow specified identifiers
* @see https://eslint.org/docs/latest/rules/id-blacklist
* @deprecated
*/
'id-blacklist'?: Linter.RuleEntry<IdBlacklist>;
/**
* Disallow specified identifiers
* @see https://eslint.org/docs/latest/rules/id-denylist
*/
'id-denylist'?: Linter.RuleEntry<IdDenylist>;
/**
* Enforce minimum and maximum identifier lengths
* @see https://eslint.org/docs/latest/rules/id-length
*/
'id-length'?: Linter.RuleEntry<IdLength>;
/**
* Require identifiers to match a specified regular expression
* @see https://eslint.org/docs/latest/rules/id-match
*/
'id-match'?: Linter.RuleEntry<IdMatch>;
/**
* Enforce the location of arrow function bodies
* @see https://eslint.org/docs/latest/rules/implicit-arrow-linebreak
* @deprecated
*/
'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
/**
* Enforce consistent indentation
* @see https://eslint.org/docs/latest/rules/indent
* @deprecated
*/
'indent'?: Linter.RuleEntry<Indent>;
/**
* Enforce consistent indentation
* @see https://eslint.org/docs/latest/rules/indent-legacy
* @deprecated
*/
'indent-legacy'?: Linter.RuleEntry<IndentLegacy>;
/**
* Require or disallow initialization in variable declarations
* @see https://eslint.org/docs/latest/rules/init-declarations
*/
'init-declarations'?: Linter.RuleEntry<InitDeclarations>;
/**
* Checks that `@access` tags have a valid value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
*/
'jsdoc/check-access'?: Linter.RuleEntry<[]>;
/**
* Reports invalid alignment of JSDoc block asterisks.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
*/
'jsdoc/check-alignment'?: Linter.RuleEntry<JsdocCheckAlignment>;
/**
* @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
*/
'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>;
/**
* Reports invalid padding inside JSDoc blocks.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md#repos-sticky-header
*/
'jsdoc/check-indentation'?: Linter.RuleEntry<JsdocCheckIndentation>;
/**
* Reports invalid alignment of JSDoc block lines.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md#repos-sti