From e6f84d16bbc4731c737fc41137c30ffe0a47e4cc Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 19 Mar 2018 02:45:07 +0330 Subject: [PATCH] fix(webpack): revert back ExtractTextPlugin to base.config --- lib/builder/webpack/base.config.mjs | 15 +++++++++++++++ lib/builder/webpack/client.config.mjs | 17 ----------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/lib/builder/webpack/base.config.mjs b/lib/builder/webpack/base.config.mjs index dcc91f189d..4f9305beb0 100644 --- a/lib/builder/webpack/base.config.mjs +++ b/lib/builder/webpack/base.config.mjs @@ -1,5 +1,6 @@ import path from 'path' +import ExtractTextPlugin from 'extract-text-webpack-plugin' import TimeFixPlugin from 'time-fix-plugin' import webpack from 'webpack' import _ from 'lodash' @@ -146,6 +147,20 @@ export default function webpackBaseConfig({ name, isServer }) { // Hide warnings about plugins without a default export (#1179) config.plugins.push(new WarnFixPlugin()) + // CSS extraction + const extractCSS = this.options.build.extractCSS + if (extractCSS) { + config.plugins.push(new ExtractTextPlugin(Object.assign({ + filename: this.getFileName('css') + + // When using optimization.splitChunks and there are + // extracted chunks in the commons chunk, + // allChunks *must* be set to true + // TODO: For nuxt this makes duplicate css assets! + // allChunks: true + }, typeof extractCSS === 'object' ? extractCSS : {}))) + } + // Clone deep avoid leaking config between Client and Server return _.cloneDeep(config) } diff --git a/lib/builder/webpack/client.config.mjs b/lib/builder/webpack/client.config.mjs index 75f546b356..5025a8d4e9 100644 --- a/lib/builder/webpack/client.config.mjs +++ b/lib/builder/webpack/client.config.mjs @@ -4,7 +4,6 @@ import _ from 'lodash' import webpack from 'webpack' import HTMLPlugin from 'html-webpack-plugin' import FriendlyErrorsWebpackPlugin from '@nuxtjs/friendly-errors-webpack-plugin' -import ExtractTextPlugin from 'extract-text-webpack-plugin' import StylishPlugin from 'webpack-stylish' import BundleAnalyzer from 'webpack-bundle-analyzer' @@ -135,22 +134,6 @@ export default function webpackClientConfig() { // Create additional runtime chunk for cache boosting config.optimization.runtimeChunk = true - // CSS extraction - const extractCSS = this.options.build.extractCSS - if (extractCSS) { - config.plugins.push(new ExtractTextPlugin(Object.assign({ - filename: this.getFileName('css') - - // When using optimization.splitChunks and there are - // extracted chunks in the commons chunk, - // allChunks *must* be set to true - // TODO: For nuxt this makes duplicate css assets! - // allChunks: true - }, - typeof extractCSS === 'object' ? extractCSS : {} - ))) - } - // -------------------------------------- // Dev specific config // --------------------------------------