11const ExtractTextPlugin = require ( `extract-text-webpack-plugin` )
22const { cssModulesConfig } = require ( `gatsby-1-config-css-modules` )
33
4+ const extractSass = new ExtractTextPlugin ( `styles.css` , { allChunks : true } )
5+
46exports . modifyWebpackConfig = ( { config, stage } , options ) => {
57 const sassFiles = / \. s [ a c ] s s $ /
68 const sassModulesFiles = / \. m o d u l e \. s [ a c ] s s $ /
@@ -24,16 +26,21 @@ exports.modifyWebpackConfig = ({ config, stage }, options) => {
2426 config . loader ( `sass` , {
2527 test : sassFiles ,
2628 exclude : sassModulesFiles ,
27- loader : ExtractTextPlugin . extract ( [ `css?minimize` , sassLoader ] ) ,
29+ loader : extractSass . extract ( [ `css?minimize` , sassLoader ] ) ,
2830 } )
2931
3032 config . loader ( `sassModules` , {
3133 test : sassModulesFiles ,
32- loader : ExtractTextPlugin . extract ( `style` , [
34+ loader : extractSass . extract ( `style` , [
3335 cssModulesConfig ( stage ) ,
3436 sassLoader ,
3537 ] ) ,
3638 } )
39+
40+ config . merge ( {
41+ plugins : [ extractSass ] ,
42+ } )
43+
3744 return config
3845 }
3946 case `develop-html` :
@@ -47,11 +54,16 @@ exports.modifyWebpackConfig = ({ config, stage }, options) => {
4754
4855 config . loader ( `sassModules` , {
4956 test : sassModulesFiles ,
50- loader : ExtractTextPlugin . extract ( `style` , [
57+ loader : extractSass . extract ( `style` , [
5158 cssModulesConfig ( stage ) ,
5259 sassLoader ,
5360 ] ) ,
5461 } )
62+
63+ config . merge ( {
64+ plugins : [ extractSass ] ,
65+ } )
66+
5567 return config
5668 }
5769 default : {
0 commit comments