コンテンツにスキップ

設定

JSONスキーマファイルへのパスを指定できます。

biome.json 用のJSONスキーマファイルを公開しています。

@biomejs/biome パッケージが node_modules フォルダにインストールされている場合、そのスキーマへの相対パスを指定できます。

biome.json
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json"
}

スキーマファイルの解決に問題がある場合は、このサイトで提供されているスキーマも使用できます。

biome.json
{
"$schema": "https://biomejs.dev/schemas/2.3.11/schema.json"
}

他のBiome設定ファイルへのパスのリストです。Biomeは extends リストに含まれるファイルの設定を解決して適用し、 最終的に biome.json/biome.jsonc ファイルに含まれるオプションを適用します。

拡張するパスの順序は、関連性の低いものから高いものへと進みます。

v2以降、このオプションは値 "//" に一致する必要がある文字列を受け入れます。これはモノレポを設定する際に使用できます。

この設定をルートとして扱うかどうかを指定します。デフォルトでは、すべての設定ファイルはデフォルトでルートと見なされます。 設定ファイルが「ネストされた設定」である場合、"root": false を設定する必要があります。そうしないとエラーがスローされます。

これは、BiomeがCLIとエディタで同時に複数のファイルを調整できるようにするために必要です。

デフォルト: true

処理の対象とするファイルを指定するglobパターンのリストです。 Biomeは、これらのパターンに一致するファイルやフォルダのみを処理します。

次の例は、 src フォルダ内の拡張子が .js のすべてのファイルに一致します。

biome.json
{
"files": {
"includes": ["src/**/*.js"]
}
}

includes では否定パターンもサポートしています。

biome.json
{
"files": {
"includes": ["**", "!**/*.test.js", "**/special.test.js", "!test"]
}
}
  1. ** により、すべてのフォルダ内のすべてのファイルを処理対象にする。
  2. ただし、拡張子が .test.js のファイルは除外する。
  3. しかし、 special.test.js は処理対象に戻す。
  4. ただし、test という名前のフォルダ内にある場合は処理しない。

つまり、結果は以下の通りです。

  • src/app.js は処理対象
  • src/app.test.js は処理対象
  • src/special.test.js は処理対象
  • test/special.test.js は処理対象

node_modules/ 内のファイルは、files.includes 設定に関係なく無視されることに注意してください。

Biomeにはスキャナーがあり、ネストされた設定ファイルや .gitignore ファイルを検出します。また、 プロジェクトドメインの1つ以上のルールが有効になっている場合、ソースファイルをインデックス化することもできます。

スキャナーは files.includes.gitignore ファイルからの無視パターンの両方を尊重しますが、注意すべき2つの例外があります:

  • biome.json.gitignore などの特殊ファイルは、files.includes の無視パターンよりも優先されます。
  • プロジェクトドメインのルールが有効な場合、スキャナーはソースファイルとそのソースファイルの依存関係をインデックス化します。これは、files.includes の一部として無視されるファイルでも、それらのファイルをインポートする他の含まれるファイルがある限り、スキャナーによってインデックス化される可能性があることを意味します。また、これは node_modules/ 内の .d.ts ファイルや package.json マニフェストもインデックス化される可能性があることを意味します。

スキャナーによって明示的に無視するファイルを強制したい場合は、 いわゆる force-ignore パターン を使用できます。force-ignoreパターンは通常の否定パターンのように見えますが、二重の感嘆符 (!!) で始まります。

例えば、次の設定を使用して、Biomeに任意の dist/ フォルダ内を決して見ないように指示できます:

biome.json
{
"files": {
"includes": ["**", "!!**/dist"]
}
}

build/dist/ などの 出力 ファイルを含むフォルダには、force-ignore構文を使用することをお勧めします。このようなフォルダの場合、インデックス化が有用な利点を持つ可能性は極めて低いです。生成されたファイルを含むフォルダの場合、通常の無視パターンを使用することをお勧めします。これにより、ファイルから型情報を抽出できます。

明示的に無視したいネストされた biome.json ファイルや .gitignore ファイルについても、force-ignore構文を使用する必要があります。

true の場合、Biomeは処理できないファイルに遭遇しても診断を出力しません。

biome.json
{
"files": {
"ignoreUnknown": true
}
}

デフォルト: false

ソースコードファイルの最大許容サイズ(バイト単位)です。この制限を超えるファイルは、パフォーマンス上の理由から無視されます。

デフォルト: 1048576(1024*1024、1MB)

スキャナーがクロール中に無視すべきリテラルパスセグメントの配列です。無視されたファイルはインデックス化されません。つまり、これらのファイルはモジュールグラフの一部にならず、それらから型が推論されません。

