68 lines
2.7 KiB
JavaScript
68 lines
2.7 KiB
JavaScript
const mix = require('laravel-mix');
|
|
const webpackConfig = require('./webpack.config');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Mix Asset Management
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Mix provides a clean, fluent API for defining some Webpack build steps
|
|
| for your theme assets. By default, we are compiling the CSS
|
|
| file for the application as well as bundling up all the JS files.
|
|
|
|
|
*/
|
|
|
|
mix
|
|
.webpackConfig(webpackConfig)
|
|
.options({
|
|
processCssUrls: false,
|
|
manifest: false,
|
|
terser: {
|
|
terserOptions: {
|
|
mangle: false,
|
|
compress: true,
|
|
output: {
|
|
comments: false
|
|
}
|
|
},
|
|
},
|
|
})
|
|
.setPublicPath('')
|
|
;
|
|
|
|
// Vendor Mixes
|
|
mix
|
|
.copy('node_modules/jquery/dist/jquery.min.js', 'modules/system/assets/js/vendor/jquery.min.js')
|
|
.copy('node_modules/vue-router/dist/vue-router.min.js', 'modules/system/assets/vendor/vue-router/vue.min.js')
|
|
.copy('node_modules/bluebird/js/browser/bluebird.min.js', 'modules/system/assets/vendor/bluebird/bluebird.min.js')
|
|
.copy('node_modules/sortablejs/Sortable.min.js', 'modules/backend/assets/vendor/sortablejs/sortable.js')
|
|
.copy('node_modules/dropzone/dist/dropzone-min.js', 'modules/backend/assets/vendor/dropzone/dropzone.js')
|
|
.copy('node_modules/js-cookie/dist/js.cookie.js', 'modules/backend/assets/vendor/js-cookie/js.cookie.js')
|
|
;
|
|
|
|
// Vue dev tools
|
|
if (!mix.inProduction()) {
|
|
mix.copy('node_modules/vue/dist/vue.js', 'modules/system/assets/vendor/vue/vue.min.js');
|
|
}
|
|
else {
|
|
mix.copy('node_modules/vue/dist/vue.min.js', 'modules/system/assets/vendor/vue/vue.min.js');
|
|
}
|
|
|
|
// Boostrap Mixes
|
|
mix
|
|
.js('modules/backend/assets/vendor/bootstrap/bootstrap.js', 'modules/backend/assets/vendor/bootstrap/bootstrap.min.js')
|
|
.sass('modules/backend/assets/vendor/bootstrap/bootstrap.scss', 'modules/backend/assets/vendor/bootstrap/bootstrap.css')
|
|
.sass('modules/backend/assets/vendor/bootstrap/bootstrap-lite.scss', 'modules/backend/assets/vendor/bootstrap/bootstrap-lite.css')
|
|
.sass('modules/backend/assets/vendor/bootstrap-icons/bootstrap-icons.scss', 'modules/backend/assets/vendor/bootstrap-icons/bootstrap-icons.css')
|
|
.copy('node_modules/bootstrap-icons/font/fonts/', 'modules/backend/assets/vendor/bootstrap-icons/fonts/')
|
|
;
|
|
|
|
// Core Mixes
|
|
require('./webpack.helpers')(mix);
|
|
require('./modules/system/system.mix')(mix);
|
|
require('./modules/backend/backend.mix')(mix);
|
|
require('./modules/editor/editor.mix')(mix);
|
|
require('./modules/media/media.mix')(mix);
|
|
require('./modules/tailor/tailor.mix')(mix);
|
|
require('./modules/cms/cms.mix')(mix);
|