const babelPreset = require('../../scripts/babel/preset'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; const path = require('path'); const appDirectory = path.resolve(__dirname); module.exports = { mode: 'production', context: __dirname, entry: './src/index', output: { path: path.resolve(appDirectory, 'dist'), filename: 'bundle.js' }, optimization: { minimize: process.env.NODE_ENV === 'production' }, module: { rules: [ { test: /\.css$/, use: [ 'style-loader', { loader: 'css-loader', options: { modules: true, localIdentName: '[hash:base64:8]' } } ] }, { test: /\.js$/, include: [path.resolve(appDirectory, 'src')], use: { loader: 'babel-loader', options: { cacheDirectory: false, presets: babelPreset, plugins: ['styled-jsx/babel'] } } } ] }, plugins: [ new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false }) ], resolve: { alias: { 'react-native': 'react-native-web' } } };