BiomeをVCS(バージョン管理システム)ソフトウェアと統合するためのプロパティのセットです。

BiomeがVCSクライアントと統合するかどうかを指定します。

デフォルト: false

VCSクライアントの種類を指定します。

値:

  • "git"

BiomeがVCSの除外ファイルを使用するかどうかを指定します。true に設定すると、Biomeは除外ファイルに指定されたファイルを無視します。

BiomeがVCSファイルを探すフォルダを指定します。デフォルトでは、Biomeは biome.json が見つかったフォルダを使用します。

もしBiomeが設定を見つけられない場合、現在の作業ディレクトリを使用しようとします。現在の作業ディレクトリも見つからない場合、BiomeはVCS統合を使用せず、診断情報が出力されます。

プロジェクトのメインブランチです。Biomeは、変更されたファイルを評価する際にこのブランチを使用します。

Biomeのリンタを有効にします。

デフォルト: true

リントするファイルのglobパターンのリストです。

次の例は、src フォルダ内の .js 拡張子を持つすべてのファイルをリントします:

biome.json
{
"linter": {
"includes": ["src/**/*.js"]
}
}

*フォルダ内のすべてのファイル に一致し、**フォルダ内のすべてのファイルとサブフォルダを再帰的に 一致させます。globの詳細については、 glob構文リファレンスを参照してください。

includes は、例外である否定パターンもサポートしています。これらは ! で始まるパターンで、Biomeに否定パターンに一致するファイルを除く すべて のファイルを処理するように指示するために使用できます。

例外は順番に処理されるため、例外の例外を指定できます。

次の例を考えてみましょう:

biome.json
{
"linter": {
"includes": ["**", "!**/*.test.js", "**/special.test.js"]
}
}

この例は次のことを指定しています:

  1. ** パターンのおかげで、すべての(サブ)フォルダ内のすべてのファイルがリントされます。..
  2. … ただし、それらのファイルが .test.js 拡張子を持つ場合は除きます。..
  3. … しかし、ファイル special.test.tsまだ リントされます。

つまり:

  • src/app.jsリントされます
  • src/app.test.jsリントされません
  • src/special.test.jsリントされます

linter.includesfiles.includes後に 適用されることに注意してください。これは、files.includes に一致しないファイルは、もはや linter.includes に一致できないことを意味します。これは、次の例が機能しないことを意味します:

biome.jsonc
{
"files": {
"includes": "src/**"
},
"linter": {
// これは files.includes と重複がないため何も一致しません:
"includes": "scripts/**"
}
}

linter.includes が指定されていない場合、files.includes に一致するすべてのファイルがリントされます。

すべてのグループに対して推奨ルールを有効にします。

デフォルト: true

単一のグループのルールに影響を与えるオプションです。Biomeは次のグループをサポートしています。

  • accessibility: アクセシビリティの問題を防ぐためのルール。
  • complexity: より簡潔に記述できる可能性のある複雑なコードを見つけるためのルール。
  • correctness: 間違っているか、不要なコードを検出するルール。
  • nursery: まだ開発中の新しいルール。バグやパフォーマンスの問題が残っている可能性があるため、安定バージョンにおいては設定で明示的に有効化する必要があります。nightlyビルドではデフォルトで有効ですが、これらは不安定であるため、安定化する際に推奨ルールとなるかに応じて診断の重大度がエラーまたは警告に設定されることがあります。これらのルールは安定化して他のグループへ昇格されるか、削除されます。このグループに属するルールはセマンティックバージョンの対象ではありません。
  • performance: より速く、または効率的に実行できる可能性のあるコードを見つけるルール。
  • security: 潜在的なセキュリティ上の欠陥を検出するルール。
  • style: 一貫性があり、慣用的なコードスタイルを強制するルール。
  • suspicious: 間違っているか、不要な可能性のあるコードを検出するルール。

それぞれのグループは値として、重大度を表す文字列か、設定可能な各ルールのオブジェクトを受け入れます。

重大度を渡すときは、グループに属するすべてのルールに対して重大度を設定できます。 例えば、a11y グループは情報の診断を出力するように設定できます:

biome.json
{
"linter": {
"rules": {
"a11y": "info"
}
}
}

以下が許容される値です:

  • "on": グループに属する各ルールは、デフォルトの重大度で診断を出力します。ルールのドキュメントを参照するか、explain コマンドを利用してください:
    Terminal window
    biome explain noDebugger
  • "off": グループに属するすべてのルールは診断を出力しません。
  • "info": グループに属するすべてのルールは 重大度が情報の診断 を出力します。
  • "warn": グループに属するすべてのルールは 重大度が警告の診断 を出力します。
  • "error": グループに属するすべてのルールは 重大度がエラーの診断 を出力します。

