From aad46ed674482ea7dc8e8260612dd1b443512900 Mon Sep 17 00:00:00 2001 From: Clark Du Date: Wed, 13 Feb 2019 10:32:13 +0000 Subject: [PATCH] fix: disable parallel build when extractCSS is enabled --- packages/config/src/options.js | 6 ++++++ packages/config/test/options.test.js | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/packages/config/src/options.js b/packages/config/src/options.js index 90973da87f..54affc9ab6 100644 --- a/packages/config/src/options.js +++ b/packages/config/src/options.js @@ -281,6 +281,12 @@ export function getNuxtConfig(_options) { consola.warn('vendor has been deprecated due to webpack4 optimization') } + // Disable CSS extraction due to incompatibility with thread-loader + if (options.build && options.build.extractCSS && options.build.parallel) { + options.build.parallel = false + consola.warn('extractCSS cannot work with parallel build due to limited work pool in thread-loader') + } + // build.extractCSS.allChunks has no effect if (typeof options.build.extractCSS.allChunks !== 'undefined') { consola.warn('build.extractCSS.allChunks has no effect from v2.0.0. Please use build.optimization.splitChunks settings instead.') diff --git a/packages/config/test/options.test.js b/packages/config/test/options.test.js index d0d4d826bf..412f7cb4d3 100644 --- a/packages/config/test/options.test.js +++ b/packages/config/test/options.test.js @@ -105,6 +105,12 @@ describe('config: options', () => { expect(fallback).toEqual('404.html') }) + test('should disable parallel if extractCSS is enabled', () => { + const { build: { parallel } } = getNuxtConfig({ build: { extractCSS: true, parallel: true } }) + expect(parallel).toEqual(false) + expect(consola.warn).toHaveBeenCalledWith('extractCSS cannot work with parallel build due to limited work pool in thread-loader') + }) + describe('config: router dir', () => { test('should transform middleware to array', () => { const { router: { middleware } } = getNuxtConfig({ router: { middleware: 'midd' } })