123456789101112131415161718192021222324 |
- '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))
- }
- }
- }
|