web-dev-qa-db-ja.com

tsconfig.jsonの設定を使用して、コマンドラインから単一のファイルをタイプチェックする方法は?

通常、私はtsc -p ./tsconfig.jsonを実行します。このタイプは、tsconfigに関連する./srcフォルダー内のすべてのファイルをチェックします。

しかし、tsc -p ./tsconfig.json src/specific-file.tsを実行すると、文句を言います

エラーTS5042:オプション 'プロジェクト'をコマンドラインでソースファイルと混在させることはできません。

したがって、オプションを削除してtsc src/specific-file.tsを実行すると、ファイルがチェックされますが、tsconfigの設定は使用されません(tsconfigファイルを指定していないためですか?)。

単一のファイルでtscを実行し、プロジェクト全体で使用されるtsconfigの設定を使用するにはどうすればよいですか?

9
trusktr

TypeScriptコンパイラAPIを使用して独自のコマンドラインツールを作成する以外に、本当に良い解決策はわかりません。あなたが考えるかもしれない2つのより簡単なアプローチ:

  1. 元のtsconfig.jsonを拡張してfilesを必要なファイルだけに設定する一時的なtsconfig.jsonファイルを生成するスクリプトを記述します。ただし、指定したファイルのタイプチェックに必要なグローバル宣言が他のファイルに含まれている場合、他のファイルが読み込まれない可能性があるため、このアプローチは機能しない可能性があります。

  2. プロジェクト全体でtscを実行し、 この回答 に示すように出力をフィルタリングするスクリプトを記述します。ただし、パフォーマンスが懸念事項である場合、これは役に立ちません。

1
Matt McCutchen

絶対パスにスペースが含まれていないことを確認してください。それでもエラーが発生する場合は、tsconfig.jsonがプロジェクトの構成用であり、コマンドライン引数がファイル用であることが原因である可能性があります。

0
Coder-256