Package Exports
- @expo/spawn-async
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 (@expo/spawn-async) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
spawn-async

A cross-platform version of Node's child_process.spawn
as an async function that returns a promise.
Usage:
import spawnAsync from '@expo/spawn-async';
(async function () {
let resultPromise = spawnAsync('echo', ['hello', 'world']);
let spawnedChildProcess = resultPromise.child;
try {
let {
pid,
output: [stdout, stderr],
stdout,
stderr,
status,
signal,
} = await resultPromise;
} catch (e) {
console.error(e.stack);
// The error object also has the same properties as the result object
}
})();
API
spawnAsync
takes the same arguments as child_process.spawn
.
It returns a promise whose result is an object with these properties:
pid
: the process ID of the spawned child processoutput
: an array with stdout and stderr's outputstdout
: a string of what the child process wrote to stdoutstderr
: a string of what the child process wrote to stderrstatus
: the exit code of the child processsignal
: the signal (ex:SIGTERM
) used to stop the child process if it did not exit on its own
If there's an error running the child process or it exits with a non-zero status code, spawnAsync
rejects the returned promise. The Error object also has the properties listed above.