UNPKG

npub

Version:

publishing tool for your node projects hosted on github

76 lines (70 loc) 1.96 kB
// Generated by CoffeeScript 1.9.1 var debug, exec, path, rimraf; exec = require('child_process').exec; debug = require("debug")("npm"); rimraf = require('rimraf'); path = require('path'); module.exports = function(dir, log) { var options; debug("initialized for: " + dir); options = { dir: dir }; return { test: function(callback) { debug("test"); return exec("npm test", options, function(error, stdout, stderr) { if (stdout != null) { log(stdout); } if (stderr != null) { log.error(stderr); } if (error != null) { callback(new Error("tests failed with exit code: " + error.code)); return; } return callback(); }); }, install: function(registry, callback) { debug("install"); log('installing node modules...'); return rimraf(path.join(dir, 'node_modules'), function(error) { if (error != null) { return callback(error); } registry = registry ? " --registry=" + registry : ''; return exec("npm install" + registry, options, function(error, stdout, stderr) { if (stdout != null) { log(stdout); } if (stderr != null) { log.error(stderr); } if (error != null) { callback(new Error("failed to install node modules: " + error.code)); return; } return callback(); }); }); }, publish: function(callback) { debug("publish"); return exec("npm publish", options, function(error, stdout, stderr) { if (stdout != null) { log(stdout); } if (stderr != null) { log.error(stderr); } if (error != null) { callback(new Error("tests failed with exit code: " + error.code)); return; } return callback(); }); } }; };