about summary refs log tree commit diff
path: root/config/webpack/production.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack/production.js')
-rw-r--r--config/webpack/production.js35
1 files changed, 23 insertions, 12 deletions
diff --git a/config/webpack/production.js b/config/webpack/production.js
index 037a76a59..58c7fa69a 100644
--- a/config/webpack/production.js
+++ b/config/webpack/production.js
@@ -1,7 +1,7 @@
 // Note: You must restart bin/webpack-dev-server for changes to take effect
 
-const webpack = require('webpack');
 const merge = require('webpack-merge');
+const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
 const CompressionPlugin = require('compression-webpack-plugin');
 const sharedConfig = require('./shared.js');
 const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
@@ -36,6 +36,8 @@ if (process.env.S3_ENABLED === 'true') {
 }
 
 module.exports = merge(sharedConfig, {
+  mode: 'production',
+
   output: {
     filename: '[name]-[chunkhash].js',
     chunkFilename: '[name]-[chunkhash].js',
@@ -44,19 +46,28 @@ module.exports = merge(sharedConfig, {
   devtool: 'source-map', // separate sourcemap file, suitable for production
   stats: 'normal',
 
-  plugins: [
-    new webpack.optimize.UglifyJsPlugin({
-      sourceMap: true,
-      mangle: true,
+  optimization: {
+    minimize: true,
+    minimizer: [
+      new UglifyJsPlugin({
+        sourceMap: true,
 
-      compress: {
-        warnings: false,
-      },
+        uglifyOptions: {
+          mangle: true,
 
-      output: {
-        comments: false,
-      },
-    }),
+          compress: {
+            warnings: false,
+          },
+
+          output: {
+            comments: false,
+          },
+        },
+      }),
+    ],
+  },
+
+  plugins: [
     new CompressionPlugin({
       asset: '[path].gz[query]',
       algorithm: compressionAlgorithm,