67 lines
1.6 KiB
JavaScript
67 lines
1.6 KiB
JavaScript
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$': 'vue/dist/vue.runtime.esm-bundler.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/*',
|
|
]
|
|
})
|
|
|
|
// * BO
|
|
mix.js('resources/js/back.js', 'public/js/back.js')
|
|
.sass('resources/scss/back.scss', 'public/css/back.css')
|
|
.polyfill(polyfill)
|
|
|
|
// * FO
|
|
mix.js('resources/js/front.js', 'public/js/front.js')
|
|
.sass('resources/scss/front.scss', 'public/css/front.css')
|
|
.vue({ version: 3 })
|
|
.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')
|