ESLint と Prettier を併用する
先日 TypeScript プロジェクトに ESLint を導入 したのに加え、 Prettier をコードフォーマッタとして導入したのでそのときのメモです。
Prettier · Opinionated Code Formatter
インストール
Prettier 本体に加えて、 eslint 用のプラグインも併せてインストールします。
$ npm install --save-dev prettier eslint-plugin-prettier eslint-config-prettier
# インストールされたバージョン
├── eslint-config-prettier@6.12.0
├── eslint-plugin-prettier@3.1.4
└── prettier@2.1.2
パッケージ名ではわかりづらいですが、うしろの2つには以下の違いがあるようです。
eslint-plugin-prettier
... Prettier を ESLint ルールとして動作させるためのプラグインeslint-config-prettier
... Prettier と競合する ESLint ルールを無効化するための設定集
設定
.eslintrc.js
の extends に以下を追加します。
他のルールを override するため、末尾に設定を追加する必要があります。
extends: [
... 既存の設定 ...
"prettier",
"prettier/@typescript-eslint",
"prettier/react",
],
これで通常通り eslint を実行すれば、 prettier の設定が適用されます。
不必要な設定のチェック
不必要な設定をチェックするツールを eslint-config-prettier
が提供してくれています。
$ npx eslint --print-config {.eslintrcのパス} | npx eslint-config-prettier-check