パッケージ直下に .eslintrc.json
ファイルを作って、そこに文法チェックのルールを書いて使う。
eslint:recommended
... ルールを自分で書かなくても、いい感じにチェックしてくれるようになる。
env.node = true
... Node.js用にチェックする。(備考: ブラウザ向けなら env.browser
)
env.es6 = true
... ES6 (2015) 用にチェックする。これを指定しないと、Promise
が定義されてない ('Promise' is not defined.) 扱いされてしまった。
parserOptions.ecmaVersion = 2017
... async/await
を使いたかったので。
rules.no-console = off
... これを指定しないと、console
が定義されてない ('console' is not defined.) 扱いされてしまった。
rules.indent = ["error", "tab", {"SwitchCase": 1}]
... インデントはタブ、switch
内もひとつ下げる (デフォルトだと、むしろ下げたらエラーらしい)。
rules.semi = ["error", "always"]
... 文末のセミコロン強制!!
細かいことは公式のドキュメントを読もう
List of available rules - ESLint - Pluggable JavaScript linter
ところでJavaScriptのインデントって、スペース2個が主流らしいんだけど、個人的には狭くて読みにくくて嫌。
なんでだろう?? スペース2個なら rules.indent
は ["error", 2, {"SwitchCase": 1}]
になる。しばらくこれでやってみれば解るのかな……。
eslint --init
eslint --init
すると、質問に答えていい感じの設定を作ってくれる!
これで作られた .eslintrc.json
がこう↓
VSCodeでESLintが動かない時は
以下記事にまとめました
VisualStudioCodeのESLint拡張機能が動かない気がする時に確認したこと - キリウ君が読まないノート