const mix = require('laravel-mix') const SvgSpritemapPlugin = require('svg-spritemap-webpack-plugin') const path = require('path') require('laravel-mix-purgecss') /* |-------------------------------------------------------------------------- | 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. | */ mix.webpackConfig({ plugins: [ new SvgSpritemapPlugin([ 'resources/icons/*.svg', ], { output: { filename: 'public/symbol-defs.svg', chunk: { keep: true } }, sprite: { prefix: 'icon-' } }) ] }) mix.options({ terser: { extractComments: false }, processCssUrls: false }) mix .setPublicPath('./') .js('resources/js/main.js', 'public/js') .sass('resources/scss/styles.scss', 'public/css') .purgeCss({ extend: { content: [ path.join(__dirname, 'resources/views/**/*.php') ] } }) .version()