UNPKG

jake

Version:

JavaScript build tool, similar to Make or Rake

59 lines (50 loc) 1.1 kB
var exec = require('child_process').exec; var helpers = new (function () { var _tests , _names = [] , _name , _callback , _runner = function () { if (!!(_name = _names.shift())) { console.log('Running ' + _name); _tests[_name](); } else { _callback(); } }; this.exec = function (cmd, callback) { exec(cmd, function (err, stdout, stderr) { var out = helpers.trim(stdout); if (err) { throw err; } if (stderr) { callback(stderr); } else { callback(out); } }); }; this.trim = function (s) { var str = s || ''; return str.replace(/^\s*|\s*$/g, ''); }; this.parse = function (s) { var str = s || ''; str = helpers.trim(str); str = str.replace(/'/g, '"'); return JSON.parse(str); }; this.run = function (tests, callback) { _tests = tests; _names = Object.keys(tests); _callback = callback; _runner(); }; this.next = function () { _runner(); }; })(); module.exports = helpers;