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

// https://vite.dev/config/
export default defineConfig({
  cacheDir: './.vite',
  plugins: [react()],
  resolve: {
    // 🔧 KORRIGIERT: Entferne die problematischen Aliases komplett
    // Diese verursachen das "not an absolute path" Problem
    // alias: {
    //   '@syncfusion/ej2-react-navigations': '@syncfusion/ej2-react-navigations/index.js',
    //   '@syncfusion/ej2-react-buttons': '@syncfusion/ej2-react-buttons/index.js',
    // },
  },
  optimizeDeps: {
    // 🔧 NEU: Force pre-bundling der Syncfusion Module
    include: [
      '@syncfusion/ej2-react-navigations',
      '@syncfusion/ej2-react-buttons',
      '@syncfusion/ej2-react-splitbuttons',
      '@syncfusion/ej2-react-grids',
      '@syncfusion/ej2-react-schedule',
      '@syncfusion/ej2-react-filemanager',
      '@syncfusion/ej2-base',
      '@syncfusion/ej2-navigations',
      '@syncfusion/ej2-buttons',
      '@syncfusion/ej2-splitbuttons',
      '@syncfusion/ej2-react-base',
    ],
    // 🔧 NEU: Force dependency re-optimization
    force: true,
    esbuildOptions: {
      target: 'es2020',
    },
  },
  build: {
    target: 'es2020',
    commonjsOptions: {
      include: [/node_modules/],
      transformMixedEsModules: true,
    },
  },
  server: {
    host: '0.0.0.0',
    port: 5173,
    watch: {
      usePolling: true,
    },
    fs: {
      strict: false,
    },
    proxy: {
      '/api': 'http://server:8000',
      '/screenshots': 'http://server:8000',
    },
  },
});
