@typescript-eslint

@typescript-eslint/adjacent-overload-signatures docs

Require that function overload signatures be consecutive

@typescript-eslint/array-type docs

Require consistently using either T[] or Array<T> for arrays

Not configured in any preset

@typescript-eslint/await-thenable docs

Disallow awaiting a value that is not a Thenable

Configured in

@typescript-eslint/ban-ts-comment docs

Disallow @ts-<directive> comments or require descriptions after directives

@typescript-eslint/ban-tslint-comment docs

Disallow // tslint:<rule-flag> comments

Not configured in any preset

@typescript-eslint/ban-types docs

Disallow certain types

Not configured in any preset

@typescript-eslint/block-spacing docs

Disallow or enforce spaces inside of blocks after opening block and before closing block

Configured in

@typescript-eslint/brace-style docs

Enforce consistent brace style for blocks

Configured in

@typescript-eslint/class-literal-property-style docs

Enforce that literals on classes are exposed in a consistent style

Not configured in any preset

@typescript-eslint/comma-dangle docs

Require or disallow trailing commas

Configured in

@typescript-eslint/comma-spacing docs

Enforce consistent spacing before and after commas

Configured in

@typescript-eslint/consistent-generic-constructors docs

Enforce specifying generic type arguments on type annotation or constructor name of a constructor call

Not configured in any preset

@typescript-eslint/consistent-indexed-object-style docs

Require or disallow the Record type

Not configured in any preset

@typescript-eslint/consistent-type-assertions docs

Enforce consistent usage of type assertions

Not configured in any preset

@typescript-eslint/consistent-type-definitions docs

Enforce type definitions to consistently use either interface or type

Not configured in any preset

@typescript-eslint/consistent-type-exports docs

Enforce consistent usage of type exports

@typescript-eslint/consistent-type-imports docs

Enforce consistent usage of type imports

@typescript-eslint/default-param-last docs

Enforce default parameters to be last

Not configured in any preset

@typescript-eslint/dot-notation docs

Enforce dot notation whenever possible

Not configured in any preset

@typescript-eslint/explicit-function-return-type docs

Require explicit return types on functions and class methods

Not configured in any preset

@typescript-eslint/explicit-member-accessibility docs

Require explicit accessibility modifiers on class properties and methods

Not configured in any preset

@typescript-eslint/explicit-module-boundary-types docs

Require explicit return and argument types on exported functions' and classes' public class methods

Not configured in any preset

@typescript-eslint/func-call-spacing docs

Require or disallow spacing between function identifiers and their invocations

Configured in

@typescript-eslint/indent docs

Enforce consistent indentation

Configured in

@typescript-eslint/init-declarations docs

Require or disallow initialization in variable declarations

Not configured in any preset

@typescript-eslint/key-spacing docs

Enforce consistent spacing between property names and type annotations in types and interfaces

Configured in

@typescript-eslint/keyword-spacing docs

Enforce consistent spacing before and after keywords

Configured in

@typescript-eslint/lines-around-comment docs

Require empty lines around comments

Configured in

@typescript-eslint/lines-between-class-members docs

Require or disallow an empty line between class members

Not configured in any preset

@typescript-eslint/member-delimiter-style docs

Require a specific member delimiter style for interfaces and type literals

Configured in

@typescript-eslint/member-ordering docs

Require a consistent member declaration order

Not configured in any preset

@typescript-eslint/method-signature-style docs

Enforce using a particular method signature syntax

Not configured in any preset

@typescript-eslint/naming-convention docs

Enforce naming conventions for everything across a codebase

Not configured in any preset

@typescript-eslint/no-array-constructor docs

Disallow generic Array constructors

Not configured in any preset

@typescript-eslint/no-base-to-string docs

Require .toString() to only be called on objects which provide useful information when stringified

Not configured in any preset

@typescript-eslint/no-confusing-non-null-assertion docs

Disallow non-null assertion in locations that may be confusing

Not configured in any preset

@typescript-eslint/no-confusing-void-expression docs

Require expressions of type void to appear in statement position

Not configured in any preset

@typescript-eslint/no-dupe-class-members docs

Disallow duplicate class members

Configured in

@typescript-eslint/no-duplicate-enum-values docs

Disallow duplicate enum member values

Configured in

@typescript-eslint/no-duplicate-imports docs

Disallow duplicate imports

Not configured in any preset

@typescript-eslint/no-duplicate-type-constituents docs

Disallow duplicate constituents of union or intersection types

@typescript-eslint/no-dynamic-delete docs

Disallow using the delete operator on computed key expressions

Not configured in any preset

@typescript-eslint/no-empty-function docs

Disallow empty functions

@typescript-eslint/no-empty-interface docs

Disallow the declaration of empty interfaces

Not configured in any preset

@typescript-eslint/no-explicit-any docs

Disallow the any type

Not configured in any preset

@typescript-eslint/no-extra-non-null-assertion docs

Disallow extra non-null assertions

@typescript-eslint/no-extra-parens docs

