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/SBogers95/rentman.io/webpack.mix.js
let mix = require('laravel-mix');
require("@babel/polyfill");

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

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

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

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

mix.options({
    processCssUrls: false,
    postCss: [
        require('autoprefixer')({
            grid: true,
            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');
mix.copy('resources/fonts', publicDir + 'fonts');


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

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


mix.babel([
        jsDir + 'lib/hammer.js',
        jsDir + 'lib/bodyScrollLock.js',
        jsDir + 'lib/lazyload.js',
        jsDir + 'global/polyfills/*.js',
        jsDir + 'global/helpers.js'
    ],
    publicDir + 'js/site/core.js');

const scripts = [
    // 'accordionHandler.js',
    // 'bookADemoButtonHandler.js',
    // 'boot.js',
    // 'browserHandler.js',
    // 'chocolateFactory.js',
    // 'compareTableHandler.js',
    // 'cookieHandler.js',
    // 'createPlanDropdownHandler.js',
    // 'customerLogosHandler.js',
    // 'customerLogoSliderHandler.js',
    // 'InputHandler.js',
    // 'languageSelectorHandler.js',
    // 'mapsHandler.js',
    // 'modalHandler.js',
    // 'overlayMenuHandler.js',
    // 'pricingDropdownHandler.js',
    // 'pricingHandler.js',
    // 'pricingSectionDropdownHandler.js',
    // 'recruiteeHandler.js',
    // 'resizeHandler.js',
    // 'scrollHandler.js',
    // 'scrollToHandler.js',
    // 'searchHandler.js',
    // 'shareButtonsHandler.js',
    // 'slideProjectorHandler.js',
    // 'sliderHandler.js',
    // 'submenuHandler.js',
    // 'tabHandler.js',
    // 'tabSliderHandler.js',
    // 'timelineHandler.js',
    // 'updateGridHandler.js',
    // 'youtubeHandler.js',
    // 'youtubeModalHandler.js'
];

// mix.js(scripts.map(script => jsDir + 'site/' + script), publicDir + 'js/site/app.js').version();
mix.js(jsDir + 'site/app.js', publicDir + 'js/site/app.js').version();


mix.js([jsDir + 'createPlan/app.js'], publicDir + 'js/site/createPlan.js').version();

/* 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.scripts([
        jsDir + 'kms/*.js',
    ],
    publicDir + 'js/kms/kms.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');