const path = require('path'); const mix = require('laravel-mix'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); require('laravel-mix-polyfill'); mix.webpackConfig({ resolve: { alias: { '@': path.resolve('resources/assets') } }, plugins: [ new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: [ 'css/*', 'js/*', 'images/*', 'fonts/*', 'assets/*' ] }) ], // Pour debug compilation errors // stats: { // children: true, // warningsFilter: [/\-\-underline\-color/], // }, }); let assetDir = 'assets'; mix.options({ fileLoaderDirs: { images: `${assetDir}/images`, fonts: `${assetDir}/fonts` }, postCss: [ require('postcss-discard-comments')({ removeAll: true }) ] }); // mix Backend mix.js("resources/js/app.js", "public/js") .sass("resources/sass/app.scss", "public/css") // mix Frontend .js("resources/js/main.js", "public/js/preload-main.js") .sass("resources/sass/main.scss", "public/css/preload-main.css") // onepages (flammand et notre histoire) .js("resources/js/onepage.js", "public/js") .sass("resources/sass/app-onepage.scss", "public/css") .sass("resources/sass/onepage-extensions.scss", "public/css") .vue() .polyfill({ enabled: true, useBuiltIns: "usage", targets: { "firefox": "50", "ie": 11 } }) .version(); mix.js("resources/js/vendor/oms.js", "public/js/oms-min.js"); // Copy Blade Images Assets mix.copyDirectory('resources/assets', 'public/assets');