Nuxt/packages/cli/src/index.ts

38 lines
780 B
TypeScript
Raw Normal View History

2021-01-20 14:43:43 +00:00
import { resolve } from 'path'
async function _main () {
2021-01-20 15:44:52 +00:00
const args = process.argv.splice(2)
const cmd = args[0]
2021-03-28 21:01:51 +00:00
2021-01-20 15:44:52 +00:00
if (!['dev', 'build'].includes(cmd)) {
2021-01-22 21:34:23 +00:00
// eslint-disable-next-line no-console
2021-01-20 15:44:52 +00:00
console.error('Usage nuxt dev|build [rootDir]')
process.exit(1)
}
2021-03-28 21:01:51 +00:00
2021-01-20 15:44:52 +00:00
const isDev = cmd === 'dev'
const rootDir = resolve(process.cwd(), args[1] || '.')
2021-03-28 21:01:51 +00:00
const { loadNuxt, build } = await import('nuxt3')
const nuxt = await loadNuxt({
for: isDev ? 'dev' : 'build',
rootDir
})
2021-01-20 15:44:52 +00:00
if (isDev) {
2021-01-22 20:57:09 +00:00
// https://github.com/nuxt-contrib/listhen
await nuxt.server.listen(3000, { name: 'Nuxt' })
2021-01-20 15:44:52 +00:00
}
2021-01-20 14:43:43 +00:00
await build(nuxt)
}
export function main () {
_main()
.catch((error) => {
require('consola').fatal(error)
require('exit')(2)
})
}