1
+ /* eslint-disable import/no-extraneous-dependencies, no-var, prefer-template */
2
+
1
3
var webpack = require ( 'webpack' ) ;
2
4
var path = require ( 'path' ) ;
3
5
@@ -6,100 +8,61 @@ var API_PORT = process.env.API_PORT;
6
8
7
9
module . exports = {
8
10
entry : [
9
- " react-hot-loader/patch" ,
10
- " webpack-dev-server/client?http://0.0.0.0:" + PORT ,
11
- " webpack/hot/only-dev-server" ,
12
- path . join ( __dirname , ".." , " frontend" , " app.jsx" )
11
+ ' react-hot-loader/patch' ,
12
+ ' webpack-dev-server/client?http://0.0.0.0:' + PORT ,
13
+ ' webpack/hot/only-dev-server' ,
14
+ path . resolve ( ' frontend' , ' app.jsx' ) ,
13
15
] ,
14
16
output : {
15
- filename : " bundle.js" ,
16
- publicPath : "/"
17
+ filename : ' bundle.js' ,
18
+ publicPath : '/' ,
17
19
} ,
18
- devtool : " #eval-source-map" ,
20
+ devtool : ' #eval-source-map' ,
19
21
devServer : {
20
22
host : '0.0.0.0' ,
21
23
port : PORT ,
22
- colors : true ,
23
- contentBase : path . join ( __dirname , ".." , "public" ) ,
24
+ contentBase : path . resolve ( 'public' ) ,
24
25
historyApiFallback : {
25
- index : " index.html"
26
+ index : ' index.html' ,
26
27
} ,
27
28
hot : true ,
28
29
inline : false ,
29
- progress : true ,
30
30
proxy : {
31
- " /api/" : {
32
- target : " http://localhost:" + API_PORT ,
33
- pathRewrite : { " ^/api" : "" } ,
31
+ ' /api/' : {
32
+ target : ' http://localhost:' + API_PORT ,
33
+ pathRewrite : { ' ^/api' : '' } ,
34
34
changeOrigin : false ,
35
35
xfwd : true ,
36
- }
36
+ } ,
37
37
} ,
38
- stats : " errors-only"
38
+ stats : ' errors-only' ,
39
39
} ,
40
40
module : {
41
41
loaders : [
42
- {
43
- test : / \. j s x ? $ / ,
44
- exclude : / n o d e _ m o d u l e s / ,
45
- loader : "babel" ,
46
- query : {
47
- "presets" : [ "es2015" , "es2016" , "es2017" , "react" ] ,
48
- "plugins" : [ "react-hot-loader/babel" ]
49
- }
50
- } ,
51
- {
52
- test : / \. s c s s $ / ,
42
+ { test : / \. j s x ? $ / , exclude : / n o d e _ m o d u l e s / , loader : 'babel-loader' } ,
43
+ { test : / \. s c s s $ / ,
53
44
loaders : [
54
- "style-loader" ,
55
- "css-loader?modules&importLoaders=1&localIdentName=[name]__[local]--[hash:base64:5]" , // TODO
56
- // "css-loader?modules&importLoaders=1",
57
- "sass"
58
- ]
59
- } ,
60
- {
61
- test : / \. c s s $ / ,
62
- loaders : [
63
- "style-loader" ,
64
- // "css-loader?modules&importLoaders=1&localIdentName=[name]__[local]--[hash:base64:5]" // TODO
65
- "css-loader"
66
- ]
67
- } ,
68
- {
69
- test : / \. p n g $ / ,
70
- loader : "url-loader?limit=100000"
45
+ 'style-loader' ,
46
+ 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]--[hash:base64:5]' , // TODO
47
+ // 'css-loader?modules&importLoaders=1',
48
+ 'sass-loader' ,
49
+ ] ,
71
50
} ,
72
- {
73
- test : / \. j p g $ / ,
74
- loader : "file-loader"
75
- } ,
76
- {
77
- test : / \. ( w o f f | w o f f 2 ) ( \? v = \d + \. \d + \. \d + ) ? $ / ,
78
- loader : 'url?limit=10000&mimetype=application/font-woff'
79
- } ,
80
- {
81
- test : / \. t t f ( \? v = \d + \. \d + \. \d + ) ? $ / ,
82
- loader : 'url?limit=10000&mimetype=application/octet-stream'
83
- } ,
84
- {
85
- test : / \. e o t ( \? v = \d + \. \d + \. \d + ) ? $ / ,
86
- loader : 'file'
87
- } ,
88
- {
89
- test : / \. s v g ( \? v = \d + \. \d + \. \d + ) ? $ / ,
90
- loader : 'url?limit=10000&mimetype=image/svg+xml'
91
- }
92
- ]
51
+ { test : / \. c s s $ / , loaders : [ 'style-loader' , 'css-loader' ] } ,
52
+ { test : / \. p n g $ / , loader : 'url-loader?limit=100000' } ,
53
+ { test : / \. j p g $ / , loader : 'file-loader' } ,
54
+ { test : / \. ( w o f f | w o f f 2 ) ( \? v = \d + \. \d + \. \d + ) ? $ / , loader : 'url?limit=10000&mimetype=application/font-woff' } ,
55
+ { test : / \. t t f ( \? v = \d + \. \d + \. \d + ) ? $ / , loader : 'url?limit=10000&mimetype=application/octet-stream' } ,
56
+ { test : / \. e o t ( \? v = \d + \. \d + \. \d + ) ? $ / , loader : 'file' } ,
57
+ { test : / \. s v g ( \? v = \d + \. \d + \. \d + ) ? $ / , loader : 'url?limit=10000&mimetype=image/svg+xml' } ,
58
+ ] ,
93
59
} ,
94
60
resolve : {
95
- root : [
96
- path . resolve ( './frontend' )
97
- ] ,
98
- extensions : [ "" , ".js" , ".jsx" ]
61
+ modules : [ path . resolve ( 'frontend' ) , 'node_modules' ] ,
62
+ extensions : [ '.js' , '.jsx' ] ,
99
63
} ,
100
64
plugins : [
101
- new webpack . optimize . OccurenceOrderPlugin ( ) ,
102
65
new webpack . HotModuleReplacementPlugin ( ) ,
103
- new webpack . NoErrorsPlugin ( )
66
+ new webpack . NoEmitOnErrorsPlugin ( ) ,
104
67
] ,
105
- } ;
68
+ } ;
0 commit comments