PrettierとESLintを一緒に使いたいのですが、次々と使うだけでコンフリクトが発生しました。タンデムで使用できるように見える次の3つのパッケージがあることがわかります。
prettier-eslint
eslint-plugin-prettier
eslint-config-prettier
しかし、私はすべて含まれているこれらのパッケージ名として使用するか不明だeslint
とprettier
。
どちらを使うべきですか?
回答:
ESLintは多くのルールが含まれていますし、書式設定に関連しているもののようなきれいでかもしれないが競合し、それらのarrow-parens
、space-before-function-paren
などしたがってそれらを一緒に使用すると、いくつかの問題が発生します。以下のツールは、ESLintとPrettierを一緒に使用するために作成されました。
私が書いた表形式で比較スタックオーバーフローの書式のテーブルをサポートしていないため、要旨では。あなたがより多くの組織を好むならば、それをチェックしてください。
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構成であり、ルールの構成が含まれています(特定のルールがオン、オフ、または特別な構成であるかどうか)。この構成eslint-config-airbnb
により、Prettierと競合する可能性のあるフォーマット関連のルールをオフにするなど、他のESLint構成でPrettierを使用できます。このprettier-eslint
構成では、Prettierがコードをフォーマットした後、ESLintが文句を言わないため、使用する必要はありません。ただし、prettier
コマンドは個別に実行する必要があります。
これが違いを要約することを願っています。
更新:Prettierにフォーマットを処理させ、フォーマット以外の問題についてprettier-eslint
はESLintを処理させるprettier-eslint
ことをお勧めしますが、その方法と同じ方向ではないため、推奨されなくなりました。あなたは使用することができるeslint-plugin-prettier
とeslint-config-prettier
一緒に。
eslint-config-prettier
、なぜもっときれいに実行する必要があるのですか?eslint --fix
よりきれいな方法でコードをフォーマットしませんか?