特定のグループに対して推奨されるルールを有効にします。

例:

biome.json
{
"linter": {
"enabled": true,
"rules": {
"nursery": {
"recommended": true
}
}
}
}

Biomeのアシスト機能を有効にします。

デフォルト: true

解析するファイルのglobパターンのリストです。

次の例は、src フォルダ内の .js 拡張子を持つすべてのファイルを解析します:

biome.json
{
"assist": {
"includes": ["src/**/*.js"]
}
}

*フォルダ内のすべてのファイル に一致し、**フォルダ内のすべてのファイルとサブフォルダを再帰的に 一致させます。globの詳細については、 glob構文リファレンスを参照してください。

includes は、例外である否定パターンもサポートしています。これらは ! で始まるパターンで、Biomeに否定パターンに一致するファイルを除く すべて のファイルを処理するように指示するために使用できます。

例外は順番に処理されるため、例外の例外を指定できます。

次の例を考えてみましょう:

biome.json
{
"assist": {
"includes": ["**", "!**/*.test.js", "**/special.test.js"]
}
}

この例は次のことを指定しています:

  1. ** パターンのおかげで、すべての(サブ)フォルダ内のすべてのファイルが解析されます。..
  2. … ただし、それらのファイルが .test.js 拡張子を持つ場合は除きます。..
  3. … しかし、ファイル special.test.jsまだ 解析されます。

つまり:

  • src/app.js解析されます
  • src/app.test.js解析されません
  • src/special.test.js解析されます

assist.includesfiles.includes後に 適用されることに注意してください。これは、files.includes に一致しないファイルは、もはや assist.includes に一致できないことを意味します。これは、次の例が機能しないことを意味します:

biome.jsonc
{
"files": {
"includes": "src/**"
},
"assist": {
// これは files.includes と重複がないため何も一致しません:
"includes": "scripts/**"
}
}

assist.includes が指定されていない場合、files.includes に一致するすべてのファイルがリントされます。

すべてのグループの推奨アクションを有効にします。

単一グループのルールに影響を与えるオプションです。Biomeは次のグループをサポートしています:

  • source: このグループは、保存時にドキュメントに安全に適用できるアクションを表します。これらのアクションは一般的にすべて安全で、通常はプログラムの機能を変更しません。

単一グループの推奨ルールを有効にします。

例:

biome.json
{
"assist": {
"enabled": true,
"actions": {
"source": {
"recommended": true
}
}
}
}

これらのオプションはすべての言語に適用されます。 下記には、言語固有のフォーマッタオプションが追加で記載されています。

Biomeのフォーマッタを有効にします。

デフォルト: true

フォーマットするファイルのglobパターンのリストです。

次の例は、src フォルダ内の .js 拡張子を持つすべてのファイルをフォーマットします:

biome.json
{
"formatter": {
"includes": ["src/**/*.js"]
}
}

*フォルダ内のすべてのファイル に一致し、**フォルダ内のすべてのファイルとサブフォルダを再帰的に 一致させます。globの詳細については、 glob構文リファレンスを参照してください。

includes は、例外である否定パターンもサポートしています。これらは ! で始まるパターンで、Biomeに否定パターンに一致するファイルを除く すべて のファイルを処理するように指示するために使用できます。

例外は順番に処理されるため、例外の例外を指定できます。

次の例を考えてみましょう:

biome.json
{
"formatter": {
"includes": ["**", "!**/*.test.js", "**/special.test.js"]
}
}

この例は次のことを指定しています:

  1. ** パターンのおかげで、すべての(サブ)フォルダ内のすべてのファイルがフォーマットされます。..
  2. … ただし、それらのファイルが .test.js 拡張子を持つ場合は除きます。..
  3. … しかし、ファイル special.test.tsまだ フォーマットされます。

つまり:

  • src/app.jsフォーマットされます
  • src/app.test.jsフォーマットされません
  • src/special.test.jsフォーマットされます

formatter.includesfiles.includes後に 適用されることに注意してください。これは、files.includes に一致しないファイルは、もはや formatter.includes に一致できないことを意味します。これは、次の例が機能しないことを意味します:

biome.jsonc
{
"files": {
"includes": "src/**"
},
"formatter": {
// これは files.includes と重複がないため何も一致しません:
"includes": "scripts/**"
}
}

formatter.includes が指定されていない場合、files.includes に一致するすべてのファイルがフォーマットされます。

構文エラーがあるドキュメントをフォーマットできるようにします。

