Discover modules > cue.dev/x/npmjs/eslint
v0.6.0
#Plugins: ¶
"@angular-eslint/component-class-suffix"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"suffixes"?: [...string]
		...
	}, ...],
])
¶

Classes decorated with @Component must have suffix "Component" (or custom) in their name. See more at https://angular.dev/style-guide#style-02-03 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-class-suffix.md

"@angular-eslint/component-max-inline-declarations"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"template"?:   >=0
		"styles"?:     >=0
		"animations"?: >=0
		...
	}, ...],
])
¶

Enforces a maximum number of lines in inline template, styles and animations. See more at https://angular.dev/style-guide#style-05-04 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-max-inline-declarations.md

"@angular-eslint/component-selector"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"type"?:   matchN(1, [string, [..."element" | "attribute"]])
		"prefix"?: string | [...]
		"style"?:  "camelCase" | "kebab-case"
		...
	}, ...],
])
¶

Component selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-07, https://angular.dev/style-guide#style-05-02 and https://angular.dev/style-guide#style-05-03. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-selector.md

"@angular-eslint/consistent-component-styles"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Ensures consistent usage of `styles`/`styleUrls`/`styleUrl` within Component metadata https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-component-styles.md

"@angular-eslint/contextual-decorator"?: _ ¶

Ensures that classes use contextual decorators in its body https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-decorator.md

"@angular-eslint/contextual-lifecycle"?: _ ¶

Ensures that lifecycle methods are used in a correct context https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-lifecycle.md

"@angular-eslint/directive-class-suffix"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"suffixes"?: [...string]
		...
	}, ...],
])
¶

Classes decorated with @Directive must have suffix "Directive" (or custom) in their name. See more at https://angular.dev/style-guide#style-02-03 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-class-suffix.md

"@angular-eslint/directive-selector"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"type"?:   matchN(1, [string, [..."element" | "attribute"]])
		"prefix"?: string | [...]
		"style"?:  "camelCase" | "kebab-case"
		...
	}, ...],
])
¶

Directive selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-06 and https://angular.dev/style-guide#style-02-08. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-selector.md

"@angular-eslint/no-async-lifecycle-method"?: _ ¶

Angular Lifecycle methods should not be async. Angular does not wait for async lifecycle but the code incorrectly suggests it does. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-async-lifecycle-method.md

"@angular-eslint/no-attribute-decorator"?: _ ¶

The @Attribute decorator is used to obtain a single value for an attribute. This is a much less common use-case than getting a stream of values (using @Input), so often the @Attribute decorator is mistakenly used when @Input was what was intended. This rule disallows usage of @Attribute decorator altogether in order to prevent these mistakes. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-attribute-decorator.md

"@angular-eslint/no-conflicting-lifecycle"?: _ ¶

Ensures that directives not implement conflicting lifecycle interfaces. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-conflicting-lifecycle.md

"@angular-eslint/no-duplicates-in-metadata-arrays"?: _ ¶

Ensures that metadata arrays do not contain duplicate entries. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-duplicates-in-metadata-arrays.md

"@angular-eslint/no-empty-lifecycle-method"?: _ ¶

Disallows declaring empty lifecycle methods https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-empty-lifecycle-method.md

"@angular-eslint/no-forward-ref"?: _ ¶

Disallows usage of `forwardRef` references for DI https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-forward-ref.md

"@angular-eslint/no-host-metadata-property"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowStatic"?: bool
		...
	}, ...],
])
¶

Disallows usage of the `host` metadata property. NOTE: This used to be recommended by the Angular Team, but now they recommend the exact opposite: https://github.com/angular/angular/issues/54284 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-host-metadata-property.md

"@angular-eslint/no-input-prefix"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"prefixes"?: [...string]
		...
	}, ...],
])
¶

Ensures that input bindings, including aliases, are not named or prefixed by the configured disallowed prefixes https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-prefix.md

"@angular-eslint/no-input-rename"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// A list with allowed input names
		"allowedNames"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Ensures that input bindings are not aliased https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-rename.md

"@angular-eslint/no-inputs-metadata-property"?: _ ¶

Disallows usage of the `inputs` metadata property. See more at https://angular.dev/style-guide#style-05-12 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-inputs-metadata-property.md

"@angular-eslint/no-lifecycle-call"?: _ ¶

Disallows explicit calls to lifecycle methods https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-lifecycle-call.md

"@angular-eslint/no-output-native"?: _ ¶

Ensures that output bindings, including aliases, are not named as standard DOM events https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-native.md

"@angular-eslint/no-output-on-prefix"?: _ ¶

Ensures that output bindings, including aliases, are not named "on", nor prefixed with it. See more at https://angular.dev/style-guide#style-05-16 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-on-prefix.md

"@angular-eslint/no-output-rename"?: _ ¶

Ensures that output bindings are not aliased https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-rename.md

"@angular-eslint/no-outputs-metadata-property"?: _ ¶

Disallows usage of the `outputs` metadata property. See more at https://angular.dev/style-guide#style-05-12 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-outputs-metadata-property.md

"@angular-eslint/no-pipe-impure"?: _ ¶

Disallows the declaration of impure pipes https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-pipe-impure.md

"@angular-eslint/no-queries-metadata-property"?: _ ¶

Disallows usage of the `queries` metadata property. See more at https://angular.dev/style-guide#style-05-12. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-queries-metadata-property.md

"@angular-eslint/pipe-prefix"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"prefixes"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Enforce consistent prefix for pipes. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/pipe-prefix.md

"@angular-eslint/prefer-on-push-component-change-detection"?: _ ¶

Ensures component's `changeDetection` is set to `ChangeDetectionStrategy.OnPush` https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-on-push-component-change-detection.md

"@angular-eslint/prefer-standalone"?: _ ¶

Ensures component, directive and pipe `standalone` property is set to `true` in the component decorator https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone.md

"@angular-eslint/prefer-standalone-component"?: _ ¶

Ensures component `standalone` property is set to `true` in the component decorator https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone-component.md

"@angular-eslint/prefer-output-readonly"?: _ ¶

Prefer to declare `@Output` as `readonly` since they are not supposed to be reassigned https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-output-readonly.md

"@angular-eslint/relative-url-prefix"?: _ ¶

The ./ and ../ prefix is standard syntax for relative URLs; don't depend on Angular's current ability to do without that prefix. See more at https://angular.dev/style-guide#style-05-04 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/relative-url-prefix.md

"@angular-eslint/require-localize-metadata"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"requireDescription"?: bool
		"requireMeaning"?:     bool
		...
	}, ...],
])
¶

Ensures that $localize tagged messages contain helpful metadata to aid with translations. https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/require-localize-metadata.md

"@angular-eslint/sort-lifecycle-methods"?: _ ¶

Ensures that lifecycle methods are declared in order of execution https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-lifecycle-methods.md

"@angular-eslint/sort-ngmodule-metadata-arrays"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// A string with a BCP 47 language tag.
		"locale"?: string
		...
	}, ...],
])
¶

Ensures ASC alphabetical order for `NgModule` metadata arrays for easy visual scanning https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-ngmodule-metadata-arrays.md

"@angular-eslint/use-component-selector"?: _ ¶

Component selector must be declared https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-selector.md

"@angular-eslint/use-component-view-encapsulation"?: _ ¶

Disallows using `ViewEncapsulation.None` https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-view-encapsulation.md

"@angular-eslint/use-injectable-provided-in"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreClassNamePattern"?: string
		...
	}, ...],
])
¶

Using the `providedIn` property makes `Injectables` tree-shakable https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-injectable-provided-in.md

"@angular-eslint/use-lifecycle-interface"?: _ ¶

Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at https://angular.dev/style-guide#style-09-01 https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-lifecycle-interface.md

"@angular-eslint/use-pipe-transform-interface"?: _ ¶

Ensures that `Pipes` implement `PipeTransform` interface https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-pipe-transform-interface.md

"eslint-plugin-import/no-unresolved"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"commonjs"?:            bool
		"amd"?:                 bool
		"esmodule"?:            bool
		"ignore"?:              list.MinItems(1) & list.UniqueItems() & [...string]
		"caseSensitive"?:       bool
		"caseSensitiveStrict"?: bool
		...
	}, ...],
])
¶

Ensure imports point to a file/module that can be resolved. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unresolved.md

"eslint-plugin-import/named"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"commonjs"?: bool
		...
	}, ...],
])
¶

Ensure named imports correspond to a named export in the remote file. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/named.md

"eslint-plugin-import/default"?: _ ¶

Ensure a default export is present, given a default import. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/default.md

"eslint-plugin-import/namespace"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// If `false`, will report computed (and thus, un-lintable) references to namespace members.
		"allowComputed"?: bool
		...
	}, ...],
])
¶

Ensure imported namespaces contain dereferenced properties as they are dereferenced. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/namespace.md

"eslint-plugin-import/no-namespace"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignore"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Forbid namespace (a.k.a. "wildcard" `*`) imports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-namespace.md

"eslint-plugin-import/export"?: _ ¶

Forbid any invalid exports, i.e. re-export of the same name. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/export.md

"eslint-plugin-import/no-mutable-exports"?: _ ¶

Forbid the use of mutable exports with `var` or `let`. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-mutable-exports.md

"eslint-plugin-import/extensions"?: _ ¶

Ensure consistent use of file extension within the import path. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/extensions.md

"eslint-plugin-import/no-restricted-paths"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"zones"?: list.MinItems(1) & [...close({
			"target"?:  matchN(>=1, [string, list.UniqueItems() & list.MinItems(1) & [...string]])
			"from"?:    matchN(>=1, [string, list.UniqueItems() & list.MinItems(1) & [...string]])
			"except"?:  list.UniqueItems() & [...string]
			"message"?: string
		})]
		"basePath"?: string
		...
	}, ...],
])
¶

Enforce which files can be imported in a given folder. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-restricted-paths.md

"eslint-plugin-import/no-internal-modules"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Forbid importing the submodules of other modules. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-internal-modules.md

"eslint-plugin-import/group-exports"?: _ ¶

Prefer named exports to be grouped together in a single export declaration https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/group-exports.md

"eslint-plugin-import/no-relative-packages"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"commonjs"?: bool
		"amd"?:      bool
		"esmodule"?: bool
		"ignore"?:   list.MinItems(1) & list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Forbid importing packages through relative paths. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-relative-packages.md

"eslint-plugin-import/no-relative-parent-imports"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"commonjs"?: bool
		"amd"?:      bool
		"esmodule"?: bool
		"ignore"?:   list.MinItems(1) & list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Forbid importing modules from parent directories. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-relative-parent-imports.md

"eslint-plugin-import/consistent-type-specifier-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce or ban the use of inline type-only markers for named imports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/consistent-type-specifier-style.md

"eslint-plugin-import/no-self-import"?: _ ¶

Forbid a module from importing itself. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-self-import.md

"eslint-plugin-import/no-cycle"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"commonjs"?: bool
		"amd"?:      bool
		"esmodule"?: bool
		"ignore"?:   list.MinItems(1) & list.UniqueItems() & [...string]
		"maxDepth"?: matchN(>=1, [int & >=1, "∞"])

		// ignore external modules
		"ignoreExternal"?: bool

		// Allow cyclic dependency if there is at least one dynamic import in the chain
		"allowUnsafeDynamicCyclicDependency"?: bool
		...
	}, ...],
])
¶

Forbid a module from importing a module with a dependency path back to itself. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-cycle.md

"eslint-plugin-import/no-named-default"?: _ ¶

Forbid named default exports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-default.md

"eslint-plugin-import/no-named-as-default"?: _ ¶

Forbid use of exported name as identifier of default export. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-as-default.md

"eslint-plugin-import/no-named-as-default-member"?: _ ¶

Forbid use of exported name as property of default export. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-as-default-member.md

"eslint-plugin-import/no-anonymous-default-export"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// If `false`, will report default export of an array
		"allowArray"?: bool

		// If `false`, will report default export of an arrow function
		"allowArrowFunction"?: bool

		// If `false`, will report default export of a function call
		"allowCallExpression"?: bool

		// If `false`, will report default export of an anonymous class
		"allowAnonymousClass"?: bool

		// If `false`, will report default export of an anonymous function
		"allowAnonymousFunction"?: bool

		// If `false`, will report default export of a literal
		"allowLiteral"?: bool

		// If `false`, will report default export of an object expression
		"allowObject"?: bool

		// If `false`, will report default export of a class instantiation
		"allowNew"?: bool
		...
	}, ...],
])
¶

Forbid anonymous values as default exports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-anonymous-default-export.md

"eslint-plugin-import/no-unused-modules"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// files/paths to be analyzed (only for unused exports)
		"src"?: list.UniqueItems() & [...strings.MinRunes(1)]

		// files/paths for which unused exports will not be reported (e.g module entry points)
		"ignoreExports"?: list.UniqueItems() & [...strings.MinRunes(1)]

		// report modules without any exports
		"missingExports"?: bool

		// report exports without any usage
		"unusedExports"?: bool
		...
	}, ...],
])
¶

Forbid modules without exports, or exports without matching import in another module. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unused-modules.md

"eslint-plugin-import/no-commonjs"?: _ ¶

Forbid CommonJS `require` calls and `module.exports` or `exports.*`. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-commonjs.md

"eslint-plugin-import/no-amd"?: _ ¶

Forbid AMD `require` and `define` calls. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-amd.md

"eslint-plugin-import/no-duplicates"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"considerQueryString"?: bool
		"prefer-inline"?:       bool
		...
	}, ...],
])
¶

Forbid repeated import of the same module in multiple places. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-duplicates.md

"eslint-plugin-import/first"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Ensure all imports appear before other statements. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/first.md

"eslint-plugin-import/max-dependencies"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"max"?:               number
		"ignoreTypeImports"?: bool
		...
	}, ...],
])
¶

Enforce the maximum number of dependencies a module can have. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/max-dependencies.md

"eslint-plugin-import/no-extraneous-dependencies"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"devDependencies"?:      matchN(1, [bool, [..._]])
		"optionalDependencies"?: matchN(1, [bool, [..._]])
		"peerDependencies"?:     matchN(1, [bool, [..._]])
		"bundledDependencies"?:  matchN(1, [bool, [..._]])
		"packageDir"?:           matchN(1, [string, [..._]])
		"includeInternal"?:      bool
		"includeTypes"?:         bool
		...
	}, ...],
])
¶

Forbid the use of extraneous packages. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-extraneous-dependencies.md

"eslint-plugin-import/no-absolute-path"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"commonjs"?: bool
		"amd"?:      bool
		"esmodule"?: bool
		"ignore"?:   list.MinItems(1) & list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Forbid import of modules using absolute paths. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-absolute-path.md

"eslint-plugin-import/no-nodejs-modules"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Forbid Node.js builtin modules. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-nodejs-modules.md

"eslint-plugin-import/no-webpack-loader-syntax"?: _ ¶

Forbid webpack loader syntax in imports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-webpack-loader-syntax.md

"eslint-plugin-import/order"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"groups"?:                        [...]
		"pathGroupsExcludedImportTypes"?: [...]
		"distinctGroup"?:                 bool
		"pathGroups"?: [...close({
			"pattern"!:        string
			"patternOptions"?: {...}
			"group"!: "builtin" |
				"external" |
				"internal" |
				"unknown" |
				"parent" |
				"sibling" |
				"index" |
				"object" |
				"type"
			"position"?: "after" | "before"
		})]
		"newlines-between"?: "ignore" | "always" | "always-and-inside-groups" | "never"
		"alphabetize"?: close({
			"caseInsensitive"?: bool
			"order"?:           "ignore" | "asc" | "desc"
			"orderImportKind"?: "ignore" | "asc" | "desc"
		})
		"warnOnUnassignedImports"?: bool
		...
	}, ...],
])
¶

Enforce a convention in module import order. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/order.md

"eslint-plugin-import/newline-after-import"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"count"?:            int & >=1
		"exactCount"?:       bool
		"considerComments"?: bool
		...
	}, ...],
])
¶

Enforce a newline after import statements. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/newline-after-import.md

"eslint-plugin-import/prefer-default-export"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"target"?: "single" | "any"
		...
	}, ...],
])
¶

Prefer a default export if module exports a single name or multiple names. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/prefer-default-export.md

"eslint-plugin-import/no-default-export"?: _ ¶

Forbid default exports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-default-export.md

"eslint-plugin-import/no-named-export"?: _ ¶

Forbid named exports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-export.md

"eslint-plugin-import/no-dynamic-require"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"esmodule"?: bool
		...
	}, ...],
])
¶

Forbid `require()` calls with expressions. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-dynamic-require.md

"eslint-plugin-import/unambiguous"?: _ ¶

Forbid potentially ambiguous parse goal (`script` vs. `module`). https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/unambiguous.md

"eslint-plugin-import/no-unassigned-import"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"devDependencies"?:      matchN(1, [bool, [..._]])
		"optionalDependencies"?: matchN(1, [bool, [..._]])
		"peerDependencies"?:     matchN(1, [bool, [..._]])
		"allow"?:                [...string]
		...
	}, ...],
])
¶

Forbid unassigned imports https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unassigned-import.md

"eslint-plugin-import/no-useless-path-segments"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"commonjs"?:       bool
		"noUselessIndex"?: bool
		...
	}, ...],
])
¶

Forbid unnecessary path segments in import and require statements. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-useless-path-segments.md

"eslint-plugin-import/dynamic-import-chunkname"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"importFunctions"?:        list.UniqueItems() & [...string]
		"webpackChunknameFormat"?: string
		...
	}, ...],
])
¶

Enforce a leading comment with the webpackChunkName for dynamic imports. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/dynamic-import-chunkname.md

"eslint-plugin-import/no-import-module-exports"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"exceptions"?: [...]
		...
	}, ...],
])
¶

Forbid import statements with CommonJS module.exports.

"eslint-plugin-import/no-empty-named-blocks"?: _ ¶

Forbid empty named import blocks. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-empty-named-blocks.md

"eslint-plugin-import/exports-last"?: _ ¶

Ensure all exports appear after other statements. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/exports-last.md

"eslint-plugin-import/no-deprecated"?: _ ¶

Forbid imported names marked with `@deprecated` documentation tag. https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-deprecated.md

"eslint-plugin-import/imports-first"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Replaced by `import/first`. https://github.com/import-js/eslint-plugin-import/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md

"eslint-plugin-unicorn/better-regex"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"sortCharacterClasses"?: bool
		...
	}, ...],
])
¶

Improve regexes by making them shorter, consistent, and safer. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/better-regex.md

"eslint-plugin-unicorn/catch-error-name"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"name"?:   string
		"ignore"?: list.UniqueItems()
		...
	}, ...],
])
¶

Enforce a specific parameter name in catch clauses. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/catch-error-name.md

"eslint-plugin-unicorn/consistent-destructuring"?: _ ¶

Use destructured variables over properties. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-destructuring.md

"eslint-plugin-unicorn/consistent-empty-array-spread"?: _ ¶

Prefer consistent types when spreading a ternary in an array literal. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-empty-array-spread.md

