大まかには.eslintrcに書いとけばいいが、ファイルや特定の場合によって個別にルールを無効にしたい時がちょこちょこある。その辺をコメントで解決できる方法がいくつかあるのでまとめ。
ファイル全体
例えばこのコードはno-unused-varsというルールの警告を受けるが、
const a = 1;
こうすれば回避できる。
/* eslint no-unused-vars: 0 */
const a = 1;
注意点として必ず/* */で囲む事。また、ルールは,で区切って複数指定できます。
/* eslint ... */で書いたものは、そのファイル全体で有効になるので、こうすると再度有効になってaにもbにも警告を受ける。
/* eslint no-unused-vars: 0 */
const a = 1;
/* eslint no-unused-vars: 2 */
const b = 2;
ちなみに設定の数値はそれぞれ、
0="off"1="warn"2="error"という意味です。
特定の行のあるルールを無効に
以下のルールが使える。これらはルール名を指定しないとすべてを無効にし、指定するばそれだけ無効にする。ルールは,で区切って複数指定できます。
eslint-disable-next-line <...rule>
無効にしたい行の前の行に書く。以下はbだけが警告される。
注意点として必ず//記法を使う事。
// eslint-disable-next-line no-unused-vars
const a = 1;
const b = 1;
eslint-disable-line <...rule>
無効にしたい行と同じ行に書く。以下もbだけが警告される。
注意点として必ず//記法を使う事。
const a = 1; // eslint-disable-line no-unused-vars
const b = 1;
eslint-disable <...rule>とeslint-enable
これは行というより範囲だけど。2つの間のルールが無効になる。以下もbだけが警告される。
注意点として必ずどちらも/* */記法を使う事。
/* eslint-disable no-unused-vars */
const a = 1;
/* eslint-enable no-unused-vars */
const b = 1;
eslint-enableは指定したルールだけ戻す感じで、何も指定しなければすべて戻すことができる。
/* eslint-disable no-unused-vars, no-unused-expressions */
const a = 1;
() => {};
/* eslint-enable */
const b = 1;