Disallow unnecessary parentheses

Configured in

@typescript-eslint/no-extra-semi docs

Disallow unnecessary semicolons

Configured in

@typescript-eslint/no-extraneous-class docs

Disallow classes used as namespaces

Not configured in any preset

@typescript-eslint/no-floating-promises docs

Require Promise-like statements to be handled appropriately

Configured in

@typescript-eslint/no-for-in-array docs

Disallow iterating over an array with a for-in loop

Configured in

@typescript-eslint/no-implicit-any-catch docs

Disallow usage of the implicit any type in catch clauses

Not configured in any preset

@typescript-eslint/no-implied-eval docs

Disallow the use of eval()-like methods

@typescript-eslint/no-import-type-side-effects docs

Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers

Not configured in any preset

@typescript-eslint/no-inferrable-types docs

Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean

@typescript-eslint/no-invalid-this docs

Disallow this keywords outside of classes or class-like objects

Configured in

@typescript-eslint/no-invalid-void-type docs

Disallow void type outside of generic or return types

Not configured in any preset

@typescript-eslint/no-loop-func docs

Disallow function declarations that contain unsafe references inside loop statements

Not configured in any preset

@typescript-eslint/no-loss-of-precision docs

Disallow literal numbers that lose precision

Configured in

@typescript-eslint/no-magic-numbers docs

Disallow magic numbers

Not configured in any preset

@typescript-eslint/no-meaningless-void-operator docs

Disallow the void operator except when used to discard a value

Not configured in any preset

@typescript-eslint/no-misused-new docs

Enforce valid definition of new and constructor

Not configured in any preset

@typescript-eslint/no-misused-promises docs

Disallow Promises in places not designed to handle them

Configured in

@typescript-eslint/no-mixed-enums docs

Disallow enums from having both number and string members

Not configured in any preset

@typescript-eslint/no-namespace docs

Disallow TypeScript namespaces

Configured in

@typescript-eslint/no-non-null-asserted-nullish-coalescing docs

Disallow non-null assertions in the left operand of a nullish coalescing operator

@typescript-eslint/no-non-null-asserted-optional-chain docs

Disallow non-null assertions after an optional chain expression

@typescript-eslint/no-non-null-assertion docs

Disallow non-null assertions using the ! postfix operator

Not configured in any preset

@typescript-eslint/no-parameter-properties docs

Disallow the use of parameter properties in class constructors

Not configured in any preset

@typescript-eslint/no-redeclare docs

Disallow variable redeclaration

Not configured in any preset

@typescript-eslint/no-redundant-type-constituents docs

Disallow members of unions and intersections that do nothing or override type information

@typescript-eslint/no-require-imports docs

Disallow invocation of require()

Not configured in any preset

@typescript-eslint/no-restricted-imports docs

Disallow specified modules when loaded by import

Not configured in any preset

@typescript-eslint/no-shadow docs

Disallow variable declarations from shadowing variables declared in the outer scope

Not configured in any preset

@typescript-eslint/no-this-alias docs

Disallow aliasing this

Not configured in any preset

@typescript-eslint/no-throw-literal docs

Disallow throwing literals as exceptions

@typescript-eslint/no-type-alias docs

Disallow type aliases

Not configured in any preset

@typescript-eslint/no-unnecessary-boolean-literal-compare docs

Disallow unnecessary equality comparisons against boolean literals

Not configured in any preset

@typescript-eslint/no-unnecessary-condition docs

Disallow conditionals where the type is always truthy or always falsy

Configured in

@typescript-eslint/no-unnecessary-qualifier docs

Disallow unnecessary namespace qualifiers

Not configured in any preset

@typescript-eslint/no-unnecessary-type-arguments docs

Disallow type arguments that are equal to the default

@typescript-eslint/no-unnecessary-type-assertion docs

Disallow type assertions that do not change the type of an expression

@typescript-eslint/no-unnecessary-type-constraint docs

Disallow unnecessary constraints on generic types

Configured in

@typescript-eslint/no-unsafe-argument docs

Disallow calling a function with a value with type any

Configured in

@typescript-eslint/no-unsafe-assignment docs

Disallow assigning a value with type any to variables and properties

Configured in

@typescript-eslint/no-unsafe-call docs

Disallow calling a value with type any

Configured in

@typescript-eslint/no-unsafe-declaration-merging docs

Disallow unsafe declaration merging

Configured in

@typescript-eslint/no-unsafe-enum-comparison docs

Disallow comparing an enum value with a non-enum value

Not configured in any preset

@typescript-eslint/no-unsafe-member-access docs

Disallow member access on a value with type any

Configured in

@typescript-eslint/no-unsafe-return docs

Disallow returning a value with type any from a function

Configured in

@typescript-eslint/no-unused-expressions docs

Disallow unused expressions

@typescript-eslint/no-unused-vars docs

Disallow unused variables

@typescript-eslint/no-use-before-define docs

Disallow the use of variables before they are defined

@typescript-eslint/no-useless-constructor docs

