バグを説明する
VSCode拡張機能は、複数のtsconfigを持つリポジトリでクラッシュします。
すべてのtsconfigの横にあるnode_modules
フォルダーをngcc
しようとしているようです。
再現するには
app.component.ts
開きます予想される行動
クラッシュしないはずです。
ログ
[Info - 8:18:20 PM] Angular language server process ID: 91911
[Info - 8:18:20 PM] Using typescript/lib/tsserverlibrary v4.0.5 from /.vscode/extensions/angular.ng-template-0.1101.0-next.1/node_modules/typescript/lib/tsserverlibrary.js
[Info - 8:18:20 PM] Using @angular/language-service/bundles/ivy v11.1.0-next.3 from /.vscode/extensions/angular.ng-template-0.1101.0-next.1/node_modules/@angular/language-service/bundles/ivy.js
[Info - 8:18:20 PM] Log file: /Library/Application Support/Code/logs/20201218T201630/exthost3/Angular.ng-template/nglangsvc.log
[Error - 8:18:25 PM] Cannot read file '/dev/jscutlery/convoyr/dev/jscutlery/convoyr/tsconfig.json'.
No inputs were found in config file '/dev/jscutlery/convoyr/dev/jscutlery/convoyr/apps/sandbox/tsconfig.json'. Specified 'include' paths were '["**/*.ts"]' and 'exclude' paths were '[]'.
Error: ENOENT: no such file or directory, scandir '/dev/jscutlery/convoyr/apps/sandbox/node_modules'
at Object.readdirSync (fs.js:854:3)
at Object.fs.readdirSync (electron/js2c/asar.js:621:39)
at NodeJSFileSystem.readdir (/dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/src/ngtsc/file_system/src/node_js_file_system.js:53:23)
at EntryPointCollector.walkDirectoryForPackages (/dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/entry_point_collector.js:63:56)
at /dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js:62:100
at Object.trackDuration (/dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/utils.js:93:22)
at DirectoryWalkerEntryPointFinder.walkBasePathForPackages (/dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js:62:39)
at DirectoryWalkerEntryPointFinder.findEntryPoints (/dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js:40:30)
at /dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/ngcc/src/execution/analyze_entry_points.js:28:41
at new ClusterMaster (/dev/jscutlery/convoyr/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:45:30)
[Error - 8:18:26 PM] Failed to run ngcc for /dev/jscutlery/convoyr/apps/sandbox/tsconfig.json:
ngcc for /dev/jscutlery/convoyr/apps/sandbox/tsconfig.json returned exit code 1, stderr:
Language service will remain disabled.
リポジトリへのリンクをありがとう、それは非常に役に立ちます。
node_modules
があるディレクトリとは対照的に、ngccはcwdがtsconfig.json
のディレクトリに手動で設定されている場合を処理しないようです。
convoyr/apps/sandbox
からngccを実行すると、投稿したのと同じ失敗が見られました。
ルートディレクトリから実行すると、ngccは正常に機能します。
また、ngccが失敗した場合、言語サービスを永続的に無効にしないでください。 これを追跡するために#1041を作成しました。
お力になれて、嬉しいです!
github.com/angular/angularで問題を開く必要がありますか?
@yjaaidiここでの問題は十分です-角度/角度で開く必要はありません! 2つのリポジトリ間で言語サービスレポートを統合する方法/かどうかはまだ決定していないため、現時点では両方に注目しています。
キーンと私は昨日これでペアになり、リンクされたリポジトリを使用して4つの別々の問題の根本原因を突き止めることができました。 修正をマージして、1月の次のリリースに備える必要があります。 報告ありがとうございます!
早かった。 よくやった!
手伝ってもらえたら教えてください。
この問題は、非アクティブのために自動的にロックされています。
同様の問題または関連する問題が発生した場合は、新しい問題を提出してください。
自動会話ロックポリシーの詳細をご覧ください。
_このアクションはボットによって自動的に実行されました。_
最も参考になるコメント
@yjaaidiここでの問題は十分です-角度/角度で開く必要はありません! 2つのリポジトリ間で言語サービスレポートを統合する方法/かどうかはまだ決定していないため、現時点では両方に注目しています。
キーンと私は昨日これでペアになり、リンクされたリポジトリを使用して4つの別々の問題の根本原因を突き止めることができました。 修正をマージして、1月の次のリリースに備える必要があります。 報告ありがとうございます!