const mix = require('laravel-mix'); const path = require('path'); /** * regex correttiva * from: function.(\w+)( |)\( * to: $1 = function( */ mix.webpackConfig({ resolve: { fallback: { crypto: false }, modules: [ 'node_modules' ], }, optimization: { minimize: false, }, module: { rules: [ { /* risolve le dipendenze di jquery globalmente */ test: require.resolve("jquery"), loader: "expose-loader", options: { exposes: ["$", "jQuery"] }, }, { /* risolve le dipendenze per sweetalert */ test: require.resolve("sweetalert2"), loader: "expose-loader", options: { exposes: ["swal","Swal"] } } ] }, output: { libraryTarget: 'window' } }) .options({ processCssUrls: false, }) .autoload({ jquery: ['$','window.jQuery','jQuery'] }) .sass('./css/main.scss','css/app.css') .css('./css/extra-css/titillium.css','css/extra') .css('./css/extra-css/spid-sp-access-button.min.css','css/extra') .js([ './node_modules/jquery/dist/jquery.js', './node_modules/jquery-ui-dist/jquery-ui.js', './node_modules/blueimp-file-upload/js/jquery.fileupload', './node_modules/bootstrap/dist/js/bootstrap.bundle.js', './node_modules/sweetalert2/dist/sweetalert2.all.js', './node_modules/chosen-npm/public/chosen.jquery.js', './node_modules/jquery-datetimepicker/build/jquery.datetimepicker.full.js', './node_modules/datatables.net/js/jquery.dataTables.js', './node_modules/datatables.net-bs4/js/dataTables.bootstrap4.js', './node_modules/@fortawesome/fontawesome-free/js/all.js', './js/personal.js', './js/extra/caret.js', ],'./js/app.js') .js('./js/extra/caret.js', './js/extra') .js('./js/extra/files.js', './js/extra') .js('./js/extra/font-awesome.js', './js/extra') .js('./js/extra/md5.js', './js/extra') .copy('./js/extra/spid-sp-access-button.min.js', '../public_html/src/js/extra') .copy('./js/extra/spid-idps.js', '../public_html/src/js/extra') .sass('./css/extra-css/files.scss', 'css/extra') .copyDirectory('./css/themes', '../public_html/src/css/themes') .copyDirectory('./img/spid', "../public_html/img") .copyDirectory('./img', "../public_html/src/img") .copyDirectory("ckeditor5/build", "../public_html/src/ckeditor5") .copyDirectory("./node_modules/swagger-ui-dist", "../public_html/src/swagger-ui") .copyDirectory("./node_modules/typeahead.js/dist", "../public_html/src/typeahead") .copyDirectory("./node_modules/bootstrap-colorpicker/dist", "../public_html/src/bootstrap-colorpicker") .copyDirectory("./node_modules/lightbox2/dist", "../public_html/src/lightbox2") .copyDirectory("./node_modules/highcharts", "../public_html/src/highcharts") .copyDirectory("./node_modules/@jdinabox/ckeditor5-build-markdown/build", "../public_html/src/ckeditor5-markdown") .copyDirectory("./node_modules/mathjax", "../public_html/src/mathjax") .copyDirectory("./node_modules/@fortawesome/fontawesome-free/webfonts", "../public_html/src/webfonts") .copyDirectory("./node_modules/@fontsource/source-sans-pro/files", "../public_html/src/css/files") .copy("./node_modules/crypto-js/crypto-js.js", "../public_html/src/js/crypto-js.js") .copy("./node_modules/resumablejs/resumable.js", "../public_html/src/js/resumable.js") .copy("./node_modules/bootstrap/dist/js/bootstrap.bundle.js.map", "../public_html/src/js/bootstrap.bundle.js.map") .copy("./node_modules/password-generator/lib/password-generator.js", "../public_html/src/js/extra/password-generator.js") .css('./node_modules/select2/dist/css/select2.min.css', 'css/extra/select2.css') .css('./node_modules/select2-theme-bootstrap4/dist/select2-bootstrap.min.css', 'css/extra/select2-bootstrap.css') .copy('./node_modules/select2/dist/js/select2.min.js', '../public_html/src/js/extra/select2.js') .copyDirectory('./css/fonts','../public_html/src/css/files') .setPublicPath('../public_html/src/')