var path = require("path"); var webpack = require('webpack'); var BundleTracker = require('webpack-bundle-tracker'); var MiniCssExtractPlugin = require('mini-css-extract-plugin'); module.exports = { context: __dirname, entry: './assets/js/index', output: { path: path.resolve('./assets/bundles/'), filename: "[name].js" }, plugins: [ new MiniCssExtractPlugin(), new BundleTracker({path: __dirname, filename: './webpack-stats.json'}), ], module: { rules: [ // we pass the output from babel loader to react-hot loader { test: /\.jsx?$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-react'] } } }, { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'], } ], }, resolve: { modules: ['node_modules', 'bower_components'], extensions: ['.js', '.jsx'] }, }