Skip to content

Commit 102ffb6

Browse files
committed
fix(vscode-extension): inspect tsdk configurations correctly
Inspect both 'js/ts.tsdk.path' and 'typescript.tsdk' configurations separately, as the inspect method always returns a truthy object. fixes #69145 (cherry picked from commit ed2420c)
1 parent 879750a commit 102ffb6

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

  • vscode-ng-language-service/client/src

vscode-ng-language-service/client/src/client.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -630,19 +630,20 @@ export class AngularLanguageClient implements vscode.Disposable {
630630

631631
private async getTsdkPath(): Promise<string> {
632632
const config = vscode.workspace.getConfiguration();
633-
const tsdkInspect =
634-
config.inspect<string>('js/ts.tsdk.path') ?? config.inspect<string>('typescript.tsdk');
635-
636-
if (!tsdkInspect) {
637-
return '';
638-
}
633+
const jsTsTsdkInspect = config.inspect<string>('js/ts.tsdk.path');
634+
const tsTsdkInspect = config.inspect<string>('typescript.tsdk');
639635

640636
// 1. Check workspace/folder settings first (highest priority)
641637
// ONLY check or load workspace-level settings if the workspace is trusted
642638
if (vscode.workspace.isTrusted) {
643-
const workspaceTsdk = (
644-
tsdkInspect.workspaceValue ?? tsdkInspect.workspaceFolderValue
639+
const jsTsWorkspaceTsdk = (
640+
jsTsTsdkInspect?.workspaceValue ?? jsTsTsdkInspect?.workspaceFolderValue
645641
)?.trim();
642+
const tsWorkspaceTsdk = (
643+
tsTsdkInspect?.workspaceValue ?? tsTsdkInspect?.workspaceFolderValue
644+
)?.trim();
645+
const workspaceTsdk = jsTsWorkspaceTsdk || tsWorkspaceTsdk;
646+
646647
if (workspaceTsdk) {
647648
const stateKey = `approvedTsdk:${workspaceTsdk}`;
648649
const isApproved = this.context.workspaceState.get<boolean>(stateKey);
@@ -660,7 +661,7 @@ export class AngularLanguageClient implements vscode.Disposable {
660661
}
661662
}
662663

663-
return tsdkInspect.globalValue?.trim() ?? '';
664+
return jsTsTsdkInspect?.globalValue?.trim() ?? tsTsdkInspect?.globalValue?.trim() ?? '';
664665
}
665666

666667
private async promptForTsdkApproval(workspaceTsdk: string, stateKey: string): Promise<void> {

0 commit comments

Comments
 (0)