2017-05-24 17 views
0

このプロジェクトでは、Webpackとtslintを使用しています。期待tslint適切なエラー/警告処理

私はtslintエラーはエラーを構築し、単に警告を慰める生成する警告をtslint生成します。実際

:我々は設定でtrueemitErrorsを設定した場合

、任意のtslintエラー/警告はエラーが生成されます。

emitErrorsfalseの場合、tslintのエラー/警告はエラーになりません。

正常に動作させるにはどうすればいいですか?

答えて

0

tslintローダ

あなたが記述の症状はtslint-loader、ないtslint自体によって引き起こされます。

糸くずれの違反(警告またはエラー)がウェブパックに大きな塊として放出されます。言い換えれば、lintingの結果は単一の文字列で表されます。この文字列は、警告またはエラーとして出力されます。

したがって、emitErrorsは実際には「すべての違反をエラーとして送信する」ことを意味します。デフォルトでは、「すべての違反を警告として出力します」。警告をエラーとして出力するオプションはありません。

This fork of tslint-loaderは、あなたが望むやり方でどのように動作するかを示しています。エラーがあればビルドに失敗し、エラーが表示されます。警告だけがある場合、ビルドは成功し、警告が表示されます。

それを試してみる:

"tslint-loader": "github:mikepatrick/tslint-loader", 

は別途

この制限は、私は私のビルドの一部として(のWebPACKの外に)別途毛羽立ちを実行することを好む理由の一部であるリンティングプロセス。

例えば、yarn buildの代わりにyarn lint && yarn buildのような何かを実行すると、ビルドはすべてのリンピングエラーで失敗しますが、警告のみがある場合は失敗します。 this answerの後半に、フローでこれを行う方法を詳しく説明します。あなたはtslintと同じことを行うことができます:

"scripts": { 
    "start": "webpack-dev-server.....", 
    "build:prod": "lint && webpack src/index.js dist/bundle.js -p", 
    "lint": ".\\node_modules\\.bin\\tslint src\\**\\*.ts*" 
    }, 

毛羽立ちエラーがある場合は失敗しますが、唯一の警告がある場合は通過しますyarn build:prodを実行しているこの方法です。

関連する問題