@theia/plugin-ext-vscode 1.27.0-next.9 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/plugin-vscode-commands-contribution.d.ts +27 -0
- package/lib/browser/plugin-vscode-commands-contribution.d.ts.map +1 -1
- package/lib/browser/plugin-vscode-commands-contribution.js +76 -1
- package/lib/browser/plugin-vscode-commands-contribution.js.map +1 -1
- package/lib/common/plugin-vscode-uri.d.ts +17 -0
- package/lib/common/plugin-vscode-uri.d.ts.map +1 -0
- package/lib/common/plugin-vscode-uri.js +52 -0
- package/lib/common/plugin-vscode-uri.js.map +1 -0
- package/lib/node/plugin-vscode-directory-handler.d.ts +7 -0
- package/lib/node/plugin-vscode-directory-handler.d.ts.map +1 -1
- package/lib/node/plugin-vscode-directory-handler.js +60 -4
- package/lib/node/plugin-vscode-directory-handler.js.map +1 -1
- package/lib/node/plugin-vscode-file-handler.d.ts +4 -0
- package/lib/node/plugin-vscode-file-handler.d.ts.map +1 -1
- package/lib/node/plugin-vscode-file-handler.js +24 -3
- package/lib/node/plugin-vscode-file-handler.js.map +1 -1
- package/lib/node/scanner-vscode.d.ts +0 -1
- package/lib/node/scanner-vscode.d.ts.map +1 -1
- package/lib/node/scanner-vscode.js +5 -5
- package/lib/node/scanner-vscode.js.map +1 -1
- package/package.json +14 -14
- package/src/browser/plugin-vscode-commands-contribution.ts +118 -1
- package/src/common/plugin-vscode-uri.ts +47 -0
- package/src/node/plugin-vscode-directory-handler.ts +55 -7
- package/src/node/plugin-vscode-file-handler.ts +24 -3
- package/src/node/scanner-vscode.ts +4 -4
|
@@ -23,6 +23,33 @@ export declare namespace VscodeCommands {
|
|
|
23
23
|
const DIFF: Command;
|
|
24
24
|
const INSTALL_FROM_VSIX: Command;
|
|
25
25
|
}
|
|
26
|
+
export interface UsbDeviceData {
|
|
27
|
+
readonly deviceClass: number;
|
|
28
|
+
readonly deviceProtocol: number;
|
|
29
|
+
readonly deviceSubclass: number;
|
|
30
|
+
readonly deviceVersionMajor: number;
|
|
31
|
+
readonly deviceVersionMinor: number;
|
|
32
|
+
readonly deviceVersionSubminor: number;
|
|
33
|
+
readonly manufacturerName?: string;
|
|
34
|
+
readonly productId: number;
|
|
35
|
+
readonly productName?: string;
|
|
36
|
+
readonly serialNumber?: string;
|
|
37
|
+
readonly usbVersionMajor: number;
|
|
38
|
+
readonly usbVersionMinor: number;
|
|
39
|
+
readonly usbVersionSubminor: number;
|
|
40
|
+
readonly vendorId: number;
|
|
41
|
+
}
|
|
42
|
+
export interface SerialPortData {
|
|
43
|
+
readonly usbVendorId?: number | undefined;
|
|
44
|
+
readonly usbProductId?: number | undefined;
|
|
45
|
+
}
|
|
46
|
+
export interface HidDeviceData {
|
|
47
|
+
readonly opened: boolean;
|
|
48
|
+
readonly vendorId: number;
|
|
49
|
+
readonly productId: number;
|
|
50
|
+
readonly productName: string;
|
|
51
|
+
readonly collections: [];
|
|
52
|
+
}
|
|
26
53
|
export declare class PluginVscodeCommandsContribution implements CommandContribution {
|
|
27
54
|
protected readonly commandService: CommandService;
|
|
28
55
|
protected readonly contextKeyService: ContextKeyService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAA+C,MAAM,aAAa,CAAC;AACzH,OAAO,EACH,gBAAgB,EAGhB,aAAa,EACb,iBAAiB,EAKpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAkB,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EACH,oBAAoB,EACvB,MAAM,qEAAqE,CAAC;AAgB7E,OAAO,EAAE,gBAAgB,EAAkB,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAGxE,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4DAA4D,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAQpF,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAS7F,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ const custom_editor_opener_1 = require("@theia/plugin-ext/lib/main/browser/custo
|
|
|
55
55
|
const nls_1 = require("@theia/core/lib/common/nls");
|
|
56
56
|
const window_service_1 = require("@theia/core/lib/browser/window/window-service");
|
|
57
57
|
const monaco = require("@theia/monaco-editor-core");
|
|
58
|
+
const plugin_vscode_uri_1 = require("../common/plugin-vscode-uri");
|
|
58
59
|
var VscodeCommands;
|
|
59
60
|
(function (VscodeCommands) {
|
|
60
61
|
VscodeCommands.OPEN = {
|
|
@@ -219,7 +220,7 @@ let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
|
|
|
219
220
|
commands.registerCommand({ id: VscodeCommands.INSTALL_FROM_VSIX.id }, {
|
|
220
221
|
execute: async (vsixUriOrExtensionId) => {
|
|
221
222
|
if (typeof vsixUriOrExtensionId === 'string') {
|
|
222
|
-
await this.pluginServer.deploy(
|
|
223
|
+
await this.pluginServer.deploy(plugin_vscode_uri_1.VSCodeExtensionUri.toVsxExtensionUriString(vsixUriOrExtensionId));
|
|
223
224
|
}
|
|
224
225
|
else {
|
|
225
226
|
const uriPath = (0, type_converters_1.isUriComponents)(vsixUriOrExtensionId) ? vscode_uri_1.URI.revive(vsixUriOrExtensionId).fsPath : await this.fileService.fsPath(vsixUriOrExtensionId);
|
|
@@ -555,6 +556,80 @@ let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
|
|
|
555
556
|
}
|
|
556
557
|
}
|
|
557
558
|
});
|
|
559
|
+
commands.registerCommand({
|
|
560
|
+
id: 'workbench.experimental.requestUsbDevice'
|
|
561
|
+
}, {
|
|
562
|
+
execute: async (options) => {
|
|
563
|
+
var _a;
|
|
564
|
+
const usb = navigator.usb;
|
|
565
|
+
if (!usb) {
|
|
566
|
+
return undefined;
|
|
567
|
+
}
|
|
568
|
+
const device = await usb.requestDevice({ filters: (_a = options === null || options === void 0 ? void 0 : options.filters) !== null && _a !== void 0 ? _a : [] });
|
|
569
|
+
if (!device) {
|
|
570
|
+
return undefined;
|
|
571
|
+
}
|
|
572
|
+
return {
|
|
573
|
+
deviceClass: device.deviceClass,
|
|
574
|
+
deviceProtocol: device.deviceProtocol,
|
|
575
|
+
deviceSubclass: device.deviceSubclass,
|
|
576
|
+
deviceVersionMajor: device.deviceVersionMajor,
|
|
577
|
+
deviceVersionMinor: device.deviceVersionMinor,
|
|
578
|
+
deviceVersionSubminor: device.deviceVersionSubminor,
|
|
579
|
+
manufacturerName: device.manufacturerName,
|
|
580
|
+
productId: device.productId,
|
|
581
|
+
productName: device.productName,
|
|
582
|
+
serialNumber: device.serialNumber,
|
|
583
|
+
usbVersionMajor: device.usbVersionMajor,
|
|
584
|
+
usbVersionMinor: device.usbVersionMinor,
|
|
585
|
+
usbVersionSubminor: device.usbVersionSubminor,
|
|
586
|
+
vendorId: device.vendorId,
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
});
|
|
590
|
+
commands.registerCommand({
|
|
591
|
+
id: 'workbench.experimental.requestSerialPort'
|
|
592
|
+
}, {
|
|
593
|
+
execute: async (options) => {
|
|
594
|
+
var _a;
|
|
595
|
+
const serial = navigator.serial;
|
|
596
|
+
if (!serial) {
|
|
597
|
+
return undefined;
|
|
598
|
+
}
|
|
599
|
+
const port = await serial.requestPort({ filters: (_a = options === null || options === void 0 ? void 0 : options.filters) !== null && _a !== void 0 ? _a : [] });
|
|
600
|
+
if (!port) {
|
|
601
|
+
return undefined;
|
|
602
|
+
}
|
|
603
|
+
const info = port.getInfo();
|
|
604
|
+
return {
|
|
605
|
+
usbVendorId: info.usbVendorId,
|
|
606
|
+
usbProductId: info.usbProductId
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
});
|
|
610
|
+
commands.registerCommand({
|
|
611
|
+
id: 'workbench.experimental.requestHidDevice'
|
|
612
|
+
}, {
|
|
613
|
+
execute: async (options) => {
|
|
614
|
+
var _a;
|
|
615
|
+
const hid = navigator.hid;
|
|
616
|
+
if (!hid) {
|
|
617
|
+
return undefined;
|
|
618
|
+
}
|
|
619
|
+
const devices = await hid.requestDevice({ filters: (_a = options === null || options === void 0 ? void 0 : options.filters) !== null && _a !== void 0 ? _a : [] });
|
|
620
|
+
if (!devices.length) {
|
|
621
|
+
return undefined;
|
|
622
|
+
}
|
|
623
|
+
const device = devices[0];
|
|
624
|
+
return {
|
|
625
|
+
opened: device.opened,
|
|
626
|
+
vendorId: device.vendorId,
|
|
627
|
+
productId: device.productId,
|
|
628
|
+
productName: device.productName,
|
|
629
|
+
collections: device.collections
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
});
|
|
558
633
|
}
|
|
559
634
|
async getCallHierarchyServiceForUri(resource) {
|
|
560
635
|
const reference = await this.textModelService.createModelReference(resource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import URI from '@theia/core/lib/common/uri';
|
|
2
|
+
/**
|
|
3
|
+
* Static methods for identifying a plugin as the target of the VSCode deployment system.
|
|
4
|
+
* In practice, this means that it will be resolved and deployed by the Open-VSX system.
|
|
5
|
+
*/
|
|
6
|
+
export declare namespace VSCodeExtensionUri {
|
|
7
|
+
const VSCODE_PREFIX = "vscode:extension/";
|
|
8
|
+
/**
|
|
9
|
+
* Should be used to prefix a plugin's ID to ensure that it is identified as a VSX Extension.
|
|
10
|
+
* @returns `vscode:extension/${id}`
|
|
11
|
+
*/
|
|
12
|
+
function toVsxExtensionUriString(id: string): string;
|
|
13
|
+
function toUri(name: string, namespace: string): URI;
|
|
14
|
+
function toUri(id: string): URI;
|
|
15
|
+
function toId(uri: URI): string | undefined;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=plugin-vscode-uri.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-vscode-uri.d.ts","sourceRoot":"","sources":["../../src/common/plugin-vscode-uri.ts"],"names":[],"mappings":"AAgBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C;;;GAGG;AACH,yBAAiB,kBAAkB,CAAC;IACzB,MAAM,aAAa,sBAAsB,CAAC;IACjD;;;OAGG;IACH,SAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1D;IACD,SAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;IAC5D,SAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC;IAQvC,SAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAKjD;CACJ"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2022 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.VSCodeExtensionUri = void 0;
|
|
19
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
20
|
+
/**
|
|
21
|
+
* Static methods for identifying a plugin as the target of the VSCode deployment system.
|
|
22
|
+
* In practice, this means that it will be resolved and deployed by the Open-VSX system.
|
|
23
|
+
*/
|
|
24
|
+
var VSCodeExtensionUri;
|
|
25
|
+
(function (VSCodeExtensionUri) {
|
|
26
|
+
VSCodeExtensionUri.VSCODE_PREFIX = 'vscode:extension/';
|
|
27
|
+
/**
|
|
28
|
+
* Should be used to prefix a plugin's ID to ensure that it is identified as a VSX Extension.
|
|
29
|
+
* @returns `vscode:extension/${id}`
|
|
30
|
+
*/
|
|
31
|
+
function toVsxExtensionUriString(id) {
|
|
32
|
+
return `${VSCodeExtensionUri.VSCODE_PREFIX}${id}`;
|
|
33
|
+
}
|
|
34
|
+
VSCodeExtensionUri.toVsxExtensionUriString = toVsxExtensionUriString;
|
|
35
|
+
function toUri(idOrName, namespace) {
|
|
36
|
+
if (typeof namespace === 'string') {
|
|
37
|
+
return new uri_1.default(toVsxExtensionUriString(`${namespace}.${idOrName}`));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return new uri_1.default(toVsxExtensionUriString(idOrName));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
VSCodeExtensionUri.toUri = toUri;
|
|
44
|
+
function toId(uri) {
|
|
45
|
+
if (uri.scheme === 'vscode' && uri.path.dir.toString() === 'extension') {
|
|
46
|
+
return uri.path.base;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
VSCodeExtensionUri.toId = toId;
|
|
51
|
+
})(VSCodeExtensionUri = exports.VSCodeExtensionUri || (exports.VSCodeExtensionUri = {}));
|
|
52
|
+
//# sourceMappingURL=plugin-vscode-uri.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-vscode-uri.js","sourceRoot":"","sources":["../../src/common/plugin-vscode-uri.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAEhF,oDAA6C;AAE7C;;;GAGG;AACH,IAAiB,kBAAkB,CAwBlC;AAxBD,WAAiB,kBAAkB;IAClB,gCAAa,GAAG,mBAAmB,CAAC;IACjD;;;OAGG;IACH,SAAgB,uBAAuB,CAAC,EAAU;QAC9C,OAAO,GAAG,mBAAA,aAAa,GAAG,EAAE,EAAE,CAAC;IACnC,CAAC;IAFe,0CAAuB,0BAEtC,CAAA;IAGD,SAAgB,KAAK,CAAC,QAAgB,EAAE,SAAkB;QACtD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAC/B,OAAO,IAAI,aAAG,CAAC,uBAAuB,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;SACvE;aAAM;YACH,OAAO,IAAI,aAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrD;IACL,CAAC;IANe,wBAAK,QAMpB,CAAA;IACD,SAAgB,IAAI,CAAC,GAAQ;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,WAAW,EAAE;YACpE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IALe,uBAAI,OAKnB,CAAA;AACL,CAAC,EAxBgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAwBlC"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { RecursivePartial } from '@theia/core';
|
|
2
2
|
import { PluginDeployerDirectoryHandler, PluginDeployerEntry, PluginDeployerDirectoryHandlerContext, PluginPackage } from '@theia/plugin-ext';
|
|
3
|
+
import { PluginCliContribution } from '@theia/plugin-ext/lib/main/node/plugin-cli-contribution';
|
|
3
4
|
export declare class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHandler {
|
|
5
|
+
protected readonly deploymentDirectory: import("@theia/core/lib/common/uri").URI;
|
|
6
|
+
protected readonly pluginCli: PluginCliContribution;
|
|
4
7
|
accept(plugin: PluginDeployerEntry): boolean;
|
|
8
|
+
protected attemptResolution(plugin: PluginDeployerEntry): boolean;
|
|
9
|
+
protected deriveMetadata(plugin: PluginDeployerEntry): boolean;
|
|
5
10
|
handle(context: PluginDeployerDirectoryHandlerContext): Promise<void>;
|
|
11
|
+
protected copyDirectory(context: PluginDeployerDirectoryHandlerContext): Promise<void>;
|
|
6
12
|
protected resolveFromSources(plugin: PluginDeployerEntry): boolean;
|
|
7
13
|
protected resolveFromVSIX(plugin: PluginDeployerEntry): boolean;
|
|
8
14
|
protected resolveFromNpmTarball(plugin: PluginDeployerEntry): boolean;
|
|
@@ -11,5 +17,6 @@ export declare class PluginVsCodeDirectoryHandler implements PluginDeployerDirec
|
|
|
11
17
|
pck?: RecursivePartial<PluginPackage>;
|
|
12
18
|
}): boolean;
|
|
13
19
|
protected requirePackage(pluginPath: string): PluginPackage | undefined;
|
|
20
|
+
protected getExtensionDir(context: PluginDeployerDirectoryHandlerContext): Promise<string>;
|
|
14
21
|
}
|
|
15
22
|
//# sourceMappingURL=plugin-vscode-directory-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-directory-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-vscode-directory-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACH,8BAA8B,EAAE,mBAAmB,EAAE,qCAAqC,EACjE,aAAa,EACzC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAEhG,qBACa,4BAA6B,YAAW,8BAA8B;IAE/E,SAAS,CAAC,QAAQ,CAAC,mBAAmB,2CAA+C;IAEtD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAEnF,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAK5C,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAIjE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAIxD,MAAM,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;cAK3D,aAAa,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5F,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKlE,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAQ/D,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKrE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE;QAC5D,UAAU,EAAE,MAAM,CAAA;QAClB,GAAG,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACxC,GAAG,OAAO;IAkBX,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;cAUvD,eAAe,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,MAAM,CAAC;CAGnG"}
|
|
@@ -20,20 +20,64 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
20
20
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
21
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
22
|
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
23
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
27
|
exports.PluginVsCodeDirectoryHandler = void 0;
|
|
25
|
-
const fs = require("@theia/core/shared/fs-extra");
|
|
26
28
|
const path = require("path");
|
|
29
|
+
const filenamify = require("filenamify");
|
|
30
|
+
const fs = require("@theia/core/shared/fs-extra");
|
|
27
31
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
28
32
|
const plugin_ext_1 = require("@theia/plugin-ext");
|
|
33
|
+
const node_1 = require("@theia/core/lib/node");
|
|
34
|
+
const temp_dir_util_1 = require("@theia/plugin-ext/lib/main/node/temp-dir-util");
|
|
35
|
+
const plugin_cli_contribution_1 = require("@theia/plugin-ext/lib/main/node/plugin-cli-contribution");
|
|
29
36
|
let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
|
|
37
|
+
constructor() {
|
|
38
|
+
this.deploymentDirectory = node_1.FileUri.create((0, temp_dir_util_1.getTempDir)('vscode-copied'));
|
|
39
|
+
}
|
|
30
40
|
accept(plugin) {
|
|
31
41
|
console.debug(`Resolving "${plugin.id()}" as a VS Code extension...`);
|
|
32
|
-
return this.
|
|
42
|
+
return this.attemptResolution(plugin);
|
|
43
|
+
}
|
|
44
|
+
attemptResolution(plugin) {
|
|
45
|
+
return this.resolvePackage(plugin) || this.deriveMetadata(plugin);
|
|
46
|
+
}
|
|
47
|
+
deriveMetadata(plugin) {
|
|
48
|
+
return this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
|
|
33
49
|
}
|
|
34
50
|
async handle(context) {
|
|
51
|
+
await this.copyDirectory(context);
|
|
35
52
|
context.pluginEntry().accept(plugin_ext_1.PluginDeployerEntryType.BACKEND);
|
|
36
53
|
}
|
|
54
|
+
async copyDirectory(context) {
|
|
55
|
+
if (this.pluginCli.copyUncompressedPlugins() && context.pluginEntry().type === plugin_ext_1.PluginType.User) {
|
|
56
|
+
const entry = context.pluginEntry();
|
|
57
|
+
const id = entry.id();
|
|
58
|
+
const pathToRestore = entry.path();
|
|
59
|
+
const origin = entry.originalPath();
|
|
60
|
+
const targetDir = await this.getExtensionDir(context);
|
|
61
|
+
try {
|
|
62
|
+
if (fs.existsSync(targetDir) || !entry.path().startsWith(origin)) {
|
|
63
|
+
console.log(`[${id}]: already copied.`);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
console.log(`[${id}]: copying to "${targetDir}"`);
|
|
67
|
+
await fs.mkdirp(node_1.FileUri.fsPath(this.deploymentDirectory));
|
|
68
|
+
await context.copy(origin, targetDir);
|
|
69
|
+
entry.updatePath(targetDir);
|
|
70
|
+
if (!this.deriveMetadata(entry)) {
|
|
71
|
+
throw new Error('Unable to resolve plugin metadata after copying');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
console.warn(`[${id}]: Error when copying.`, e);
|
|
77
|
+
entry.updatePath(pathToRestore);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
37
81
|
resolveFromSources(plugin) {
|
|
38
82
|
const pluginPath = plugin.path();
|
|
39
83
|
return this.resolvePackage(plugin, { pluginPath, pck: this.requirePackage(pluginPath) });
|
|
@@ -50,6 +94,7 @@ let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
|
|
|
50
94
|
return this.resolvePackage(plugin, { pluginPath, pck: this.requirePackage(pluginPath) });
|
|
51
95
|
}
|
|
52
96
|
resolvePackage(plugin, options) {
|
|
97
|
+
var _a;
|
|
53
98
|
const { pluginPath, pck } = options || {
|
|
54
99
|
pluginPath: plugin.path(),
|
|
55
100
|
pck: plugin.getValue('package.json')
|
|
@@ -57,6 +102,7 @@ let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
|
|
|
57
102
|
if (!pck || !pck.name || !pck.version || !pck.engines || !pck.engines.vscode) {
|
|
58
103
|
return false;
|
|
59
104
|
}
|
|
105
|
+
(_a = pck.publisher) !== null && _a !== void 0 ? _a : (pck.publisher = plugin_ext_1.PluginIdentifiers.UNPUBLISHED);
|
|
60
106
|
if (options) {
|
|
61
107
|
plugin.storeValue('package.json', pck);
|
|
62
108
|
plugin.rootPath = plugin.path();
|
|
@@ -66,14 +112,24 @@ let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
|
|
|
66
112
|
return true;
|
|
67
113
|
}
|
|
68
114
|
requirePackage(pluginPath) {
|
|
115
|
+
var _a;
|
|
69
116
|
try {
|
|
70
|
-
|
|
117
|
+
const plugin = fs.readJSONSync(path.join(pluginPath, 'package.json'));
|
|
118
|
+
(_a = plugin.publisher) !== null && _a !== void 0 ? _a : (plugin.publisher = plugin_ext_1.PluginIdentifiers.UNPUBLISHED);
|
|
119
|
+
return plugin;
|
|
71
120
|
}
|
|
72
|
-
catch (
|
|
121
|
+
catch (_b) {
|
|
73
122
|
return undefined;
|
|
74
123
|
}
|
|
75
124
|
}
|
|
125
|
+
async getExtensionDir(context) {
|
|
126
|
+
return node_1.FileUri.fsPath(this.deploymentDirectory.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
|
|
127
|
+
}
|
|
76
128
|
};
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, inversify_1.inject)(plugin_cli_contribution_1.PluginCliContribution),
|
|
131
|
+
__metadata("design:type", plugin_cli_contribution_1.PluginCliContribution)
|
|
132
|
+
], PluginVsCodeDirectoryHandler.prototype, "pluginCli", void 0);
|
|
77
133
|
PluginVsCodeDirectoryHandler = __decorate([
|
|
78
134
|
(0, inversify_1.injectable)()
|
|
79
135
|
], PluginVsCodeDirectoryHandler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-directory-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF
|
|
1
|
+
{"version":3,"file":"plugin-vscode-directory-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ export declare class PluginVsCodeFileHandler implements PluginDeployerFileHandle
|
|
|
6
6
|
accept(resolvedPlugin: PluginDeployerEntry): boolean;
|
|
7
7
|
handle(context: PluginDeployerFileHandlerContext): Promise<void>;
|
|
8
8
|
protected getExtensionDir(context: PluginDeployerFileHandlerContext): Promise<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Ensures that a user-installed plugin file is transferred to the user extension folder.
|
|
11
|
+
*/
|
|
12
|
+
protected ensureDiscoverability(context: PluginDeployerFileHandlerContext): Promise<void>;
|
|
9
13
|
protected decompress(extensionDir: string, context: PluginDeployerFileHandlerContext): Promise<void>;
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=plugin-vscode-file-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-file-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,gCAAgC,EAAc,MAAM,mBAAmB,CAAC;AAMjI,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-vscode-file-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,gCAAgC,EAAc,MAAM,mBAAmB,CAAC;AAMjI,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,qBACa,uBAAwB,YAAW,yBAAyB;IAGrE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiD;IAExF,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO;IAQ9C,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cAetD,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3F;;OAEG;cACa,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cAoB/E,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;CAW7G"}
|
|
@@ -33,6 +33,7 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
33
33
|
const temp_dir_util_1 = require("@theia/plugin-ext/lib/main/node/temp-dir-util");
|
|
34
34
|
const plugin_vscode_environment_1 = require("../common/plugin-vscode-environment");
|
|
35
35
|
const file_uri_1 = require("@theia/core/lib/node/file-uri");
|
|
36
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
36
37
|
let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
|
|
37
38
|
constructor() {
|
|
38
39
|
this.systemExtensionsDirUri = file_uri_1.FileUri.create((0, temp_dir_util_1.getTempDir)('vscode-unpacked'));
|
|
@@ -45,6 +46,7 @@ let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
|
|
|
45
46
|
return !!pluginPath && pluginPath.endsWith('.vsix') || pluginPath.endsWith('.tgz');
|
|
46
47
|
}
|
|
47
48
|
async handle(context) {
|
|
49
|
+
await this.ensureDiscoverability(context);
|
|
48
50
|
const id = context.pluginEntry().id();
|
|
49
51
|
const extensionDir = await this.getExtensionDir(context);
|
|
50
52
|
console.log(`[${id}]: trying to decompress into "${extensionDir}"...`);
|
|
@@ -58,11 +60,30 @@ let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
|
|
|
58
60
|
context.pluginEntry().updatePath(extensionDir);
|
|
59
61
|
}
|
|
60
62
|
async getExtensionDir(context) {
|
|
61
|
-
|
|
63
|
+
return file_uri_1.FileUri.fsPath(this.systemExtensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Ensures that a user-installed plugin file is transferred to the user extension folder.
|
|
67
|
+
*/
|
|
68
|
+
async ensureDiscoverability(context) {
|
|
62
69
|
if (context.pluginEntry().type === plugin_ext_1.PluginType.User) {
|
|
63
|
-
|
|
70
|
+
const userExtensionsDir = await this.environment.getExtensionsDirUri();
|
|
71
|
+
const currentPath = context.pluginEntry().path();
|
|
72
|
+
if (!userExtensionsDir.isEqualOrParent(new uri_1.default(currentPath)) && !userExtensionsDir.isEqualOrParent(new uri_1.default(context.pluginEntry().originalPath()))) {
|
|
73
|
+
try {
|
|
74
|
+
const newPath = file_uri_1.FileUri.fsPath(userExtensionsDir.resolve(path.basename(currentPath)));
|
|
75
|
+
await fs.mkdirp(file_uri_1.FileUri.fsPath(userExtensionsDir));
|
|
76
|
+
await new Promise((resolve, reject) => {
|
|
77
|
+
fs.copyFile(currentPath, newPath, error => error ? reject(error) : resolve());
|
|
78
|
+
});
|
|
79
|
+
context.pluginEntry().updatePath(newPath);
|
|
80
|
+
context.pluginEntry().storeValue('sourceLocations', [newPath]);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
console.error(`[${context.pluginEntry().id}]: Failed to copy to user directory. Future sessions may not have access to this plugin.`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
64
86
|
}
|
|
65
|
-
return file_uri_1.FileUri.fsPath(extensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
|
|
66
87
|
}
|
|
67
88
|
async decompress(extensionDir, context) {
|
|
68
89
|
await context.unzip(context.pluginEntry().path(), extensionDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-file-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,kDAAiI;AACjI,kDAAkD;AAClD,6BAA6B;AAC7B,yCAAyC;AACzC,4DAAkE;AAClE,iFAA2E;AAC3E,mFAA8E;AAC9E,4DAAwD;
|
|
1
|
+
{"version":3,"file":"plugin-vscode-file-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { PluginScanner, PluginEngine, PluginPackage, PluginModel, PluginLifecycl
|
|
|
2
2
|
import { TheiaPluginScanner } from '@theia/plugin-ext/lib/hosted/node/scanners/scanner-theia';
|
|
3
3
|
export declare class VsCodePluginScanner extends TheiaPluginScanner implements PluginScanner {
|
|
4
4
|
private readonly VSCODE_TYPE;
|
|
5
|
-
private readonly VSCODE_PREFIX;
|
|
6
5
|
get apiType(): PluginEngine;
|
|
7
6
|
getModel(plugin: PluginPackage): PluginModel;
|
|
8
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-vscode.d.ts","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"scanner-vscode.d.ts","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAwE,MAAM,mBAAmB,CAAC;AACnL,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAM9F,qBACa,mBAAoB,SAAQ,kBAAmB,YAAW,aAAa;IAEhF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD,IAAa,OAAO,IAAI,YAAY,CAEnC;IAEQ,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IA0CrD;;OAEG;IACM,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAiBvE,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe;CAWhE"}
|
|
@@ -27,26 +27,26 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
27
27
|
const plugin_ext_1 = require("@theia/plugin-ext");
|
|
28
28
|
const scanner_theia_1 = require("@theia/plugin-ext/lib/hosted/node/scanners/scanner-theia");
|
|
29
29
|
const environment_1 = require("@theia/core/shared/@theia/application-package/lib/environment");
|
|
30
|
+
const plugin_vscode_uri_1 = require("../common/plugin-vscode-uri");
|
|
30
31
|
const uiKind = environment_1.environment.electron.is() ? plugin_ext_1.UIKind.Desktop : plugin_ext_1.UIKind.Web;
|
|
31
32
|
let VsCodePluginScanner = class VsCodePluginScanner extends scanner_theia_1.TheiaPluginScanner {
|
|
32
33
|
constructor() {
|
|
33
34
|
super(...arguments);
|
|
34
35
|
this.VSCODE_TYPE = 'vscode';
|
|
35
|
-
this.VSCODE_PREFIX = 'vscode:extension/';
|
|
36
36
|
}
|
|
37
37
|
get apiType() {
|
|
38
38
|
return this.VSCODE_TYPE;
|
|
39
39
|
}
|
|
40
40
|
getModel(plugin) {
|
|
41
|
-
var _a;
|
|
41
|
+
var _a, _b;
|
|
42
42
|
// publisher can be empty on vscode extension development
|
|
43
|
-
const publisher = plugin.publisher
|
|
43
|
+
const publisher = (_a = plugin.publisher) !== null && _a !== void 0 ? _a : plugin_ext_1.PluginIdentifiers.UNPUBLISHED;
|
|
44
44
|
// Only one entrypoint is valid in vscode extensions
|
|
45
45
|
// Mimic choosing frontend (web extension) and backend (local/remote extension) as described here:
|
|
46
46
|
// https://code.visualstudio.com/api/advanced-topics/extension-host#preferred-extension-location
|
|
47
47
|
const entryPoint = {};
|
|
48
48
|
// Act like codespaces when run in the browser (UIKind === 'web' and extensionKind is ['ui'])
|
|
49
|
-
const preferFrontend = uiKind === plugin_ext_1.UIKind.Web && (((
|
|
49
|
+
const preferFrontend = uiKind === plugin_ext_1.UIKind.Web && (((_b = plugin.extensionKind) === null || _b === void 0 ? void 0 : _b.length) === 1 && plugin.extensionKind[0] === 'ui');
|
|
50
50
|
if (plugin.browser && (!plugin.main || preferFrontend)) {
|
|
51
51
|
// Use frontend if available and there is no backend or frontend is preferred
|
|
52
52
|
entryPoint.frontend = plugin.browser;
|
|
@@ -88,7 +88,7 @@ let VsCodePluginScanner = class VsCodePluginScanner extends scanner_theia_1.Thei
|
|
|
88
88
|
// Iterate over the list of dependencies present, and add them to the collection.
|
|
89
89
|
dependency.forEach((dep) => {
|
|
90
90
|
const dependencyId = dep.toLowerCase();
|
|
91
|
-
dependencies.set(dependencyId,
|
|
91
|
+
dependencies.set(dependencyId, plugin_vscode_uri_1.VSCodeExtensionUri.toVsxExtensionUriString(dependencyId));
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,6BAA6B;AAC7B,4DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/plugin-ext-vscode",
|
|
3
|
-
"version": "1.27.0
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "Theia - Plugin Extension for VsCode",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/callhierarchy": "1.27.0
|
|
7
|
-
"@theia/core": "1.27.0
|
|
8
|
-
"@theia/editor": "1.27.0
|
|
9
|
-
"@theia/filesystem": "1.27.0
|
|
10
|
-
"@theia/monaco": "1.27.0
|
|
6
|
+
"@theia/callhierarchy": "1.27.0",
|
|
7
|
+
"@theia/core": "1.27.0",
|
|
8
|
+
"@theia/editor": "1.27.0",
|
|
9
|
+
"@theia/filesystem": "1.27.0",
|
|
10
|
+
"@theia/monaco": "1.27.0",
|
|
11
11
|
"@theia/monaco-editor-core": "1.65.2",
|
|
12
|
-
"@theia/navigator": "1.27.0
|
|
13
|
-
"@theia/plugin": "1.27.0
|
|
14
|
-
"@theia/plugin-ext": "1.27.0
|
|
15
|
-
"@theia/terminal": "1.27.0
|
|
16
|
-
"@theia/userstorage": "1.27.0
|
|
17
|
-
"@theia/workspace": "1.27.0
|
|
12
|
+
"@theia/navigator": "1.27.0",
|
|
13
|
+
"@theia/plugin": "1.27.0",
|
|
14
|
+
"@theia/plugin-ext": "1.27.0",
|
|
15
|
+
"@theia/terminal": "1.27.0",
|
|
16
|
+
"@theia/userstorage": "1.27.0",
|
|
17
|
+
"@theia/workspace": "1.27.0",
|
|
18
18
|
"@types/request": "^2.0.3",
|
|
19
19
|
"filenamify": "^4.1.0",
|
|
20
20
|
"request": "^2.82.0"
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
"watch": "theiaext watch"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@theia/ext-scripts": "1.
|
|
56
|
+
"@theia/ext-scripts": "1.27.0"
|
|
57
57
|
},
|
|
58
58
|
"nyc": {
|
|
59
59
|
"extends": "../../configs/nyc.json"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "b952ad743a97821dee94787e946f5a288174d4e8"
|
|
62
62
|
}
|
|
@@ -78,6 +78,7 @@ import { CustomEditorOpener } from '@theia/plugin-ext/lib/main/browser/custom-ed
|
|
|
78
78
|
import { nls } from '@theia/core/lib/common/nls';
|
|
79
79
|
import { WindowService } from '@theia/core/lib/browser/window/window-service';
|
|
80
80
|
import * as monaco from '@theia/monaco-editor-core';
|
|
81
|
+
import { VSCodeExtensionUri } from '../common/plugin-vscode-uri';
|
|
81
82
|
|
|
82
83
|
export namespace VscodeCommands {
|
|
83
84
|
export const OPEN: Command = {
|
|
@@ -101,6 +102,42 @@ export namespace VscodeCommands {
|
|
|
101
102
|
};
|
|
102
103
|
}
|
|
103
104
|
|
|
105
|
+
// https://wicg.github.io/webusb/
|
|
106
|
+
|
|
107
|
+
export interface UsbDeviceData {
|
|
108
|
+
readonly deviceClass: number;
|
|
109
|
+
readonly deviceProtocol: number;
|
|
110
|
+
readonly deviceSubclass: number;
|
|
111
|
+
readonly deviceVersionMajor: number;
|
|
112
|
+
readonly deviceVersionMinor: number;
|
|
113
|
+
readonly deviceVersionSubminor: number;
|
|
114
|
+
readonly manufacturerName?: string;
|
|
115
|
+
readonly productId: number;
|
|
116
|
+
readonly productName?: string;
|
|
117
|
+
readonly serialNumber?: string;
|
|
118
|
+
readonly usbVersionMajor: number;
|
|
119
|
+
readonly usbVersionMinor: number;
|
|
120
|
+
readonly usbVersionSubminor: number;
|
|
121
|
+
readonly vendorId: number;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// https://wicg.github.io/serial/
|
|
125
|
+
|
|
126
|
+
export interface SerialPortData {
|
|
127
|
+
readonly usbVendorId?: number | undefined;
|
|
128
|
+
readonly usbProductId?: number | undefined;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// https://wicg.github.io/webhid/
|
|
132
|
+
|
|
133
|
+
export interface HidDeviceData {
|
|
134
|
+
readonly opened: boolean;
|
|
135
|
+
readonly vendorId: number;
|
|
136
|
+
readonly productId: number;
|
|
137
|
+
readonly productName: string;
|
|
138
|
+
readonly collections: [];
|
|
139
|
+
}
|
|
140
|
+
|
|
104
141
|
@injectable()
|
|
105
142
|
export class PluginVscodeCommandsContribution implements CommandContribution {
|
|
106
143
|
@inject(CommandService)
|
|
@@ -305,7 +342,7 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
|
|
|
305
342
|
commands.registerCommand({ id: VscodeCommands.INSTALL_FROM_VSIX.id }, {
|
|
306
343
|
execute: async (vsixUriOrExtensionId: TheiaURI | UriComponents | string) => {
|
|
307
344
|
if (typeof vsixUriOrExtensionId === 'string') {
|
|
308
|
-
await this.pluginServer.deploy(
|
|
345
|
+
await this.pluginServer.deploy(VSCodeExtensionUri.toVsxExtensionUriString(vsixUriOrExtensionId));
|
|
309
346
|
} else {
|
|
310
347
|
const uriPath = isUriComponents(vsixUriOrExtensionId) ? URI.revive(vsixUriOrExtensionId).fsPath : await this.fileService.fsPath(vsixUriOrExtensionId);
|
|
311
348
|
await this.pluginServer.deploy(`local-file:${uriPath}`);
|
|
@@ -725,6 +762,86 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
|
|
|
725
762
|
}
|
|
726
763
|
}
|
|
727
764
|
});
|
|
765
|
+
|
|
766
|
+
commands.registerCommand({
|
|
767
|
+
id: 'workbench.experimental.requestUsbDevice'
|
|
768
|
+
}, {
|
|
769
|
+
execute: async (options?: { filters?: unknown[] }): Promise<UsbDeviceData | undefined> => {
|
|
770
|
+
const usb = (navigator as any).usb;
|
|
771
|
+
if (!usb) {
|
|
772
|
+
return undefined;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
const device = await usb.requestDevice({ filters: options?.filters ?? [] });
|
|
776
|
+
if (!device) {
|
|
777
|
+
return undefined;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
return {
|
|
781
|
+
deviceClass: device.deviceClass,
|
|
782
|
+
deviceProtocol: device.deviceProtocol,
|
|
783
|
+
deviceSubclass: device.deviceSubclass,
|
|
784
|
+
deviceVersionMajor: device.deviceVersionMajor,
|
|
785
|
+
deviceVersionMinor: device.deviceVersionMinor,
|
|
786
|
+
deviceVersionSubminor: device.deviceVersionSubminor,
|
|
787
|
+
manufacturerName: device.manufacturerName,
|
|
788
|
+
productId: device.productId,
|
|
789
|
+
productName: device.productName,
|
|
790
|
+
serialNumber: device.serialNumber,
|
|
791
|
+
usbVersionMajor: device.usbVersionMajor,
|
|
792
|
+
usbVersionMinor: device.usbVersionMinor,
|
|
793
|
+
usbVersionSubminor: device.usbVersionSubminor,
|
|
794
|
+
vendorId: device.vendorId,
|
|
795
|
+
};
|
|
796
|
+
}
|
|
797
|
+
});
|
|
798
|
+
|
|
799
|
+
commands.registerCommand({
|
|
800
|
+
id: 'workbench.experimental.requestSerialPort'
|
|
801
|
+
}, {
|
|
802
|
+
execute: async (options?: { filters?: unknown[] }): Promise<SerialPortData | undefined> => {
|
|
803
|
+
const serial = (navigator as any).serial;
|
|
804
|
+
if (!serial) {
|
|
805
|
+
return undefined;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
const port = await serial.requestPort({ filters: options?.filters ?? [] });
|
|
809
|
+
if (!port) {
|
|
810
|
+
return undefined;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
const info = port.getInfo();
|
|
814
|
+
return {
|
|
815
|
+
usbVendorId: info.usbVendorId,
|
|
816
|
+
usbProductId: info.usbProductId
|
|
817
|
+
};
|
|
818
|
+
}
|
|
819
|
+
});
|
|
820
|
+
|
|
821
|
+
commands.registerCommand({
|
|
822
|
+
id: 'workbench.experimental.requestHidDevice'
|
|
823
|
+
}, {
|
|
824
|
+
execute: async (options?: { filters?: unknown[] }): Promise<HidDeviceData | undefined> => {
|
|
825
|
+
const hid = (navigator as any).hid;
|
|
826
|
+
if (!hid) {
|
|
827
|
+
return undefined;
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
const devices = await hid.requestDevice({ filters: options?.filters ?? [] });
|
|
831
|
+
if (!devices.length) {
|
|
832
|
+
return undefined;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
const device = devices[0];
|
|
836
|
+
return {
|
|
837
|
+
opened: device.opened,
|
|
838
|
+
vendorId: device.vendorId,
|
|
839
|
+
productId: device.productId,
|
|
840
|
+
productName: device.productName,
|
|
841
|
+
collections: device.collections
|
|
842
|
+
};
|
|
843
|
+
}
|
|
844
|
+
});
|
|
728
845
|
}
|
|
729
846
|
|
|
730
847
|
protected async getCallHierarchyServiceForUri(resource: URI): Promise<CallHierarchyService | undefined> {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2022 Ericsson and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import URI from '@theia/core/lib/common/uri';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Static methods for identifying a plugin as the target of the VSCode deployment system.
|
|
21
|
+
* In practice, this means that it will be resolved and deployed by the Open-VSX system.
|
|
22
|
+
*/
|
|
23
|
+
export namespace VSCodeExtensionUri {
|
|
24
|
+
export const VSCODE_PREFIX = 'vscode:extension/';
|
|
25
|
+
/**
|
|
26
|
+
* Should be used to prefix a plugin's ID to ensure that it is identified as a VSX Extension.
|
|
27
|
+
* @returns `vscode:extension/${id}`
|
|
28
|
+
*/
|
|
29
|
+
export function toVsxExtensionUriString(id: string): string {
|
|
30
|
+
return `${VSCODE_PREFIX}${id}`;
|
|
31
|
+
}
|
|
32
|
+
export function toUri(name: string, namespace: string): URI;
|
|
33
|
+
export function toUri(id: string): URI;
|
|
34
|
+
export function toUri(idOrName: string, namespace?: string): URI {
|
|
35
|
+
if (typeof namespace === 'string') {
|
|
36
|
+
return new URI(toVsxExtensionUriString(`${namespace}.${idOrName}`));
|
|
37
|
+
} else {
|
|
38
|
+
return new URI(toVsxExtensionUriString(idOrName));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export function toId(uri: URI): string | undefined {
|
|
42
|
+
if (uri.scheme === 'vscode' && uri.path.dir.toString() === 'extension') {
|
|
43
|
+
return uri.path.base;
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -14,28 +14,70 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import * as fs from '@theia/core/shared/fs-extra';
|
|
18
17
|
import * as path from 'path';
|
|
19
|
-
import
|
|
18
|
+
import * as filenamify from 'filenamify';
|
|
19
|
+
import * as fs from '@theia/core/shared/fs-extra';
|
|
20
|
+
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
20
21
|
import { RecursivePartial } from '@theia/core';
|
|
21
22
|
import {
|
|
22
|
-
PluginDeployerDirectoryHandler,
|
|
23
|
-
|
|
24
|
-
PluginDeployerEntryType, PluginPackage
|
|
23
|
+
PluginDeployerDirectoryHandler, PluginDeployerEntry, PluginDeployerDirectoryHandlerContext,
|
|
24
|
+
PluginDeployerEntryType, PluginPackage, PluginType, PluginIdentifiers
|
|
25
25
|
} from '@theia/plugin-ext';
|
|
26
|
+
import { FileUri } from '@theia/core/lib/node';
|
|
27
|
+
import { getTempDir } from '@theia/plugin-ext/lib/main/node/temp-dir-util';
|
|
28
|
+
import { PluginCliContribution } from '@theia/plugin-ext/lib/main/node/plugin-cli-contribution';
|
|
26
29
|
|
|
27
30
|
@injectable()
|
|
28
31
|
export class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHandler {
|
|
29
32
|
|
|
33
|
+
protected readonly deploymentDirectory = FileUri.create(getTempDir('vscode-copied'));
|
|
34
|
+
|
|
35
|
+
@inject(PluginCliContribution) protected readonly pluginCli: PluginCliContribution;
|
|
36
|
+
|
|
30
37
|
accept(plugin: PluginDeployerEntry): boolean {
|
|
31
38
|
console.debug(`Resolving "${plugin.id()}" as a VS Code extension...`);
|
|
32
|
-
return this.
|
|
39
|
+
return this.attemptResolution(plugin);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
protected attemptResolution(plugin: PluginDeployerEntry): boolean {
|
|
43
|
+
return this.resolvePackage(plugin) || this.deriveMetadata(plugin);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected deriveMetadata(plugin: PluginDeployerEntry): boolean {
|
|
47
|
+
return this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
|
|
33
48
|
}
|
|
34
49
|
|
|
35
50
|
async handle(context: PluginDeployerDirectoryHandlerContext): Promise<void> {
|
|
51
|
+
await this.copyDirectory(context);
|
|
36
52
|
context.pluginEntry().accept(PluginDeployerEntryType.BACKEND);
|
|
37
53
|
}
|
|
38
54
|
|
|
55
|
+
protected async copyDirectory(context: PluginDeployerDirectoryHandlerContext): Promise<void> {
|
|
56
|
+
if (this.pluginCli.copyUncompressedPlugins() && context.pluginEntry().type === PluginType.User) {
|
|
57
|
+
const entry = context.pluginEntry();
|
|
58
|
+
const id = entry.id();
|
|
59
|
+
const pathToRestore = entry.path();
|
|
60
|
+
const origin = entry.originalPath();
|
|
61
|
+
const targetDir = await this.getExtensionDir(context);
|
|
62
|
+
try {
|
|
63
|
+
if (fs.existsSync(targetDir) || !entry.path().startsWith(origin)) {
|
|
64
|
+
console.log(`[${id}]: already copied.`);
|
|
65
|
+
} else {
|
|
66
|
+
console.log(`[${id}]: copying to "${targetDir}"`);
|
|
67
|
+
await fs.mkdirp(FileUri.fsPath(this.deploymentDirectory));
|
|
68
|
+
await context.copy(origin, targetDir);
|
|
69
|
+
entry.updatePath(targetDir);
|
|
70
|
+
if (!this.deriveMetadata(entry)) {
|
|
71
|
+
throw new Error('Unable to resolve plugin metadata after copying');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
} catch (e) {
|
|
75
|
+
console.warn(`[${id}]: Error when copying.`, e);
|
|
76
|
+
entry.updatePath(pathToRestore);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
39
81
|
protected resolveFromSources(plugin: PluginDeployerEntry): boolean {
|
|
40
82
|
const pluginPath = plugin.path();
|
|
41
83
|
return this.resolvePackage(plugin, { pluginPath, pck: this.requirePackage(pluginPath) });
|
|
@@ -65,6 +107,7 @@ export class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHand
|
|
|
65
107
|
if (!pck || !pck.name || !pck.version || !pck.engines || !pck.engines.vscode) {
|
|
66
108
|
return false;
|
|
67
109
|
}
|
|
110
|
+
pck.publisher ??= PluginIdentifiers.UNPUBLISHED;
|
|
68
111
|
if (options) {
|
|
69
112
|
plugin.storeValue('package.json', pck);
|
|
70
113
|
plugin.rootPath = plugin.path();
|
|
@@ -76,10 +119,15 @@ export class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHand
|
|
|
76
119
|
|
|
77
120
|
protected requirePackage(pluginPath: string): PluginPackage | undefined {
|
|
78
121
|
try {
|
|
79
|
-
|
|
122
|
+
const plugin = fs.readJSONSync(path.join(pluginPath, 'package.json')) as PluginPackage;
|
|
123
|
+
plugin.publisher ??= PluginIdentifiers.UNPUBLISHED;
|
|
124
|
+
return plugin;
|
|
80
125
|
} catch {
|
|
81
126
|
return undefined;
|
|
82
127
|
}
|
|
83
128
|
}
|
|
84
129
|
|
|
130
|
+
protected async getExtensionDir(context: PluginDeployerDirectoryHandlerContext): Promise<string> {
|
|
131
|
+
return FileUri.fsPath(this.deploymentDirectory.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
|
|
132
|
+
}
|
|
85
133
|
}
|
|
@@ -22,6 +22,7 @@ import { injectable, inject } from '@theia/core/shared/inversify';
|
|
|
22
22
|
import { getTempDir } from '@theia/plugin-ext/lib/main/node/temp-dir-util';
|
|
23
23
|
import { PluginVSCodeEnvironment } from '../common/plugin-vscode-environment';
|
|
24
24
|
import { FileUri } from '@theia/core/lib/node/file-uri';
|
|
25
|
+
import URI from '@theia/core/lib/common/uri';
|
|
25
26
|
|
|
26
27
|
@injectable()
|
|
27
28
|
export class PluginVsCodeFileHandler implements PluginDeployerFileHandler {
|
|
@@ -40,6 +41,7 @@ export class PluginVsCodeFileHandler implements PluginDeployerFileHandler {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
async handle(context: PluginDeployerFileHandlerContext): Promise<void> {
|
|
44
|
+
await this.ensureDiscoverability(context);
|
|
43
45
|
const id = context.pluginEntry().id();
|
|
44
46
|
const extensionDir = await this.getExtensionDir(context);
|
|
45
47
|
console.log(`[${id}]: trying to decompress into "${extensionDir}"...`);
|
|
@@ -54,11 +56,30 @@ export class PluginVsCodeFileHandler implements PluginDeployerFileHandler {
|
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
protected async getExtensionDir(context: PluginDeployerFileHandlerContext): Promise<string> {
|
|
57
|
-
|
|
59
|
+
return FileUri.fsPath(this.systemExtensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Ensures that a user-installed plugin file is transferred to the user extension folder.
|
|
64
|
+
*/
|
|
65
|
+
protected async ensureDiscoverability(context: PluginDeployerFileHandlerContext): Promise<void> {
|
|
58
66
|
if (context.pluginEntry().type === PluginType.User) {
|
|
59
|
-
|
|
67
|
+
const userExtensionsDir = await this.environment.getExtensionsDirUri();
|
|
68
|
+
const currentPath = context.pluginEntry().path();
|
|
69
|
+
if (!userExtensionsDir.isEqualOrParent(new URI(currentPath)) && !userExtensionsDir.isEqualOrParent(new URI(context.pluginEntry().originalPath()))) {
|
|
70
|
+
try {
|
|
71
|
+
const newPath = FileUri.fsPath(userExtensionsDir.resolve(path.basename(currentPath)));
|
|
72
|
+
await fs.mkdirp(FileUri.fsPath(userExtensionsDir));
|
|
73
|
+
await new Promise<void>((resolve, reject) => {
|
|
74
|
+
fs.copyFile(currentPath, newPath, error => error ? reject(error) : resolve());
|
|
75
|
+
});
|
|
76
|
+
context.pluginEntry().updatePath(newPath);
|
|
77
|
+
context.pluginEntry().storeValue('sourceLocations', [newPath]);
|
|
78
|
+
} catch (e) {
|
|
79
|
+
console.error(`[${context.pluginEntry().id}]: Failed to copy to user directory. Future sessions may not have access to this plugin.`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
60
82
|
}
|
|
61
|
-
return FileUri.fsPath(extensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
|
|
62
83
|
}
|
|
63
84
|
|
|
64
85
|
protected async decompress(extensionDir: string, context: PluginDeployerFileHandlerContext): Promise<void> {
|
|
@@ -16,9 +16,10 @@
|
|
|
16
16
|
|
|
17
17
|
import * as path from 'path';
|
|
18
18
|
import { injectable } from '@theia/core/shared/inversify';
|
|
19
|
-
import { PluginScanner, PluginEngine, PluginPackage, PluginModel, PluginLifecycle, PluginEntryPoint, buildFrontendModuleName, UIKind } from '@theia/plugin-ext';
|
|
19
|
+
import { PluginScanner, PluginEngine, PluginPackage, PluginModel, PluginLifecycle, PluginEntryPoint, buildFrontendModuleName, UIKind, PluginIdentifiers } from '@theia/plugin-ext';
|
|
20
20
|
import { TheiaPluginScanner } from '@theia/plugin-ext/lib/hosted/node/scanners/scanner-theia';
|
|
21
21
|
import { environment } from '@theia/core/shared/@theia/application-package/lib/environment';
|
|
22
|
+
import { VSCodeExtensionUri } from '../common/plugin-vscode-uri';
|
|
22
23
|
|
|
23
24
|
const uiKind = environment.electron.is() ? UIKind.Desktop : UIKind.Web;
|
|
24
25
|
|
|
@@ -26,7 +27,6 @@ const uiKind = environment.electron.is() ? UIKind.Desktop : UIKind.Web;
|
|
|
26
27
|
export class VsCodePluginScanner extends TheiaPluginScanner implements PluginScanner {
|
|
27
28
|
|
|
28
29
|
private readonly VSCODE_TYPE: PluginEngine = 'vscode';
|
|
29
|
-
private readonly VSCODE_PREFIX: string = 'vscode:extension/';
|
|
30
30
|
|
|
31
31
|
override get apiType(): PluginEngine {
|
|
32
32
|
return this.VSCODE_TYPE;
|
|
@@ -34,7 +34,7 @@ export class VsCodePluginScanner extends TheiaPluginScanner implements PluginSca
|
|
|
34
34
|
|
|
35
35
|
override getModel(plugin: PluginPackage): PluginModel {
|
|
36
36
|
// publisher can be empty on vscode extension development
|
|
37
|
-
const publisher = plugin.publisher
|
|
37
|
+
const publisher = plugin.publisher ?? PluginIdentifiers.UNPUBLISHED;
|
|
38
38
|
|
|
39
39
|
// Only one entrypoint is valid in vscode extensions
|
|
40
40
|
// Mimic choosing frontend (web extension) and backend (local/remote extension) as described here:
|
|
@@ -86,7 +86,7 @@ export class VsCodePluginScanner extends TheiaPluginScanner implements PluginSca
|
|
|
86
86
|
// Iterate over the list of dependencies present, and add them to the collection.
|
|
87
87
|
dependency.forEach((dep: string) => {
|
|
88
88
|
const dependencyId = dep.toLowerCase();
|
|
89
|
-
dependencies.set(dependencyId,
|
|
89
|
+
dependencies.set(dependencyId, VSCodeExtensionUri.toVsxExtensionUriString(dependencyId));
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
}
|