"eslint-plugin-unicorn/consistent-function-scoping"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkArrowFunctions"?: bool
		...
	}, ...],
])
¶

Move function definitions to the highest possible scope. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-function-scoping.md

"eslint-plugin-unicorn/custom-error-definition"?: _ ¶

Enforce correct `Error` subclassing. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/custom-error-definition.md

"eslint-plugin-unicorn/empty-brace-spaces"?: _ ¶

Enforce no spaces between braces. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/empty-brace-spaces.md

"eslint-plugin-unicorn/error-message"?: _ ¶

Enforce passing a `message` value when creating a built-in error. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/error-message.md

"eslint-plugin-unicorn/escape-case"?: _ ¶

Require escape sequences to use uppercase values. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/escape-case.md

"eslint-plugin-unicorn/expiring-todo-comments"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"terms"?:                     [...string]
		"ignore"?:                    list.UniqueItems()
		"ignoreDatesOnPullRequests"?: bool
		"allowWarningComments"?:      bool
		"date"?:                      time.Format("2006-01-02")
		...
	}, ...],
])
¶

Add expiration conditions to TODO comments. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/expiring-todo-comments.md

"eslint-plugin-unicorn/explicit-length-check"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"non-zero"?: "greater-than" | "not-equal"
		...
	}, ...],
])
¶

Enforce explicitly comparing the `length` or `size` property of a value. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/explicit-length-check.md

"eslint-plugin-unicorn/filename-case"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce a case style for filenames. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/filename-case.md

"eslint-plugin-unicorn/import-style"?: _ ¶

Enforce specific import styles per module. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/import-style.md

"eslint-plugin-unicorn/new-for-builtins"?: _ ¶

Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/new-for-builtins.md

"eslint-plugin-unicorn/no-abusive-eslint-disable"?: _ ¶

Enforce specifying rules to disable in `eslint-disable` comments. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-abusive-eslint-disable.md

"eslint-plugin-unicorn/no-anonymous-default-export"?: _ ¶

Disallow anonymous functions and classes as the default export. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-anonymous-default-export.md

"eslint-plugin-unicorn/no-array-callback-reference"?: _ ¶

Prevent passing a function reference directly to iterator methods. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-callback-reference.md

"eslint-plugin-unicorn/no-array-for-each"?: _ ¶

Prefer `for…of` over the `forEach` method. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-for-each.md

"eslint-plugin-unicorn/no-array-method-this-argument"?: _ ¶

Disallow using the `this` argument in array methods. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-method-this-argument.md

"eslint-plugin-unicorn/no-array-push-push"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignore"?: list.UniqueItems()
		...
	}, ...],
])
¶

Enforce combining multiple `Array#push()` into one call. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-push-push.md

"eslint-plugin-unicorn/no-array-reduce"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowSimpleOperations"?: bool
		...
	}, ...],
])
¶

Disallow `Array#reduce()` and `Array#reduceRight()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-reduce.md

"eslint-plugin-unicorn/no-await-expression-member"?: _ ¶

Disallow member access from await expression. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-expression-member.md

"eslint-plugin-unicorn/no-await-in-promise-methods"?: _ ¶

Disallow using `await` in `Promise` method parameters. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-in-promise-methods.md

"eslint-plugin-unicorn/no-console-spaces"?: _ ¶

Do not use leading/trailing space between `console.log` parameters. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-console-spaces.md

"eslint-plugin-unicorn/no-document-cookie"?: _ ¶

Do not use `document.cookie` directly. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-document-cookie.md

"eslint-plugin-unicorn/no-empty-file"?: _ ¶

Disallow empty files. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-empty-file.md

"eslint-plugin-unicorn/no-for-loop"?: _ ¶

Do not use a `for` loop that can be replaced with a `for-of` loop. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-for-loop.md

"eslint-plugin-unicorn/no-hex-escape"?: _ ¶

Enforce the use of Unicode escapes instead of hexadecimal escapes. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-hex-escape.md

"eslint-plugin-unicorn/no-instanceof-array"?: _ ¶

Require `Array.isArray()` instead of `instanceof Array`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-instanceof-array.md

"eslint-plugin-unicorn/no-invalid-fetch-options"?: _ ¶

Disallow invalid options in `fetch()` and `new Request()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-fetch-options.md

"eslint-plugin-unicorn/no-invalid-remove-event-listener"?: _ ¶

Prevent calling `EventTarget#removeEventListener()` with the result of an expression. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-remove-event-listener.md

"eslint-plugin-unicorn/no-keyword-prefix"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"disallowedPrefixes"?: list.UniqueItems() & list.MaxItems(1) & [string, ...]
		"checkProperties"?:    bool
		"onlyCamelCase"?:      bool
		...
	}, ...],
])
¶

Disallow identifiers starting with `new` or `class`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-keyword-prefix.md

"eslint-plugin-unicorn/no-lonely-if"?: _ ¶

Disallow `if` statements as the only statement in `if` blocks without `else`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-lonely-if.md

"eslint-plugin-unicorn/no-magic-array-flat-depth"?: _ ¶

Disallow a magic number as the `depth` argument in `Array#flat(…).` https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-magic-array-flat-depth.md

"eslint-plugin-unicorn/no-negated-condition"?: _ ¶

Disallow negated conditions. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negated-condition.md

"eslint-plugin-unicorn/no-negation-in-equality-check"?: _ ¶

Disallow negated expression in equality check. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negation-in-equality-check.md

"eslint-plugin-unicorn/no-nested-ternary"?: _ ¶

Disallow nested ternary expressions. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-nested-ternary.md

"eslint-plugin-unicorn/no-new-array"?: _ ¶

Disallow `new Array()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-array.md

"eslint-plugin-unicorn/no-new-buffer"?: _ ¶

Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-buffer.md

"eslint-plugin-unicorn/no-null"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkStrictEquality"?: bool
		...
	}, ...],
])
¶

Disallow the use of the `null` literal. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-null.md

"eslint-plugin-unicorn/no-object-as-default-parameter"?: _ ¶

Disallow the use of objects as default parameters. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-object-as-default-parameter.md

"eslint-plugin-unicorn/no-process-exit"?: _ ¶

Disallow `process.exit()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-process-exit.md

"eslint-plugin-unicorn/no-single-promise-in-promise-methods"?: _ ¶

Disallow passing single-element arrays to `Promise` methods. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-single-promise-in-promise-methods.md

"eslint-plugin-unicorn/no-static-only-class"?: _ ¶

Disallow classes that only have static members. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-static-only-class.md

"eslint-plugin-unicorn/no-thenable"?: _ ¶

Disallow `then` property. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-thenable.md

"eslint-plugin-unicorn/no-this-assignment"?: _ ¶

Disallow assigning `this` to a variable. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-this-assignment.md

"eslint-plugin-unicorn/no-typeof-undefined"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkGlobalVariables"?: bool
		...
	}, ...],
])
¶

Disallow comparing `undefined` using `typeof`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-typeof-undefined.md

"eslint-plugin-unicorn/no-unnecessary-await"?: _ ¶

Disallow awaiting non-promise values. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-await.md

"eslint-plugin-unicorn/no-unnecessary-polyfills"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"targets"?: string | [...] | {...}
		...
	}, ...],
])
¶

Enforce the use of built-in methods instead of unnecessary polyfills. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-polyfills.md

"eslint-plugin-unicorn/no-unreadable-array-destructuring"?: _ ¶

Disallow unreadable array destructuring. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-array-destructuring.md

"eslint-plugin-unicorn/no-unreadable-iife"?: _ ¶

Disallow unreadable IIFEs. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-iife.md

"eslint-plugin-unicorn/no-unused-properties"?: _ ¶

Disallow unused object properties. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unused-properties.md

"eslint-plugin-unicorn/no-useless-fallback-in-spread"?: _ ¶

Disallow useless fallback when spreading in object literals. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-fallback-in-spread.md

"eslint-plugin-unicorn/no-useless-length-check"?: _ ¶

Disallow useless array length check. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-length-check.md

"eslint-plugin-unicorn/no-useless-promise-resolve-reject"?: _ ¶

Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-promise-resolve-reject.md

"eslint-plugin-unicorn/no-useless-spread"?: _ ¶

Disallow unnecessary spread. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-spread.md

"eslint-plugin-unicorn/no-useless-switch-case"?: _ ¶

Disallow useless case in switch statements. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-switch-case.md

"eslint-plugin-unicorn/no-useless-undefined"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkArguments"?:         bool
		"checkArrowFunctionBody"?: bool
		...
	}, ...],
])
¶

Disallow useless `undefined`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-undefined.md

"eslint-plugin-unicorn/no-zero-fractions"?: _ ¶

Disallow number literals with zero fractions or dangling dots. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-zero-fractions.md

"eslint-plugin-unicorn/number-literal-case"?: _ ¶

Enforce proper case for numeric literals. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/number-literal-case.md

"eslint-plugin-unicorn/numeric-separators-style"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"binary"?: close({
			"onlyIfContainsSeparator"?: bool
			"minimumDigits"?:           int & >=0
			"groupLength"?:             int & >=1
		})
		"octal"?: close({
			"onlyIfContainsSeparator"?: bool
			"minimumDigits"?:           int & >=0
			"groupLength"?:             int & >=1
		})
		"hexadecimal"?: close({
			"onlyIfContainsSeparator"?: bool
			"minimumDigits"?:           int & >=0
			"groupLength"?:             int & >=1
		})
		"number"?: close({
			"onlyIfContainsSeparator"?: bool
			"minimumDigits"?:           int & >=0
			"groupLength"?:             int & >=1
		})
		"onlyIfContainsSeparator"?: bool
		...
	}, ...],
])
¶

Enforce the style of numeric separators by correctly grouping digits. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/numeric-separators-style.md

"eslint-plugin-unicorn/prefer-add-event-listener"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"excludedPackages"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-add-event-listener.md

"eslint-plugin-unicorn/prefer-array-find"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkFromLast"?: bool
		...
	}, ...],
])
¶

Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-find.md

"eslint-plugin-unicorn/prefer-array-flat-map"?: _ ¶

Prefer `.flatMap(…)` over `.map(…).flat()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat-map.md

"eslint-plugin-unicorn/prefer-array-flat"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"functions"?: list.UniqueItems()
		...
	}, ...],
])
¶

Prefer `Array#flat()` over legacy techniques to flatten arrays. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat.md

"eslint-plugin-unicorn/prefer-array-index-of"?: _ ¶

Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-index-of.md

"eslint-plugin-unicorn/prefer-array-some"?: _ ¶

Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-some.md

"eslint-plugin-unicorn/prefer-at"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"getLastElementFunctions"?: list.UniqueItems()
		"checkAllIndexAccess"?:     bool
		...
	}, ...],
])
¶

Prefer `.at()` method for index access and `String#charAt()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-at.md

"eslint-plugin-unicorn/prefer-blob-reading-methods"?: _ ¶

Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-blob-reading-methods.md

"eslint-plugin-unicorn/prefer-code-point"?: _ ¶

Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-code-point.md

"eslint-plugin-unicorn/prefer-date-now"?: _ ¶

Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-date-now.md

"eslint-plugin-unicorn/prefer-default-parameters"?: _ ¶

Prefer default parameters over reassignment. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-default-parameters.md

"eslint-plugin-unicorn/prefer-dom-node-append"?: _ ¶

Prefer `Node#append()` over `Node#appendChild()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-append.md

"eslint-plugin-unicorn/prefer-dom-node-dataset"?: _ ¶

Prefer using `.dataset` on DOM elements over calling attribute methods. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-dataset.md

"eslint-plugin-unicorn/prefer-dom-node-remove"?: _ ¶

Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-remove.md

"eslint-plugin-unicorn/prefer-dom-node-text-content"?: _ ¶

Prefer `.textContent` over `.innerText`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-text-content.md

"eslint-plugin-unicorn/prefer-event-target"?: _ ¶

Prefer `EventTarget` over `EventEmitter`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-event-target.md

"eslint-plugin-unicorn/prefer-export-from"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreUsedVariables"?: bool
		...
	}, ...],
])
¶

Prefer `export…from` when re-exporting. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-export-from.md

"eslint-plugin-unicorn/prefer-includes"?: _ ¶

Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-includes.md

"eslint-plugin-unicorn/prefer-json-parse-buffer"?: _ ¶

Prefer reading a JSON file as a buffer. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-json-parse-buffer.md

"eslint-plugin-unicorn/prefer-keyboard-event-key"?: _ ¶

Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-keyboard-event-key.md

"eslint-plugin-unicorn/prefer-logical-operator-over-ternary"?: _ ¶

Prefer using a logical operator over a ternary. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-logical-operator-over-ternary.md

"eslint-plugin-unicorn/prefer-math-trunc"?: _ ¶

Enforce the use of `Math.trunc` instead of bitwise operators. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-math-trunc.md

"eslint-plugin-unicorn/prefer-modern-dom-apis"?: _ ¶

Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-dom-apis.md

"eslint-plugin-unicorn/prefer-modern-math-apis"?: _ ¶

Prefer modern `Math` APIs over legacy patterns. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-math-apis.md

"eslint-plugin-unicorn/prefer-module"?: _ ¶

Prefer JavaScript modules (ESM) over CommonJS. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-module.md

"eslint-plugin-unicorn/prefer-native-coercion-functions"?: _ ¶

Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-native-coercion-functions.md

"eslint-plugin-unicorn/prefer-negative-index"?: _ ¶

Prefer negative index over `.length - index` when possible. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-negative-index.md

"eslint-plugin-unicorn/prefer-node-protocol"?: _ ¶

Prefer using the `node:` protocol when importing Node.js builtin modules. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-node-protocol.md

"eslint-plugin-unicorn/prefer-number-properties"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkInfinity"?: bool
		"checkNaN"?:      bool
		...
	}, ...],
])
¶

Prefer `Number` static properties over global ones. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-number-properties.md

"eslint-plugin-unicorn/prefer-object-from-entries"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"functions"?: list.UniqueItems()
		...
	}, ...],
])
¶

Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-object-from-entries.md

"eslint-plugin-unicorn/prefer-optional-catch-binding"?: _ ¶

Prefer omitting the `catch` binding parameter. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-optional-catch-binding.md

"eslint-plugin-unicorn/prefer-prototype-methods"?: _ ¶

Prefer borrowing methods from the prototype instead of the instance. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-prototype-methods.md

"eslint-plugin-unicorn/prefer-query-selector"?: _ ¶

Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-query-selector.md

"eslint-plugin-unicorn/prefer-reflect-apply"?: _ ¶

Prefer `Reflect.apply()` over `Function#apply()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-reflect-apply.md

"eslint-plugin-unicorn/prefer-regexp-test"?: _ ¶

Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-regexp-test.md

"eslint-plugin-unicorn/prefer-set-has"?: _ ¶

Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-has.md

"eslint-plugin-unicorn/prefer-set-size"?: _ ¶

Prefer using `Set#size` instead of `Array#length`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-size.md

"eslint-plugin-unicorn/prefer-spread"?: _ ¶

Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split(”)`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-spread.md

"eslint-plugin-unicorn/prefer-string-raw"?: _ ¶

Prefer using the `String.raw` tag to avoid escaping `\`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-raw.md

"eslint-plugin-unicorn/prefer-string-replace-all"?: _ ¶

Prefer `String#replaceAll()` over regex searches with the global flag. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-replace-all.md

"eslint-plugin-unicorn/prefer-string-slice"?: _ ¶

Prefer `String#slice()` over `String#substr()` and `String#substring()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-slice.md

"eslint-plugin-unicorn/prefer-string-starts-ends-with"?: _ ¶

Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-starts-ends-with.md

"eslint-plugin-unicorn/prefer-string-trim-start-end"?: _ ¶

Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-trim-start-end.md

"eslint-plugin-unicorn/prefer-structured-clone"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"functions"?: list.UniqueItems()
		...
	}, ...],
])
¶

Prefer using `structuredClone` to create a deep clone. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-structured-clone.md

"eslint-plugin-unicorn/prefer-switch"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"minimumCases"?:     int & >=2
		"emptyDefaultCase"?: "no-default-comment" | "do-nothing-comment" | "no-default-case"
		...
	}, ...],
])
¶

Prefer `switch` over multiple `else-if`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-switch.md

"eslint-plugin-unicorn/prefer-ternary"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Prefer ternary expressions over simple `if-else` statements. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-ternary.md

"eslint-plugin-unicorn/prefer-top-level-await"?: _ ¶

Prefer top-level await over top-level promises and async function calls. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-top-level-await.md

"eslint-plugin-unicorn/prefer-type-error"?: _ ¶

Enforce throwing `TypeError` in type checking conditions. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-type-error.md

"eslint-plugin-unicorn/prevent-abbreviations"?: _ ¶

Prevent abbreviations. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prevent-abbreviations.md

"eslint-plugin-unicorn/relative-url-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent relative URL style. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/relative-url-style.md

"eslint-plugin-unicorn/require-array-join-separator"?: _ ¶

Enforce using the separator argument with `Array#join()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-array-join-separator.md

"eslint-plugin-unicorn/require-number-to-fixed-digits-argument"?: _ ¶

