@helldoc/core
Version:
helldoc core
37 lines (36 loc) • 1.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var chalk_1 = __importDefault(require("chalk"));
function clearScreen() {
process.stdout.write("\x1Bc");
}
module.exports = /** @class */ (function () {
function DevLogPlugin(options) {
this.options = options;
}
DevLogPlugin.prototype.apply = function (compiler) {
var _this = this;
var isFirst = true;
compiler.hooks.done.tap("helldoc-log", function (stats) {
clearScreen();
var _a = _this.options, displayHost = _a.displayHost, port = _a.port, publicPath = _a.publicPath;
var time = new Date().toTimeString().match(/^[\d:]+/)[0];
var displayUrl = "http://" + displayHost + ":" + port + publicPath;
if (stats.hash && stats.endTime && stats.startTime) {
console.log(chalk_1["default"].gray("[" + time + "]") + " Build " + chalk_1["default"].italic(stats.hash.slice(0, 6)) +
(" finished in " + (Number(stats.endTime) -
Number(stats.startTime)) + " ms! ") +
(isFirst ? "" : "" + chalk_1["default"].gray("" + displayUrl)) +
" \n");
}
if (isFirst) {
isFirst = false;
console.log(chalk_1["default"].gray(">") + " HellDoc dev server listening at " + chalk_1["default"].cyan(displayUrl));
}
});
compiler.hooks.invalid.tap("helldoc-log", clearScreen);
};
return DevLogPlugin;
}());