Skip to content

Commit 80d8aff

Browse files
committed
fix layering issues
1 parent 2cda7ae commit 80d8aff

4 files changed

Lines changed: 34 additions & 44 deletions

File tree

src/vs/platform/extensions/common/builtinExtensions.ts

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.ts renamed to src/vs/workbench/services/extensionManagement/browser/extensionManagementServerService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
1313
import { ILabelService } from 'vs/platform/label/common/label';
1414
import { isWeb } from 'vs/base/common/platform';
1515
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
16-
import { WebExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/webExtensionManagementService';
16+
import { WebExtensionManagementService } from 'vs/workbench/services/extensionManagement/browser/webExtensionManagementService';
1717
import { IExtension } from 'vs/platform/extensions/common/extensions';
1818

1919
export class ExtensionManagementServerService implements IExtensionManagementServerService {

src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.ts renamed to src/vs/workbench/services/extensionManagement/browser/webExtensionManagementService.ts

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,42 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { ExtensionType, IExtensionIdentifier, IExtensionManifest } from 'vs/platform/extensions/common/extensions';
6+
import { ExtensionType, IExtensionIdentifier, IExtensionManifest, IExtension } from 'vs/platform/extensions/common/extensions';
77
import { IExtensionManagementService, ILocalExtension, InstallExtensionEvent, DidInstallExtensionEvent, DidUninstallExtensionEvent, IGalleryExtension, IReportedExtension, IGalleryMetadata } from 'vs/platform/extensionManagement/common/extensionManagement';
8-
import builtinExtensions from 'vs/platform/extensions/common/builtinExtensions';
98
import { Event } from 'vs/base/common/event';
109
import { URI } from 'vs/base/common/uri';
1110
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
11+
import { isWeb } from 'vs/base/common/platform';
12+
13+
let builtinExtensions: IExtension[] = [];
14+
15+
// Web
16+
if (isWeb) {
17+
18+
// Running out of sources
19+
if (Object.keys(builtinExtensions).length === 0) {
20+
// Find builtin extensions by checking for DOM
21+
const builtinExtensionsElement = document.getElementById('vscode-workbench-builtin-extensions');
22+
const builtinExtensionsElementAttribute = builtinExtensionsElement ? builtinExtensionsElement.getAttribute('data-settings') : undefined;
23+
if (builtinExtensionsElementAttribute) {
24+
try {
25+
builtinExtensions = JSON.parse(builtinExtensionsElementAttribute);
26+
} catch (error) { /* ignore error*/ }
27+
}
28+
}
29+
}
30+
31+
// Unknown
32+
else {
33+
throw new Error('Unable to resolve builtin extensions');
34+
}
35+
36+
builtinExtensions = builtinExtensions.map(extension => ({
37+
...extension,
38+
location: URI.revive(extension.location),
39+
readmeUrl: URI.revive(extension.readmeUrl),
40+
changelogUrl: URI.revive(extension.changelogUrl),
41+
}));
1242

1343
export class WebExtensionManagementService implements IExtensionManagementService {
1444

src/vs/workbench/workbench.web.main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import 'vs/workbench/services/output/common/outputChannelModelService';
3434
import 'vs/workbench/services/textfile/browser/browserTextFileService';
3535
import 'vs/workbench/services/keybinding/browser/keymapService';
3636
import 'vs/workbench/services/extensions/browser/extensionService';
37-
import 'vs/workbench/services/extensionManagement/common/extensionManagementServerService';
37+
import 'vs/workbench/services/extensionManagement/browser/extensionManagementServerService';
3838
import 'vs/workbench/services/telemetry/browser/telemetryService';
3939
import 'vs/workbench/services/configurationResolver/browser/configurationResolverService';
4040
import 'vs/workbench/services/credentials/browser/credentialsService';

0 commit comments

Comments
 (0)