Enforce using the digits argument with `Number#toFixed()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-number-to-fixed-digits-argument.md

"eslint-plugin-unicorn/require-post-message-target-origin"?: _ ¶

Enforce using the `targetOrigin` argument with `window.postMessage()`. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-post-message-target-origin.md

"eslint-plugin-unicorn/string-content"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"patterns"?: [string]: matchN(>=1, [
			string,
			close({
				"suggest"!: string
				"fix"?:     bool
				"message"?: string
			}),
		])
		...
	}, ...],
])
¶

Enforce better string content. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/string-content.md

"eslint-plugin-unicorn/switch-case-braces"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent brace style for `case` clauses. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/switch-case-braces.md

"eslint-plugin-unicorn/template-indent"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"indent"?:    matchN(1, [=~"^\\s+$", int & >=1])
		"tags"?:      list.UniqueItems() & [...string]
		"functions"?: list.UniqueItems() & [...string]
		"selectors"?: list.UniqueItems() & [...string]
		"comments"?:  list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Fix whitespace-insensitive template indentation. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/template-indent.md

"eslint-plugin-unicorn/text-encoding-identifier-case"?: _ ¶

Enforce consistent case for text encoding identifiers. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/text-encoding-identifier-case.md

"eslint-plugin-unicorn/throw-new-error"?: _ ¶

Require `new` when creating an error. https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/throw-new-error.md

"eslint-plugin-unicorn/import-index"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#import-index

"eslint-plugin-unicorn/no-array-instanceof"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-array-instanceof

"eslint-plugin-unicorn/no-fn-reference-in-iterator"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-fn-reference-in-iterator

"eslint-plugin-unicorn/no-reduce"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-reduce

"eslint-plugin-unicorn/no-unsafe-regex"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-unsafe-regex

"eslint-plugin-unicorn/prefer-dataset"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-dataset

"eslint-plugin-unicorn/prefer-event-key"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-event-key

"eslint-plugin-unicorn/prefer-exponentiation-operator"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-exponentiation-operator

"eslint-plugin-unicorn/prefer-flat-map"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-flat-map

"eslint-plugin-unicorn/prefer-node-append"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-append

"eslint-plugin-unicorn/prefer-node-remove"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-remove

"eslint-plugin-unicorn/prefer-object-has-own"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-object-has-own

"eslint-plugin-unicorn/prefer-replace-all"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-replace-all

"eslint-plugin-unicorn/prefer-starts-ends-with"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-starts-ends-with

"eslint-plugin-unicorn/prefer-text-content"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-text-content

"eslint-plugin-unicorn/prefer-trim-start-end"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-trim-start-end

"eslint-plugin-unicorn/regex-shorthand"?: _ ¶

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#regex-shorthand

"eslint-plugin-vue/array-bracket-newline"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce linebreaks after opening and before closing array brackets in `<template>` https://eslint.vuejs.org/rules/array-bracket-newline.html

"eslint-plugin-vue/array-bracket-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing inside array brackets in `<template>` https://eslint.vuejs.org/rules/array-bracket-spacing.html

"eslint-plugin-vue/array-element-newline"?: _ ¶

Enforce line breaks after each array element in `<template>` https://eslint.vuejs.org/rules/array-element-newline.html

"eslint-plugin-vue/arrow-spacing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"before"?: bool
		"after"?:  bool
		...
	}, ...],
])
¶

Enforce consistent spacing before and after the arrow in arrow functions in `<template>` https://eslint.vuejs.org/rules/arrow-spacing.html

"eslint-plugin-vue/attribute-hyphenation"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce attribute naming style on custom components in template https://eslint.vuejs.org/rules/attribute-hyphenation.html

"eslint-plugin-vue/attributes-order"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"order"?: list.UniqueItems() & [
			...matchN(>=1, [
				"DEFINITION" |
					"LIST_RENDERING" |
					"CONDITIONALS" |
					"RENDER_MODIFIERS" |
					"GLOBAL" |
					"UNIQUE" |
					"SLOT" |
					"TWO_WAY_BINDING" |
					"OTHER_DIRECTIVES" |
					"OTHER_ATTR" |
					"ATTR_STATIC" |
					"ATTR_DYNAMIC" |
					"ATTR_SHORTHAND_BOOL" |
					"EVENTS" |
					"CONTENT",
				[
					..."DEFINITION" |
						"LIST_RENDERING" |
						"CONDITIONALS" |
						"RENDER_MODIFIERS" |
						"GLOBAL" |
						"UNIQUE" |
						"SLOT" |
						"TWO_WAY_BINDING" |
						"OTHER_DIRECTIVES" |
						"OTHER_ATTR" |
						"ATTR_STATIC" |
						"ATTR_DYNAMIC" |
						"ATTR_SHORTHAND_BOOL" |
						"EVENTS" |
						"CONTENT"
				],
			])
		]
		"alphabetical"?: bool
		...
	}, ...],
])
¶

enforce order of attributes https://eslint.vuejs.org/rules/attributes-order.html

"eslint-plugin-vue/block-lang"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

disallow use other than available `lang` https://eslint.vuejs.org/rules/block-lang.html

"eslint-plugin-vue/block-order"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"order"?: list.UniqueItems() & [...matchN(>=1, [string, list.UniqueItems() & [...string]])]
		...
	}, ...],
])
¶

enforce order of component top-level elements https://eslint.vuejs.org/rules/block-order.html

"eslint-plugin-vue/block-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Disallow or enforce spaces inside of blocks after opening block and before closing block in `<template>` https://eslint.vuejs.org/rules/block-spacing.html

"eslint-plugin-vue/block-tag-newline"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"singleline"?:    "always" | "never" | "consistent" | "ignore"
		"multiline"?:     "always" | "never" | "consistent" | "ignore"
		"maxEmptyLines"?: >=0
		"blocks"?: close({

			{
				[=~"^(?:\\S+)$"]: close({
					"singleline"?:    "always" | "never" | "consistent" | "ignore"
					"multiline"?:     "always" | "never" | "consistent" | "ignore"
					"maxEmptyLines"?: >=0
				})
			}})
		...
	}, ...],
])
¶

enforce line breaks after opening and before closing block-level tags https://eslint.vuejs.org/rules/block-tag-newline.html

"eslint-plugin-vue/brace-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent brace style for blocks in `<template>` https://eslint.vuejs.org/rules/brace-style.html

"eslint-plugin-vue/camelcase"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreDestructuring"?: bool
		"ignoreImports"?:       bool
		"ignoreGlobals"?:       bool
		"properties"?:          "always" | "never"
		"allow"?:               list.UniqueItems() & [...] & [...string]
		...
	}, ...],
])
¶

Enforce camelcase naming convention in `<template>` https://eslint.vuejs.org/rules/camelcase.html

"eslint-plugin-vue/comma-dangle"?: _ ¶

Require or disallow trailing commas in `<template>` https://eslint.vuejs.org/rules/comma-dangle.html

"eslint-plugin-vue/comma-spacing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"before"?: bool
		"after"?:  bool
		...
	}, ...],
])
¶

Enforce consistent spacing before and after commas in `<template>` https://eslint.vuejs.org/rules/comma-spacing.html

"eslint-plugin-vue/comma-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent comma style in `<template>` https://eslint.vuejs.org/rules/comma-style.html

"eslint-plugin-vue/comment-directive"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"reportUnusedDisableDirectives"?: bool
		...
	}, ...],
])
¶

support comment-directives in `<template>` https://eslint.vuejs.org/rules/comment-directive.html

"eslint-plugin-vue/component-api-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce component API style https://eslint.vuejs.org/rules/component-api-style.html

"eslint-plugin-vue/component-definition-name-casing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce specific casing for component definition name https://eslint.vuejs.org/rules/component-definition-name-casing.html

"eslint-plugin-vue/component-name-in-template-casing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce specific casing for the component naming style in template https://eslint.vuejs.org/rules/component-name-in-template-casing.html

"eslint-plugin-vue/component-options-name-casing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce the casing of component name in `components` options https://eslint.vuejs.org/rules/component-options-name-casing.html

"eslint-plugin-vue/component-tags-order"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"order"?: list.UniqueItems() & [...matchN(>=1, [string, list.UniqueItems() & [...string]])]
		...
	}, ...],
])
¶

enforce order of component top-level elements https://eslint.vuejs.org/rules/component-tags-order.html

"eslint-plugin-vue/custom-event-name-casing"?: _ ¶

enforce specific casing for custom event name https://eslint.vuejs.org/rules/custom-event-name-casing.html

"eslint-plugin-vue/define-emits-declaration"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce declaration style of `defineEmits` https://eslint.vuejs.org/rules/define-emits-declaration.html

"eslint-plugin-vue/define-macros-order"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"order"?: list.UniqueItems() & [
			..."defineEmits" | "defineProps" | "defineOptions" | "defineSlots" | "defineModel"
		]
		"defineExposeLast"?: bool
		...
	}, ...],
])
¶

enforce order of `defineEmits` and `defineProps` compiler macros https://eslint.vuejs.org/rules/define-macros-order.html

"eslint-plugin-vue/define-props-declaration"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce declaration style of `defineProps` https://eslint.vuejs.org/rules/define-props-declaration.html

"eslint-plugin-vue/dot-location"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent newlines before and after dots in `<template>` https://eslint.vuejs.org/rules/dot-location.html

"eslint-plugin-vue/dot-notation"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowKeywords"?: bool
		"allowPattern"?:  string
		...
	}, ...],
])
¶

Enforce dot notation whenever possible in `<template>` https://eslint.vuejs.org/rules/dot-notation.html

"eslint-plugin-vue/enforce-style-attribute"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?: list.MinItems(1) & list.UniqueItems() & [..."plain" | "scoped" | "module"]
		...
	}, ...],
])
¶

enforce or forbid the use of the `scoped` and `module` attributes in SFC top level style tags https://eslint.vuejs.org/rules/enforce-style-attribute.html

"eslint-plugin-vue/eqeqeq"?: _ ¶

Require the use of `===` and `!==` in `<template>` https://eslint.vuejs.org/rules/eqeqeq.html

"eslint-plugin-vue/first-attribute-linebreak"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"multiline"?:  "below" | "beside" | "ignore"
		"singleline"?: "below" | "beside" | "ignore"
		...
	}, ...],
])
¶

enforce the location of first attribute https://eslint.vuejs.org/rules/first-attribute-linebreak.html

"eslint-plugin-vue/func-call-spacing"?: _ ¶

Require or disallow spacing between function identifiers and their invocations in `<template>` https://eslint.vuejs.org/rules/func-call-spacing.html

"eslint-plugin-vue/html-button-has-type"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"button"?: bool
		"submit"?: bool
		"reset"?:  bool
		...
	}, ...],
])
¶

disallow usage of button without an explicit type attribute https://eslint.vuejs.org/rules/html-button-has-type.html

"eslint-plugin-vue/html-closing-bracket-newline"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"singleline"?: "always" | "never"
		"multiline"?:  "always" | "never"
		"selfClosingTag"?: struct.MinFields(1) & close({
			"singleline"?: "always" | "never"
			"multiline"?:  "always" | "never"
		})
		...
	}, ...],
])
¶

require or disallow a line break before tag's closing brackets https://eslint.vuejs.org/rules/html-closing-bracket-newline.html

"eslint-plugin-vue/html-closing-bracket-spacing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"startTag"?:       "always" | "never"
		"endTag"?:         "always" | "never"
		"selfClosingTag"?: "always" | "never"
		...
	}, ...],
])
¶

require or disallow a space before tag's closing brackets https://eslint.vuejs.org/rules/html-closing-bracket-spacing.html

"eslint-plugin-vue/html-comment-content-newline"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce unified line brake in HTML comments https://eslint.vuejs.org/rules/html-comment-content-newline.html

"eslint-plugin-vue/html-comment-content-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce unified spacing in HTML comments https://eslint.vuejs.org/rules/html-comment-content-spacing.html

"eslint-plugin-vue/html-comment-indent"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce consistent indentation in HTML comments https://eslint.vuejs.org/rules/html-comment-indent.html

"eslint-plugin-vue/html-end-tags"?: _ ¶

enforce end tag style https://eslint.vuejs.org/rules/html-end-tags.html

"eslint-plugin-vue/html-indent"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce consistent indentation in `<template>` https://eslint.vuejs.org/rules/html-indent.html

"eslint-plugin-vue/html-quotes"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce quotes style of HTML attributes https://eslint.vuejs.org/rules/html-quotes.html

"eslint-plugin-vue/html-self-closing"?: _ ¶

enforce self-closing style https://eslint.vuejs.org/rules/html-self-closing.html

"eslint-plugin-vue/jsx-uses-vars"?: _ ¶

prevent variables used in JSX to be marked as unused https://eslint.vuejs.org/rules/jsx-uses-vars.html

"eslint-plugin-vue/key-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing between keys and values in object literal properties in `<template>` https://eslint.vuejs.org/rules/key-spacing.html

"eslint-plugin-vue/keyword-spacing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"before"?: bool
		"after"?:  bool
		"overrides"?: close({
			"abstract"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"as"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"async"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"await"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"boolean"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"break"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"byte"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"case"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"catch"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"char"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"class"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"const"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"continue"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"debugger"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"default"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"delete"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"do"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"double"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"else"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"enum"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"export"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"extends"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"false"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"final"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"finally"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"float"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"for"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"from"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"function"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"get"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"goto"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"if"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"implements"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"import"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"in"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"instanceof"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"int"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"interface"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"let"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"long"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"native"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"new"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"null"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"of"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"package"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"private"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"protected"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"public"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"return"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"set"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"short"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"static"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"super"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"switch"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"synchronized"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"this"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"throw"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"throws"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"transient"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"true"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"try"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"typeof"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"var"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"void"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"volatile"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"while"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"with"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"yield"?: close({
				"before"?: bool
				"after"?:  bool
			})
		})
		...
	}, ...],
])
¶

Enforce consistent spacing before and after keywords in `<template>` https://eslint.vuejs.org/rules/keyword-spacing.html

"eslint-plugin-vue/match-component-file-name"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"extensions"?:      list.UniqueItems() & [...string]
		"shouldMatchCase"?: bool
		...
	}, ...],
])
¶

require component name property to match its file name https://eslint.vuejs.org/rules/match-component-file-name.html

"eslint-plugin-vue/match-component-import-name"?: _ ¶

require the registered component name to match the imported component name https://eslint.vuejs.org/rules/match-component-import-name.html

"eslint-plugin-vue/max-attributes-per-line"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"singleline"?: matchN(>=1, [>=1, close({"max"?: >=1})])
		"multiline"?:  matchN(>=1, [>=1, close({"max"?: >=1})])
		...
	}, ...],
])
¶

enforce the maximum number of attributes per line https://eslint.vuejs.org/rules/max-attributes-per-line.html

"eslint-plugin-vue/max-len"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce a maximum line length in `.vue` files https://eslint.vuejs.org/rules/max-len.html

"eslint-plugin-vue/max-lines-per-block"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"style"?:          int & >=1
		"template"?:       int & >=1
		"script"?:         int & >=1
		"skipBlankLines"?: bool
		...
	}, ...],
])
¶

enforce maximum number of lines in Vue SFC blocks https://eslint.vuejs.org/rules/max-lines-per-block.html

"eslint-plugin-vue/multi-word-component-names"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignores"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

require component names to be always multi-word https://eslint.vuejs.org/rules/multi-word-component-names.html

"eslint-plugin-vue/multiline-html-element-content-newline"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreWhenEmpty"?: bool
		"ignores"?:         list.UniqueItems() & [...string]
		"allowEmptyLines"?: bool
		...
	}, ...],
])
¶

require a line break before and after the contents of a multiline element https://eslint.vuejs.org/rules/multiline-html-element-content-newline.html

"eslint-plugin-vue/multiline-ternary"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce newlines between operands of ternary expressions in `<template>` https://eslint.vuejs.org/rules/multiline-ternary.html

"eslint-plugin-vue/mustache-interpolation-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce unified spacing in mustache interpolations https://eslint.vuejs.org/rules/mustache-interpolation-spacing.html

"eslint-plugin-vue/new-line-between-multi-line-property"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"minLineOfMultilineProperty"?: >=2
		...
	}, ...],
])
¶

enforce new lines between multi-line properties in Vue components https://eslint.vuejs.org/rules/new-line-between-multi-line-property.html

"eslint-plugin-vue/next-tick-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce Promise or callback style in `nextTick` https://eslint.vuejs.org/rules/next-tick-style.html

"eslint-plugin-vue/no-arrow-functions-in-watch"?: _ ¶

disallow using arrow functions to define watcher https://eslint.vuejs.org/rules/no-arrow-functions-in-watch.html

"eslint-plugin-vue/no-async-in-computed-properties"?: _ ¶

disallow asynchronous actions in computed properties https://eslint.vuejs.org/rules/no-async-in-computed-properties.html

"eslint-plugin-vue/no-bare-strings-in-template"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowlist"?: list.UniqueItems() & [...string]
		"attributes"?: close({

			{[=~"^(?:\\S+|/.*/[a-z]*)$"]: list.UniqueItems() & [...string]}})
		"directives"?: list.UniqueItems() & [...=~"^v-"]
		...
	}, ...],
])
¶

disallow the use of bare strings in `<template>` https://eslint.vuejs.org/rules/no-bare-strings-in-template.html

"eslint-plugin-vue/no-boolean-default"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

disallow boolean defaults https://eslint.vuejs.org/rules/no-boolean-default.html

"eslint-plugin-vue/no-child-content"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"additionalDirectives"?: list.UniqueItems() & list.MinItems(1) & [...string]
		...
	}, ...],
])
¶

disallow element's child contents which would be overwritten by a directive like `v-html` or `v-text` https://eslint.vuejs.org/rules/no-child-content.html

"eslint-plugin-vue/no-computed-properties-in-data"?: _ ¶

disallow accessing computed properties in `data`. https://eslint.vuejs.org/rules/no-computed-properties-in-data.html

"eslint-plugin-vue/no-console"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?: list.MinItems(1) & list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

Disallow the use of `console` in `<template>` https://eslint.vuejs.org/rules/no-console.html

"eslint-plugin-vue/no-constant-condition"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkLoops"?: bool
		...
	}, ...],
])
¶

Disallow constant expressions in conditions in `<template>` https://eslint.vuejs.org/rules/no-constant-condition.html

"eslint-plugin-vue/no-custom-modifiers-on-v-model"?: _ ¶

disallow custom modifiers on v-model used on the component https://eslint.vuejs.org/rules/no-custom-modifiers-on-v-model.html

"eslint-plugin-vue/no-deprecated-data-object-declaration"?: _ ¶

disallow using deprecated object declaration on data (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-data-object-declaration.html

"eslint-plugin-vue/no-deprecated-destroyed-lifecycle"?: _ ¶

disallow using deprecated `destroyed` and `beforeDestroy` lifecycle hooks (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-destroyed-lifecycle.html

"eslint-plugin-vue/no-deprecated-dollar-listeners-api"?: _ ¶

disallow using deprecated `$listeners` (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-dollar-listeners-api.html

"eslint-plugin-vue/no-deprecated-dollar-scopedslots-api"?: _ ¶

disallow using deprecated `$scopedSlots` (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-dollar-scopedslots-api.html

"eslint-plugin-vue/no-deprecated-events-api"?: _ ¶

disallow using deprecated events api (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-events-api.html

"eslint-plugin-vue/no-deprecated-filter"?: _ ¶

disallow using deprecated filters syntax (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-filter.html

"eslint-plugin-vue/no-deprecated-functional-template"?: _ ¶

disallow using deprecated the `functional` template (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-functional-template.html

"eslint-plugin-vue/no-deprecated-html-element-is"?: _ ¶

disallow using deprecated the `is` attribute on HTML elements (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-html-element-is.html

"eslint-plugin-vue/no-deprecated-inline-template"?: _ ¶

disallow using deprecated `inline-template` attribute (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-inline-template.html

"eslint-plugin-vue/no-deprecated-model-definition"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowVue3Compat"?: bool
		...
	}, ...],
])
¶

disallow deprecated `model` definition (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-model-definition.html

"eslint-plugin-vue/no-deprecated-props-default-this"?: _ ¶

disallow deprecated `this` access in props default function (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-props-default-this.html

"eslint-plugin-vue/no-deprecated-router-link-tag-prop"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"components"?: list.UniqueItems() & list.MinItems(1) & [...string]
		...
	}, ...],
])
¶

disallow using deprecated `tag` property on `RouterLink` (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-router-link-tag-prop.html

"eslint-plugin-vue/no-deprecated-scope-attribute"?: _ ¶

disallow deprecated `scope` attribute (in Vue.js 2.5.0+) https://eslint.vuejs.org/rules/no-deprecated-scope-attribute.html

"eslint-plugin-vue/no-deprecated-slot-attribute"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignore"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

disallow deprecated `slot` attribute (in Vue.js 2.6.0+) https://eslint.vuejs.org/rules/no-deprecated-slot-attribute.html

"eslint-plugin-vue/no-deprecated-slot-scope-attribute"?: _ ¶

disallow deprecated `slot-scope` attribute (in Vue.js 2.6.0+) https://eslint.vuejs.org/rules/no-deprecated-slot-scope-attribute.html

"eslint-plugin-vue/no-deprecated-v-bind-sync"?: _ ¶

disallow use of deprecated `.sync` modifier on `v-bind` directive (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-v-bind-sync.html

"eslint-plugin-vue/no-deprecated-v-is"?: _ ¶

disallow deprecated `v-is` directive (in Vue.js 3.1.0+) https://eslint.vuejs.org/rules/no-deprecated-v-is.html

"eslint-plugin-vue/no-deprecated-v-on-native-modifier"?: _ ¶

disallow using deprecated `.native` modifiers (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-v-on-native-modifier.html

"eslint-plugin-vue/no-deprecated-v-on-number-modifiers"?: _ ¶

disallow using deprecated number (keycode) modifiers (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-v-on-number-modifiers.html

"eslint-plugin-vue/no-deprecated-vue-config-keycodes"?: _ ¶

disallow using deprecated `Vue.config.keyCodes` (in Vue.js 3.0.0+) https://eslint.vuejs.org/rules/no-deprecated-vue-config-keycodes.html

"eslint-plugin-vue/no-dupe-keys"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"groups"?: [...]
		...
	}, ...],
])
¶

disallow duplication of field names https://eslint.vuejs.org/rules/no-dupe-keys.html

"eslint-plugin-vue/no-dupe-v-else-if"?: _ ¶

disallow duplicate conditions in `v-if` / `v-else-if` chains https://eslint.vuejs.org/rules/no-dupe-v-else-if.html

"eslint-plugin-vue/no-duplicate-attr-inheritance"?: _ ¶

enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"` https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html

