@theia/plugin-ext-vscode 1.27.0-next.4 → 1.27.0-next.41

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.
@@ -1 +1 @@
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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"}
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;AAI9E,yBAAiB,cAAc,CAAC;IACrB,MAAM,IAAI,EAAE,OAElB,CAAC;IAEK,MAAM,SAAS,EAAE,OAEvB,CAAC;IAEK,MAAM,WAAW,EAAE,OAEzB,CAAC;IAEK,MAAM,IAAI,EAAE,OAElB,CAAC;IAEK,MAAM,iBAAiB,EAAE,OAE/B,CAAC;CACL;AAED,qBACa,gCAAiC,YAAW,mBAAmB;IAExE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IAE9D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEjD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;IAEtE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAE9C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAEvE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAE5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;YAElC,QAAQ;IA6CtB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;cA8hBjC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;CAO1G"}
@@ -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(`vscode:extension/${vsixUriOrExtensionId}`);
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);
@@ -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,16 @@
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(id: string): URI;
14
+ function toId(uri: URI): string | undefined;
15
+ }
16
+ //# 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,EAAE,EAAE,MAAM,GAAG,GAAG,CAErC;IACD,SAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAKjD;CACJ"}
@@ -0,0 +1,47 @@
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(id) {
36
+ return new uri_1.default(toVsxExtensionUriString(id));
37
+ }
38
+ VSCodeExtensionUri.toUri = toUri;
39
+ function toId(uri) {
40
+ if (uri.scheme === 'vscode' && uri.path.dir.toString() === 'extension') {
41
+ return uri.path.base;
42
+ }
43
+ return undefined;
44
+ }
45
+ VSCodeExtensionUri.toId = toId;
46
+ })(VSCodeExtensionUri = exports.VSCodeExtensionUri || (exports.VSCodeExtensionUri = {}));
47
+ //# 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,CAkBlC;AAlBD,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;IACD,SAAgB,KAAK,CAAC,EAAU;QAC5B,OAAO,IAAI,aAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAFe,wBAAK,QAEpB,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,EAlBgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAkBlC"}
@@ -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":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACH,8BAA8B,EAC9B,mBAAmB,EAAE,qCAAqC,EACjC,aAAa,EACzC,MAAM,mBAAmB,CAAC;AAE3B,qBACa,4BAA6B,YAAW,8BAA8B;IAE/E,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKtC,MAAM,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,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;IAiBX,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAQ1E"}
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.resolvePackage(plugin) || this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
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
- return fs.readJSONSync(path.join(pluginPath, 'package.json'));
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 (_a) {
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":"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"}
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;AAG9E,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;cActD,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;cAQ3E,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;CAW7G"}
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;cAmB/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,29 @@ let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
58
60
  context.pluginEntry().updatePath(extensionDir);
59
61
  }
60
62
  async getExtensionDir(context) {
61
- let extensionsDirUri = this.systemExtensionsDirUri;
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
- extensionsDirUri = await this.environment.getExtensionsDirUri();
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
+ }
81
+ catch (e) {
82
+ console.error(`[${context.pluginEntry().id}]: Failed to copy to user directory. Future sessions may not have access to this plugin.`);
83
+ }
84
+ }
64
85
  }
65
- return file_uri_1.FileUri.fsPath(extensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
66
86
  }
