Files
line_push/node_modules/@nuxt/friendly-errors-webpack-plugin/src/utils/log.js
T
darenhsu befd344ab0 add file
2022-07-17 13:16:16 +08:00

60 lines
1.2 KiB
JavaScript

'use strict'
const chalk = require('chalk')
const readline = require('readline')
const colors = {
success: 'green',
info: 'blue',
note: 'white',
warn: 'yellow',
error: 'red'
}
const titles = {
success: 'success',
info: 'info',
note: 'note',
warn: 'warning',
error: 'error'
}
function bgColor (level) {
const color = textColor(level)
return 'bg' + capitalizeFirstLetter(color)
}
function textColor (level) {
return colors[level.toLowerCase()] || 'red'
}
function capitalizeFirstLetter (string) {
return string.charAt(0).toUpperCase() + string.slice(1)
}
function formatTitle (severity, title) {
return chalk[bgColor(severity)].black('', title, '')
}
function formatText (severity, message) {
return chalk[textColor(severity)](message)
}
function clearConsole () {
if (process.stdout.isTTY) {
// Fill screen with blank lines. Then move to 0 (beginning of visible part) and clear it
const blank = '\n'.repeat(process.stdout.rows)
console.log(blank)
readline.cursorTo(process.stdout, 0, 0)
readline.clearScreenDown(process.stdout)
}
}
module.exports = {
colors,
titles,
formatText,
formatTitle,
clearConsole
}