let mix = require('laravel-mix'); /* |-------------------------------------------------------------------------- | 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 your application, as well as bundling up your JS files. | */ const inc = 'inc'; const partials = 'partials'; const assets = 'assets'; const dist = 'dist'; mix.setPublicPath(dist); mix.setResourceRoot('../'); // BrowserSync mix.browserSync({ host: 'localhost', proxy: 'https://pressbooks.test', port: 3100, files: [ '*.php', `${inc}/**/*.php`, `${partials}/**/*.php`, `${dist}/**/*.css`, `${dist}/**/*.js`, ], }); // Sass mix.sass(`${assets}/styles/aldine.scss`, `${dist}/styles/aldine.css`); mix.sass(`${assets}/styles/editor.scss`, `${dist}/styles/editor.css`); // Javascript mix.autoload({ jquery: ['$', 'window.jQuery', 'jQuery'] }); mix .js(`${assets}/scripts/aldine.js`, `${dist}/scripts`) .js(`${assets}/scripts/catalog-admin.js`, `${dist}/scripts`) .js(`${assets}/scripts/customizer.js`, `${dist}/scripts`); // Assets mix .copy(`${assets}/fonts`, `${dist}/fonts`, false) .copy(`${assets}/images`, `${dist}/images`, false); // Options mix.options({ processCssUrls: false }); // Source maps when not in production. if (!mix.inProduction()) { mix.sourceMaps(); } // Hash and version files in production. if (mix.inProduction()) { mix.version(); } // Add Isotope support. mix.webpackConfig({ resolve: { alias: { masonry: 'masonry-layout', isotope: 'isotope-layout', }, }, });