import path from 'node:path' import { defineConfig } from 'vite' import tailwindcss from '@tailwindcss/vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' // https://vite.dev/config/ export default defineConfig({ plugins: [ vue(), tailwindcss(), AutoImport({ imports: [ { 'vue-router': ['useRoute', 'useRouter'], }, { 'vue-i18n': ['useI18n'], }, ], dts: 'src/auto-imports.d.ts', vueTemplate: true, eslintrc: { enabled: true, filepath: './.eslintrc-auto-import.json', }, }), Components({ dts: 'src/components.d.ts', dirs: ['src/components'], extensions: ['vue'], deep: true, directoryAsNamespace: false, }), ], resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, server: { port: 5173, strictPort: true, host: '0.0.0.0', hmr: { protocol: 'ws', host: 'localhost', port: 5183, }, }, // Prevent vite from obscuring rust errors clearScreen: false, // Env variables starting with the item of `envPrefix` will be exposed in tauri's source code through `import.meta.env` envPrefix: ['VITE_', 'TAURI_'], build: { // Tauri uses Chromium on Windows and WebKit on macOS and Linux target: process.env.TAURI_ENV_PLATFORM == 'windows' ? 'chrome105' : 'safari13', minify: !process.env.TAURI_ENV_DEBUG ? 'esbuild' : false, // Produce sourcemaps for debug builds sourcemap: !!process.env.TAURI_ENV_DEBUG, }, })