summaryrefslogtreecommitdiffstats
path: root/webapp/webpack.config.js
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-03-17 12:04:51 -0400
committerChristopher Speller <crspeller@gmail.com>2016-03-17 12:04:51 -0400
commita6a9dd76914b33d292a54d667ce6789c2b6b4b41 (patch)
treea3a358fbb7cb8b272ce846965430276a4717ebfd /webapp/webpack.config.js
parent1fe2f7301a03f1051245fc38492c2ad4f5357de3 (diff)
parentfdc3207724fde8c0c3fae7e18d7ec8463e72e737 (diff)
downloadchat-a6a9dd76914b33d292a54d667ce6789c2b6b4b41.tar.gz
chat-a6a9dd76914b33d292a54d667ce6789c2b6b4b41.tar.bz2
chat-a6a9dd76914b33d292a54d667ce6789c2b6b4b41.zip
Merge pull request #2462 from mattermost/plt-2340
PLT-2340 Webpack optimizations and fixes
Diffstat (limited to 'webapp/webpack.config.js')
-rw-r--r--webapp/webpack.config.js30
1 files changed, 23 insertions, 7 deletions
diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js
index 14abf6ffa..5e1df9bfe 100644
--- a/webapp/webpack.config.js
+++ b/webapp/webpack.config.js
@@ -17,20 +17,21 @@ module.exports = {
loaders: [
{
test: /\.jsx?$/,
- loader: 'babel-loader',
+ loader: 'babel',
exclude: /(node_modules|non_npm_dependencies)/,
query: {
- presets: ['react', 'es2015', 'stage-0'],
- plugins: ['transform-runtime']
+ presets: ['react', 'es2015-webpack', 'stage-0'],
+ plugins: ['transform-runtime'],
+ cacheDirectory: true
}
},
{
test: /\.json$/,
- loader: 'json-loader'
+ loader: 'json'
},
{
test: /(node_modules|non_npm_dependencies)\/.+\.(js|jsx)$/,
- loader: 'imports-loader',
+ loader: 'imports',
query: {
$: 'jquery',
jQuery: 'jquery'
@@ -46,7 +47,7 @@ module.exports = {
},
{
test: /\.(png|eot|tiff|svg|woff2|woff|ttf|gif)$/,
- loader: 'file-loader',
+ loader: 'file',
query: {
name: 'files/[hash].[ext]'
}
@@ -67,7 +68,22 @@ module.exports = {
htmlExtract,
new CopyWebpackPlugin([
{from: 'images/emoji', to: 'emoji'}
- ])
+ ]),
+ new webpack.optimize.UglifyJsPlugin({
+ 'screw-ie8': true,
+ mangle: {
+ toplevel: false
+ },
+ compress: {
+ warnings: false
+ },
+ comments: false
+ }),
+ new webpack.optimize.AggressiveMergingPlugin(),
+ new webpack.LoaderOptionsPlugin({
+ minimize: true,
+ debug: false
+ })
],
resolve: {
alias: {