Disallow unnecessary constructors

Not configured in any preset

@typescript-eslint/no-useless-empty-export docs

Disallow empty exports that don't change anything in a module file

Not configured in any preset

@typescript-eslint/no-var-requires docs

Disallow require statements except in import statements

Not configured in any preset

@typescript-eslint/non-nullable-type-assertion-style docs

Enforce non-null assertions over explicit type casts

@typescript-eslint/object-curly-spacing docs

Enforce consistent spacing inside braces

Configured in

@typescript-eslint/padding-line-between-statements docs

Require or disallow padding lines between statements

Not configured in any preset

@typescript-eslint/parameter-properties docs

Require or disallow parameter properties in class constructors

Not configured in any preset

@typescript-eslint/prefer-as-const docs

Enforce the use of as const over literal type

@typescript-eslint/prefer-enum-initializers docs

Require each enum member value to be explicitly initialized

Not configured in any preset

@typescript-eslint/prefer-for-of docs

Enforce the use of for-of loop over the standard for loop where possible

Not configured in any preset

@typescript-eslint/prefer-function-type docs

Enforce using function types instead of interfaces with call signatures

Not configured in any preset

@typescript-eslint/prefer-includes docs

Enforce includes method over indexOf method

Not configured in any preset

@typescript-eslint/prefer-literal-enum-member docs

Require all enum members to be literal values

Not configured in any preset

@typescript-eslint/prefer-namespace-keyword docs

Require using namespace keyword over module keyword to declare custom TypeScript modules

@typescript-eslint/prefer-nullish-coalescing docs

Enforce using the nullish coalescing operator instead of logical chaining

Not configured in any preset

@typescript-eslint/prefer-optional-chain docs

Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects

@typescript-eslint/prefer-readonly docs

Require private members to be marked as readonly if they're never modified outside of the constructor

Not configured in any preset

@typescript-eslint/prefer-readonly-parameter-types docs

Require function parameters to be typed as readonly to prevent accidental mutation of inputs

Not configured in any preset

@typescript-eslint/prefer-reduce-type-parameter docs

Enforce using type parameter when calling Array#reduce instead of casting

Not configured in any preset

@typescript-eslint/prefer-regexp-exec docs

Enforce RegExp#exec over String#match if no global flag is provided

Not configured in any preset

@typescript-eslint/prefer-return-this-type docs

Enforce that this is used when only this type is returned

Not configured in any preset

@typescript-eslint/prefer-string-starts-ends-with docs

Enforce using String#startsWith and String#endsWith over other equivalent methods of checking substrings

Not configured in any preset

@typescript-eslint/prefer-ts-expect-error docs

Enforce using @ts-expect-error over @ts-ignore

@typescript-eslint/promise-function-async docs

Require any function or method that returns a Promise to be marked async

Not configured in any preset

@typescript-eslint/quotes docs

Enforce the consistent use of either backticks, double, or single quotes

Configured in

@typescript-eslint/require-array-sort-compare docs

Require Array#sort calls to always provide a compareFunction

Not configured in any preset

@typescript-eslint/require-await docs

Disallow async functions which have no await expression

Not configured in any preset

@typescript-eslint/restrict-plus-operands docs

Require both operands of addition to be the same type and be bigint, number, or string

Not configured in any preset

@typescript-eslint/restrict-template-expressions docs

Enforce template literal expressions to be of string type

Not configured in any preset

@typescript-eslint/return-await docs

Enforce consistent returning of awaited values

Not configured in any preset

@typescript-eslint/semi docs

Require or disallow semicolons instead of ASI

Configured in

@typescript-eslint/sort-type-constituents docs

Enforce constituents of a type union/intersection to be sorted alphabetically

Not configured in any preset

@typescript-eslint/sort-type-union-intersection-members docs

Enforce members of a type union/intersection to be sorted alphabetically

Not configured in any preset

@typescript-eslint/space-before-blocks docs

Enforce consistent spacing before blocks

Configured in

@typescript-eslint/space-before-function-paren docs

Enforce consistent spacing before function parenthesis

Configured in

@typescript-eslint/space-infix-ops docs

Require spacing around infix operators

Configured in

@typescript-eslint/strict-boolean-expressions docs

Disallow certain types in boolean expressions

Not configured in any preset

@typescript-eslint/switch-exhaustiveness-check docs

Require switch-case statements to be exhaustive with union type

Not configured in any preset

@typescript-eslint/triple-slash-reference docs

Disallow certain triple slash directives in favor of ES6-style import declarations

Not configured in any preset

@typescript-eslint/type-annotation-spacing docs

Require consistent spacing around type annotations

Configured in

@typescript-eslint/typedef docs

Require type annotations in certain places

Not configured in any preset

@typescript-eslint/unbound-method docs

Enforce unbound methods are called with their expected scope

Not configured in any preset

@typescript-eslint/unified-signatures docs

Disallow two overloads that could be unified into one with a union or an optional/rest parameter

Not configured in any preset