const path = require('path'); const webpack = require('webpack'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; const SRC_DIRECTORY = path.resolve(__dirname, 'src'); const DIST_DIRECTORY = path.resolve(__dirname, 'dist'); module.exports = { entry: SRC_DIRECTORY, externals: [ { react: { root: 'React', commonjs2: 'react', commonjs: 'react', amd: 'react' } } ], module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { cacheDirectory: true } } }, { test: /\.(gif|jpe?g|png|svg)$/, use: { loader: 'url-loader', options: { name: '[name].[ext]' } } } ] }, output: { filename: 'ReactNative.js', library: 'ReactNative', libraryTarget: 'umd', path: DIST_DIRECTORY }, plugins: [ new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false }), new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('production') }), new webpack.optimize.UglifyJsPlugin({ compress: { dead_code: true, drop_console: true, screw_ie8: true, warnings: false } }) ] };