biome.json
{
"formatter": {
"formatWithErrors": true
}
}

デフォルト: false

インデントのスタイルです。 "tab" または "space" のいずれかを指定できます。

デフォルト: "tab"

インデントのサイズを指定します。

デフォルト: 2

改行コードの種類を指定します。

  • "lf": Line Feedのみ (\n)、LinuxやmacOS、またはgitリポジトリ内で一般的です。
  • "crlf": Carriage Return + Line Feed文字 (\r\n)、Windowsで一般的です。
  • "cr": Carriage Return文字のみ (\r)、非常にまれに使用されます。

デフォルト: "lf"

1行に書き込むことができる文字数を指定します。

デフォルト: 80

HTML系言語の属性位置スタイルを指定します。

  • "auto"、属性は自動的にフォーマットされ、特定の基準に達したときのみ複数行に折り返されます。
  • "multiline"、属性が2つ以上使用されている場合、複数行に折り返されます。

デフォルト: "auto"

括弧と内部の値の間にスペースを追加するかどうかを指定します。

デフォルト: true

配列とオブジェクトを複数行に展開するかどうかを指定します。

  • "auto"、オブジェクトリテラルは最初のプロパティに改行がある場合は複数行にフォーマットされ、 配列リテラルは行に収まる場合は単一行にフォーマットされます。
  • "always"、これらのリテラルはリストの長さに関係なく複数行にフォーマットされます。
  • "never"、これらのリテラルは行に収まる場合は単一行にフォーマットされます。

package.json をフォーマットする場合、別途設定されない限りBiomeは always を使います。

デフォルト: "auto"

ファイルの末尾に改行を追加するかどうかを指定します。

デフォルト: true

Biomeが .editorconfig ファイルを使用してフォーマットオプションを決定するかどうかを指定します。

設定ファイル .editorconfigbiome.json は次のルールに従います:

  • biome.json のフォーマット設定は常に .editorconfig ファイルより優先されます。
  • biome.json ファイルよりも階層の上位に存在する .editorconfig ファイルは既に無視されます。これは、誰かのホームディレクトリからフォーマット設定を biome.json ファイルを持つプロジェクトにロードすることを避けるためです。
  • ネストされた .editorconfig ファイルは現在サポートされていません。

デフォルト: false

Biomeのインポートのソート機能を有効にします。

デフォルト: true

Biomeは、パターンに一致するファイルやフォルダを無視します。 Unixシェル形式のパターンのリストで指定します。

biome.json
{
"organizeImports": {
"ignore": ["scripts/*.js"]
}
}

Biomeは、これらのパターンに一致するファイルやフォルダのみを処理します。 Unixシェル形式のパターンのリストで指定します。

biome.json
{
"organizeImports": {
"include": ["scripts/*.js"]
}
}

例えば、下記のような指定を考えます。

biome.json
{
"organizeImports": {
"include": ["scripts/**/*.js", "src/**/*.js"],
"ignore": ["scripts/**/*.js"]
}
}

パターン src/**/*.js に一致するファイルのみが処理され、パターン scripts/**/*.js に一致するファイルは無視されます。

これらのオプションは、JavaScript(およびTypeScript)ファイルにのみ適用されます。

javascript.parser.unsafeParameterDecoratorsEnabled

Section titled “javascript.parser.unsafeParameterDecoratorsEnabled”

安全でない/実験的なパラメータデコレーターをサポートするようにします。

biome.json
{
"javascript": {
"parser": {
"unsafeParameterDecoratorsEnabled": true
}
}
}

デフォルト: false

true に設定すると、.js ファイルの中でJSX文法をパースすることを許可します。 false に設定すると、.js ファイルの中でJSX文法に遭遇したときにBiomeは診断を出力します。

デフォルト: true

biome.json
{
"javascript": {
"parser": {
"jsxEverywhere": false
}
}
}

文字列リテラルを表現する際に使用する引用符の種類です。 "single" または "double" のいずれかを指定できます。

デフォルト: "double"

JSXの文字列リテラルを表現する際に使用する引用符の種類です。 "single" または "double" のいずれかを指定できます。

デフォルト: "double"

biome.json
{
"javascript": {
"formatter": {
"jsxQuoteStyle": "single"
}
}
}

オブジェクト内のプロパティをいつ引用符で囲むかを指定します、。 "asNeeded" または "preserve" のいずれかを選択できます。

デフォルト: "asNeeded"

biome.json
{
"javascript": {
"formatter": {
"quoteProperties": "preserve"
}
}
}

