コンテンツにスキップ

Linter

Biomeのlinterはあなたのコードを静的に分析し、典型的なエラーを検出して、より自然なコードを書く手助けをします。 複数の言語をサポートし、全部で300 個のルールを提供しています。

CLI経由でlinterを使用する

Section titled CLI経由でlinterを使用する

CLIから以下のコマンドを実行することで、エラーを検出できます:

Terminal window
biome lint ./src

オプションの詳細については、CLIページを参照してください。

私たちは、ただルールを指示的に指摘するのではなく、なぜそのルールがトリガーされた理由をユーザーに説明し、エラーを修正する方法をユーザーに伝えることが大切だと考えています。ルールは以下のような重要な要素に沿って選定されています:

  1. ユーザーに対してエラーの説明を行います。これは基本的に診断のメッセージです。
  2. 次に、ユーザーに対してエラーがトリガーされた理由を説明します。これは基本的に追加のノードで実装されます。
  3. 最後にユーザーに何をすべきかを伝えます。これは基本的にコードアクションを使用して実装されます。コードアクションが適用できない場合は、ノートでユーザーに何をすべきかを伝えます。

もしルールがこれらの要素に従っていないと感じたのであれば、イシューを作成してください。

lintルールは自動的なコード修正を提供する場合があります。Biomeでは、2種類の修正を区別しています。

安全な修正(Safe fixes)

Section titled 安全な修正(Safe fixes)

安全な修正は、コードのセマンティクスを変更しないことが保証されています。明示的なレビューなしに適用できます。

安全な修正 を適用するには、--writeを使用します:

Terminal window
biome check --write ./src

安全ではない修正(Unsafe fixes)

Section titled 安全ではない修正(Unsafe fixes)

安全ではない修正は、プログラムのセマンティクスを変更する可能性があります。そのため、変更を手動でレビューすることをおすすめします。

安全ではない修正 を適用するには、--write --unsafeを使用します:

Terminal window
biome check --write --unsafe ./src

linterが有効になっている場合、いくつかのルールが推奨されます。推奨ルールはエラー診断を発行します。推奨ルールの一覧は以下に記載されています:

特定のコード行に対するlintを無視したい場合があります。
これは、linterが指摘している行の上に抑制コメントを追加することで実現できます。

抑制コメントは、以下の形式で記述します:

// biome-ignore lint: <explanation>
// biome-ignore lint/suspicious/noDebugger: <explanation>

ここで

  • biome-ignore:抑制コメントの開始を表します;
  • lint:はlinterを抑制することを表します;
  • /suspicious/noDebugger任意 抑制したいルールのグループと名前を表します;
  • <explanation>:ルールが無効になっている理由を表します;

例:

// biome-ignore lint: reason
debugger;
// biome-ignore lint/suspicious/noDebugger: reason
debugger;

推奨されるルールはデフォルトで有効になっており、エラーの重大度で診断を発行します。
推奨されないルールはデフォルトで無効になっていますが、設定を通じて有効にすることができます。
これらのルールによって発行される診断は、ドキュメント内で警告の重大度で表示されます。

ルールを有効にするには、診断の重大度を必要に応じて変更する必要があります:

{
"linter": {
"enabled": true,
"rules": {
"style": {
"useBlockStatements": "error",
"useShorthandArrayType": "error",
"noShoutyConstants": "warn"
}
}
}
}

ルールを無効化するには無効にしたい設定の項目に"off"という値を追加します。
例:

{
"linter": {
"enabled": true,
"rules": {
"suspicious": {
"noCommentText": "off"
},
"style": {
"noUnusedTemplateLiteral": "off"
}
}
}
}

Biomeのほとんどのルールはエラーを発行しますが、その重大度は自由に変更することができます。
ルールの値として"warn"を追記することで変更が適用されます。
例:

{
"linter": {
"enabled": true,
"rules": {
"suspicious": {
"noCommentText": "warn"
}
}
}
}

これは、リファクタリングが行われている最中や、CIをパスする必要がある場合に便利です。

いくつかのルールには、より詳細な設定があります。
ルールに詳細な設定がある場合、ルールの値を変更することで指定できます。

{
"linter": {
"enabled": true,
"rules": {
"correctness": {
"noCommentText": {
"level": "warn",
"options": {}
}
}
}
}
}
  • level は診断の重大度を示し、有効な値は"off""warn""error"です;
  • options はルールに基づいて変更されます。