Help us understand the problem. What is going on with this article?

ESLintについてのメモ

More than 5 years have passed since last update.

ESLint についてのメモ

The pluggable linting utility for JavaScript

JSHintJSLintはユーザ独自のルールを追加することはできないけれど、ESLintは完全に全てのルールがプラガブルになるようデザインされている。

Install

$ npm install -g eslint

Usage

$ eslint -h
eslint [options] file.js [file.js] [dir]

Options:
  -h, --help                 Show help.
  -c, --config path::String  Load configuration data from this file.
  --rulesdir path::String    Load additional rules from this directory.
  -f, --format String        Use a specific output format. - default: stylish
  -v, --version              Outputs the version number.
  --reset                    Set all default rules to off.
  --eslintrc                 Enable loading .eslintrc configuration. - default: true

Configure

ルールを設定する方法は2つ。
- JavaScriptファイルに直接コメントで記述
- 設定を記述したJSONYAMLのファイルを利用する(デフォルトでは.eslintrc)

設定できる情報は以下の構成。
- Environments : スクリプトの実行環境。Environmentsの設定値に従ってその環境のデフォルトで有効なグローバル変数とルールが設定される。
- Globals : 実行時に追加するグローバル変数。
- Rules : 有効にされているルールとエラーレベルのルール。

Environments

設定ファイルでのみ定義できる。使用可能なenvironmentsの値は以下。

  • browser : ブラウザのグローバル変数
  • node : nodeのグローバル変数とnode特有のルール
  • amd : define()require()をグローバル変数として定義
  • mocha : mochaのグローバル変数

envキーを使って、有効にしたい環境をtrueに設定する。

{
  "env": {
    "browser": true,
    "node": true
  }
}

YAML形式であれば

---
  env:
    browser: true
    amd: true

Globals

特定のグローバル変数を許可する場合、JSファイルの中にコメントを記述する形でも設定ファイルに記述する形でも、どちらでもよい。

/*global var1, var2*/

falseにすると書き込み禁止(読み取り専用)にもできる。

/*global var1:false, var2:false*/

設定ファイルに記述する場合も同様。globalsキーを使って記述する。

{
    "globals": {
        "var1": true,
        "var2": false
    }
}

Rules

ESLintは、デフォルトで有効なルールとデフォルトで無効なルールとで構成されている。ルールはJSファイルにコメント記述でも設定ファイルに記述でも、変更できる。

設定するには、ルールのIDに対して
- 0 : 無効にする
- 1 : 有効にする(警告)
- 2 : 有効にする(エラー)

ESLintのルールについては、公式サイトにドキュメントがある。
JSファイルにコメントで記述する場合は以下のように記述する。

/*eslint eqeqeq:0, curly: 2*/

設定ファイルに記述する場合は、rulesキーを用いて記述する。

{
    "rules": {
        "eqeqeq": 0,
        "curly": 2,
        "quotes": [2, "double"]
    }
}

なお、デフォルト有効のルールはすべて2に設定されている。

Links

makotot
medley
医療ヘルスケア分野の課題を解決する
https://www.medley.jp/
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした