Rationale
We use
Eslint as the main static linter for TypeScript source code. Eslint:
- Is an old-school TypeScript linter, which means it has many rules implemented and has been thoroughly tested
- Is open source
- Has a huge number of typing checks
- Supports caching already-reviewed files for performance
- Provides a language server out of the box, considerably affecting development experience
- Integrates in-editor typing using its VS Code extension for development experience
- As it is built in JavaScript, it has serious performance limitations
Alternatives
Below are alternatives we are currently considering as possible replacements to Eslint.
Biome
- Biome is a static linter and formatter, meaning that it no only replaces Eslint but also formatting tools like Prettier
- Is open source
- Does not have as many typing checks as Eslint but is getting there very fast
- Although it currently does not support caching, it is still much faster compared to Eslint
- Provides a language server out of the box, considerably improving development experience
- Integrates in-editor typing using its VS Code extension for development experience
- As it is built in Rust, it is considerably faster compared to other linters and formatters, up to a point where performance is no longer a concern
Biome was last reviewed on Aug 5, 2025.