"eslint-plugin-vue/no-duplicate-attributes"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowCoexistClass"?: bool
		"allowCoexistStyle"?: bool
		...
	}, ...],
])
¶

disallow duplication of attributes https://eslint.vuejs.org/rules/no-duplicate-attributes.html

"eslint-plugin-vue/no-empty-component-block"?: _ ¶

disallow the `<template>` `<script>` `<style>` block to be empty https://eslint.vuejs.org/rules/no-empty-component-block.html

"eslint-plugin-vue/no-empty-pattern"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowObjectPatternsAsParameters"?: bool
		...
	}, ...],
])
¶

Disallow empty destructuring patterns in `<template>` https://eslint.vuejs.org/rules/no-empty-pattern.html

"eslint-plugin-vue/no-export-in-script-setup"?: _ ¶

disallow `export` in `<script setup>` https://eslint.vuejs.org/rules/no-export-in-script-setup.html

"eslint-plugin-vue/no-expose-after-await"?: _ ¶

disallow asynchronously registered `expose` https://eslint.vuejs.org/rules/no-expose-after-await.html

"eslint-plugin-vue/no-extra-parens"?: _ ¶

Disallow unnecessary parentheses in `<template>` https://eslint.vuejs.org/rules/no-extra-parens.html

"eslint-plugin-vue/no-invalid-model-keys"?: _ ¶

require valid keys in model option https://eslint.vuejs.org/rules/no-invalid-model-keys.html

"eslint-plugin-vue/no-irregular-whitespace"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"skipComments"?:            bool
		"skipStrings"?:             bool
		"skipTemplates"?:           bool
		"skipRegExps"?:             bool
		"skipHTMLAttributeValues"?: bool
		"skipHTMLTextContents"?:    bool
		...
	}, ...],
])
¶

disallow irregular whitespace in `.vue` files https://eslint.vuejs.org/rules/no-irregular-whitespace.html

"eslint-plugin-vue/no-lifecycle-after-await"?: _ ¶

disallow asynchronously registered lifecycle hooks https://eslint.vuejs.org/rules/no-lifecycle-after-await.html

"eslint-plugin-vue/no-lone-template"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreAccessible"?: bool
		...
	}, ...],
])
¶

disallow unnecessary `<template>` https://eslint.vuejs.org/rules/no-lone-template.html

"eslint-plugin-vue/no-loss-of-precision"?: _ ¶

Disallow literal numbers that lose precision in `<template>` https://eslint.vuejs.org/rules/no-loss-of-precision.html

"eslint-plugin-vue/no-multi-spaces"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreProperties"?: bool
		...
	}, ...],
])
¶

disallow multiple spaces https://eslint.vuejs.org/rules/no-multi-spaces.html

"eslint-plugin-vue/no-multiple-objects-in-class"?: _ ¶

disallow to pass multiple objects into array to class https://eslint.vuejs.org/rules/no-multiple-objects-in-class.html

"eslint-plugin-vue/no-multiple-slot-args"?: _ ¶

disallow to pass multiple arguments to scoped slots https://eslint.vuejs.org/rules/no-multiple-slot-args.html

"eslint-plugin-vue/no-multiple-template-root"?: _ ¶

disallow adding multiple root nodes to the template https://eslint.vuejs.org/rules/no-multiple-template-root.html

"eslint-plugin-vue/no-mutating-props"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"shallowOnly"?: bool
		...
	}, ...],
])
¶

disallow mutation of component props https://eslint.vuejs.org/rules/no-mutating-props.html

"eslint-plugin-vue/no-parsing-error"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"abrupt-closing-of-empty-comment"?:                       bool
		"absence-of-digits-in-numeric-character-reference"?:      bool
		"cdata-in-html-content"?:                                 bool
		"character-reference-outside-unicode-range"?:             bool
		"control-character-in-input-stream"?:                     bool
		"control-character-reference"?:                           bool
		"eof-before-tag-name"?:                                   bool
		"eof-in-cdata"?:                                          bool
		"eof-in-comment"?:                                        bool
		"eof-in-tag"?:                                            bool
		"incorrectly-closed-comment"?:                            bool
		"incorrectly-opened-comment"?:                            bool
		"invalid-first-character-of-tag-name"?:                   bool
		"missing-attribute-value"?:                               bool
		"missing-end-tag-name"?:                                  bool
		"missing-semicolon-after-character-reference"?:           bool
		"missing-whitespace-between-attributes"?:                 bool
		"nested-comment"?:                                        bool
		"noncharacter-character-reference"?:                      bool
		"noncharacter-in-input-stream"?:                          bool
		"null-character-reference"?:                              bool
		"surrogate-character-reference"?:                         bool
		"surrogate-in-input-stream"?:                             bool
		"unexpected-character-in-attribute-name"?:                bool
		"unexpected-character-in-unquoted-attribute-value"?:      bool
		"unexpected-equals-sign-before-attribute-name"?:          bool
		"unexpected-null-character"?:                             bool
		"unexpected-question-mark-instead-of-tag-name"?:          bool
		"unexpected-solidus-in-tag"?:                             bool
		"unknown-named-character-reference"?:                     bool
		"end-tag-with-attributes"?:                               bool
		"duplicate-attribute"?:                                   bool
		"end-tag-with-trailing-solidus"?:                         bool
		"non-void-html-element-start-tag-with-trailing-solidus"?: bool
		"x-invalid-end-tag"?:                                     bool
		"x-invalid-namespace"?:                                   bool
		...
	}, ...],
])
¶

disallow parsing errors in `<template>` https://eslint.vuejs.org/rules/no-parsing-error.html

"eslint-plugin-vue/no-potential-component-option-typo"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"presets"?:   list.UniqueItems() & [...] & [..."all" | "vue" | "vue-router" | "nuxt"]
		"custom"?:    list.UniqueItems() & [...] & [...string]
		"threshold"?: >=1
		...
	}, ...],
])
¶

disallow a potential typo in your component property https://eslint.vuejs.org/rules/no-potential-component-option-typo.html

"eslint-plugin-vue/no-ref-as-operand"?: _ ¶

disallow use of value wrapped by `ref()` (Composition API) as an operand https://eslint.vuejs.org/rules/no-ref-as-operand.html

"eslint-plugin-vue/no-ref-object-destructure"?: _ ¶

disallow usages of ref objects that can lead to loss of reactivity https://eslint.vuejs.org/rules/no-ref-object-destructure.html

"eslint-plugin-vue/no-ref-object-reactivity-loss"?: _ ¶

disallow usages of ref objects that can lead to loss of reactivity https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html

"eslint-plugin-vue/no-required-prop-with-default"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"autofix"?: bool
		...
	}, ...],
])
¶

enforce props with default values to be optional https://eslint.vuejs.org/rules/no-required-prop-with-default.html

"eslint-plugin-vue/no-reserved-component-names"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"disallowVueBuiltInComponents"?:  bool
		"disallowVue3BuiltInComponents"?: bool
		...
	}, ...],
])
¶

disallow the use of reserved names in component definitions https://eslint.vuejs.org/rules/no-reserved-component-names.html

"eslint-plugin-vue/no-reserved-keys"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"reserved"?: [...]
		"groups"?:   [...]
		...
	}, ...],
])
¶

disallow overwriting reserved keys https://eslint.vuejs.org/rules/no-reserved-keys.html

"eslint-plugin-vue/no-reserved-props"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"vueVersion"?: 2 | 3
		...
	}, ...],
])
¶

disallow reserved names in props https://eslint.vuejs.org/rules/no-reserved-props.html

"eslint-plugin-vue/no-restricted-block"?: _ ¶

disallow specific block https://eslint.vuejs.org/rules/no-restricted-block.html

"eslint-plugin-vue/no-restricted-call-after-await"?: _ ¶

disallow asynchronously called restricted methods https://eslint.vuejs.org/rules/no-restricted-call-after-await.html

"eslint-plugin-vue/no-restricted-class"?: _ ¶

disallow specific classes in Vue components https://eslint.vuejs.org/rules/no-restricted-class.html

"eslint-plugin-vue/no-restricted-component-names"?: _ ¶

disallow specific component names https://eslint.vuejs.org/rules/no-restricted-component-names.html

"eslint-plugin-vue/no-restricted-component-options"?: _ ¶

disallow specific component option https://eslint.vuejs.org/rules/no-restricted-component-options.html

"eslint-plugin-vue/no-restricted-custom-event"?: _ ¶

disallow specific custom event https://eslint.vuejs.org/rules/no-restricted-custom-event.html

"eslint-plugin-vue/no-restricted-html-elements"?: _ ¶

disallow specific HTML elements https://eslint.vuejs.org/rules/no-restricted-html-elements.html

"eslint-plugin-vue/no-restricted-props"?: _ ¶

disallow specific props https://eslint.vuejs.org/rules/no-restricted-props.html

"eslint-plugin-vue/no-restricted-static-attribute"?: _ ¶

disallow specific attribute https://eslint.vuejs.org/rules/no-restricted-static-attribute.html

"eslint-plugin-vue/no-restricted-syntax"?: _ ¶

Disallow specified syntax in `<template>` https://eslint.vuejs.org/rules/no-restricted-syntax.html

"eslint-plugin-vue/no-restricted-v-bind"?: _ ¶

disallow specific argument in `v-bind` https://eslint.vuejs.org/rules/no-restricted-v-bind.html

"eslint-plugin-vue/no-restricted-v-on"?: _ ¶

disallow specific argument in `v-on` https://eslint.vuejs.org/rules/no-restricted-v-on.html

"eslint-plugin-vue/no-root-v-if"?: _ ¶

disallow `v-if` directives on root element https://eslint.vuejs.org/rules/no-root-v-if.html

"eslint-plugin-vue/no-setup-props-destructure"?: _ ¶

disallow usages that lose the reactivity of `props` passed to `setup` https://eslint.vuejs.org/rules/no-setup-props-destructure.html

"eslint-plugin-vue/no-setup-props-reactivity-loss"?: _ ¶

disallow usages that lose the reactivity of `props` passed to `setup` https://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html

"eslint-plugin-vue/no-shared-component-data"?: _ ¶

enforce component's data property to be a function https://eslint.vuejs.org/rules/no-shared-component-data.html

"eslint-plugin-vue/no-side-effects-in-computed-properties"?: _ ¶

disallow side effects in computed properties https://eslint.vuejs.org/rules/no-side-effects-in-computed-properties.html

"eslint-plugin-vue/no-spaces-around-equal-signs-in-attribute"?: _ ¶

disallow spaces around equal signs in attribute https://eslint.vuejs.org/rules/no-spaces-around-equal-signs-in-attribute.html

"eslint-plugin-vue/no-sparse-arrays"?: _ ¶

Disallow sparse arrays in `<template>` https://eslint.vuejs.org/rules/no-sparse-arrays.html

"eslint-plugin-vue/no-static-inline-styles"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowBinding"?: bool
		...
	}, ...],
])
¶

disallow static inline `style` attributes https://eslint.vuejs.org/rules/no-static-inline-styles.html

"eslint-plugin-vue/no-template-key"?: _ ¶

disallow `key` attribute on `<template>` https://eslint.vuejs.org/rules/no-template-key.html

"eslint-plugin-vue/no-template-shadow"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

disallow variable declarations from shadowing variables declared in the outer scope https://eslint.vuejs.org/rules/no-template-shadow.html

"eslint-plugin-vue/no-template-target-blank"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowReferrer"?:       bool
		"enforceDynamicLinks"?: "always" | "never"
		...
	}, ...],
])
¶

disallow target="_blank" attribute without rel="noopener noreferrer" https://eslint.vuejs.org/rules/no-template-target-blank.html

"eslint-plugin-vue/no-textarea-mustache"?: _ ¶

disallow mustaches in `<textarea>` https://eslint.vuejs.org/rules/no-textarea-mustache.html

"eslint-plugin-vue/no-this-in-before-route-enter"?: _ ¶

disallow `this` usage in a `beforeRouteEnter` method https://eslint.vuejs.org/rules/no-this-in-before-route-enter.html

"eslint-plugin-vue/no-undef-components"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignorePatterns"?: [...]
		...
	}, ...],
])
¶

disallow use of undefined components in `<template>` https://eslint.vuejs.org/rules/no-undef-components.html

"eslint-plugin-vue/no-undef-properties"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignores"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

disallow undefined properties https://eslint.vuejs.org/rules/no-undef-properties.html

"eslint-plugin-vue/no-unsupported-features"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"version"?: string
		"ignores"?: list.UniqueItems() & [
			..."slot-scope-attribute" |
				"dynamic-directive-arguments" |
				"v-slot" |
				"script-setup" |
				"style-css-vars-injection" |
				"v-model-argument" |
				"v-model-custom-modifiers" |
				"v-is" |
				"is-attribute-with-vue-prefix" |
				"v-memo" |
				"v-bind-prop-modifier-shorthand" |
				"v-bind-attr-modifier" |
				"define-options" |
				"define-slots" |
				"define-model" |
				"v-bind-same-name-shorthand"
		]
		...
	}, ...],
])
¶

disallow unsupported Vue.js syntax on the specified version https://eslint.vuejs.org/rules/no-unsupported-features.html

"eslint-plugin-vue/no-unused-components"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreWhenBindingPresent"?: bool
		...
	}, ...],
])
¶

disallow registering components that are not used inside templates https://eslint.vuejs.org/rules/no-unused-components.html

"eslint-plugin-vue/no-unused-emit-declarations"?: _ ¶

disallow unused emit declarations https://eslint.vuejs.org/rules/no-unused-emit-declarations.html

"eslint-plugin-vue/no-unused-properties"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"groups"?:              list.UniqueItems() & [..."props" | "data" | "asyncData" | "computed" | "methods" | "setup"]
		"deepData"?:            bool
		"ignorePublicMembers"?: bool
		"unreferencedOptions"?: list.UniqueItems() & [..."unknownMemberAsUnreferenced" | "returnAsUnreferenced"]
		...
	}, ...],
])
¶

disallow unused properties https://eslint.vuejs.org/rules/no-unused-properties.html

"eslint-plugin-vue/no-unused-refs"?: _ ¶

disallow unused refs https://eslint.vuejs.org/rules/no-unused-refs.html

"eslint-plugin-vue/no-unused-vars"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignorePattern"?: string
		...
	}, ...],
])
¶

disallow unused variable definitions of v-for directives or scope attributes https://eslint.vuejs.org/rules/no-unused-vars.html

"eslint-plugin-vue/no-use-computed-property-like-method"?: _ ¶

disallow use computed property like method https://eslint.vuejs.org/rules/no-use-computed-property-like-method.html

"eslint-plugin-vue/no-use-v-else-with-v-for"?: _ ¶

disallow using `v-else-if`/`v-else` on the same element as `v-for` https://eslint.vuejs.org/rules/no-use-v-else-with-v-for.html

"eslint-plugin-vue/no-use-v-if-with-v-for"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowUsingIterationVar"?: bool
		...
	}, ...],
])
¶

disallow using `v-if` on the same element as `v-for` https://eslint.vuejs.org/rules/no-use-v-if-with-v-for.html

"eslint-plugin-vue/no-useless-concat"?: _ ¶

Disallow unnecessary concatenation of literals or template literals in `<template>` https://eslint.vuejs.org/rules/no-useless-concat.html

"eslint-plugin-vue/no-useless-mustaches"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreIncludesComment"?: bool
		"ignoreStringEscape"?:    bool
		...
	}, ...],
])
¶

disallow unnecessary mustache interpolations https://eslint.vuejs.org/rules/no-useless-mustaches.html

"eslint-plugin-vue/no-useless-template-attributes"?: _ ¶

disallow useless attribute on `<template>` https://eslint.vuejs.org/rules/no-useless-template-attributes.html

"eslint-plugin-vue/no-useless-v-bind"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreIncludesComment"?: bool
		"ignoreStringEscape"?:    bool
		...
	}, ...],
])
¶

disallow unnecessary `v-bind` directives https://eslint.vuejs.org/rules/no-useless-v-bind.html

"eslint-plugin-vue/no-v-for-template-key-on-child"?: _ ¶

disallow key of `<template v-for>` placed on child elements https://eslint.vuejs.org/rules/no-v-for-template-key-on-child.html

"eslint-plugin-vue/no-v-for-template-key"?: _ ¶

disallow `key` attribute on `<template v-for>` https://eslint.vuejs.org/rules/no-v-for-template-key.html

"eslint-plugin-vue/no-v-html"?: _ ¶

disallow use of v-html to prevent XSS attack https://eslint.vuejs.org/rules/no-v-html.html

"eslint-plugin-vue/no-v-model-argument"?: _ ¶

disallow adding an argument to `v-model` used in custom component https://eslint.vuejs.org/rules/no-v-model-argument.html

"eslint-plugin-vue/no-v-text-v-html-on-component"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?: list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

disallow v-text / v-html on component https://eslint.vuejs.org/rules/no-v-text-v-html-on-component.html

"eslint-plugin-vue/no-v-text"?: _ ¶

disallow use of v-text https://eslint.vuejs.org/rules/no-v-text.html

"eslint-plugin-vue/no-watch-after-await"?: _ ¶

disallow asynchronously registered `watch` https://eslint.vuejs.org/rules/no-watch-after-await.html

"eslint-plugin-vue/object-curly-newline"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent line breaks after opening and before closing braces in `<template>` https://eslint.vuejs.org/rules/object-curly-newline.html

