PrettierとESLintを一緒に使用したいのですが、次々に使用するだけでいくつかの競合が発生しました。タンデムで使用できるように見えるこれらの3つのパッケージがあることがわかります。
prettier-eslint
eslint-plugin-prettier
eslint-config-prettier
ただし、これらのパッケージ名にはすべてeslint
とprettier
が含まれているため、どちらを使用するかはわかりません。
どちらを使うべきですか?
ESLintには多くのルールが含まれており、フォーマット関連のルールは、arrow-parens
、space-before-function-paren
などのPrettierと競合する可能性があります。したがって、それらを一緒に使用するといくつかの問題が発生します。 ESLintとPrettierを一緒に使用するために、次のツールが作成されました。
Stack Overflowはテーブルのフォーマットをサポートしていないため、要点で 表形式での比較 を作成しました。あなたがより多くの組織を好むなら、それをチェックしてください。
prettier-eslint
:prettier
を実行してから、コードに対してeslint --fix
を実行します。 eslint
には通常、フォーマット関連のルールの自動修正があり、eslint --fix
はPrettierによって導入された競合するフォーマットを修正できます。 prettier
コマンドを個別に実行する必要はありません。
eslint-plugin-prettier
:これはESLintプラグインです。つまり、ESLintがチェックする追加ルールの実装が含まれています。このプラグインは内部でPrettierを使用し、コードがPrettierの予想出力と異なる場合に問題が発生します。これらの問題は、--fix
を介して自動的に修正できます。このプラグインを使用すると、prettier
コマンドを個別に実行する必要はありません。コマンドはプラグインの一部として実行されます。このプラグインはフォーマット関連のルールをオフにしません。手動で、またはeslint-config-prettier
を介してこのようなルールの競合が発生した場合は、オフにする必要があります。
eslint-config-prettier
:これはESLint構成であり、ルールの構成が含まれています(特定のルールがオン、オフ、または特別な構成であるかどうか)。この構成では、Prettierと競合する可能性のあるフォーマット関連のルールをオフにすることで、 eslint-config-airbnb
などの他のESLint構成でPrettierを使用できます。この構成では、Prettierがコードをフォーマットした後にESLintが文句を言わないので、prettier-eslint
を使用する必要はありません。ただし、prettier
コマンドを個別に実行する必要があります。
これが違いをまとめることを願っています。
更新:prettier-eslint
は推奨されなくなり、eslint-plugin-prettier
とeslint-config-prettier
を一緒に使用できます。