Tslintを使用してフォルダ全体をリントすることは可能ですか?
Eslintを使用すると、eslint ./src
を実行してフォルダー全体を検証できます。
Tslintでも同じことをしようとすると、エラーError: EISDIR: illegal operation on a directory
が発生します。サイトの例では、単一のファイルを検証する方法を示していますが、通常はそうではありません。
コマンドラインからgulp-tslint
のような余分なものなしでプロジェクトを検証することは可能ですか?
Globを使用して、複数のファイルをリントできます。
通常、グロブをそのまま渡す場合、シェルはそれを展開し、結果のファイルをTSLintに渡します。たとえば、globstarオプションを有効にしたbash 4+では、次の操作を実行してすべての.ts
および.tsx
ファイルをリントできます。
tslint src/**/*.ts{,x}
ただし、プラットフォームとシェル間で一貫して動作するコマンドを使用する方がよいでしょう。このために、引用符でグロブを渡すことができます。引用符で囲まれている場合、グロブはTSLintにそのまま渡され、TSLintは node-glob で処理します。その後、次のコマンドを実行して、上記と同じ結果を取得できます。
tslint 'src/**/*.ts?(x)'
現在、このための--project
オプションがあります。例:
tslint --project .
docs から:
-p、-project:
リントされるファイルを決定するために使用されるtsconfig.jsonファイルを含むパスまたはディレクトリ。このフラグは、タイプチェッカーを必要とするルールも有効にします。
プロジェクトにtsconfig.tsがある場合、-project advangeにアプローチできます。
私の場合、プロジェクトルートにtsconfig.tsを含むnativescriptプロジェクトがあるため、これがあります。
Jsonでは、「node_modules」および「platforms」ディレクトリが除外されていることに注意してください。 これは、「node_modules」ディレクトリと「platforms」ディレクトリを除く、プロジェクト内のすべてのファイルがマップされることを意味します。
Package.jsonにこのスクリプトを追加しました。「tslint」はエラーを記録し、「tslint-fix」はエラーを修正します。
scripts: {
tslint: "tslint -p tsconfig.json",
tslint-fix: "tslint --fix -p tsconfig.json"
}