大まかには.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;