From 36ac8348a8058c1adf9464f2fe140af84fcf111a Mon Sep 17 00:00:00 2001 From: Julien Tanay Date: Mon, 22 Jul 2019 10:32:30 +0200 Subject: [PATCH] feat(next-css): Support extra options for extract-css-chunks-webpack-plugin --- packages/next-css/css-loader-config.js | 8 +++++--- packages/next-css/index.js | 3 ++- packages/next-css/package.json | 2 +- packages/next-sass/index.js | 4 +++- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/next-css/css-loader-config.js b/packages/next-css/css-loader-config.js index 500086e1..add8a12b 100644 --- a/packages/next-css/css-loader-config.js +++ b/packages/next-css/css-loader-config.js @@ -14,7 +14,8 @@ module.exports = ( dev, isServer, postcssLoaderOptions = {}, - loaders = [] + loaders = [], + extractCssOptions = {} } ) => { // We have to keep a list of extensions for the splitchunk config @@ -33,7 +34,7 @@ module.exports = ( if (!isServer && !extractCssInitialized) { config.plugins.push( - new ExtractCssChunks({ + new ExtractCssChunks(Object.assign({}, { // Options similar to the same options in webpackOptions.output // both options are optional filename: dev @@ -43,7 +44,8 @@ module.exports = ( ? 'static/chunks/[name].chunk.css' : 'static/chunks/[name].[contenthash:8].chunk.css', hot: dev - }) + }, + extractCssOptions)) ) extractCssInitialized = true } diff --git a/packages/next-css/index.js b/packages/next-css/index.js index 2329f57a..a26b9b0e 100644 --- a/packages/next-css/index.js +++ b/packages/next-css/index.js @@ -10,13 +10,14 @@ module.exports = (nextConfig = {}) => { } const { dev, isServer } = options - const { cssModules, cssLoaderOptions, postcssLoaderOptions } = nextConfig + const { cssModules, cssLoaderOptions, postcssLoaderOptions, extractCssOptions } = nextConfig options.defaultLoaders.css = cssLoaderConfig(config, { extensions: ['css'], cssModules, cssLoaderOptions, postcssLoaderOptions, + extractCssOptions, dev, isServer }) diff --git a/packages/next-css/package.json b/packages/next-css/package.json index f6732173..336c6c06 100644 --- a/packages/next-css/package.json +++ b/packages/next-css/package.json @@ -6,7 +6,7 @@ "repository": "zeit/next-plugins", "dependencies": { "css-loader": "^2.1.0", - "extract-css-chunks-webpack-plugin": "^3.3.2", + "extract-css-chunks-webpack-plugin": "^4.5.6", "find-up": "^3.0.0", "ignore-loader": "~0.1.2", "optimize-css-assets-webpack-plugin": "^5.0.1", diff --git a/packages/next-sass/index.js b/packages/next-sass/index.js index 3885e564..9215e39f 100644 --- a/packages/next-sass/index.js +++ b/packages/next-sass/index.js @@ -14,7 +14,8 @@ module.exports = (nextConfig = {}) => { cssModules, cssLoaderOptions, postcssLoaderOptions, - sassLoaderOptions = {} + sassLoaderOptions = {}, + extractCssOptions } = nextConfig options.defaultLoaders.sass = cssLoaderConfig(config, { @@ -22,6 +23,7 @@ module.exports = (nextConfig = {}) => { cssModules, cssLoaderOptions, postcssLoaderOptions, + extractCssOptions, dev, isServer, loaders: [