eunomia-controller
Version:
1) yarn install 2) npm install husky --save-dev 3) yarn start
37 lines (32 loc) • 1.17 kB
JavaScript
;
var colour = require('colour');
function run(task, action) {
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
var command = process.argv[2];
var taskName = command && !command.startsWith('-') ? task + ':' + command : task;
var start = new Date();
process.stdout.write(('Starting \'' + taskName + '\'...\n').yellow);
return Promise.resolve().then(function () {
return new Promise(function (res, rej) {
return action.apply(undefined, [res, rej].concat(args));
}).catch(function (error) {
console.log(errorLog(error));
new Error(error);
});
}).then(function () {
process.stdout.write(('Finished \'' + taskName + '\' after ' + (new Date().getTime() - start.getTime()) + 'ms\n').green);
}, function (err) {
return process.stderr.write(err.stack + '\n');
});
}
process.nextTick(function () {
return require.main.exports();
});
exports.run = function (task, action) {
return run.bind(undefined, task, action);
};
var errorLog = function errorLog(error) {
return '\nError: ' + error + '\n';
};