Skip to content

Commit bffb4c2

Browse files
authored
fix(vscode): catch potential errors importing from nx paths (#2461)
1 parent 74ecf28 commit bffb4c2

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

libs/shared/npm/src/lib/local-nx-utils/package-manager-command.ts

+22-9
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,36 @@ export async function detectPackageManager(
99
workspacePath: string,
1010
logger?: Logger,
1111
): Promise<PackageManager> {
12-
const { detectPackageManager } = await importNxPackagePath<
13-
typeof import('nx/src/utils/package-manager')
14-
>(workspacePath, 'src/utils/package-manager', logger);
12+
try {
13+
const { detectPackageManager } = await importNxPackagePath<
14+
typeof import('nx/src/utils/package-manager')
15+
>(workspacePath, 'src/utils/package-manager', logger);
16+
17+
return detectPackageManager(workspacePath);
18+
} catch (e) {
19+
logger?.log(`Error detecting package manager: ${JSON.stringify(e)}`);
1520

16-
return detectPackageManager(workspacePath);
21+
// return npm by default
22+
return 'npm';
23+
}
1724
}
1825

1926
export async function getPackageManagerVersion(
2027
packageManager: PackageManager,
2128
workspacePath: string,
2229
logger?: Logger,
23-
): Promise<string> {
24-
const { getPackageManagerVersion } = await importNxPackagePath<
25-
typeof import('nx/src/utils/package-manager')
26-
>(workspacePath, 'src/utils/package-manager', logger);
30+
): Promise<string | null> {
31+
try {
32+
const { getPackageManagerVersion } = await importNxPackagePath<
33+
typeof import('nx/src/utils/package-manager')
34+
>(workspacePath, 'src/utils/package-manager', logger);
35+
36+
return getPackageManagerVersion(packageManager, workspacePath);
37+
} catch (e) {
38+
logger?.log(`Error getting package manager version: ${JSON.stringify(e)}`);
2739

28-
return getPackageManagerVersion(packageManager, workspacePath);
40+
return null;
41+
}
2942
}
3043
export async function getPackageManagerCommand(
3144
workspacePath: string,

libs/vscode/typescript-plugin/src/lib/plugin-configuration.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,9 @@ export async function getPluginConfiguration(
8989
if (packageManager === 'yarn') {
9090
let yarnVersion;
9191
try {
92-
yarnVersion = await getPackageManagerVersion(
93-
packageManager,
94-
workspaceRoot,
95-
);
92+
yarnVersion =
93+
(await getPackageManagerVersion(packageManager, workspaceRoot)) ??
94+
'1.0.0';
9695
} catch {
9796
yarnVersion = '1.0.0';
9897
}

0 commit comments

Comments
 (0)