Visual Studio CodeでAngularのTypeScriptファイルを開いたらSonarLintのエラーが出て困っていましたが、対応方法がわかったので記録しておきます。
発生したエラーと原因
ポップアップの表示は
JS/TS analysis failed. Please check the SonarLint Output for more details.
で、SonarLintの出力結果を見ると、
[Error - 11:23:32.979] org.sonarsource.nodejs.NodeCommandException: No tsconfig.json file found, analysis will be stopped.
と出力されていて、tsconfig.jsonファイルが見つからないとのこと。
Angularプロジェクトの中ではtsconfig.jsonはプロジェクトディレクトリ直下にあって、srcディレクトリ内の
.tsファイルを開いている場合にはSonarLintがtsconfig.jsonを見つけられないようです。
とりあえずの対応方法・・・
settings.jsonに以下の設定を加えることでエラーなく動くようになりました。
"sonarlint.analyzerProperties": {
"sonar.typescript.tsconfigPath": "../tsconfig.json"
}
・・・これで一応エラーはでなくなりましたが、実態としてはsrcディレクトリ直下にあるファイルを開いた場合しかチェックされておらず、それより深い階層の.tsファイルの場合はtsconfig.jsonが見つけられずにスキップされているだけみたいでした。(プラグインのデバッグ出力からの推測ですが、指定している相対パスから考えてそりゃそうだという感じではあります)
恐らく正しい対応方法
Angularのプロジェクトディレクトリを「フォルダを開く」機能で開いた上で、対象の.tsファイルを開く。
・・・わかっていれば至極当たり前のようにも思えて来ますが、この対応を見つけるまでに結構な時間がかかってしまいました。
何かの参考になれば幸いです。