67
87
  async decompress(extensionDir, context) {
68
88
  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":"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"}
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,EAAqD,MAAM,mBAAmB,CAAC;AAChK,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAK9F,qBACa,mBAAoB,SAAQ,kBAAmB,YAAW,aAAa;IAEhF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,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"}
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 && (((_a = plugin.extensionKind) === null || _a === void 0 ? void 0 : _a.length) === 1 && plugin.extensionKind[0] === 'ui');
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, this.VSCODE_PREFIX + 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":"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"}
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-next.4+6f0c4d3028c",
3
+ "version": "1.27.0-next.41+f6c0689dde8",
4
4
  "description": "Theia - Plugin Extension for VsCode",
5
5
  "dependencies": {
6
- "@theia/callhierarchy": "1.27.0-next.4+6f0c4d3028c",
7
- "@theia/core": "1.27.0-next.4+6f0c4d3028c",
8
- "@theia/editor": "1.27.0-next.4+6f0c4d3028c",
9
- "@theia/filesystem": "1.27.0-next.4+6f0c4d3028c",
10
- "@theia/monaco": "1.27.0-next.4+6f0c4d3028c",
6
+ "@theia/callhierarchy": "1.27.0-next.41+f6c0689dde8",
7
+ "@theia/core": "1.27.0-next.41+f6c0689dde8",
8
+ "@theia/editor": "1.27.0-next.41+f6c0689dde8",
9
+ "@theia/filesystem": "1.27.0-next.41+f6c0689dde8",
10
+ "@theia/monaco": "1.27.0-next.41+f6c0689dde8",
11
11
  "@theia/monaco-editor-core": "1.65.2",
12
- "@theia/navigator": "1.27.0-next.4+6f0c4d3028c",
13
- "@theia/plugin": "1.27.0-next.4+6f0c4d3028c",
14
- "@theia/plugin-ext": "1.27.0-next.4+6f0c4d3028c",
15
- "@theia/terminal": "1.27.0-next.4+6f0c4d3028c",
16
- "@theia/userstorage": "1.27.0-next.4+6f0c4d3028c",
17
- "@theia/workspace": "1.27.0-next.4+6f0c4d3028c",
12
+ "@theia/navigator": "1.27.0-next.41+f6c0689dde8",
13
+ "@theia/plugin": "1.27.0-next.41+f6c0689dde8",
14
+ "@theia/plugin-ext": "1.27.0-next.41+f6c0689dde8",
15
+ "@theia/terminal": "1.27.0-next.41+f6c0689dde8",
16
+ "@theia/userstorage": "1.27.0-next.41+f6c0689dde8",
17
+ "@theia/workspace": "1.27.0-next.41+f6c0689dde8",
18
18
  "@types/request": "^2.0.3",
19
19
  "filenamify": "^4.1.0",
20
20
  "request": "^2.82.0"
@@ -58,5 +58,5 @@
58
58
  "nyc": {
59
59
  "extends": "../../configs/nyc.json"
60
60
  },
61
- "gitHead": "6f0c4d3028c4b555079b0f0844f75bb618ded256"
61
+ "gitHead": "f6c0689dde8b207726deab75bc3cb5cfdae6acfb"
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 = {
@@ -305,7 +306,7 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
305
306
  commands.registerCommand({ id: VscodeCommands.INSTALL_FROM_VSIX.id }, {
306
307
  execute: async (vsixUriOrExtensionId: TheiaURI | UriComponents | string) => {
307
308
  if (typeof vsixUriOrExtensionId === 'string') {
308
- await this.pluginServer.deploy(`vscode:extension/${vsixUriOrExtensionId}`);
309
+ await this.pluginServer.deploy(VSCodeExtensionUri.toVsxExtensionUriString(vsixUriOrExtensionId));
309
310
  } else {
310
311
  const uriPath = isUriComponents(vsixUriOrExtensionId) ? URI.revive(vsixUriOrExtensionId).fsPath : await this.fileService.fsPath(vsixUriOrExtensionId);
311
312
  await this.pluginServer.deploy(`local-file:${uriPath}`);
@@ -0,0 +1,41 @@
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(id: string): URI {
33
+ return new URI(toVsxExtensionUriString(id));
34
+ }
35
+ export function toId(uri: URI): string | undefined {
36
+ if (uri.scheme === 'vscode' && uri.path.dir.toString() === 'extension') {
37
+ return uri.path.base;
38
+ }
39
+ return undefined;
40
+ }
41
+ }
@@ -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 { injectable } from '@theia/core/shared/inversify';
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
- PluginDeployerEntry, PluginDeployerDirectoryHandlerContext,
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.resolvePackage(plugin) || this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
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
- return fs.readJSONSync(path.join(pluginPath, 'package.json'));
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,29 @@ export class PluginVsCodeFileHandler implements PluginDeployerFileHandler {
54
56
  }
55
57
 
56
58
  protected async getExtensionDir(context: PluginDeployerFileHandlerContext): Promise<string> {
57
- let extensionsDirUri = this.systemExtensionsDirUri;
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
- extensionsDirUri = await this.environment.getExtensionsDirUri();
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
+ } catch (e) {
78
+ console.error(`[${context.pluginEntry().id}]: Failed to copy to user directory. Future sessions may not have access to this plugin.`);
79
+ }
80
+ }
60
81
  }
61
- return FileUri.fsPath(extensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
62
82
  }
63
83
 
64
84
  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, this.VSCODE_PREFIX + dependencyId);
89
+ dependencies.set(dependencyId, VSCodeExtensionUri.toVsxExtensionUriString(dependencyId));
90
90
  });
91
91
  }
92
92
  }