Skip to content

Commit d7ce74a

Browse files
committed
Show bundled TypeScript version for packaged servers
1 parent 29be66a commit d7ce74a

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

tsc/_extension/src/util.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export async function getBuiltinExePath(context: vscode.ExtensionContext): Promi
5555
}
5656
catch {}
5757
}
58-
return getPackagedExePath(context.extension.extensionUri, context.extension.packageJSON.version);
58+
return getPackagedExePath(context.extension.extensionUri, getBundledTypeScriptVersion(context.extension.packageJSON));
5959
}
6060

6161
export async function getNightlyExePath(): Promise<ExeInfo | undefined> {
@@ -64,7 +64,7 @@ export async function getNightlyExePath(): Promise<ExeInfo | undefined> {
6464
return undefined;
6565
}
6666

67-
return tryGetPackagedExePath(extension.extensionUri, extension.packageJSON?.version);
67+
return tryGetPackagedExePath(extension.extensionUri, getBundledTypeScriptVersion(extension.packageJSON));
6868
}
6969

7070
export async function getDefaultExePath(context: vscode.ExtensionContext): Promise<ExeInfo> {
@@ -85,6 +85,16 @@ async function getPackagedExePath(extensionUri: vscode.Uri, version: unknown): P
8585
throw new Error(vscode.l10n.t("Could not find a TypeScript executable in the extension package."));
8686
}
8787

88+
function getBundledTypeScriptVersion(packageJSON: unknown): string {
89+
if (packageJSON && typeof packageJSON === "object" && "bundledTypeScriptVersion" in packageJSON) {
90+
const version = packageJSON.bundledTypeScriptVersion;
91+
if (typeof version === "string") {
92+
return version;
93+
}
94+
}
95+
return "unknown";
96+
}
97+
8898
async function tryGetPackagedExePath(extensionUri: vscode.Uri, version: unknown): Promise<ExeInfo | undefined> {
8999
for (const baseName of packagedExeBaseNames) {
90100
const exeName = `${baseName}${process.platform === "win32" ? ".exe" : ""}`;

0 commit comments

Comments
 (0)