複数行のカンマ区切りの構文構造で、可能な限り末尾カンマを追加します。可能な値は次の通りです。

  • "all": 末尾カンマが常に追加されます。
  • "es5": 末尾カンマが、古いバージョンのJavaScriptでサポートされている場所にのみ追加されます。
  • "none": 末尾カンマは決して追加されません。

デフォルト: "all"

フォーマッタがセミコロンを出力する場所を指定します。

  • "always": 各ステートメントの末尾に常にセミコロンが追加されます。
  • "asNeeded": セミコロンは必要な場所にのみ追加され、ASIから保護します。

デフォルト: "always"

例:

biome.json
{
"javascript": {
"formatter": {
"semicolons": "asNeeded"
}
}
}

アロー関数に不要な括弧を追加するかどうかを指定します:

  • "always": 括弧が常に追加されます。
  • "asNeeded": 必要な場合にのみ括弧が追加されます。

デフォルト: "always"

JavaScript(およびその拡張言語)ファイル用のBiomeフォーマッタを有効にします。

デフォルト true

JavaScript(およびその拡張言語)ファイルのインデントスタイルです。 "tab" または "space" のいずれかを指定できます。

デフォルト: "tab"

JavaScript(およびその拡張言語)ファイルのインデントサイズを指定します。

デフォルト: 2

JavaScript(およびその拡張言語)ファイルの改行コードの種類を指定します。

  • "lf": Line Feedのみ (\n)、LinuxやmacOS、またはgitリポジトリ内で一般的です。
  • "crlf": Carriage Return + Line Feed文字 (\r\n)、Windowsで一般的です。
  • "cr": Carriage Return文字のみ (\r)、非常にまれに使用されます。

デフォルト: "lf"

JavaScript(およびその拡張言語)ファイルの行の文字数を指定します。

デフォルト: 80

複数行のJSX要素の終了タグ > を最後の属性行に配置するかどうかを指定します。

デフォルト: false

括弧と内部の値の間にスペースを追加するかどうかを指定します。

デフォルト: true

JSX要素における属性の位置スタイルを指定します。

  • "auto": 属性は自動的にフォーマットされ、特定の基準に達したときのみ複数行に折り返されます。
  • "multiline": 属性は常に複数行でフォーマットされます。

デフォルト: "auto"

配列とオブジェクトのリテラルを複数行に展開するかどうかを指定します。

  • "auto": オブジェクトリテラルは最初のプロパティに改行があれば複数行にフォーマットされ、配列リテラルは行に収まる場合は単一行にフォーマットされます。
  • "always": これらのリテラルは長さを問わず複数行にフォーマットされます。
  • "never": これらのリテラルは行に収まる場合は単一行にフォーマットされます。

デフォルト: "auto"

Biomeが無視すべきグローバル名前のリストです。

biome.json
{
"javascript": {
"globals": ["$", "_", "externalVariable"]
}
}

JSXを解釈するために使用されるランタイムまたは変換のタイプを示します。

  • "transparent" — 特別な処理がBiomeによって必要ない、モダンまたはネイティブなJSX環境を示します。
  • "reactClassic"React インポートが必要な古いReact環境を示します。TypeScriptの tsconfig.json における jsx オプションの react 値に対応します。
biome.json
{
"javascript": {
"jsxRuntime": "reactClassic"
}
}

古いJSXランタイムと新しいJSXランタイムについての詳細は、以下をご覧ください。 https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html

デフォルト: "transparent"

JavaScript(およびその拡張言語)ファイル用のBiomeリンタを有効にします。

デフォルト: true

biome.json
{
"javascript": {
"linter": {
"enabled": false
}
}
}

JavaScript(およびその拡張言語)ファイル用のBiomeアシストを有効にします。

デフォルト: true

biome.json
{
"javascript": {
"assist": {
"enabled": false
}
}
}

javascript.experimentalEmbeddedSnippetsEnabled

Section titled “javascript.experimentalEmbeddedSnippetsEnabled”

JavaScript(およびその拡張言語)ファイル内の埋め込み言語スニペットのパースとフォーマットを有効にします。

デフォルト: false

biome.json
{
"javascript": {
"experimentalEmbeddedSnippetsEnabled": true
}
}

JSONファイルに適用されるオプションです。

JSONファイル内のコメントの解析を有効にします。

biome.json
{
"json": {
"parser": {
"allowComments": true
}
}
}

JSONファイル内の末尾カンマの解析を有効にします。

biome.json
{
"json": {
"parser": {
"allowTrailingCommas": true
}
}
}

JSON(およびその拡張言語)ファイル用のBiomeフォーマッタを有効にします。

デフォルト: true

biome.json
{
"json": {
"formatter": {
"enabled": false
}
}
}

