📚

Biomeの検査対象から特定のファイル/フォルダを除外したい

に公開

はじめに

リンター + フォーマッターとしてBiomeを採用していますが、公式ドキュメントにあるような pnpm exec biome initをした直後のデフォルト設定だとnode_modulesやcloudflare-env.d.tsなどの型定義ファイルも検査対象に含まれたりと使い勝手が良くないです
また、日本語公式ドキュメントfiles.ignoreを使った古い記述方法が残っていたりと分かりづらい印象を受けたので、v2以上のBiomeにおいて、特定のファイル/フォルダを検査対象から除外する設定を紹介します

https://biomejs.dev/reference/configuration/#filesincludes

前提

  • Biome v2.x

設定

biome.jsonで以下のような設定をすることで、特定のファイル/フォルダを除外することが出来ます

{
  "files": {
    "includes": [
      "**",
      "!cloudflare-env.d.ts" # ファイルの場合
      "!node_modules",       # フォルダの場合、配下のファイル全てが検査対象から除外される
      "!**/*.test.ts"        # glob構文を使う場合
    ]
  }
}
  • file.includes内で!から始まる否定パターンを使うと特定のファイル/フォルダをBiomeの検査対象から除外できる

    • !による否定パターンを使う場合は、必ず配列の先頭で**を指定し、全てのファイルとフォルダをマッチングさせる必要がある
  • files.includesでの設定はBiomeの全てのツールに適用される

    • 各ツールごとに詳細なファイルマッチングを行いたい場合は、<tool>.includesを使用する
{
  "formatter": {
    "includes": ["src/**/*.js", "test/**/*.js"]
  },
  "linter": {
    "includes": ["**", "!test/**"]
  }
}

まとめ

BiomeはESLint + Prettierを1つのツールで置き換えられ、リンターやフォーマッターとしてのパフォーマンスも高いことで注目を集めています
その一方でまだ比較的新しいツールということもあり、日本語公式ドキュメントが一部古かったり、ネット上の情報が少なかったりもするので、もしBiomeを採用していて記事タイトルのような状況に遭遇した場合は参考にしてみてください

GitHubで編集を提案
株式会社Relic

Discussion