import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import html from '@rollup/plugin-html'; import { glob } from 'glob'; /** * Obtener archivos desde el componente local */ function GetFilesArray(query) { return glob.sync(query); } // Page JS Files const pageJsFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/js/**/*.js'); // Incluye admin-settings, auth, pages, etc. // Processing Vendor JS Files const vendorJsFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/assets/vendor/js/*.js'); // Processing Libs JS Files const LibsJsFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/assets/vendor/libs/**/*.js'); /** * Scss Files */ // Page Scss Files const pageScssFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/scss/**/!(_)*.scss'); // Processing Core, Themes & Pages Scss Files const CoreScssFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/assets/vendor/scss/**/!(_)*.scss'); // Processing Libs Scss & Css Files const LibsScssFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/assets/vendor/libs/**/!(_)*.scss'); const LibsCssFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/assets/vendor/libs/**/*.css'); // Processing Fonts Scss Files const FontsScssFiles = GetFilesArray('vendor/koneko/vuexy-admin-mexico/resources/assets/vendor/fonts/!(_)*.scss'); // Processing Window Assignment for Libs like jKanban, pdfMake function libsWindowAssignment() { return { name: 'libsWindowAssignment', transform(src, id) { if (id.includes('jkanban.js')) { return src.replace('this.jKanban', 'window.jKanban'); } else if (id.includes('vfs_fonts')) { return src.replaceAll('this.pdfMake', 'window.pdfMake'); } } }; } export default defineConfig({ plugins: [ laravel({ input: [ 'vendor/koneko/vuexy-admin-mexico/resources/assets/css/demo.css', ...pageJsFiles, ...vendorJsFiles, ...LibsJsFiles, ...pageScssFiles, ...CoreScssFiles, ...LibsScssFiles, ...LibsCssFiles, ...FontsScssFiles ], refresh: ['resources/**', 'app/**', 'vendor/koneko/**'] }), html(), libsWindowAssignment(), ], build: { emptyOutDir: true }, server: { cors: true, hmr: { host: '127.0.0.1', }, fs: { allow: ['..'], } } });