Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
138
Help us understand the problem. What is going on with this article?
@nju33

ESLintのコメントでのルール制御

More than 3 years have passed since last update.

大まかには.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;
138
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
nju33
① JavaScript (TypeScript) ② Bash ③ Rust な感じでやってます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
138
Help us understand the problem. What is going on with this article?