Code Inspections in TypeScript
Inspection | Description | Default Severity |
---|---|---|
Equality operator may cause type coercion | This inspection reports usages of JavaScript equality operators which may cause unexpected type coercions.It is considered a good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and != . Depending on the option selected, this will either highlight:
| |
Type mismatch | Checks TypeScript called function parameters, return values, assigned expressions to be of correct type. | |
Type mismatch in 'any' type context | Checks TypeScript called function parameters, return values, assigned expressions to be of correct type in 'any' type context. | |
Unresolved JavaScript variable | Checks TypeScript referenced variables and fields to be valid ones. | |
Validate imports | Validate TypeScript imports | |
Unresolved JavaScript function | Checks TypeScript called functions to be valid ones. | |
@private and @protected members accessibility | This inspection checks that TypeScript private and protected members are visible in current context. | |
Import can be shortened | This inspection reports any instances of ES6 importswhose 'from' part can be shortened by importing the parent directory. | |
Reference to a UMD global | Report the use of references to a UMD global if the current file is a module. | |
Field is assigned only in the constructor and can be made readonly | If a private field is assigned only in the constructor, it can be made readonly. | |
Unsound 'typeof' type guard check | 'typeof x' type guard can be unsound in one of the following two cases:
| |
Unsound 'instanceof' type guard check | 'x instanceof A' type guard can be unsound in one of the following two cases:
| |
Missing augmentation import | Check that current file imports the augmentation module | |
Explicit member types | Allows to configure code style of declarations (local variables, functions, fields).Default behavior is to highlight as redundant type declarations that match the inferred type.'Prefer explicit types' option inverts this and suggests inserting an explicit type declaration even where the type can be inferred. | |
Validate tsconfig.json | Validate usages of tsconfig.json properties Path mappings requires baseUrl option | |
Suspicious parameter assignment in constructor | Warns against a common mistake in TypeScript code, when a class field is declared as a constructor parameter, and then this parameter is assigned. | |
Abstract class constructor can be made protected | Suggests to make the constructor of an abstract class protected (because it is useless to have it public) | |
TSLint | Runs TSLint - a linter for the TypeScript language. |