"eslint-plugin-vue/object-curly-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing inside braces in `<template>` https://eslint.vuejs.org/rules/object-curly-spacing.html

"eslint-plugin-vue/object-property-newline"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowAllPropertiesOnSameLine"?:   bool
		"allowMultiplePropertiesPerLine"?: bool
		...
	}, ...],
])
¶

Enforce placing object properties on separate lines in `<template>` https://eslint.vuejs.org/rules/object-property-newline.html

"eslint-plugin-vue/object-shorthand"?: _ ¶

Require or disallow method and property shorthand syntax for object literals in `<template>` https://eslint.vuejs.org/rules/object-shorthand.html

"eslint-plugin-vue/one-component-per-file"?: _ ¶

enforce that each component should be in its own file https://eslint.vuejs.org/rules/one-component-per-file.html

"eslint-plugin-vue/operator-linebreak"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent linebreak style for operators in `<template>` https://eslint.vuejs.org/rules/operator-linebreak.html

"eslint-plugin-vue/order-in-components"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"order"?: [...]
		...
	}, ...],
])
¶

enforce order of properties in components https://eslint.vuejs.org/rules/order-in-components.html

"eslint-plugin-vue/padding-line-between-blocks"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

require or disallow padding lines between blocks https://eslint.vuejs.org/rules/padding-line-between-blocks.html

"eslint-plugin-vue/padding-line-between-tags"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

require or disallow newlines between sibling tags in template https://eslint.vuejs.org/rules/padding-line-between-tags.html

"eslint-plugin-vue/padding-lines-in-component-definition"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

require or disallow padding lines in component definition https://eslint.vuejs.org/rules/padding-lines-in-component-definition.html

"eslint-plugin-vue/prefer-define-options"?: _ ¶

enforce use of `defineOptions` instead of default export. https://eslint.vuejs.org/rules/prefer-define-options.html

"eslint-plugin-vue/prefer-import-from-vue"?: _ ¶

enforce import from 'vue' instead of import from '@vue/*' https://eslint.vuejs.org/rules/prefer-import-from-vue.html

"eslint-plugin-vue/prefer-prop-type-boolean-first"?: _ ¶

enforce `Boolean` comes first in component prop types https://eslint.vuejs.org/rules/prefer-prop-type-boolean-first.html

"eslint-plugin-vue/prefer-separate-static-class"?: _ ¶

require static class names in template to be in a separate `class` attribute https://eslint.vuejs.org/rules/prefer-separate-static-class.html

"eslint-plugin-vue/prefer-template"?: _ ¶

Require template literals instead of string concatenation in `<template>` https://eslint.vuejs.org/rules/prefer-template.html

"eslint-plugin-vue/prefer-true-attribute-shorthand"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

require shorthand form attribute when `v-bind` value is `true` https://eslint.vuejs.org/rules/prefer-true-attribute-shorthand.html

"eslint-plugin-vue/prop-name-casing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce specific casing for the Prop name in Vue components https://eslint.vuejs.org/rules/prop-name-casing.html

"eslint-plugin-vue/quote-props"?: _ ¶

Require quotes around object literal property names in `<template>` https://eslint.vuejs.org/rules/quote-props.html

"eslint-plugin-vue/require-component-is"?: _ ¶

require `v-bind:is` of `<component>` elements https://eslint.vuejs.org/rules/require-component-is.html

"eslint-plugin-vue/require-default-prop"?: _ ¶

require default value for props https://eslint.vuejs.org/rules/require-default-prop.html

"eslint-plugin-vue/require-direct-export"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"disallowFunctionalComponentFunction"?: bool
		...
	}, ...],
])
¶

require the component to be directly exported https://eslint.vuejs.org/rules/require-direct-export.html

"eslint-plugin-vue/require-emit-validator"?: _ ¶

require type definitions in emits https://eslint.vuejs.org/rules/require-emit-validator.html

"eslint-plugin-vue/require-explicit-emits"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowProps"?: bool
		...
	}, ...],
])
¶

require `emits` option with name triggered by `$emit()` https://eslint.vuejs.org/rules/require-explicit-emits.html

"eslint-plugin-vue/require-explicit-slots"?: _ ¶

require slots to be explicitly defined https://eslint.vuejs.org/rules/require-explicit-slots.html

"eslint-plugin-vue/require-expose"?: _ ¶

require declare public properties using `expose` https://eslint.vuejs.org/rules/require-expose.html

"eslint-plugin-vue/require-macro-variable-name"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"defineProps"?: string
		"defineEmits"?: string
		"defineSlots"?: string
		"useSlots"?:    string
		"useAttrs"?:    string
		...
	}, ...],
])
¶

require a certain macro variable name https://eslint.vuejs.org/rules/require-macro-variable-name.html

"eslint-plugin-vue/require-name-property"?: _ ¶

require a name property in Vue components https://eslint.vuejs.org/rules/require-name-property.html

"eslint-plugin-vue/require-prop-comment"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"type"?: "JSDoc" | "line" | "block" | "any"
		...
	}, ...],
])
¶

require props to have a comment https://eslint.vuejs.org/rules/require-prop-comment.html

"eslint-plugin-vue/require-prop-type-constructor"?: _ ¶

require prop type to be a constructor https://eslint.vuejs.org/rules/require-prop-type-constructor.html

"eslint-plugin-vue/require-prop-types"?: _ ¶

require type definitions in props https://eslint.vuejs.org/rules/require-prop-types.html

"eslint-plugin-vue/require-render-return"?: _ ¶

enforce render function to always return value https://eslint.vuejs.org/rules/require-render-return.html

"eslint-plugin-vue/require-slots-as-functions"?: _ ¶

enforce properties of `$slots` to be used as a function https://eslint.vuejs.org/rules/require-slots-as-functions.html

"eslint-plugin-vue/require-toggle-inside-transition"?: _ ¶

require control the display of the content inside `<transition>` https://eslint.vuejs.org/rules/require-toggle-inside-transition.html

"eslint-plugin-vue/require-typed-object-prop"?: _ ¶

enforce adding type declarations to object props https://eslint.vuejs.org/rules/require-typed-object-prop.html

"eslint-plugin-vue/require-typed-ref"?: _ ¶

require `ref` and `shallowRef` functions to be strongly typed https://eslint.vuejs.org/rules/require-typed-ref.html

"eslint-plugin-vue/require-v-for-key"?: _ ¶

require `v-bind:key` with `v-for` directives https://eslint.vuejs.org/rules/require-v-for-key.html

"eslint-plugin-vue/require-valid-default-prop"?: _ ¶

enforce props default values to be valid https://eslint.vuejs.org/rules/require-valid-default-prop.html

"eslint-plugin-vue/return-in-computed-property"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"treatUndefinedAsUnspecified"?: bool
		...
	}, ...],
])
¶

enforce that a return statement is present in computed property https://eslint.vuejs.org/rules/return-in-computed-property.html

"eslint-plugin-vue/return-in-emits-validator"?: _ ¶

enforce that a return statement is present in emits validator https://eslint.vuejs.org/rules/return-in-emits-validator.html

"eslint-plugin-vue/script-indent"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce consistent indentation in `<script>` https://eslint.vuejs.org/rules/script-indent.html

"eslint-plugin-vue/script-setup-uses-vars"?: _ ¶

prevent `<script setup>` variables used in `<template>` to be marked as unused https://eslint.vuejs.org/rules/script-setup-uses-vars.html

"eslint-plugin-vue/singleline-html-element-content-newline"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreWhenNoAttributes"?: bool
		"ignoreWhenEmpty"?:        bool
		"ignores"?:                list.UniqueItems() & [...string]
		"externalIgnores"?:        list.UniqueItems() & [...string]
		...
	}, ...],
])
¶

require a line break before and after the contents of a singleline element https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html

"eslint-plugin-vue/sort-keys"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce sort-keys in a manner that is compatible with order-in-components https://eslint.vuejs.org/rules/sort-keys.html

"eslint-plugin-vue/space-in-parens"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing inside parentheses in `<template>` https://eslint.vuejs.org/rules/space-in-parens.html

"eslint-plugin-vue/space-infix-ops"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"int32Hint"?: bool
		...
	}, ...],
])
¶

Require spacing around infix operators in `<template>` https://eslint.vuejs.org/rules/space-infix-ops.html

"eslint-plugin-vue/space-unary-ops"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"words"?:    bool
		"nonwords"?: bool
		"overrides"?: [string]: bool
		...
	}, ...],
])
¶

Enforce consistent spacing before or after unary operators in `<template>` https://eslint.vuejs.org/rules/space-unary-ops.html

"eslint-plugin-vue/static-class-names-order"?: _ ¶

enforce static class names order https://eslint.vuejs.org/rules/static-class-names-order.html

"eslint-plugin-vue/template-curly-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Require or disallow spacing around embedded expressions of template strings in `<template>` https://eslint.vuejs.org/rules/template-curly-spacing.html

"eslint-plugin-vue/this-in-template"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

disallow usage of `this` in template https://eslint.vuejs.org/rules/this-in-template.html

"eslint-plugin-vue/use-v-on-exact"?: _ ¶

enforce usage of `exact` modifier on `v-on` https://eslint.vuejs.org/rules/use-v-on-exact.html

"eslint-plugin-vue/v-bind-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce `v-bind` directive style https://eslint.vuejs.org/rules/v-bind-style.html

"eslint-plugin-vue/v-for-delimiter-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce `v-for` directive's delimiter style https://eslint.vuejs.org/rules/v-for-delimiter-style.html

"eslint-plugin-vue/v-if-else-key"?: _ ¶

require key attribute for conditionally rendered repeated components https://eslint.vuejs.org/rules/v-if-else-key.html

"eslint-plugin-vue/v-on-event-hyphenation"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce v-on event naming style on custom components in template https://eslint.vuejs.org/rules/v-on-event-hyphenation.html

"eslint-plugin-vue/v-on-function-call"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce or forbid parentheses after method calls without arguments in `v-on` directives https://eslint.vuejs.org/rules/v-on-function-call.html

"eslint-plugin-vue/v-on-handler-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce writing style for handlers in `v-on` directives https://eslint.vuejs.org/rules/v-on-handler-style.html

"eslint-plugin-vue/v-on-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce `v-on` directive style https://eslint.vuejs.org/rules/v-on-style.html

"eslint-plugin-vue/v-slot-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

enforce `v-slot` directive style https://eslint.vuejs.org/rules/v-slot-style.html

"eslint-plugin-vue/valid-attribute-name"?: _ ¶

require valid attribute names https://eslint.vuejs.org/rules/valid-attribute-name.html

"eslint-plugin-vue/valid-define-emits"?: _ ¶

enforce valid `defineEmits` compiler macro https://eslint.vuejs.org/rules/valid-define-emits.html

"eslint-plugin-vue/valid-define-options"?: _ ¶

enforce valid `defineOptions` compiler macro https://eslint.vuejs.org/rules/valid-define-options.html

"eslint-plugin-vue/valid-define-props"?: _ ¶

enforce valid `defineProps` compiler macro https://eslint.vuejs.org/rules/valid-define-props.html

"eslint-plugin-vue/valid-model-definition"?: _ ¶

require valid keys in model option https://eslint.vuejs.org/rules/valid-model-definition.html

"eslint-plugin-vue/valid-next-tick"?: _ ¶

enforce valid `nextTick` function calls https://eslint.vuejs.org/rules/valid-next-tick.html

"eslint-plugin-vue/valid-template-root"?: _ ¶

enforce valid template root https://eslint.vuejs.org/rules/valid-template-root.html

"eslint-plugin-vue/valid-v-bind-sync"?: _ ¶

enforce valid `.sync` modifier on `v-bind` directives https://eslint.vuejs.org/rules/valid-v-bind-sync.html

"eslint-plugin-vue/valid-v-bind"?: _ ¶

enforce valid `v-bind` directives https://eslint.vuejs.org/rules/valid-v-bind.html

"eslint-plugin-vue/valid-v-cloak"?: _ ¶

enforce valid `v-cloak` directives https://eslint.vuejs.org/rules/valid-v-cloak.html

"eslint-plugin-vue/valid-v-else-if"?: _ ¶

enforce valid `v-else-if` directives https://eslint.vuejs.org/rules/valid-v-else-if.html

"eslint-plugin-vue/valid-v-else"?: _ ¶

enforce valid `v-else` directives https://eslint.vuejs.org/rules/valid-v-else.html

"eslint-plugin-vue/valid-v-for"?: _ ¶

enforce valid `v-for` directives https://eslint.vuejs.org/rules/valid-v-for.html

"eslint-plugin-vue/valid-v-html"?: _ ¶

enforce valid `v-html` directives https://eslint.vuejs.org/rules/valid-v-html.html

"eslint-plugin-vue/valid-v-if"?: _ ¶

enforce valid `v-if` directives https://eslint.vuejs.org/rules/valid-v-if.html

"eslint-plugin-vue/valid-v-is"?: _ ¶

enforce valid `v-is` directives https://eslint.vuejs.org/rules/valid-v-is.html

"eslint-plugin-vue/valid-v-memo"?: _ ¶

enforce valid `v-memo` directives https://eslint.vuejs.org/rules/valid-v-memo.html

"eslint-plugin-vue/valid-v-model"?: _ ¶

enforce valid `v-model` directives https://eslint.vuejs.org/rules/valid-v-model.html

"eslint-plugin-vue/valid-v-on"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"modifiers"?: [...]
		...
	}, ...],
])
¶

enforce valid `v-on` directives https://eslint.vuejs.org/rules/valid-v-on.html

"eslint-plugin-vue/valid-v-once"?: _ ¶

enforce valid `v-once` directives https://eslint.vuejs.org/rules/valid-v-once.html

"eslint-plugin-vue/valid-v-pre"?: _ ¶

enforce valid `v-pre` directives https://eslint.vuejs.org/rules/valid-v-pre.html

"eslint-plugin-vue/valid-v-show"?: _ ¶

enforce valid `v-show` directives https://eslint.vuejs.org/rules/valid-v-show.html

"eslint-plugin-vue/valid-v-slot"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowModifiers"?: bool
		...
	}, ...],
])
¶

enforce valid `v-slot` directives https://eslint.vuejs.org/rules/valid-v-slot.html

"eslint-plugin-vue/valid-v-text"?: _ ¶

enforce valid `v-text` directives https://eslint.vuejs.org/rules/valid-v-text.html

"@typescript-eslint/adjacent-overload-signatures"?: _ ¶

Require that function overload signatures be consecutive https://typescript-eslint.io/rules/adjacent-overload-signatures

"@typescript-eslint/array-type"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// The array type expected for mutable cases.
		"default"?: _

		// The array type expected for readonly cases. If omitted, the value for `default` will be used.
		"readonly"?: _
		...
	}, ...],
])
¶

Require consistently using either `T[]` or `Array<T>` for arrays https://typescript-eslint.io/rules/array-type

"@typescript-eslint/await-thenable"?: _ ¶

Disallow awaiting a value that is not a Thenable https://typescript-eslint.io/rules/await-thenable

"@typescript-eslint/ban-ts-comment"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ts-expect-error"?:          _
		"ts-ignore"?:                _
		"ts-nocheck"?:               _
		"ts-check"?:                 _
		"minimumDescriptionLength"?: number
		...
	}, ...],
])
¶

Disallow `@ts-<directive>` comments or require descriptions after directives https://typescript-eslint.io/rules/ban-ts-comment

"@typescript-eslint/ban-tslint-comment"?: _ ¶

Disallow `// tslint:<rule-flag>` comments https://typescript-eslint.io/rules/ban-tslint-comment

"@typescript-eslint/ban-types"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"types"?: [string]: _
		"extendDefaults"?: bool
		...
	}, ...],
])
¶

Disallow certain types https://typescript-eslint.io/rules/ban-types

"@typescript-eslint/block-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Disallow or enforce spaces inside of blocks after opening block and before closing block https://typescript-eslint.io/rules/block-spacing

"@typescript-eslint/brace-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent brace style for blocks https://typescript-eslint.io/rules/brace-style

"@typescript-eslint/class-literal-property-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce that literals on classes are exposed in a consistent style https://typescript-eslint.io/rules/class-literal-property-style

"@typescript-eslint/class-methods-use-this"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Allows specified method names to be ignored with this rule
		"exceptMethods"?: [...string]

		// Enforces that functions used as instance field initializers utilize `this`
		"enforceForClassFields"?: bool

		// Ignore members marked with the `override` modifier
		"ignoreOverrideMethods"?: bool

		// Ignore classes that specifically implement some interface
		"ignoreClassesThatImplementAnInterface"?: matchN(1, [bool, "public-fields"])
		...
	}, ...],
])
¶

Enforce that class methods utilize `this` https://typescript-eslint.io/rules/class-methods-use-this

"@typescript-eslint/comma-dangle"?: _ ¶

Require or disallow trailing commas https://typescript-eslint.io/rules/comma-dangle

"@typescript-eslint/comma-spacing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"before"?: bool
		"after"?:  bool
		...
	}, ...],
])
¶

Enforce consistent spacing before and after commas https://typescript-eslint.io/rules/comma-spacing

"@typescript-eslint/consistent-generic-constructors"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce specifying generic type arguments on type annotation or constructor name of a constructor call https://typescript-eslint.io/rules/consistent-generic-constructors

"@typescript-eslint/consistent-indexed-object-style"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), "record" | "index-signature", ...],
])
¶

Require or disallow the `Record` type https://typescript-eslint.io/rules/consistent-indexed-object-style

"@typescript-eslint/consistent-return"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"treatUndefinedAsUnspecified"?: bool
		...
	}, ...],
])
¶

Require `return` statements to either always or never specify values https://typescript-eslint.io/rules/consistent-return

"@typescript-eslint/consistent-type-assertions"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent usage of type assertions https://typescript-eslint.io/rules/consistent-type-assertions

"@typescript-eslint/consistent-type-definitions"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), "interface" | "type", ...],
])
¶

Enforce type definitions to consistently use either `interface` or `type` https://typescript-eslint.io/rules/consistent-type-definitions

"@typescript-eslint/consistent-type-exports"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"fixMixedExportsWithInlineTypeSpecifier"?: bool
		...
	}, ...],
])
¶

Enforce consistent usage of type exports https://typescript-eslint.io/rules/consistent-type-exports

"@typescript-eslint/consistent-type-imports"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"disallowTypeAnnotations"?: bool
		"fixStyle"?:                "separate-type-imports" | "inline-type-imports"
		"prefer"?:                  "type-imports" | "no-type-imports"
		...
	}, ...],
])
¶

Enforce consistent usage of type imports https://typescript-eslint.io/rules/consistent-type-imports

"@typescript-eslint/default-param-last"?: _ ¶

Enforce default parameters to be last https://typescript-eslint.io/rules/default-param-last

"@typescript-eslint/dot-notation"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowKeywords"?:                     bool
		"allowPattern"?:                      string
		"allowPrivateClassPropertyAccess"?:   bool
		"allowProtectedClassPropertyAccess"?: bool
		"allowIndexSignaturePropertyAccess"?: bool
		...
	}, ...],
])
¶

