runsync

0.1.8 • Public • Published

runsync

Polyfill of spawnSync and execSync for Node-0.10.x (Unix only yet)

Build Status Coverage Status

NPM

Instllation

Requires 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])

var res = runsync.spawn("node", ["-e", "console.log('Hello, World!')"], { encoding: "utf8" });
console.log(res.stdout) // => 'Hello, World!\n'

runsync.exec(command, [options])

var output = runsync.exec("sleep 3 && echo Hello!", { timeout: 1000 });
// => throw Exception because of timeout

runsync.execFile(command, [options])

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 likes runsync.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`'
}

Package Sidebar

Install

npm i runsync

Weekly Downloads

5

Version

0.1.8

License

MIT

Last publish

Collaborators

  • norahiko