UNPKG

@rebeccastevens/eslint-config

Version:
1,116 lines (1,114 loc) 613 kB
// Generated by dts-bundle-generator v9.5.1 import { StylisticCustomizeOptions } from '@stylistic/eslint-plugin'; import { ParserOptions } from '@typescript-eslint/parser'; import { TSESLint } from '@typescript-eslint/utils'; import { SharedConfig } from '@typescript-eslint/utils/ts-eslint'; import { ESLint, Linter } from 'eslint'; import { Options as VueBlocksOptions } from 'eslint-processor-vue-blocks'; import { Options as PrettierOptions } from 'prettier'; type LocaleKeyType = "file" | "path" | "key"; type SettingsVueI18nLocaleDir = SettingsVueI18nLocaleDirGlob | SettingsVueI18nLocaleDirObject | Array<SettingsVueI18nLocaleDirGlob | SettingsVueI18nLocaleDirObject>; type SettingsVueI18nLocaleDirGlob = string; interface SettingsVueI18nLocaleDirObject { /** * A glob for specifying files that store localization messages of project. */ pattern: string; /** * Specifies how to determine the locale for localization messages. */ localeKey: LocaleKeyType; /** * Specifies how to determine pattern the locale for localization messages. * * This option means, when `localeKey` is `'path'`, you will need to capture the locale using a regular expression. * You need to use the locale capture as a named capture `?<locale>`, so it’s be able to capture from the path of the locale resources. * If you omit it, it will be captured from the resource path with the same regular expression pattern as `vue-cli-plugin-i18n`. */ localePattern?: string | RegExp; } declare module "eslint" { namespace Linter { interface RulesRecord extends RuleOptions { } } } interface RuleOptions { /** * require a `eslint-enable` comment for every `eslint-disable` comment * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html */ "comments/disable-enable-pair"?: Linter.RuleEntry<CommentsDisableEnablePair>; /** * disallow a `eslint-enable` comment for multiple `eslint-disable` comments * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html */ "comments/no-aggregating-enable"?: Linter.RuleEntry<[ ]>; /** * disallow duplicate `eslint-disable` comments * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html */ "comments/no-duplicate-disable"?: Linter.RuleEntry<[ ]>; /** * disallow `eslint-disable` comments about specific rules * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html */ "comments/no-restricted-disable"?: Linter.RuleEntry<CommentsNoRestrictedDisable>; /** * disallow `eslint-disable` comments without rule names * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html */ "comments/no-unlimited-disable"?: Linter.RuleEntry<[ ]>; /** * disallow unused `eslint-disable` comments * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html */ "comments/no-unused-disable"?: Linter.RuleEntry<[ ]>; /** * disallow unused `eslint-enable` comments * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html */ "comments/no-unused-enable"?: Linter.RuleEntry<[ ]>; /** * disallow ESLint directive-comments * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html */ "comments/no-use"?: Linter.RuleEntry<CommentsNoUse>; /** * require include descriptions in ESLint directive-comments * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html */ "comments/require-description"?: Linter.RuleEntry<CommentsRequireDescription>; /** * Use dprint to format code */ "format/dprint"?: Linter.RuleEntry<FormatDprint>; /** * Use Prettier to format code */ "format/prettier"?: Linter.RuleEntry<FormatPrettier>; /** * Enforce functional parameters. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/functional-parameters.md */ "functional/functional-parameters"?: Linter.RuleEntry<FunctionalFunctionalParameters>; /** * Enforce treating data as immutable. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/immutable-data.md */ "functional/immutable-data"?: Linter.RuleEntry<FunctionalImmutableData>; /** * Disallow inheritance in classes. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-class-inheritance.md */ "functional/no-class-inheritance"?: Linter.RuleEntry<FunctionalNoClassInheritance>; /** * Disallow classes. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-classes.md */ "functional/no-classes"?: Linter.RuleEntry<FunctionalNoClasses>; /** * Disallow conditional statements. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-conditional-statements.md */ "functional/no-conditional-statements"?: Linter.RuleEntry<FunctionalNoConditionalStatements>; /** * Disallow expression statements. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-expression-statements.md */ "functional/no-expression-statements"?: Linter.RuleEntry<FunctionalNoExpressionStatements>; /** * Disallow mutable variables. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-let.md */ "functional/no-let"?: Linter.RuleEntry<FunctionalNoLet>; /** * Disallow imperative loops. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-loop-statements.md */ "functional/no-loop-statements"?: Linter.RuleEntry<[ ]>; /** * Restrict types so that only members of the same kind are allowed in them. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-mixed-types.md */ "functional/no-mixed-types"?: Linter.RuleEntry<FunctionalNoMixedTypes>; /** * Disallow rejecting promises. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-promise-reject.md */ "functional/no-promise-reject"?: Linter.RuleEntry<[ ]>; /** * Disallow functions that don't return anything. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-return-void.md */ "functional/no-return-void"?: Linter.RuleEntry<FunctionalNoReturnVoid>; /** * Disallow this access. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-this-expressions.md */ "functional/no-this-expressions"?: Linter.RuleEntry<[ ]>; /** * Disallow throwing exceptions. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-throw-statements.md */ "functional/no-throw-statements"?: Linter.RuleEntry<FunctionalNoThrowStatements>; /** * Disallow try-catch[-finally] and try-finally patterns. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-try-statements.md */ "functional/no-try-statements"?: Linter.RuleEntry<FunctionalNoTryStatements>; /** * Require function parameters to be typed as certain immutability * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-immutable-types.md */ "functional/prefer-immutable-types"?: Linter.RuleEntry<FunctionalPreferImmutableTypes>; /** * Prefer property signatures over method signatures. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-property-signatures.md */ "functional/prefer-property-signatures"?: Linter.RuleEntry<FunctionalPreferPropertySignatures>; /** * Prefer readonly types over mutable types. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-readonly-type.md * @deprecated */ "functional/prefer-readonly-type"?: Linter.RuleEntry<FunctionalPreferReadonlyType>; /** * Replaces `x => f(x)` with just `f`. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-tacit.md */ "functional/prefer-tacit"?: Linter.RuleEntry<FunctionalPreferTacit>; /** * Require consistently using either `readonly` keywords or `Readonly<T>` * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/readonly-type.md */ "functional/readonly-type"?: Linter.RuleEntry<FunctionalReadonlyType>; /** * Enforce the immutability of types based on patterns. * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/type-declaration-immutability.md */ "functional/type-declaration-immutability"?: Linter.RuleEntry<FunctionalTypeDeclarationImmutability>; /** * Enforce or ban the use of inline type-only markers for named imports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/consistent-type-specifier-style.md */ "import/consistent-type-specifier-style"?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>; /** * Ensure a default export is present, given a default import. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/default.md */ "import/default"?: Linter.RuleEntry<[ ]>; /** * Enforce a leading comment with the webpackChunkName for dynamic imports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/dynamic-import-chunkname.md */ "import/dynamic-import-chunkname"?: Linter.RuleEntry<ImportDynamicImportChunkname>; /** * Forbid any invalid exports, i.e. re-export of the same name. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/export.md */ "import/export"?: Linter.RuleEntry<[ ]>; /** * Ensure all exports appear after other statements. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/exports-last.md */ "import/exports-last"?: Linter.RuleEntry<[ ]>; /** * Ensure consistent use of file extension within the import path. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/extensions.md */ "import/extensions"?: Linter.RuleEntry<ImportExtensions>; /** * Ensure all imports appear before other statements. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/first.md */ "import/first"?: Linter.RuleEntry<ImportFirst>; /** * Prefer named exports to be grouped together in a single export declaration. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/group-exports.md */ "import/group-exports"?: Linter.RuleEntry<[ ]>; /** * Replaced by `import-x/first`. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/imports-first.md * @deprecated */ "import/imports-first"?: Linter.RuleEntry<ImportImportsFirst>; /** * Enforce the maximum number of dependencies a module can have. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/max-dependencies.md */ "import/max-dependencies"?: Linter.RuleEntry<ImportMaxDependencies>; /** * Ensure named imports correspond to a named export in the remote file. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/named.md */ "import/named"?: Linter.RuleEntry<ImportNamed>; /** * Ensure imported namespaces contain dereferenced properties as they are dereferenced. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/namespace.md */ "import/namespace"?: Linter.RuleEntry<ImportNamespace>; /** * Enforce a newline after import statements. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/newline-after-import.md */ "import/newline-after-import"?: Linter.RuleEntry<ImportNewlineAfterImport>; /** * Forbid import of modules using absolute paths. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-absolute-path.md */ "import/no-absolute-path"?: Linter.RuleEntry<ImportNoAbsolutePath>; /** * Forbid AMD `require` and `define` calls. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-amd.md */ "import/no-amd"?: Linter.RuleEntry<[ ]>; /** * Forbid anonymous values as default exports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-anonymous-default-export.md */ "import/no-anonymous-default-export"?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>; /** * Forbid CommonJS `require` calls and `module.exports` or `exports.*`. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-commonjs.md */ "import/no-commonjs"?: Linter.RuleEntry<ImportNoCommonjs>; /** * Forbid a module from importing a module with a dependency path back to itself. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-cycle.md */ "import/no-cycle"?: Linter.RuleEntry<ImportNoCycle>; /** * Forbid default exports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-default-export.md */ "import/no-default-export"?: Linter.RuleEntry<[ ]>; /** * Forbid imported names marked with `@deprecated` documentation tag. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-deprecated.md */ "import/no-deprecated"?: Linter.RuleEntry<[ ]>; /** * Forbid repeated import of the same module in multiple places. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-duplicates.md */ "import/no-duplicates"?: Linter.RuleEntry<ImportNoDuplicates>; /** * Forbid `require()` calls with expressions. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-dynamic-require.md */ "import/no-dynamic-require"?: Linter.RuleEntry<ImportNoDynamicRequire>; /** * Forbid empty named import blocks. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-empty-named-blocks.md */ "import/no-empty-named-blocks"?: Linter.RuleEntry<[ ]>; /** * Forbid the use of extraneous packages. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-extraneous-dependencies.md */ "import/no-extraneous-dependencies"?: Linter.RuleEntry<ImportNoExtraneousDependencies>; /** * Forbid import statements with CommonJS module.exports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-import-module-exports.md */ "import/no-import-module-exports"?: Linter.RuleEntry<ImportNoImportModuleExports>; /** * Forbid importing the submodules of other modules. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-internal-modules.md */ "import/no-internal-modules"?: Linter.RuleEntry<ImportNoInternalModules>; /** * Forbid the use of mutable exports with `var` or `let`. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-mutable-exports.md */ "import/no-mutable-exports"?: Linter.RuleEntry<[ ]>; /** * Forbid use of exported name as identifier of default export. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-as-default.md */ "import/no-named-as-default"?: Linter.RuleEntry<[ ]>; /** * Forbid use of exported name as property of default export. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-as-default-member.md */ "import/no-named-as-default-member"?: Linter.RuleEntry<[ ]>; /** * Forbid named default exports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-default.md */ "import/no-named-default"?: Linter.RuleEntry<[ ]>; /** * Forbid named exports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-export.md */ "import/no-named-export"?: Linter.RuleEntry<[ ]>; /** * Forbid namespace (a.k.a. "wildcard" `*`) imports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-namespace.md */ "import/no-namespace"?: Linter.RuleEntry<ImportNoNamespace>; /** * Forbid Node.js builtin modules. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-nodejs-modules.md */ "import/no-nodejs-modules"?: Linter.RuleEntry<ImportNoNodejsModules>; /** * Forbid importing packages through relative paths. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-packages.md */ "import/no-relative-packages"?: Linter.RuleEntry<ImportNoRelativePackages>; /** * Forbid importing modules from parent directories. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-parent-imports.md */ "import/no-relative-parent-imports"?: Linter.RuleEntry<ImportNoRelativeParentImports>; /** * Forbid importing a default export by a different name. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-rename-default.md */ "import/no-rename-default"?: Linter.RuleEntry<ImportNoRenameDefault>; /** * Enforce which files can be imported in a given folder. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-restricted-paths.md */ "import/no-restricted-paths"?: Linter.RuleEntry<ImportNoRestrictedPaths>; /** * Forbid a module from importing itself. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-self-import.md */ "import/no-self-import"?: Linter.RuleEntry<[ ]>; /** * Forbid unassigned imports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unassigned-import.md */ "import/no-unassigned-import"?: Linter.RuleEntry<ImportNoUnassignedImport>; /** * Ensure imports point to a file/module that can be resolved. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unresolved.md */ "import/no-unresolved"?: Linter.RuleEntry<ImportNoUnresolved>; /** * Forbid modules without exports, or exports without matching import in another module. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unused-modules.md */ "import/no-unused-modules"?: Linter.RuleEntry<ImportNoUnusedModules>; /** * Forbid unnecessary path segments in import and require statements. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-useless-path-segments.md */ "import/no-useless-path-segments"?: Linter.RuleEntry<ImportNoUselessPathSegments>; /** * Forbid webpack loader syntax in imports. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-webpack-loader-syntax.md */ "import/no-webpack-loader-syntax"?: Linter.RuleEntry<[ ]>; /** * Enforce a convention in module import order. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/order.md */ "import/order"?: Linter.RuleEntry<ImportOrder>; /** * Prefer a default export if module exports a single name or multiple names. * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/prefer-default-export.md */ "import/prefer-default-export"?: Linter.RuleEntry<ImportPreferDefaultExport>; /** * Forbid potentially ambiguous parse goal (`script` vs. `module`). * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/unambiguous.md */ "import/unambiguous"?: Linter.RuleEntry<[ ]>; /** * 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<[ ]>; /** * 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 emojis are wrapped in `<span>` and provide screen reader access. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md * @deprecated */ "jsx-a11y/accessible-emoji"?: Linter.RuleEntry<JsxA11YAccessibleEmoji>; /** * Enforce all elements that require alternative text have meaningful information to relay back to end user. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/alt-text.md */ "jsx-a11y/alt-text"?: Linter.RuleEntry<JsxA11YAltText>; /** * Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link". * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-ambiguous-text.md */ "jsx-a11y/anchor-ambiguous-text"?: Linter.RuleEntry<JsxA11YAnchorAmbiguousText>; /** * Enforce all anchors to contain accessible content. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-has-content.md */ "jsx-a11y/anchor-has-content"?: Linter.RuleEntry<JsxA11YAnchorHasContent>; /** * Enforce all anchors are valid, navigable elements. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-is-valid.md */ "jsx-a11y/anchor-is-valid"?: Linter.RuleEntry<JsxA11YAnchorIsValid>; /** * Enforce elements with aria-activedescendant are tabbable. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-activedescendant-has-tabindex.md */ "jsx-a11y/aria-activedescendant-has-tabindex"?: Linter.RuleEntry<JsxA11YAriaActivedescendantHasTabindex>; /** * Enforce all `aria-*` props are valid. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-props.md */ "jsx-a11y/aria-props"?: Linter.RuleEntry<JsxA11YAriaProps>; /** * Enforce ARIA state and property values are valid. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-proptypes.md */ "jsx-a11y/aria-proptypes"?: Linter.RuleEntry<JsxA11YAriaProptypes>; /** * Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-role.md */ "jsx-a11y/aria-role"?: Linter.RuleEntry<JsxA11YAriaRole>; /** * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-unsupported-elements.md */ "jsx-a11y/aria-unsupported-elements"?: Linter.RuleEntry<JsxA11YAriaUnsupportedElements>; /** * Enforce that autocomplete attributes are used correctly. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/autocomplete-valid.md */ "jsx-a11y/autocomplete-valid"?: Linter.RuleEntry<JsxA11YAutocompleteValid>; /** * Enforce a clickable non-interactive element has at least one keyboard event listener. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/click-events-have-key-events.md */ "jsx-a11y/click-events-have-key-events"?: Linter.RuleEntry<JsxA11YClickEventsHaveKeyEvents>; /** * Enforce that a control (an interactive element) has a text label. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md */ "jsx-a11y/control-has-associated-label"?: Linter.RuleEntry<JsxA11YControlHasAssociatedLabel>; /** * Enforce heading (`h1`, `h2`, etc) elements contain accessible content. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md */ "jsx-a11y/heading-has-content"?: Linter.RuleEntry<JsxA11YHeadingHasContent>; /** * Enforce `<html>` element has `lang` prop. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/html-has-lang.md */ "jsx-a11y/html-has-lang"?: Linter.RuleEntry<JsxA11YHtmlHasLang>; /** * Enforce iframe elements have a title attribute. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/iframe-has-title.md */ "jsx-a11y/iframe-has-title"?: Linter.RuleEntry<JsxA11YIframeHasTitle>; /** * Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo". * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/img-redundant-alt.md */ "jsx-a11y/img-redundant-alt"?: Linter.RuleEntry<JsxA11YImgRedundantAlt>; /** * Enforce that elements with interactive handlers like `onClick` must be focusable. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/interactive-supports-focus.md */ "jsx-a11y/interactive-supports-focus"?: Linter.RuleEntry<JsxA11YInteractiveSupportsFocus>; /** * Enforce that a `label` tag has a text label and an associated control. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md */ "jsx-a11y/label-has-associated-control"?: Linter.RuleEntry<JsxA11YLabelHasAssociatedControl>; /** * Enforce that `<label>` elements have the `htmlFor` prop. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/label-has-for.md * @deprecated */ "jsx-a11y/label-has-for"?: Linter.RuleEntry<JsxA11YLabelHasFor>; /** * Enforce lang attribute has a valid value. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/lang.md */ "jsx-a11y/lang"?: Linter.RuleEntry<JsxA11YLang>; /** * Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/media-has-caption.md */ "jsx-a11y/media-has-caption"?: Linter.RuleEntry<JsxA11YMediaHasCaption>; /** * Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/mouse-events-have-key-events.md */ "jsx-a11y/mouse-events-have-key-events"?: Linter.RuleEntry<JsxA11YMouseEventsHaveKeyEvents>; /** * Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screen reader. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md */ "jsx-a11y/no-access-key"?: Linter.RuleEntry<JsxA11YNoAccessKey>; /** * Disallow `aria-hidden="true"` from being set on focusable elements. * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-aria-hidden-on-focusable.md */ "jsx-a11y/no-aria-hidden-on-focusable"?: Linter.RuleEntry<JsxA11YNoAriaHiddenOnFocusa