4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

eslint-plugin-prettier って generally not recommended だったのか

Posted at

背景

手元のアプリで npm audit したら万単位で脆弱性がレポートされてきたので、そろそろ package-lock.json を再作成しようか…とやってみたところ、 prettier のルール違反が消えなくなってしまった。正確には、 prettier の警告にしたがって修正したら eslint(prettier/prettier) のエラーが出て、そちらを直したら元の prettier エラーになってしまうという conflict 状態。なんでかいな、とググったら…

「eslint で prettier 実行」はお勧めではない(generally not recommended)

見つけたのが この記事。 Prettier 公式が

  • prettier と eslint を組み合わせて使うなら、 prettier はコード・フォーマッターに、 eslint は静的解析に各々専念させたほうがよい
  • eslint-plugin-prettier などのような「eslint から prettier を実行するような連携方法」はお勧めではない

という趣旨のことを明言しちゃってるんですよね。 eslint-plugin-prettier を使うやり方しか知らなかったのでびっくりしました。

実践

  • eslint-plugin-prettier 使うのやめます。 prettier-eslint-cli もやめます。
  • prettier そのものは VSCode のプラグインとして常に裏で動くようにしておきます(いちいち意識しなくても済むように)。
  • lint-staged で実行されるコマンドに prettier --write --ignore-unknown を加えます。
  • .prettierignore ファイルを作ります。中身は .gitignore と同じでよいです。
  • CI 環境があるときは、 npm test の前に prettier --check . するようにします。

参考

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?