| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | const chalk = require('chalk')const readline = require('readline')const padStart = require('string.prototype.padstart')const EventEmitter = require('events')exports.events = new EventEmitter()function _log (type, tag, message) {  if (process.env.VUE_CLI_API_MODE && message) {    exports.events.emit('log', {      message,      type,      tag    })  }}const format = (label, msg) => {  return msg.split('\n').map((line, i) => {    return i === 0      ? `${label} ${line}`      : padStart(line, chalk.reset(label).length)  }).join('\n')}const chalkTag = msg => chalk.bgBlackBright.white.dim(` ${msg} `)exports.log = (msg = '', tag = null) => {  tag ? console.log(format(chalkTag(tag), msg)) : console.log(msg)  _log('log', tag, msg)}exports.info = (msg, tag = null) => {  console.log(format(chalk.bgBlue.black(' INFO ') + (tag ? chalkTag(tag) : ''), msg))  _log('info', tag, msg)}exports.done = (msg, tag = null) => {  console.log(format(chalk.bgGreen.black(' DONE ') + (tag ? chalkTag(tag) : ''), msg))  _log('done', tag, msg)}exports.warn = (msg, tag = null) => {  console.warn(format(chalk.bgYellow.black(' WARN ') + (tag ? chalkTag(tag) : ''), chalk.yellow(msg)))  _log('warn', tag, msg)}exports.error = (msg, tag = null) => {  console.error(format(chalk.bgRed(' ERROR ') + (tag ? chalkTag(tag) : ''), chalk.red(msg)))  _log('error', tag, msg)  if (msg instanceof Error) {    console.error(msg.stack)    _log('error', tag, msg.stack)  }}exports.clearConsole = title => {  if (process.stdout.isTTY) {    const blank = '\n'.repeat(process.stdout.rows)    console.log(blank)    readline.cursorTo(process.stdout, 0, 0)    readline.clearScreenDown(process.stdout)    if (title) {      console.log(title)    }  }}// silent all logs except errors during tests and keep recordif (process.env.VUE_CLI_TEST) {  require('./_silence')('logs', exports)}
 |