How to use the next-server/next-config function in next-server

To help you get started, we’ve selected a few next-server examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github zeit / next.js / packages / next-server / server / next-server.ts View on Github external
public constructor({ dir = '.', staticMarkup = false, quiet = false, conf = null }: ServerConstructor = {}) {
    this.dir = resolve(dir)
    this.quiet = quiet
    const phase = this.currentPhase()
    this.nextConfig = loadConfig(phase, this.dir, conf)
    this.distDir = join(this.dir, this.nextConfig.distDir)

    // Only serverRuntimeConfig needs the default
    // publicRuntimeConfig gets it's default in client/index.js
    const {serverRuntimeConfig = {}, publicRuntimeConfig, assetPrefix, generateEtags} = this.nextConfig

    this.buildId = this.readBuildId()
    this.renderOpts = {
      staticMarkup,
      buildId: this.buildId,
      generateEtags,
    }

    // Only the `publicRuntimeConfig` key is exposed to the client side
    // It'll be rendered as part of __NEXT_DATA__ on the client side
    if (publicRuntimeConfig) {
github zeit / next.js / packages / next / export / index.js View on Github external
export default async function (dir, options, configuration) {
  function log (message) {
    if (options.silent) return
    console.log(message)
  }

  dir = resolve(dir)
  const nextConfig = configuration || loadConfig(PHASE_EXPORT, dir)
  const concurrency = options.concurrency || 10
  const threads = options.threads || Math.max(cpus().length - 1, 1)
  const distDir = join(dir, nextConfig.distDir)

  log(`> using build directory: ${distDir}`)

  if (!existsSync(distDir)) {
    throw new Error(`Build directory ${distDir} does not exist. Make sure you run "next build" before running "next start" or "next export".`)
  }

  const buildId = readFileSync(join(distDir, BUILD_ID_FILE), 'utf8')
  const pagesManifest = require(join(distDir, SERVER_DIRECTORY, PAGES_MANIFEST))

  const pages = Object.keys(pagesManifest)
  const defaultPathMap = {}
github zeit / next.js / packages / next / build / index.js View on Github external
export default async function build (dir, conf = null, lambdas = false) {
  const config = loadConfig(PHASE_PRODUCTION_BUILD, dir, conf)
  const lambdasOption = config.lambdas ? config.lambdas : lambdas
  const distDir = join(dir, config.distDir)
  const buildId = await generateBuildId(config.generateBuildId, nanoid)

  await ensureProjectDirectoryIsWriteAble(dir)

  try {
    const configs = await Promise.all([
      getBaseWebpackConfig(dir, { buildId, isServer: false, config, lambdas: lambdasOption }),
      getBaseWebpackConfig(dir, { buildId, isServer: true, config, lambdas: lambdasOption })
    ])

    await runCompiler(configs)

    await writeBuildId(distDir, buildId)
  } catch (err) {