@coderwyd/eslint-config
Version:
Donny's ESLint config
1,181 lines (1,180 loc) • 622 kB
TypeScript
import { ParserOptions } from "@typescript-eslint/parser";
import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
import { Linter } from "eslint";
//#region src/types/typegen.d.ts
interface RuleOptions {
/**
* 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>;
/**
* 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>;
/**
* Comment-as-command for one-off codemod with ESLint
* @see https://github.com/antfu/eslint-plugin-command
*/
'command/command'?: Linter.RuleEntry<[]>;
/**
* 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>;
/**
* Transforms the negation of a conjunction !(A && B) into the equivalent !A || !B according to De Morgan’s law
* @see https://github.com/azat-io/eslint-plugin-de-morgan/blob/main/docs/no-negated-conjunction.md
*/
'de-morgan/no-negated-conjunction'?: Linter.RuleEntry<[]>;
/**
* Transforms the negation of a disjunction !(A || B) into the equivalent !A && !B according to De Morgan’s law
* @see https://github.com/azat-io/eslint-plugin-de-morgan/blob/main/docs/no-negated-disjunction.md
*/
'de-morgan/no-negated-disjunction'?: Linter.RuleEntry<[]>;
/**
* 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 or ban the use of inline type-only markers for named imports.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/consistent-type-specifier-style/README.md
*/
'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
/**
* Ensure all imports appear before other statements.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/first/README.md
*/
'import/first'?: Linter.RuleEntry<ImportFirst>;
/**
* Enforce a newline after import statements.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/newline-after-import/README.md
*/
'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>;
/**
* Forbid default exports.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-default-export/README.md
*/
'import/no-default-export'?: Linter.RuleEntry<[]>;
/**
* Forbid repeated import of the same module in multiple places.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-duplicates/README.md
*/
'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>;
/**
* Forbid the use of mutable exports with `var` or `let`.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-mutable-exports/README.md
*/
'import/no-mutable-exports'?: Linter.RuleEntry<[]>;
/**
* Forbid named default exports.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-named-default/README.md
*/
'import/no-named-default'?: Linter.RuleEntry<[]>;
/**
* 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<[]>;
/**
* Ensures that (JavaScript) examples within JSDoc 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-sticky-header
*/
'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>;
/**
* Ensures that parameter names in JSDoc match those in the function declaration.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
*/
'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>;
/**
* Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
*/
'jsdoc/check-property-names'?: Linter.RuleEntry<JsdocCheckPropertyNames>;
/**
* Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
*/
'jsdoc/check-syntax'?: Linter.RuleEntry<[]>;
/**
* Reports invalid block tag names.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
*/
'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>;
/**
* Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
*/
'jsdoc/check-template-names'?: Linter.RuleEntry<[]>;
/**
* Reports invalid types.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
*/
'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>;
/**
* This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-values.md#repos-sticky-header
*/
'jsdoc/check-values'?: Linter.RuleEntry<JsdocCheckValues>;
/**
* Converts non-JSDoc comments preceding or following nodes into JSDoc ones
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md#repos-sticky-header
*/
'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>;
/**
* Expects specific tags to be empty of any content.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
*/
'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>;
/**
* Reports an issue with any non-constructor function using `@implements`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
*/
'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>;
/**
* Reports if JSDoc `import()` statements point to a package which is not listed in `dependencies` or `devDependencies`
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/imports-as-dependencies.md#repos-sticky-header
*/
'jsdoc/imports-as-dependencies'?: Linter.RuleEntry<[]>;
/**
* This rule reports doc comments that only restate their attached name.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
*/
'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>;
/**
* Enforces minimum number of newlines before JSDoc comment blocks
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
*/
'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>;
/**
* Enforces a regular expression pattern on descriptions.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
*/
'jsdoc/match-description'?: Linter.RuleEntry<JsdocMatchDescription>;
/**
* Reports the name portion of a JSDoc tag if matching or not matching a given regular expression.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-name.md#repos-sticky-header
*/
'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>;
/**
* Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
*/
'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>;
/**
* This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
*/
'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>;
/**
* Detects and removes extra lines of a blank block description
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
*/
'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>;
/**
* Removes empty blocks with nothing but possibly line breaks
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md#repos-sticky-header
*/
'jsdoc/no-blank-blocks'?: Linter.RuleEntry<JsdocNoBlankBlocks>;
/**
* This rule reports defaults being used on the relevant portion of `@param` or `@default`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-defaults.md#repos-sticky-header
*/
'jsdoc/no-defaults'?: Linter.RuleEntry<JsdocNoDefaults>;
/**
* Reports when certain comment structures are always expected.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-missing-syntax.md#repos-sticky-header
*/
'jsdoc/no-missing-syntax'?: Linter.RuleEntry<JsdocNoMissingSyntax>;
/**
* Prevents use of multiple asterisks at the beginning of lines.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-multi-asterisks.md#repos-sticky-header
*/
'jsdoc/no-multi-asterisks'?: Linter.RuleEntry<JsdocNoMultiAsterisks>;
/**
* Reports when certain comment structures are present.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header
*/
'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>;
/**
* This rule reports types being used on `@param` or `@returns`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
*/
'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>;
/**
* Checks that types in jsdoc comments are defined.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
*/
'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
/**
* Requires that each JSDoc line starts with an `*`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
*/
'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>;
/**
* Requires that all functions have a description.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
*/
'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>;
/**
* Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description-complete-sentence.md#repos-sticky-header
*/
'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>;
/**
* Requires that all functions have examples.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
*/
'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>;
/**
* Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-file-overview.md#repos-sticky-header
*/
'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>;
/**
* Requires a hyphen before the `@param` description.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
*/
'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>;
/**
* Require JSDoc comments
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
*/
'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>;
/**
* Requires that all function parameters are documented.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
*/
'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>;
/**
* Requires that each `@param` tag has a `description` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md#repos-sticky-header
*/
'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>;
/**
* Requires that all function parameters have names.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
*/
'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>;
/**
* Requires that each `@param` tag has a `type` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
*/
'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>;
/**
* Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
*/
'jsdoc/require-property'?: Linter.RuleEntry<[]>;
/**
* Requires that each `@property` tag has a `description` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md#repos-sticky-header
*/
'jsdoc/require-property-description'?: Linter.RuleEntry<[]>;
/**
* Requires that all function `@property` tags have names.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
*/
'jsdoc/require-property-name'?: Linter.RuleEntry<[]>;
/**
* Requires that each `@property` tag has a `type` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
*/
'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
/**
* Requires that returns are documented.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
*/
'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>;
/**
* Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
*/
'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>;
/**
* Requires that the `@returns` tag has a `description` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
*/
'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>;
/**
* Requires that `@returns` tag has `type` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
*/
'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>;
/**
* Requires template tags for each generic type parameter
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
*/
'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>;
/**
* Requires that throw statements are documented.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
*/
'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>;
/**
* Requires yields are documented.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
*/
'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>;
/**
* Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
*/
'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
/**
* Sorts tags by a specified sequence according to tag name.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
*/
'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>;
/**
* Enforces lines (or no lines) between tags.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
*/
'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>;
/**
* Auto-escape certain characters that are input within block and tag descriptions.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
*/
'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>;
/**
* Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
*/
'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>;
/**
* enforce line breaks after opening and before closing array brackets
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
*/
'jsonc/array-bracket-newline'?: Linter.RuleEntry<JsoncArrayBracketNewline>;
/**
* disallow or enforce spaces inside of brackets
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-spacing.html
*/
'jsonc/array-bracket-spacing'?: Linter.RuleEntry<JsoncArrayBracketSpacing>;
/**
* enforce line breaks between array elements
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-element-newline.html
*/
'jsonc/array-element-newline'?: Linter.RuleEntry<JsoncArrayElementNewline>;
/**
* apply jsonc rules similar to your configured ESLint core rules
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/auto.html
*/
'jsonc/auto'?: Linter.RuleEntry<[]>;
/**
* require or disallow trailing commas
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-dangle.html
*/
'jsonc/comma-dangle'?: Linter.RuleEntry<JsoncCommaDangle>;
/**
* enforce consistent comma style
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-style.html
*/
'jsonc/comma-style'?: Linter.RuleEntry<JsoncCommaStyle>;
/**
* enforce consistent indentation
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/indent.html
*/
'jsonc/indent'?: Linter.RuleEntry<JsoncIndent>;
/**
* enforce naming convention to property key names
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-name-casing.html
*/
'jsonc/key-name-casing'?: Linter.RuleEntry<JsoncKeyNameCasing>;
/**
* enforce consistent spacing between keys and values in object literal properties
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-spacing.html
*/
'jsonc/key-spacing'?: Linter.RuleEntry<JsoncKeySpacing>;
/**
* disallow BigInt literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-bigint-literals.html
*/
'jsonc/no-bigint-literals'?: Linter.RuleEntry<[]>;
/**
* disallow binary expression
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-expression.html
*/
'jsonc/no-binary-expression'?: Linter.RuleEntry<[]>;
/**
* disallow binary numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-numeric-literals.html
*/
'jsonc/no-binary-numeric-literals'?: Linter.RuleEntry<[]>;
/**
* disallow comments
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-comments.html
*/
'jsonc/no-comments'?: Linter.RuleEntry<[]>;
/**
* disallow duplicate keys in object literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-dupe-keys.html
*/
'jsonc/no-dupe-keys'?: Linter.RuleEntry<[]>;
/**
* disallow escape sequences in identifiers.
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-escape-sequence-in-identifier.html
*/
'jsonc/no-escape-sequence-in-identifier'?: Linter.RuleEntry<[]>;
/**
* disallow leading or trailing decimal points in numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-floating-decimal.html
*/
'jsonc/no-floating-decimal'?: Linter.RuleEntry<[]>;
/**
* disallow hexadecimal numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-hexadecimal-numeric-literals.html
*/
'jsonc/no-hexadecimal-numeric-literals'?: Linter.RuleEntry<[]>;
/**
* disallow Infinity
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-infinity.html
*/
'jsonc/no-infinity'?: Linter.RuleEntry<[]>;
/**
* disallow irregular whitespace
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
*/
'jsonc/no-irregular-whitespace'?: Linter.RuleEntry<JsoncNoIrregularWhitespace>;
/**
* disallow multiline strings
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-multi-str.html
*/
'jsonc/no-multi-str'?: Linter.RuleEntry<[]>;
/**
* disallow NaN
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-nan.html
*/
'jsonc/no-nan'?: Linter.RuleEntry<[]>;
/**
* disallow number property keys
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-number-props.html
*/
'jsonc/no-number-props'?: Linter.RuleEntry<[]>;
/**
* disallow numeric separators
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-numeric-separators.html
*/
'jsonc/no-numeric-separators'?: Linter.RuleEntry<[]>;
/**
* disallow legacy octal literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal.html
*/
'jsonc/no-octal'?: Linter.RuleEntry<[]>;
/**
* disallow octal escape sequences in string literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-escape.html
*/
'jsonc/no-octal-escape'?: Linter.RuleEntry<[]>;
/**
* disallow octal numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-numeric-literals.html
*/
'jsonc/no-octal-numeric-literals'?: Linter.RuleEntry<[]>;
/**
* disallow parentheses around the expression
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-parenthesized.html
*/
'jsonc/no-parenthesized'?: Linter.RuleEntry<[]>;
/**
* disallow plus sign
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-plus-sign.html
*/
'jsonc/no-plus-sign'?: Linter.RuleEntry<[]>;
/**
* disallow RegExp literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-regexp-literals.html
*/
'jsonc/no-regexp-literals'?: Linter.RuleEntry<[]>;
/**
* disallow sparse arrays
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-sparse-arrays.html
*/
'jsonc/no-sparse-arrays'?: Linter.RuleEntry<[]>;
/**
* disallow template literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-template-literals.html
*/
'jsonc/no-template-literals'?: Linter.RuleEntry<[]>;
/**
* disallow `undefined`
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-undefined-value.html
*/
'jsonc/no-undefined-value'?: Linter.RuleEntry<[]>;
/**
* disallow Unicode code point escape sequences.
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-unicode-codepoint-escapes.html
*/
'jsonc/no-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary escape usage
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
*/
'jsonc/no-useless-escape'?: Linter.RuleEntry<JsoncNoUselessEscape>;
/**
* enforce consistent line breaks inside braces
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
*/
'jsonc/object-curly-newline'?: Linter.RuleEntry<JsoncObjectCurlyNewline>;
/**
* enforce consistent spacing inside braces
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-spacing.html
*/
'jsonc/object-curly-spacing'?: Linter.RuleEntry<JsoncObjectCurlySpacing>;
/**
* enforce placing object properties on separate lines
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-property-newline.html
*/
'jsonc/object-property-newline'?: Linter.RuleEntry<JsoncObjectPropertyNewline>;
/**
* require quotes around object literal property names
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quote-props.html
*/
'jsonc/quote-props'?: Linter.RuleEntry<JsoncQuoteProps>;
/**
* enforce use of double or single quotes
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quotes.html
*/
'jsonc/quotes'?: Linter.RuleEntry<JsoncQuotes>;
/**
* require array values to be sorted
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-array-values.html
*/
'jsonc/sort-array-values'?: Linter.RuleEntry<JsoncSortArrayValues>;
/**
* require object keys to be sorted
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-keys.html
*/
'jsonc/sort-keys'?: Linter.RuleEntry<JsoncSortKeys>;
/**
* disallow spaces after unary operators
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/space-unary-ops.html
*/
'jsonc/space-unary-ops'?: Linter.RuleEntry<JsoncSpaceUnaryOps>;
/**
* disallow invalid number for JSON
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/valid-json-number.html
*/
'jsonc/valid-json-number'?: Linter.RuleEntry<[]>;
/**
* disallow parsing errors in Vue custom blocks
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
*/
'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>;
/**
* Enforce the consistent use of either double or single quotes in JSX attributes
* @see https://eslint.org/docs/latest/rules/jsx-quotes
* @deprecated
*/
'jsx-quotes'?: Linter.RuleEntry<JsxQuotes>;
/**
* Enforce consistent spacing between keys and values in object literal properties
* @see https://eslint.org/docs/latest/rules/key-spacing
* @deprecated
*/
'key-spacing'?: Linter.RuleEntry<KeySpacing>;
/**
* Enforce consistent spacing before and after keywords
* @see https://eslint.org/docs/latest/rules/keyword-spacing
* @deprecated
*/
'keyword-spacing'?: Linter.RuleEntry<KeywordSpacing>;
/**
* Enforce position of line comments
* @see https://eslint.org/docs/latest/rules/line-comment-position
* @deprecated
*/
'line-comment-position'?: Linter.RuleEntry<LineCommentPosition>;
/**
* Enforce consistent linebreak style
* @see https://eslint.org/docs/latest/rules/linebreak-style
* @deprecated
*/
'linebreak-style'?: Linter.RuleEntry<LinebreakStyle>;
/**
* Require empty lines around comments
* @see https://eslint.org/docs/latest/rules/lines-around-comment
* @deprecated
*/
'lines-around-comment'?: Linter.RuleEntry<LinesAroundComment>;
/**
* Require or disallow newlines around directives
* @see https://eslint.org/docs/latest/rules/lines-around-directive
* @deprecated
*/
'lines-around-directive'?: Linter.RuleEntry<LinesAroundDirective>;
/**
* Require or disallow an empty line between class members
* @see https://eslint.org/docs/latest/rules/lines-between-class-members
* @deprecated
*/
'lines-between-class-members'?: Linter.RuleEntry<LinesBetweenClassMembers>;
/**
* Require or disallow logical assignment operator shorthand
* @see https://eslint.org/docs/latest/rules/logical-assignment-operators
*/
'logical-assignment-operators'?: Linter.RuleEntry<LogicalAssignmentOperators>;
/**
* Enforce a maximum number of classes per file
* @see https://eslint.org/docs/latest/rules/max-classes-per-file
*/
'max-classes-per-file'?: Linter.RuleEntry<MaxClassesPerFile>;
/**
* Enforce a maximum depth that blocks can be nested
* @see https://eslint.org/docs/latest/rules/max-depth
*/
'max-depth'?: Linter.RuleEntry<MaxDepth>;
/**
* Enforce a maximum line length
* @see https://eslint.org/docs/latest/rules/max-len
* @deprecated
*/
'max-len'?: Linter.RuleEntry<MaxLen>;
/**
* Enforce a maximum number of lines per file
* @see https://eslint.org/docs/latest/rules/max-lines
*/
'max-lines'?: Linter.RuleEntry<MaxLines>;
/**
* Enforce a maximum number of lines of code in a function
* @see https://eslint.org/docs/latest/rules/max-lines-per-function
*/
'max-lines-per-function'?: Linter.RuleEntry<MaxLinesPerFunction>;
/**
* Enforce a maximum depth that callbacks can be nested
* @see https://eslint.org/docs/latest/rules/max-nested-callbacks
*/
'max-nested-callbacks'?: Linter.RuleEntry<MaxNestedCallbacks>;
/**
* Enforce a maximum number of parameters in function definitions
* @see https://eslint.org/docs/latest/rules/max-params
*/
'max-params'?: Linter.RuleEntry<MaxParams>;
/**
* Enforce a maximum number of statements allowed in function blocks
* @see https://eslint.org/docs/latest/rules/max-statements
*/
'max-statements'?: Linter.RuleEntry<MaxStatements>;
/**
* Enforce a maximum number of statements allowed per line
* @see https://eslint.org/docs/latest/rules/max-statements-per-line
* @deprecated
*/
'max-statements-per-line'?: Linter.RuleEntry<MaxStatementsPerLine>;
/**
* Enforce a particular style for multiline comments
* @see https://eslint.org/docs/latest/rules/multiline-comment-style
* @deprecated
*/
'multiline-comment-style'?: Linter.RuleEntry<MultilineCommentStyle>;
/**
* Enforce newlines between operands of ternary expressions
* @see https://eslint.org/docs/latest/rules/multiline-ternary
* @deprecated
*/
'multiline-ternary'?: Linter.RuleEntry<MultilineTernary>;
/**
* Require constructor names to begin with a capital letter
* @see https://eslint.org/docs/latest/rules/new-cap
*/
'new-cap'?: Linter.RuleEntry<NewCap>;
/**
* Enforce or disallow parentheses when invoking a constructor with no arguments
* @see https://eslint.org/docs/latest/rules/new-parens
* @deprecated
*/
'new-parens'?: Linter.RuleEntry<NewParens>;
/**
* Require or disallow an empty line after variable declarations
* @see https://eslint.org/docs/latest/rules/newline-after-var
* @deprecated
*/
'newline-after-var'?: Linter.RuleEntry<NewlineAfterVar>;
/**
* Require an empty line before `return` statements
* @see https://eslint.org/docs/latest/rules/newline-before-return
* @deprecated
*/
'newline-before-return'?: Linter.RuleEntry<[]>;
/**
* Require a newline after each call in a method chain
* @see https://eslint.org/docs/latest/rules/newline-per-chained-call
* @deprecated
*/
'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>;
/**
* Disallow the use of `alert`, `confirm`, and `prompt`
* @see https://eslint.org/docs/latest/rules/no-alert
*/
'no-alert'?: Linter.RuleEntry<[]>;
/**
* Disallow `Array` constructors
* @see https://eslint.org/docs/latest/rules/no-array-constructor
*/
'no-array-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow using an async function as a Promise executor
* @see https://eslint.org/docs/latest/rules/no-async-promise-executor
*/
'no-async-promise-executor'?: Linter.RuleEntry<[]>;
/**
* Disallow `await` inside of loops
* @see https://eslint.org/docs/latest/rules/no-await-in-loop
*/
'no-await-in-loop'?: Linter.RuleEntry<[]>;
/**
* Disallow bitwise operators
* @see https://eslint.org/docs/latest/rules/no-bitwise
*/
'no-bitwise'?: Linter.RuleEntry<NoBitwise>;
/**
* Disallow use of the `Buffer()` constructor
* @see https://eslint.org/docs/latest/rules/no-buffer-constructor
* @deprecated
*/
'no-buffer-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `arguments.caller` or `arguments.callee`
* @see https://eslint.org/docs/latest/rules/no-caller
*/
'no-caller'?: Linter.RuleEntry<[]>;
/**
* Disallow lexical declarations in case clauses
* @see https://eslint.org/docs/latest/rules/no-case-declarations
*/
'no-case-declarations'?: Linter.RuleEntry<[]>;
/**
* Disallow `catch` clause parameters from shadowing variables in the outer scope
* @see https://eslint.org/docs/latest/rules/no-catch-shadow
* @deprecated
*/
'no-catch-shadow'?: Linter.RuleEntry<[]>;
/**
* Disallow reassigning class members
* @see https://eslint.org/docs/latest/rules/no-class-assign
*/
'no-class-assign'?: Linter.RuleEntry<[]>;
/**
* Disallow comparing against `-0`
* @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
*/
'no-compare-neg-zero'?: Linter.RuleEntry<[]>;
/**
* Disallow assignment operators in conditional expressions
* @see https://eslint.org/docs/latest/rules/no-cond-assign
*/
'no-cond-assign'?: Linter.RuleEntry<NoCondAssign>;
/**
* Disallow arrow functions where they could be confused with comparisons
* @see https://eslint.org/docs/latest/rules/no-confusing-arrow
* @deprecated
*/
'no-confusing-arrow'?: Linter.RuleEntry<NoConfusingArrow>;
/**
* Disallow the use of `console`
* @see https://eslint.org/docs/latest/rules/no-console
*/
'no-console'?: Linter.RuleEntry<NoConsole>;
/**
* Disallow reassigning `const` variables
* @see https://eslint.org/docs/latest/rules/no-const-assign
*/
'no-const-assign'?: Linter.RuleEntry<[]>;
/**
* Disallow expressions where the operation doesn't affect the value
* @see https://eslint.org/docs/latest/rules/no-constant-binary-expression
*/
'no-constant-binary-expression'?: Linter.RuleEntry<[]>;
/**
* Disallow constant expressions in conditions
* @see https://eslint.org/docs/latest/rules/no-constant-condition
*/
'no-constant-condition'?: Linter.RuleEntry<NoConstantCondition>;
/**
* Disallow returning value from constructor
* @see https://eslint.org/docs/latest/rules/no-constructor-return
*/
'no-constructor-return'?: Linter.RuleEntry<[]>;
/**
*