5
5
// cd client && yarn run build:client
6
6
// Note that Foreman (Procfile.dev) has also been configured to take care of this.
7
7
8
- const ExtractTextPlugin = require ( 'extract-text-webpack-plugin' ) ;
8
+ // const ExtractTextPlugin = require('extract-text-webpack-plugin');
9
+ const MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' ) ;
9
10
const merge = require ( 'webpack-merge' ) ;
10
11
const config = require ( './webpack.client.base.config' ) ;
11
12
const { resolve } = require ( 'path' ) ;
@@ -50,47 +51,46 @@ module.exports = merge(config, {
50
51
exclude : / n o d e _ m o d u l e s / ,
51
52
} ,
52
53
{
53
- test : / \. c s s $ / ,
54
- loader : ExtractTextPlugin . extract ( {
55
- fallback : 'style-loader' ,
56
- use : [
57
- {
58
- loader : 'css-loader' ,
59
- options : {
60
- minimize : true ,
61
- modules : true ,
62
- importLoaders : 1 ,
63
- localIdentName : '[name]__[local]__[hash:base64:5]' ,
64
- } ,
65
- } ,
66
- 'postcss-loader' ,
67
- ] ,
68
- } ) ,
54
+ test : / \. ( s c s s | c s s ) $ / ,
55
+ use : [
56
+ MiniCssExtractPlugin . loader ,
57
+ 'css-loader' ,
58
+ 'resolve-url-loader?keepQuery' ,
59
+ 'svg-fill-loader/encodeSharp' ,
60
+ 'sass-loader' ,
61
+ ] ,
69
62
} ,
70
63
{
71
- test : / \. s c s s $ / ,
72
- loader : ExtractTextPlugin . extract ( {
73
- fallback : 'style-loader' ,
74
- use : [
75
- {
76
- loader : 'css-loader' ,
77
- options : {
78
- minimize : true ,
79
- modules : true ,
80
- importLoaders : 3 ,
81
- localIdentName : '[name]__[local]__[hash:base64:5]' ,
82
- } ,
83
- } ,
84
- 'postcss-loader' ,
85
- 'sass-loader' ,
86
- {
87
- loader : 'sass-resources-loader' ,
88
- options : {
89
- resources : './app/assets/styles/app-variables.scss'
90
- } ,
64
+ test : / \. s v g ( \? v = \d + \. \d + \. \d + ) ? $ / ,
65
+ use : [
66
+ {
67
+ loader : 'url-loader?limit=10000&mimetype=image/svg+xml' ,
68
+ } ,
69
+ {
70
+ loader : 'svg-fill-loader?selector=svg' ,
71
+ } ,
72
+ ] ,
73
+ } ,
74
+ {
75
+ test : / b o o t s t r a p - s a s s \/ a s s e t s \/ j a v a s c r i p t s \/ / ,
76
+ loader : 'imports-loader?jQuery=jquery' ,
77
+ } ,
78
+ {
79
+ test : / \. ( s c s s | c s s ) $ / ,
80
+ use : [
81
+ 'style-loader' ,
82
+ MiniCssExtractPlugin . loader ,
83
+ {
84
+ loader : 'css-loader' ,
85
+ options : {
86
+ minimize : true ,
87
+ sourceMap : true
91
88
}
92
- ] ,
93
- } ) ,
89
+ } ,
90
+ {
91
+ loader : 'sass-loader'
92
+ }
93
+ ]
94
94
} ,
95
95
{
96
96
test : require . resolve ( 'react' ) ,
@@ -115,9 +115,9 @@ module.exports = merge(config, {
115
115
} ,
116
116
117
117
plugins : [
118
- new ExtractTextPlugin ( {
119
- filename : '[name]-[hash] .css' ,
120
- allChunks : true
121
- } ) ,
118
+ new MiniCssExtractPlugin ( {
119
+ filename : '[name].css' ,
120
+ chunkFilename : '[id].css'
121
+ } )
122
122
] ,
123
123
} ) ;
0 commit comments