Enforce dot notation whenever possible https://typescript-eslint.io/rules/dot-notation

"@typescript-eslint/explicit-function-return-type"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow arrow functions that start with the `void` keyword.
		"allowConciseArrowFunctionExpressionsStartingWithVoid"?: bool

		// Whether to ignore function expressions (functions which are not part of a declaration).
		"allowExpressions"?: bool

		// Whether to ignore functions immediately returning another function expression.
		"allowHigherOrderFunctions"?: bool

		// Whether to ignore type annotations on the variable of function expressions.
		"allowTypedFunctionExpressions"?: bool

		// Whether to ignore arrow functions immediately returning a `as const` value.
		"allowDirectConstAssertionInArrowFunctions"?: bool

		// Whether to ignore functions that don't have generic type parameters.
		"allowFunctionsWithoutTypeParameters"?: bool

		// An array of function/method names that will not have their arguments or return values checked.
		"allowedNames"?: [...string]

		// Whether to ignore immediately invoked function expressions (IIFEs).
		"allowIIFEs"?: bool
		...
	}, ...],
])
¶

Require explicit return types on functions and class methods https://typescript-eslint.io/rules/explicit-function-return-type

"@typescript-eslint/explicit-member-accessibility"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"accessibility"?: _
		"overrides"?: close({
			"accessors"?:           _
			"constructors"?:        _
			"methods"?:             _
			"properties"?:          _
			"parameterProperties"?: _
		})
		"ignoredMethodNames"?: [...string]
		...
	}, ...],
])
¶

Require explicit accessibility modifiers on class properties and methods https://typescript-eslint.io/rules/explicit-member-accessibility

"@typescript-eslint/explicit-module-boundary-types"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to ignore arguments that are explicitly typed as `any`.
		"allowArgumentsExplicitlyTypedAsAny"?: bool

		// Whether to ignore return type annotations on body-less arrow functions that
		// return an `as const` type assertion.
		// You must still type the parameters of the function.
		"allowDirectConstAssertionInArrowFunctions"?: bool

		// An array of function/method names that will not have their arguments or return values checked.
		"allowedNames"?: [...string]

		// Whether to ignore return type annotations on functions immediately returning
		// another function expression.
		// You must still type the parameters of the function.
		"allowHigherOrderFunctions"?: bool

		// Whether to ignore type annotations on the variable of a function expression.
		"allowTypedFunctionExpressions"?: bool
		...
	}, ...],
])
¶

Require explicit return and argument types on exported functions' and classes' public class methods https://typescript-eslint.io/rules/explicit-module-boundary-types

"@typescript-eslint/func-call-spacing"?: _ ¶

Require or disallow spacing between function identifiers and their invocations https://typescript-eslint.io/rules/func-call-spacing

"@typescript-eslint/indent"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent indentation https://typescript-eslint.io/rules/indent

"@typescript-eslint/init-declarations"?: _ ¶

Require or disallow initialization in variable declarations https://typescript-eslint.io/rules/init-declarations

"@typescript-eslint/key-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing between property names and type annotations in types and interfaces https://typescript-eslint.io/rules/key-spacing

"@typescript-eslint/keyword-spacing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"before"?: bool
		"after"?:  bool
		"overrides"?: close({
			"abstract"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"as"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"async"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"await"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"boolean"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"break"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"byte"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"case"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"catch"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"char"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"class"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"const"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"continue"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"debugger"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"default"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"delete"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"do"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"double"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"else"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"enum"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"export"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"extends"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"false"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"final"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"finally"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"float"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"for"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"from"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"function"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"get"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"goto"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"if"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"implements"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"import"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"in"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"instanceof"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"int"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"interface"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"let"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"long"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"native"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"new"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"null"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"of"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"package"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"private"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"protected"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"public"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"return"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"set"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"short"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"static"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"super"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"switch"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"synchronized"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"this"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"throw"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"throws"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"transient"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"true"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"try"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"typeof"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"var"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"void"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"volatile"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"while"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"with"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"yield"?: close({
				"before"?: bool
				"after"?:  bool
			})
			"type"?: close({
				"before"?: bool
				"after"?:  bool
			})
		})
		...
	}, ...],
])
¶

Enforce consistent spacing before and after keywords https://typescript-eslint.io/rules/keyword-spacing

"@typescript-eslint/lines-around-comment"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"beforeBlockComment"?:         bool
		"afterBlockComment"?:          bool
		"beforeLineComment"?:          bool
		"afterLineComment"?:           bool
		"allowBlockStart"?:            bool
		"allowBlockEnd"?:              bool
		"allowClassStart"?:            bool
		"allowClassEnd"?:              bool
		"allowObjectStart"?:           bool
		"allowObjectEnd"?:             bool
		"allowArrayStart"?:            bool
		"allowArrayEnd"?:              bool
		"allowInterfaceStart"?:        bool
		"allowInterfaceEnd"?:          bool
		"allowTypeStart"?:             bool
		"allowTypeEnd"?:               bool
		"allowEnumStart"?:             bool
		"allowEnumEnd"?:               bool
		"allowModuleStart"?:           bool
		"allowModuleEnd"?:             bool
		"ignorePattern"?:              string
		"applyDefaultIgnorePatterns"?: bool
		...
	}, ...],
])
¶

Require empty lines around comments https://typescript-eslint.io/rules/lines-around-comment

"@typescript-eslint/lines-between-class-members"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Require or disallow an empty line between class members https://typescript-eslint.io/rules/lines-between-class-members

"@typescript-eslint/max-params"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"maximum"?:       int & >=0
		"max"?:           int & >=0
		"countVoidThis"?: bool
		...
	}, ...],
])
¶

Enforce a maximum number of parameters in function definitions https://typescript-eslint.io/rules/max-params

"@typescript-eslint/member-delimiter-style"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"multiline"?: close({
			"delimiter"?:   _
			"requireLast"?: bool
		})
		"singleline"?: close({
			"delimiter"?:   _
			"requireLast"?: bool
		})
		"overrides"?: close({
			"interface"?:   _
			"typeLiteral"?: _
		})
		"multilineDetection"?: "brackets" | "last-member"
		...
	}, ...],
])
¶

Require a specific member delimiter style for interfaces and type literals https://typescript-eslint.io/rules/member-delimiter-style

"@typescript-eslint/member-ordering"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"default"?:          _
		"classes"?:          _
		"classExpressions"?: _
		"interfaces"?:       _
		"typeLiterals"?:     _
		...
	}, ...],
])
¶

Require a consistent member declaration order https://typescript-eslint.io/rules/member-ordering

"@typescript-eslint/method-signature-style"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce using a particular method signature syntax https://typescript-eslint.io/rules/method-signature-style

"@typescript-eslint/naming-convention"?: _ ¶

Enforce naming conventions for everything across a codebase https://typescript-eslint.io/rules/naming-convention

"@typescript-eslint/no-array-constructor"?: _ ¶

Disallow generic `Array` constructors https://typescript-eslint.io/rules/no-array-constructor

"@typescript-eslint/no-array-delete"?: _ ¶

Disallow using the `delete` operator on array values https://typescript-eslint.io/rules/no-array-delete

"@typescript-eslint/no-base-to-string"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoredTypeNames"?: [...string]
		...
	}, ...],
])
¶

Require `.toString()` to only be called on objects which provide useful information when stringified https://typescript-eslint.io/rules/no-base-to-string

"@typescript-eslint/no-confusing-non-null-assertion"?: _ ¶

Disallow non-null assertion in locations that may be confusing https://typescript-eslint.io/rules/no-confusing-non-null-assertion

"@typescript-eslint/no-confusing-void-expression"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreArrowShorthand"?: bool
		"ignoreVoidOperator"?:   bool
		...
	}, ...],
])
¶

Require expressions of type void to appear in statement position https://typescript-eslint.io/rules/no-confusing-void-expression

"@typescript-eslint/no-dupe-class-members"?: _ ¶

Disallow duplicate class members https://typescript-eslint.io/rules/no-dupe-class-members

"@typescript-eslint/no-duplicate-enum-values"?: _ ¶

Disallow duplicate enum member values https://typescript-eslint.io/rules/no-duplicate-enum-values

"@typescript-eslint/no-duplicate-type-constituents"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreIntersections"?: bool
		"ignoreUnions"?:        bool
		...
	}, ...],
])
¶

Disallow duplicate constituents of union or intersection types https://typescript-eslint.io/rules/no-duplicate-type-constituents

"@typescript-eslint/no-dynamic-delete"?: _ ¶

Disallow using the `delete` operator on computed key expressions https://typescript-eslint.io/rules/no-dynamic-delete

"@typescript-eslint/no-empty-function"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?: list.UniqueItems() & [
			..."functions" |
				"arrowFunctions" |
				"generatorFunctions" |
				"methods" |
				"generatorMethods" |
				"getters" |
				"setters" |
				"constructors" |
				"private-constructors" |
				"protected-constructors" |
				"asyncFunctions" |
				"asyncMethods" |
				"decoratedFunctions" |
				"overrideMethods"
		]
		...
	}, ...],
])
¶

Disallow empty functions https://typescript-eslint.io/rules/no-empty-function

"@typescript-eslint/no-empty-interface"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowSingleExtends"?: bool
		...
	}, ...],
])
¶

Disallow the declaration of empty interfaces https://typescript-eslint.io/rules/no-empty-interface

"@typescript-eslint/no-explicit-any"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type.
		"fixToUnknown"?: bool

		// Whether to ignore rest parameter arrays.
		"ignoreRestArgs"?: bool
		...
	}, ...],
])
¶

Disallow the `any` type https://typescript-eslint.io/rules/no-explicit-any

"@typescript-eslint/no-extra-non-null-assertion"?: _ ¶

Disallow extra non-null assertions https://typescript-eslint.io/rules/no-extra-non-null-assertion

"@typescript-eslint/no-extra-parens"?: _ ¶

Disallow unnecessary parentheses https://typescript-eslint.io/rules/no-extra-parens

"@typescript-eslint/no-extra-semi"?: _ ¶

Disallow unnecessary semicolons https://typescript-eslint.io/rules/no-extra-semi

"@typescript-eslint/no-extraneous-class"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow extraneous classes that contain only a constructor.
		"allowConstructorOnly"?: bool

		// Whether to allow extraneous classes that have no body (i.e. are empty).
		"allowEmpty"?: bool

		// Whether to allow extraneous classes that only contain static members.
		"allowStaticOnly"?: bool

		// Whether to allow extraneous classes that include a decorator.
		"allowWithDecorator"?: bool
		...
	}, ...],
])
¶

Disallow classes used as namespaces https://typescript-eslint.io/rules/no-extraneous-class

"@typescript-eslint/no-floating-promises"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to ignore `void` expressions.
		"ignoreVoid"?: bool

		// Whether to ignore async IIFEs (Immediately Invoked Function Expressions).
		"ignoreIIFE"?: bool
		"allowForKnownSafePromises"?: [...matchN(1, [
			string,
			close({
				"from"!: "file"
				"name"!: matchN(1, [string, list.MinItems(1) & list.UniqueItems() & [...string]])
				"path"?: string
			}), close({
				"from"!: "lib"
				"name"!: matchN(1, [string, list.MinItems(1) & list.UniqueItems() & [...string]])
			}), close({
				"from"!:    "package"
				"name"!:    matchN(1, [string, list.MinItems(1) & list.UniqueItems() & [...string]])
				"package"!: string
			}),
		])]
		...
	}, ...],
])
¶

Require Promise-like statements to be handled appropriately https://typescript-eslint.io/rules/no-floating-promises

"@typescript-eslint/no-for-in-array"?: _ ¶

Disallow iterating over an array with a for-in loop https://typescript-eslint.io/rules/no-for-in-array

"@typescript-eslint/no-implied-eval"?: _ ¶

Disallow the use of `eval()`-like methods https://typescript-eslint.io/rules/no-implied-eval

"@typescript-eslint/no-import-type-side-effects"?: _ ¶

Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers https://typescript-eslint.io/rules/no-import-type-side-effects

"@typescript-eslint/no-inferrable-types"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"ignoreParameters"?: bool
		"ignoreProperties"?: bool
		...
	}, ...],
])
¶

Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean https://typescript-eslint.io/rules/no-inferrable-types

"@typescript-eslint/no-invalid-this"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"capIsConstructor"?: bool
		...
	}, ...],
])
¶

Disallow `this` keywords outside of classes or class-like objects https://typescript-eslint.io/rules/no-invalid-this

"@typescript-eslint/no-invalid-void-type"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowInGenericTypeArguments"?: matchN(1, [bool, list.MinItems(1) & [...string]])
		"allowAsThisParameter"?:        bool
		...
	}, ...],
])
¶

Disallow `void` type outside of generic or return types https://typescript-eslint.io/rules/no-invalid-void-type

"@typescript-eslint/no-loop-func"?: _ ¶

Disallow function declarations that contain unsafe references inside loop statements https://typescript-eslint.io/rules/no-loop-func

"@typescript-eslint/no-loss-of-precision"?: _ ¶

Disallow literal numbers that lose precision https://typescript-eslint.io/rules/no-loss-of-precision

"@typescript-eslint/no-magic-numbers"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"detectObjects"?:                 bool
		"enforceConst"?:                  bool
		"ignore"?:                        list.UniqueItems() & [...matchN(>=1, [number, =~"^[+-]?(?:0|[1-9][0-9]*)n$"])]
		"ignoreArrayIndexes"?:            bool
		"ignoreDefaultValues"?:           bool
		"ignoreClassFieldInitialValues"?: bool
		"ignoreNumericLiteralTypes"?:     bool
		"ignoreEnums"?:                   bool
		"ignoreReadonlyClassProperties"?: bool
		"ignoreTypeIndexes"?:             bool
		...
	}, ...],
])
¶

Disallow magic numbers https://typescript-eslint.io/rules/no-magic-numbers

"@typescript-eslint/no-meaningless-void-operator"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checkNever"?: bool
		...
	}, ...],
])
¶

Disallow the `void` operator except when used to discard a value https://typescript-eslint.io/rules/no-meaningless-void-operator

"@typescript-eslint/no-misused-new"?: _ ¶

Enforce valid definition of `new` and `constructor` https://typescript-eslint.io/rules/no-misused-new

"@typescript-eslint/no-misused-promises"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"checksConditionals"?: bool
		"checksVoidReturn"?: matchN(1, [
			bool,
			close({
				"arguments"?:  bool
				"attributes"?: bool
				"properties"?: bool
				"returns"?:    bool
				"variables"?:  bool
			}),
		])
		"checksSpreads"?: bool
		...
	}, ...],
])
¶

Disallow Promises in places not designed to handle them https://typescript-eslint.io/rules/no-misused-promises

"@typescript-eslint/no-mixed-enums"?: _ ¶

Disallow enums from having both number and string members https://typescript-eslint.io/rules/no-mixed-enums

"@typescript-eslint/no-namespace"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow `declare` with custom TypeScript namespaces.
		"allowDeclarations"?: bool

		// Whether to allow `declare` with custom TypeScript namespaces inside definition files.
		"allowDefinitionFiles"?: bool
		...
	}, ...],
])
¶

Disallow TypeScript namespaces https://typescript-eslint.io/rules/no-namespace

"@typescript-eslint/no-non-null-asserted-nullish-coalescing"?: _ ¶

Disallow non-null assertions in the left operand of a nullish coalescing operator https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing

"@typescript-eslint/no-non-null-asserted-optional-chain"?: _ ¶

Disallow non-null assertions after an optional chain expression https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain

"@typescript-eslint/no-non-null-assertion"?: _ ¶

Disallow non-null assertions using the `!` postfix operator https://typescript-eslint.io/rules/no-non-null-assertion

"@typescript-eslint/no-redeclare"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"builtinGlobals"?:         bool
		"ignoreDeclarationMerge"?: bool
		...
	}, ...],
])
¶

Disallow variable redeclaration https://typescript-eslint.io/rules/no-redeclare

"@typescript-eslint/no-redundant-type-constituents"?: _ ¶

Disallow members of unions and intersections that do nothing or override type information https://typescript-eslint.io/rules/no-redundant-type-constituents

"@typescript-eslint/no-require-imports"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Patterns of import paths to allow requiring from.
		"allow"?: [...string]
		...
	}, ...],
])
¶

Disallow invocation of `require()` https://typescript-eslint.io/rules/no-require-imports

"@typescript-eslint/no-restricted-imports"?: _ ¶

Disallow specified modules when loaded by `import` https://typescript-eslint.io/rules/no-restricted-imports

"@typescript-eslint/no-shadow"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"builtinGlobals"?:                             bool
		"hoist"?:                                      "all" | "functions" | "never"
		"allow"?:                                      [...string]
		"ignoreOnInitialization"?:                     bool
		"ignoreTypeValueShadow"?:                      bool
		"ignoreFunctionTypeParameterNameValueShadow"?: bool
		...
	}, ...],
])
¶

Disallow variable declarations from shadowing variables declared in the outer scope https://typescript-eslint.io/rules/no-shadow

"@typescript-eslint/no-this-alias"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to ignore destructurings, such as `const { props, state } = this`.
		"allowDestructuring"?: bool

		// Names to ignore, such as ["self"] for `const self = this;`.
		"allowedNames"?: [...string]
		...
	}, ...],
])
¶

Disallow aliasing `this` https://typescript-eslint.io/rules/no-this-alias

"@typescript-eslint/no-throw-literal"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowThrowingAny"?:     bool
		"allowThrowingUnknown"?: bool
		...
	}, ...],
])
¶

Disallow throwing literals as exceptions https://typescript-eslint.io/rules/no-throw-literal

"@typescript-eslint/no-type-alias"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow direct one-to-one type aliases.
		"allowAliases"?: _

		// Whether to allow type aliases for callbacks.
		"allowCallbacks"?: _

		// Whether to allow type aliases for conditional types.
		"allowConditionalTypes"?: _

		// Whether to allow type aliases with constructors.
		"allowConstructors"?: _

		// Whether to allow type aliases with object literal types.
		"allowLiterals"?: _

		// Whether to allow type aliases with mapped types.
		"allowMappedTypes"?: _

		// Whether to allow type aliases with tuple types.
		"allowTupleTypes"?: _

		// Whether to allow type aliases with generic types.
		"allowGenerics"?: _
		...
	}, ...],
])
¶

Disallow type aliases https://typescript-eslint.io/rules/no-type-alias

"@typescript-eslint/no-unnecessary-boolean-literal-compare"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow comparisons between nullable boolean variables and `true`.
		"allowComparingNullableBooleansToTrue"?: bool

		// Whether to allow comparisons between nullable boolean variables and `false`.
		"allowComparingNullableBooleansToFalse"?: bool
		...
	}, ...],
])
¶

Disallow unnecessary equality comparisons against boolean literals https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare

"@typescript-eslint/no-unnecessary-condition"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to ignore constant loop conditions, such as `while (true)`.
		"allowConstantLoopConditions"?: bool

		// Whether to not error when running with a tsconfig that has strictNullChecks turned.
		"allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing"?: bool
		...
	}, ...],
])
¶

