🏞️

Biomeって何?ESLint / Prettierからの移行先として注目される理由

に公開

はじめに

最近、BiomeというツールをNEXT.JSに導入したので、記事に残そうかなと思います。

・これまでは ESLint + Prettier が定番だったので、気になり調べてみました。
・最近「Biome」が話題になっている → 今回はそのBiomeについての記事を記述したいと思います。

Biomeとは?

Lint(コードチェック)、Formatter(コード整形)、一部の型解析を 1つのツール で実現できるのが特徴です。

従来の課題

JS/TS 開発では複数のツールを組み合わせる必要がありました。

  • コードチェック → ESLint
  • コード整形 → Prettier
  • 型チェック → TypeScript
  • JSONやCSSなどの解析 → 別のパーサ
    → 設定ファイルが複数になり、依存関係も複雑化がありました。

Biomeの特徴

オールインワン設計

→ Lint + Format + TypeScriptの一部解析を ひとつの設定で管理します。
→ 依存関係がシンプルになります。

Rust製だから速い

→ Node.js製のESLint/Prettierより圧倒的に高速です。
→ 大規模プロジェクトでもサクサク動きます。

Rome Projectがルーツ

→ 元々「Rome」という巨大な統合ツールを目指したプロジェクトがありました。
→ ビジョンが大きすぎて停滞 → コミュニティがフォークして 現実的に進化したのがBiomeです。

Biomeの主な機能まとめ

  • Lint: ESLint相当のチェックをします。
  • Formatter: Prettier相当のフォーマットです。
  • Parser: JS/TS/JSONを高速にパースします。
  • 将来的な展望: バンドラーやテストランナーも統合予定です。

ESLint / Prettierとの違い

項目 ESLint + Prettier Biome
速度 Node.jsベースでやや遅い Rust製で圧倒的に速い
設定 2つの設定ファイル必要 .biome.json 1つで完結
導入 eslint, prettier, pluginの組合せが必要 Biome単体で完結
拡張性 豊富なルール・プラグイン まだ少ないが開発中
エコシステム 長年の実績あり 新しいが活発に進化中

導入方法(お試し編)

プロジェクトに導入する最小構成を紹介します。

bash
npm install --save-dev @biomejs/biome
npx biome init
npx biome check src

.biome.json が自動生成されます。

まとめ
Biomeは「ESLint + Prettierをまとめた次世代ツール」です。

導入が簡単で速い → 小規模〜中規模プロジェクトに特におすすめです。

ただし、ESLintの細かいルールやプラグインが必要ならまだ併用もありだと思います。
今後のアップデートに注目ですね。

Discussion