/ vite.config.ts
vite.config.ts
 1  /// <reference types="vitest/config" />
 2  import { defineConfig } from 'vite'
 3  import react from '@vitejs/plugin-react'
 4  import tailwindcss from '@tailwindcss/vite'
 5  
 6  // https://vite.dev/config/
 7  export default defineConfig({
 8    plugins: [react(), tailwindcss()],
 9    build: {
10      rollupOptions: {
11        onwarn(warning, warn) {
12          // Suppress dynamic-import-already-statically-imported warning for msalConfig
13          if (warning.code === 'PLUGIN_WARNING' && warning.message?.includes('dynamically imported by')) return;
14          warn(warning);
15        },
16        output: {
17          manualChunks: {
18            'vendor-react': ['react', 'react-dom', 'react-router-dom'],
19            'vendor-msal': ['@azure/msal-browser', '@azure/msal-react'],
20            'vendor-query': ['@tanstack/react-query'],
21            'vendor-markdown': ['react-markdown'],
22            'vendor-forms': ['react-hook-form', '@hookform/resolvers', 'zod'],
23            'vendor-icons': ['lucide-react'],
24          },
25        },
26      },
27    },
28    test: {
29      environment: 'jsdom',
30      setupFiles: ['./src/test-setup.ts'],
31      include: ['src/**/*.test.{ts,tsx}'],
32    },
33  })