mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-23 14:15:13 +00:00
e7cc2757c3
Co-authored-by: Alexander Lichter <manniL@gmx.net>
39 lines
847 B
JavaScript
39 lines
847 B
JavaScript
import consola from 'consola'
|
|
import exit from 'exit'
|
|
import { fatalBox } from './utils/formatting'
|
|
|
|
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') {
|
|
const errorMessage = String(logObj.args[0])
|
|
process.stderr.write(fatalBox(errorMessage))
|
|
exit(1)
|
|
}
|
|
}
|
|
})
|
|
|
|
// Wrap all console logs with consola for better DX
|
|
consola.wrapConsole()
|
|
}
|