From fd8a4ae3cc8fdfd24a0de801a288be4b8a69c150 Mon Sep 17 00:00:00 2001 From: Alex Weininger Date: Tue, 6 Dec 2022 14:13:34 -0800 Subject: [PATCH 1/2] Update utils --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9885eb917..4f313f25b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@azure/ms-rest-js": "^2.2.1", "@microsoft/vscode-azext-azureappservice": "^0.6.4", "@microsoft/vscode-azext-azureutils": "^0.3.4", - "@microsoft/vscode-azext-utils": "^0.3.9", + "@microsoft/vscode-azext-utils": "^0.3.17", "@octokit/rest": "^18.5.2", "dayjs": "^1.11.0", "git-url-parse": "^13.1.0", @@ -918,9 +918,9 @@ "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==" }, "node_modules/@microsoft/vscode-azext-utils": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.9.tgz", - "integrity": "sha512-xVUxksOGsf6UfAgisLsf+SIVumvY/28Tgsm3HMNf4b+UX4/YSSFTWhZ8oeJ4Y/q9W0c1gbOMagjR+KPcE/7V9g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.17.tgz", + "integrity": "sha512-L9+VMJbG+mzBa+IVu0UCtDofXZnbk3oTQajWYzIaJOui7hVinHM/vn3xjoW/cQsIi8tV1l8oUb4HtGEVNOaCFA==", "dependencies": { "@vscode/extension-telemetry": "^0.6.2", "dayjs": "^1.11.2", @@ -13209,9 +13209,9 @@ } }, "@microsoft/vscode-azext-utils": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.9.tgz", - "integrity": "sha512-xVUxksOGsf6UfAgisLsf+SIVumvY/28Tgsm3HMNf4b+UX4/YSSFTWhZ8oeJ4Y/q9W0c1gbOMagjR+KPcE/7V9g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.17.tgz", + "integrity": "sha512-L9+VMJbG+mzBa+IVu0UCtDofXZnbk3oTQajWYzIaJOui7hVinHM/vn3xjoW/cQsIi8tV1l8oUb4HtGEVNOaCFA==", "requires": { "@vscode/extension-telemetry": "^0.6.2", "dayjs": "^1.11.2", diff --git a/package.json b/package.json index a494e9c8d..6ca790f1c 100644 --- a/package.json +++ b/package.json @@ -490,7 +490,7 @@ "@azure/ms-rest-js": "^2.2.1", "@microsoft/vscode-azext-azureappservice": "^0.6.4", "@microsoft/vscode-azext-azureutils": "^0.3.4", - "@microsoft/vscode-azext-utils": "^0.3.9", + "@microsoft/vscode-azext-utils": "^0.3.17", "@octokit/rest": "^18.5.2", "dayjs": "^1.11.0", "git-url-parse": "^13.1.0", From 317ef21532f6fbb1565d675718a23df80c2ffc97 Mon Sep 17 00:00:00 2001 From: Alex Weininger Date: Tue, 6 Dec 2022 14:13:41 -0800 Subject: [PATCH 2/2] Use new `getExtensionExports` util --- src/extension.ts | 5 ++--- src/getExtensionApi.ts | 21 ++++----------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 2548dda13..d8bfc8d78 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -7,7 +7,7 @@ import { registerAppServiceExtensionVariables } from '@microsoft/vscode-azext-azureappservice'; import { registerAzureUtilsExtensionVariables } from '@microsoft/vscode-azext-azureutils'; -import { callWithTelemetryAndErrorHandling, createApiProvider, createAzExtOutputChannel, createExperimentationService, IActionContext, registerUIExtensionVariables } from '@microsoft/vscode-azext-utils'; +import { callWithTelemetryAndErrorHandling, createApiProvider, createAzExtOutputChannel, createExperimentationService, getExtensionExports, IActionContext, registerUIExtensionVariables } from '@microsoft/vscode-azext-utils'; import { AzureExtensionApi, AzureExtensionApiProvider } from '@microsoft/vscode-azext-utils/api'; import { AzureHostExtensionApi } from '@microsoft/vscode-azext-utils/hostapi'; import * as vscode from 'vscode'; @@ -21,7 +21,6 @@ import { registerCommands } from './commands/registerCommands'; import { githubAuthProviderId, githubScopes, pwaChrome, shell, swa } from './constants'; import { StaticWebAppDebugProvider } from './debug/StaticWebAppDebugProvider'; import { ext } from './extensionVariables'; -import { getApiExport } from './getExtensionApi'; import { StaticWebAppResolver } from './StaticWebAppResolver'; export async function activateInternal(context: vscode.ExtensionContext, perfStats: { loadStartTime: number; loadEndTime: number }, ignoreBundle?: boolean): Promise { @@ -52,7 +51,7 @@ export async function activateInternal(context: vscode.ExtensionContext, perfSta context.subscriptions.push(vscode.debug.registerDebugConfigurationProvider(swa, new StaticWebAppDebugProvider(), vscode.DebugConfigurationProviderTriggerKind.Initial)); context.subscriptions.push(vscode.tasks.registerTaskProvider(shell, new SwaTaskProvider())); - const rgApiProvider = await getApiExport('ms-azuretools.vscode-azureresourcegroups'); + const rgApiProvider = await getExtensionExports('ms-azuretools.vscode-azureresourcegroups'); if (rgApiProvider) { const api = rgApiProvider.getApi('0.0.1'); ext.rgApi = api; diff --git a/src/getExtensionApi.ts b/src/getExtensionApi.ts index c1ea6a16f..47e05f5d8 100644 --- a/src/getExtensionApi.ts +++ b/src/getExtensionApi.ts @@ -3,9 +3,9 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IActionContext, UserCancelledError } from "@microsoft/vscode-azext-utils"; +import { getExtensionExports, IActionContext, UserCancelledError } from "@microsoft/vscode-azext-utils"; import { AzureExtensionApiProvider } from "@microsoft/vscode-azext-utils/api"; -import { commands, Extension, extensions } from "vscode"; +import { commands } from "vscode"; import { API, GitExtension } from "./git"; import { localize } from "./utils/localize"; import { getWorkspaceSetting } from "./utils/settingsUtils"; @@ -16,7 +16,7 @@ import { AzureFunctionsExtensionApi } from "./vscode-azurefunctions.api"; */ export async function getFunctionsApi(context: IActionContext, installMessage?: string): Promise { const funcExtensionId: string = 'ms-azuretools.vscode-azurefunctions'; - const funcExtension: AzureExtensionApiProvider | undefined = await getApiExport(funcExtensionId); + const funcExtension: AzureExtensionApiProvider | undefined = await getExtensionExports(funcExtensionId); if (funcExtension) { return funcExtension.getApi('^1.7.0'); @@ -32,7 +32,7 @@ export async function getFunctionsApi(context: IActionContext, installMessage?: export async function getGitApi(): Promise { try { - const gitExtension: GitExtension | undefined = await getApiExport('vscode.git'); + const gitExtension: GitExtension | undefined = await getExtensionExports('vscode.git'); if (gitExtension) { return gitExtension.getAPI(1); } else { @@ -47,16 +47,3 @@ export async function getGitApi(): Promise { } } } - -export async function getApiExport(extensionId: string): Promise { - const extension: Extension | undefined = extensions.getExtension(extensionId); - if (extension) { - if (!extension.isActive) { - await extension.activate(); - } - - return extension.exports; - } - - return undefined; -}