Biome
Rustで書かれた、Web(JavaScript/TypeScript/JSX/TSX/JSON/HTML/CSS/GraphQL)向けのオールインワン開発ツールチェーン。フォーマッターとリンターを中心に提供する。 #javascript #rust
機能
- フォーマッター: Prettierと97%互換の高速フォーマッター
- リンター: ESLint・TypeScript-ESLint由来の517ルールを搭載した高性能リンター
ESLint・Prettierのドロップイン置き換えを狙って設計されており、Node.jsを必要とせず単体で動作する。CLIおよびLSP経由で利用可能。
性能
ESLint比で最大15倍高速なlint、Prettier比で最大35倍高速な整形を謳う。最新のBiome v2(コードネーム"Biotype")では、TypeScriptコンパイラに依存しない型認識(type-aware)のlintルールを初めて実現した。
前身: Rome
Biomeの前身はRome。RomeはSebastian McKenzie氏が2020年8月に「Babelの精神的後継」として立ち上げたプロジェクトで、Babel・ESLint・webpack・Prettier・Jestなどを置き換える統合ツールチェーンを目指した。当初Meta OSS傘下でリリースされ、後にRome Tools Inc.として独立したが事業がうまくいかず全従業員がレイオフされた。これを受けて2023年8月、Rome旧コアチームのEmanuele Stoppa氏らが新プロジェクトとしてBiomeを立ち上げた。
Oxcとの関係
同じくRust製・JS/TS向けオールインワンツールであるOxcとは競合関係にある。ともにRust製・高速・複数機能統合という共通点を持つが、Biomeは既存プロジェクト(Rome)のフォークという系譜を持つ点で、ゼロから作られたOxcとは出自が異なる。
JavaScriptのリンター・フォーマッターの中での位置づけ
Rust製新世代の統合ツールチェーン。従来世代のESLint+Prettierを一括で置き換えることを狙う。同じ新世代のOxcとは競合。