1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

Run compilers sequentially when in lambdas mode (#5862)

This commit is contained in:
Tim Neutkens 2018-12-11 21:46:23 +01:00 committed by GitHub
parent 82c5cc38d5
commit 5708e99eca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 3 deletions

View file

@ -1,6 +1,6 @@
import webpack from 'webpack' import webpack from 'webpack'
type CompilerResult = { export type CompilerResult = {
errors: Error[], errors: Error[],
warnings: Error[] warnings: Error[]
} }

View file

@ -6,7 +6,7 @@ import getBaseWebpackConfig from './webpack-config'
import {generateBuildId} from './generate-build-id' import {generateBuildId} from './generate-build-id'
import {writeBuildId} from './write-build-id' import {writeBuildId} from './write-build-id'
import {isWriteable} from './is-writeable' 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<void> { export default async function build (dir: string, conf = null, lambdas: boolean = false): Promise<void> {
if (!await isWriteable(dir)) { 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 lambdasOption = config.lambdas ? config.lambdas : lambdas
const distDir = join(dir, config.distDir) const distDir = join(dir, config.distDir)
const buildId = await generateBuildId(config.generateBuildId, nanoid) const buildId = await generateBuildId(config.generateBuildId, nanoid)
const configs: any = await Promise.all([ const configs: any = await Promise.all([
getBaseWebpackConfig(dir, { buildId, isServer: false, config, lambdas: lambdasOption }), getBaseWebpackConfig(dir, { buildId, isServer: false, config, lambdas: lambdasOption }),
getBaseWebpackConfig(dir, { buildId, isServer: true, 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) { if (result.warnings.length > 0) {
console.warn('> Emitted warnings from webpack') console.warn('> Emitted warnings from webpack')
console.warn(...result.warnings) console.warn(...result.warnings)