import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { fileURLToPath, URL } from "node:url";
import copy from 'rollup-plugin-copy'
import { resolve } from 'path'

// https://vite.dev/config/
export default defineConfig({
    base: './',
    plugins: [
        vue()
    ],
    resolve: {
        alias: {
            "@": fileURLToPath(new URL("./src", import.meta.url)),
        },
    },
    pluginOptions: {
        'style-resources-loader': {
            preProcessor: 'scss',
            patterns: []
        }
    },
    define: {
        'process.env': {}
    },
    // 完全禁用默认的 public 目录处理
    publicDir: false,
    build: {
        // 清空输出目录时保留自定义拷贝的文件
        emptyOutDir: true,

        rollupOptions: {
            plugins: [
                copy({
                    targets: [
                        {
                            src: 'public/**/*',  // 复制整个 public 目录
                            dest: 'dist/public'  // 输出到 dist/public
                        }
                    ],
                    hook: 'writeBundle',     // 在构建完成后执行
                    copyOnce: true          // 仅拷贝一次
                })
            ]
        }
    },
})
