#!/usr/bin/env node const { join } = require('path') const semver = require('semver') const consola = require('consola') const { name, engines } = require('../package.json') const logger = consola.withScope('nuxt') // Global error handler process.on('unhandledRejection', _error => { logger.error(_error) }) // Exit process on fatal errors consola.add({ log(logObj) { if (logObj.type === 'fatal') { process.stderr.write('Nuxt Fatal Error :(\n') process.exit(1) } } }) if (!semver.satisfies(process.version, engines.node)) { logger.fatal( `The engine "node" is incompatible with ${name}. Expected version "${ engines.node }".` ) } const defaultCommand = 'dev' const commands = new Set([defaultCommand, 'init', 'build', 'start', 'generate']) var cmd = process.argv[2] if (commands.has(cmd)) { process.argv.splice(2, 1) } else { cmd = defaultCommand } const bin = join(__dirname, 'nuxt-' + cmd) require(bin)