@theia/cli 1.22.0-next.7 → 1.22.1
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.js +9 -9
- package/lib/download-plugins.js.map +1 -1
- package/lib/theia.js +57 -9
- package/lib/theia.js.map +1 -1
- package/package.json +20 -9
- package/src/download-plugins.ts +9 -9
- package/src/theia.ts +68 -10
package/lib/download-plugins.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.xfetch = void 0;
|
|
19
19
|
const ovsx_client_1 = require("@theia/ovsx-client/lib/ovsx-client");
|
|
20
|
-
const
|
|
20
|
+
const chalk = require("chalk");
|
|
21
21
|
const decompress = require("decompress");
|
|
22
22
|
const fs_1 = require("fs");
|
|
23
23
|
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
@@ -42,7 +42,7 @@ async function downloadPlugins(options = {}) {
|
|
|
42
42
|
const excludedIds = new Set(pck.theiaPluginsExcludeIds || []);
|
|
43
43
|
await fs_1.promises.mkdir(pluginsDir, { recursive: true });
|
|
44
44
|
if (!pck.theiaPlugins) {
|
|
45
|
-
console.log(
|
|
45
|
+
console.log(chalk.red('error: missing mandatory \'theiaPlugins\' property.'));
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
try {
|
|
@@ -123,7 +123,7 @@ async function downloadPluginAsync(failures, plugin, pluginUrl, pluginsDir, pack
|
|
|
123
123
|
fileExt = '.theia'; // theia plugins.
|
|
124
124
|
}
|
|
125
125
|
else {
|
|
126
|
-
failures.push(
|
|
126
|
+
failures.push(chalk.red(`error: '${plugin}' has an unsupported file type: '${pluginUrl}'`));
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
const targetPath = path.resolve(pluginsDir, `${plugin}${packed === true ? fileExt : ''}`);
|
|
@@ -155,15 +155,15 @@ async function downloadPluginAsync(failures, plugin, pluginUrl, pluginsDir, pack
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
if (lastError) {
|
|
158
|
-
failures.push(
|
|
158
|
+
failures.push(chalk.red(`x ${plugin}: failed to download, last error:\n ${lastError}`));
|
|
159
159
|
return;
|
|
160
160
|
}
|
|
161
161
|
if (typeof response === 'undefined') {
|
|
162
|
-
failures.push(
|
|
162
|
+
failures.push(chalk.red(`x ${plugin}: failed to download (unknown reason)`));
|
|
163
163
|
return;
|
|
164
164
|
}
|
|
165
165
|
if (response.status !== 200) {
|
|
166
|
-
failures.push(
|
|
166
|
+
failures.push(chalk.red(`x ${plugin}: failed to download with: ${response.status} ${response.statusText}`));
|
|
167
167
|
return;
|
|
168
168
|
}
|
|
169
169
|
if ((fileExt === '.vsix' || fileExt === '.theia') && packed === true) {
|
|
@@ -177,7 +177,7 @@ async function downloadPluginAsync(failures, plugin, pluginUrl, pluginsDir, pack
|
|
|
177
177
|
await pipelineAsPromised(response.body, tempFile);
|
|
178
178
|
await decompress(tempFile.path, targetPath);
|
|
179
179
|
}
|
|
180
|
-
console.warn(
|
|
180
|
+
console.warn(chalk.green(`+ ${plugin}${version ? `@${version}` : ''}: downloaded successfully ${attempts > 1 ? `(after ${attempts} attempts)` : ''}`));
|
|
181
181
|
}
|
|
182
182
|
/**
|
|
183
183
|
* Determine if the resource for the given path is already downloaded.
|
|
@@ -236,7 +236,7 @@ async function collectExtensionPacks(pluginDir, excludedIds) {
|
|
|
236
236
|
if (Array.isArray(extensionPack)) {
|
|
237
237
|
extensionPackPaths.set(packageJsonPath, extensionPack.filter(id => {
|
|
238
238
|
if (excludedIds.has(id)) {
|
|
239
|
-
console.log(
|
|
239
|
+
console.log(chalk.yellow(`'${id}' referenced by '${json.name}' (ext pack) is excluded because of 'theiaPluginsExcludeIds'`));
|
|
240
240
|
return false; // remove
|
|
241
241
|
}
|
|
242
242
|
return true; // keep
|
|
@@ -261,7 +261,7 @@ async function collectPluginDependencies(pluginDir, excludedIds) {
|
|
|
261
261
|
if (Array.isArray(extensionDependencies)) {
|
|
262
262
|
for (const dependency of extensionDependencies) {
|
|
263
263
|
if (excludedIds.has(dependency)) {
|
|
264
|
-
console.log(
|
|
264
|
+
console.log(chalk.yellow(`'${dependency}' referenced by '${json.name}' is excluded because of 'theiaPluginsExcludeIds'`));
|
|
265
265
|
}
|
|
266
266
|
else {
|
|
267
267
|
dependencyIds.push(dependency);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-plugins.js","sourceRoot":"","sources":["../src/download-plugins.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAWlF,oEAAgE;AAChE
|
|
1
|
+
{"version":3,"file":"download-plugins.js","sourceRoot":"","sources":["../src/download-plugins.ts"],"names":[],"mappings":"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"}
|
package/lib/theia.js
CHANGED
|
@@ -15,11 +15,14 @@
|
|
|
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
|
+
const fs = require("fs");
|
|
19
|
+
const path = require("path");
|
|
18
20
|
const temp = require("temp");
|
|
19
21
|
const yargs = require("yargs");
|
|
20
22
|
const yargsFactory = require("yargs/yargs");
|
|
21
23
|
const application_manager_1 = require("@theia/application-manager");
|
|
22
24
|
const application_package_1 = require("@theia/application-package");
|
|
25
|
+
const ffmpeg = require("@theia/ffmpeg");
|
|
23
26
|
const check_hoisting_1 = require("./check-hoisting");
|
|
24
27
|
const download_plugins_1 = require("./download-plugins");
|
|
25
28
|
const run_test_1 = require("./run-test");
|
|
@@ -53,16 +56,15 @@ function rebuildCommand(command, target) {
|
|
|
53
56
|
},
|
|
54
57
|
'modules': {
|
|
55
58
|
alias: 'm',
|
|
56
|
-
|
|
59
|
+
type: 'array',
|
|
57
60
|
describe: 'List of modules to rebuild/revert'
|
|
58
61
|
},
|
|
59
|
-
'
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
describe: 'Rebuild modules for Electron anyway',
|
|
62
|
+
'forceAbi': {
|
|
63
|
+
type: 'number',
|
|
64
|
+
describe: 'The Node ABI version to rebuild for'
|
|
63
65
|
}
|
|
64
66
|
},
|
|
65
|
-
handler: ({ cacheRoot, modules,
|
|
67
|
+
handler: ({ cacheRoot, modules, forceAbi }) => {
|
|
66
68
|
// Note: `modules` is actually `string[] | undefined`.
|
|
67
69
|
if (modules) {
|
|
68
70
|
// It is ergonomic to pass arguments as --modules="a,b,c,..."
|
|
@@ -78,7 +80,7 @@ function rebuildCommand(command, target) {
|
|
|
78
80
|
}
|
|
79
81
|
modules = flattened;
|
|
80
82
|
}
|
|
81
|
-
application_manager_1.rebuild(target, { cacheRoot, modules,
|
|
83
|
+
application_manager_1.rebuild(target, { cacheRoot, modules, forceAbi });
|
|
82
84
|
}
|
|
83
85
|
};
|
|
84
86
|
}
|
|
@@ -89,9 +91,10 @@ function defineCommonOptions(cli) {
|
|
|
89
91
|
choices: ['browser', 'electron'],
|
|
90
92
|
});
|
|
91
93
|
}
|
|
92
|
-
function theiaCli() {
|
|
94
|
+
async function theiaCli() {
|
|
95
|
+
const { version } = await fs.promises.readFile(path.join(__dirname, '../package.json'), 'utf8').then(JSON.parse);
|
|
96
|
+
yargs.scriptName('theia').version(version);
|
|
93
97
|
const projectPath = process.cwd();
|
|
94
|
-
yargs.scriptName('theia').version(require('../package.json').version);
|
|
95
98
|
// Create a sub `yargs` parser to read `app-target` without
|
|
96
99
|
// affecting the global `yargs` instance used by the CLI.
|
|
97
100
|
const { appTarget } = defineCommonOptions(yargsFactory()).help(false).parse();
|
|
@@ -305,6 +308,51 @@ function theiaCli() {
|
|
|
305
308
|
coverage: testCoverage
|
|
306
309
|
});
|
|
307
310
|
}
|
|
311
|
+
})
|
|
312
|
+
.command({
|
|
313
|
+
command: 'ffmpeg:replace [ffmpeg-path]',
|
|
314
|
+
describe: '',
|
|
315
|
+
builder: {
|
|
316
|
+
'electronDist': {
|
|
317
|
+
description: 'Electron distribution location.',
|
|
318
|
+
},
|
|
319
|
+
'electronVersion': {
|
|
320
|
+
description: 'Electron version for which to pull the "clean" ffmpeg library.',
|
|
321
|
+
},
|
|
322
|
+
'ffmpegPath': {
|
|
323
|
+
description: 'Absolute path to the ffmpeg shared library.',
|
|
324
|
+
},
|
|
325
|
+
'platform': {
|
|
326
|
+
description: 'Dictates where the library is located within the Electron distribution.',
|
|
327
|
+
choices: ['darwin', 'linux', 'win32'],
|
|
328
|
+
},
|
|
329
|
+
},
|
|
330
|
+
handler: async (options) => {
|
|
331
|
+
await ffmpeg.replaceFfmpeg(options);
|
|
332
|
+
},
|
|
333
|
+
})
|
|
334
|
+
.command({
|
|
335
|
+
command: 'ffmpeg:check [ffmpeg-path]',
|
|
336
|
+
describe: '(electron-only) Check that ffmpeg doesn\'t contain proprietary codecs',
|
|
337
|
+
builder: {
|
|
338
|
+
'electronDist': {
|
|
339
|
+
description: 'Electron distribution location',
|
|
340
|
+
},
|
|
341
|
+
'ffmpegPath': {
|
|
342
|
+
describe: 'Absolute path to the ffmpeg shared library',
|
|
343
|
+
},
|
|
344
|
+
'json': {
|
|
345
|
+
description: 'Output the found codecs as JSON on stdout',
|
|
346
|
+
boolean: true,
|
|
347
|
+
},
|
|
348
|
+
'platform': {
|
|
349
|
+
description: 'Dictates where the library is located within the Electron distribution',
|
|
350
|
+
choices: ['darwin', 'linux', 'win32'],
|
|
351
|
+
},
|
|
352
|
+
},
|
|
353
|
+
handler: options => {
|
|
354
|
+
ffmpeg.checkFfmpeg(options);
|
|
355
|
+
},
|
|
308
356
|
})
|
|
309
357
|
.parserConfiguration({
|
|
310
358
|
'unknown-options-as-args': true,
|
package/lib/theia.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia.js","sourceRoot":"","sources":["../src/theia.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,6BAA6B;AAC7B,+BAA+B;AAC/B,4CAA6C;AAC7C,oEAAgF;AAChF,oEAA6F;AAC7F,qDAA4C;AAC5C,yDAAiD;AACjD,yCAAiC;AACjC,sEAAsD;AAEtD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACjD,MAAM,MAAM,CAAC;AACjB,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE;IACpC,IAAI,KAAK,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,KAAK,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC9B;KACJ;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AACH,QAAQ,EAAE,CAAC;AAIX,SAAS,aAAa,CAAC,IAA0B;IAC7C,OAAO,IAAI,KAAK,SAAS;QACrB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAA+B;IAKpE,OAAO;QACH,OAAO;QACP,QAAQ,EAAE,2CAA2C,MAAM,GAAG;QAC9D,OAAO,EAAE;YACL,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,uDAAuD;aACpE;YACD,SAAS,EAAE;gBACP,KAAK,EAAE,GAAG;gBACV,
|
|
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.22.
|
|
3
|
+
"version": "1.22.1",
|
|
4
4
|
"description": "Theia CLI.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,16 +23,18 @@
|
|
|
23
23
|
"theia": "./bin/theia"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
|
+
"prepare": "tsc -b",
|
|
26
27
|
"lint": "theiaext lint",
|
|
27
28
|
"build": "theiaext build",
|
|
28
29
|
"watch": "theiaext watch",
|
|
29
30
|
"clean": "theiaext clean"
|
|
30
31
|
},
|
|
31
32
|
"dependencies": {
|
|
32
|
-
"@theia/application-manager": "1.22.
|
|
33
|
-
"@theia/application-package": "1.22.
|
|
34
|
-
"@theia/
|
|
35
|
-
"@theia/
|
|
33
|
+
"@theia/application-manager": "1.22.1",
|
|
34
|
+
"@theia/application-package": "1.22.1",
|
|
35
|
+
"@theia/ffmpeg": "1.22.1",
|
|
36
|
+
"@theia/localization-manager": "1.22.1",
|
|
37
|
+
"@theia/ovsx-client": "1.22.1",
|
|
36
38
|
"@types/chai": "^4.2.7",
|
|
37
39
|
"@types/mkdirp": "^0.5.2",
|
|
38
40
|
"@types/mocha": "^5.2.7",
|
|
@@ -41,19 +43,28 @@
|
|
|
41
43
|
"@types/requestretry": "^1.12.3",
|
|
42
44
|
"@types/tar": "^4.0.3",
|
|
43
45
|
"chai": "^4.2.0",
|
|
44
|
-
"
|
|
46
|
+
"chalk": "4.0.0",
|
|
45
47
|
"decompress": "^4.2.1",
|
|
46
48
|
"https-proxy-agent": "^5.0.0",
|
|
47
49
|
"mocha": "^7.0.0",
|
|
48
|
-
"node-fetch": "^2.6.
|
|
50
|
+
"node-fetch": "^2.6.7",
|
|
49
51
|
"proxy-from-env": "^1.1.0",
|
|
50
52
|
"puppeteer": "^2.0.0",
|
|
51
53
|
"puppeteer-to-istanbul": "^1.2.2",
|
|
52
54
|
"temp": "^0.9.1",
|
|
55
|
+
"unzipper": "^0.9.11",
|
|
53
56
|
"yargs": "^15.3.1"
|
|
54
57
|
},
|
|
55
58
|
"devDependencies": {
|
|
56
|
-
"@types/
|
|
59
|
+
"@types/chai": "^4.2.7",
|
|
60
|
+
"@types/mkdirp": "^0.5.2",
|
|
61
|
+
"@types/mocha": "^5.2.7",
|
|
62
|
+
"@types/node-fetch": "^2.5.7",
|
|
63
|
+
"@types/proxy-from-env": "^1.0.1",
|
|
64
|
+
"@types/puppeteer": "^2.0.0",
|
|
65
|
+
"@types/requestretry": "^1.12.3",
|
|
66
|
+
"@types/tar": "^4.0.3",
|
|
67
|
+
"@types/unzipper": "^0.9.2"
|
|
57
68
|
},
|
|
58
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "49910aeaecf520a54b253db0215b28c2268bb2f3"
|
|
59
70
|
}
|
package/src/download-plugins.ts
CHANGED
|
@@ -24,7 +24,7 @@ declare global {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
import { OVSXClient } from '@theia/ovsx-client/lib/ovsx-client';
|
|
27
|
-
import
|
|
27
|
+
import * as chalk from 'chalk';
|
|
28
28
|
import * as decompress from 'decompress';
|
|
29
29
|
import { createWriteStream, promises as fs } from 'fs';
|
|
30
30
|
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
@@ -91,7 +91,7 @@ export default async function downloadPlugins(options: DownloadPluginsOptions =
|
|
|
91
91
|
await fs.mkdir(pluginsDir, { recursive: true });
|
|
92
92
|
|
|
93
93
|
if (!pck.theiaPlugins) {
|
|
94
|
-
console.log(red('error: missing mandatory \'theiaPlugins\' property.'));
|
|
94
|
+
console.log(chalk.red('error: missing mandatory \'theiaPlugins\' property.'));
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
97
|
try {
|
|
@@ -171,7 +171,7 @@ async function downloadPluginAsync(failures: string[], plugin: string, pluginUrl
|
|
|
171
171
|
} else if (pluginUrl.endsWith('theia')) {
|
|
172
172
|
fileExt = '.theia'; // theia plugins.
|
|
173
173
|
} else {
|
|
174
|
-
failures.push(red(`error: '${plugin}' has an unsupported file type: '${pluginUrl}'`));
|
|
174
|
+
failures.push(chalk.red(`error: '${plugin}' has an unsupported file type: '${pluginUrl}'`));
|
|
175
175
|
return;
|
|
176
176
|
}
|
|
177
177
|
const targetPath = path.resolve(pluginsDir, `${plugin}${packed === true ? fileExt : ''}`);
|
|
@@ -206,15 +206,15 @@ async function downloadPluginAsync(failures: string[], plugin: string, pluginUrl
|
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
if (lastError) {
|
|
209
|
-
failures.push(red(`x ${plugin}: failed to download, last error:\n ${lastError}`));
|
|
209
|
+
failures.push(chalk.red(`x ${plugin}: failed to download, last error:\n ${lastError}`));
|
|
210
210
|
return;
|
|
211
211
|
}
|
|
212
212
|
if (typeof response === 'undefined') {
|
|
213
|
-
failures.push(red(`x ${plugin}: failed to download (unknown reason)`));
|
|
213
|
+
failures.push(chalk.red(`x ${plugin}: failed to download (unknown reason)`));
|
|
214
214
|
return;
|
|
215
215
|
}
|
|
216
216
|
if (response.status !== 200) {
|
|
217
|
-
failures.push(red(`x ${plugin}: failed to download with: ${response.status} ${response.statusText}`));
|
|
217
|
+
failures.push(chalk.red(`x ${plugin}: failed to download with: ${response.status} ${response.statusText}`));
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
220
220
|
|
|
@@ -229,7 +229,7 @@ async function downloadPluginAsync(failures: string[], plugin: string, pluginUrl
|
|
|
229
229
|
await decompress(tempFile.path, targetPath);
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
console.warn(green(`+ ${plugin}${version ? `@${version}` : ''}: downloaded successfully ${attempts > 1 ? `(after ${attempts} attempts)` : ''}`));
|
|
232
|
+
console.warn(chalk.green(`+ ${plugin}${version ? `@${version}` : ''}: downloaded successfully ${attempts > 1 ? `(after ${attempts} attempts)` : ''}`));
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
/**
|
|
@@ -290,7 +290,7 @@ async function collectExtensionPacks(pluginDir: string, excludedIds: Set<string>
|
|
|
290
290
|
if (Array.isArray(extensionPack)) {
|
|
291
291
|
extensionPackPaths.set(packageJsonPath, extensionPack.filter(id => {
|
|
292
292
|
if (excludedIds.has(id)) {
|
|
293
|
-
console.log(yellow(`'${id}' referenced by '${json.name}' (ext pack) is excluded because of 'theiaPluginsExcludeIds'`));
|
|
293
|
+
console.log(chalk.yellow(`'${id}' referenced by '${json.name}' (ext pack) is excluded because of 'theiaPluginsExcludeIds'`));
|
|
294
294
|
return false; // remove
|
|
295
295
|
}
|
|
296
296
|
return true; // keep
|
|
@@ -316,7 +316,7 @@ async function collectPluginDependencies(pluginDir: string, excludedIds: Set<str
|
|
|
316
316
|
if (Array.isArray(extensionDependencies)) {
|
|
317
317
|
for (const dependency of extensionDependencies) {
|
|
318
318
|
if (excludedIds.has(dependency)) {
|
|
319
|
-
console.log(yellow(`'${dependency}' referenced by '${json.name}' is excluded because of 'theiaPluginsExcludeIds'`));
|
|
319
|
+
console.log(chalk.yellow(`'${dependency}' referenced by '${json.name}' is excluded because of 'theiaPluginsExcludeIds'`));
|
|
320
320
|
} else {
|
|
321
321
|
dependencyIds.push(dependency);
|
|
322
322
|
}
|
package/src/theia.ts
CHANGED
|
@@ -14,11 +14,14 @@
|
|
|
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 'fs';
|
|
18
|
+
import * as path from 'path';
|
|
17
19
|
import * as temp from 'temp';
|
|
18
20
|
import * as yargs from 'yargs';
|
|
19
21
|
import yargsFactory = require('yargs/yargs');
|
|
20
22
|
import { ApplicationPackageManager, rebuild } from '@theia/application-manager';
|
|
21
23
|
import { ApplicationProps, DEFAULT_SUPPORTED_API_VERSION } from '@theia/application-package';
|
|
24
|
+
import * as ffmpeg from '@theia/ffmpeg';
|
|
22
25
|
import checkHoisted from './check-hoisting';
|
|
23
26
|
import downloadPlugins from './download-plugins';
|
|
24
27
|
import runTest from './run-test';
|
|
@@ -49,7 +52,7 @@ function toStringArray(argv?: (string | number)[]): string[] | undefined {
|
|
|
49
52
|
function rebuildCommand(command: string, target: ApplicationProps.Target): yargs.CommandModule<unknown, {
|
|
50
53
|
modules: string[]
|
|
51
54
|
cacheRoot?: string
|
|
52
|
-
|
|
55
|
+
forceAbi?: number,
|
|
53
56
|
}> {
|
|
54
57
|
return {
|
|
55
58
|
command,
|
|
@@ -61,16 +64,15 @@ function rebuildCommand(command: string, target: ApplicationProps.Target): yargs
|
|
|
61
64
|
},
|
|
62
65
|
'modules': {
|
|
63
66
|
alias: 'm',
|
|
64
|
-
|
|
67
|
+
type: 'array', // === `--modules/-m` can be specified multiple times
|
|
65
68
|
describe: 'List of modules to rebuild/revert'
|
|
66
69
|
},
|
|
67
|
-
'
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
describe: 'Rebuild modules for Electron anyway',
|
|
70
|
+
'forceAbi': {
|
|
71
|
+
type: 'number',
|
|
72
|
+
describe: 'The Node ABI version to rebuild for'
|
|
71
73
|
}
|
|
72
74
|
},
|
|
73
|
-
handler: ({ cacheRoot, modules,
|
|
75
|
+
handler: ({ cacheRoot, modules, forceAbi }) => {
|
|
74
76
|
// Note: `modules` is actually `string[] | undefined`.
|
|
75
77
|
if (modules) {
|
|
76
78
|
// It is ergonomic to pass arguments as --modules="a,b,c,..."
|
|
@@ -85,7 +87,7 @@ function rebuildCommand(command: string, target: ApplicationProps.Target): yargs
|
|
|
85
87
|
}
|
|
86
88
|
modules = flattened;
|
|
87
89
|
}
|
|
88
|
-
rebuild(target, { cacheRoot, modules,
|
|
90
|
+
rebuild(target, { cacheRoot, modules, forceAbi });
|
|
89
91
|
}
|
|
90
92
|
};
|
|
91
93
|
}
|
|
@@ -100,9 +102,10 @@ function defineCommonOptions<T>(cli: yargs.Argv<T>): yargs.Argv<T & {
|
|
|
100
102
|
});
|
|
101
103
|
}
|
|
102
104
|
|
|
103
|
-
function theiaCli(): void {
|
|
105
|
+
async function theiaCli(): Promise<void> {
|
|
106
|
+
const { version } = await fs.promises.readFile(path.join(__dirname, '../package.json'), 'utf8').then(JSON.parse);
|
|
107
|
+
yargs.scriptName('theia').version(version);
|
|
104
108
|
const projectPath = process.cwd();
|
|
105
|
-
yargs.scriptName('theia').version(require('../package.json').version);
|
|
106
109
|
// Create a sub `yargs` parser to read `app-target` without
|
|
107
110
|
// affecting the global `yargs` instance used by the CLI.
|
|
108
111
|
const { appTarget } = defineCommonOptions(yargsFactory()).help(false).parse();
|
|
@@ -351,6 +354,61 @@ function theiaCli(): void {
|
|
|
351
354
|
});
|
|
352
355
|
}
|
|
353
356
|
})
|
|
357
|
+
.command<{
|
|
358
|
+
electronVersion?: string
|
|
359
|
+
electronDist?: string
|
|
360
|
+
ffmpegPath?: string
|
|
361
|
+
platform?: NodeJS.Platform
|
|
362
|
+
}>({
|
|
363
|
+
command: 'ffmpeg:replace [ffmpeg-path]',
|
|
364
|
+
describe: '',
|
|
365
|
+
builder: {
|
|
366
|
+
'electronDist': {
|
|
367
|
+
description: 'Electron distribution location.',
|
|
368
|
+
},
|
|
369
|
+
'electronVersion': {
|
|
370
|
+
description: 'Electron version for which to pull the "clean" ffmpeg library.',
|
|
371
|
+
},
|
|
372
|
+
'ffmpegPath': {
|
|
373
|
+
description: 'Absolute path to the ffmpeg shared library.',
|
|
374
|
+
},
|
|
375
|
+
'platform': {
|
|
376
|
+
description: 'Dictates where the library is located within the Electron distribution.',
|
|
377
|
+
choices: ['darwin', 'linux', 'win32'] as NodeJS.Platform[],
|
|
378
|
+
},
|
|
379
|
+
},
|
|
380
|
+
handler: async options => {
|
|
381
|
+
await ffmpeg.replaceFfmpeg(options);
|
|
382
|
+
},
|
|
383
|
+
})
|
|
384
|
+
.command<{
|
|
385
|
+
electronDist?: string
|
|
386
|
+
ffmpegPath?: string
|
|
387
|
+
json?: boolean
|
|
388
|
+
platform?: NodeJS.Platform
|
|
389
|
+
}>({
|
|
390
|
+
command: 'ffmpeg:check [ffmpeg-path]',
|
|
391
|
+
describe: '(electron-only) Check that ffmpeg doesn\'t contain proprietary codecs',
|
|
392
|
+
builder: {
|
|
393
|
+
'electronDist': {
|
|
394
|
+
description: 'Electron distribution location',
|
|
395
|
+
},
|
|
396
|
+
'ffmpegPath': {
|
|
397
|
+
describe: 'Absolute path to the ffmpeg shared library',
|
|
398
|
+
},
|
|
399
|
+
'json': {
|
|
400
|
+
description: 'Output the found codecs as JSON on stdout',
|
|
401
|
+
boolean: true,
|
|
402
|
+
},
|
|
403
|
+
'platform': {
|
|
404
|
+
description: 'Dictates where the library is located within the Electron distribution',
|
|
405
|
+
choices: ['darwin', 'linux', 'win32'] as NodeJS.Platform[],
|
|
406
|
+
},
|
|
407
|
+
},
|
|
408
|
+
handler: options => {
|
|
409
|
+
ffmpeg.checkFfmpeg(options);
|
|
410
|
+
},
|
|
411
|
+
})
|
|
354
412
|
.parserConfiguration({
|
|
355
413
|
'unknown-options-as-args': true,
|
|
356
414
|
})
|