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

export default defineConfig({
  plugins: [react()],
  build: {
    outDir: 'assets',
    emptyOutDir: false,         // don't delete widget.js / overlay.js on admin rebuild
    rollupOptions: {
      input: { main: 'src/main.tsx' },
      // Use the single React instance WordPress already loads.
      // Prevents the "two React copies" crash that breaks hooks and React Query context.
      external: ['react', 'react-dom'],
      output: {
        entryFileNames: '[name].js',
        assetFileNames: '[name][extname]',
        // IIFE so the script runs as a plain <script> (no type="module" needed).
        format:  'iife',
        name:    'AccessMate', // global variable name for the IIFE bundle
        globals: {
          'react':     'React',
          'react-dom': 'ReactDOM',
        },
      },
    },
  },
});
