Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
87 lines
2.3 KiB
TypeScript
87 lines
2.3 KiB
TypeScript
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react-swc';
|
|
import path from 'path';
|
|
import { visualizer } from 'rollup-plugin-visualizer';
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
react(),
|
|
visualizer({
|
|
open: false,
|
|
filename: 'dist/stats.html',
|
|
gzipSize: true,
|
|
brotliSize: true,
|
|
}),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
'@shared': path.resolve(__dirname, './src/shared'),
|
|
'@components': path.resolve(__dirname, './src/shared/components'),
|
|
'@hooks': path.resolve(__dirname, './src/shared/hooks'),
|
|
'@utils': path.resolve(__dirname, './src/shared/utils'),
|
|
'@types': path.resolve(__dirname, './src/shared/types'),
|
|
'@services': path.resolve(__dirname, './src/services'),
|
|
'@app': path.resolve(__dirname, './src/app'),
|
|
'@apps': path.resolve(__dirname, './src/apps'),
|
|
'@features': path.resolve(__dirname, './src/features'),
|
|
'@pages': path.resolve(__dirname, './src/pages'),
|
|
},
|
|
},
|
|
server: {
|
|
port: 3005,
|
|
host: true,
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:3006',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
build: {
|
|
outDir: 'dist',
|
|
sourcemap: true,
|
|
chunkSizeWarningLimit: 500,
|
|
rollupOptions: {
|
|
output: {
|
|
// Cache busting: Add content hash to all chunks and assets
|
|
entryFileNames: 'assets/[name]-[hash].js',
|
|
chunkFileNames: 'assets/[name]-[hash].js',
|
|
assetFileNames: 'assets/[name]-[hash].[ext]',
|
|
manualChunks: {
|
|
// Core React libraries
|
|
'vendor-react': [
|
|
'react',
|
|
'react-dom',
|
|
'react-router-dom',
|
|
],
|
|
// State management & forms
|
|
'vendor-state': [
|
|
'zustand',
|
|
'react-hook-form',
|
|
'@hookform/resolvers',
|
|
'zod',
|
|
],
|
|
// Charts & data visualization
|
|
'vendor-charts': [
|
|
'recharts',
|
|
'chart.js',
|
|
'react-chartjs-2',
|
|
],
|
|
// UI & animations
|
|
'vendor-ui': [
|
|
'framer-motion',
|
|
'lucide-react',
|
|
'react-confetti',
|
|
],
|
|
// Network & API
|
|
'vendor-network': [
|
|
'axios',
|
|
'socket.io-client',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|