1 const path = require('path');
2 const dev = process.env.NODE_ENV !== 'production';
4 const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
5 const MiniCssExtractPlugin = require("mini-css-extract-plugin");
9 mode: dev? 'development' : 'production',
11 app: './resources/assets/js/index.js',
12 styles: './resources/assets/sass/styles.scss',
13 "export-styles": './resources/assets/sass/export-styles.scss',
14 "print-styles": './resources/assets/sass/print-styles.scss',
17 filename: '[name].js',
18 path: path.resolve(__dirname, 'public/dist')
24 exclude: /(node_modules)/,
26 loader: 'babel-loader',
29 '@babel/preset-env', {
40 loader: MiniCssExtractPlugin.loader,
44 loader: "css-loader", options: {
48 loader: 'postcss-loader',
52 plugins: (loader) => [
53 require('autoprefixer')(),
57 loader: "sass-loader", options: {
66 new MiniCssExtractPlugin({
67 filename: "[name].css",
73 config['devtool'] = 'inline-source-map';
77 config.plugins.push(new UglifyJsPlugin());
80 module.exports = config;