const ManifestRevisionPlugin = require('manifest-revision-webpack-plugin') const MiniCssExtractPlugin = require('mini-css-extract-plugin') const path = require('path') module.exports = { mode: 'production', entry: { app_js: ['./assets/js/index.js'], app_css: ['./assets/scss/style.scss'], }, output: { path: '/Users/dylan/src/yird/yird/static', filename: '[name].[chunkhash].js', chunkFilename: '[id].[chunkhash].js', }, resolve: { extensions: ['.js', '.css', '.scss'], }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } }, { test: /\.s?css/, use: [ MiniCssExtractPlugin.loader, { loader: 'css-loader' }, { loader: 'sass-loader' }, ], }, ], }, plugins: [ new ManifestRevisionPlugin('manifest.json', { rootAssetPath: './assets', ignorePaths: ['/styles', '/scripts'], }), new MiniCssExtractPlugin({ filename: '[name]-[contenthash].css' }), ], }