Configuration
Linting with Flint must be configured by at least one flint.config.* configuration file, in the root of a repository to be linted.
That file may be any extension recognized by your version of Node.js.
Flint configs must default-export the result of calling the defineConfig function imported from the flint package.
flint also exports a globs object for common file globs, as well as objects for each of the core plugins.
defineConfig
Section titled “defineConfig”Defines a new configuration for linting.
It takes in an object with one required property, use:
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.files: Record<"all", FilesValue>
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, }, ],});The only required object property to pass to defineConfig is use, an array of definitions containing two properties:
files: glob pattern(s) describing which file(s) to lintrules: any number of rules to enable for those files
Any number of glob pattern(s) describing file(s) to lint.
This can be a string, any level deep array of strings, or an object containing exclude and include.
For example, this files selector matches all TypeScript test files by extension and in a directory:
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: ["src/**/*.test.*.ts", "test/**/*.ts"], ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, }, ],});See the Node.js file system glob documentation for details on glob patterns.
exclude and include
Section titled “exclude and include”In addition to plain strings, files selectors can also be objects with two properties:
exclude: glob pattern(s) to not include in the files groupinclude: glob pattern(s) to include in the files group
For example, this files selector matches all TypeScript source files that don’t have a *.test.* extension:
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: { FilesGlobObject.exclude: AnyLevelDeep<FilesValue>
exclude: "**/*.test.*", FilesGlobObject.include: AnyLevelDeep<FilesValue>
include: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.files: Record<"all", FilesValue>
files.all: FilesValue
all, }, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, }, ],});Any number of rule(s) to enable on the corresponding files.
These may be arrays of rules, such as from presets exported by plugins, and/or calls to plugin rules themselves.
For example, this rules entry enables all the recommended logical and stylistic TypeScript rules:
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.files: Record<"all", FilesValue>
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: [const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.stylistic: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
stylistic], }, ],});Configuring Rules
Section titled “Configuring Rules”Rules can be configured or even disabled by calling to the rules method of their plugin.
That method takes in an object where the keys are rule names and values are what to do with the rule:
true: enable it (if it wasn’t already)false: disable it (if it was previously enabled)- Object containing options: enable it with those options
For example, this rules entry disables one rule and reconfigures another:
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.files: Record<"all", FilesValue>
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: [ const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.stylistic: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
stylistic, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.rules: (rulesOptions: PluginRulesOptions<[Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | ... 3 more ... | "untyped">, object, object, "unsafeArrayDestructure" | ... 4 more ... | "unsafeObjectPattern", AnyOptionalSchema>, ... 140 more ..., Rule<...>]>) => [...]
rules({ debuggerStatements: false
debuggerStatements: false, namespaceDeclarations: { allowDeclarations: true;}
namespaceDeclarations: { allowDeclarations?: boolean | undefined
allowDeclarations: true, }, }), ], }, ],});A helper object containing file selectors with dynamic computed values.
Currently it contains only one selector, all.
Includes all files previously selected by the configuration.
For example, this config enables the spelling plugin on all files that are being linted, which includes multiple languages:
import { const spelling: Plugin<RuleAbout, string | undefined, [Rule<RuleAboutWithPresetsAndUrl<"logical">, object, object, "issue", AnyOptionalSchema>]>
spelling } from "@flint.fyi/spelling";import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const globs: { all: FilesComputer;}
globs, const md: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "bareUrl", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "emptyDefinition", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "duplicateDefinition", AnyOptionalSchema>, ... 12 more ..., Rule<...>]>
md, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: const md: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "bareUrl", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "emptyDefinition", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "duplicateDefinition", AnyOptionalSchema>, ... 12 more ..., Rule<...>]>
md.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "bareUrl", AnyOptionalSchema>, ... 14 more ..., Rule<...>]>.files: Record<"all", FilesValue>
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: const md: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "bareUrl", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "emptyDefinition", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "duplicateDefinition", AnyOptionalSchema>, ... 12 more ..., Rule<...>]>
md.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict">, object, object, "bareUrl", AnyOptionalSchema>, ... 14 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, }, { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.files: Record<"all", FilesValue>
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: [const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, const ts: Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", AnyOptionalSchema>, ... 141 more ..., Rule<...>]>
ts.Plugin<RuleAbout, "all", [Rule<RuleAboutWithPresetsAndUrl<"logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">, object, object, "noGetterRecursion" | "noSetterRecursion", AnyOptionalSchema>, ... 142 more ..., Rule<...>]>.presets: PluginPresets<RuleAbout, "logical" | "logicalStrict" | "stylistic" | "stylisticStrict" | "untyped">
presets.stylistic: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
stylistic], }, { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
files: const globs: { all: FilesComputer;}
globs.all: FilesComputer
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
rules: const spelling: Plugin<RuleAbout, string | undefined, [Rule<RuleAboutWithPresetsAndUrl<"logical">, object, object, "issue", AnyOptionalSchema>]>
spelling.Plugin<RuleAbout, string | undefined, [Rule<RuleAboutWithPresetsAndUrl<"logical">, object, object, "issue", AnyOptionalSchema>]>.presets: PluginPresets<RuleAbout, "logical">
presets.logical: Rule<RuleAbout, object, object, string, AnyOptionalSchema | undefined>[]
logical, }, ],});Inline Directives
Section titled “Inline Directives”You can also disable specific rules inline in your code using comment directives. This is useful when you need to suppress a rule for a specific line, block, or file.