fix(core): update
This commit is contained in:
parent
23a3230f07
commit
199fa19899
5
package-lock.json
generated
5
package-lock.json
generated
@ -1416,6 +1416,11 @@
|
|||||||
"resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.2.tgz",
|
"resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.2.tgz",
|
||||||
"integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY="
|
"integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY="
|
||||||
},
|
},
|
||||||
|
"tree-kill": {
|
||||||
|
"version": "1.2.2",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/tree-kill/-/tree-kill-1.2.2.tgz",
|
||||||
|
"integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="
|
||||||
|
},
|
||||||
"ts-node": {
|
"ts-node": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.3.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.3.0.tgz",
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
"@pushrocks/smartexit": "^1.0.15",
|
"@pushrocks/smartexit": "^1.0.15",
|
||||||
"@pushrocks/smartpromise": "^3.0.2",
|
"@pushrocks/smartpromise": "^3.0.2",
|
||||||
"@types/which": "^1.3.1",
|
"@types/which": "^1.3.1",
|
||||||
|
"tree-kill": "^1.2.2",
|
||||||
"which": "^1.3.1"
|
"which": "^1.3.1"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
@ -49,7 +49,7 @@ tap.test('should be able to find git', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should spawn an interactive cli', async () => {
|
tap.test('should spawn an interactive cli', async () => {
|
||||||
await testSmartshell.execInteractive('echo "hi"');
|
// await testSmartshell.execInteractive('echo "hi"');
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.start({
|
tap.start({
|
||||||
|
@ -53,18 +53,18 @@ export class Smartshell {
|
|||||||
const execChildProcess = cp.spawn(commandToExecute, [], {
|
const execChildProcess = cp.spawn(commandToExecute, [], {
|
||||||
shell: true,
|
shell: true,
|
||||||
env: process.env,
|
env: process.env,
|
||||||
detached: false
|
detached: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.smartexit.addProcess(execChildProcess);
|
this.smartexit.addProcess(execChildProcess);
|
||||||
|
|
||||||
execChildProcess.stdout.on('data', data => {
|
execChildProcess.stdout.on('data', (data) => {
|
||||||
if (!silentArg) {
|
if (!silentArg) {
|
||||||
spawnlogInstance.writeToConsole(data);
|
spawnlogInstance.writeToConsole(data);
|
||||||
}
|
}
|
||||||
spawnlogInstance.addToBuffer(data);
|
spawnlogInstance.addToBuffer(data);
|
||||||
});
|
});
|
||||||
execChildProcess.stderr.on('data', data => {
|
execChildProcess.stderr.on('data', (data) => {
|
||||||
if (!silentArg) {
|
if (!silentArg) {
|
||||||
spawnlogInstance.writeToConsole(data);
|
spawnlogInstance.writeToConsole(data);
|
||||||
}
|
}
|
||||||
@ -77,8 +77,9 @@ export class Smartshell {
|
|||||||
finalPromise: childProcessEnded.promise,
|
finalPromise: childProcessEnded.promise,
|
||||||
kill: () => {
|
kill: () => {
|
||||||
// this notation with the - kills the whole process group
|
// this notation with the - kills the whole process group
|
||||||
process.kill(-execChildProcess.pid);
|
console.log(`running tree kill on process ${execChildProcess.pid}`);
|
||||||
}
|
plugins.treeKill(execChildProcess.pid);
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +91,7 @@ export class Smartshell {
|
|||||||
|
|
||||||
const execResult = {
|
const execResult = {
|
||||||
exitCode: code,
|
exitCode: code,
|
||||||
stdout: spawnlogInstance.logStore.toString()
|
stdout: spawnlogInstance.logStore.toString(),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!streamingArg) {
|
if (!streamingArg) {
|
||||||
@ -179,7 +180,7 @@ export class Smartshell {
|
|||||||
const shellLog = new ShellLog();
|
const shellLog = new ShellLog();
|
||||||
const stdInStream = process.stdin.pipe(shell.stdin);
|
const stdInStream = process.stdin.pipe(shell.stdin);
|
||||||
const stdOutStream = shell.stdout.pipe(process.stdout);
|
const stdOutStream = shell.stdout.pipe(process.stdout);
|
||||||
shell.on('close', code => {
|
shell.on('close', (code) => {
|
||||||
console.log(`interactive shell terminated with code ${code}`);
|
console.log(`interactive shell terminated with code ${code}`);
|
||||||
stdInStream.removeAllListeners();
|
stdInStream.removeAllListeners();
|
||||||
stdInStream.uncork();
|
stdInStream.uncork();
|
||||||
|
@ -4,3 +4,8 @@ import * as smartpromise from '@pushrocks/smartpromise';
|
|||||||
import * as which from 'which';
|
import * as which from 'which';
|
||||||
|
|
||||||
export { smartdelay, smartexit, smartpromise, which };
|
export { smartdelay, smartexit, smartpromise, which };
|
||||||
|
|
||||||
|
// third party
|
||||||
|
import treeKill from 'tree-kill';
|
||||||
|
|
||||||
|
export { treeKill };
|
||||||
|
Loading…
Reference in New Issue
Block a user