Files
Dare2/vite.config.js
2026-03-25 02:03:59 +01:00

68 lines
1.9 KiB
JavaScript

import { defineConfig } from "vite";
import tailwindcss from "@tailwindcss/vite";
// import { sigproRouter } from './router.js';
import { resolve } from "path";
import path from "node:path";
const dev = process.env.NODE_ENV === "development";
const createAgGridLib = {
lib: {
entry: resolve(__dirname, "src/components/aggrid-lib.js"),
name: "AgGridBundle",
fileName: "aggrid",
formats: ["es"],
},
outDir: "dist/lib",
};
export default defineConfig({
plugins: [tailwindcss()],
base: dev ? "/absproxy/5173/" : "/",
resolve: {
alias: {
"@components": path.resolve(__dirname, "src/components/"),
},
},
server: {
allowedHosts: true,
port: 5173,
},
build: {
chunkSizeWarningLimit: 1500,
rollupOptions: {
output: {
// 2. Controla dónde van los archivos JS
chunkFileNames: "assets/js/[name]-[hash].js",
entryFileNames: "assets/js/[name]-[hash].js",
// 3. Controla dónde van los archivos CSS y otros assets
assetFileNames: (assetInfo) => {
const name = assetInfo.name ?? "";
if (name.endsWith(".css")) {
return "assets/css/[name]-[hash][extname]";
}
return "assets/[name]-[hash][extname]";
},
// 4. Estrategia de separación manual (Manual Chunks)
// Esto separa las librerías pesadas de tu código de SigPro
manualChunks(id) {
if (id.includes("node_modules")) {
return "vendor"; // Todo lo externo va a vendor.js
}
// Si quieres separar tu motor SigPro del resto de la App:
if (id.includes("sigpro.js")) {
return "sigpro-core";
}
},
},
},
// ...createAgGridLib
},
optimizeDeps: {
include: ["ag-grid-community", "ag-grid-enterprise"],
// Esto evita que Vite intente buscar dependencias nuevas en cada cambio
force: false,
},
});