let mix = require('laravel-mix'); let webpack = require('webpack'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; /* |-------------------------------------------------------------------------- | Mix Asset Management |-------------------------------------------------------------------------- | | Mix provides a clean, fluent API for defining some Webpack build steps | for your Laravel application. By default, we are compiling the Sass | file for the application as well as bundling up all the JS files. | */ let plugins = [ new webpack.ProvidePlugin({ '$': 'jquery', jQuery: 'jquery', }), ] if (process.env.WP_ANALYZE) { plugins.push(new BundleAnalyzerPlugin()) } mix.webpackConfig({ // Force jquery slim - https://code.luasoftware.com/tutorials/webpack/force-jquery-slim-import-in-webpack/ resolve: { extensions: ['.js'], alias: { 'jquery': 'jquery/dist/jquery.slim.js', 'vue$': 'vue/dist/vue.runtime.js', } }, plugins, }); mix.js('resources/assets/js/app.js', 'public/js') .sass('resources/assets/sass/app.scss', 'public/css') .sass('resources/assets/sass/app-dark.scss', 'public/css');