UNPKG

dool-build

Version:
74 lines (55 loc) 1.7 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _color = require('./color'); var _rimraf = require('rimraf'); var _rimraf2 = _interopRequireDefault(_rimraf); var _config = require('./config'); var _config2 = _interopRequireDefault(_config); var _worker = require('./worker'); var _worker2 = _interopRequireDefault(_worker); var _forkPool = require('fork-pool'); var _forkPool2 = _interopRequireDefault(_forkPool); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function info(str) { console.log((0, _color.green)('\nBuild completed 🎉\n')); console.log(str); } function error(str) { console.error((0, _color.red)('\nBuild failed 💥\n')); console.error((0, _color.red)(str)); } exports.default = function (args, callback) { // Get config. var cfgs = (0, _config2.default)(args); // Clean output dir first. cfgs.forEach(function (cfg) { _rimraf2.default.sync(cfg.output.path); }); if (args.cluster) { (function () { var output = []; var pool = new _forkPool2.default(`${__dirname}/worker.js`, null, null, {}); for (var i = 0; i < cfgs.length; i++) { pool.enqueue({ index: i, args: args }, function (err, res) { if (err) return; output.push(res.stdout); }); } pool.drain(function () { info(output.join('\n')); callback && callback(); }); })(); } else { (0, _worker2.default)(args, cfgs, function (err, stats) { err ? error(err.stack) : info(stats); callback && callback(err); }); } }; module.exports = exports['default'];