Skip to content

Biome への移行について ​

このページでは、本プロジェクトが従来使用していた ESLint と Prettier から、次世代ツールである Biome へ移行する方針と、その具体的な移行手順をまとめています。
開発者全員が同じ開発体験を得られるよう、必ず本ドキュメントに従いセットアップを行ってください。

1. 移行の背景 ​

本プロジェクトではこれまで、コード品質向上のために ESLint と Prettier を併用してきました。
しかし、以下の課題がありました。

  • 設定ファイルが複雑化しやすい
  • 実行速度が遅く CI の負荷が高い
  • ESLint と Prettier の競合による設定トラブル
  • 依存パッケージの管理が重い

Biome は Rust 製の高速なコードフォーマッタ兼リンターであり、ESLint と Prettier の役割を一つにまとめ、パフォーマンスと開発効率を大きく改善することができます。

本プロジェクトでは、保守性と CI の信頼性向上のため、Biome を標準ツールとして採用します。

2. 必須変更点 ​

開発者が対応すべきこと ​

  • Node.js が環境にインストールされていることを確認
  • プロジェクトの依存関係を最新化する
  • Biome 設定ファイルをローカル環境に取り込む
  • 旧ツール(ESLint、Prettier)のプラグインや設定を削除

Biome のセットアップ方法 ​

1. 旧ツールの削除 ​

まず、ローカルに残っている ESLint/Prettier 関連ファイルを削除します。

削除するファイルの例 ​


.eslintrc
.eslintrc.js
.eslintrc.cjs
.prettierrc
.prettierrc.json
.prettierrc.js
.prettierignore

パッケージのアンインストール ​

プロジェクトルートで実行してください。


bun remove eslint prettier
npm uninstall eslint prettier
pnpm remove eslint prettier
yarn remove eslint prettier

(使用しているパッケージマネージャに合わせて一つだけ実行)


2. Biome のインストール ​

本プロジェクトではバージョンを統一するため、下記のコマンドでインストールしてください。


bun add -D @biomejs/biome

その他のパッケージマネージャも可。


npm install -D @biomejs/biome
pnpm add -D @biomejs/biome
yarn add -D @biomejs/biome

3. Biome 設定ファイルの作成 ​

プロジェクトルートに biome.json を作成してください。

json
{
  "$schema": "https://biomejs.dev/schemas/1.8.0/schema.json",
  "formatter": {
    "enabled": true
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true
    }
  },
  "javascript": {
    "formatter": {
      "quoteStyle": "double"
    }
  }
}

必要に応じて調整できますが、基本的に上記のまま利用できます。


4. スクリプトの更新 ​

package.json に以下のスクリプトを追加してください。

json
{
  "scripts": {
    "lint": "biome check .",
    "format": "biome format . --write"
  }
}

これにより、従来の ESLint/Prettier とほぼ同じ操作性で利用できます。


開発フローの変更点 ​

1. コミット前チェックについて ​

プロジェクトでは Biome を使ったコードチェックを推奨します。 コミット前に以下を実行してください。

bun run lint
bun run format

エラーが出た場合は修正した上でコミットしてください。

2. CI の設定変更 ​

GitHub Actions などの CI では、ESLint を呼んでいたジョブを Biome に置き換えてください。

例:

yaml
- name: Run Biome
  run: bun run lint

旧コードからの移行時の注意点 ​

  • import 順序や改行ルールが Prettier と異なる場合があります
  • 既存のファイルが大量に変更されることがあります
  • 移行時は一度 format を全体に適用することを推奨

以下を実行することで一括整形できます。

bun run format

コミットは一つにまとめるとヒストリが汚れません。


よくある質問 ​

Q1. ESLint プラグインが必要な場合はどうしますか ​

Biome では独自ルールがあり、多くの場合 ESLint プラグインは不要です。 必要な機能がない場合はプロジェクト内 issue で相談してください。

Q2. Prettier の設定は引き継げますか ​

基本的に Biome 独自の高速フォーマッタが動作するため、完全互換ではありません。 必要な設定は biome.json 内で定義します。