import { defineConfig } from 'vite';
import { resolve } from 'path';

// مسیر ریشه پلاگین (یک سطح بالاتر از vite-src)
const pluginRoot = resolve(__dirname, '..');

export default defineConfig({
  resolve: {
    alias: [
      // مسیرهای مطلق /wp-content/plugins/acc-engine/... را به فایل‌سیستم واقعی map کن
      {
        find: /^\/wp-content\/plugins\/acc-engine\//,
        replacement: pluginRoot + '/',
      },
    ]
  },
  build: {
    outDir: resolve(__dirname, '../assets/dist'),
    emptyOutDir: true,
    minify: 'esbuild',
    rollupOptions: {
      input: resolve(__dirname, '../assets/js/bootstrap.js'),
      // leaflet جداگانه لود می‌شود (روی map page)
      // tabulator را bundle می‌کنیم چون global ندارد
      external: [
        /leaflet/,
      ],
      output: {
        entryFileNames: 'acc-app.js',
        chunkFileNames: 'acc-chunk-[hash].js',
        assetFileNames: (info) => {
          if (info.name?.endsWith('.css')) return 'acc-app.css';
          return '[name][extname]';
        },
        format: 'iife',
        name: 'AccApp',
      }
    }
  },
});
