runsync
v0.1.8
Published
Polyfill of spawnSync and execSync for Node-0.10.x (Unix only yet)
Downloads
16
Maintainers
Readme
runsync
Polyfill of spawnSync and execSync for Node-0.10.x (Unix only yet)
Instllation
Requires [node-gyp] (https://github.com/TooTallNate/node-gyp)
$ npm install runsync
Usage
var runsync = require("runsync");
var result = runsync.spawn("echo", ["Hello", "World!"], { encoding: "utf8" });
console.log(result.stdout); // => Hello world!\n
runsync.exec("sleep 1");
result = runsync.popen("echo Error message 1>&2", { encoding: "utf8" });
console.log(result.stderr); // => Error message\n
API
runsync.spawn(executable, [args], [options])
- Polyfill of child_process.spawnSync.
var res = runsync.spawn("node", ["-e", "console.log('Hello, World!')"], { encoding: "utf8" });
console.log(res.stdout) // => 'Hello, World!\n'
runsync.exec(command, [options])
- Polyfill of child_process.execSync.
var output = runsync.exec("sleep 3 && echo Hello!", { timeout: 1000 });
// => throw Exception because of timeout
runsync.execFile(command, [options])
- Polyfill of child_process.execFileSync.
var html = runsync.execFile("curl", ["--silent", "-X", "GET", "http://example.com"]);
console.log(html.toString()); // => '<!doctype html>\n<html>\n<head>\n ...'
runsync.popen(command, [options])
- This is similar to
runsync.exec
, but it returns spawn object likesrunsync.spawn
. - This method will not throw Exceptions even if command fails.
var result = runsync.popen("echo `cat` && echo strerr 1>&2", { input: "stdin", encoding: "utf8" });
console.log(result.stdout) // => "stdin\n"
console.log(result.stderr) // => "stderr\n"
runsync.shell(command, [options])
- This is similar to
runsync.exec
, but always set 'inherit' to options.stdio. - Returns Nothing(undefined).
- This method will throw Exceptions if command fails.
try {
runsync.shell("mocha --reporter nyan");
// 31 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_,------,
// 1 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_| /\_/\
// 0 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-^|__( x .x)
// -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- "" ""
// 31 passing (468ms)
// 1 failing
} catch(err) {
console.log(err.message);
// => 'Command failed: `mocha -u tdd --reporter nyan`'
}