Biomeの設定
このガイドでは、Biomeの設定方法を理解するために役立ちます。 Biomeの設定ファイルの構成と、Biomeがどのように設定を解決するかを説明します。 あなたがすでに設定方法について詳しい場合は、利用可能なすべてのオプションの詳細が記載された設定リファレンスを参照してください。
Biomeでは、CLIのオプションか biome.json または biome.jsonc の設定ファイルを使って動作をカスタマイズできます。
設定ファイルをそれぞれのプロジェクトに作成することを推奨しています。
これにより、CLIおよびBiomeと連携したエディタにおいてチームのメンバが同じ設定を使うことを保証できます。
設定ファイルで利用可能なオプションの多くはCLIでも利用できます。
設定ファイルの構成
Section titled “設定ファイルの構成”Biomeの設定ファイルは biome.json または biome.jsonc という名前です。通常、プロジェクトの package.json の隣、プロジェクトのルートフォルダに配置されます。
Biomeはツールチェーンであるため、設定は提供されるツールごとに整理されています。
現時点では、Biomeはフォーマッタ、リンタ、アシストの3つのツールを提供しています。
これらのツールはデフォルトですべて有効になっています。
<tool>.enabled フィールドによっていくつかを無効にできます:
{  "$schema": "https://biomejs.dev/schemas/2.0.5/schema.json",  "formatter": {    "enabled": false  },  "linter": {    "enabled": false  },  "assist": {    "enabled": false  }}2つ以上の言語に適用されるオプションは対応するツールのフィールドの中に配置されています。
言語に固有のツールのオプションは <language>.<tool> の下に配置されています。
特定の言語について一般のオプションを上書きすることもできます。
また、言語によってツールを有効または無効にすることもできます。
以下の例では、一般のオプション formatter.indentStyle と formatter.lineWidth をすべての言語に設定しています。
加えて、javascript.formatter の中ではJavaScript固有のオプション quoteStyle を設定し、formatter.lineWidth を上書きしています。
JSONファイルについてはフォーマッタを無効にしました。
{  "formatter": {    "indentStyle": "space", // デフォルトは `tab`    "lineWidth": 100 // デフォルトは `80`  },  "javascript": {    "formatter": {      "quoteStyle": "single", // デフォルトは `double`      "lineWidth": 120 // `formatter.lineWidth` を上書き    }  },  "json": {    "formatter": {      "enabled": false    }  }}設定ファイルの解決
Section titled “設定ファイルの解決”Biomeは最も近い設定ファイルを見つけるために自動探索を利用します。
作業ディレクトリとその親ディレクトリから biome.json または biome.jsonc ファイルを見つけます。
いずれの設定も見つからない場合は、Biomeのデフォルトを適用します。
biome.json と biome.jsonc の両方が同じフォルダにある場合は、biome.json を優先します。
以下は例です:
ディレクトリapp/
ディレクトリbackend/
- biome.json
 - package.json
 
ディレクトリfrontend/
ディレクトリlegacy/
- package.json
 
ディレクトリnew/
- package.json
 
- biome.json
 
app/backend/package.jsonで実行されたBiomeのコマンドはapp/backend/biome.jsonの設定ファイルを使いますapp/frontend/legacy/package.jsonまたはapp/frontend/new/package.jsonで実行されたBiomeのコマンドはapp/frontend/biome.jsonの設定ファイルを使います
処理するファイルの指定
Section titled “処理するファイルの指定”CLI、設定ファイル、VCSなど、さまざまな方法を使用して処理するファイルやフォルダを制御できます。
CLIでファイルを指定する
Section titled “CLIでファイルを指定する”Biomeが処理するファイルやフォルダを制御する最初の方法は、CLIでそれらを列挙することです。
以下のコマンドでは、file1.js と src フォルダ内のすべてのファイルのみをフォーマットします。フォルダは再帰的に走査されます。
biome format file1.js src/設定ファイルでファイルを制御する
Section titled “設定ファイルでファイルを制御する”Biomeの設定ファイルを使用して、処理するファイルを絞り込むことができます。
files.includes フィールドを使用して、処理するファイルを明示的に列挙できます。
files.includes は src/**/*.js などのglobパターンを受け入れます。
! で始まるnegatedパターンを使用してファイルを除外できます。
Biomeの設定ファイル内のパスとglobは、設定ファイルがあるフォルダを基準に解決されます。 例外は、設定ファイルが別の設定ファイルによって継承されている場合です。
files.includes はBiomeのすべてのツールに適用されます。つまり、ここで指定されたファイルは、特に指定しない限り、リンタ、フォーマッタ、アシストによって処理されます。
個々のツールについては、<tool>.includes を使用してマッチするファイルをさらに絞り込むことができます。
設定ファイルでファイルを含める
Section titled “設定ファイルでファイルを含める”次のような設定を考えてみましょう。src/ フォルダと test/ フォルダ内のJavaScriptファイル(.js)のみを含め、名前に .min.js が含まれるファイルを無視したい場合:
{  "files": {    "includes": ["src/**/*.js", "test/**/*.js", "!**/*.min.js"]  },  "linter": {    "includes": ["**", "!test/**"]  }}そして、以下のコマンドを実行します:
biome format test/このコマンドは、test/ フォルダから .js 拡張子で終わり、.min.js 拡張子で終わらないファイルをフォーマットします。
フォルダがCLIに列挙されていないため、src/ 内のファイルはフォーマットされません。
次のコマンドを実行すると、test/ フォルダ内のファイルはリンタで明示的に無視されているため、ファイルはリントされません。
biome lint test/設定ファイルでファイルを除外する
Section titled “設定ファイルでファイルを除外する”Biomeによって処理されないファイルやフォルダを除外したい場合は、files.includes 設定を使用し、先頭に ! を付けたnegatedパターンを使用できます。
negatedされたglobを列挙する前に、それらの前に ** パターンを付ける必要があります。
次の例では、すべてのファイルを含めるようBiomeに指示しますが、任意の dist/ フォルダ内のファイルと、.generated.js で終わるファイルは除外します:
{  "files": {    "includes": [      "**",      "!**/dist",      "!**/*.generated.js"    ]  }}VCSでファイルを制御する
Section titled “VCSでファイルを制御する”VCSで無視されたファイルを無視することもできます。
既知のファイル
Section titled “既知のファイル”拡張子ではなくファイルの名前に基づいて特別に扱われる、いくつかの既知のファイルが存在します。 現在は既知のファイルはJSONライクなファイルのみですが、新たなパーサをサポートした場合はリストを拡張して他の種類も含める可能性があります。
以下のファイルは JSON ファイルとして、オプション json.parser.allowComments と json.parser.allowTrailingCommas を false にした状態でパースされます。
.all-contributorsrc.arcconfig.auto-changelog.bowerrc.c8rc.htmlhintrc.imgbotconfig.jslintrc.nycrc.tern-config.tern-project.vuerc.watchmanconfigmcmod.info
以下のファイルは JSON ファイルとして、オプション json.parser.allowComments を true に、json.parser.allowTrailingCommas を false にした状態でパースされます。
これは、これらのファイルを使用するツールがコメントの削除のみを行うためです。
.ember-cli.eslintrc.json.jscsrc.jshintrctslint.jsonturbo.json
以下のファイルは JSON ファイルとして、オプション json.parser.allowComments と json.parser.allowTrailingCommas を true にした状態でパースされます。
これは、これらのファイルを使用するツールがそのような設定を受け入れるようになっているためです。
.babelrc.babelrc.json.devcontainer.json.hintrc.hintrc.json.oxlintrc.json.swcrcapi-documenter.jsonapi-extractor.jsonbabel.config.jsondeno.jsondevcontainer.jsondprint.jsonjsconfig.jsonjsr.jsonlanguage-configuration.jsonnx.jsonproject.jsontsconfig.jsontypedoc.jsontypescript.json
Copyright (c) 2023-present Biome Developers and Contributors.