@@ -3,51 +3,50 @@ var path = require('path');
3
3
4
4
module . exports = function configure ( config ) {
5
5
6
- config . loader ( 'css' , {
6
+ // Project's CSS. Run CSS in modules mode with postcss
7
+ config . module . rules . push ( {
7
8
test : / \. c s s $ / ,
8
- loader : ExtractTextPlugin . extract ( 'style' , 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader' )
9
+ exclude : / n o d e _ m o d u l e s / ,
10
+ loader : ExtractTextPlugin . extract ( {
11
+ fallbackLoader : 'style-loader' ,
12
+ loader : 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader'
13
+ } )
9
14
} ) ;
10
15
11
-
12
16
// Project's global css. Run PostCSS but not modules mode.
13
- config . loader ( 'global-css' , {
17
+ config . module . rules . push ( {
14
18
test : / \. g l o b a l \. c s s $ / ,
15
- loader : ExtractTextPlugin . extract ( 'style-loader' , 'css-loader?importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader' )
19
+ loader : ExtractTextPlugin . extract ( {
20
+ fallbackLoader : 'style-loader' ,
21
+ loader : 'css-loader?importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader'
22
+ } )
16
23
} ) ;
17
24
18
25
// Third Party CSS. From node_modules. Don't process, just load.
19
- config . loader ( 'third-party-css' , {
26
+ config . module . rules . push ( {
20
27
test : / \. c s s $ / ,
21
28
include : / n o d e _ m o d u l e s / ,
22
- loader : ExtractTextPlugin . extract ( 'style-loader' , 'css-loader' )
29
+ loader : ExtractTextPlugin . extract ( {
30
+ fallbackLoader : 'style-loader' ,
31
+ loader : 'css-loader'
32
+ } )
23
33
} ) ;
24
34
25
- config . plugin ( 'extract-css' ,
26
- ExtractTextPlugin , [ 'styles.[contenthash].css' , {
27
- allChunks : true
28
- } ] ) ;
29
-
30
- config . merge ( {
31
- postcss : [
32
- require ( 'postcss-brand-colors' ) ,
33
- require ( 'postcss-modular-scale' ) ,
34
- require ( 'postcss-responsive-type' ) ,
35
- require ( 'postcss-cssnext' ) ( {
36
- browsers : 'last 2 versions'
37
- } ) ,
38
- require ( 'lost' ) ( {
39
- flexbox : 'flex'
40
- } ) ,
41
- require ( 'postcss-font-magician' ) ( {
42
- hosted : path . resolve ( process . cwd ( ) , './fonts' )
43
- } ) ,
44
- // require('list-selectors').plugin(function(selectorList) {
45
- // console.log(selectorList)
46
- // }),
47
- require ( 'immutable-css' ) ,
48
- require ( 'postcss-browser-reporter' )
49
- ]
35
+ const extract = new ExtractTextPlugin ( {
36
+ filename : 'styles.[contenthash].css' ,
37
+ allChunks : true
50
38
} ) ;
39
+ if ( config . plugins ) {
40
+ config . plugins . push ( extract ) ;
41
+ } else {
42
+ config . plugins = [ extract ] ;
43
+ }
44
+
45
+ /* config.plugins.push(new webpack.LoaderOptionsPlugin({
46
+ options: {
47
+ context: __dirname
48
+ }
49
+ })); */
51
50
52
51
return config ;
53
52
}
0 commit comments