ローカル開発用に異なる eslint ルールを作成する 質問する

ローカル開発用に異なる eslint ルールを作成する 質問する

ここにやる気が出る例を挙げましょう。私はコードを開発していて、何が間違っているのかを知りたいので、

function foo() {
    console.log("Look its 2016 and I'm still printf debugging");
}

ただし、ビルド プロセスでは、ビルド システムの一部として esLint が実行され、設計上、esLint が失敗した場合はビルド パイプラインの残りの部分も実行されません。error Unexpected console statement no-console

dev私が実際に望んでいるのは、特定のルールがオフになっている(または警告に変換されている)環境を設定し、次にproduction厳格なルールがオンになっている環境を設定することです。そして、それをローカルで簡単に切り替えて、CI サーバーに送信する前にコードが機能することを確認できるようにしたいと考えています。

これを実現するための関連コード スニペットが見つからないので残念です。私のビルド環境はnpmスクリプトのみです (esLint CLI + package.json のみを使用) が、別のビルド環境からソリューションを移植できれば幸いです。

現時点では、// eslint-disable-lineローカルで.eslintrcファイルを変更して、それを誤ってチェックインしないように祈るしかありません。もっと良い方法があるはずです。

ベストアンサー1

ルールを分岐するNODE_ENV

.jseslint config ( ) のバージョンを使用して、変数eslintrc.jsに基づいてルールを分岐することができます。NODE_ENV

eslintrc.js

rules: {
 
  'no-console':
    process.env.NODE_ENV === 'production'
      ? 'error'
      : 'warn'

}

スクリプトpackage.json:

"scripts": {
  "lint": "eslint",
  "lint:prod": "NODE_ENV=production eslint"
}

ルールの 1 つのバージョンを使用し、CI はもう 1 つのバージョンを使用します ( NODE_ENVCI が に設定されていると仮定production)。

おすすめ記事