Code quality¶
Because Firefox is a complex piece of software, a lot of tools are executed to identify issues at development phase. In this document, we try to list these all tools.
Tools |
Has autofixes |
Meta bug |
More info |
Upstream |
---|---|---|---|---|
Custom clang checker |
||||
Clang-Tidy |
Yes |
https://clang.llvm.org/extra/clang-tidy/checks/list.html |
||
Clang analyzer |
https://clang-analyzer.llvm.org/ |
|||
cpp virtual final |
cpp virtual final |
|||
clang-format |
Yes |
https://clang.llvm.org/docs/ClangFormat.html |
Tools |
Has autofixes |
Meta bug |
More info |
Upstream |
---|---|---|---|---|
Stylelint |
Yes |
|||
Mozilla Stylelint |
Tools |
Has autofixes |
Meta bug |
More info |
Upstream |
---|---|---|---|---|
Eslint |
Yes |
|||
Mozilla ESLint |
||||
Prettier |
Yes |
Tools |
Has autofixes |
Meta bug |
More info |
Upstream |
---|---|---|---|---|
ruff |
Yes |
https://github.com/charliermarsh/ruff |
||
black |
Yes |
https://black.readthedocs.io/en/stable |
Tools |
Has autofixes |
Meta bug |
More info |
Upstream |
---|---|---|---|---|
Rustfmt |
Yes |
https://github.com/rust-lang/rustfmt |
||
Clippy |
https://github.com/rust-lang/rust-clippy |
Tools |
Has autofixes |
Meta bug |
More info |
Upstream |
---|---|---|---|---|
Spotless |
Yes |
https://github.com/diffplug/spotless |
Tools |
Has autofixes |
Meta bug |
More info |
Upstream |
---|---|---|---|---|
shellcheck |
||||
rstchecker |
https://github.com/myint/rstcheck |
|||
Typo detection |
Yes |
https://github.com/codespell-project/codespell |
||
Fluent Lint |
No |
|||
YAML linter |
No |
https://github.com/adrienverge/yamllint |