Files
CKB/webpack.mix.js

126 lines
3.9 KiB
JavaScript
Executable File

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"
)
.js(
"resources/js/warehouse_management/stock_audit/index.js",
"public/js/warehouse_management/stock_audit"
)
// 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,
},
});