メインコンテンツにスキップ

Flowlint コメント

ファイル内でより詳細なリンティング設定を指定するために flowlint コメントを使用できます。これらのコメントには 3 つの形式があります。

すべての形式において、単語間の空白およびアスタリスクは無視され、柔軟なフォーマットが許可されます。

flowlint

基本的な flowlint コメントには、rule:severity ペアのコンマ区切りリストが入り、オーバーライドされるまで送信ファイルの残りの部分に対して設定が適用されます。これには3つの主要な目的があります。ブロック全体に設定を適用する、ファイル全体に設定を適用する、行の一部に設定を適用する。

コードブロック全体の設定: flowlint コメントのペアを使用して、コードブロック全体で特定の設定を適用できます。たとえば、型インポートのブロック全体で型なし型インポートの lint を無効にするには、次のようになります。

import type {
// flowlint untyped-type-import:off
Foo,
Bar,
Baz,
// flowlint untyped-type-import:error
} from './untyped.js';

ファイル全体の設定: flowlint コメントは、ブロックを形成するために一致するコメントを持つ必要はありません。一致しないコメントは、単にその設定をファイルの残りの部分に適用します。たとえば、これを使用すると、特定のファイルで sketchy-null-check lint のすべてを抑制できます。

// flowlint sketchy-null:off
...

行の一部に対する設定: flowlint によって適用される設定は、コメント自体から始まり、そこで終わります。つまり、次のように行うことができます。

function foo(a: ?boolean, b: ?boolean) {
if (/* flowlint sketchy-null-bool:off */a/* flowlint sketchy-null-bool:warn */ && b) {
...
} else {
...
}
}

行ベースのコメントから得られるよりもさらに細かいレベルで制御が必要な場合。

flowlint-line

flowlint-line コメントは flowlint コメントと同様に機能しますが、ファイルの残りの部分ではなく現在の行にのみその設定が適用されます。flowlint-line コメントの主な用途は、特定の行で lint を抑制することです。

function foo(x: ?boolean) {
if (x) { // flowlint-line sketchy-null-bool:off
...
} else {
...
}
}

flowlint-next-line

flowlint-next-lineflowlint-line と同じように機能しますが、現在の行ではなく次の行に設定を適用します。

function foo(x: ?boolean) {
// flowlint-next-line sketchy-null-bool:off
if (x) {
...
} else {
...
}
}