🦔

最近の ESLint とかの構成2021

2021/04/06に公開
1

みんな好きな構成を好きなように入れれば良いと思ってるけど、自分が最近やってるやつを雑に紹介する。

シンプルな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

このへんの設定もランタイムなどに応じて好きにしよう(たとえばenvnode: 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

70_1070_10

package.jsonのscriptsにある、"fix:eslint": "lint:eslint --fix"ですが、

"fix:eslint": "npm run lint:eslint --fix"
もしくは
"fix:eslint": "yarn lint:eslint --fix"

でないと実行できなかったですね。