コンテンツにスキップ

Prettier と ESLint

はじめに

このウェブサイトを構築する際、僕は PrettierESLint の併用について混乱していた。関連資料を調べた後、プロジェクトの README.md に次のように記録した:

Prettier の機能は ESLint と競合しているか?

コード品質を向上させるためのツールを設定する過程で、僕はインポート、プロパティ、Tailwind CSS のクラス名のソートを処理するために、Prettier と ESLint のどちらを使うべきか迷っていた。

prettier-plugin-tailwindcssprettier-plugin-sort-imports のような Prettier プラグインで対応できるが、僕はそれらを「ベストプラクティス」とは考えていない。

この GitHub Issue とこの Reddit の投稿 で議論されているように、ソートは副作用を引き起こす可能性がある。したがって、ソートは ESLint で処理する方が適している。

さらに、Prettier は誤った順序について警告してくれないが、ESLint は警告してくれる。これこそが Linter が本来すべきことだからだ。

再考

なぜ Prettier を使わないのか の記述によれば、Prettier と ESLint は確かに「生活を簡単にしてくれない」。むしろ、それらの競合を処理するために、より多くの時間を費やして設定する必要がある。

だから今後は、すべてのコードフォーマットの問題を ESLint で処理することを考えている。