Biome vs ESLint: CIにはどちらのlinterか
BiomeはESLintよりはるかに速く動作するRustベースのlinter兼formatterで、ESLintは最も広いプラグインエコシステムと完全な設定可能性を保ちます。
ESLintは膨大なルールとプラグインのエコシステムを持つ、標準的なJavaScript/TypeScriptのlinterです。BiomeはRustベースのtoolchainで、1回の高速なパスでlintとformatを行い、成長中の組み込みルールセットと最小限の設定を備えます。
| Biome | ESLint | |
|---|---|---|
| 実装 | Rust | JavaScript |
| 速度 | 非常に高速 | より遅い |
| スコープ | Lint + format | Lint (formatはPrettier) |
| ルール/プラグインエコシステム | 成長中、組み込み | 最大 |
| 設定 | 最小限 | 柔軟、複雑になりうる |
CIでは
BiomeはESLintより劇的に速くlint(およびformat)し、わずかな設定しか必要としないため、大きなリポジトリでのlintステップを短縮します。ESLintの強みはその巨大なエコシステムです。framework固有、アクセシビリティ、カスタムなルールなど、Biomeがまだカバーしていないものがあります。ニッチなESLintプラグインに依存する場合、Biomeは完全には置き換えられないかもしれません。主に高速で標準的なlintとformatが欲しいなら、Biomeは魅力的です。
移行の労力
切り替える前にカスタムのESLintルールとプラグインを監査してください。多くのチームはBiomeを段階的に採用するか、特定のプラグインのためにESLintを残します。lintはmanaged runnerで動作し、高速なmanaged runnerは大きなコードベースでどのlinterを使っても短縮します。
結論
高速で低設定のlint兼formatツールが欲しく、必要なルールがカバーされているなら: Biome。広範またはカスタムなESLintプラグインセットに依存するなら: ESLintのままにする(または両方を実行)。移行前にプラグインのカバレッジを確認してください。