提交 80d8aff4 编写于 作者: S Sandeep Somavarapu

fix layering issues

上级 2cda7ae1
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { isWeb } from 'vs/base/common/platform';
import { IExtension } from 'vs/platform/extensions/common/extensions';
import { URI } from 'vs/base/common/uri';
let builtinExtensions: IExtension[] = [];
// Web
if (isWeb) {
// Running out of sources
if (Object.keys(builtinExtensions).length === 0) {
// Find builtin extensions by checking for DOM
const builtinExtensionsElement = document.getElementById('vscode-workbench-builtin-extensions');
const builtinExtensionsElementAttribute = builtinExtensionsElement ? builtinExtensionsElement.getAttribute('data-settings') : undefined;
if (builtinExtensionsElementAttribute) {
try {
builtinExtensions = JSON.parse(builtinExtensionsElementAttribute);
} catch (error) { /* ignore error*/ }
}
}
}
// Unknown
else {
throw new Error('Unable to resolve builtin extensions');
}
builtinExtensions = builtinExtensions.map(extension => ({
...extension,
location: URI.revive(extension.location),
readmeUrl: URI.revive(extension.readmeUrl),
changelogUrl: URI.revive(extension.changelogUrl),
}));
export default builtinExtensions;
......@@ -13,7 +13,7 @@ import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { ILabelService } from 'vs/platform/label/common/label';
import { isWeb } from 'vs/base/common/platform';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { WebExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/webExtensionManagementService';
import { WebExtensionManagementService } from 'vs/workbench/services/extensionManagement/browser/webExtensionManagementService';
import { IExtension } from 'vs/platform/extensions/common/extensions';
export class ExtensionManagementServerService implements IExtensionManagementServerService {
......
......@@ -3,12 +3,42 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ExtensionType, IExtensionIdentifier, IExtensionManifest } from 'vs/platform/extensions/common/extensions';
import { ExtensionType, IExtensionIdentifier, IExtensionManifest, IExtension } from 'vs/platform/extensions/common/extensions';
import { IExtensionManagementService, ILocalExtension, InstallExtensionEvent, DidInstallExtensionEvent, DidUninstallExtensionEvent, IGalleryExtension, IReportedExtension, IGalleryMetadata } from 'vs/platform/extensionManagement/common/extensionManagement';
import builtinExtensions from 'vs/platform/extensions/common/builtinExtensions';
import { Event } from 'vs/base/common/event';
import { URI } from 'vs/base/common/uri';
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
import { isWeb } from 'vs/base/common/platform';
let builtinExtensions: IExtension[] = [];
// Web
if (isWeb) {
// Running out of sources
if (Object.keys(builtinExtensions).length === 0) {
// Find builtin extensions by checking for DOM
const builtinExtensionsElement = document.getElementById('vscode-workbench-builtin-extensions');
const builtinExtensionsElementAttribute = builtinExtensionsElement ? builtinExtensionsElement.getAttribute('data-settings') : undefined;
if (builtinExtensionsElementAttribute) {
try {
builtinExtensions = JSON.parse(builtinExtensionsElementAttribute);
} catch (error) { /* ignore error*/ }
}
}
}
// Unknown
else {
throw new Error('Unable to resolve builtin extensions');
}
builtinExtensions = builtinExtensions.map(extension => ({
...extension,
location: URI.revive(extension.location),
readmeUrl: URI.revive(extension.readmeUrl),
changelogUrl: URI.revive(extension.changelogUrl),
}));
export class WebExtensionManagementService implements IExtensionManagementService {
......
......@@ -34,7 +34,7 @@ import 'vs/workbench/services/output/common/outputChannelModelService';
import 'vs/workbench/services/textfile/browser/browserTextFileService';
import 'vs/workbench/services/keybinding/browser/keymapService';
import 'vs/workbench/services/extensions/browser/extensionService';
import 'vs/workbench/services/extensionManagement/common/extensionManagementServerService';
import 'vs/workbench/services/extensionManagement/browser/extensionManagementServerService';
import 'vs/workbench/services/telemetry/browser/telemetryService';
import 'vs/workbench/services/configurationResolver/browser/configurationResolverService';
import 'vs/workbench/services/credentials/browser/credentialsService';
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册