Run shell commands using child_process#spawn.
- Multi-platform - run on OSX, Linux, Windows
- Return a promise that resolve with exitcode when spawned process terminetes
- Use
child_process#spawn
for greater flexibility thanchild_process#exec
- Use user system shell by default, or customize it via
shell
option. - Inject your package
node_modules/.bin
directory in path. stdio
spawn option defaults toinherit
, sharing parent process stdin & stdout
npm install --save spawn-shell
const spawnShell = require('spawn-shell');
// simple to use with promise
const exitCode = await spawnShell('echo "it works" && exit 42').exitPromise;
// output `it works` to stdout
// exitCode === 42
// access ChildProcess instance before promise is resolved
const p = spawnShell('echo "it works"', {
stdio: [0, 'pipe', 2]
});
p.stdout.pipe(concat(
{encoding: 'string'},
output => {
// output === 'it works'
}
));
The MIT License (MIT)
Copyright (c) 2017 parro-it