HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/farmfun/reserveren.farmfun.be/webpack.mix.js
let mix = require('laravel-mix');

let sassDir = 'resources/sass/';
let imgDir = 'resources/img';
let jsDir = 'resources/js/';

//We need to define this because 'mix.copy' and 'mix.script' won't listen to the setPublicPath
let publicDir = 'wwwroot/';

// require('laravel-mix-bundle-analyzer');
// mix.bundleAnalyzer({
//     openAnalyzer: true,
//     analyzerPort: 8888
// });

//Sass will use this as public path
mix.setPublicPath(publicDir);
mix.browserSync({
    proxy: '127.0.0.1:8000',
    files: [
        'wwwroot/css/**/*',
        'resources/views/**/*',
        'resources/lang/**/*',
        'resources/js/**/*',
    ]
});

// mix.webpackConfig({ devtool: "inline-source-map" });

mix.options({
    processCssUrls: false,
    postCss: [
        require('autoprefixer')({
            overrideBrowserslist: [
                '> 2%',
                'ie 11'
            ]
        }),
    ]
});

mix.disableSuccessNotifications();

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.copy(imgDir, publicDir + 'img');


/* Site css and js
   ========================================================================== */

mix.sass(sassDir + 'site/style.scss', 'css/style.css')
    .version();

// mix.sass(sassDir + 'site/experience.scss', 'css/experiences.css')
//     .version();

mix.js(jsDir + 'site/app.js', 'js/site/app.js')
    .vue()
    .extract(['hammerjs', 'objectFitPolyfill', 'flatpickr', 'body-scroll-lock', 'axios', '@vue',])
    .version();

mix.js(jsDir + 'reservation/main.js', 'js/reservation.js');

/* KMS css and js
  ========================================================================== */

mix.sass(sassDir + 'kms/styles.sass', 'css/kms.css');

//External javascript
mix.scripts([
        //TODO upgrade this to 3.1.1
        jsDir + 'lib/jquery-1.11.2.min.js',
        jsDir + 'lib/axios-min.js',
        jsDir + 'lib/jquery-ui-1.12.1/jquery-ui.min.js',
    ],
    publicDir + 'js/kms/jquery-bound.js'
);

mix.copy(jsDir + 'kms/tinymce', publicDir + 'js/kms/tinymce');

mix.babel(jsDir + 'kms/attributes/*.js', publicDir + '/js/kms/attributes.js').sourceMaps();
mix.babel([
    jsDir + 'global/polyfills/*.js',
    jsDir + 'global/helpers.js',
    jsDir + 'kms/*.js', //TODO: Files that reside in the kms folder need to be rewritten in a nicer way so that they dont depend on angular and conform to soc
    jsDir + 'kms/entities/*.js',
    jsDir + 'kms/entity/*.js'
], publicDir + '/js/kms/core.js');