ldc-supportweb/webpack.mix.js
2022-05-25 11:59:54 +02:00

62 lines
1.6 KiB
JavaScript
Vendored

const path = require('path')
const mix = require('laravel-mix')
require('laravel-mix-polyfill')
require('laravel-mix-clean')
let assetDir = 'assets'
let polyfill = {
enabled: true,
useBuiltIns: "usage",
// legacy targets from gulp file
targets: ['last 3 version', 'safari 5', 'ie 8', 'opera 12.1', 'ios 6', 'android 4']
}
mix.webpackConfig({
resolve: {
alias: {
'@': path.resolve('resources/assets'),
'vue$': process.env.NODE_ENV == 'production' ? 'vue/dist/vue.runtime.min.js' : 'vue/dist/vue.runtime.js',
}
},
// Pour debug compilation errors
// stats: {
// children: true,
// warningsFilter: [
// /\-\-underline\-color/,
// ]
// },
})
mix.options({
fileLoaderDirs: {
fonts: `${assetDir}/fonts`,
images: `${assetDir}/images`
},
postCss: [
require('postcss-discard-comments')({
removeAll: true
})
],
})
mix.clean({
cleanOnceBeforeBuildPatterns: [
'css/*',
'js/*',
'assets/*',
]
})
// mix Backend
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.sass('resources/sass/bootstrap.scss', 'public/css')
.vue()
.polyfill(polyfill)
// Copy Blade Images Assets
mix.copyDirectory('resources/assets', 'public/assets')
// fontawesome compile
mix.copy('node_modules/@fortawesome/fontawesome-free/js/all.min.js', 'public/js/fontawesome.min.js')
.copy('node_modules/@fortawesome/fontawesome-free/css/fontawesome.min.css', 'public/css/fontawesome.min.css');