JSON(およびその拡張言語)ファイルのインデントスタイルです。 "tab" または "space" のいずれかを指定できます。

デフォルト: "tab"

JSON(およびその拡張言語)ファイルのインデントサイズを指定します。

デフォルト: 2

JSON(およびその拡張言語)ファイルの改行コードの種類を指定します。

  • "lf": Line Feedのみ (\n)、LinuxやmacOS、またはgitリポジトリ内で一般的です。
  • "crlf": Carriage Return + Line Feed文字 (\r\n)、Windowsで一般的です。
  • "cr": Carriage Return文字のみ (\r)、非常にまれに使用されます。

デフォルト: "lf"

JSON(およびその拡張言語)ファイルの行の文字数を指定します。

デフォルト: 80

複数行のカンマ区切りの構文構造で、可能な限り末尾カンマを追加します。

許可される値は次の通りです。

  • "none": 末尾カンマは削除されます。
  • "all": 末尾カンマは保持され、推奨されます。

デフォルト: "none"

括弧と内部の値の間にスペースを追加するかどうかを指定します。

デフォルト: true

配列とオブジェクトのリテラルを複数行に展開するかどうかを指定します。

  • "auto": オブジェクトリテラルは最初のプロパティに改行があれば複数行にフォーマットされ、配列リテラルは行に収まる場合は単一行にフォーマットされます。
  • "always": これらのリテラルは長さを問わず複数行にフォーマットされます。
  • "never": これらのリテラルは行に収まる場合は単一行にフォーマットされます。

package.json をフォーマットする場合、別途設定されない限りBiomeは always を使います。

デフォルト: "auto"

JSON(およびその拡張言語)ファイル用のBiomeのリンタを有効にします。

デフォルト: true

biome.json
{
"json": {
"linter": {
"enabled": false
}
}
}

JSON(およびその拡張言語)ファイル用のBiomeのアシストを有効にします。

デフォルト: true

biome.json
{
"json": {
"assist": {
"enabled": false
}
}
}

CSSファイルに適用されるオプションです。

CSS modules の解析を有効にします。

デフォルト: false

tailwindDirectives, tailwind, tailwind directives, tailwind syntax

Tailwind 固有の構文(@theme@utility@apply など)の解析を有効にします。

デフォルト: false

CSSファイル用のBiomeのフォーマッタを有効にします。

デフォルト: false

biome.json
{
"css": {
"formatter": {
"enabled": false
}
}
}

CSSファイルのインデントスタイルです。 "tab" または "space" のいずれかを指定できます。

デフォルト: "tab"

CSSファイルのインデントサイズを指定します。

デフォルト: 2

CSSファイルの改行コードの種類を指定します。

  • "lf": Line Feedのみ (\n)、LinuxやmacOS、またはgitリポジトリ内で一般的です。
  • "crlf": Carriage Return + Line Feed文字 (\r\n)、Windowsで一般的です。
  • "cr": Carriage Return文字のみ (\r)、非常にまれに使用されます。

デフォルト: "lf"

CSSファイルの行の文字数を指定します。

デフォルト: 80

文字列リテラルを表現する際に使用する引用符の種類です。 "single" または "double" のいずれかを指定できます。

デフォルト: "double"

ファイルの末尾に改行を追加するかどうかを指定します。

デフォルト: true

CSSファイル用のBiomeのリンタを有効にします。

デフォルト: true

biome.json
{
"css": {
"linter": {
"enabled": false
}
}
}

CSSファイル用のBiomeのアシストを有効にします。

デフォルト: true

biome.json
{
"css": {
"assist": {
"enabled": false
}
}
}

GraphQLファイルに適用されるオプションです。

GraphQLファイル用のBiomeのフォーマッタを有効にします。

デフォルト: false

GraphQLファイルのインデントスタイルです。 "tab" または "space" のいずれかを指定できます。

デフォルト: "tab"

GraphQLファイルのインデントサイズを指定します。

デフォルト: 2

GraphQLファイルの改行コードの種類を指定します。

  • "lf": Line Feedのみ (\n)、LinuxやmacOS、またはgitリポジトリ内で一般的です。
  • "crlf": Carriage Return + Line Feed文字 (\r\n)、Windowsで一般的です。
  • "cr": Carriage Return文字のみ (\r)、非常にまれに使用されます。

デフォルト: "lf"

GraphQLファイルの行の文字数を指定します。

デフォルト: 80

文字列リテラルを表現する際に使用する引用符の種類です。 "single" または "double" のいずれかを指定できます。

デフォルト: "double"

ファイルの末尾に改行を追加するかどうかを指定します。

デフォルト: true

