🦔
最近の ESLint とかの構成2021
みんな好きな構成を好きなように入れれば良いと思ってるけど、自分が最近やってるやつを雑に紹介する。
シンプルなTypeScriptのプロジェクトを想定している。
npm install --save-dev eslint prettier typescript eslint-config-prettier @typescript-eslint/parser @typescript-eslint/eslint-plugin npm-run-all
他にもそれぞれ好きな ESLint プラグインを入れよう(たとえば React プロジェクトの場合は eslint-plugin-react)。
.eslintrc.yml
env:
es2020: true
parser: "@typescript-eslint/parser"
extends:
- eslint:recommended
- plugin:@typescript-eslint/recommended
- prettier
このへんの設定もランタイムなどに応じて好きにしよう(たとえばenv
にnode: true
をいれる)。
package.json
{
"scripts":
"lint": "run-p lint:*",
"lint:tsc": "tsc --noEmit",
"lint:prettier": "prettier --check .",
"lint:eslint": "eslint --ext .ts src",
"fix": "run-s fix:*",
"fix:prettier": "prettier -w .",
"fix:eslint": "npm run lint:eslint --fix"
}
}
以上。あとはお好みで好きなルールやプラグインを有効にしたり無効にしたりしよう。
Discussion
package.jsonのscriptsにある、
"fix:eslint": "lint:eslint --fix"
ですが、"fix:eslint": "npm run lint:eslint --fix"
もしくは
"fix:eslint": "yarn lint:eslint --fix"
でないと実行できなかったですね。