ReSharper 2021.3 Help

Code Inspections in TypeScript

In TypeScript, ReSharper 2021.3 provides two kinds of code inspections: 141 inspections that detect errors such as broken syntax, unresolved symbols, compiler errors, and so on (you cannot configure or disable any of these inspections), and 51 proprietary code inspections, any of which you can disable or change its severity level.
These code inspections help you detect code issues in design time in all open files, and additionally they allow you to find code issues in specific scope.

Configurable TypeScript inspections are listed below, grouped by their categories.

Common Practices and Code Improvements (4 inspections)

This category groups inspections that hunt for medium severity issues that mainly affect code readability.

Inspection


ID


EditorConfig property

Default severity

Constructor of an abstract class can be made protected


AbstractClassConstructorCanBeMadeProtected


resharper_abstract_class_constructor_can_be_made_protected_highlighting

Hint

Introducing variable will allow to apply type guard


IntroduceVariableToApplyGuard


resharper_introduce_variable_to_apply_guard_highlighting

Hint

Private class field can be made readonly


PrivateVariableCanBeMadeReadonly


resharper_private_variable_can_be_made_readonly_highlighting

Hint

String literal usage allows creating specialized overload


CreateSpecializedOverload


resharper_create_specialized_overload_highlighting

Hint

Language Usage Opportunities (9 inspections)

This category includes code inspections, mostly with the suggestion severity level, which notify you when more advanced language constructs can be used. These inspections detect syntax of outdated language versions and suggest using features from more modern language versions. For most of the supported languages, language version can be detected automatically or set manually.

Inspection


ID


EditorConfig property

Default severity

AMD module may be converted to external module


AmdExternalModule


resharper_amd_external_module_highlighting

Suggestion

Class emulation may be converted to class


Class


resharper_class_highlighting

Suggestion

CommonJs module may be converted to external module


CommonJsExternalModule


resharper_common_js_external_module_highlighting

Suggestion

Function expression may be converted to lambda expression


Lambda


resharper_lambda_highlighting

Suggestion

Immediately-invoked function expression may be converted to internal module


InternalModule


resharper_internal_module_highlighting

Suggestion

Invocation of parent class may be converted to super call


SuperCall


resharper_super_call_highlighting

Suggestion

Member assigned by a function may be converted to function member


MethodSafeThis


resharper_method_safe_this_highlighting

Suggestion

Possible overloads may be inferred by function body


OverloadSignatureInferring


resharper_overload_signature_inferring_highlighting

Hint

Use 'as' operator instead of type assertion


UseAsInsteadOfTypeCast


resharper_use_as_instead_of_type_cast_highlighting

Hint

Potential Code Quality Issues (15 inspections)

This category includes inspections that detect critical issues (code smells), mostly with Error or Warning level. This category also includes inspections that ensure localization assistance.

Inspection


ID


EditorConfig property

Default severity

Cannot resolve, probably symbol is located in inaccessible module


TsResolvedFromInaccessibleModule


resharper_ts_resolved_from_inaccessible_module_highlighting

Error

Check 'amd-dependency' the same way as require() argument


AmdDependencyPathProblem


resharper_amd_dependency_path_problem_highlighting

Disabled

Duplicate identifier


DuplicateIdentifierError


resharper_duplicate_identifier_error_highlighting

Error

Empty return value for type-annotated function


EmptyReturnValueForTypeAnnotatedFunction


resharper_empty_return_value_for_type_annotated_function_highlighting

Warning

Exported entity uses a private entity


DeclarationVisibilityError


resharper_declaration_visibility_error_highlighting

Error

'Implicit any' inspection when NoImplicitAny is set


ImplicitAnyError


resharper_implicit_any_error_highlighting

Error

More specific signature follows less specific


MoreSpecificSignatureAfterLessSpecific


resharper_more_specific_signature_after_less_specific_highlighting

Warning

Overload is less specific than the main signature


LessSpecificOverloadThanMainSignature


resharper_less_specific_overload_than_main_signature_highlighting

Warning

Parameter-property value assigned inside constructor won't be assigned to class property


AssignedValueWontBeAssignedToCorrespondingField


resharper_assigned_value_wont_be_assigned_to_corresponding_field_highlighting

Warning

Suspicious 'instanceof' check


SuspiciousInstanceofCheck


resharper_suspicious_instanceof_check_highlighting

Warning

Suspicious 'this' usage in context of local function inside class member


SuspiciousThisUsage


resharper_suspicious_this_usage_highlighting

Warning

Suspicious 'typeof' check


SuspiciousTypeofCheck


resharper_suspicious_typeof_check_highlighting

Warning

