Nuxt/bin/nuxt

46 lines
962 B
Plaintext
Raw Normal View History

2016-11-08 00:18:26 +00:00
#!/usr/bin/env node
2018-01-11 14:11:49 +00:00
const { join } = require('path')
2018-01-30 01:57:24 +00:00
const semver = require('semver')
2018-03-31 16:22:14 +00:00
const consola = require('consola')
const { name, engines } = require('../package.json')
2016-11-07 01:34:58 +00:00
2018-03-31 16:22:14 +00:00
const logger = consola.withScope('nuxt')
2018-01-11 14:11:49 +00:00
// Global error handler
process.on('unhandledRejection', _error => {
2018-03-31 16:22:14 +00:00
logger.error(_error)
2018-01-11 14:11:49 +00:00
})
2016-11-07 01:34:58 +00:00
2018-04-01 19:36:30 +00:00
// Exit process on fatal errors
consola.add({
log(logObj) {
if (logObj.type === 'fatal') {
process.stderr.write('Nuxt Fatal Error :(\n')
process.exit(1)
}
}
})
2018-01-30 01:57:24 +00:00
if (!semver.satisfies(process.version, engines.node)) {
2018-03-31 16:22:14 +00:00
logger.fatal(
`The engine "node" is incompatible with ${name}. Expected version "${
engines.node
}".`
)
2018-01-30 01:57:24 +00:00
}
2017-06-16 12:42:45 +00:00
const defaultCommand = 'dev'
2018-01-11 14:11:49 +00:00
const commands = new Set([defaultCommand, 'init', 'build', 'start', 'generate'])
2016-11-07 01:34:58 +00:00
2016-12-09 18:40:59 +00:00
var cmd = process.argv[2]
2016-11-07 01:34:58 +00:00
if (commands.has(cmd)) {
2017-01-20 11:43:48 +00:00
process.argv.splice(2, 1)
2016-11-07 01:34:58 +00:00
} else {
cmd = defaultCommand
}
2017-06-16 12:42:45 +00:00
const bin = join(__dirname, 'nuxt-' + cmd)
2016-11-07 01:34:58 +00:00
2017-01-20 11:43:48 +00:00
require(bin)