const mix = require("laravel-mix"); /* |-------------------------------------------------------------------------- | 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.js("resources/js/app.js", "public/js") .js("resources/js/vendor.js", "public/js") .sass("resources/sass/app.scss", "public/css") .js( "resources/js/warehouse_management/product_categories/index.js", "public/js/warehouse_management/product_categories" ) .js( "resources/js/warehouse_management/products/index.js", "public/js/warehouse_management/products" ) .js( "resources/js/warehouse_management/opnames/index.js", "public/js/warehouse_management/opnames" ) .js( "resources/js/warehouse_management/opnames/create.js", "public/js/warehouse_management/opnames" ) .js( "resources/js/warehouse_management/opnames/detail.js", "public/js/warehouse_management/opnames" ) .js( "resources/js/warehouse_management/mutations/index.js", "public/js/warehouse_management/mutations" ) .js( "resources/js/warehouse_management/mutations/create.js", "public/js/warehouse_management/mutations" ) // Copy vendor libraries from node_modules .copy( "node_modules/datatables.net/js/jquery.dataTables.min.js", "public/js/vendor" ) .copy( "node_modules/datatables.net-bs4/js/dataTables.bootstrap4.min.js", "public/js/vendor" ) .copy( "node_modules/datatables.net-fixedcolumns/js/dataTables.fixedColumns.min.js", "public/js/vendor" ) .copy( "node_modules/sweetalert2/dist/sweetalert2.min.js", "public/js/vendor" ) .copy("node_modules/chart.js/dist/chart.umd.js", "public/js/vendor") .copy( "node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.min.js", "public/js/vendor" ) // Copy CSS files .copy( "node_modules/datatables.net-bs4/css/dataTables.bootstrap4.min.css", "public/css/vendor" ) .copy( "node_modules/datatables.net-fixedcolumns-bs4/css/fixedColumns.bootstrap4.min.css", "public/css/vendor" ) .copy( "node_modules/sweetalert2/dist/sweetalert2.min.css", "public/css/vendor" ) // Keep existing manual files as backup .copy("resources/js/cdn/dataTables.bootstrap4.min.js", "public/js/cdn") .copy("resources/js/cdn/dataTables.fixedColumns.min.js", "public/js/cdn") .copy("resources/js/cdn/jquery.dataTables.min.js", "public/js/cdn") .copy("resources/css/dataTables.bootstrap4.min.css", "public/css") .copy("resources/css/fixedColumns.bootstrap4.min.css", "public/css") .copy("resources/css/google-font.css", "public/css") .sourceMaps(); mix.browserSync({ proxy: "127.0.0.1:8000", open: false, files: [ "app/**/*.php", "resources/views/**/*.php", "resources/js/**/*.js", "resources/sass/**/*.scss", "public/js/**/*.js", "public/css/**/*.css", ], }); mix.setPublicPath("public"); mix.setResourceRoot("/"); const devServerPort = process.env.MIX_DEV_SERVER_PORT || 8080; mix.webpackConfig({ devServer: { host: process.env.MIX_DEV_SERVER_HOST || "localhost", port: devServerPort, hot: true, headers: { "Access-Control-Allow-Origin": "*", }, }, }); mix.options({ hmrOptions: { host: process.env.MIX_DEV_SERVER_HOST || "localhost", port: devServerPort, }, });