ldc-dam/webpack.mix.js

77 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

const path = require('path')
const mix = require('laravel-mix')
require('laravel-mix-polyfill')
require('laravel-mix-clean')
const assetDir = 'assets'
const polyfill = {
enabled: true,
bugfixes: true,
useBuiltIns: 'usage',
targets: 'last 3 version, not dead, >0.3%'
}
2019-05-09 15:00:05 +02:00
mix.webpackConfig({
resolve: {
alias: {
'@': path.resolve('resources/assets')
}
},
// 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/*',
'images/*',
'fonts/*',
'assets/*'
]
})
2019-05-09 15:00:05 +02:00
2019-05-16 17:20:30 +02:00
mix.js([
'resources/js/app.js',
'resources/js/admin.js',
'resources/js/media.js',
2019-05-16 17:20:30 +02:00
], 'public/js/app.js')
.sass('resources/scss/app.scss', 'public/css')
.vue({
runtimeOnly: true,
extractStyles: true,
globalStyles: false
})
.polyfill(polyfill)
.sourceMaps()
.version()
// * COPY JS STATIC VENDORS
mix.copyDirectory('resources/vendor/js', 'public/js')
mix.copyDirectory('resources/vendor/css', 'public/css')
// * 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')
// * Copy Blade Images Assets
mix.copyDirectory('resources/assets', 'public/assets')