import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' import { fileURLToPath } from 'url' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ArcoResolver } from 'unplugin-vue-components/resolvers' export default defineConfig({ plugins: [ vue(), AutoImport({ imports: ['vue'], dts: 'src/auto-imports.d.ts', }), Components({ resolvers: [ArcoResolver({ sideEffect: true })], dts: 'src/components.d.ts', }) ], resolve: { alias: { '@': resolve(__dirname, 'src'), '@bindings': resolve(__dirname, 'bindings'), '@wailsio/events': fileURLToPath(new URL('./node_modules/@wailsio/runtime/dist/events.js', import.meta.url)) } }, build: { outDir: 'dist', emptyOutDir: true, sourcemap: false, minify: 'esbuild', cssCodeSplit: true, chunkSizeWarningLimit: 1000, target: 'es2020', rollupOptions: { output: { chunkFileNames: 'assets/js/[name]-[hash].js', entryFileNames: 'assets/js/[name]-[hash].js', assetFileNames: 'assets/[ext]/[name]-[hash].[ext]' } } }, optimizeDeps: { include: ['vue', 'pinia', '@arco-design/web-vue', 'marked', 'highlight.js'] } })