#!/usr/bin/env node import { resolve } from 'path' import parseArgs from 'minimist' import startServer from '../server/lib/start-server' const argv = parseArgs(process.argv.slice(2), { alias: { h: 'help', H: 'hostname', p: 'port' }, boolean: ['h'], string: ['H'], default: { p: 3000 } }) if (argv.hostname === '') { console.error(`> Provided hostname argument has no value`) process.exit(1) } if (argv.help) { console.log(` Description Starts the application in production mode. The application should be compiled with \`next build\` first. Usage $ next start -p is the directory that contains the compiled dist folder created by running \`next build\`. If no directory is provided, the current directory will be assumed. You can set a custom dist folder in config https://github.com/zeit/next.js#custom-configuration Options --port, -p A port number on which to start the application --hostname, -H Hostname on which to start the application --help, -h Displays this message `) process.exit(0) } const dir = resolve(argv._[0] || '.') startServer({dir}, argv.port, argv.hostname) .then(() => { console.log(`> Ready on http://${argv.hostname ? argv.hostname : 'localhost'}:${argv.port}`) }) .catch((err) => { console.error(err) process.exit(1) })