@theia/vsx-registry 1.44.0 → 1.45.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.
@@ -12,7 +12,9 @@ export declare class VSXExtensionResolver implements PluginDeployerResolver {
12
12
  protected readonly uninstallationManager: PluginUninstallationManager;
13
13
  protected vsxApiFilter: OVSXApiFilter;
14
14
  accept(pluginId: string): boolean;
15
+ static readonly TEMP_DIR_PREFIX = "vscode-download";
15
16
  resolve(context: PluginDeployerResolverContext, options?: PluginDeployOptions): Promise<void>;
17
+ protected getTempDir(): Promise<string>;
16
18
  protected hasSameOrNewerVersion(id: string, extension: VSXExtensionRaw): string | undefined;
17
19
  protected download(downloadUrl: string, downloadPath: string): Promise<boolean>;
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-extension-resolver.d.ts","sourceRoot":"","sources":["../../src/node/vsx-extension-resolver.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,mBAAmB,EAAqB,MAAM,8CAA8C,CAAC;AAEpL,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,2BAA2B,EAAE,MAAM,+DAA+D,CAAC;AAE5G,qBACa,oBAAqB,YAAW,sBAAsB;IAEnC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC1C,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAC9D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;IACpF,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC;IAE7D,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI3B,OAAO,CAAC,OAAO,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CnG,SAAS,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;cAa3E,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYxF"}
1
+ {"version":3,"file":"vsx-extension-resolver.d.ts","sourceRoot":"","sources":["../../src/node/vsx-extension-resolver.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,mBAAmB,EAAqB,MAAM,8CAA8C,CAAC;AAGpL,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,2BAA2B,EAAE,MAAM,+DAA+D,CAAC;AAE5G,qBACa,oBAAqB,YAAW,sBAAsB;IAEnC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC1C,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAC9D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;IACpF,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC;IAE7D,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIjC,MAAM,CAAC,QAAQ,CAAC,eAAe,qBAAqB;IAE9C,OAAO,CAAC,OAAO,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cA6CnF,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ7C,SAAS,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;cAa3E,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYxF"}
@@ -23,6 +23,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
23
23
  var __metadata = (this && this.__metadata) || function (k, v) {
24
24
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
25
  };
26
+ var VSXExtensionResolver_1;
26
27
  Object.defineProperty(exports, "__esModule", { value: true });
27
28
  exports.VSXExtensionResolver = void 0;
28
29
  const path = require("path");
@@ -31,13 +32,14 @@ const fs = require("@theia/core/shared/fs-extra");
31
32
  const inversify_1 = require("@theia/core/shared/inversify");
32
33
  const uri_1 = require("@theia/core/lib/common/uri");
33
34
  const plugin_protocol_1 = require("@theia/plugin-ext/lib/common/plugin-protocol");
35
+ const node_1 = require("@theia/core/lib/node");
34
36
  const plugin_vscode_uri_1 = require("@theia/plugin-ext-vscode/lib/common/plugin-vscode-uri");
35
37
  const ovsx_client_provider_1 = require("../common/ovsx-client-provider");
36
38
  const ovsx_client_1 = require("@theia/ovsx-client");
37
39
  const request_1 = require("@theia/core/shared/@theia/request");
38
40
  const plugin_vscode_environment_1 = require("@theia/plugin-ext-vscode/lib/common/plugin-vscode-environment");
39
41
  const plugin_uninstallation_manager_1 = require("@theia/plugin-ext/lib/main/node/plugin-uninstallation-manager");
40
- let VSXExtensionResolver = class VSXExtensionResolver {
42
+ let VSXExtensionResolver = VSXExtensionResolver_1 = class VSXExtensionResolver {
41
43
  accept(pluginId) {
42
44
  return !!plugin_vscode_uri_1.VSCodeExtensionUri.toId(new uri_1.default(pluginId));
43
45
  }
@@ -74,16 +76,23 @@ let VSXExtensionResolver = class VSXExtensionResolver {
74
76
  return;
75
77
  }
76
78
  }
77
- const downloadPath = (await this.environment.getExtensionsDirUri()).path.fsPath();
78
- await fs.ensureDir(downloadPath);
79
- const extensionPath = path.resolve(downloadPath, path.basename(downloadUrl));
80
- console.log(`[${resolvedId}]: trying to download from "${downloadUrl}"...`, 'to path', downloadPath);
81
- if (!await this.download(downloadUrl, extensionPath)) {
79
+ const downloadDir = await this.getTempDir();
80
+ await fs.ensureDir(downloadDir);
81
+ const downloadedExtensionPath = path.resolve(downloadDir, path.basename(downloadUrl));
82
+ console.log(`[${resolvedId}]: trying to download from "${downloadUrl}"...`, 'to path', downloadDir);
83
+ if (!await this.download(downloadUrl, downloadedExtensionPath)) {
82
84
  console.log(`[${resolvedId}]: not found`);
83
85
  return;
84
86
  }
85
- console.log(`[${resolvedId}]: downloaded to ${extensionPath}"`);
86
- context.addPlugin(resolvedId, extensionPath);
87
+ console.log(`[${resolvedId}]: downloaded to ${downloadedExtensionPath}"`);
88
+ context.addPlugin(resolvedId, downloadedExtensionPath);
89
+ }
90
+ async getTempDir() {
91
+ const tempDir = node_1.FileUri.fsPath(await this.environment.getTempDirUri(VSXExtensionResolver_1.TEMP_DIR_PREFIX));
92
+ if (!await fs.pathExists(tempDir)) {
93
+ await fs.mkdirs(tempDir);
94
+ }
95
+ return tempDir;
87
96
  }
88
97
  hasSameOrNewerVersion(id, extension) {
89
98
  const existingPlugins = this.pluginDeployerHandler.getDeployedPluginsById(id)
@@ -114,6 +123,7 @@ let VSXExtensionResolver = class VSXExtensionResolver {
114
123
  }
115
124
  }
116
125
  };
126
+ VSXExtensionResolver.TEMP_DIR_PREFIX = 'vscode-download';
117
127
  __decorate([
118
128
  (0, inversify_1.inject)(ovsx_client_provider_1.OVSXClientProvider),
119
129
  __metadata("design:type", Function)
@@ -138,7 +148,7 @@ __decorate([
138
148
  (0, inversify_1.inject)(ovsx_client_1.OVSXApiFilter),
139
149
  __metadata("design:type", Object)
140
150
  ], VSXExtensionResolver.prototype, "vsxApiFilter", void 0);
141
- VSXExtensionResolver = __decorate([
151
+ VSXExtensionResolver = VSXExtensionResolver_1 = __decorate([
142
152
  (0, inversify_1.injectable)()
143
153
  ], VSXExtensionResolver);
144
154
  exports.VSXExtensionResolver = VSXExtensionResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-extension-resolver.js","sourceRoot":"","sources":["../../src/node/vsx-extension-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vsx-extension-resolver.js","sourceRoot":"","sources":["../../src/node/vsx-extension-resolver.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;;AAEhF,6BAA6B;AAC7B,iCAAiC;AACjC,kDAAkD;AAClD,4DAAkE;AAClE,oDAA6C;AAC7C,kFAAoL;AACpL,+CAA+C;AAC/C,6FAA2F;AAC3F,yEAAoE;AACpE,oDAAoE;AACpE,+DAAmE;AACnE,6GAAwG;AACxG,iHAA4G;AAG5G,IAAa,oBAAoB,4BAAjC,MAAa,oBAAoB;IAS7B,MAAM,CAAC,QAAgB;QACnB,OAAO,CAAC,CAAC,sCAAkB,CAAC,IAAI,CAAC,IAAI,aAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IAID,KAAK,CAAC,OAAO,CAAC,OAAsC,EAAE,OAA6B;QAC/E,MAAM,EAAE,GAAG,sCAAkB,CAAC,IAAI,CAAC,IAAI,aAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,EAAE,EAAE;YACL,OAAO;SACV;QACD,IAAI,SAAsC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,gCAAgC,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;YACxE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5H,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC7B;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,wCAAwC,CAAC,CAAC;YAC5D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;YACzF,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;SAC1E;QACD,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QACD,IAAI,SAAS,CAAC,KAAK,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,MAAM,UAAU,GAAG,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;QAChD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,UAAU,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAA,EAAE;YAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,eAAe,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,2DAA2D,eAAe,GAAG,CAAC,CAAC;gBACjG,OAAO;aACV;SACJ;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,+BAA+B,WAAW,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpG,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE;YAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,cAAc,CAAC,CAAC;YAC1C,OAAO;SACV;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,oBAAoB,uBAAuB,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IAES,KAAK,CAAC,UAAU;QACtB,MAAM,OAAO,GAAG,cAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,sBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC/B,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC5B;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAES,qBAAqB,CAAC,EAAU,EAAE,SAA0B;QAClE,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,EAAE,CAAC;aACxE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,mCAAiB,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnI,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5E,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,cAAc,IAAI,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;gBAClF,OAAO,eAAe,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;QACH,OAAO,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,YAAoB;QAC9D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;SAAE;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;YAChC,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC9E;aAAM;YACH,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;SACf;IACL,CAAC;CACJ,CAAA;AAhFmB,oCAAe,GAAG,iBAAkB,CAAA;AAXxB;IAA3B,IAAA,kBAAM,EAAC,yCAAkB,CAAC;;4DAA8C;AAC1C;IAA9B,IAAA,kBAAM,EAAC,uCAAqB,CAAC;;mEAAwD;AAC9D;IAAvB,IAAA,kBAAM,EAAC,wBAAc,CAAC;;4DAA0C;AAChC;IAAhC,IAAA,kBAAM,EAAC,mDAAuB,CAAC;8BAAiC,mDAAuB;yDAAC;AACpD;IAApC,IAAA,kBAAM,EAAC,2DAA2B,CAAC;8BAA2C,2DAA2B;mEAAC;AACpF;IAAtB,IAAA,kBAAM,EAAC,2BAAa,CAAC;;0DAAuC;AAPpD,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CA6FhC;AA7FY,oDAAoB"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@theia/vsx-registry",
3
- "version": "1.44.0",
3
+ "version": "1.45.0",
4
4
  "description": "Theia - VSX Registry",
5
5
  "dependencies": {
6
- "@theia/core": "1.44.0",
7
- "@theia/filesystem": "1.44.0",
8
- "@theia/ovsx-client": "1.44.0",
9
- "@theia/plugin-ext": "1.44.0",
10
- "@theia/plugin-ext-vscode": "1.44.0",
11
- "@theia/preferences": "1.44.0",
12
- "@theia/workspace": "1.44.0",
6
+ "@theia/core": "1.45.0",
7
+ "@theia/filesystem": "1.45.0",
8
+ "@theia/ovsx-client": "1.45.0",
9
+ "@theia/plugin-ext": "1.45.0",
10
+ "@theia/plugin-ext-vscode": "1.45.0",
11
+ "@theia/preferences": "1.45.0",
12
+ "@theia/workspace": "1.45.0",
13
13
  "luxon": "^2.4.0",
14
14
  "p-debounce": "^2.1.0",
15
15
  "semver": "^7.5.4",
@@ -53,11 +53,11 @@
53
53
  "watch": "theiaext watch"
54
54
  },
55
55
  "devDependencies": {
56
- "@theia/ext-scripts": "1.44.0",
56
+ "@theia/ext-scripts": "1.45.0",
57
57
  "@types/luxon": "^2.3.2"
58
58
  },
59
59
  "nyc": {
60
60
  "extends": "../../configs/nyc.json"
61
61
  },
62
- "gitHead": "46349875c7ff0e58c3c77ffe4eaa53ac74fa97a5"
62
+ "gitHead": "2b20a60a0f9b54b19838a0f71760989a19622495"
63
63
  }
@@ -20,6 +20,7 @@ import * as fs from '@theia/core/shared/fs-extra';
20
20
  import { injectable, inject } from '@theia/core/shared/inversify';
21
21
  import URI from '@theia/core/lib/common/uri';
22
22
  import { PluginDeployerHandler, PluginDeployerResolver, PluginDeployerResolverContext, PluginDeployOptions, PluginIdentifiers } from '@theia/plugin-ext/lib/common/plugin-protocol';
23
+ import { FileUri } from '@theia/core/lib/node';
23
24
  import { VSCodeExtensionUri } from '@theia/plugin-ext-vscode/lib/common/plugin-vscode-uri';
24
25
  import { OVSXClientProvider } from '../common/ovsx-client-provider';
25
26
  import { OVSXApiFilter, VSXExtensionRaw } from '@theia/ovsx-client';
@@ -41,6 +42,8 @@ export class VSXExtensionResolver implements PluginDeployerResolver {
41
42
  return !!VSCodeExtensionUri.toId(new URI(pluginId));
42
43
  }
43
44
 
45
+ static readonly TEMP_DIR_PREFIX = 'vscode-download';
46
+
44
47
  async resolve(context: PluginDeployerResolverContext, options?: PluginDeployOptions): Promise<void> {
45
48
  const id = VSCodeExtensionUri.toId(new URI(context.getOriginId()));
46
49
  if (!id) {
@@ -74,16 +77,24 @@ export class VSXExtensionResolver implements PluginDeployerResolver {
74
77
  return;
75
78
  }
76
79
  }
77
- const downloadPath = (await this.environment.getExtensionsDirUri()).path.fsPath();
78
- await fs.ensureDir(downloadPath);
79
- const extensionPath = path.resolve(downloadPath, path.basename(downloadUrl));
80
- console.log(`[${resolvedId}]: trying to download from "${downloadUrl}"...`, 'to path', downloadPath);
81
- if (!await this.download(downloadUrl, extensionPath)) {
80
+ const downloadDir = await this.getTempDir();
81
+ await fs.ensureDir(downloadDir);
82
+ const downloadedExtensionPath = path.resolve(downloadDir, path.basename(downloadUrl));
83
+ console.log(`[${resolvedId}]: trying to download from "${downloadUrl}"...`, 'to path', downloadDir);
84
+ if (!await this.download(downloadUrl, downloadedExtensionPath)) {
82
85
  console.log(`[${resolvedId}]: not found`);
83
86
  return;
84
87
  }
85
- console.log(`[${resolvedId}]: downloaded to ${extensionPath}"`);
86
- context.addPlugin(resolvedId, extensionPath);
88
+ console.log(`[${resolvedId}]: downloaded to ${downloadedExtensionPath}"`);
89
+ context.addPlugin(resolvedId, downloadedExtensionPath);
90
+ }
91
+
92
+ protected async getTempDir(): Promise<string> {
93
+ const tempDir = FileUri.fsPath(await this.environment.getTempDirUri(VSXExtensionResolver.TEMP_DIR_PREFIX));
94
+ if (!await fs.pathExists(tempDir)) {
95
+ await fs.mkdirs(tempDir);
96
+ }
97
+ return tempDir;
87
98
  }
88
99
 
89
100
  protected hasSameOrNewerVersion(id: string, extension: VSXExtensionRaw): string | undefined {