Inspectopedia Help

New Inspections in This Release

JavaScript and TypeScript

Name

Language

Description

'for' loop may be replaced by 'while' loop

Javascript

Reports a for loop that contains neither initialization nor an update component

'if' statement with too many branches

Javascript

Reports an if statement with too many branches

'require()' is used instead of 'import'

Javascript

Reports a require() statement. Suggests converting it to a require() call with an import statement.

'switch' statement has missing branches

Javascript

Reports a switch statement on a variable of the type enum or union when the statement doesn't cover some value options from the type.

'switch' statement has no 'default' branch

Javascript

Reports a switch statement without a default clause when some possible values are not enumerated.

'var' declared not at the beginning of a function

Javascript

Checks that declarations of local variables declared with var are at the top of a function scope.

'var' is used instead of 'let' or 'const'

Javascript

Reports a var declaration that is used instead of let or const.

Bitwise expression can be simplified

Javascript

Reports an expression that includes and with zero

Class naming convention

Javascript

Reports a class or a function that is annotated with a JSDoc @constructor or @class tag whose names are too short

ESLint

Javascript

Reports a discrepancy detected by the ESLint linter.

Equality operator may cause type coercion

Javascript

Reports a usage of an equality operator that may cause unexpected type coercions

Explicit types

Typescript

Reports a type annotation that doesn't match the current code style for explicit types.

Function naming convention

Javascript

Reports a function whose name is too short

Function parameter naming convention

Javascript

Reports a function parameter whose name is too short

Function with too many parameters

Javascript

Reports a function with too many parameters

Identifiers with non-ASCII symbols

Javascript

Reports a non-ASCII symbol in a name.

Implicitly declared global JavaScript variable

Javascript

Reports an implicit declaration of a global variable

JQuery selector can be optimized

Javascript

Reports a duplicated jQuery selector that can be cached or a usage of an attribute or a pseudo-selector (optional).

JSHint

Javascript

Reports a problem detected by the JSHint linter.

Local variable naming convention

Javascript

Reports a local variable whose name is too short

Method can be made 'static'

Javascript

Reports a class method that can be safely made static

Mismatched query and update of collection

Javascript

Reports a collection of fields or variables whose contents are either queried and not updated or updated and not queried

Missing JSX namespace

Javascript

Reports a usage of a JSX construction without importing namespace

Missing await for an async function call

Javascript

Reports an async function call without an expected await prefix inside an async function

Narrowed type

Typescript

Reports a usage of a variable where the variable type is narrowed by a type guard

Nested function

Javascript

Reports a function nested inside another function

Octal integer

Javascript

Reports a deprecated octal integer literal prefixed with 0 instead of 0o.

Overly complex arithmetic expression

Javascript

Reports an arithmetic expression with too many terms

Overly complex boolean expression

Javascript

Reports a boolean expression with too many terms

Overly complex function

Javascript

Reports a function with too many branching points in a function (too high cyclomatic complexity)

Overly long function

Javascript

Reports an overly long function

Overly nested function

Javascript

Reports a function whose body contains statements that are too deeply nested within other statements

Potentially invalid constructor usage

Javascript

Reports a usage of a potentially invalid constructor function

Redundant 'await' expression

Javascript

Reports a redundant usage of await

Redundant local variable

Javascript

Reports an unnecessary local variable that does not make a function more comprehensible

Signature mismatch

Javascript

Reports a JavaScript call expression where the arguments do not match the signature of the referenced function

Standard code style

Javascript

Reports a discrepancy detected by the JavaScript Standard Style linter.

Statement with empty body

Javascript

Reports an if

Stylelint

CSS

Reports a discrepancy detected by the Stylelint linter.

Suspicious variable/parameter name combination

Javascript

Reports an assignment or a function call where the name of the target variable or the function parameter does not match the name of the value assigned to it

Unfiltered for..in loop

Javascript

Reports unfiltered for-in loops.

Unreachable 'case' branch of a 'switch' statement

Javascript

Reports an unreachable case branch of a switch statement

Unresolved reference

Javascript

Reports an unresolved reference in JavaScript code

Unresolved file reference

Javascript

Reports an unresolved file reference in a JavaScript file

Unresolved reference

Javascript

Reports an unresolved reference in JavaScript code

Unterminated statement

