1. ホーム
  2. javascript

[解決済み] prettier-eslint、eslint-plugin-prettier、eslint-config-prettierの違いは何ですか?

2022-04-27 09:23:47

質問

PrettierとESLintを一緒に使いたいのですが、順番に使うだけではコンフリクトが発生してしまいます。この3つのパッケージがあれば、併用できそうですね。

  • prettier-eslint
  • eslint-plugin-prettier
  • eslint-config-prettier

しかし、これらのパッケージ名にはすべて eslintprettier .

どちらを使うべきですか?

どのように解決するのですか?

tl;dr: 使用する eslint-config-prettier それ以外は無視してください。

ESLint には多くのルールが含まれており、書式に関連するものは以下のように Prettier と衝突する可能性があります。 arrow-parens , space-before-function-paren などがあります。したがって、これらを一緒に使用すると、いくつかの問題が発生します。ESLintとPrettierを併用するために、以下のツールを作成しました。

<テーブル prettier-eslint eslint-plugin-prettier eslint-config-prettier 内容 1つの関数をエクスポートするJavaScriptモジュール。 ESLintプラグイン。 ESLintの設定です。 何をするものなのか コード(文字列)を prettier では eslint --fix . また、出力は文字列です。 プラグインは通常、ESLintがチェックする追加ルールの実装を含んでいます。このプラグインは、Prettierを内部で使用しており、あなたのコードがPrettierの期待する出力と異なる場合、ESLintのエラーを発生させます。 この設定は、Prettierと衝突する可能性のある書式関連のルールをオフにし、Prettierと他のESLint設定(例えば eslint-config-airbnb . 使用方法 コード内で関数を呼び出すか、または prettier-eslint-cli コマンドラインを使用する場合 に追加してください。 .eslintrc . に追加してください。 .eslintrc . 最終的な出力はPrettierに準拠しているか? ESLintの設定に依存します はい はい を実行する必要がありますか? prettier コマンドは別途必要ですか? いいえ いいえ はい 他に何か必要なものはありますか? いいえ を使用して、競合するルールをオフにしたい場合があります。 eslint-config-prettier . いいえ

詳しくは Prettier公式ドキュメント .

書式設定はPrettierに任せ、書式設定以外の問題はESLintに任せるのが推奨されるやり方です。 prettier-eslint はその実践とは方向性が違うので、そのため prettier-eslint はもう推奨されません。そのため eslint-plugin-prettiereslint-config-prettier を一緒に使う。