From 3e72bfa56c860826429a842f6c128d78d4a930db Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 1 Jun 2017 19:47:08 -0400 Subject: react-native-web port of fmf app --- client/web/shared.webpack.config.js | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 client/web/shared.webpack.config.js (limited to 'client/web/shared.webpack.config.js') 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]' }, + }, + ], +} -- cgit v1.2.3-70-g09d2