dool-build
Version:
d-band tool & dev tool
36 lines (26 loc) • 937 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _color = require('./color');
var _webpack = require('webpack');
exports.default = function () {
var total = 20;
var stream = process.stderr;
var fmt = `${(0, _color.green)('[:bar]')} :percent ${(0, _color.cyan)(':msg')}`;
return new _webpack.ProgressPlugin(function (percent, msg) {
if (!stream.isTTY) return;
var beforeLen = Math.floor(percent * total);
var afterLen = total - beforeLen;
var before = Array(beforeLen).join('=');
var after = Array(afterLen).join(' ');
var str = fmt.replace(':bar', before + after).replace(':percent', (percent * 99).toFixed(0) + '%').replace(':msg', msg.substring(0, stream.columns - 27));
stream.write('\x1b[1G' + str);
stream.clearLine(1);
if (percent === 1) {
stream.clearLine();
stream.cursorTo(0);
}
});
};
module.exports = exports['default'];