@theia/cli 1.26.0-next.9 → 1.26.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/download-plugins.d.ts +7 -5
- package/lib/download-plugins.d.ts.map +1 -1
- package/lib/download-plugins.js +56 -57
- package/lib/download-plugins.js.map +1 -1
- package/lib/theia.js +18 -2
- package/lib/theia.js.map +1 -1
- package/package.json +8 -10
- package/src/download-plugins.ts +82 -59
- package/src/theia.ts +25 -2
|
@@ -3,7 +3,6 @@ declare global {
|
|
|
3
3
|
flat(depth?: number): any;
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
|
-
import { RequestInit, Response } from 'node-fetch';
|
|
7
6
|
/**
|
|
8
7
|
* Available options when downloading.
|
|
9
8
|
*/
|
|
@@ -27,10 +26,13 @@ export interface DownloadPluginsOptions {
|
|
|
27
26
|
* The open-vsx registry API url.
|
|
28
27
|
*/
|
|
29
28
|
apiUrl?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Fetch plugins in parallel
|
|
31
|
+
*/
|
|
32
|
+
parallel?: boolean;
|
|
33
|
+
proxyUrl?: string;
|
|
34
|
+
proxyAuthorization?: string;
|
|
35
|
+
strictSsl?: boolean;
|
|
30
36
|
}
|
|
31
37
|
export default function downloadPlugins(options?: DownloadPluginsOptions): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* Follow HTTP(S)_PROXY, ALL_PROXY and NO_PROXY environment variables.
|
|
34
|
-
*/
|
|
35
|
-
export declare function xfetch(url: string, options?: RequestInit): Promise<Response>;
|
|
36
38
|
//# sourceMappingURL=download-plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-plugins.d.ts","sourceRoot":"","sources":["../src/download-plugins.ts"],"names":[],"mappings":"AAkBA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAC5B;CACJ;
|
|
1
|
+
{"version":3,"file":"download-plugins.d.ts","sourceRoot":"","sources":["../src/download-plugins.ts"],"names":[],"mappings":"AAkBA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAC5B;CACJ;AAcD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAUD,wBAA8B,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGjG"}
|
package/lib/download-plugins.js
CHANGED
|
@@ -15,23 +15,23 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.xfetch = void 0;
|
|
19
18
|
const ovsx_client_1 = require("@theia/ovsx-client/lib/ovsx-client");
|
|
20
19
|
const chalk = require("chalk");
|
|
21
20
|
const decompress = require("decompress");
|
|
22
21
|
const fs_1 = require("fs");
|
|
23
|
-
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
24
|
-
const node_fetch_1 = require("node-fetch");
|
|
25
22
|
const path = require("path");
|
|
26
|
-
const proxy_from_env_1 = require("proxy-from-env");
|
|
27
|
-
const stream = require("stream");
|
|
28
23
|
const temp = require("temp");
|
|
29
|
-
const
|
|
24
|
+
const node_request_service_1 = require("@theia/request/lib/node-request-service");
|
|
30
25
|
const api_1 = require("@theia/application-package/lib/api");
|
|
31
|
-
const pipelineAsPromised = (0, util_1.promisify)(stream.pipeline);
|
|
32
26
|
temp.track();
|
|
27
|
+
const requestService = new node_request_service_1.NodeRequestService();
|
|
33
28
|
async function downloadPlugins(options = {}) {
|
|
34
|
-
const { packed = false, ignoreErrors = false, apiVersion = api_1.DEFAULT_SUPPORTED_API_VERSION, apiUrl = 'https://open-vsx.org/api' } = options;
|
|
29
|
+
const { packed = false, ignoreErrors = false, apiVersion = api_1.DEFAULT_SUPPORTED_API_VERSION, apiUrl = 'https://open-vsx.org/api', parallel = true, proxyUrl, proxyAuthorization, strictSsl } = options;
|
|
30
|
+
requestService.configure({
|
|
31
|
+
proxyUrl,
|
|
32
|
+
proxyAuthorization,
|
|
33
|
+
strictSSL: strictSsl
|
|
34
|
+
});
|
|
35
35
|
// Collect the list of failures to be appended at the end of the script.
|
|
36
36
|
const failures = [];
|
|
37
37
|
// Resolve the `package.json` at the current working directory.
|
|
@@ -40,6 +40,21 @@ async function downloadPlugins(options = {}) {
|
|
|
40
40
|
const pluginsDir = pck.theiaPluginsDir || 'plugins';
|
|
41
41
|
// Excluded extension ids.
|
|
42
42
|
const excludedIds = new Set(pck.theiaPluginsExcludeIds || []);
|
|
43
|
+
const parallelOrSequence = async (...tasks) => {
|
|
44
|
+
if (parallel) {
|
|
45
|
+
await Promise.all(tasks.map(task => task()));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
for (const task of tasks) {
|
|
49
|
+
await task();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
// Downloader wrapper
|
|
54
|
+
const downloadPlugin = (plugin) => downloadPluginAsync(failures, plugin.id, plugin.downloadUrl, pluginsDir, packed, plugin.version);
|
|
55
|
+
const downloader = async (plugins) => {
|
|
56
|
+
await parallelOrSequence(...plugins.map(plugin => () => downloadPlugin(plugin)));
|
|
57
|
+
};
|
|
43
58
|
await fs_1.promises.mkdir(pluginsDir, { recursive: true });
|
|
44
59
|
if (!pck.theiaPlugins) {
|
|
45
60
|
console.log(chalk.red('error: missing mandatory \'theiaPlugins\' property.'));
|
|
@@ -49,43 +64,37 @@ async function downloadPlugins(options = {}) {
|
|
|
49
64
|
console.warn('--- downloading plugins ---');
|
|
50
65
|
// Download the raw plugins defined by the `theiaPlugins` property.
|
|
51
66
|
// This will include both "normal" plugins as well as "extension packs".
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
await Promise.all(downloads);
|
|
60
|
-
console.warn('--- collecting extension-packs ---');
|
|
61
|
-
const extensionPacks = await collectExtensionPacks(pluginsDir, excludedIds);
|
|
62
|
-
if (extensionPacks.size > 0) {
|
|
63
|
-
console.warn(`--- resolving ${extensionPacks.size} extension-packs ---`);
|
|
64
|
-
const client = new ovsx_client_1.OVSXClient({ apiVersion, apiUrl });
|
|
67
|
+
const pluginsToDownload = Object.entries(pck.theiaPlugins)
|
|
68
|
+
.filter((entry) => typeof entry[1] === 'string')
|
|
69
|
+
.map(([pluginId, url]) => ({ id: pluginId, downloadUrl: url }));
|
|
70
|
+
await downloader(pluginsToDownload);
|
|
71
|
+
const handleDependencyList = async (dependencies) => {
|
|
72
|
+
const client = new ovsx_client_1.OVSXClient({ apiVersion, apiUrl }, requestService);
|
|
65
73
|
// De-duplicate extension ids to only download each once:
|
|
66
|
-
const ids = new Set(
|
|
67
|
-
await
|
|
74
|
+
const ids = new Set(dependencies.flat());
|
|
75
|
+
await parallelOrSequence(...Array.from(ids, id => async () => {
|
|
68
76
|
const extension = await client.getLatestCompatibleExtensionVersion(id);
|
|
77
|
+
const version = extension === null || extension === void 0 ? void 0 : extension.version;
|
|
69
78
|
const downloadUrl = extension === null || extension === void 0 ? void 0 : extension.files.download;
|
|
70
79
|
if (downloadUrl) {
|
|
71
|
-
await
|
|
80
|
+
await downloadPlugin({ id, downloadUrl, version });
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
failures.push(`No download url for extension pack ${id} (${version})`);
|
|
72
84
|
}
|
|
73
85
|
}));
|
|
86
|
+
};
|
|
87
|
+
console.warn('--- collecting extension-packs ---');
|
|
88
|
+
const extensionPacks = await collectExtensionPacks(pluginsDir, excludedIds);
|
|
89
|
+
if (extensionPacks.size > 0) {
|
|
90
|
+
console.warn(`--- resolving ${extensionPacks.size} extension-packs ---`);
|
|
91
|
+
await handleDependencyList(Array.from(extensionPacks.values()));
|
|
74
92
|
}
|
|
75
93
|
console.warn('--- collecting extension dependencies ---');
|
|
76
94
|
const pluginDependencies = await collectPluginDependencies(pluginsDir, excludedIds);
|
|
77
95
|
if (pluginDependencies.length > 0) {
|
|
78
96
|
console.warn(`--- resolving ${pluginDependencies.length} extension dependencies ---`);
|
|
79
|
-
|
|
80
|
-
// De-duplicate extension ids to only download each once:
|
|
81
|
-
const ids = new Set(pluginDependencies);
|
|
82
|
-
await Promise.all(Array.from(ids, async (id) => {
|
|
83
|
-
const extension = await client.getLatestCompatibleExtensionVersion(id);
|
|
84
|
-
const downloadUrl = extension === null || extension === void 0 ? void 0 : extension.files.download;
|
|
85
|
-
if (downloadUrl) {
|
|
86
|
-
await downloadPluginAsync(failures, id, downloadUrl, pluginsDir, packed, extension === null || extension === void 0 ? void 0 : extension.version);
|
|
87
|
-
}
|
|
88
|
-
}));
|
|
97
|
+
await handleDependencyList(pluginDependencies);
|
|
89
98
|
}
|
|
90
99
|
}
|
|
91
100
|
finally {
|
|
@@ -143,13 +152,16 @@ async function downloadPluginAsync(failures, plugin, pluginUrl, pluginsDir, pack
|
|
|
143
152
|
}
|
|
144
153
|
lastError = undefined;
|
|
145
154
|
try {
|
|
146
|
-
response = await
|
|
155
|
+
response = await requestService.request({
|
|
156
|
+
url: pluginUrl
|
|
157
|
+
});
|
|
147
158
|
}
|
|
148
159
|
catch (error) {
|
|
149
160
|
lastError = error;
|
|
150
161
|
continue;
|
|
151
162
|
}
|
|
152
|
-
const
|
|
163
|
+
const status = response.res.statusCode;
|
|
164
|
+
const retry = status && (status === 439 || status >= 500);
|
|
153
165
|
if (!retry) {
|
|
154
166
|
break;
|
|
155
167
|
}
|
|
@@ -162,20 +174,19 @@ async function downloadPluginAsync(failures, plugin, pluginUrl, pluginsDir, pack
|
|
|
162
174
|
failures.push(chalk.red(`x ${plugin}: failed to download (unknown reason)`));
|
|
163
175
|
return;
|
|
164
176
|
}
|
|
165
|
-
if (response.
|
|
166
|
-
failures.push(chalk.red(`x ${plugin}: failed to download with: ${response.
|
|
177
|
+
if (response.res.statusCode !== 200) {
|
|
178
|
+
failures.push(chalk.red(`x ${plugin}: failed to download with: ${response.res.statusCode}`));
|
|
167
179
|
return;
|
|
168
180
|
}
|
|
169
181
|
if ((fileExt === '.vsix' || fileExt === '.theia') && packed === true) {
|
|
170
182
|
// Download .vsix without decompressing.
|
|
171
|
-
|
|
172
|
-
await pipelineAsPromised(response.body, file);
|
|
183
|
+
await fs_1.promises.writeFile(targetPath, response.buffer);
|
|
173
184
|
}
|
|
174
185
|
else {
|
|
175
186
|
await fs_1.promises.mkdir(targetPath, { recursive: true });
|
|
176
|
-
const tempFile = temp.
|
|
177
|
-
await
|
|
178
|
-
await decompress(tempFile
|
|
187
|
+
const tempFile = temp.path('theia-plugin-download');
|
|
188
|
+
await fs_1.promises.writeFile(tempFile, response.buffer);
|
|
189
|
+
await decompress(tempFile, targetPath);
|
|
179
190
|
}
|
|
180
191
|
console.warn(chalk.green(`+ ${plugin}${version ? `@${version}` : ''}: downloaded successfully ${attempts > 1 ? `(after ${attempts} attempts)` : ''}`));
|
|
181
192
|
}
|
|
@@ -188,18 +199,6 @@ async function downloadPluginAsync(failures, plugin, pluginUrl, pluginsDir, pack
|
|
|
188
199
|
async function isDownloaded(filePath) {
|
|
189
200
|
return fs_1.promises.stat(filePath).then(() => true, () => false);
|
|
190
201
|
}
|
|
191
|
-
/**
|
|
192
|
-
* Follow HTTP(S)_PROXY, ALL_PROXY and NO_PROXY environment variables.
|
|
193
|
-
*/
|
|
194
|
-
function xfetch(url, options) {
|
|
195
|
-
const proxiedOptions = Object.assign({}, options);
|
|
196
|
-
const proxy = (0, proxy_from_env_1.getProxyForUrl)(url);
|
|
197
|
-
if (!proxiedOptions.agent && proxy !== '') {
|
|
198
|
-
proxiedOptions.agent = new https_proxy_agent_1.HttpsProxyAgent(proxy);
|
|
199
|
-
}
|
|
200
|
-
return (0, node_fetch_1.default)(url, proxiedOptions);
|
|
201
|
-
}
|
|
202
|
-
exports.xfetch = xfetch;
|
|
203
202
|
/**
|
|
204
203
|
* Walk the plugin directory and collect available extension paths.
|
|
205
204
|
* @param pluginDir the plugin directory.
|
|
@@ -236,7 +235,7 @@ async function collectExtensionPacks(pluginDir, excludedIds) {
|
|
|
236
235
|
if (Array.isArray(extensionPack)) {
|
|
237
236
|
extensionPackPaths.set(packageJsonPath, extensionPack.filter(id => {
|
|
238
237
|
if (excludedIds.has(id)) {
|
|
239
|
-
console.log(chalk.yellow(`'${id}'
|
|
238
|
+
console.log(chalk.yellow(`'${id}' referred to by '${json.name}' (ext pack) is excluded because of 'theiaPluginsExcludeIds'`));
|
|
240
239
|
return false; // remove
|
|
241
240
|
}
|
|
242
241
|
return true; // keep
|
|
@@ -261,7 +260,7 @@ async function collectPluginDependencies(pluginDir, excludedIds) {
|
|
|
261
260
|
if (Array.isArray(extensionDependencies)) {
|
|
262
261
|
for (const dependency of extensionDependencies) {
|
|
263
262
|
if (excludedIds.has(dependency)) {
|
|
264
|
-
console.log(chalk.yellow(`'${dependency}'
|
|
263
|
+
console.log(chalk.yellow(`'${dependency}' referred to by '${json.name}' is excluded because of 'theiaPluginsExcludeIds'`));
|
|
265
264
|
}
|
|
266
265
|
else {
|
|
267
266
|
dependencyIds.push(dependency);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-plugins.js","sourceRoot":"","sources":["../src/download-plugins.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
|
|
1
|
+
{"version":3,"file":"download-plugins.js","sourceRoot":"","sources":["../src/download-plugins.ts"],"names":[],"mappings":"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"}
|
package/lib/theia.js
CHANGED
|
@@ -195,10 +195,26 @@ async function theiaCli() {
|
|
|
195
195
|
alias: 'u',
|
|
196
196
|
describe: 'Open-VSX Registry API URL',
|
|
197
197
|
default: 'https://open-vsx.org/api'
|
|
198
|
+
},
|
|
199
|
+
'parallel': {
|
|
200
|
+
describe: 'Download in parallel',
|
|
201
|
+
boolean: true,
|
|
202
|
+
default: true
|
|
203
|
+
},
|
|
204
|
+
'proxy-url': {
|
|
205
|
+
describe: 'Proxy URL'
|
|
206
|
+
},
|
|
207
|
+
'proxy-authentification': {
|
|
208
|
+
describe: 'Proxy authentification information'
|
|
209
|
+
},
|
|
210
|
+
'strict-ssl': {
|
|
211
|
+
describe: 'Whether to enable strict SSL mode',
|
|
212
|
+
boolean: true,
|
|
213
|
+
default: false
|
|
198
214
|
}
|
|
199
215
|
},
|
|
200
|
-
handler: async (
|
|
201
|
-
await (0, download_plugins_1.default)(
|
|
216
|
+
handler: async (args) => {
|
|
217
|
+
await (0, download_plugins_1.default)(args);
|
|
202
218
|
},
|
|
203
219
|
})
|
|
204
220
|
.command({
|
package/lib/theia.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia.js","sourceRoot":"","sources":["../src/theia.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theia.js","sourceRoot":"","sources":["../src/theia.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/cli",
|
|
3
|
-
"version": "1.26.0
|
|
3
|
+
"version": "1.26.0",
|
|
4
4
|
"description": "Theia CLI.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -30,11 +30,12 @@
|
|
|
30
30
|
"clean": "theiaext clean"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@theia/application-manager": "1.26.0
|
|
34
|
-
"@theia/application-package": "1.26.0
|
|
35
|
-
"@theia/ffmpeg": "1.26.0
|
|
36
|
-
"@theia/localization-manager": "1.26.0
|
|
37
|
-
"@theia/ovsx-client": "1.26.0
|
|
33
|
+
"@theia/application-manager": "1.26.0",
|
|
34
|
+
"@theia/application-package": "1.26.0",
|
|
35
|
+
"@theia/ffmpeg": "1.26.0",
|
|
36
|
+
"@theia/localization-manager": "1.26.0",
|
|
37
|
+
"@theia/ovsx-client": "1.26.0",
|
|
38
|
+
"@theia/request": "1.26.0",
|
|
38
39
|
"@types/chai": "^4.2.7",
|
|
39
40
|
"@types/mocha": "^5.2.7",
|
|
40
41
|
"@types/node-fetch": "^2.5.7",
|
|
@@ -42,10 +43,7 @@
|
|
|
42
43
|
"chai": "^4.2.0",
|
|
43
44
|
"chalk": "4.0.0",
|
|
44
45
|
"decompress": "^4.2.1",
|
|
45
|
-
"https-proxy-agent": "^5.0.0",
|
|
46
46
|
"mocha": "^7.0.0",
|
|
47
|
-
"node-fetch": "^2.6.7",
|
|
48
|
-
"proxy-from-env": "^1.1.0",
|
|
49
47
|
"puppeteer": "^2.0.0",
|
|
50
48
|
"puppeteer-to-istanbul": "^1.2.2",
|
|
51
49
|
"temp": "^0.9.1",
|
|
@@ -58,5 +56,5 @@
|
|
|
58
56
|
"@types/proxy-from-env": "^1.0.1",
|
|
59
57
|
"@types/puppeteer": "^2.0.0"
|
|
60
58
|
},
|
|
61
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "38e2466568e69d55a9c64c96878deff5a005b814"
|
|
62
60
|
}
|
package/src/download-plugins.ts
CHANGED
|
@@ -26,17 +26,12 @@ declare global {
|
|
|
26
26
|
import { OVSXClient } from '@theia/ovsx-client/lib/ovsx-client';
|
|
27
27
|
import * as chalk from 'chalk';
|
|
28
28
|
import * as decompress from 'decompress';
|
|
29
|
-
import {
|
|
30
|
-
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
31
|
-
import fetch, { RequestInit, Response } from 'node-fetch';
|
|
29
|
+
import { promises as fs } from 'fs';
|
|
32
30
|
import * as path from 'path';
|
|
33
|
-
import { getProxyForUrl } from 'proxy-from-env';
|
|
34
|
-
import * as stream from 'stream';
|
|
35
31
|
import * as temp from 'temp';
|
|
36
|
-
import {
|
|
32
|
+
import { NodeRequestService } from '@theia/request/lib/node-request-service';
|
|
37
33
|
import { DEFAULT_SUPPORTED_API_VERSION } from '@theia/application-package/lib/api';
|
|
38
|
-
|
|
39
|
-
const pipelineAsPromised = promisify(stream.pipeline);
|
|
34
|
+
import { RequestContext } from '@theia/request';
|
|
40
35
|
|
|
41
36
|
temp.track();
|
|
42
37
|
|
|
@@ -66,16 +61,43 @@ export interface DownloadPluginsOptions {
|
|
|
66
61
|
* The open-vsx registry API url.
|
|
67
62
|
*/
|
|
68
63
|
apiUrl?: string;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Fetch plugins in parallel
|
|
67
|
+
*/
|
|
68
|
+
parallel?: boolean;
|
|
69
|
+
|
|
70
|
+
proxyUrl?: string;
|
|
71
|
+
proxyAuthorization?: string;
|
|
72
|
+
strictSsl?: boolean;
|
|
69
73
|
}
|
|
70
74
|
|
|
75
|
+
interface PluginDownload {
|
|
76
|
+
id: string,
|
|
77
|
+
downloadUrl: string,
|
|
78
|
+
version?: string | undefined
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const requestService = new NodeRequestService();
|
|
82
|
+
|
|
71
83
|
export default async function downloadPlugins(options: DownloadPluginsOptions = {}): Promise<void> {
|
|
72
84
|
const {
|
|
73
85
|
packed = false,
|
|
74
86
|
ignoreErrors = false,
|
|
75
87
|
apiVersion = DEFAULT_SUPPORTED_API_VERSION,
|
|
76
|
-
apiUrl = 'https://open-vsx.org/api'
|
|
88
|
+
apiUrl = 'https://open-vsx.org/api',
|
|
89
|
+
parallel = true,
|
|
90
|
+
proxyUrl,
|
|
91
|
+
proxyAuthorization,
|
|
92
|
+
strictSsl
|
|
77
93
|
} = options;
|
|
78
94
|
|
|
95
|
+
requestService.configure({
|
|
96
|
+
proxyUrl,
|
|
97
|
+
proxyAuthorization,
|
|
98
|
+
strictSSL: strictSsl
|
|
99
|
+
});
|
|
100
|
+
|
|
79
101
|
// Collect the list of failures to be appended at the end of the script.
|
|
80
102
|
const failures: string[] = [];
|
|
81
103
|
|
|
@@ -88,6 +110,23 @@ export default async function downloadPlugins(options: DownloadPluginsOptions =
|
|
|
88
110
|
// Excluded extension ids.
|
|
89
111
|
const excludedIds = new Set<string>(pck.theiaPluginsExcludeIds || []);
|
|
90
112
|
|
|
113
|
+
const parallelOrSequence = async (...tasks: Array<() => unknown>) => {
|
|
114
|
+
if (parallel) {
|
|
115
|
+
await Promise.all(tasks.map(task => task()));
|
|
116
|
+
} else {
|
|
117
|
+
for (const task of tasks) {
|
|
118
|
+
await task();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
// Downloader wrapper
|
|
124
|
+
const downloadPlugin = (plugin: PluginDownload): Promise<void> => downloadPluginAsync(failures, plugin.id, plugin.downloadUrl, pluginsDir, packed, plugin.version);
|
|
125
|
+
|
|
126
|
+
const downloader = async (plugins: PluginDownload[]) => {
|
|
127
|
+
await parallelOrSequence(...plugins.map(plugin => () => downloadPlugin(plugin)));
|
|
128
|
+
};
|
|
129
|
+
|
|
91
130
|
await fs.mkdir(pluginsDir, { recursive: true });
|
|
92
131
|
|
|
93
132
|
if (!pck.theiaPlugins) {
|
|
@@ -98,45 +137,39 @@ export default async function downloadPlugins(options: DownloadPluginsOptions =
|
|
|
98
137
|
console.warn('--- downloading plugins ---');
|
|
99
138
|
// Download the raw plugins defined by the `theiaPlugins` property.
|
|
100
139
|
// This will include both "normal" plugins as well as "extension packs".
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
downloads.push(downloadPluginAsync(failures, plugin, pluginUrl, pluginsDir, packed));
|
|
107
|
-
}
|
|
108
|
-
await Promise.all(downloads);
|
|
140
|
+
const pluginsToDownload = Object.entries(pck.theiaPlugins)
|
|
141
|
+
.filter((entry: [string, unknown]): entry is [string, string] => typeof entry[1] === 'string')
|
|
142
|
+
.map(([pluginId, url]) => ({ id: pluginId, downloadUrl: url }));
|
|
143
|
+
await downloader(pluginsToDownload);
|
|
109
144
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (extensionPacks.size > 0) {
|
|
113
|
-
console.warn(`--- resolving ${extensionPacks.size} extension-packs ---`);
|
|
114
|
-
const client = new OVSXClient({ apiVersion, apiUrl });
|
|
145
|
+
const handleDependencyList = async (dependencies: Array<string | string[]>) => {
|
|
146
|
+
const client = new OVSXClient({ apiVersion, apiUrl }, requestService);
|
|
115
147
|
// De-duplicate extension ids to only download each once:
|
|
116
|
-
const ids = new Set<string>(
|
|
117
|
-
await
|
|
148
|
+
const ids = new Set<string>(dependencies.flat());
|
|
149
|
+
await parallelOrSequence(...Array.from(ids, id => async () => {
|
|
118
150
|
const extension = await client.getLatestCompatibleExtensionVersion(id);
|
|
151
|
+
const version = extension?.version;
|
|
119
152
|
const downloadUrl = extension?.files.download;
|
|
120
153
|
if (downloadUrl) {
|
|
121
|
-
await
|
|
154
|
+
await downloadPlugin({ id, downloadUrl, version });
|
|
155
|
+
} else {
|
|
156
|
+
failures.push(`No download url for extension pack ${id} (${version})`);
|
|
122
157
|
}
|
|
123
158
|
}));
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
console.warn('--- collecting extension-packs ---');
|
|
162
|
+
const extensionPacks = await collectExtensionPacks(pluginsDir, excludedIds);
|
|
163
|
+
if (extensionPacks.size > 0) {
|
|
164
|
+
console.warn(`--- resolving ${extensionPacks.size} extension-packs ---`);
|
|
165
|
+
await handleDependencyList(Array.from(extensionPacks.values()));
|
|
124
166
|
}
|
|
125
167
|
|
|
126
168
|
console.warn('--- collecting extension dependencies ---');
|
|
127
169
|
const pluginDependencies = await collectPluginDependencies(pluginsDir, excludedIds);
|
|
128
170
|
if (pluginDependencies.length > 0) {
|
|
129
171
|
console.warn(`--- resolving ${pluginDependencies.length} extension dependencies ---`);
|
|
130
|
-
|
|
131
|
-
// De-duplicate extension ids to only download each once:
|
|
132
|
-
const ids = new Set<string>(pluginDependencies);
|
|
133
|
-
await Promise.all(Array.from(ids, async id => {
|
|
134
|
-
const extension = await client.getLatestCompatibleExtensionVersion(id);
|
|
135
|
-
const downloadUrl = extension?.files.download;
|
|
136
|
-
if (downloadUrl) {
|
|
137
|
-
await downloadPluginAsync(failures, id, downloadUrl, pluginsDir, packed, extension?.version);
|
|
138
|
-
}
|
|
139
|
-
}));
|
|
172
|
+
await handleDependencyList(pluginDependencies);
|
|
140
173
|
}
|
|
141
174
|
|
|
142
175
|
} finally {
|
|
@@ -187,7 +220,7 @@ async function downloadPluginAsync(failures: string[], plugin: string, pluginUrl
|
|
|
187
220
|
|
|
188
221
|
let attempts: number;
|
|
189
222
|
let lastError: Error | undefined;
|
|
190
|
-
let response:
|
|
223
|
+
let response: RequestContext | undefined;
|
|
191
224
|
|
|
192
225
|
for (attempts = 0; attempts < maxAttempts; attempts++) {
|
|
193
226
|
if (attempts > 0) {
|
|
@@ -195,12 +228,15 @@ async function downloadPluginAsync(failures: string[], plugin: string, pluginUrl
|
|
|
195
228
|
}
|
|
196
229
|
lastError = undefined;
|
|
197
230
|
try {
|
|
198
|
-
response = await
|
|
231
|
+
response = await requestService.request({
|
|
232
|
+
url: pluginUrl
|
|
233
|
+
});
|
|
199
234
|
} catch (error) {
|
|
200
235
|
lastError = error;
|
|
201
236
|
continue;
|
|
202
237
|
}
|
|
203
|
-
const
|
|
238
|
+
const status = response.res.statusCode;
|
|
239
|
+
const retry = status && (status === 439 || status >= 500);
|
|
204
240
|
if (!retry) {
|
|
205
241
|
break;
|
|
206
242
|
}
|
|
@@ -213,20 +249,19 @@ async function downloadPluginAsync(failures: string[], plugin: string, pluginUrl
|
|
|
213
249
|
failures.push(chalk.red(`x ${plugin}: failed to download (unknown reason)`));
|
|
214
250
|
return;
|
|
215
251
|
}
|
|
216
|
-
if (response.
|
|
217
|
-
failures.push(chalk.red(`x ${plugin}: failed to download with: ${response.
|
|
252
|
+
if (response.res.statusCode !== 200) {
|
|
253
|
+
failures.push(chalk.red(`x ${plugin}: failed to download with: ${response.res.statusCode}`));
|
|
218
254
|
return;
|
|
219
255
|
}
|
|
220
256
|
|
|
221
257
|
if ((fileExt === '.vsix' || fileExt === '.theia') && packed === true) {
|
|
222
258
|
// Download .vsix without decompressing.
|
|
223
|
-
|
|
224
|
-
await pipelineAsPromised(response.body, file);
|
|
259
|
+
await fs.writeFile(targetPath, response.buffer);
|
|
225
260
|
} else {
|
|
226
261
|
await fs.mkdir(targetPath, { recursive: true });
|
|
227
|
-
const tempFile = temp.
|
|
228
|
-
await
|
|
229
|
-
await decompress(tempFile
|
|
262
|
+
const tempFile = temp.path('theia-plugin-download');
|
|
263
|
+
await fs.writeFile(tempFile, response.buffer);
|
|
264
|
+
await decompress(tempFile, targetPath);
|
|
230
265
|
}
|
|
231
266
|
|
|
232
267
|
console.warn(chalk.green(`+ ${plugin}${version ? `@${version}` : ''}: downloaded successfully ${attempts > 1 ? `(after ${attempts} attempts)` : ''}`));
|
|
@@ -242,18 +277,6 @@ async function isDownloaded(filePath: string): Promise<boolean> {
|
|
|
242
277
|
return fs.stat(filePath).then(() => true, () => false);
|
|
243
278
|
}
|
|
244
279
|
|
|
245
|
-
/**
|
|
246
|
-
* Follow HTTP(S)_PROXY, ALL_PROXY and NO_PROXY environment variables.
|
|
247
|
-
*/
|
|
248
|
-
export function xfetch(url: string, options?: RequestInit): Promise<Response> {
|
|
249
|
-
const proxiedOptions: RequestInit = { ...options };
|
|
250
|
-
const proxy = getProxyForUrl(url);
|
|
251
|
-
if (!proxiedOptions.agent && proxy !== '') {
|
|
252
|
-
proxiedOptions.agent = new HttpsProxyAgent(proxy);
|
|
253
|
-
}
|
|
254
|
-
return fetch(url, proxiedOptions);
|
|
255
|
-
}
|
|
256
|
-
|
|
257
280
|
/**
|
|
258
281
|
* Walk the plugin directory and collect available extension paths.
|
|
259
282
|
* @param pluginDir the plugin directory.
|
|
@@ -290,7 +313,7 @@ async function collectExtensionPacks(pluginDir: string, excludedIds: Set<string>
|
|
|
290
313
|
if (Array.isArray(extensionPack)) {
|
|
291
314
|
extensionPackPaths.set(packageJsonPath, extensionPack.filter(id => {
|
|
292
315
|
if (excludedIds.has(id)) {
|
|
293
|
-
console.log(chalk.yellow(`'${id}'
|
|
316
|
+
console.log(chalk.yellow(`'${id}' referred to by '${json.name}' (ext pack) is excluded because of 'theiaPluginsExcludeIds'`));
|
|
294
317
|
return false; // remove
|
|
295
318
|
}
|
|
296
319
|
return true; // keep
|
|
@@ -316,7 +339,7 @@ async function collectPluginDependencies(pluginDir: string, excludedIds: Set<str
|
|
|
316
339
|
if (Array.isArray(extensionDependencies)) {
|
|
317
340
|
for (const dependency of extensionDependencies) {
|
|
318
341
|
if (excludedIds.has(dependency)) {
|
|
319
|
-
console.log(chalk.yellow(`'${dependency}'
|
|
342
|
+
console.log(chalk.yellow(`'${dependency}' referred to by '${json.name}' is excluded because of 'theiaPluginsExcludeIds'`));
|
|
320
343
|
} else {
|
|
321
344
|
dependencyIds.push(dependency);
|
|
322
345
|
}
|
package/src/theia.ts
CHANGED
|
@@ -198,6 +198,13 @@ async function theiaCli(): Promise<void> {
|
|
|
198
198
|
})
|
|
199
199
|
.command<{
|
|
200
200
|
packed: boolean
|
|
201
|
+
ignoreErrors: boolean
|
|
202
|
+
apiVersion: string
|
|
203
|
+
apiUrl: string
|
|
204
|
+
parallel: boolean
|
|
205
|
+
proxyUrl?: string
|
|
206
|
+
proxyAuthentification?: string
|
|
207
|
+
strictSsl: boolean
|
|
201
208
|
}>({
|
|
202
209
|
command: 'download:plugins',
|
|
203
210
|
describe: 'Download defined external plugins',
|
|
@@ -223,10 +230,26 @@ async function theiaCli(): Promise<void> {
|
|
|
223
230
|
alias: 'u',
|
|
224
231
|
describe: 'Open-VSX Registry API URL',
|
|
225
232
|
default: 'https://open-vsx.org/api'
|
|
233
|
+
},
|
|
234
|
+
'parallel': {
|
|
235
|
+
describe: 'Download in parallel',
|
|
236
|
+
boolean: true,
|
|
237
|
+
default: true
|
|
238
|
+
},
|
|
239
|
+
'proxy-url': {
|
|
240
|
+
describe: 'Proxy URL'
|
|
241
|
+
},
|
|
242
|
+
'proxy-authentification': {
|
|
243
|
+
describe: 'Proxy authentification information'
|
|
244
|
+
},
|
|
245
|
+
'strict-ssl': {
|
|
246
|
+
describe: 'Whether to enable strict SSL mode',
|
|
247
|
+
boolean: true,
|
|
248
|
+
default: false
|
|
226
249
|
}
|
|
227
250
|
},
|
|
228
|
-
handler: async
|
|
229
|
-
await downloadPlugins(
|
|
251
|
+
handler: async args => {
|
|
252
|
+
await downloadPlugins(args);
|
|
230
253
|
},
|
|
231
254
|
})
|
|
232
255
|
.command<{
|