大規模プロジェクトでのBiomeの使用方法
Biomeは、モノレポや複数のプロジェクトを含むワークスペースなどの大規模なプロジェクトで、適切に使用するためのツールを提供しています。
複数の設定ファイルの使用
Section titled “複数の設定ファイルの使用”Biomeの機能をCLIやLSPで使用する場合、ツールは現在の作業ディレクトリから最も近い設定ファイルを参照します。
設定ファイルが見つからない場合、Biomeは設定ファイルが見つかるまで、上へ上へとディレクトリを移動します。
この機能を活用して、プロジェクトやディレクトリごとに異なるオプションを適用することができます。
例えば、backendディレクトリとfrontendディレクトリを含むプロジェクトがあるとします。
app├── backend│ ├── biome.json│ └── package.json└── frontend ├── biome.json ├── legacy-app │ └── package.json └── new-app └── package.jsonこの場合、app/backend/package.jsonからスクリプトを実行すると、Biomeはapp/backend/biome.jsonを設定ファイルとして使用します。
app/frontend/legacy-app/package.jsonまたはapp/frontend/new-app/package.jsonからスクリプトを実行すると、Biomeはapp/frontend/biome.jsonを設定ファイルとして使用します。
extendsオプションを使用して、オプションを複数ファイルに分割することができる。
例えば、以下の要件があるとします:
legacy-appディレクトリでは、スペースでフォーマットするbackendディレクトリとnew-appディレクトリでは、タブでフォーマットする- すべてのディレクトリでは、行幅を120でフォーマットする
backendディレクトリでは、追加で他のリント設定を行う
まず、app/biome.jsonに新しい設定ファイルを作成し、共通オプションの設定を行います:
{ "formatter": { "enabled": true, "lineWidth": 120 }}ここで、legacy-appディレクトリで別のオプションを使用するため、app/frontend/biome.jsonをapp/frontend/legacy-app/に移動します:
{ "formatter": { "indentStyle": "space" }}次に、extendsプロパティを使って、app/biome.jsonのすべてのオプションを継承するように設定を加えます:
{ "extends": ["../../biome.json"], "formatter": { "indentStyle": "space" }}最後に、app/backend/biome.jsonでリンタを有効にします:
{ "extends": ["../biome.json"], "linter": { "enabled": true, "rules": { "recommended": true } }}