Flowlint Comments
Configuring lint settings with flowlint
comments allows you to specify different settings within a file and different settings to different regions of different files. These comments come in three forms:
In all forms, whitespace and asterisks between words are ignored, allowing for flexible formatting.
flowlint
The basic flowlint
comment takes a comma-delimited list of rule:severity
pairs and applies those settings for the rest of the source file until overridden. This has three primary purposes: applying settings over a block, applying settings over a file, and applying settings over part of a line.
settings over a block of code: A pair of flowlint
comments can be used to apply a certain setting over a block of code. For example, to disabling the untyped-type-import lint over a block of type imports would look like this:
import type { // flowlint untyped-type-import:off Foo, Bar, Baz, // flowlint untyped-type-import:error } from './untyped.js';
settings over a file: A flowlint
comment doesn’t have to have a matching comment to form a block. An unmatched comment simply applies its settings to the rest of the file. You could use this, for example, to suppress all sketchy-null-check lints in a particular file:
// flowlint sketchy-null:off ...
settings over part of a line: The settings applied by flowlint
start and end right at the comment itself. This means that you can do things like
function (a: ?boolean, b: ?boolean) { if (/* flowlint sketchy-null-bool:off */a/* flowlint sketchy-null-bool:warn */ && b) { ... } else { ... } }
if you want control at an even finer level than you get from the line-based comments.
flowlint-line
A flowlint-line
comment works similarly to a flowlint
comment, except it only applies its settings to the current line instead of applying them for the rest of the file. The primary use for flowlint-line
comments is to suppress a lint on a particular line:
function (x: ?boolean) { if (x) { // flowlint-line sketchy-null-bool:off ... } else { ... } }
flowlint-next-line
flowlint-next-line
works the same as flowlint-line
, except it applies its settings to the next line instead of the current line:
function (x: ?boolean) { // flowlint-next-line sketchy-null-bool:off if (x) { ... } else { ... } }
© 2013–present Facebook Inc.
Licensed under the MIT License.
https://flow.org/en/docs/linting/flowlint-comments