ESLint vs Biome: CIに適したlinterはどちら?
Biomeは高速なオールインワンのRustツールチェーン。ESLintは膨大なルールとpluginのエコシステムを持つ、拡張可能な標準。
ESLintは確立されたJavaScript/TypeScriptのlinterで、コミュニティ製の数千のルールとpluginを持ちます。BiomeはRustベースのツールチェーンで、1つの高速なバイナリでlintとフォーマットを行います。
| ESLint | Biome | |
|---|---|---|
| 速度 | より遅い(JS、pluginのオーバーヘッド) | 非常に高速(Rust) |
| ルール / pluginエコシステム | 巨大 | より小さい、成長中 |
| フォーマット | 別途(Prettier) | 組み込み |
| 設定 | 柔軟、肥大化しがち | 最小限、opinionated |
| セットアップ | 可動部が多い | 単一バイナリ |
CIでは
Biomeははるかに高速に動作し、lintとフォーマットを1つのツールにまとめるため、パイプラインを簡素化し高速化します。ESLintはカバレッジで勝ります。特定のplugin(フレームワークのルール、アクセシビリティ、importの並び順、カスタムルール)に依存する場合、ESLintには依然としてそれらがあり、Biomeにはない可能性があります。一部のチームは速度のためにBiomeを実行し、BiomeにないルールのためだけにESLintを残します。
移行の労力
Biomeは多くの一般的なESLintルールをカバーしますが、すべてではありません。切り替える前に有効化しているpluginとルールを監査しましょう。Biomeがまだ適用できないものには、小さなESLint設定を残すことを想定してください。
結論
最小限の設定で高速なlint+formatが欲しく、ルールがカバーされている: Biome。幅広いESLintのpluginエコシステムに依存する: ESLintにとどまる(または両方を実行)。移行前にルールカバレッジを確認しましょう。
関連ガイド
Prettier vs Biome: Which Formatter for CI?Prettier vs Biome for CI: format speed, compatibility, and all-in-one tooling. Which formatter keeps your pip…
How to Speed Up GitHub Actions: 9 High-Impact TacticsMake GitHub Actions faster: caching, parallelization, test splitting, Docker layer caching, slimmer images, a…
How to Cache Dependencies in GitHub Actions (Every Ecosystem)Cache dependencies in GitHub Actions with actions/cache - correct keys and paths for npm, yarn, pnpm, pip, Ma…