X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=skyquake%2Fplugins%2Fgoodbyeworld%2Fwebpack.production.config.js;h=7db6acc658885c471cba616acc7f1ff1edb7b064;hb=refs%2Fheads%2Fprojects;hp=e013478adb0b46ab35449dc8570e0144baa5126e;hpb=e29efc315df33d546237e270470916e26df391d6;p=osm%2FUI.git diff --git a/skyquake/plugins/goodbyeworld/webpack.production.config.js b/skyquake/plugins/goodbyeworld/webpack.production.config.js index e013478ad..7db6acc65 100644 --- a/skyquake/plugins/goodbyeworld/webpack.production.config.js +++ b/skyquake/plugins/goodbyeworld/webpack.production.config.js @@ -15,7 +15,7 @@ * limitations under the License. * */ -var Webpack = require('webpack'); +var webpack = require('webpack'); var path = require('path'); var nodeModulesPath = path.resolve(__dirname, 'node_modules'); var buildPath = path.resolve(__dirname, 'public', 'build'); @@ -23,6 +23,7 @@ var mainPath = path.resolve(__dirname, 'src', 'main.js'); var uiPluginCmakeBuild = process.env.ui_plugin_cmake_build || false; var frameworkPath = uiPluginCmakeBuild?'../../../../skyquake/skyquake-build/framework':'../../framework'; var HtmlWebpackPlugin = require('html-webpack-plugin'); +var CompressionPlugin = require("compression-webpack-plugin"); // Added to overcome node-sass bug https://github.com/iam4x/isomorphic-flux-boilerplate/issues/62 process.env.UV_THREADPOOL_SIZE=64; var config = { @@ -64,10 +65,24 @@ var config = { }, plugins: [ new HtmlWebpackPlugin({ - filename: '../index.html', + filename: '../index.html', templateContent: '
' - }), - new Webpack.optimize.CommonsChunkPlugin("vendor", "vendor.js", Infinity) + }) ] }; + +if (process.argv.indexOf('--optimize-minimize') !== -1) { + // we are going to output a gzip file in the production process + config.output.filename = "gzip-" + config.output.filename; + config.plugins.push(new webpack.DefinePlugin({ // <-- key to reducing React's size + 'process.env': { + 'NODE_ENV': JSON.stringify('production') + } + })); + config.plugins.push(new CompressionPlugin({ + asset: "[path]", // overwrite js file with gz file + algorithm: "gzip", + test: /\.(js)$/ + })); +} module.exports = config;