コンテンツにスキップ

設定

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.0.0-beta/schema.json"
}

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

biome.json
{
"extends": ["./biome.base.json"]
}

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

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

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

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

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

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

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

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

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

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

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

デフォルト: false

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

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

デフォルト: false

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

値:

  • "git"

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

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

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

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

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

デフォルト: true

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

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

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

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

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

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

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

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

デフォルト: 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

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

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

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

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

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

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

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

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

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

デフォルト: false

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

デフォルト: "tab"

このオプションは廃止されました。代わりに formatter.indentWidth を使用してください。

廃止されました

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

デフォルト: 2

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

デフォルト: 2

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

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

デフォルト: "lf"

行の文字数を指定します。

デフォルト: 80

HTML言語(あるいはHTMLベースの言語)における属性の位置スタイルを指定します。

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

デフォルト: "auto"

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

デフォルト: true

フォーマットのオプションを導出するために .editorconfig ファイルを利用するかを指定します。 true の場合、.editorconfig ファイルの中の適用可能なオプションが利用されますが、biome.json ファイルの設定が優先されます。

biome migrate でPrettierから移行する場合、このオプションはPrettierの動作と一致させるため true に設定されます。

デフォルト: 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"

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
}
}
}

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

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

  • "followSource": すでに複数行にあった場合と、単一行に収まらない場合に、配列とオブジェクトのリテラルは複数行にフォーマットされます。
  • "always": リストの長さに関わらず、配列とオブジェクトのリテラルは複数行にフォーマットされます。

デフォルト: "followSource"

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

デフォルト: true

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

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

デフォルト: true

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

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

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

デフォルト: 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"

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

デフォルト: false

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

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

デフォルト: false

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"

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

デフォルト: false

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

デフォルト: false

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"

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

デフォルト: false

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

デフォルト: false

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

Unixシェル形式のパターンのリストです。Biomeは、これらのパターンに一致するファイルに対してオーバーライドを適用しません。

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

Unixシェル形式のパターンのリストです。Biomeは、これらのパターンに一致するファイルにのみオーバーライドを適用します。

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

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
}
}
]
}

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

上位の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": [
{
"include": [".vscode/**"],
"json": {
"parser": {
"allowComments": true,
"allowTrailingCommas": true
}
}
}
]
}