UNPKG

@helldoc/core

Version:
37 lines (36 loc) 1.63 kB
"use strict"; 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; }());