Vscode-ng-language-service: ngcc crash dengan konfigurasi monorepo / multi-proyek - Ivy Native LS

Dibuat pada 18 Des 2020  ·  5Komentar  ·  Sumber: angular/vscode-ng-language-service

Jelaskan bugnya

Ekstensi VSCode lumpuh pada repositori dengan beberapa tsconfig.

Tampaknya mencoba ngcc node_modules folder

Untuk Mereproduksi

  1. Aktifkan ekstensi pada repo seperti ini https://github.com/jscutlery/convoyr
  2. Buka app.component.ts

Perilaku yang diharapkan

Seharusnya tidak macet.

Log

[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.
bug

Komentar yang paling membantu

@yjaaidi Masalah di sini sudah cukup - tidak perlu membukanya di sudut/sudut! Kami belum memutuskan bagaimana/jika kami ingin mengkonsolidasikan laporan layanan bahasa antara dua repo jadi untuk saat ini kami hanya mengawasi keduanya.

Keen dan saya memasangkan ini kemarin dan dapat melacak akar penyebab untuk 4 masalah terpisah menggunakan repositori tertaut. Kami seharusnya menggabungkan perbaikan dan siap untuk rilis berikutnya pada bulan Januari. Terima kasih atas laporannya!

Semua 5 komentar

Terima kasih atas tautan ke repo, ini sangat membantu.

Sepertinya ngcc tidak menangani kasus di mana cwd diatur secara manual ke direktori tsconfig.json , yang bertentangan dengan direktori di mana node_modules berada.

https://github.com/angular/vscode-ng-language-service/blob/132b2051c44de5504bc77776430c066ecc5fa88a/server/src/ngcc.ts#L36 -L44

Ketika saya menjalankan ngcc dari convoyr/apps/sandbox , saya melihat kegagalan yang sama seperti yang Anda posting.
Saat dijalankan dari direktori root, ngcc berfungsi dengan baik.

Juga, kita tidak boleh menonaktifkan layanan bahasa secara permanen jika ngcc gagal. Saya telah membuat #1041 untuk melacak ini.

Saya senang bisa membantu!

Haruskah kita membuka masalah di github.com/angular/angular?

@yjaaidi Masalah di sini sudah cukup - tidak perlu membukanya di sudut/sudut! Kami belum memutuskan bagaimana/jika kami ingin mengkonsolidasikan laporan layanan bahasa antara dua repo jadi untuk saat ini kami hanya mengawasi keduanya.

Keen dan saya memasangkan ini kemarin dan dapat melacak akar penyebab untuk 4 masalah terpisah menggunakan repositori tertaut. Kami seharusnya menggabungkan perbaikan dan siap untuk rilis berikutnya pada bulan Januari. Terima kasih atas laporannya!

Itu tadi cepat. Kerja bagus!
Beri tahu saya jika saya dapat membantu.

Masalah ini telah dikunci secara otomatis karena tidak ada aktivitas.
Silakan ajukan masalah baru jika Anda mengalami masalah serupa atau terkait.

Baca lebih lanjut tentang kebijakan penguncian percakapan otomatis kami.

_Tindakan ini telah dilakukan secara otomatis oleh bot._

Apakah halaman ini membantu?
0 / 5 - 0 peringkat