From 19d722bd899a90c651ae54ff0306d554c0cda351 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Mon, 22 Nov 2021 19:40:27 +0100 Subject: [PATCH] remove `enableProposedApi` from extension description, https://github.com/microsoft/vscode/issues/131165 --- src/vs/platform/extensions/common/extensions.ts | 5 ----- .../services/extensions/common/abstractExtensionService.ts | 6 +----- src/vs/workbench/services/extensions/common/extensions.ts | 7 +++---- .../workbench/services/extensions/node/extensionPoints.ts | 1 - 4 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts index aa2d26ea1a3f6..fa86a6e9aedc1 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts @@ -264,8 +264,6 @@ export interface IExtensionManifest { readonly repository?: { url: string; }; readonly bugs?: { url: string; }; readonly enabledApiProposals?: readonly string[]; - /** @deprecated */ - readonly enableProposedApi?: boolean; readonly api?: string; readonly scripts?: { [key: string]: string; }; readonly capabilities?: IExtensionCapabilities; @@ -348,9 +346,6 @@ export interface IExtensionDescription extends IExtensionManifest { readonly isUserBuiltin: boolean; readonly isUnderDevelopment: boolean; readonly extensionLocation: URI; - - /** @deprecated */ - enableProposedApi?: boolean; } export function isLanguagePackExtension(manifest: IExtensionManifest): boolean { diff --git a/src/vs/workbench/services/extensions/common/abstractExtensionService.ts b/src/vs/workbench/services/extensions/common/abstractExtensionService.ts index cf9b2bffa771f..dcf4aa3f8229f 100644 --- a/src/vs/workbench/services/extensions/common/abstractExtensionService.ts +++ b/src/vs/workbench/services/extensions/common/abstractExtensionService.ts @@ -1197,9 +1197,6 @@ class ProposedApiController { } extension.enabledApiProposals = productEnabledProposals; - - // todo@jrieken REMOVE, legacy flag is turned on - extension.enableProposedApi = true; return; } @@ -1209,11 +1206,10 @@ class ProposedApiController { return; } - if (!extension.isBuiltin && (extension.enableProposedApi || isNonEmptyArray(extension.enabledApiProposals))) { + if (!extension.isBuiltin && isNonEmptyArray(extension.enabledApiProposals)) { // restrictive: extension cannot use proposed API in this context and its declaration is nulled this._logService.critical(`Extension '${extension.identifier.value} CANNOT USE these API proposals '${extension.enabledApiProposals?.join(', ') ?? '*'}'. You MUST start in extension development mode or use the --enable-proposed-api command line flag`); extension.enabledApiProposals = []; - extension.enableProposedApi = false; } } } diff --git a/src/vs/workbench/services/extensions/common/extensions.ts b/src/vs/workbench/services/extensions/common/extensions.ts index 66fc91a775c4b..8f9b89d41b9aa 100644 --- a/src/vs/workbench/services/extensions/common/extensions.ts +++ b/src/vs/workbench/services/extensions/common/extensions.ts @@ -19,7 +19,6 @@ export const nullExtensionDescription = Object.freeze({ name: 'Null Extension Description', version: '0.0.0', publisher: 'vscode', - enableProposedApi: false, engines: { vscode: '' }, extensionLocation: URI.parse('void:location'), isBuiltin: false, @@ -135,10 +134,10 @@ export interface IExtensionHost { } export function isProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): boolean { - if (extension.enabledApiProposals?.includes(proposal)) { - return true; + if (!extension.enabledApiProposals) { + return false; } - return Boolean(extension.enableProposedApi); + return extension.enabledApiProposals.includes(proposal); } export function checkProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): void { diff --git a/src/vs/workbench/services/extensions/node/extensionPoints.ts b/src/vs/workbench/services/extensions/node/extensionPoints.ts index 27b05051eddc1..89852a5f28e04 100644 --- a/src/vs/workbench/services/extensions/node/extensionPoints.ts +++ b/src/vs/workbench/services/extensions/node/extensionPoints.ts @@ -309,7 +309,6 @@ export interface IRelaxedExtensionDescription { vscode: string; }; main?: string; - enableProposedApi?: boolean; } class ExtensionManifestValidator extends ExtensionManifestHandler {