import vue from '@vitejs/plugin-vue'

import createAutoImport from './auto-import'
import createSvgIcon from './svg-icon'
import createCompression from './compression'
import createSetupExtend from './setup-extend'

import monacoPluginModule from 'vite-plugin-monaco-editor'

// 2. 提取真正的插件函数（核心修正）
const monacoEditorPlugin = monacoPluginModule.default || monacoPluginModule
export default function createVitePlugins(viteEnv, isBuild = false) {
    const vitePlugins = [
        vue(),
        // 配置 Monaco 插件
        monacoEditorPlugin({
            // 按需引入语言（减小打包体积），默认全部引入
            languages: ['javascript', 'html', 'css', 'json', 'python', 'java']
        })
    ]
    vitePlugins.push(createAutoImport())
	vitePlugins.push(createSetupExtend())
    vitePlugins.push(createSvgIcon(isBuild))
	isBuild && vitePlugins.push(...createCompression(viteEnv))
    return vitePlugins
}