Type parameter hides type parameter declared in outer scope


TypeParameterHidesTypeParamFromOuterScope


resharper_type_parameter_hides_type_param_from_outer_scope_highlighting

Warning

Use of possibly unassigned property in a static initializer


UseOfPossiblyUnassignedProperty


resharper_use_of_possibly_unassigned_property_highlighting

Warning

Use of undeclared variable


TsNotResolved


resharper_ts_not_resolved_highlighting

Error

Redundancies in Code (9 inspections)

Code inspections in this category look for redundancies and dead code, which affect code readability and style, and could be safely removed. Some code redundancies cannot be fixed automatically, and quick-fixes for them are performed in the interactive mode, requiring the user input. But the majority of the redundancies can be fixed without user interaction, using either fix in scope or code cleanup.

Inspection


ID


EditorConfig property

Default severity

Comparison of boolean with boolean value is equivalent to value or negated value


RedundantComparisonWithBoolean


resharper_redundant_comparison_with_boolean_highlighting

Warning

Double negation of boolean is redundant


DoubleNegationOfBoolean


resharper_double_negation_of_boolean_highlighting

Warning

Duplicate reference comment is redundant


DuplicateReferenceComment


resharper_duplicate_reference_comment_highlighting

Warning

Redundant parent type specification in extends/implements


RedundantParentTypeDeclaration


resharper_redundant_parent_type_declaration_highlighting

Warning

Redundant qualifier


RedundantQualifier


resharper_redundant_qualifier_highlighting

Warning

Reference comment creates cyclic dependency


CyclicReferenceComment


resharper_cyclic_reference_comment_highlighting

Disabled

Ternary operator may be replaced by it's condition


TernaryCanBeReplacedByItsCondition


resharper_ternary_can_be_replaced_by_its_condition_highlighting

Warning

Type cast is redundant: expression is always of provided type


RedundantTypeCast


resharper_redundant_type_cast_highlighting

Warning

Type cast is redundant: expression is of a structurally compatible type


RedundantTypeCastStructural


resharper_redundant_type_cast_structural_highlighting

Warning

Redundancies in Symbol Declarations (6 inspections)

This category includes code inspections, mostly with the warning severity level, which detect empty and unused symbol declarations.

Inspection


ID


EditorConfig property

Default severity

Parameter doesn't participate in the main signature


ParameterDoesntMakeAnySense


resharper_parameter_doesnt_make_any_sense_highlighting

Warning

Redundant empty constructor without parameters


RedundantEmptyConstructor


resharper_redundant_empty_constructor_highlighting

Warning

Same item is imported twice with different names


SameImportsWithDifferentName


resharper_same_imports_with_different_name_highlighting

Warning

Type guard definitely produces 'never' type for the variable


TypeGuardProducesNeverType


resharper_type_guard_produces_never_type_highlighting

Warning

Type guard doesn't affect variable's type in any way


TypeGuardDoesntAffectAnything


resharper_type_guard_doesnt_affect_anything_highlighting

Warning

Unused local import


UnusedLocalImport


resharper_unused_local_import_highlighting

Warning

Spelling issues (3 inspections)

These inspections detect typos in various contexts.

Inspection


ID


EditorConfig property

Default severity

Typo in comment


CommentTypo


resharper_comment_typo_highlighting

Suggestion

Typo in identifier


IdentifierTypo


resharper_identifier_typo_highlighting

Suggestion

Typo in string literal


StringLiteralTypo


resharper_string_literal_typo_highlighting

Suggestion

Syntax Style (5 inspections)

Inspections in this category detect violations of code syntax styles. In contrast to most of other code inspections, these inspections can either detect the same code construct as a code issue or not depending on the corresponding code style rule configured on the Code Editing | TypeScript | Syntax Style page of ReSharper options (Alt+R, O). You can also fix issues that these inspection detect using code cleanup.

Inspection


ID


EditorConfig property

Default severity

Element has implicit 'any' type


ImplicitAnyTypeWarning


resharper_implicit_any_type_warning_highlighting

Warning

Non-compliant path style inside 'require'


WrongRequireRelativePath


resharper_wrong_require_relative_path_highlighting

Hint

Non-compliant 'public' modifier or its absence


WrongPublicModifierSpecification


resharper_wrong_public_modifier_specification_highlighting

Hint

Type of variable may be specified explicitly


SpecifyVariableTypeExplicitly


resharper_specify_variable_type_explicitly_highlighting

Hint

Type specification is redundant, because variable type is contextually determined from the type of assigned value


RedundantVariableTypeSpecification


resharper_redundant_variable_type_specification_highlighting

Hint

Last modified: 07 April 2022