mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-14 12:08:36 -05:00
Merge from vscode ad407028575a77ea387eb7cc219b323dc017b686
This commit is contained in:
committed by
Anthony Dresser
parent
404260b8a0
commit
4ad73d381c
@@ -29,38 +29,54 @@ export class BuiltinExtensionsScannerService implements IBuiltinExtensionsScanne
|
||||
@IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService,
|
||||
@IUriIdentityService uriIdentityService: IUriIdentityService,
|
||||
) {
|
||||
if (isWeb) {
|
||||
const builtinExtensionsServiceUrl = this._getBuiltinExtensionsUrl(environmentService);
|
||||
if (builtinExtensionsServiceUrl) {
|
||||
let scannedBuiltinExtensions: IScannedBuiltinExtension[] = [];
|
||||
|
||||
const builtinExtensionsServiceUrl = environmentService.options?.builtinExtensionsServiceUrl ? URI.parse(environmentService.options?.builtinExtensionsServiceUrl) : undefined;
|
||||
if (isWeb && builtinExtensionsServiceUrl) {
|
||||
|
||||
let scannedBuiltinExtensions: IScannedBuiltinExtension[] = [];
|
||||
|
||||
if (environmentService.isBuilt) {
|
||||
// Built time configuration (do NOT modify)
|
||||
scannedBuiltinExtensions = [/*BUILD->INSERT_BUILTIN_EXTENSIONS*/];
|
||||
} else {
|
||||
// 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 {
|
||||
scannedBuiltinExtensions = JSON.parse(builtinExtensionsElementAttribute);
|
||||
} catch (error) { /* ignore error*/ }
|
||||
if (environmentService.isBuilt) {
|
||||
// Built time configuration (do NOT modify)
|
||||
scannedBuiltinExtensions = [/*BUILD->INSERT_BUILTIN_EXTENSIONS*/];
|
||||
} else {
|
||||
// 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 {
|
||||
scannedBuiltinExtensions = JSON.parse(builtinExtensionsElementAttribute);
|
||||
} catch (error) { /* ignore error*/ }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.builtinExtensions = scannedBuiltinExtensions.map(e => ({
|
||||
identifier: { id: getGalleryExtensionId(e.packageJSON.publisher, e.packageJSON.name) },
|
||||
location: uriIdentityService.extUri.joinPath(builtinExtensionsServiceUrl!, e.extensionPath),
|
||||
type: ExtensionType.System,
|
||||
packageJSON: e.packageJSON,
|
||||
packageNLS: e.packageNLS,
|
||||
readmeUrl: e.readmePath ? uriIdentityService.extUri.joinPath(builtinExtensionsServiceUrl!, e.readmePath) : undefined,
|
||||
changelogUrl: e.changelogPath ? uriIdentityService.extUri.joinPath(builtinExtensionsServiceUrl!, e.changelogPath) : undefined,
|
||||
}));
|
||||
this.builtinExtensions = scannedBuiltinExtensions.map(e => ({
|
||||
identifier: { id: getGalleryExtensionId(e.packageJSON.publisher, e.packageJSON.name) },
|
||||
location: uriIdentityService.extUri.joinPath(builtinExtensionsServiceUrl!, e.extensionPath),
|
||||
type: ExtensionType.System,
|
||||
packageJSON: e.packageJSON,
|
||||
packageNLS: e.packageNLS,
|
||||
readmeUrl: e.readmePath ? uriIdentityService.extUri.joinPath(builtinExtensionsServiceUrl!, e.readmePath) : undefined,
|
||||
changelogUrl: e.changelogPath ? uriIdentityService.extUri.joinPath(builtinExtensionsServiceUrl!, e.changelogPath) : undefined,
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private _getBuiltinExtensionsUrl(environmentService: IWorkbenchEnvironmentService): URI | undefined {
|
||||
if (environmentService.options?.builtinExtensionsServiceUrl) {
|
||||
return URI.parse(environmentService.options?.builtinExtensionsServiceUrl);
|
||||
}
|
||||
let enableBuiltinExtensions: boolean;
|
||||
if (environmentService.options && typeof environmentService.options._enableBuiltinExtensions !== 'undefined') {
|
||||
enableBuiltinExtensions = environmentService.options._enableBuiltinExtensions;
|
||||
} else {
|
||||
enableBuiltinExtensions = environmentService.configuration.remoteAuthority ? false : true;
|
||||
}
|
||||
if (enableBuiltinExtensions) {
|
||||
return URI.parse(require.toUrl('../../../../../../extensions'));
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
async scanBuiltinExtensions(): Promise<IScannedExtension[]> {
|
||||
if (isWeb) {
|
||||
return this.builtinExtensions;
|
||||
|
||||
@@ -93,7 +93,7 @@ export class WebExtensionsScannerService extends Disposable implements IWebExten
|
||||
.map(e => ({
|
||||
identifier: { id: getGalleryExtensionId(e.packageJSON.publisher, e.packageJSON.name) },
|
||||
location: e.extensionLocation,
|
||||
type: ExtensionType.System,
|
||||
type: e.isBuiltin ? ExtensionType.System : ExtensionType.User,
|
||||
packageJSON: e.packageJSON,
|
||||
}))
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user