diff options
| author | jules <jules@carbonpictures.com> | 2017-06-02 15:42:34 +0000 |
|---|---|---|
| committer | jules <jules@carbonpictures.com> | 2017-06-02 15:42:34 +0000 |
| commit | 5f26431f03228a85273e7f7d51abd6098ea9f2a5 (patch) | |
| tree | 6a709972cbb0babd68aaa10fe277b2c843fd7451 /client/web/shared.webpack.config.js | |
| parent | 291fe3eedd9a460fc44d2ea3ea81c7d79f2dfbcf (diff) | |
| parent | dd70fa81a205304cb48bbc0494ad34c16d496ff2 (diff) | |
merge
Diffstat (limited to 'client/web/shared.webpack.config.js')
| -rw-r--r-- | client/web/shared.webpack.config.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/client/web/shared.webpack.config.js b/client/web/shared.webpack.config.js new file mode 100644 index 0000000..81f7a6a --- /dev/null +++ b/client/web/shared.webpack.config.js @@ -0,0 +1,64 @@ +// @flow +/* eslint-disable import/no-extraneous-dependencies */ +const path = require('path') +const webpack = require('webpack') +const CompressionPlugin = require('compression-webpack-plugin') + +module.exports = { + productionPlugins: [ + new webpack.optimize.AggressiveMergingPlugin(), + new webpack.optimize.UglifyJsPlugin({ + mangle: true, + compress: { + warnings: false, // Suppress uglification warnings + pure_getters: true, + unsafe: true, + unsafe_comps: true, + screw_ie8: true, + }, + output: { + comments: false, + }, + sourceMap: false, + exclude: [/\.min\.js$/gi], // skip pre-minified libs + }), + new CompressionPlugin({ + asset: '[path].gz[query]', + algorithm: 'zopfli', + test: /\.js$|\.css$|\.html$/, + threshold: 10240, + minRatio: 0.8, + }), + ], + + loaders: [ + { + test: /\.ttf$/, + loader: 'url-loader', + include: path.resolve(__dirname, '../node_modules/react-native-vector-icons'), + }, + { + test: /\.json$/, + loader: 'json-loader', + }, + { + // Many react-native libraries do not compile their ES6 JS. + test: /\.js$/, + include: /node_modules\/react-native-/, + // react-native-web is already compiled. + exclude: /node_modules\/react-native-web\//, + loader: 'babel-loader', + query: { cacheDirectory: true }, + }, + { + test: /\.(gif|jpe?g|png|svg)$/, + loader: 'url-loader', + query: { name: 'images/[name]-[hash:16].[ext]' }, + }, + { + test: /\.(mp3|wav)$/, + loader: 'file-loader', + query: { name: 'sounds/[name]-[hash:16].[ext]' }, + }, + ], +} |
