From 5708e99ecaba8907642e371efb2d431a982b7242 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Tue, 11 Dec 2018 21:46:23 +0100 Subject: [PATCH] Run compilers sequentially when in lambdas mode (#5862) --- packages/next/build/compiler.ts | 2 +- packages/next/build/index.ts | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/next/build/compiler.ts b/packages/next/build/compiler.ts index 9b7fd0f1..52fad6a9 100644 --- a/packages/next/build/compiler.ts +++ b/packages/next/build/compiler.ts @@ -1,6 +1,6 @@ import webpack from 'webpack' -type CompilerResult = { +export type CompilerResult = { errors: Error[], warnings: Error[] } diff --git a/packages/next/build/index.ts b/packages/next/build/index.ts index 147c0ba8..721c1666 100644 --- a/packages/next/build/index.ts +++ b/packages/next/build/index.ts @@ -6,7 +6,7 @@ import getBaseWebpackConfig from './webpack-config' import {generateBuildId} from './generate-build-id' import {writeBuildId} from './write-build-id' import {isWriteable} from './is-writeable' -import {runCompiler} from './compiler' +import {runCompiler, CompilerResult} from './compiler' export default async function build (dir: string, conf = null, lambdas: boolean = false): Promise { if (!await isWriteable(dir)) { @@ -17,12 +17,21 @@ export default async function build (dir: string, conf = null, lambdas: boolean const lambdasOption = config.lambdas ? config.lambdas : lambdas const distDir = join(dir, config.distDir) const buildId = await generateBuildId(config.generateBuildId, nanoid) + const configs: any = await Promise.all([ getBaseWebpackConfig(dir, { buildId, isServer: false, config, lambdas: lambdasOption }), getBaseWebpackConfig(dir, { buildId, isServer: true, config, lambdas: lambdasOption }) ]) - const result = await runCompiler(configs) + let result: CompilerResult = {warnings: [], errors: []} + if (lambdasOption) { + const clientResult = await runCompiler([configs[0]]) + const serverResult = await runCompiler([configs[1]]) + result = {warnings: [...clientResult.warnings, ...serverResult.warnings], errors: [...clientResult.errors, ...serverResult.errors]} + } else { + result = await runCompiler(configs) + } + if (result.warnings.length > 0) { console.warn('> Emitted warnings from webpack') console.warn(...result.warnings)