@typescript-eslint/adjacent-overload-signatures | Require that member overloads be consecutive | :heavy_check_mark: | | |
@typescript-eslint/array-type | Requires using either T[] or Array<T> for arrays | | :wrench: | |
@typescript-eslint/await-thenable | Disallows awaiting a value that is not a Thenable | :heavy_check_mark: | | :thought_balloon: |
@typescript-eslint/ban-ts-ignore | Bans “// @ts-ignore” comments from being used | :heavy_check_mark: | | |
@typescript-eslint/ban-types | Bans specific types from being used | :heavy_check_mark: | :wrench: | |
@typescript-eslint/brace-style | Enforce consistent brace style for blocks | | :wrench: | |
@typescript-eslint/camelcase | Enforce camelCase naming convention | :heavy_check_mark: | | |
@typescript-eslint/class-name-casing | Require PascalCased class and interface names | :heavy_check_mark: | | |
@typescript-eslint/consistent-type-assertions | Enforces consistent usage of type assertions. | :heavy_check_mark: | | |
@typescript-eslint/consistent-type-definitions | Consistent with type definition either interface or type | | :wrench: | |
@typescript-eslint/explicit-function-return-type | Require explicit return types on functions and class methods | :heavy_check_mark: | | |
@typescript-eslint/explicit-member-accessibility | Require explicit accessibility modifiers on class properties and methods | | | |
@typescript-eslint/func-call-spacing | Require or disallow spacing between function identifiers and their invocations | | :wrench: | |
@typescript-eslint/generic-type-naming | Enforces naming of generic type variables | | | |
@typescript-eslint/indent | Enforce consistent indentation | | :wrench: | |
@typescript-eslint/interface-name-prefix | Require that interface names should or should not prefixed with I | :heavy_check_mark: | | |
@typescript-eslint/member-delimiter-style | Require a specific member delimiter style for interfaces and type literals | :heavy_check_mark: | :wrench: | |
@typescript-eslint/member-naming | Enforces naming conventions for class members by visibility | | | |
@typescript-eslint/member-ordering | Require a consistent member declaration order | | | |
@typescript-eslint/no-array-constructor | Disallow generic Array constructors | :heavy_check_mark: | :wrench: | |
@typescript-eslint/no-empty-function | Disallow empty functions | :heavy_check_mark: | | |
@typescript-eslint/no-empty-interface | Disallow the declaration of empty interfaces | :heavy_check_mark: | | |
@typescript-eslint/no-explicit-any | Disallow usage of the any type | :heavy_check_mark: | :wrench: | |
@typescript-eslint/no-extra-parens | Disallow unnecessary parentheses | | :wrench: | |
@typescript-eslint/no-extraneous-class | Forbids the use of classes as namespaces | | | |
@typescript-eslint/no-floating-promises | Requires Promise-like values to be handled appropriately. | | | :thought_balloon: |
@typescript-eslint/no-for-in-array | Disallow iterating over an array with a for-in loop | :heavy_check_mark: | | :thought_balloon: |
@typescript-eslint/no-inferrable-types | Disallows explicit type declarations for variables or parameters initialized to a number, string, or boolean | :heavy_check_mark: | :wrench: | |
@typescript-eslint/no-magic-numbers | Disallows magic numbers | | | |
@typescript-eslint/no-misused-new | Enforce valid definition of new and constructor | :heavy_check_mark: | | |
@typescript-eslint/no-misused-promises | Avoid using promises in places not designed to handle them | :heavy_check_mark: | | :thought_balloon: |
@typescript-eslint/no-namespace | Disallow the use of custom TypeScript modules and namespaces | :heavy_check_mark: | | |
@typescript-eslint/no-non-null-assertion | Disallows non-null assertions using the ! postfix operator | :heavy_check_mark: | | |
@typescript-eslint/no-parameter-properties | Disallow the use of parameter properties in class constructors | | | |
@typescript-eslint/no-require-imports | Disallows invocation of require() | | | |
@typescript-eslint/no-this-alias | Disallow aliasing this | :heavy_check_mark: | | |
@typescript-eslint/no-type-alias | Disallow the use of type aliases | | | |
@typescript-eslint/no-unnecessary-condition | Prevents conditionals where the type is always truthy or always falsy | | | :thought_balloon: |
@typescript-eslint/no-unnecessary-qualifier | Warns when a namespace qualifier is unnecessary | | :wrench: | :thought_balloon: |
@typescript-eslint/no-unnecessary-type-arguments | Warns if an explicitly specified type argument is the default for that type parameter | | :wrench: | :thought_balloon: |
@typescript-eslint/no-unnecessary-type-assertion | Warns if a type assertion does not change the type of an expression | :heavy_check_mark: | :wrench: | :thought_balloon: |
@typescript-eslint/no-unused-vars | Disallow unused variables | :heavy_check_mark: | | |
@typescript-eslint/no-use-before-define | Disallow the use of variables before they are defined | :heavy_check_mark: | | |
@typescript-eslint/no-useless-constructor | Disallow unnecessary constructors | | | |
@typescript-eslint/no-var-requires | Disallows the use of require statements except in import statements | :heavy_check_mark: | | |
@typescript-eslint/prefer-for-of | Prefer a ‘for-of’ loop over a standard ‘for’ loop if the index is only used to access the array being iterated | | | |
@typescript-eslint/prefer-function-type | Use function types instead of interfaces with call signatures | | :wrench: | |
@typescript-eslint/prefer-includes | Enforce includes method over indexOf method | :heavy_check_mark: | :wrench: | :thought_balloon: |
@typescript-eslint/prefer-namespace-keyword | Require the use of the namespace keyword instead of the module keyword to declare custom TypeScript modules | :heavy_check_mark: | :wrench: | |
@typescript-eslint/prefer-readonly | Requires that private members are marked as readonly if they're never modified outside of the constructor | | :wrench: | :thought_balloon: |
@typescript-eslint/prefer-regexp-exec | Prefer RegExp#exec() over String#match() if no global flag is provided | :heavy_check_mark: | | :thought_balloon: |
@typescript-eslint/prefer-string-starts-ends-with | Enforce the use of String#startsWith and String#endsWith instead of other equivalent methods of checking substrings | :heavy_check_mark: | :wrench: | :thought_balloon: |
@typescript-eslint/promise-function-async | Requires any function or method that returns a Promise to be marked async | | | :thought_balloon: |
@typescript-eslint/quotes | Enforce the consistent use of either backticks, double, or single quotes | | :wrench: | |
@typescript-eslint/require-array-sort-compare | Enforce giving compare argument to Array#sort | | | :thought_balloon: |
@typescript-eslint/require-await | Disallow async functions which have no await expression | :heavy_check_mark: | | :thought_balloon: |
@typescript-eslint/restrict-plus-operands | When adding two variables, operands must both be of type number or of type string | | | :thought_balloon: |
@typescript-eslint/semi | Require or disallow semicolons instead of ASI | | :wrench: | |
@typescript-eslint/strict-boolean-expressions | Restricts the types allowed in boolean expressions | | | :thought_balloon: |
@typescript-eslint/triple-slash-reference | Sets preference level for triple slash directives versus ES6-style import declarations | :heavy_check_mark: | | |
@typescript-eslint/type-annotation-spacing | Require consistent spacing around type annotations | :heavy_check_mark: | :wrench: | |
@typescript-eslint/typedef | Requires type annotations to exist | | | |
@typescript-eslint/unbound-method | Enforces unbound methods are called with their expected scope | :heavy_check_mark: | | :thought_balloon: |
@typescript-eslint/unified-signatures | Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter | | | |