🧩

Biomeのv2.3リリース

に公開

はじめに

今回は、2025年10月7日にリリースされた Biome v2.3 の主要な変更点をまとめました。 今回のアップデートは「エコシステムをより身近に」をテーマに、Vue, Svelte, Astroなどのフレームワーク対応や、大規模プロジェクト向けの機能強化が含まれています。

Vue, Svelte, Astro のフルサポート (実験的機能)

これまで要望の多かった、Vue, Svelte, Astro ファイルの完全なサポート(リント・フォーマット)がついに導入されました。

何ができる?:

  • .vue, .svelte, .astro ファイル内の <script> や <style> タグの中身をフォーマット&リント可能に。
  • HTMLテンプレート部分もBiomeのルールでフォーマットされます。

使い方:

  • 実験的機能のため、biome.json で明示的に有効化する必要があります。
{
  "html": {
    "experimentalFullSupportEnabled": true
  }
}
  • インデント設定: <script> や <style> タグ内のインデント設定も追加されました(デフォルトはPrettierに合わせて false)。
{
  "html": {
    "formatter": {
      "indentScriptAndStyle": true
    }
  }
}

新しい ignore 構文:! と !!

大規模プロジェクトやTypeScriptプロジェクトでのパフォーマンス問題を解決するため、除外設定(ignore)の構文が新しくなりました。

  • ! (シングル): リントやフォーマットは無視するが、型推論などの解析(インデックス)には含める。

    • 用途: 生成されたコード、外部ライブラリなど。
  • !! (ダブル): Biomeの全操作から完全に除外する。

    • 用途: dist/ フォルダなど、解析も不要なもの。

設定例:

{
  "files": {
    "includes": [
      "**",
      "!**/generated",  // 解析のみ行う
      "!!**/dist"       // 完全に無視
    ]
  }
}

これにより、不要な解析をスキップしてメモリ消費を抑えることができます。

Tailwind CSS v4 のサポート

CSSパーサーがアップデートされ、Tailwind CSS v4の新しい構文(@utility, @theme など)をネイティブに扱えるようになりました。

有効化:

{
  "css": {
    "parser": {
      "tailwindDirectives": true
    }
  }
}

CLI と使い勝手の向上

  • biome init がより賢く: 既存の .gitignore を検知してVCS設定を自動で提案したり、dist フォルダを自動で除外設定に追加してくれるようになりました。
  • --skip, --only の強化: リントのグループ(ドメイン)単位で指定が可能になりました。
    • 例: biome lint --only=project
  • 改行コード auto: OSに合わせて CRLF (Windows) か LF (macOS/Linux) を自動選択する設定が追加されました。
"formatter": { "lineEnding": "auto" }

その他の変更点

  • React関連: 一部のルールが react ドメインに整理され、Reactを使用していないプロジェクトでは自動で無効化されるなど、挙動が最適化されました。
  • 新レポーター: checkstyle, rdjson 形式での出力に対応。
  • React v19 対応: 最新のReactもサポートされています。

まとめ

Biome v2.3は、Web開発の主要なフレームワークへの対応が進み、より多くのプロジェクトでメインのツールチェーンとして採用しやすくなった印象です。特にVue/Svelteユーザーの方はぜひ試してみてください。

株式会社アクトビ

Discussion