Skip to content

Commit fd95b4d

Browse files
committed
[webpack] upgraded to v2
1 parent 7d3d72d commit fd95b4d

File tree

3 files changed

+39
-76
lines changed

3 files changed

+39
-76
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ config/*
44
!config/test.js
55

66
# Public (distribution).
7-
public/bundle.js
7+
public/*bundle.js
88

99
# DBs.
1010
data/

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
}
4545
},
4646
"start-dev-frontend": {
47-
"command": "webpack-dev-server --config webpack/dev.config.js --require babel-polyfill",
47+
"command": "webpack-dev-server --config webpack/dev.config.js",
4848
"env": {
4949
"NODE_ENV": "development",
5050
"PORT": 3000,
@@ -169,8 +169,8 @@
169169
"style-loader": "^0.13.1",
170170
"superagent": "^3.1.0",
171171
"url-loader": "^0.5.7",
172-
"webpack": "^1.14.0",
173-
"webpack-dev-server": "^1.16.2"
172+
"webpack": "^2.2.1",
173+
"webpack-dev-server": "^2.3.0"
174174
},
175175
"engines": {
176176
"node": ">=6.0",

webpack/dev.config.js

+35-72
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* eslint-disable import/no-extraneous-dependencies, no-var, prefer-template */
2+
13
var webpack = require('webpack');
24
var path = require('path');
35

@@ -6,100 +8,61 @@ var API_PORT = process.env.API_PORT;
68

79
module.exports = {
810
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'),
1315
],
1416
output: {
15-
filename: "bundle.js",
16-
publicPath: "/"
17+
filename: 'bundle.js',
18+
publicPath: '/',
1719
},
18-
devtool: "#eval-source-map",
20+
devtool: '#eval-source-map',
1921
devServer: {
2022
host: '0.0.0.0',
2123
port: PORT,
22-
colors: true,
23-
contentBase: path.join(__dirname, "..", "public"),
24+
contentBase: path.resolve('public'),
2425
historyApiFallback: {
25-
index: "index.html"
26+
index: 'index.html',
2627
},
2728
hot: true,
2829
inline: false,
29-
progress: true,
3030
proxy: {
31-
"/api/": {
32-
target: "http://localhost:" + API_PORT,
33-
pathRewrite: {"^/api": ""},
31+
'/api/': {
32+
target: 'http://localhost:' + API_PORT,
33+
pathRewrite: { '^/api': '' },
3434
changeOrigin: false,
3535
xfwd: true,
36-
}
36+
},
3737
},
38-
stats: "errors-only"
38+
stats: 'errors-only',
3939
},
4040
module: {
4141
loaders: [
42-
{
43-
test: /\.jsx?$/,
44-
exclude: /node_modules/,
45-
loader: "babel",
46-
query: {
47-
"presets": ["es2015", "es2016", "es2017", "react"],
48-
"plugins": ["react-hot-loader/babel"]
49-
}
50-
},
51-
{
52-
test: /\.scss$/,
42+
{ test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader' },
43+
{ test: /\.scss$/,
5344
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: /\.css$/,
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: /\.png$/,
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+
],
7150
},
72-
{
73-
test: /\.jpg$/,
74-
loader: "file-loader"
75-
},
76-
{
77-
test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/,
78-
loader: 'url?limit=10000&mimetype=application/font-woff'
79-
},
80-
{
81-
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
82-
loader: 'url?limit=10000&mimetype=application/octet-stream'
83-
},
84-
{
85-
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
86-
loader: 'file'
87-
},
88-
{
89-
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
90-
loader: 'url?limit=10000&mimetype=image/svg+xml'
91-
}
92-
]
51+
{ test: /\.css$/, loaders: ['style-loader', 'css-loader'] },
52+
{ test: /\.png$/, loader: 'url-loader?limit=100000' },
53+
{ test: /\.jpg$/, loader: 'file-loader' },
54+
{ test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' },
55+
{ test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream' },
56+
{ test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file' },
57+
{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml' },
58+
],
9359
},
9460
resolve: {
95-
root: [
96-
path.resolve('./frontend')
97-
],
98-
extensions: ["", ".js", ".jsx"]
61+
modules: [path.resolve('frontend'), 'node_modules'],
62+
extensions: ['.js', '.jsx'],
9963
},
10064
plugins: [
101-
new webpack.optimize.OccurenceOrderPlugin(),
10265
new webpack.HotModuleReplacementPlugin(),
103-
new webpack.NoErrorsPlugin()
66+
new webpack.NoEmitOnErrorsPlugin(),
10467
],
105-
};
68+
};

0 commit comments

Comments
 (0)