@@ -2,123 +2,125 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin')
2
2
const ImageMinimizerPlugin = require ( 'image-minimizer-webpack-plugin' )
3
3
const path = require ( 'path' )
4
4
5
- module . exports = ( { config, isDevelopment } ) => ( webpackConfig ) => ( {
6
- ...webpackConfig ,
7
- module : {
8
- rules : [
9
- isDevelopment
10
- ? {
11
- test : / \. ( s [ a c ] s s | c s s ) $ / ,
12
- use : [
13
- 'style-loader' ,
14
- 'css-loader' ,
15
- 'postcss-loader' ,
16
- {
17
- loader : 'sass-loader' ,
18
- options : {
19
- sassOptions : {
20
- indentWidth : 4 ,
21
- includePaths : [ ]
5
+ module . exports =
6
+ ( { config, isDevelopment } ) =>
7
+ ( webpackConfig ) => ( {
8
+ ...webpackConfig ,
9
+ module : {
10
+ rules : [
11
+ isDevelopment
12
+ ? {
13
+ test : / \. ( s [ a c ] s s | c s s ) $ / ,
14
+ use : [
15
+ 'style-loader' ,
16
+ 'css-loader' ,
17
+ 'postcss-loader' ,
18
+ {
19
+ loader : 'sass-loader' ,
20
+ options : {
21
+ sassOptions : {
22
+ indentWidth : 4 ,
23
+ includePaths : [ ]
24
+ }
22
25
}
23
26
}
24
- }
25
- ]
26
- }
27
- : {
28
- test : / \. ( s [ a c ] s s | c s s ) $ / ,
29
- use : [
30
- MiniCssExtractPlugin . loader ,
31
- 'css -loader',
32
- 'postcss-loader' ,
33
- {
34
- loader : 'sass-loader' ,
35
- options : {
36
- sassOptions : {
37
- indentWidth : 4 ,
38
- includePaths : [ ]
27
+ ]
28
+ }
29
+ : {
30
+ test : / \. ( s [ a c ] s s | c s s ) $ / ,
31
+ use : [
32
+ MiniCssExtractPlugin . loader ,
33
+ 'css- loader' ,
34
+ 'postcss -loader',
35
+ {
36
+ loader : 'sass-loader' ,
37
+ options : {
38
+ sassOptions : {
39
+ indentWidth : 4 ,
40
+ includePaths : [ ]
41
+ }
39
42
}
40
43
}
41
- }
42
- ]
43
- } ,
44
- {
45
- test : / \. v u e $ / ,
46
- loader : 'vue-loader'
47
- } ,
48
- {
49
- test : / \. j s $ / ,
50
- exclude : / n o d e _ m o d u l e s / ,
51
- // use: ['babel-loader', 'eslint-loader']
44
+ ]
45
+ } ,
46
+ {
47
+ test : / \. v u e $ / ,
48
+ loader : 'vue-loader'
49
+ } ,
50
+ {
51
+ test : / \. j s $ / ,
52
+ exclude : / n o d e _ m o d u l e s / ,
53
+ // use: ['babel-loader', 'eslint-loader']
52
54
53
- use : [
54
- {
55
- loader : 'babel-loader' ,
55
+ use : [
56
+ {
57
+ loader : 'babel-loader?cacheDirectory' ,
58
+ options : {
59
+ presets : [ '@babel/preset-env' ]
60
+ }
61
+ }
62
+ ]
63
+ } ,
64
+ {
65
+ test : / \. t s $ / ,
66
+ exclude : / n o d e _ m o d u l e s / ,
67
+ use : [
68
+ {
69
+ loader : 'babel-loader?cacheDirectory' ,
70
+ options : { babelrc : true }
71
+ } ,
72
+ {
73
+ loader : 'ts-loader' ,
74
+ options : { appendTsSuffixTo : [ / \. v u e $ / ] }
75
+ }
76
+ ]
77
+ } ,
78
+ {
79
+ test : / \. ( w o f f 2 ? | e o t | t t f | o t f ) ( \? .* ) ? $ / ,
80
+ use : {
81
+ loader : 'file-loader' ,
56
82
options : {
57
- presets : [ '@babel/preset-env' ]
83
+ limit : 10000 ,
84
+ name : path . posix . join ( isDevelopment ? '' : config . dist . versionPath , 'fonts/[name].[ext]' )
58
85
}
59
86
}
60
- ]
61
- } ,
62
- {
63
- test : / \. t s $ / ,
64
- exclude : / n o d e _ m o d u l e s / ,
65
- use : [
66
- {
67
- loader : 'babel-loader' ,
68
- options : { babelrc : true }
69
- } ,
70
- {
71
- loader : 'ts-loader' ,
72
- options : { appendTsSuffixTo : [ / \. v u e $ / ] }
73
- }
74
- ]
75
- } ,
76
- {
77
- test : / \. ( w o f f 2 ? | e o t | t t f | o t f ) ( \? .* ) ? $ / ,
78
- use : {
79
- loader : 'file-loader' ,
80
- options : {
81
- limit : 10000 ,
82
- name : path . posix . join ( isDevelopment ? '' : config . dist . versionPath , 'fonts/[name].[ext]' )
83
- }
84
- }
85
- } ,
86
- {
87
- test : / \. (?: i c o | g i f | p n g | j p g | j p e g | s v g ) $ / i,
88
- type : 'asset/resource'
89
- } ,
90
- {
91
- test : / \. ( i c o | g i f | p n g | j p g | j p e g | s v g ) $ / i,
92
- use : [
93
- {
94
- loader : ImageMinimizerPlugin . loader ,
95
- options : {
96
- severityError : 'warning' , // Ignore errors on corrupted images
97
- minimizerOptions : {
98
- plugins : [ 'gifsicle' ]
87
+ } ,
88
+ {
89
+ test : / \. (?: i c o | g i f | p n g | j p g | j p e g | s v g ) $ / i,
90
+ type : 'asset/resource'
91
+ } ,
92
+ {
93
+ test : / \. ( i c o | g i f | p n g | j p g | j p e g | s v g ) $ / i,
94
+ use : [
95
+ {
96
+ loader : ImageMinimizerPlugin . loader ,
97
+ options : {
98
+ severityError : 'warning' , // Ignore errors on corrupted images
99
+ minimizerOptions : {
100
+ plugins : [ 'gifsicle' ]
101
+ }
99
102
}
100
103
}
101
- }
102
- ]
103
- } ,
104
- {
105
- test : / \. s v g $ / ,
106
- use : [
107
- {
108
- loader : 'file-loader'
109
- } ,
110
- {
111
- loader : 'svgo-loader' ,
112
- options : {
113
- multipass : true ,
114
- js2svg : {
115
- indent : 2 ,
116
- pretty : true
104
+ ]
105
+ } ,
106
+ {
107
+ test : / \. s v g $ / ,
108
+ use : [
109
+ {
110
+ loader : 'file-loader'
111
+ } ,
112
+ {
113
+ loader : 'svgo-loader' ,
114
+ options : {
115
+ multipass : true ,
116
+ js2svg : {
117
+ indent : 2 ,
118
+ pretty : true
119
+ }
117
120
}
118
121
}
119
- }
120
- ]
121
- }
122
- ]
123
- }
124
- } )
122
+ ]
123
+ }
124
+ ]
125
+ }
126
+ } )
0 commit comments