@theia/process 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/common/shell-command-builder.slow-spec.d.ts.map +1 -1
- package/lib/common/shell-command-builder.slow-spec.js +10 -10
- package/lib/common/shell-command-builder.slow-spec.js.map +1 -1
- package/lib/node/pseudo-pty.d.ts +3 -1
- package/lib/node/pseudo-pty.d.ts.map +1 -1
- package/lib/node/pseudo-pty.js +2 -0
- package/lib/node/pseudo-pty.js.map +1 -1
- package/lib/node/terminal-process.d.ts +5 -1
- package/lib/node/terminal-process.d.ts.map +1 -1
- package/lib/node/terminal-process.js +14 -13
- package/lib/node/terminal-process.js.map +1 -1
- package/package.json +5 -5
- package/src/common/shell-command-builder.slow-spec.ts +11 -17
- package/src/node/pseudo-pty.ts +4 -1
- package/src/node/terminal-process.ts +15 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-command-builder.slow-spec.d.ts","sourceRoot":"","sources":["../../src/common/shell-command-builder.slow-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF;;GAEG;AAEH,OAAO,EAAiC,YAAY,EAAa,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-command-builder.slow-spec.d.ts","sourceRoot":"","sources":["../../src/common/shell-command-builder.slow-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF;;GAEG;AAEH,OAAO,EAAiC,YAAY,EAAa,MAAM,eAAe,CAAC;AAGvF,OAAO,EAA2C,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG/F,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,KAAK,EAAE,YAAY,CAAA;CACtB"}
|
|
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
const child_process_1 = require("child_process");
|
|
22
22
|
const path_1 = require("path");
|
|
23
23
|
const shell_command_builder_1 = require("./shell-command-builder");
|
|
24
|
-
const
|
|
24
|
+
const chalk = require("chalk"); // tslint:disable-line:no-implicit-dependencies
|
|
25
25
|
const isWindows = process.platform === 'win32';
|
|
26
26
|
/**
|
|
27
27
|
* Extra debugging info (very verbose).
|
|
@@ -52,8 +52,8 @@ const spawnOptions = {
|
|
|
52
52
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
53
53
|
};
|
|
54
54
|
// Formatting options, used with `scanLines` for debugging.
|
|
55
|
-
const stdoutFormat = (prefix) => (data) => `${
|
|
56
|
-
const stderrFormat = (prefix) => (data) => `${
|
|
55
|
+
const stdoutFormat = (prefix) => (data) => `${chalk.bold(chalk.yellow(`${prefix} STDOUT:`))} ${chalk.bgYellow(chalk.black(data))}`;
|
|
56
|
+
const stderrFormat = (prefix) => (data) => `${chalk.bold(chalk.red(`${prefix} STDERR:`))} ${chalk.bgRed(chalk.white(data))}`;
|
|
57
57
|
// Default error scanner
|
|
58
58
|
const errorScanner = (handle) => {
|
|
59
59
|
if (/^\s*\w+Error:/.test(handle.line) ||
|
|
@@ -298,7 +298,7 @@ async function testCommandLine(context, processInfo, options,
|
|
|
298
298
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
299
299
|
firstOf) {
|
|
300
300
|
const commandLine = shellCommandBuilder.buildCommand(processInfo, options);
|
|
301
|
-
debug(`${
|
|
301
|
+
debug(`${chalk.bold(chalk.white(`${context.name} STDIN:`))} ${chalk.bgWhite(chalk.black(displayWhitespaces(commandLine)))}`);
|
|
302
302
|
processInfo.shell.stdin.write(commandLine + context.submit);
|
|
303
303
|
return Promise.race(firstOf);
|
|
304
304
|
}
|
|
@@ -307,8 +307,8 @@ firstOf) {
|
|
|
307
307
|
*/
|
|
308
308
|
function createShell(context, shellExecutable, shellArguments = []) {
|
|
309
309
|
const shell = child_process_1.spawn(shellExecutable, shellArguments, spawnOptions);
|
|
310
|
-
debug(
|
|
311
|
-
shell.on('close', (code, signal) => debug(
|
|
310
|
+
debug(chalk.magenta(`${chalk.bold(`${context.name} SPAWN:`)} ${shellExecutable} ${shellArguments.join(' ')}`));
|
|
311
|
+
shell.on('close', (code, signal) => debug(chalk.magenta(`${chalk.bold(`${context.name} CLOSE:`)} ${shellExecutable} code(${code}) signal(${signal})`)));
|
|
312
312
|
return {
|
|
313
313
|
executable: shellExecutable,
|
|
314
314
|
arguments: [],
|
|
@@ -342,14 +342,14 @@ async function scanLines(context, stream, callback, debugFormat = (s) => s) {
|
|
|
342
342
|
if (!context.resolved) {
|
|
343
343
|
context.resolve();
|
|
344
344
|
resolve(value);
|
|
345
|
-
debug(
|
|
345
|
+
debug(chalk.bold(chalk.green(`${context.name} SCANLINES RESOLVED`)));
|
|
346
346
|
}
|
|
347
347
|
},
|
|
348
348
|
reject: (reason) => {
|
|
349
349
|
if (!context.resolved) {
|
|
350
350
|
context.resolve();
|
|
351
351
|
reject(reason);
|
|
352
|
-
debug(
|
|
352
|
+
debug(chalk.bold(chalk.red(`${context.name} SCANLINES REJECTED`)));
|
|
353
353
|
}
|
|
354
354
|
},
|
|
355
355
|
line,
|
|
@@ -357,7 +357,7 @@ async function scanLines(context, stream, callback, debugFormat = (s) => s) {
|
|
|
357
357
|
});
|
|
358
358
|
}
|
|
359
359
|
catch (error) {
|
|
360
|
-
debug(
|
|
360
|
+
debug(chalk.bold(chalk.red(`${context.name} SCANLINES THROWED`)));
|
|
361
361
|
context.resolve();
|
|
362
362
|
reject(error);
|
|
363
363
|
break;
|
|
@@ -398,7 +398,7 @@ class TestCaseContext {
|
|
|
398
398
|
finalize() {
|
|
399
399
|
if (!this.resolved) {
|
|
400
400
|
this.resolve();
|
|
401
|
-
debug(
|
|
401
|
+
debug(chalk.red(`${chalk.bold(`${this.name} CONTEXT:`)} context wasn't resolved when finalizing, resolving!`));
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
404
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-command-builder.slow-spec.js","sourceRoot":"","sources":["../../src/common/shell-command-builder.slow-spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF;;GAEG;AAEH,iDAAuF;AAEvF,+BAA4B;AAE5B,mEAA+F;AAE/F,sCAIqB,CAAC,+CAA+C;AAMrE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC/C;;GAEG;AACH,MAAM,MAAM,GAAY,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACzE;;;GAGG;AACH,MAAM,cAAc,GAAqB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,IAAI,SAAS,CAAC;AAC7G;;GAEG;AACH,MAAM,cAAc,GAAuB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,SAAS,CAAC;AAC/F;;GAEG;AACH,8DAA8D;AAC9D,SAAS,KAAK,CAAC,GAAG,KAAY;IAC1B,IAAI,MAAM,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;KAC3B;AACL,CAAC;AAED,MAAM,aAAa,GAAG,WAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAChE,MAAM,YAAY,GAAiB;IAC/B,+DAA+D;IAC/D,wBAAwB,EAAE,IAAI;IAC9B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CACtD,GAAG,WAAI,CAAC,aAAM,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,IAAI,eAAQ,CAAC,YAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AACpE,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CACtD,GAAG,WAAI,CAAC,UAAG,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,IAAI,YAAK,CAAC,YAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAE9D,wBAAwB;AACxB,MAAM,YAAY,GAAG,CAAC,MAA4B,EAAE,EAAE;IAClD,IACI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACtC;QACE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAChC;AACL,CAAC,CAAC;AAEF,yEAAyE;AACzE,sDAAsD;AACtD,MAAM,YAAY,GACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,IAAI,CAAC,YAAY,EAAE;IACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;CAC9D;AAED,MAAM,mBAAmB,GAAG,IAAI,2CAAmB,EAAE,CAAC;AACtD,MAAM,YAAY,GAAG,CAAC;QAClB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;YACX,CAAC,CAAC,cAAc,IAAI,gBAAgB,CAAC,gBAAgB,CAAC;YACtD,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QACzC,QAAQ,EACJ,SAAS,IAAI,MAAM,CAAC,cAAc;KACzC,EAAE;QACC,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,SAAS;YACX,CAAC,CAAC,cAAc,IAAI,gBAAgB,CAAC,eAAe,CAAC;YACrD,CAAC,CAAC,SAAS;QACf,QAAQ,EACJ,SAAS,IAAI,MAAM,CAAC,cAAc;KACzC,EAAE;QACC,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,SAAS;YACX,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,SAAS;KAClB,EAAE;QACC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,gBAAgB,CAAC,SAAS;YAC5B,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,iBAAiB,CAAC;KAC3B,CAAC,CAAC;AAEH,4BAA4B;AAE5B,8BAA8B;AAC9B,8EAA8E;AAC9E,uBAAuB;AACvB,EAAE;AACF,EAAE;AACF,aAAa;AACb,oGAAoG;AACpG,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AACtE,4FAA4F;AAC5F,mEAAmE;AACnE,EAAE;AACF,sBAAsB;AACtB,uRAAuR;AACvR,qFAAqF;AACrF,6DAA6D;AAC7D,sDAAsD;AACtD,4GAA4G;AAC5G,6GAA6G;AAC7G,6KAA6K;AAC7K,yFAAyF;AACzF,oEAAoE;AACpE,iDAAiD;AACjD,wFAAwF;AACxF,mGAAmG;AACnG,oGAAoG;AACpG,wGAAwG;AAExG,2BAA2B;AAE3B,IAAI,EAAE,GAAG,CAAC,CAAC;AACX,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;IAEpC,IAAI,WAA+B,CAAC;IAEpC,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE;QAC3E,WAAW,GAAG,gBAAgB,cAAc,EAAE,CAAC;KAElD;SAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QAC1B,iEAAiE;QACjE,WAAW,GAAG,mBAAmB,CAAC;KAErC;SAAM;QACH,mDAAmD;QACnD,2EAA2E;QAC3E,IAAI;YACA,MAAM,SAAS,GAAG,GAAG,WAAW,CAAC,IAAI,OAAO,CAAC;YAC7C,MAAM,SAAS,GAAG,yBAAS,CAAC,WAAW,CAAC,IAAI,EAAE;gBAC1C,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,IAAK;aACjB,CAAC,CAAC;YACH,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACpD,WAAW,GAAG,mBAAmB,CAAC;aACrC;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,GAAG,gBAAgB,CAAC;SAClC;KACJ;IAED;;OAEG;IACH,MAAM,cAAc,GAAG,CAAC,QAAqC,EAAE,EAAE;QAC7D,MAAM,eAAe,GAAG,QAAQ,WAAW,CAAC,IAAI,WAAW,CAAC;QAC5D,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;YACpC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;SACvC;aAAM;YACH,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,YAAY,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;SACxE;IACL,CAAC,CAAC;IAEF,cAAc,CAAC;QACX,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;QAErB,IAAI,QAAgB,CAAC;QACrB,IAAI,GAAW,CAAC;QAChB,IAAI,MAA0B,CAAC;QAC/B,IAAI,WAA4B,CAAC;QACjC,IAAI,OAAwB,CAAC;QAE7B,UAAU,CAAC,GAAG,EAAE;YACZ,2EAA2E;YAC3E,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,YAAY,CAAC;YAEhD,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAChD,GAAG,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;aAC3C;iBAAM;gBACH,GAAG,GAAG,aAAa,CAAC;aACvB;YAED,4EAA4E;YAC5E,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE;gBACnC,MAAM,GAAG,MAAM,CAAC;aACnB;YAED,gDAAgD;YAChD,MAAM,eAAe,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;YACtD,OAAO,GAAG,IAAI,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YACvD,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,IAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACX,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,MAAM,QAAQ,GAAG,cAAc,CAAC;YAChC,MAAM,eAAe,CACjB,OAAO,EAAE,WAAW,EACpB;gBACI,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,sBAAsB,OAAO,QAAQ,CAAC;gBAClE,GAAG,EAAE;oBACD,CAAC,OAAO,CAAC,EAAE,QAAQ;iBACtB;aACJ,EAAE;gBACH,SAAS;gBACT,SAAS,CAAO,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,MAAO,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7F,SAAS;gBACT,SAAS,CAAO,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,MAAO,EAAE,MAAM,CAAC,EAAE;oBACzD,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;wBACvC,MAAM,CAAC,OAAO,EAAE,CAAC;qBACpB;gBACL,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACjC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC;YAC3B,MAAM,eAAe,CACjB,OAAO,EAAE,WAAW,EACpB;gBACI,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,sBAAsB,OAAO,QAAQ,CAAC;gBAClE,GAAG,EAAE;oBACD,CAAC,OAAO,CAAC,EAAE,QAAQ;iBACtB;aACJ,EAAE;gBACH,SAAS;gBACT,SAAS,CAAO,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,MAAO,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7F,SAAS;gBACT,SAAS,CAAO,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,MAAO,EAAE,MAAM,CAAC,EAAE;oBACzD,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;wBACvC,MAAM,CAAC,OAAO,EAAE,CAAC;qBACpB;oBACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;wBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;qBACzC;gBACL,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACjC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC;YACnB,MAAM,KAAK,GAAG,KAAK,CAAC;YACpB,MAAM,eAAe,CACjB,OAAO,EAAE,WAAW,EACpB;gBACI,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE;wCACR,IAAI;yCACH,KAAK;;sBAExB,CAAC;aACN,EAAE;gBACH,SAAS;gBACT,SAAS,CAAO,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,MAAO,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7F,SAAS;gBACT,SAAS,CAAO,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,MAAO,EAAE,MAAM,CAAC,EAAE;oBACzD,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;wBAC5C,MAAM,CAAC,OAAO,EAAE,CAAC;qBACpB;gBACL,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACjC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC;CAEN;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACrC,IAAI;QACA,oEAAoE;QACpE,OAAO,wBAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;KAC3D;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC3C,OAAO,WAAW;QACd,0CAA0C;SACzC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;QACpB,sDAAsD;SACrD,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACpC,OAAO,IAAI;SACN,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC1B,OAAwB,EACxB,WAA4B,EAC5B,OAA2B;AAC3B,8DAA8D;AAC9D,OAA4B;IAG5B,MAAM,WAAW,GAAG,mBAAmB,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,KAAK,CAAC,GAAG,WAAI,CAAC,YAAK,CAAC,GAAG,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,cAAO,CAAC,YAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrG,WAAW,CAAC,KAAK,CAAC,KAAM,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAChB,OAAwB,EACxB,eAAuB,EACvB,iBAA2B,EAAE;IAE7B,MAAM,KAAK,GAAG,qBAAK,CAAC,eAAe,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IACnE,KAAK,CAAC,cAAO,CAAC,GAAG,WAAI,CAAC,GAAG,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,eAAe,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,cAAO,CAC7C,GAAG,WAAI,CAAC,GAAG,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,eAAe,SAAS,IAAI,YAAY,MAAM,GAAG,CACzF,CAAC,CAAC,CAAC;IACJ,OAAO;QACH,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,EAAE;QACb,KAAK;KACR,CAAC;AACN,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACpB,OAAwB,EACxB,MAAgB,EAChB,QAA6C,EAC7C,cAAc,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;IAE9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,sEAAsE;QACtE,4BAA4B;QAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI,OAAO,CAAC,QAAQ,EAAE;gBAClB,OAAO;aACV;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,IAAI,IAAI,KAAK,CAAC,KAAK,EAAG,GAAG,IAAI,CAAC;gBAC9B,IAAI,IAAI,IAAI,CAAC;gBACb,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI;oBACA,QAAQ,CAAC;wBACL,OAAO,EAAE,CAAC,KAAQ,EAAE,EAAE;4BAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,OAAO,EAAE,CAAC;gCAClB,OAAO,CAAC,KAAK,CAAC,CAAC;gCACf,KAAK,CAAC,WAAI,CAAC,YAAK,CAAC,GAAG,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;6BAC5D;wBACL,CAAC;wBACD,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE;4BACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,OAAO,EAAE,CAAC;gCAClB,MAAM,CAAC,MAAM,CAAC,CAAC;gCACf,KAAK,CAAC,WAAI,CAAC,UAAG,CAAC,GAAG,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;6BAC1D;wBACL,CAAC;wBACD,IAAI;wBACJ,IAAI;qBACP,CAAC,CAAC;iBACN;gBAAC,OAAO,KAAK,EAAE;oBACZ,KAAK,CAAC,WAAI,CAAC,UAAG,CAAC,GAAG,OAAO,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;oBACtD,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,MAAM;iBACT;gBACD,IAAI,GAAG,EAAE,CAAC;aACb;YACD,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AAEP,CAAC;AAqBD;;;;GAIG;AACH,MAAM,eAAe;IAEjB;IACI;;OAEG;IACM,IAAY;IACrB;;;OAGG;IACI,SAAS,IAAI;IACpB;;OAEG;IACI,WAAW,KAAK;QATd,SAAI,GAAJ,IAAI,CAAQ;QAKd,WAAM,GAAN,MAAM,CAAO;QAIb,aAAQ,GAAR,QAAQ,CAAQ;IACvB,CAAC;IAEL,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,KAAK,CAAC,UAAG,CAAC,GAAG,WAAI,CAAC,GAAG,IAAI,CAAC,IAAI,WAAW,CAAC,sDAAsD,CAAC,CAAC,CAAC;SACtG;IACL,CAAC;CAEJ"}
|
|
1
|
+
{"version":3,"file":"shell-command-builder.slow-spec.js","sourceRoot":"","sources":["../../src/common/shell-command-builder.slow-spec.ts"],"names":[],"mappings":"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"}
|
package/lib/node/pseudo-pty.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { IPty } from '
|
|
16
|
+
import { IPty } from 'node-pty';
|
|
17
17
|
import { Event } from '@theia/core';
|
|
18
18
|
export declare class PseudoPty implements IPty {
|
|
19
19
|
readonly pid: number;
|
|
@@ -32,5 +32,7 @@ export declare class PseudoPty implements IPty {
|
|
|
32
32
|
resize(columns: number, rows: number): void;
|
|
33
33
|
write(data: string): void;
|
|
34
34
|
kill(signal?: string): void;
|
|
35
|
+
pause(): void;
|
|
36
|
+
resume(): void;
|
|
35
37
|
}
|
|
36
38
|
//# sourceMappingURL=pseudo-pty.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pseudo-pty.d.ts","sourceRoot":"","sources":["../../src/node/pseudo-pty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pseudo-pty.d.ts","sourceRoot":"","sources":["../../src/node/pseudo-pty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,qBAAa,SAAU,YAAW,IAAI;IAElC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAM;IAE1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAM;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAM;IAE3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAM;IAE9B,iBAAiB,UAAS;IAE1B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAc;IAE5C,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAc;IAE3E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAEzD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAE9E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK3D,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAE3C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEzB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAE3B,KAAK,IAAI,IAAI;IAEb,MAAM,IAAI,IAAI;CACjB"}
|
package/lib/node/pseudo-pty.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pseudo-pty.js","sourceRoot":"","sources":["../../src/node/pseudo-pty.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAGlF,sCAAoC;AAEpC,MAAa,SAAS;IAAtB;QAEa,QAAG,GAAW,CAAC,CAAC,CAAC;QAEjB,SAAI,GAAW,CAAC,CAAC,CAAC;QAElB,SAAI,GAAW,CAAC,CAAC,CAAC;QAElB,YAAO,GAAW,EAAE,CAAC;QAE9B,sBAAiB,GAAG,KAAK,CAAC;QAEjB,WAAM,GAAkB,YAAK,CAAC,IAAI,CAAC;QAEnC,WAAM,GAAiD,YAAK,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pseudo-pty.js","sourceRoot":"","sources":["../../src/node/pseudo-pty.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAGlF,sCAAoC;AAEpC,MAAa,SAAS;IAAtB;QAEa,QAAG,GAAW,CAAC,CAAC,CAAC;QAEjB,SAAI,GAAW,CAAC,CAAC,CAAC;QAElB,SAAI,GAAW,CAAC,CAAC,CAAC;QAElB,YAAO,GAAW,EAAE,CAAC;QAE9B,sBAAiB,GAAG,KAAK,CAAC;QAEjB,WAAM,GAAkB,YAAK,CAAC,IAAI,CAAC;QAEnC,WAAM,GAAiD,YAAK,CAAC,IAAI,CAAC;IAoB/E,CAAC;IAZG,8DAA8D;IAC9D,EAAE,CAAC,KAAa,EAAE,QAAkC,IAAU,CAAC;IAE/D,MAAM,CAAC,OAAe,EAAE,IAAY,IAAU,CAAC;IAE/C,KAAK,CAAC,IAAY,IAAU,CAAC;IAE7B,IAAI,CAAC,MAAe,IAAU,CAAC;IAE/B,KAAK,KAAW,CAAC;IAEjB,MAAM,KAAW,CAAC;CACrB;AAlCD,8BAkCC"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { ILogger } from '@theia/core/lib/common';
|
|
18
18
|
import { Process, ProcessOptions } from './process';
|
|
19
19
|
import { ProcessManager } from './process-manager';
|
|
20
|
-
import { IPty } from '
|
|
20
|
+
import { IPty } from 'node-pty';
|
|
21
21
|
import { MultiRingBuffer, MultiRingBufferReadableStream } from './multi-ring-buffer';
|
|
22
22
|
import { DevNullStream } from './dev-null-stream';
|
|
23
23
|
import { Writable } from 'stream';
|
|
@@ -33,6 +33,10 @@ export declare const TerminalProcessFactory: unique symbol;
|
|
|
33
33
|
export interface TerminalProcessFactory {
|
|
34
34
|
(options: TerminalProcessOptions): TerminalProcess;
|
|
35
35
|
}
|
|
36
|
+
export declare enum NodePtyErrors {
|
|
37
|
+
EACCES = "Permission denied",
|
|
38
|
+
ENOENT = "No such file or directory"
|
|
39
|
+
}
|
|
36
40
|
/**
|
|
37
41
|
* Run arbitrary processes inside pseudo-terminals (PTY).
|
|
38
42
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-process.d.ts","sourceRoot":"","sources":["../../src/node/terminal-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAIlF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAe,cAAc,
|
|
1
|
+
{"version":3,"file":"terminal-process.d.ts","sourceRoot":"","sources":["../../src/node/terminal-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAIlF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAe,cAAc,EAA2B,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAS,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC1D;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE,MAAM,WAAW,sBAAsB;IACnC,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAAC;CACtD;AAED,oBAAY,aAAa;IACrB,MAAM,sBAAsB;IAC5B,MAAM,8BAA8B;CACvC;AAED;;;;GAIG;AACH,qBACa,eAAgB,SAAQ,OAAO;IASJ,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;IAEzD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe;IAT3E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IAE9C,QAAQ,CAAC,YAAY,gCAA6B;IAClD,QAAQ,CAAC,WAAW,gBAA4C;IAChE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC;gBAElB,qDAAqD;IACX,OAAO,EAAE,sBAAsB,EAC1D,cAAc,EAAE,cAAc,EACV,UAAU,EAAE,eAAe,EACpC,MAAM,EAAE,OAAO;IAoFtD,kBAAkB,IAAI,6BAA6B;IAInD,IAAI,GAAG,IAAI,MAAM,CAGhB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAED,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKpF,iBAAiB,IAAI,IAAI;IAIzB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzB,SAAS,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK;CAM1C"}
|
|
@@ -27,13 +27,13 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
27
27
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.TerminalProcess = exports.TerminalProcessFactory = exports.TerminalProcessOptions = void 0;
|
|
30
|
+
exports.TerminalProcess = exports.NodePtyErrors = exports.TerminalProcessFactory = exports.TerminalProcessOptions = void 0;
|
|
31
31
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
32
32
|
const core_1 = require("@theia/core");
|
|
33
33
|
const common_1 = require("@theia/core/lib/common");
|
|
34
34
|
const process_1 = require("./process");
|
|
35
35
|
const process_manager_1 = require("./process-manager");
|
|
36
|
-
const node_pty_1 = require("
|
|
36
|
+
const node_pty_1 = require("node-pty");
|
|
37
37
|
const multi_ring_buffer_1 = require("./multi-ring-buffer");
|
|
38
38
|
const dev_null_stream_1 = require("./dev-null-stream");
|
|
39
39
|
const utils_1 = require("./utils");
|
|
@@ -41,6 +41,11 @@ const pseudo_pty_1 = require("./pseudo-pty");
|
|
|
41
41
|
const stream_1 = require("stream");
|
|
42
42
|
exports.TerminalProcessOptions = Symbol('TerminalProcessOptions');
|
|
43
43
|
exports.TerminalProcessFactory = Symbol('TerminalProcessFactory');
|
|
44
|
+
var NodePtyErrors;
|
|
45
|
+
(function (NodePtyErrors) {
|
|
46
|
+
NodePtyErrors["EACCES"] = "Permission denied";
|
|
47
|
+
NodePtyErrors["ENOENT"] = "No such file or directory";
|
|
48
|
+
})(NodePtyErrors = exports.NodePtyErrors || (exports.NodePtyErrors = {}));
|
|
44
49
|
/**
|
|
45
50
|
* Run arbitrary processes inside pseudo-terminals (PTY).
|
|
46
51
|
*
|
|
@@ -66,16 +71,7 @@ let TerminalProcess = class TerminalProcess extends process_1.Process {
|
|
|
66
71
|
this.logger.debug('Starting terminal process', JSON.stringify(options, undefined, 2));
|
|
67
72
|
try {
|
|
68
73
|
this.terminal = node_pty_1.spawn(options.command, (core_1.isWindows && options.commandLine) || options.args || [], options.options || {});
|
|
69
|
-
|
|
70
|
-
if (reason === undefined) {
|
|
71
|
-
this.emitOnStarted();
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
const error = new Error(reason);
|
|
75
|
-
error.code = reason;
|
|
76
|
-
this.emitOnError(error);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
74
|
+
process.nextTick(() => this.emitOnStarted());
|
|
79
75
|
// node-pty actually wait for the underlying streams to be closed before emitting exit.
|
|
80
76
|
// We should emulate the `exit` and `close` sequence.
|
|
81
77
|
this.terminal.on('exit', (code, signal) => {
|
|
@@ -117,11 +113,16 @@ let TerminalProcess = class TerminalProcess extends process_1.Process {
|
|
|
117
113
|
// node's child_process.spawn would generate in the same
|
|
118
114
|
// situation.
|
|
119
115
|
const message = error.message;
|
|
120
|
-
if (message.startsWith('File not found: ')) {
|
|
116
|
+
if (message.startsWith('File not found: ') || message.endsWith(NodePtyErrors.ENOENT)) {
|
|
121
117
|
error.errno = 'ENOENT';
|
|
122
118
|
error.code = 'ENOENT';
|
|
123
119
|
error.path = options.command;
|
|
124
120
|
}
|
|
121
|
+
else if (message.endsWith(NodePtyErrors.EACCES)) {
|
|
122
|
+
error.errno = 'EACCES';
|
|
123
|
+
error.code = 'EACCES';
|
|
124
|
+
error.path = options.command;
|
|
125
|
+
}
|
|
125
126
|
// node-pty throws exceptions on Windows.
|
|
126
127
|
// Call the client error handler, but first give them a chance to register it.
|
|
127
128
|
this.emitOnErrorAsync(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-process.js","sourceRoot":"","sources":["../../src/node/terminal-process.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;AAElF,4DAAyE;AACzE,sCAAwC;AACxC,mDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"terminal-process.js","sourceRoot":"","sources":["../../src/node/terminal-process.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/process",
|
|
3
|
-
"version": "1.22.
|
|
3
|
+
"version": "1.22.1",
|
|
4
4
|
"description": "Theia process support.",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.22.
|
|
7
|
-
"
|
|
6
|
+
"@theia/core": "1.22.1",
|
|
7
|
+
"node-pty": "0.11.0-beta17",
|
|
8
8
|
"string-argv": "^0.1.1"
|
|
9
9
|
},
|
|
10
10
|
"publishConfig": {
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"watch": "theiaext watch"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@theia/ext-scripts": "1.
|
|
47
|
+
"@theia/ext-scripts": "1.22.1"
|
|
48
48
|
},
|
|
49
49
|
"nyc": {
|
|
50
50
|
"extends": "../../configs/nyc.json"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "49910aeaecf520a54b253db0215b28c2268bb2f3"
|
|
53
53
|
}
|
|
@@ -21,14 +21,8 @@
|
|
|
21
21
|
import { spawn, execSync, SpawnOptions, ChildProcess, spawnSync } from 'child_process';
|
|
22
22
|
import { Readable } from 'stream';
|
|
23
23
|
import { join } from 'path';
|
|
24
|
-
|
|
25
24
|
import { ShellCommandBuilder, CommandLineOptions, ProcessInfo } from './shell-command-builder';
|
|
26
|
-
|
|
27
|
-
import {
|
|
28
|
-
bgRed, bgWhite, bgYellow,
|
|
29
|
-
black, green, magenta, red, white, yellow,
|
|
30
|
-
bold,
|
|
31
|
-
} from 'colors/safe'; // tslint:disable-line:no-implicit-dependencies
|
|
25
|
+
import * as chalk from 'chalk'; // tslint:disable-line:no-implicit-dependencies
|
|
32
26
|
|
|
33
27
|
export interface TestProcessInfo extends ProcessInfo {
|
|
34
28
|
shell: ChildProcess
|
|
@@ -67,9 +61,9 @@ const spawnOptions: SpawnOptions = {
|
|
|
67
61
|
|
|
68
62
|
// Formatting options, used with `scanLines` for debugging.
|
|
69
63
|
const stdoutFormat = (prefix: string) => (data: string) =>
|
|
70
|
-
`${bold(yellow(`${prefix} STDOUT:`))} ${bgYellow(black(data))}`;
|
|
64
|
+
`${chalk.bold(chalk.yellow(`${prefix} STDOUT:`))} ${chalk.bgYellow(chalk.black(data))}`;
|
|
71
65
|
const stderrFormat = (prefix: string) => (data: string) =>
|
|
72
|
-
`${bold(red(`${prefix} STDERR:`))} ${bgRed(white(data))}`;
|
|
66
|
+
`${chalk.bold(chalk.red(`${prefix} STDERR:`))} ${chalk.bgRed(chalk.white(data))}`;
|
|
73
67
|
|
|
74
68
|
// Default error scanner
|
|
75
69
|
const errorScanner = (handle: ScanLineHandle<void>) => {
|
|
@@ -352,7 +346,7 @@ async function testCommandLine(
|
|
|
352
346
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
353
347
|
): Promise<any> {
|
|
354
348
|
const commandLine = shellCommandBuilder.buildCommand(processInfo, options);
|
|
355
|
-
debug(`${bold(white(`${context.name} STDIN:`))} ${bgWhite(black(displayWhitespaces(commandLine)))}`);
|
|
349
|
+
debug(`${chalk.bold(chalk.white(`${context.name} STDIN:`))} ${chalk.bgWhite(chalk.black(displayWhitespaces(commandLine)))}`);
|
|
356
350
|
processInfo.shell.stdin!.write(commandLine + context.submit);
|
|
357
351
|
return Promise.race(firstOf);
|
|
358
352
|
}
|
|
@@ -366,9 +360,9 @@ function createShell(
|
|
|
366
360
|
shellArguments: string[] = []
|
|
367
361
|
): TestProcessInfo {
|
|
368
362
|
const shell = spawn(shellExecutable, shellArguments, spawnOptions);
|
|
369
|
-
debug(magenta(`${bold(`${context.name} SPAWN:`)} ${shellExecutable} ${shellArguments.join(' ')}`));
|
|
370
|
-
shell.on('close', (code, signal) => debug(magenta(
|
|
371
|
-
`${bold(`${context.name} CLOSE:`)} ${shellExecutable} code(${code}) signal(${signal})`
|
|
363
|
+
debug(chalk.magenta(`${chalk.bold(`${context.name} SPAWN:`)} ${shellExecutable} ${shellArguments.join(' ')}`));
|
|
364
|
+
shell.on('close', (code, signal) => debug(chalk.magenta(
|
|
365
|
+
`${chalk.bold(`${context.name} CLOSE:`)} ${shellExecutable} code(${code}) signal(${signal})`
|
|
372
366
|
)));
|
|
373
367
|
return {
|
|
374
368
|
executable: shellExecutable,
|
|
@@ -409,21 +403,21 @@ async function scanLines<T = void>(
|
|
|
409
403
|
if (!context.resolved) {
|
|
410
404
|
context.resolve();
|
|
411
405
|
resolve(value);
|
|
412
|
-
debug(bold(green(`${context.name} SCANLINES RESOLVED`)));
|
|
406
|
+
debug(chalk.bold(chalk.green(`${context.name} SCANLINES RESOLVED`)));
|
|
413
407
|
}
|
|
414
408
|
},
|
|
415
409
|
reject: (reason?: Error) => {
|
|
416
410
|
if (!context.resolved) {
|
|
417
411
|
context.resolve();
|
|
418
412
|
reject(reason);
|
|
419
|
-
debug(bold(red(`${context.name} SCANLINES REJECTED`)));
|
|
413
|
+
debug(chalk.bold(chalk.red(`${context.name} SCANLINES REJECTED`)));
|
|
420
414
|
}
|
|
421
415
|
},
|
|
422
416
|
line,
|
|
423
417
|
text,
|
|
424
418
|
});
|
|
425
419
|
} catch (error) {
|
|
426
|
-
debug(bold(red(`${context.name} SCANLINES THROWED`)));
|
|
420
|
+
debug(chalk.bold(chalk.red(`${context.name} SCANLINES THROWED`)));
|
|
427
421
|
context.resolve();
|
|
428
422
|
reject(error);
|
|
429
423
|
break;
|
|
@@ -485,7 +479,7 @@ class TestCaseContext {
|
|
|
485
479
|
finalize(): void {
|
|
486
480
|
if (!this.resolved) {
|
|
487
481
|
this.resolve();
|
|
488
|
-
debug(red(`${bold(`${this.name} CONTEXT:`)} context wasn't resolved when finalizing, resolving!`));
|
|
482
|
+
debug(chalk.red(`${chalk.bold(`${this.name} CONTEXT:`)} context wasn't resolved when finalizing, resolving!`));
|
|
489
483
|
}
|
|
490
484
|
}
|
|
491
485
|
|
package/src/node/pseudo-pty.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
-
import { IPty } from '
|
|
17
|
+
import { IPty } from 'node-pty';
|
|
18
18
|
import { Event } from '@theia/core';
|
|
19
19
|
|
|
20
20
|
export class PseudoPty implements IPty {
|
|
@@ -48,4 +48,7 @@ export class PseudoPty implements IPty {
|
|
|
48
48
|
|
|
49
49
|
kill(signal?: string): void { }
|
|
50
50
|
|
|
51
|
+
pause(): void { }
|
|
52
|
+
|
|
53
|
+
resume(): void { }
|
|
51
54
|
}
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
import { injectable, inject, named } from '@theia/core/shared/inversify';
|
|
18
18
|
import { isWindows } from '@theia/core';
|
|
19
19
|
import { ILogger } from '@theia/core/lib/common';
|
|
20
|
-
import { Process, ProcessType, ProcessOptions, ProcessErrorEvent } from './process';
|
|
20
|
+
import { Process, ProcessType, ProcessOptions, /* ProcessErrorEvent */ } from './process';
|
|
21
21
|
import { ProcessManager } from './process-manager';
|
|
22
|
-
import { IPty, spawn } from '
|
|
22
|
+
import { IPty, spawn } from 'node-pty';
|
|
23
23
|
import { MultiRingBuffer, MultiRingBufferReadableStream } from './multi-ring-buffer';
|
|
24
24
|
import { DevNullStream } from './dev-null-stream';
|
|
25
25
|
import { signame } from './utils';
|
|
@@ -40,6 +40,11 @@ export interface TerminalProcessFactory {
|
|
|
40
40
|
(options: TerminalProcessOptions): TerminalProcess;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
export enum NodePtyErrors {
|
|
44
|
+
EACCES = 'Permission denied',
|
|
45
|
+
ENOENT = 'No such file or directory'
|
|
46
|
+
}
|
|
47
|
+
|
|
43
48
|
/**
|
|
44
49
|
* Run arbitrary processes inside pseudo-terminals (PTY).
|
|
45
50
|
*
|
|
@@ -78,17 +83,10 @@ export class TerminalProcess extends Process {
|
|
|
78
83
|
this.terminal = spawn(
|
|
79
84
|
options.command,
|
|
80
85
|
(isWindows && options.commandLine) || options.args || [],
|
|
81
|
-
options.options || {}
|
|
86
|
+
options.options || {}
|
|
87
|
+
);
|
|
82
88
|
|
|
83
|
-
|
|
84
|
-
if (reason === undefined) {
|
|
85
|
-
this.emitOnStarted();
|
|
86
|
-
} else {
|
|
87
|
-
const error = new Error(reason) as ProcessErrorEvent;
|
|
88
|
-
error.code = reason;
|
|
89
|
-
this.emitOnError(error);
|
|
90
|
-
}
|
|
91
|
-
});
|
|
89
|
+
process.nextTick(() => this.emitOnStarted());
|
|
92
90
|
|
|
93
91
|
// node-pty actually wait for the underlying streams to be closed before emitting exit.
|
|
94
92
|
// We should emulate the `exit` and `close` sequence.
|
|
@@ -133,10 +131,14 @@ export class TerminalProcess extends Process {
|
|
|
133
131
|
// situation.
|
|
134
132
|
const message: string = error.message;
|
|
135
133
|
|
|
136
|
-
if (message.startsWith('File not found: ')) {
|
|
134
|
+
if (message.startsWith('File not found: ') || message.endsWith(NodePtyErrors.ENOENT)) {
|
|
137
135
|
error.errno = 'ENOENT';
|
|
138
136
|
error.code = 'ENOENT';
|
|
139
137
|
error.path = options.command;
|
|
138
|
+
} else if (message.endsWith(NodePtyErrors.EACCES)) {
|
|
139
|
+
error.errno = 'EACCES';
|
|
140
|
+
error.code = 'EACCES';
|
|
141
|
+
error.path = options.command;
|
|
140
142
|
}
|
|
141
143
|
|
|
142
144
|
// node-pty throws exceptions on Windows.
|