Prettier vs Biome: CIに適したformatterはどちら?
Prettierは事実上のformatter。Biomeははるかに高速でほぼ互換の代替であり、lintも行う。
PrettierはJS/TSなどに広く採用されているopinionatedなコードformatterです。BiomeはRustのツールチェーンで、そのformatterはPrettierとの高い互換性を目指しつつ、同じバイナリでlintも行います。
| Prettier | Biome | |
|---|---|---|
| 速度 | より遅い(JS) | 非常に高速(Rust) |
| Linting | なし(フォーマットのみ) | あり(format + lint) |
| Prettier互換性 | n/a | 高い、100%ではない |
| 言語カバレッジ | 幅広い(plugin) | 主要なweb言語 |
| 採用 | 遍在 | 成長中 |
CIでは
format --checkのステップはpushのたびに実行されます。Biomeはそれを明らかに高速化し、Prettierとlinterを1つのツールで置き換えられます。Prettierはより幅広い言語/pluginカバレッジと、ほぼ普遍的なエディタおよびエコシステムのサポートを持ちます。互換性は高いですが完璧ではないため、切り替えると一部のファイルが再フォーマットされる可能性があります。
移行の労力
Biomeのformatterをリポジトリ全体に1つのcommitで実行し、フォーマットの差分を吸収してから、CIで適用しましょう。Biomeがフォーマットしない言語のpluginに頼っている場合はPrettierを残してください。
結論
1つのツールで高速なフォーマット(とlint)が欲しく、ほぼ互換な出力でよい: Biome。Prettierの幅広いpluginカバレッジとエコシステムの遍在性が必要: Prettierにとどまる。切り替える際は1つのcommitで再フォーマットしましょう。
関連ガイド
ESLint vs Biome: Which Linter for CI?ESLint vs Biome for CI: lint speed, rule coverage, config, and all-in-one tooling. Which linter keeps your pi…
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…