summaryrefslogtreecommitdiff
path: root/docs/linting.md
blob: 47420bbe1d484a9ee988d2a4c2bbf92f229cdb5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Linting

We use automated tools, rather than human effort, to spot possible bugs or dubious structural choices, where possible. This is handled by three tools:

- Javascript is linted using [eslint].
- Rust is linted using [cargo check] and [clippy].

[eslint]: https://eslint.org/
[cargo check]: https://doc.rust-lang.org/cargo/commands/cargo-check.html
[clippy]: https://doc.rust-lang.org/cargo/commands/cargo-clippy.html

## Tools

- To check for detectable lints, run
  `tools/check-lint`. This should be run whenever making changes, and is part of the optional
  `git-hooks/pre-commit` hook script.

- To fix lints that have automatic fixes, run
  `tools/delint`.

You can also run the individual lint tools directly. The tool scripts listed above contain the specific commands needed.