import consola from 'consola' import chalk from 'chalk' import boxen from 'boxen' let _setup = false export default function setup({ dev }) { // Apply default NODE_ENV if not provided if (!process.env.NODE_ENV) { process.env.NODE_ENV = dev ? 'development' : 'production' } if (_setup) { return } _setup = true // Global error handler /* istanbul ignore next */ process.on('unhandledRejection', (err) => { consola.error(err) }) // Exit process on fatal errors /* istanbul ignore next */ consola.addReporter({ log(logObj) { if (logObj.type === 'fatal') { process.stderr.write(boxen([ chalk.red('✖ Nuxt Fatal Error'), '', chalk.white(String(logObj.args[0])) ].join('\n'), { borderColor: 'red', borderStyle: 'round', padding: 1, margin: 1 }) + '\n') process.exit(1) } } }) // Wrap all console logs with consola for better DX consola.wrapConsole() }