diff --git a/packages/next-server/server/config.js b/packages/next-server/server/config.js index ad9653ead9..80724edad2 100644 --- a/packages/next-server/server/config.js +++ b/packages/next-server/server/config.js @@ -27,11 +27,7 @@ const defaultConfig: NextConfig = { assetPrefix: '', configOrigin: 'default', useFileSystemPublicRoutes: true, - generateBuildId: () => { - // nanoid is a small url-safe uuid generator - const nanoid = require('nanoid') - return nanoid() - }, + generateBuildId: () => null, generateEtags: true, pageExtensions: ['jsx', 'js'] } diff --git a/packages/next/build/index.js b/packages/next/build/index.js index 818b9deff0..dd43a2a963 100644 --- a/packages/next/build/index.js +++ b/packages/next/build/index.js @@ -2,6 +2,7 @@ import { join } from 'path' import promisify from '../lib/promisify' import fs from 'fs' import webpack from 'webpack' +import nanoid from 'nanoid' import loadConfig from 'next-server/next-config' import { PHASE_PRODUCTION_BUILD, BUILD_ID_FILE } from 'next-server/constants' import getBaseWebpackConfig from './webpack' @@ -11,9 +12,14 @@ const writeFile = promisify(fs.writeFile) export default async function build (dir, conf = null) { const config = loadConfig(PHASE_PRODUCTION_BUILD, dir, conf) - const buildId = await config.generateBuildId() // defaults to a uuid const distDir = join(dir, config.distDir) + let buildId = await config.generateBuildId() // defaults to a uuid + if (buildId == null) { + // nanoid is a small url-safe uuid generator + buildId = nanoid() + } + try { await access(dir, (fs.constants || fs).W_OK) } catch (err) {