import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  optimizeDeps: {
    exclude: ['lucide-react'],
  },
  build: {
    // 确保生成带哈希的文件名（默认已启用）
    rollupOptions: {
      output: {
        // 确保文件名包含哈希，便于缓存管理
        entryFileNames: 'assets/[name]-[hash].js',
        chunkFileNames: 'assets/[name]-[hash].js',
        assetFileNames: 'assets/[name]-[hash].[ext]',
        manualChunks: {
          // React 核心
          'vendor-react': ['react', 'react-dom'],
          // Markdown 相关
          'vendor-markdown': ['react-markdown', 'remark-math', 'rehype-katex'],
          // KaTeX 单独分离（体积最大）
          'vendor-katex': ['katex'],
          // Supabase
          'vendor-supabase': ['@supabase/supabase-js'],
        },
      },
    },
  },
});
