@plugjs/plug
Version:
PlugJS Build System ===================
59 lines (58 loc) • 1.62 kB
JavaScript
// logging.ts
import { currentContext } from "./async.mjs";
import { $gry, $wht } from "./logging/colors.mjs";
import { getLogger } from "./logging/logger.mjs";
import { setupSpinner } from "./logging/spinner.mjs";
import { stripAnsi } from "./utils/ansi.mjs";
export * from "./logging/colors.mjs";
export * from "./logging/github.mjs";
export * from "./logging/levels.mjs";
export * from "./logging/logger.mjs";
export * from "./logging/options.mjs";
export * from "./logging/report.mjs";
setupSpinner();
var log = (() => {
const logger = () => currentContext()?.log || getLogger();
const wrapper = {
trace(...args) {
logger().trace(...args);
},
debug(...args) {
logger().debug(...args);
},
info(...args) {
logger().info(...args);
},
notice(...args) {
logger().notice(...args);
},
warn(...args) {
logger().warn(...args);
},
error(...args) {
logger().error(...args);
},
fail(...args) {
return logger().fail(...args);
}
};
const log2 = (...args) => void wrapper.notice(...args);
return Object.assign(log2, wrapper);
})();
function banner(message) {
const length = stripAnsi(message).length;
const padLines = length > 60 ? length + 2 : 62;
const padBlank = length > 60 ? 0 : 60 - length;
log.notice([
"",
$gry(`\u2554${"".padStart(padLines, "\u2550")}\u2557`),
`${$gry("\u2551")} ${$wht(message)}${"".padEnd(padBlank, " ")} ${$gry("\u2551")}`,
$gry(`\u255A${"".padStart(padLines, "\u2550")}\u255D`),
""
].join("\n"));
}
export {
banner,
log
};
//# sourceMappingURL=logging.mjs.map