From b61d46c3e494db5b590274d2455d9aa6ac4ea62e Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 12 Mar 2025 16:58:50 -0700 Subject: [PATCH] Add extra catch around package manager --- .../src/filesystems/autoInstallerFs.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/extensions/typescript-language-features/src/filesystems/autoInstallerFs.ts b/extensions/typescript-language-features/src/filesystems/autoInstallerFs.ts index d639b7fe999..1265b07450d 100644 --- a/extensions/typescript-language-features/src/filesystems/autoInstallerFs.ts +++ b/extensions/typescript-language-features/src/filesystems/autoInstallerFs.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { PackageManager } from '@vscode/ts-package-manager'; +import { PackageManager, ResolvedProject } from '@vscode/ts-package-manager'; import { basename, join } from 'path'; import * as vscode from 'vscode'; import { URI } from 'vscode-uri'; @@ -161,12 +161,18 @@ export class AutoInstallerFs extends Disposable implements vscode.FileSystemProv } const installing = (async () => { - const proj = await this.packageManager.resolveProject(root, await this.getInstallOpts(incomingUri.original, root)); + let proj: ResolvedProject; + try { + proj = await this.packageManager.resolveProject(root, await this.getInstallOpts(incomingUri.original, root)); + } catch (e) { + console.error(`failed to resolve project at ${incomingUri.path}: `, e); + return; + } + try { await proj.restore(); } catch (e) { console.error(`failed to restore package at ${incomingUri.path}: `, e); - throw e; } })(); this._projectCache.set(root, installing);