GraphQLファイル用のBiomeのリンタを有効にします。

デフォルト: true

GraphQLファイル用のBiomeのアシストを有効にします。

デフォルト: true

Gritファイルに適用されるオプションです。

Gritファイル用のBiomeのフォーマッタを有効にします。

デフォルト: false

Gritファイルのインデントスタイルです。 "tab" または "space" のいずれかを指定できます。

デフォルト: "tab"

Gritファイルのインデントサイズを指定します。

デフォルト: 2

Gritファイルの改行コードの種類を指定します。

  • "lf": Line Feedのみ (\n)、LinuxやmacOS、またはgitリポジトリ内で一般的です。
  • "crlf": Carriage Return + Line Feed文字 (\r\n)、Windowsで一般的です。
  • "cr": Carriage Return文字のみ (\r)、非常にまれに使用されます。

デフォルト: "lf"

Gritファイルの行の文字数を指定します。

デフォルト: 80

文字列リテラルを表現する際に使用する引用符の種類です。 "single" または "double" のいずれかを指定できます。

デフォルト: "double"

ファイルの末尾に改行を追加するかどうかを指定します。

デフォルト: true

Gritファイル用のBiomeのリンタを有効にします。

デフォルト: true

biome.json
{
"grit": {
"linter": {
"enabled": false
}
}
}

Gritファイル用のBiomeのアシストを有効にします。

デフォルト: true

biome.json
{
"grit": {
"assist": {
"enabled": false
}
}
}

有効にすると、BiomeはHTML系言語(Vue、Svelte、Astroファイル)の完全サポートを有効にします。これらのファイル内の埋め込み言語のパース、フォーマット、リントは一貫しています。

無効にすると、BiomeはこれらのファイルのJavaScript/TypeScript部分のみを解析用に抽出し、残りのコンテンツは無視します。

.html ファイル内の {{ expression }} のような二重テキスト式のパースを有効にします。

デフォルト: false

HTMLファイル用のBiomeのフォーマッタを有効にします。

デフォルト: false

HTMLファイルのインデントスタイルです。 "tab" または "space" のいずれかを指定できます。

デフォルト: "tab"

HTMLファイルのインデントサイズを指定します。

デフォルト: 2

HTMLファイルの改行コードの種類を指定します。

  • "lf": Line Feedのみ (\n)、LinuxやmacOS、またはgitリポジトリ内で一般的です。
  • "crlf": Carriage Return + Line Feed文字 (\r\n)、Windowsで一般的です。
  • "cr": Carriage Return文字のみ (\r)、非常にまれに使用されます。

デフォルト: "lf"

HTMLファイルの行の文字数を指定します。

デフォルト: 80

HTML要素の属性位置スタイルを指定します。

  • "auto"、属性は自動的にフォーマットされ、特定の基準に達したときのみ複数行に折り返されます。
  • "multiline"、属性が2つ以上使用されている場合、複数行に折り返されます。

デフォルト: "auto"

複数行のHTMLタグの閉じ括弧を、最後の行の末尾に配置するか、次の行に単独で配置するかを指定します。

デフォルト: false

whitespaceSensitivity, whitespace sensitivity

HTML(およびその拡張言語)をフォーマットする際に、空白の重要性を考慮するかどうかを指定します。

デフォルト: “css”

  • "css": フォーマッタは、ブラウザのユーザーエージェントスタイルシートでデフォルトで “inline” 表示スタイルを持つ要素の空白を重要と見なします。

  • "strict": コンテンツ内の先頭と末尾の空白は、すべての要素にとって重要と見なされます。

    空白が存在する場合、フォーマッタは少なくとも1つの空白文字を残す必要があります。 そうでない場合、空白がない場合は、> の後や < の前に空白を追加しないでください。つまり、空白がない場合、テキストコンテンツはタグに密着する必要があります。

    タグに密着するテキストの例:

    <b
    >content</b
    >
  • "ignore": 空白は重要ではないと見なされます。フォーマッタは適切と判断したときに空白を削除または追加できます。

indentScriptAndStyle, indent script, indent style

2.3以降:.vue および .svelte ファイルにのみ影響します

VueおよびSvelteファイルの <script> および <style> タグのコンテンツをインデントするかどうかを指定します。現在、これはプレーンなHTMLファイルには適用されません。

デフォルト: false

trueの場合、<script> および <style> タグのコンテンツは、タグに対して1レベルインデントされます。

foo.vue
<script>
import Bar from "./Bar.vue";
import Bar from "./Bar.vue";
</script>
selfCloseVoidElements, void elements, self closing elements

void要素を自己閉じタグにするかどうかを指定します。デフォルトはneverです。