Javascript

Reports a statement without a semicolon or a newline at the end

Unused 'catch' parameter

Javascript

Reports a catch parameter that is not used in the corresponding block

Unused global symbol

Javascript

Reports an unused globally accessible public function

Unused local symbol

Javascript

Reports an unused locally accessible parameter

Variable is declared and being used in different 'case' clauses

Javascript

Reports a variable that is declared in one case clause of a switch statement but is used in another case clause of the same statement

W3C Validators

Name

Language

Description

W3C CSS validator

CSS

Reports a discrepancy detected by the W3C CSS Validator.

XPathView + XSLT

Name

Language

Description

Implicit type conversion

Xpath

Reports implicit conversions between the predefined XPath-types STRING

IDEA CORE

Name

Language

Description

Annotator

Multiple

Reports issues essential to this file (e.g.

Compliance with JSON schema

Json

Reports inconsistence between a JSON file and the JSON schema that is assigned to it.

Compliance with JSON standard

Json

Reports the following discrepancies of a JSON file with the language specification

Deprecated symbol

XML

Reports a deprecated XML element or attribute

Empty directory

Multiple

Reports empty directories.

Incorrect boolean attribute

Html

Reports an HTML non-boolean attribute without a value

Incorrect formatting

Multiple

Reports formatting issues that appear if your code doesn't follow your project's code style settings.

Line is longer than allowed by code style

Multiple

Reports lines that are longer than the Hard wrap at parameter specified in Settings | Editor | Code Style | General.

Missing required attribute

XML

Reports a missing mandatory attribute in an XML/HTML tag

Non-ASCII characters

Multiple

Reports code elements that use non-ASCII symbols in an unusual context

Redundant character escape

Regexp

Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning

Redundant suppression

Multiple

Reports usages of the following elements that can be safely removed because the inspection they affect is no longer applicable in this context

TODO comment

Multiple

Reports TODO comments in your code

Typo

Multiple

Reports typos and misspellings in your code

Unknown attribute

Html

Reports an unknown HTML attribute

Unknown tag

Html

Reports an unknown HTML tag

CSS

Name

Language

Description

Property is incompatible with selected browsers

CSS

Reports a CSS property that is not supported by the specified browsers

Unknown property

CSS

Reports an unknown CSS property or a property used in a wrong context.

Database Tools and SQL

Name

Language

Description

Delete or update statement without where clauses

SQL

Reports usages of DELETE or UPDATE statements without WHERE clauses

Unresolved reference

SQL

Reports unresolved SQL references

Usages of GOTO statements

SQL

Reports usages of backward GOTO statements and GOTO statements used to exit a loop

Using CASE instead of COALESCE function and vice versa

SQL

Reports situations when CASE and COALESCE calls are interchangeable

Using CASE instead of conditional function and vice versa

SQL

Reports situations when CASE and IF are interchangeable

Properties

Name

Language

Description

Duplicate property

Properties

Reports duplicate property keys with different values

Trailing spaces in property

Properties

Reports properties whose keys or values end with a whitespace.

Unused property

Properties

Reports properties that are not referenced outside of the .properties file they are contained in.

HTTP Client

Name

Language

Description

Incorrect HTTP header

Http request

Reports unknown HTTP headers that do not match any publicly known headers. The quick fix suggests adding the header to the list of custom headers when the Use custom HTTP headers option is enabled. HTTP headers from the list of custom headers will not trigger the inspection.

Link with unencrypted protocol

Multiple

Reports the links that use unencrypted protocols (such as HTTP), which can expose your data to man-in-the-middle attacks. These attacks are dangerous in general and may be especially harmful for artifact repositories. Use protocols with encryption, such as HTTPS, instead.

Shell Script

Name

Language

Description

ShellCheck

Shell script

Reports shell script bugs detected by the integrated ShellCheck static analysis tool.

Webpack

Name

Language

Description

Webpack config compliance with JSON Schema

Javascript

Validates options in webpack config files (which name should start with `webpack`, e.g. `webpack.config.js`) against webpack options schema.

YAML

Name

Language

Description

Validation by JSON Schema

Yaml

Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified

TSLint

Name

Language

Description

TSLint

Typescript

Reports a discrepancy detected by the TSLint linter.

Last modified: 13 July 2023