enable proposed api usage via product.json

This commit is contained in:
Johannes Rieken
2017-12-01 10:35:58 +01:00
parent bc6e4f522b
commit a47be8c8c1
2 changed files with 9 additions and 1 deletions

View File

@@ -58,6 +58,7 @@ import { ExtHostDecorations } from 'vs/workbench/api/node/extHostDecorations';
import { toGlobPattern, toLanguageSelector } from 'vs/workbench/api/node/extHostTypeConverters';
import { ExtensionActivatedByAPI } from 'vs/workbench/api/node/extHostExtensionActivator';
import { ILogService } from 'vs/platform/log/common/log';
import { isFalsyOrEmpty } from 'vs/base/common/arrays';
export interface IExtensionApiFactory {
(extension: IExtensionDescription): typeof vscode;
@@ -128,8 +129,14 @@ export function createApiFactory(
const EXTENSION_ID = extension.id;
if (extension.enableProposedApi && !extension.isBuiltin) {
if (!isFalsyOrEmpty(product.extensionAllowedProposedApi)
&& product.extensionAllowedProposedApi.indexOf(extension.id) >= 0
) {
// fast lane -> proposed api is available to all extensions
// that are listed in product.json-files
extension.enableProposedApi = true;
} else if (extension.enableProposedApi && !extension.isBuiltin) {
if (
!initData.environment.enableProposedApiForAll &&
initData.environment.enableProposedApiFor.indexOf(extension.id) < 0