Files
npm/lib/utils/exec.js
2010-03-01 01:11:51 -08:00

22 lines
583 B
JavaScript

var log = require("../utils").log;
module.exports = function exec (cmd, args, env, cb) {
if (!cb) {
cb = env;
env = null;
}
log(cmd+" "+args.map(JSON.stringify).join(" "), "exec");
process.createChildProcess(cmd, args, env)
.addListener("error", function (chunk) {
if (chunk) process.stdio.writeError(chunk)
})
.addListener("output", function (chunk) {
if (chunk) process.stdio.write(chunk)
})
.addListener("exit", function (code) {
if (code) cb(new Error("`"+cmd+"` failed with "+code));
else cb(null, code);
});
};