TypeScript
- Abstract class constructor can be made protected
Reports a public constructor of an abstract class and suggests making it protected (because it is useless to have it public).
- Assigned constructor field parameter
Reports a common mistake in TypeScript code, when a class field is declared as a constructor parameter, and then this parameter is assigned.
- Duplicate union or intersection type component
Reports a duplicate type inside a union or intersection.
- Equality operator may cause type coercion
Reports a usage of equality operators may cause unexpected type coercions.
- Explicit types
Reports a type annotation that doesn't match the current code style for explicit types.
- Field can be readonly
Reports a private field that can be made readonly (for example, if the field is assigned only in the constructor).
- Inconsistent tsconfig.json properties
Reports inconsistency of a paths, checkJs, or extends property in a tsconfig.json file.
- Incorrect generic type argument
Reports an invalid type argument in a function, interface, or class declaration.
- Missing augmentation import
Reports a usage from augmentation module without an explicit import.
- Missing global library
Reports a TypeScript library file that is required for a symbol but is not listed under the lib compiler option in tsconfig.json.
- Missing tsconfig.json option
Reports a usage that requires an explicit option in tsconfig.json.
- Narrowed type
Reports a usage of a variable where the variable type is narrowed by a type guard.
- Redundant type arguments
Reports a type argument that is equal to the default one and can be removed.
- Referenced UMD global variable
Reports a usage of a Universal Module Definition (UMD) global variable if the current file is a module (ECMAScript or CommonJS).
- Type mismatch
Reports a parameter, return value, or assigned expression of incorrect type.
- Unresolved JSX component
Reports an unresolved reference to a JSX component.
- Unresolved TypeScript reference
Reports an unresolved reference in TypeScript code.
- Unresolved imported name
Reports an unresolved name or binding in an import declaration in TypeScript code.