cross-spawn-promise
Version:
Promisified cross-spawn.
63 lines (45 loc) • 2.34 kB
Markdown
# cross-spawn-promise
[](https://www.npmjs.com/package/cross-spawn-promise) [](https://david-dm.org/zentrick/cross-spawn-promise) [](https://circleci.com/gh/zentrick/cross-spawn-promise) [](https://ci.appveyor.com/project/zentrick/cross-spawn-promise) [](https://coveralls.io/r/zentrick/cross-spawn-promise) [](http://standardjs.com/)
Promisified [cross-spawn](https://www.npmjs.com/package/cross-spawn).
## Usage
```js
import spawn from 'cross-spawn-promise'
const command = 'ls'
const args = ['-al', '/etc']
const options = {}
spawn(command, args, options)
.then((stdout) => {
console.info('Success!')
console.info('stdout:', stdout.toString())
})
.catch((error) => {
console.error('Failed!')
console.error('exit status:', error.exitStatus)
console.error('stderr:', error.stderr.toString())
})
```
## API
```js
async spawn(command[, args][, options])
```
The returned `Promise` will resolve to the process's standard output. Depending
on the value of the `encoding` option (see below), it will either be a
[`Buffer`](https://nodejs.org/api/buffer.html) or a string.
The promise also exposes the created child process via its `childProcess`
property.
Upon rejection, the following properties provide additional information on the
`Error` object:
- `exitSignal`
- `exitStatus`
- `stdout`
- `stderr`
## Options
All options are passed on to
[cross-spawn](https://www.npmjs.com/package/cross-spawn), with the exception of
the additional `encoding` option. If you pass a string (e.g., `'utf8'`), it will
be used as the
[default character encoding](https://nodejs.org/api/stream.html#stream_readable_setencoding_encoding).
## Maintainer
[Tim De Pauw](https://github.com/timdp)
## License
MIT