Disallow conditionals where the type is always truthy or always falsy https://typescript-eslint.io/rules/no-unnecessary-condition

"@typescript-eslint/no-unnecessary-qualifier"?: _ ¶

Disallow unnecessary namespace qualifiers https://typescript-eslint.io/rules/no-unnecessary-qualifier

"@typescript-eslint/no-unnecessary-template-expression"?: _ ¶

Disallow unnecessary template expressions https://typescript-eslint.io/rules/no-unnecessary-template-expression

"@typescript-eslint/no-unnecessary-type-arguments"?: _ ¶

Disallow type arguments that are equal to the default https://typescript-eslint.io/rules/no-unnecessary-type-arguments

"@typescript-eslint/no-unnecessary-type-assertion"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// A list of type names to ignore.
		"typesToIgnore"?: [...string]
		...
	}, ...],
])
¶

Disallow type assertions that do not change the type of an expression https://typescript-eslint.io/rules/no-unnecessary-type-assertion

"@typescript-eslint/no-unnecessary-type-constraint"?: _ ¶

Disallow unnecessary constraints on generic types https://typescript-eslint.io/rules/no-unnecessary-type-constraint

"@typescript-eslint/no-unsafe-argument"?: _ ¶

Disallow calling a function with a value with type `any` https://typescript-eslint.io/rules/no-unsafe-argument

"@typescript-eslint/no-unsafe-assignment"?: _ ¶

Disallow assigning a value with type `any` to variables and properties https://typescript-eslint.io/rules/no-unsafe-assignment

"@typescript-eslint/no-unsafe-call"?: _ ¶

Disallow calling a value with type `any` https://typescript-eslint.io/rules/no-unsafe-call

"@typescript-eslint/no-unsafe-declaration-merging"?: _ ¶

Disallow unsafe declaration merging https://typescript-eslint.io/rules/no-unsafe-declaration-merging

"@typescript-eslint/no-unsafe-enum-comparison"?: _ ¶

Disallow comparing an enum value with a non-enum value https://typescript-eslint.io/rules/no-unsafe-enum-comparison

"@typescript-eslint/no-unsafe-member-access"?: _ ¶

Disallow member access on a value with type `any` https://typescript-eslint.io/rules/no-unsafe-member-access

"@typescript-eslint/no-unsafe-return"?: _ ¶

Disallow returning a value with type `any` from a function https://typescript-eslint.io/rules/no-unsafe-return

"@typescript-eslint/no-unsafe-unary-minus"?: _ ¶

Require unary negation to take a number https://typescript-eslint.io/rules/no-unsafe-unary-minus

"@typescript-eslint/no-unused-expressions"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowShortCircuit"?:    bool
		"allowTernary"?:         bool
		"allowTaggedTemplates"?: bool
		"enforceForJSX"?:        bool
		...
	}, ...],
])
¶

Disallow unused expressions https://typescript-eslint.io/rules/no-unused-expressions

"@typescript-eslint/no-unused-vars"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Disallow unused variables https://typescript-eslint.io/rules/no-unused-vars

"@typescript-eslint/no-use-before-define"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Disallow the use of variables before they are defined https://typescript-eslint.io/rules/no-use-before-define

"@typescript-eslint/no-useless-constructor"?: _ ¶

Disallow unnecessary constructors https://typescript-eslint.io/rules/no-useless-constructor

"@typescript-eslint/no-useless-empty-export"?: _ ¶

Disallow empty exports that don't change anything in a module file https://typescript-eslint.io/rules/no-useless-empty-export

"@typescript-eslint/no-useless-template-literals"?: _ ¶

Disallow unnecessary template expressions https://typescript-eslint.io/rules/no-useless-template-literals

"@typescript-eslint/no-var-requires"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Patterns of import paths to allow requiring from.
		"allow"?: [...string]
		...
	}, ...],
])
¶

Disallow `require` statements except in import statements https://typescript-eslint.io/rules/no-var-requires

"@typescript-eslint/non-nullable-type-assertion-style"?: _ ¶

Enforce non-null assertions over explicit type casts https://typescript-eslint.io/rules/non-nullable-type-assertion-style

"@typescript-eslint/object-curly-spacing"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing inside braces https://typescript-eslint.io/rules/object-curly-spacing

"@typescript-eslint/only-throw-error"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowThrowingAny"?:     bool
		"allowThrowingUnknown"?: bool
		...
	}, ...],
])
¶

Disallow throwing non-`Error` values as exceptions https://typescript-eslint.io/rules/only-throw-error

"@typescript-eslint/padding-line-between-statements"?: _ ¶

Require or disallow padding lines between statements https://typescript-eslint.io/rules/padding-line-between-statements

"@typescript-eslint/parameter-properties"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?:  [..._]
		"prefer"?: "class-property" | "parameter-property"
		...
	}, ...],
])
¶

Require or disallow parameter properties in class constructors https://typescript-eslint.io/rules/parameter-properties

"@typescript-eslint/prefer-as-const"?: _ ¶

Enforce the use of `as const` over literal type https://typescript-eslint.io/rules/prefer-as-const

"@typescript-eslint/prefer-destructuring"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Require destructuring from arrays and/or objects https://typescript-eslint.io/rules/prefer-destructuring

"@typescript-eslint/prefer-enum-initializers"?: _ ¶

Require each enum member value to be explicitly initialized https://typescript-eslint.io/rules/prefer-enum-initializers

"@typescript-eslint/prefer-find"?: _ ¶

Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result https://typescript-eslint.io/rules/prefer-find

"@typescript-eslint/prefer-for-of"?: _ ¶

Enforce the use of `for-of` loop over the standard `for` loop where possible https://typescript-eslint.io/rules/prefer-for-of

"@typescript-eslint/prefer-function-type"?: _ ¶

Enforce using function types instead of interfaces with call signatures https://typescript-eslint.io/rules/prefer-function-type

"@typescript-eslint/prefer-includes"?: _ ¶

Enforce `includes` method over `indexOf` method https://typescript-eslint.io/rules/prefer-includes

"@typescript-eslint/prefer-literal-enum-member"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowBitwiseExpressions"?: bool
		...
	}, ...],
])
¶

Require all enum members to be literal values https://typescript-eslint.io/rules/prefer-literal-enum-member

"@typescript-eslint/prefer-namespace-keyword"?: _ ¶

Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules https://typescript-eslint.io/rules/prefer-namespace-keyword

"@typescript-eslint/prefer-nullish-coalescing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing"?: bool
		"ignoreConditionalTests"?:                                 bool
		"ignoreMixedLogicalExpressions"?:                          bool
		"ignorePrimitives"?: matchN(1, [
			{
				"bigint"?:  bool
				"boolean"?: bool
				"number"?:  bool
				"string"?:  bool
				...
			},
			true,
		])
		"ignoreTernaryTests"?: bool
		...
	}, ...],
])
¶

Enforce using the nullish coalescing operator instead of logical assignments or chaining https://typescript-eslint.io/rules/prefer-nullish-coalescing

"@typescript-eslint/prefer-optional-chain"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Check operands that are typed as `any` when inspecting "loose boolean" operands.
		"checkAny"?: bool

		// Check operands that are typed as `unknown` when inspecting "loose boolean" operands.
		"checkUnknown"?: bool

		// Check operands that are typed as `string` when inspecting "loose boolean" operands.
		"checkString"?: bool

		// Check operands that are typed as `number` when inspecting "loose boolean" operands.
		"checkNumber"?: bool

		// Check operands that are typed as `boolean` when inspecting "loose boolean" operands.
		"checkBoolean"?: bool

		// Check operands that are typed as `bigint` when inspecting "loose boolean" operands.
		"checkBigInt"?: bool

		// Skip operands that are not typed with `null` and/or `undefined` when
		// inspecting "loose boolean" operands.
		"requireNullish"?: bool

		// Allow autofixers that will change the return type of the expression. This
		// option is considered unsafe as it may break the build.
		"allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing"?: bool
		...
	}, ...],
])
¶

Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects https://typescript-eslint.io/rules/prefer-optional-chain

"@typescript-eslint/prefer-promise-reject-errors"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowEmptyReject"?: bool
		...
	}, ...],
])
¶

Require using Error objects as Promise rejection reasons https://typescript-eslint.io/rules/prefer-promise-reject-errors

"@typescript-eslint/prefer-readonly"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"onlyInlineLambdas"?: bool
		...
	}, ...],
])
¶

Require private members to be marked as `readonly` if they're never modified outside of the constructor https://typescript-eslint.io/rules/prefer-readonly

"@typescript-eslint/prefer-readonly-parameter-types"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allow"?: [...matchN(1, [
			string,
			close({
				"from"!: "file"
				"name"!: matchN(1, [string, list.MinItems(1) & list.UniqueItems() & [...string]])
				"path"?: string
			}), close({
				"from"!: "lib"
				"name"!: matchN(1, [string, list.MinItems(1) & list.UniqueItems() & [...string]])
			}), close({
				"from"!:    "package"
				"name"!:    matchN(1, [string, list.MinItems(1) & list.UniqueItems() & [...string]])
				"package"!: string
			}),
		])]
		"checkParameterProperties"?: bool
		"ignoreInferredTypes"?:      bool
		"treatMethodsAsReadonly"?:   bool
		...
	}, ...],
])
¶

Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs https://typescript-eslint.io/rules/prefer-readonly-parameter-types

"@typescript-eslint/prefer-reduce-type-parameter"?: _ ¶

Enforce using type parameter when calling `Array#reduce` instead of casting https://typescript-eslint.io/rules/prefer-reduce-type-parameter

"@typescript-eslint/prefer-regexp-exec"?: _ ¶

Enforce `RegExp#exec` over `String#match` if no global flag is provided https://typescript-eslint.io/rules/prefer-regexp-exec

"@typescript-eslint/prefer-return-this-type"?: _ ¶

Enforce that `this` is used when only `this` type is returned https://typescript-eslint.io/rules/prefer-return-this-type

"@typescript-eslint/prefer-string-starts-ends-with"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow equality checks against the first or last element of a string.
		"allowSingleElementEquality"?: "always" | "never"
		...
	}, ...],
])
¶

Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings https://typescript-eslint.io/rules/prefer-string-starts-ends-with

"@typescript-eslint/prefer-ts-expect-error"?: _ ¶

Enforce using `@ts-expect-error` over `@ts-ignore` https://typescript-eslint.io/rules/prefer-ts-expect-error

"@typescript-eslint/promise-function-async"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to consider `any` and `unknown` to be Promises.
		"allowAny"?: bool

		// Any extra names of classes or interfaces to be considered Promises.
		"allowedPromiseNames"?:       [...string]
		"checkArrowFunctions"?:       bool
		"checkFunctionDeclarations"?: bool
		"checkFunctionExpressions"?:  bool
		"checkMethodDeclarations"?:   bool
		...
	}, ...],
])
¶

Require any function or method that returns a Promise to be marked async https://typescript-eslint.io/rules/promise-function-async

