Biome is a formatter and linter for web languages: JavaScript, TypeScript, CSS, HTML, JSON, and GraphQL.
Version 2 adds type-aware lint rules and it is the first TypeScript linter that does not require tsc
. Other new features include:
- Monorepo support
- GritQL Plugins
- Revamped, configurable import sorting
- Linter domains
- Bulk suppressions
- Analyzer assists
- Many new lint rules
What is the use case for linting typescript where tsc is unavailable? To avoid tsc compilation time if possible?
tsc
is (very) slow and there are also no convenient ways to interact with it from Rust.So it saves a lot development and CI time to roll our own. The downside is that our inference still isn’t as good as
tsc
of course, but we’re hopeful the community can help us get very close at least.Makes sense. Reminds me of running ruff before the (very) slow type checker on my python projects.
Congrats to the devs. Biome is awesome, and it’s been a pleasure to use it