| 123456789101112131415161718192021 | 'use strict'module.exports = Base => class extends Base {  warn (code, message, data = {}) {    if (this.file)      data.file = this.file    if (this.cwd)      data.cwd = this.cwd    data.code = message instanceof Error && message.code || code    data.tarCode = code    if (!this.strict && data.recoverable !== false) {      if (message instanceof Error) {        data = Object.assign(message, data)        message = message.message      }      this.emit('warn', data.tarCode, message, data)    } else if (message instanceof Error)      this.emit('error', Object.assign(message, data))    else      this.emit('error', Object.assign(new Error(`${code}: ${message}`), data))  }}
 |