"@typescript-eslint/quotes"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	matchN(1, [[
		matchN(1, [#ruleNumber, #ruleString]),
		"double" | "single" | "backtick",
	], [matchN(1, [#ruleNumber, #ruleString]), "double" | "single" | "backtick", {
		// allows strings to use single-quotes or double-quotes so long as the string
		// contains a quote that would have to be escaped otherwise
		"avoidEscape"?: bool

		// allows strings to use backticks
		"allowTemplateLiterals"?: bool

		// Deprecated: The object property avoid-escape is deprecated; please use the
		// object property avoidEscape instead.
		"avoid-escape"?: bool
		...
	}]]),
])
¶

DEPRECATED. Enforce the consistent use of either backticks, double, or single quotes https://typescript-eslint.io/rules/quotes

"@typescript-eslint/require-array-sort-compare"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to ignore arrays in which all elements are strings.
		"ignoreStringArrays"?: bool
		...
	}, ...],
])
¶

Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction` https://typescript-eslint.io/rules/require-array-sort-compare

"@typescript-eslint/require-await"?: _ ¶

Disallow async functions which do not return promises and have no `await` expression https://typescript-eslint.io/rules/require-await

"@typescript-eslint/restrict-plus-operands"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow `any` typed values.
		"allowAny"?: bool

		// Whether to allow `boolean` typed values.
		"allowBoolean"?: bool

		// Whether to allow potentially `null` or `undefined` typed values.
		"allowNullish"?: bool

		// Whether to allow `bigint`/`number` typed values and `string` typed values to be added together.
		"allowNumberAndString"?: bool

		// Whether to allow `regexp` typed values.
		"allowRegExp"?: bool

		// Whether to skip compound assignments such as `+=`.
		"skipCompoundAssignments"?: bool
		...
	}, ...],
])
¶

Require both operands of addition to be the same type and be `bigint`, `number`, or `string` https://typescript-eslint.io/rules/restrict-plus-operands

"@typescript-eslint/restrict-template-expressions"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to allow `any` typed values in template expressions.
		"allowAny"?: bool

		// Whether to allow `array` typed values in template expressions.
		"allowArray"?: bool

		// Whether to allow `boolean` typed values in template expressions.
		"allowBoolean"?: bool

		// Whether to allow `nullish` typed values in template expressions.
		"allowNullish"?: bool

		// Whether to allow `number` typed values in template expressions.
		"allowNumber"?: bool

		// Whether to allow `regexp` typed values in template expressions.
		"allowRegExp"?: bool

		// Whether to allow `never` typed values in template expressions.
		"allowNever"?: bool
		...
	}, ...],
])
¶

Enforce template literal expressions to be of `string` type https://typescript-eslint.io/rules/restrict-template-expressions

"@typescript-eslint/return-await"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [
		matchN(1, [#ruleNumber, #ruleString]), matchN(1, [
			"never",
			"error-handling-correctness-only",
			"in-try-catch",
			"always",
		]),
		...,
	],
])
¶

Enforce consistent awaiting of returned promises https://typescript-eslint.io/rules/return-await

"@typescript-eslint/semi"?: _ ¶

Require or disallow semicolons instead of ASI https://typescript-eslint.io/rules/semi

"@typescript-eslint/sort-type-constituents"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to check intersection types.
		"checkIntersections"?: bool

		// Whether to check union types.
		"checkUnions"?: bool

		// Whether to sort using case sensitive sorting.
		"caseSensitive"?: bool

		// Ordering of the groups.
		"groupOrder"?: [
			..."conditional" |
				"function" |
				"import" |
				"intersection" |
				"keyword" |
				"nullish" |
				"literal" |
				"named" |
				"object" |
				"operator" |
				"tuple" |
				"union"
		]
		...
	}, ...],
])
¶

Enforce constituents of a type union/intersection to be sorted alphabetically https://typescript-eslint.io/rules/sort-type-constituents

"@typescript-eslint/space-before-blocks"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing before blocks https://typescript-eslint.io/rules/space-before-blocks

"@typescript-eslint/space-before-function-paren"?: matchN(1, [#ruleNumber, #ruleString, list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {...}, ...]]) ¶

Enforce consistent spacing before function parenthesis https://typescript-eslint.io/rules/space-before-function-paren

"@typescript-eslint/space-infix-ops"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"int32Hint"?: bool
		...
	}, ...],
])
¶

Require spacing around infix operators https://typescript-eslint.io/rules/space-infix-ops

"@typescript-eslint/strict-boolean-expressions"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"allowString"?:                                            bool
		"allowNumber"?:                                            bool
		"allowNullableObject"?:                                    bool
		"allowNullableBoolean"?:                                   bool
		"allowNullableString"?:                                    bool
		"allowNullableNumber"?:                                    bool
		"allowNullableEnum"?:                                      bool
		"allowAny"?:                                               bool
		"allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing"?: bool
		...
	}, ...],
])
¶

Disallow certain types in boolean expressions https://typescript-eslint.io/rules/strict-boolean-expressions

"@typescript-eslint/switch-exhaustiveness-check"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// If 'true', allow 'default' cases on switch statements with exhaustive cases.
		"allowDefaultCaseForExhaustiveSwitch"?: bool

		// If 'true', require a 'default' clause for switches on non-union types.
		"requireDefaultForNonUnion"?: bool
		...
	}, ...],
])
¶

Require switch-case statements to be exhaustive https://typescript-eslint.io/rules/switch-exhaustiveness-check

"@typescript-eslint/triple-slash-reference"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"lib"?:   "always" | "never"
		"path"?:  "always" | "never"
		"types"?: "always" | "never" | "prefer-import"
		...
	}, ...],
])
¶

Disallow certain triple slash directives in favor of ES6-style import declarations https://typescript-eslint.io/rules/triple-slash-reference

"@typescript-eslint/type-annotation-spacing"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"before"?: bool
		"after"?:  bool
		"overrides"?: close({
			"colon"?:      _
			"arrow"?:      _
			"variable"?:   _
			"parameter"?:  _
			"property"?:   _
			"returnType"?: _
		})
		...
	}, ...],
])
¶

Require consistent spacing around type annotations https://typescript-eslint.io/rules/type-annotation-spacing

"@typescript-eslint/typedef"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		"arrayDestructuring"?:                bool
		"arrowParameter"?:                    bool
		"memberVariableDeclaration"?:         bool
		"objectDestructuring"?:               bool
		"parameter"?:                         bool
		"propertyDeclaration"?:               bool
		"variableDeclaration"?:               bool
		"variableDeclarationIgnoreFunction"?: bool
		...
	}, ...],
])
¶

Require type annotations in certain places https://typescript-eslint.io/rules/typedef

"@typescript-eslint/unbound-method"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether to skip checking whether `static` methods are correctly bound.
		"ignoreStatic"?: bool
		...
	}, ...],
])
¶

Enforce unbound methods are called with their expected scope https://typescript-eslint.io/rules/unbound-method

"@typescript-eslint/unified-signatures"?:
click to see definition
matchN(1, [
	#ruleNumber,
	#ruleString,
	list.MaxItems(2) & [matchN(1, [#ruleNumber, #ruleString]), {
		// Whether two parameters with different names at the same index should be
		// considered different even if their types are the same.
		"ignoreDifferentlyNamedParameters"?: bool
		...
	}, ...],
])
¶

Disallow two overloads that could be unified into one with a union or an optional/rest parameter https://typescript-eslint.io/rules/unified-signatures

"@typescript-eslint/use-unknown-in-catch-callback-variable"?: _ ¶

Enforce typing arguments in `.catch()` callbacks as `unknown` https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable

#pluginNames:
click to see definition
list.UniqueItems() & [
	...matchN(>=1, [
		"eslint-plugin-jest" |
			"eslint-plugin-n" |
			"eslint-plugin-jsx-a11y" |
			"eslint-plugin-react" |
			"eslint-plugin-unused-imports" |
			"eslint-plugin-react-hooks" |
			"eslint-plugin-import" |
			"eslint-plugin-security" |
			"eslint-plugin-unicorn" |
			"eslint-plugin-regexp" |
			"eslint-plugin-ft-flow" |
			"eslint-plugin-prettier" |
			"eslint-plugin-cypress" |
			"eslint-plugin-eslint-plugin" |
			"eslint-plugin-mocha" |
			"eslint-plugin-qunit" |
			"eslint-plugin-jasmine" |
			"eslint-plugin-ember" |
			"eslint-plugin-you-dont-need-lodash-underscore" |
			"@tanstack/eslint-plugin-query" |
			"eslint-plugin-react-perf" |
			"eslint-plugin-no-only-tests" |
			"eslint-plugin-jsdoc" |
			"eslint-plugin-yml" |
			"eslint-plugin-vue" |
			"eslint-plugin-jest-dom" |
			"eslint-plugin-simple-import-sort" |
			"eslint-plugin-ava" |
			"eslint-plugin-es-x" |
			"eslint-plugin-testing-library" |
			"eslint-plugin-i18next" |
			"eslint-plugin-markdown" |
			"eslint-plugin-local-rules" |
			"eslint-plugin-html" |
			"eslint-plugin-sonarjs" |
			"eslint-plugin-lodash" |
			"@next/eslint-plugin-next" |
			"eslint-plugin-perfectionist" |
			"eslint-plugin-canonical" |
			"eslint-plugin-jest-formatting" |
			"eslint-plugin-babel" |
			"eslint-plugin-tailwindcss" |
			"eslint-plugin-flowtype" |
			"eslint-plugin-lit-a11y" |
			"@rushstack/eslint-plugin-security" |
			"eslint-plugin-sort-exports" |
			"eslint-plugin-json" |
			"eslint-plugin-react-native" |
			"eslint-plugin-deprecation" |
			"eslint-plugin-vuejs-accessibility" |
			"eslint-plugin-chai-friendly" |
			"eslint-plugin-check-file" |
			"eslint-plugin-promise" |
			"eslint-plugin-sort-class-members" |
			"eslint-plugin-astro" |
			"eslint-plugin-playwright" |
			"eslint-plugin-typescript-sort-keys" |
			"eslint-plugin-react-refresh" |
			"eslint-plugin-jsonc" |
			"eslint-plugin-ban" |
			"eslint-plugin-tsdoc" |
			"eslint-plugin-vitest" |
			"eslint-plugin-nuxt" |
			"eslint-plugin-i" |
			"eslint-plugin-css-modules" |
			"eslint-plugin-no-secrets",
		string,
	])
]
¶
[...]:
click to see definition
matchN(>=1, [
	"eslint-plugin-jest" |
		"eslint-plugin-n" |
		"eslint-plugin-jsx-a11y" |
		"eslint-plugin-react" |
		"eslint-plugin-unused-imports" |
		"eslint-plugin-react-hooks" |
		"eslint-plugin-import" |
		"eslint-plugin-security" |
		"eslint-plugin-unicorn" |
		"eslint-plugin-regexp" |
		"eslint-plugin-ft-flow" |
		"eslint-plugin-prettier" |
		"eslint-plugin-cypress" |
		"eslint-plugin-eslint-plugin" |
		"eslint-plugin-mocha" |
		"eslint-plugin-qunit" |
		"eslint-plugin-jasmine" |
		"eslint-plugin-ember" |
		"eslint-plugin-you-dont-need-lodash-underscore" |
		"@tanstack/eslint-plugin-query" |
		"eslint-plugin-react-perf" |
		"eslint-plugin-no-only-tests" |
		"eslint-plugin-jsdoc" |
		"eslint-plugin-yml" |
		"eslint-plugin-vue" |
		"eslint-plugin-jest-dom" |
		"eslint-plugin-simple-import-sort" |
		"eslint-plugin-ava" |
		"eslint-plugin-es-x" |
		"eslint-plugin-testing-library" |
		"eslint-plugin-i18next" |
		"eslint-plugin-markdown" |
		"eslint-plugin-local-rules" |
		"eslint-plugin-html" |
		"eslint-plugin-sonarjs" |
		"eslint-plugin-lodash" |
		"@next/eslint-plugin-next" |
		"eslint-plugin-perfectionist" |
		"eslint-plugin-canonical" |
		"eslint-plugin-jest-formatting" |
		"eslint-plugin-babel" |
		"eslint-plugin-tailwindcss" |
		"eslint-plugin-flowtype" |
		"eslint-plugin-lit-a11y" |
		"@rushstack/eslint-plugin-security" |
		"eslint-plugin-sort-exports" |
		"eslint-plugin-json" |
		"eslint-plugin-react-native" |
		"eslint-plugin-deprecation" |
		"eslint-plugin-vuejs-accessibility" |
		"eslint-plugin-chai-friendly" |
		"eslint-plugin-check-file" |
		"eslint-plugin-promise" |
		"eslint-plugin-sort-class-members" |
		"eslint-plugin-astro" |
		"eslint-plugin-playwright" |
		"eslint-plugin-typescript-sort-keys" |
		"eslint-plugin-react-refresh" |
		"eslint-plugin-jsonc" |
		"eslint-plugin-ban" |
		"eslint-plugin-tsdoc" |
		"eslint-plugin-vitest" |
		"eslint-plugin-nuxt" |
		"eslint-plugin-i" |
		"eslint-plugin-css-modules" |
		"eslint-plugin-no-secrets",
	string,
])
#ruleNumber: int & >=0 & <=2 ¶

ESLint rule

0 - turns the rule off 1 - turn the rule on as a warning (doesn't affect exit code) 2 - turn the rule on as an error (exit code is 1 when triggered)

#ruleString: "off" | "warn" | "error" ¶

ESLint rule

"off" - turns the rule off "warn" - turn the rule on as a warning (doesn't affect exit code) "error" - turn the rule on as an error (exit code is 1 when triggered)

#Schema: ¶

JSON schema for ESLint configuration files

"ecmaFeatures"?: _#defs."/properties/ecmaFeatures" ¶

By default, ESLint supports only ECMAScript 5 syntax. You can override that setting to enable support for ECMAScript 6 as well as JSX by using configuration settings.

"env"?: _#defs."/properties/env" ¶

An environment defines global variables that are predefined.

"extends"?: #stringOrStringArray ¶
"globals"?: _#defs."/properties/globals" ¶

Set each global variable name equal to true to allow the variable to be overwritten or false to disallow overwriting.

"noInlineConfig"?: bool ¶

Prevent comments from changing config or rules

"reportUnusedDisableDirectives"?: bool ¶

Report unused eslint-disable comments

"parser"?: _#defs."/properties/parser" ¶
"parserOptions"?: _#defs."/properties/parserOptions" ¶

The JavaScript language options to be supported

"plugins"?: _#defs."/properties/plugins" ¶

ESLint supports the use of third-party plugins. Before using the plugin, you have to install it using npm.

"root"?: bool ¶

By default, ESLint will look for configuration files in all parent folders up to the root directory. This can be useful if you want all of your projects to follow a certain convention, but can sometimes lead to unexpected results. To limit ESLint to a specific project, set this to `true` in a configuration in the root of your project.

"ignorePatterns"?: #stringOrStringArray ¶
"rules"?: _#defs."/properties/rules" ¶

ESLint comes with a large number of rules. You can modify which rules your project uses either using configuration comments or configuration files.

"settings"?: _#defs."/properties/settings" ¶

ESLint supports adding shared settings into configuration file. You can add settings object to ESLint configuration file and it will be supplied to every rule that will be executed. This may be useful if you are adding custom rules and want them to have access to the same information and be easily configurable.

"overrides"?: _#defs."/properties/overrides" ¶

Allows to override configuration for files and folders, specified by glob patterns

#bestPractices: ¶
"accessor-pairs"?: #rule ¶
"array-callback-return"?: #rule ¶
"block-scoped-var"?: #rule ¶
"class-methods-use-this"?: #rule ¶
"complexity"?: #rule ¶
"consistent-return"?: #rule ¶
"curly"?: #rule ¶
"default-case"?: #rule ¶
"dot-location"?: #rule ¶
"dot-notation"?: #rule ¶
"eqeqeq"?: #rule ¶
"guard-for-in"?: #rule ¶
"no-alert"?: #rule ¶
"no-caller"?: #rule ¶
"no-case-declarations"?: #rule ¶
"no-div-regex"?: #rule ¶
"no-else-return"?: #rule ¶
"no-empty-function"?: #rule ¶
"no-empty-pattern"?: #rule ¶
"no-eq-null"?: #rule ¶
"no-eval"?: #rule ¶
"no-extend-native"?: #rule ¶
"no-extra-bind"?: #rule ¶
"no-extra-label"?: #rule ¶
"no-fallthrough"?: #rule ¶
"no-floating-decimal"?: #rule ¶
"no-global-assign"?: #rule ¶
"no-implicit-coercion"?: #rule ¶
"no-implicit-globals"?: #rule ¶
"no-implied-eval"?: #rule ¶
"no-invalid-this"?: #rule ¶
"no-iterator"?: #rule ¶
"no-labels"?: #rule ¶
"no-lone-blocks"?: #rule ¶
"no-loop-func"?: #rule ¶
"no-magic-numbers"?: #rule ¶
"no-multi-spaces"?: #rule ¶
"no-multi-str"?: #rule ¶
"no-native-reassign"?: #rule ¶
"no-new"?: #rule ¶
"no-new-func"?: #rule ¶
"no-new-wrappers"?: #rule ¶
"no-octal"?: #rule ¶
"no-octal-escape"?: #rule ¶
"no-param-reassign"?: #rule ¶
"no-proto"?: #rule ¶
"no-redeclare"?: #rule ¶
"no-restricted-properties"?: #rule ¶
"no-return-assign"?: #rule ¶
"no-return-await"?: #rule ¶
"no-script-url"?: #rule ¶
"no-self-assign"?: #rule ¶
"no-self-compare"?: #rule ¶
"no-sequences"?: #rule ¶
"no-throw-literal"?: #rule ¶
"no-unmodified-loop-condition"?: #rule ¶
"no-unused-expressions"?: #rule ¶
"no-unused-labels"?: #rule ¶
"no-useless-call"?: #rule ¶
"no-useless-concat"?: #rule ¶
"no-useless-escape"?: #rule ¶
"no-useless-return"?: #rule ¶
"no-void"?: #rule ¶
"no-warning-comments"?: #rule ¶
"no-with"?: #rule ¶
"prefer-promise-reject-errors"?: #rule ¶
"radix"?: #rule ¶
"require-await"?: #rule ¶
"vars-on-top"?: #rule ¶
"wrap-iife"?: #rule ¶
"yoda"?: #rule ¶
#ecmaScript6: ¶
"arrow-body-style"?: #rule ¶
"arrow-parens"?: #rule ¶
"arrow-spacing"?: #rule ¶
"constructor-super"?: #rule ¶
"generator-star-spacing"?: #rule ¶
"no-class-assign"?: #rule ¶
"no-confusing-arrow"?: #rule ¶
"no-const-assign"?: #rule ¶
"no-dupe-class-members"?: #rule ¶
"no-duplicate-imports"?: #rule ¶
"no-new-symbol"?: #rule ¶
"no-restricted-imports"?: #rule ¶
"no-this-before-super"?: #rule ¶
"no-useless-computed-key"?: #rule ¶
"no-useless-constructor"?: #rule ¶
"no-useless-rename"?: #rule ¶
"no-var"?: #rule ¶
"object-shorthand"?: #rule ¶
"prefer-arrow-callback"?: #rule ¶
"prefer-const"?: #rule ¶
"prefer-destructuring"?: #rule ¶
"prefer-numeric-literals"?: #rule ¶
"prefer-reflect"?: #rule ¶
"prefer-rest-params"?: #rule ¶
"prefer-spread"?: #rule ¶
"prefer-template"?: #rule ¶
"require-yield"?: #rule ¶
"rest-spread-spacing"?: #rule ¶
"sort-imports"?: #rule ¶
"symbol-description"?: #rule ¶
"template-curly-spacing"?: #rule ¶
"yield-star-spacing"?: #rule ¶
#legacy: ¶
"max-depth"?: #rule ¶
"max-len"?: #rule ¶
"max-params"?: #rule ¶
"max-statements"?: #rule ¶
"no-bitwise"?: #rule ¶
"no-plusplus"?: #rule ¶
#nodeAndCommonJs: ¶
"callback-return"?: #rule ¶
"global-require"?: #rule ¶
"handle-callback-err"?: #rule ¶
"no-buffer-constructor"?: #rule ¶
"no-mixed-requires"?: #rule ¶
"no-new-require"?: #rule ¶
"no-path-concat"?: #rule ¶
"no-process-env"?: #rule ¶
"no-process-exit"?: #rule ¶
"no-restricted-modules"?: #rule ¶
"no-sync"?: #rule ¶
#possibleErrors: ¶
"comma-dangle"?: #rule ¶
"for-direction"?: #rule ¶
"getter-return"?: #rule ¶
"no-await-in-loop"?: #rule ¶
"no-compare-neg-zero"?: #rule ¶
"no-cond-assign"?: #rule ¶
"no-console"?: #rule ¶
"no-constant-condition"?: #rule ¶
"no-control-regex"?: #rule ¶
"no-debugger"?: #rule ¶
"no-dupe-args"?: #rule ¶
"no-dupe-keys"?: #rule ¶
"no-duplicate-case"?: #rule ¶
"no-empty"?: #rule ¶
"no-empty-character-class"?: #rule ¶
"no-ex-assign"?: #rule ¶
"no-extra-boolean-cast"?: #rule ¶
"no-extra-parens"?: #rule ¶
"no-extra-semi"?: #rule ¶
"no-func-assign"?: #rule ¶
"no-inner-declarations"?: #rule ¶
"no-invalid-regexp"?: #rule ¶
"no-irregular-whitespace"?: #rule ¶
"no-negated-in-lhs"?: #rule ¶
"no-obj-calls"?: #rule ¶
"no-prototype-builtins"?: #rule ¶
"no-regex-spaces"?: #rule ¶
"no-sparse-arrays"?: #rule ¶
"no-template-curly-in-string"?: #rule ¶
"no-unexpected-multiline"?: #rule ¶
"no-unreachable"?: #rule ¶
"no-unsafe-finally"?: #rule ¶
"no-unsafe-negation"?: #rule ¶
"use-isnan"?: #rule ¶
"valid-jsdoc"?: #rule ¶
"valid-typeof"?: #rule ¶
#rule: matchN(1, [int & >=0 & <=2, "off" | "warn" | "error", [...]]) ¶
#strictMode: ¶
"strict"?: #rule ¶
#stringOrStringArray: matchN(1, [string, [...string]]) ¶
#stylisticIssues: ¶
"array-bracket-newline"?: #rule ¶
"array-bracket-spacing"?: #rule ¶
"array-element-newline"?: #rule ¶
"block-spacing"?: #rule ¶
"brace-style"?: #rule ¶
"camelcase"?: #rule ¶
"capitalized-comments"?: #rule ¶
"comma-dangle"?: #rule ¶
"comma-spacing"?: #rule ¶
"comma-style"?: #rule ¶
"computed-property-spacing"?: #rule ¶
"consistent-this"?: #rule ¶
"eol-last"?: #rule ¶
"func-call-spacing"?: #rule ¶
"func-name-matching"?: #rule ¶
"func-names"?: #rule ¶
"func-style"?: #rule ¶
"function-call-argument-newline"?: #rule ¶
"function-paren-newline"?: #rule ¶
"id-blacklist"?: #rule ¶
"id-length"?: #rule ¶
"id-match"?: #rule ¶
"implicit-arrow-linebreak"?: #rule ¶
"indent"?: #rule ¶
"indent-legacy"?: #rule ¶
"jsx-quotes"?: #rule ¶
"key-spacing"?: #rule ¶
"keyword-spacing"?: #rule ¶
"line-comment-position"?: #rule ¶
"lines-between-class-members"?: #rule ¶
"linebreak-style"?: #rule ¶
"lines-around-comment"?: #rule ¶
"lines-around-directive"?: #rule ¶
"max-depth"?: #rule ¶
"max-len"?: #rule ¶
"max-lines"?: #rule ¶
"max-nested-callbacks"?: #rule ¶
"max-params"?: #rule ¶
"max-statements"?: #rule ¶
"max-statements-per-line"?: #rule ¶
"multiline-comment-style"?: #rule ¶
"multiline-ternary"?: #rule ¶
"new-cap"?: #rule ¶
"newline-after-var"?: #rule ¶
"newline-before-return"?: #rule ¶
"newline-per-chained-call"?: #rule ¶
"new-parens"?: #rule ¶
"no-array-constructor"?: #rule ¶
"no-bitwise"?: #rule ¶
"no-continue"?: #rule ¶
"no-inline-comments"?: #rule ¶
"no-lonely-if"?: #rule ¶
"no-mixed-operators"?: #rule ¶
"no-mixed-spaces-and-tabs"?: #rule ¶
"no-multi-assign"?: #rule ¶
"no-multiple-empty-lines"?: #rule ¶
"no-negated-condition"?: #rule ¶
"no-nested-ternary"?: #rule ¶
"no-new-object"?: #rule ¶
"no-plusplus"?: #rule ¶
"no-restricted-syntax"?: #rule ¶
"no-spaced-func"?: #rule ¶
"no-tabs"?: #rule ¶
"no-ternary"?: #rule ¶
"no-trailing-spaces"?: #rule ¶
"no-underscore-dangle"?: #rule ¶
"no-unneeded-ternary"?: #rule ¶
"no-whitespace-before-property"?: #rule ¶
"nonblock-statement-body-position"?: #rule ¶
"object-curly-newline"?: #rule ¶
"object-curly-spacing"?: #rule ¶
"object-property-newline"?: #rule ¶
"object-shorthand"?: #rule ¶
"one-var"?: #rule ¶
"one-var-declaration-per-line"?: #rule ¶
"operator-assignment"?: #rule ¶
"operator-linebreak"?: #rule ¶
"padded-blocks"?: #rule ¶
"padding-line-between-statements"?: #rule ¶
"quote-props"?: #rule ¶
"quotes"?: #rule ¶
"require-jsdoc"?: #rule ¶
"semi"?: #rule ¶
"semi-spacing"?: #rule ¶
"semi-style"?: #rule ¶
"sort-keys"?: #rule ¶
"sort-vars"?: #rule ¶
"space-before-blocks"?: #rule ¶
"space-before-function-paren"?: #rule ¶
"spaced-comment"?: #rule ¶
"space-infix-ops"?: #rule ¶
"space-in-parens"?: #rule ¶
"space-unary-ops"?: #rule ¶
"switch-colon-spacing"?: #rule ¶
"template-tag-spacing"?: #rule ¶
"unicode-bom"?: #rule ¶
"wrap-regex"?: #rule ¶
#variables: ¶
"init-declarations"?: #rule ¶
"no-catch-shadow"?: #rule ¶
"no-delete-var"?: #rule ¶
"no-label-var"?: #rule ¶
"no-restricted-globals"?: #rule ¶
"no-shadow"?: #rule ¶
"no-shadow-restricted-names"?: #rule ¶
"no-undef"?: #rule ¶
"no-undefined"?: #rule ¶
"no-undef-init"?: #rule ¶
"no-unused-vars"?: #rule ¶
"no-use-before-define"?: #rule ¶

Source files

  • Plugins.cue
  • Schema.cue