コンテンツにスキップ

設定

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/1.9.4/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のlinterを有効にします。

デフォルト: true

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

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

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

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

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

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

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

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

デフォルト: true

すべてのグループに対して、すべての ルール を有効または無効にします。

recommendedall が両方 true の場合、Biomeは診断情報を出力し、デフォルトにフォールバックします。

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

このフラグを組み合わせて、異なるルールグループを有効または無効にすることもできます。

biome.json
{
"linter": {
"enabled": true,
"rules": {
"all": true,
"style": {
"all": false
},
"complexity": {
"all": false
}
}
}
}

前述の例では、Biomeはすべてのルールを有効にしますが、 style および complexity グループに属するルールは除外されます。

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

  • accessibility: Rules focused on preventing accessibility problems.
  • complexity: Rules that focus on inspecting complex code that could be simplified.
  • correctness: Rules that detect code that is guaranteed to be incorrect or useless.
  • nursery: New rules that are still under development. Nursery rules require explicit opt-in via configuration on stable versions because they may still have bugs or performance problems. They are enabled by default on nightly builds, but as they are unstable their diagnostic severity may be set to either error or warning, depending on whether we intend for the rule to be recommended or not when it eventually gets stabilized. Nursery rules get promoted to other groups once they become stable or may be removed. Rules that belong to this group are not subject to semantic version.
  • performance: Rules catching ways your code could be written to run faster, or generally be more efficient.
  • security: Rules that detect potential security flaws.
  • style: Rules enforcing a consistent and idiomatic way of writing your code.
  • suspicious: Rules that detect code that is likely to be incorrect or useless.
  • linter.rules.[group].recommended

    Section titled linter.rules.[group].recommended

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

    例:

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

    特定のグループのすべてのルールを有効にします。

    例:

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

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

    Biomeのformatterを有効にします。

    デフォルト: true

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

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

    Biomeのformatterは、これらのパターンに一致するファイルやフォルダのみを処理します。 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": 属性は自動的にformatされ、特定の基準に達したときのみ複数行に折り返されます。
    • "multiline": 属性は常に複数行でformatされます。

    デフォルト: "auto"

    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

    javascript.formatter.quoteStyle

    Section titled javascript.formatter.quoteStyle

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

    デフォルト: "double"

    javascript.formatter.jsxQuoteStyle

    Section titled javascript.formatter.jsxQuoteStyle

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

    デフォルト: "double"

    javascript.formatter.quoteProperties

    Section titled javascript.formatter.quoteProperties

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

    デフォルト: "asNeeded"

    javascript.formatter.trailingComma

    Section titled javascript.formatter.trailingComma

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

    廃止されました

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

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

    デフォルト: "all"

    javascript.formatter.trailingCommas

    Section titled javascript.formatter.trailingCommas

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

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

    デフォルト: "all"

    javascript.formatter.semicolons

    Section titled javascript.formatter.semicolons

    formatterがセミコロンを出力する場所を指定します。

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

    デフォルト: "always"

    例:

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

    javascript.formatter.arrowParentheses

    Section titled javascript.formatter.arrowParentheses

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

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

    デフォルト: "always"

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

    デフォルト true

    javascript.formatter.indentStyle

    Section titled javascript.formatter.indentStyle

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

    デフォルト: "tab"

    javascript.formatter.indentSize

    Section titled javascript.formatter.indentSize

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

    廃止されました

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

    デフォルト: 2

    javascript.formatter.indentWidth

    Section titled javascript.formatter.indentWidth

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

    デフォルト: 2

    javascript.formatter.lineEnding

    Section titled javascript.formatter.lineEnding

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

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

    デフォルト: "lf"

    javascript.formatter.lineWidth

    Section titled javascript.formatter.lineWidth

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

    デフォルト: 80

    javascript.formatter.bracketSameLine

    Section titled javascript.formatter.bracketSameLine

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

    デフォルト: false

    javascript.formatter.bracketSpacing

    Section titled javascript.formatter.bracketSpacing

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

    デフォルト: true

    javascript.formatter.attributePosition

    Section titled javascript.formatter.attributePosition

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

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

    デフォルト: "auto"

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

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

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

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

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

    デフォルト: "transparent"

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

    デフォルト: true

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

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

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

    json.parser.allowTrailingCommas

    Section titled json.parser.allowTrailingCommas

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

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

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

    デフォルト: true

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

    デフォルト: "tab"

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

    廃止されました

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

    デフォルト: 2

    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"

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

    デフォルト: true

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

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

    デフォルト: false

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

    デフォルト: 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のlinterを有効にします。

    デフォルト: false

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

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

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

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

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

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

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

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

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

    特定のグロブパスに対しては特定のルールを無効にし、他のグロブパスに対しては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
    }
    }
    }
    ]
    }