2016-06-18 4 views
2

に異なるeslintルールを作成すると、動機例ですesLintが失敗した場合でも、ビルドシステムとバイスデザインによってビルドパイプラインの残りの部分が実行されることはありません。 error Unexpected console statement no-consoleここでは地域開発

私が効果的にしたいことは、一定のルールがオフ(または警告に変換)した後、厳格な規則とproduction環境がオンになっているdev環境を設定することです。そして私は簡単にそれをローカルに切り替えることができるようにしたいので、私のコードがCIサーバーに送信される前に動作することを確認できます。

これを行うための関連するコードスニペットを見つけることができません。これは悲しいことです。私のビルド環境はnpmのスクリプト(esLint CLI + package.jsonだけを使用しています)ですが、私は別のビルド環境からソリューションを移植するのはうれしいです。

現在、私は// eslint-disable-lineのいずれかを残していますか、.eslintrcファイルをローカルに変更して、私が偶然にそれを間違ってチェックしないよう祈っています。より良い方法が必要です。

答えて

1

コミットが発生する前にコードがチェックされるプリコミットフックを使用しないでください。ローカルまたは.eslintrcファイルを使用している場合は、コメントを使用して必要なルールをいつでも無効にすることができます。

詳細はhttps://github.com/jhurliman/precommit-hookをご覧ください。私は正直なところ、このすべてが開発の依存性である必要があると思います。あなたの作品は糸くずを出すべきではありません。

最後に、gruntやgulpのようなタスクランナーを追加します。この方法で、リント、単体テスト、およびコードに必要な他の健全性チェックを実行できます。 githubの上の関連するスレッドから

+0

プリコミットフックは、いくつかのcpフック.git/hooksを使用せずに個々のマシンにプッシュダウンするのは簡単ではないので、難しいです。むしろ.eslintrcdevと.eslintrcprodを持つシェルスクリプトをいくつか追加して、必要に応じて.eslintrcにコピーします。私は仕事のランナーについて政治的議論に入ることを避けたい。それが誤解された場合に明確にするために、必要に応じてmake + npm +ノードのタスクランナーを使用しています。 – AnilRedshift

+0

私が理想的に望むのは、 'eslint --env dev ...'や 'eslint --dev prod'(これは現在サポートされています)を実行できるようにすることですが、次に私のeslintrcにルールがありますこの 'dev/no-console:['off']'のようなものはサポートされていません。誰かがこれを解決する巧妙な方法を持っているかどうかにかかわらず、私はその特徴をeslintに得ることができるかどうかを見極めるつもりです。 – AnilRedshift

関連する問題