Package Exports
- execa
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (execa) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
execa 
A better
child_process
Why
- Promise interface.
- Strips EOF from the output so you don't have to
stdout.trim()
. - Supports shebang binaries cross-platform.
- Improved Windows support.
- Higher max buffer. 10 MB instead of 200 KB.
- Executes locally installed binaries by name.
Install
$ npm install --save execa
Usage
const execa = require('execa');
execa('echo', ['unicorns']).then(result => {
console.log(result.stdout);
//=> 'unicorns'
});
execa.shell('echo unicorns').then(result => {
console.log(result.stdout);
//=> 'unicorns'
});
// example of catching an error
execa.shell('exit 3').catch(error => {
console.log(error);
/*
{
message: 'Command failed: /bin/sh -c exit 3'
killed: false,
code: 3,
signal: null,
cmd: '/bin/sh -c exit 3',
stdout: '',
stderr: ''
}
*/
});
API
execa(file, [arguments], [options])
Execute a file directly.
Same options as child_process.execFile
.
Returns a promise for a result object with stdout
and stderr
properties.
execa.shell(command, [options])
Execute a command through the system shell. Prefer execa()
whenever possible, as it's both faster and safer.
Same options as child_process.exec
.
Returns a promise for a result object with stdout
and stderr
properties.
execa.spawn(file, [arguments], [options])
Spawn a file.
Same API as child_process.spawn
.
options
Additional exposed options:
stripEof
Type: boolean
Default: true
Strip EOF (last newline) from the output.
preferLocal
Type: boolean
Default: true
Prefer locally installed binaries when looking for a binary to execute.
If you $ npm install foo
, you can then execa('foo')
.
License
MIT © Sindre Sorhus