デフォルト: "never"

  • "never": void要素内のスラッシュ / はフォーマッタによって削除されます。
  • "always": void要素内のスラッシュ / は常に追加されます。

ファイルの末尾に改行を追加するかどうかを指定します。

デフォルト: true

HTMLファイル用のBiomeのリンタを有効にします。

デフォルト: true

HTMLファイル用のBiomeのアシストを有効にします。

デフォルト: true

パターンのリストです。 この設定を使用して、特定のファイルに対するツールの動作を変更します。 ファイルがオーバーライドパターンに一致すると、そのパターンに指定された設定がトップレベルの設定を上書きします。 パターンの順序は重要です。ファイルが3つのパターンに一致する場合、最初のパターンのみが使用されます。

カスタマイズされた設定を適用するファイルのglobパターンのリストです。

biome.jsonc
{
"overrides": [{
"includes": ["scripts/*.js"],
// includes フィールドで指定されたファイルにのみ適用される設定
}]
}

ignoreinclude を除いた、上位のformatter 設定のオプションが含まれます。

例えば、generated/** のグロブパスに含まれる特定のファイルに対して、フォーマッタの lineWidthindentStyle を変更することが可能です。

biome.json
{
"formatter": {
"lineWidth": 100
},
"overrides": [
{
"include": ["generated/**"],
"formatter": {
"lineWidth": 160,
"indentStyle": "space"
}
}
]
}

ignoreinclude を除いた、上位のlinter 設定のオプションが含まれます。

特定のグロブパスに対しては特定のルールを無効にし、他のグロブパスに対してはリンタを無効にすることができます。

biome.json
{
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"overrides": [
{
"include": ["lib/**"],
"linter": {
"rules": {
"suspicious": {
"noDebugger": "off"
}
}
}
},
{
"include": ["shims/**"],
"linter": {
"enabled": false
}
}
]
}

トップレベルの言語設定のオプションが含まれます。特定のファイルに対して言語固有の設定を上書きできます。

上位のjavascript 設定のオプションが含まれます。

特定のフォルダ内のJavaScriptファイルのフォーマット動作を変更することができます。

biome.json
{
"formatter": {
"lineWidth": 120
},
"javascript": {
"formatter": {
"quoteStyle": "single"
}
},
"overrides": [
{
"include": ["lib/**"],
"javascript": {
"formatter": {
"quoteStyle": "double"
}
}
}
]
}

上位のjson 設定のオプションが含まれます。

特定のJSONファイルに対して解析機能を有効にすることができます。

biome.json
{
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"overrides": [
{
"includes": [".vscode/**"],
"json": {
"parser": {
"allowComments": true,
"allowTrailingCommas": true
}
}
}
]
}

Globパターンは、ファイルとフォルダのパスを一致させるために使用されます。Biomeは globで次の構文をサポートしています:

  • * はゼロ個以上の文字に一致します。パスセパレータ / には一致できません。
  • ** はディレクトリとファイルを再帰的に一致させます。このシーケンスは パスコンポーネント全体として使用する必要があるため、**ab** の両方が無効でエラーになります。連続する2つ以上の * 文字のシーケンスも 無効です。
  • [...] は括弧内の任意の文字に一致します。 文字の範囲も指定できます。Unicodeで順序付けられているため、例えば [0-9] は0から9までの任意の文字を指定します。
  • [!...][...] の否定、つまり括弧内にない任意の文字に一致します。
  • glob全体が ! で始まる場合、いわゆる否定パターンです。この globは、パスがglobに一致_しない_場合にのみ一致します。Negatedパターンは 単独では使用できず、通常のglobの_例外_としてのみ使用できます。
  • ファイルが含まれるかどうかを判断する際、Biomeは親フォルダも考慮します。これは、フォルダ内のすべてのファイルを_含める_場合、 これらのファイルに一致するように /** サフィックスを使用する必要があることを意味します。ただし、フォルダ内のすべてのファイルを_無視_する場合は、/** サフィックスなしで実行できます。不必要にフォルダをトラバースすることを避けるため、また無視されたフォルダから biome.json または .gitignore ファイルをBiomeが読み込むリスクを避けるために、末尾の /** なしでフォルダを無視することをお勧めします。

いくつかの例:

  • dist/**dist/ フォルダとその中のすべてのファイルに一致します。
  • !distdist/ フォルダとその中のすべてのファイルを無視します。
  • **/test/**test という名前のフォルダの下のすべてのファイルに一致します。どこにあっても。例:dist/testsrc/test
  • **/*.js はすべてのフォルダ内の .js 拡張子で終わるすべてのファイルに一致します。