@@ -9,29 +9,8 @@ const addlessLoader = ({ config, env }) => {
9
9
exclude : / \. m o d u l e \. l e s s $ / ,
10
10
use : [
11
11
require . resolve ( 'style-loader' ) ,
12
- {
13
- loader : require . resolve ( 'css-loader' ) ,
14
- options : {
15
- importLoaders : 1 ,
16
- } ,
17
- } ,
18
- {
19
- loader : require . resolve ( 'postcss-loader' ) ,
20
- options : {
21
- ident : 'postcss' , // https://webpack.js.org/guides/migrating/#complex-options
22
- plugins : ( ) => [
23
- require ( 'postcss-flexbugs-fixes' ) ,
24
- autoprefixer ( {
25
- browsers : [
26
- '>1%' ,
27
- 'last 4 versions' ,
28
- 'Firefox ESR' ,
29
- 'not ie < 9' , // React doesn't support IE8 anyway
30
- ] ,
31
- } ) ,
32
- ] ,
33
- } ,
34
- } ,
12
+ cssDevLoader ,
13
+ postcssDevLoader ,
35
14
require . resolve ( 'less-loader' ) ,
36
15
] ,
37
16
} ;
@@ -41,31 +20,8 @@ const addlessLoader = ({ config, env }) => {
41
20
exclude : / \. m o d u l e \. l e s s $ / ,
42
21
use : ExtractTextPlugin . extract ( {
43
22
use : [
44
- {
45
- loader : require . resolve ( 'css-loader' ) ,
46
- options : {
47
- minimize : true ,
48
- importLoaders : 1 ,
49
- sourceMap : true ,
50
- } ,
51
- } ,
52
- {
53
- loader : require . resolve ( 'postcss-loader' ) ,
54
- options : {
55
- ident : 'postcss' , // https://webpack.js.org/guides/migrating/#complex-options
56
- plugins : ( ) => [
57
- require ( 'postcss-flexbugs-fixes' ) ,
58
- autoprefixer ( {
59
- browsers : [
60
- '>1%' ,
61
- 'last 4 versions' ,
62
- 'Firefox ESR' ,
63
- 'not ie < 9' , // React doesn't support IE8 anyway
64
- ] ,
65
- } ) ,
66
- ] ,
67
- } ,
68
- } ,
23
+ cssProdLoader ,
24
+ postcssProdLoader ,
69
25
{
70
26
loader : require . resolve ( 'less-loader' ) ,
71
27
options : {
@@ -88,29 +44,8 @@ const addSassLoader = ({ config, env }) => {
88
44
exclude : / \. m o d u l e \. ( s a s s | s c s s ) $ / ,
89
45
use : [
90
46
require . resolve ( 'style-loader' ) ,
91
- {
92
- loader : require . resolve ( 'css-loader' ) ,
93
- options : {
94
- importLoaders : 1 ,
95
- } ,
96
- } ,
97
- {
98
- loader : require . resolve ( 'postcss-loader' ) ,
99
- options : {
100
- ident : 'postcss' , // https://webpack.js.org/guides/migrating/#complex-options
101
- plugins : ( ) => [
102
- require ( 'postcss-flexbugs-fixes' ) ,
103
- autoprefixer ( {
104
- browsers : [
105
- '>1%' ,
106
- 'last 4 versions' ,
107
- 'Firefox ESR' ,
108
- 'not ie < 9' , // React doesn't support IE8 anyway
109
- ] ,
110
- } ) ,
111
- ] ,
112
- } ,
113
- } ,
47
+ cssDevLoader ,
48
+ postcssDevLoader ,
114
49
require . resolve ( 'sass-loader' ) ,
115
50
] ,
116
51
} ;
@@ -120,31 +55,8 @@ const addSassLoader = ({ config, env }) => {
120
55
exclude : / \. m o d u l e \. ( s a s s | s c s s ) $ / ,
121
56
use : ExtractTextPlugin . extract ( {
122
57
use : [
123
- {
124
- loader : require . resolve ( 'css-loader' ) ,
125
- options : {
126
- minimize : true ,
127
- importLoaders : 1 ,
128
- sourceMap : true ,
129
- } ,
130
- } ,
131
- {
132
- loader : require . resolve ( 'postcss-loader' ) ,
133
- options : {
134
- ident : 'postcss' , // https://webpack.js.org/guides/migrating/#complex-options
135
- plugins : ( ) => [
136
- require ( 'postcss-flexbugs-fixes' ) ,
137
- autoprefixer ( {
138
- browsers : [
139
- '>1%' ,
140
- 'last 4 versions' ,
141
- 'Firefox ESR' ,
142
- 'not ie < 9' , // React doesn't support IE8 anyway
143
- ] ,
144
- } ) ,
145
- ] ,
146
- } ,
147
- } ,
58
+ cssProdLoader ,
59
+ postcssProdLoader ,
148
60
{
149
61
loader : require . resolve ( 'sass-loader' ) ,
150
62
options : {
@@ -160,6 +72,58 @@ const addSassLoader = ({ config, env }) => {
160
72
? { config : addRule ( config , sassDevRule ) , env }
161
73
: { config : addRule ( config , sassProdRule ) , env } ;
162
74
} ;
75
+
76
+ const cssDevLoader = {
77
+ loader : require . resolve ( 'css-loader' ) ,
78
+ options : {
79
+ importLoaders : 1 ,
80
+ } ,
81
+ } ;
82
+
83
+ const cssProdLoader = {
84
+ loader : require . resolve ( 'css-loader' ) ,
85
+ options : {
86
+ minimize : true ,
87
+ importLoaders : 1 ,
88
+ sourceMap : true ,
89
+ } ,
90
+ } ;
91
+
92
+ const postcssDevLoader = {
93
+ loader : require . resolve ( 'postcss-loader' ) ,
94
+ options : {
95
+ ident : 'postcss' , // https://webpack.js.org/guides/migrating/#complex-options
96
+ plugins : ( ) => [
97
+ require ( 'postcss-flexbugs-fixes' ) ,
98
+ autoprefixer ( {
99
+ browsers : [
100
+ '>1%' ,
101
+ 'last 4 versions' ,
102
+ 'Firefox ESR' ,
103
+ 'not ie < 9' , // React doesn't support IE8 anyway
104
+ ] ,
105
+ } ) ,
106
+ ] ,
107
+ } ,
108
+ } ;
109
+
110
+ const postcssProdLoader = {
111
+ loader : require . resolve ( 'postcss-loader' ) ,
112
+ options : {
113
+ ident : 'postcss' , // https://webpack.js.org/guides/migrating/#complex-options
114
+ plugins : ( ) => [
115
+ require ( 'postcss-flexbugs-fixes' ) ,
116
+ autoprefixer ( {
117
+ browsers : [
118
+ '>1%' ,
119
+ 'last 4 versions' ,
120
+ 'Firefox ESR' ,
121
+ 'not ie < 9' , // React doesn't support IE8 anyway
122
+ ] ,
123
+ } ) ,
124
+ ] ,
125
+ } ,
126
+ } ;
163
127
164
128
/**
165
129
* add specific rule to webpack config
0 commit comments