mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
6e5bab1a1d
Fixes [this issue](https://github.com/zeit/next.js/issues/4747) I don't know what is the reason why the process does not finish, because it can be reproduced in this repo in many environments (my local mac os and Netlify pipeline). However, it fixes the problem and it's 100% safe.
67 lines
1.5 KiB
JavaScript
Executable file
67 lines
1.5 KiB
JavaScript
Executable file
#!/usr/bin/env node
|
|
import { resolve, join } from 'path'
|
|
import { existsSync } from 'fs'
|
|
import parseArgs from 'minimist'
|
|
import exportApp from '../server/export'
|
|
import { printAndExit } from '../lib/utils'
|
|
|
|
const argv = parseArgs(process.argv.slice(2), {
|
|
alias: {
|
|
h: 'help',
|
|
s: 'silent',
|
|
o: 'outdir'
|
|
},
|
|
boolean: ['h'],
|
|
default: {
|
|
s: false,
|
|
o: null
|
|
}
|
|
})
|
|
|
|
if (argv.help) {
|
|
console.log(`
|
|
Description
|
|
Exports the application for production deployment
|
|
|
|
Usage
|
|
$ next export [options] <dir>
|
|
|
|
<dir> represents where the compiled dist folder should go.
|
|
If no directory is provided, the 'out' folder will be created in the current directory.
|
|
|
|
Options
|
|
-h - list this help
|
|
-o - set the output dir (defaults to 'out')
|
|
-s - do not print any messages to console
|
|
`)
|
|
process.exit(0)
|
|
}
|
|
|
|
const dir = resolve(argv._[0] || '.')
|
|
|
|
// Check if pages dir exists and warn if not
|
|
if (!existsSync(dir)) {
|
|
printAndExit(`> No such directory exists as the project root: ${dir}`)
|
|
}
|
|
|
|
if (!existsSync(join(dir, 'pages'))) {
|
|
if (existsSync(join(dir, '..', 'pages'))) {
|
|
printAndExit('> No `pages` directory found. Did you mean to run `next` in the parent (`../`) directory?')
|
|
}
|
|
|
|
printAndExit('> Couldn\'t find a `pages` directory. Please create one under the project root')
|
|
}
|
|
|
|
const options = {
|
|
silent: argv.silent,
|
|
outdir: argv.outdir ? resolve(argv.outdir) : resolve(dir, 'out')
|
|
}
|
|
|
|
exportApp(dir, options)
|
|
.then(() => {
|
|
printAndExit('Export successful', 0)
|
|
})
|
|
.catch((err) => {
|
|
printAndExit(err)
|
|
})
|