JavaScript Language Support

Summary

FeatureStatusNotes
MaintainabilityComplexity, duplication, code smells
Linting
Auto-formatting
Custom checks
Security scanningAppSec, dependencies, and secrets
Code metrics
Code coverage

Details

Maintainability
ComplexityAka cognitive complexity
Cyclomatic complexity
Identical code duplication
Similar code duplication
Code smells
Linters
ESLintPluggable linter for JavaScript
OXCFast JavaScript linter
KnipFind unused files, dependencies and exports
BiomeUnified toolkit for web projects
Auto-formatters
PrettierOpinionated code formatter
BiomeIncludes formatting capabilities
Custom checks
ast-grep
Semgrep
ripgrep
Security scanning

ESLint with security rules

AppSec (SAST)
GitleaksSecrets scanning
OSV-ScannerDependency scanning (SCA)
SemgrepAppSec (SAST)
TrivyDependency scanning (SCA)
TruffleHogSecrets scanning
Code coverage
Jest
Vitest
Mocha
LCOV coverage format
Cobertura coverage format

File extensions

By default, JavaScript files are defined as:

[file_types.javascript]
globs = ["*.js", "*.mjs", "*.cjs", "**/Jakefile"]
interpreters = [
"rhino",
"gjs",
"qjs",
"js",
"chakra",
"v8-shell",
"v8",
"node",
"d8",
]
[file_types.jsx]
globs = ["*.jsx", "*.mjsx", "*.cjsx"]

These patterns can be overridden from qlty.toml.

Supported JavaScript versions

We support modern JavaScript (ES2015+) for maintainability checks and code coverage. Each plugin may have its own version requirements.

See also