-
Notifications
You must be signed in to change notification settings - Fork 23
/
webpack.config.build.js
53 lines (48 loc) · 988 Bytes
/
webpack.config.build.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const webpack = require('webpack');
const pack = require('package');
const banner = `${pack.name}.js ${pack.version} - ${pack.description}
Copyright (c) ${new Date().getFullYear()} ${pack.author} - ${pack.homepage}
License: ${pack.license}`;
const PROD = process.env.NODE_ENV === 'prod';
const plugins = [
new webpack.BannerPlugin(banner)
];
if (PROD){
plugins.unshift(new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
},
output: {
comments: false
}
}));
}
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
},
output: {
comments: false
}
});
module.exports = {
context: __dirname + '/src',
entry: './index.js',
output: {
path: __dirname + '/dist',
filename: `displace${PROD ? '.min' : ''}.js`,
library: `${pack.name}`,
libraryTarget: 'umd'
},
resolve: {
root: __dirname + '/src'
},
module: {
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}]
},
plugins: plugins
};