import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import AutoImport from "unplugin-auto-import/vite"; import Components from "unplugin-vue-components/vite"; import { NaiveUiResolver } from "unplugin-vue-components/resolvers"; // @ts-expect-error type error without @types/node package import process from "node:process"; const host = process.env.TAURI_DEV_HOST; // https://vite.dev/config/ export default defineConfig(() => ({ plugins: [ vue(), AutoImport({ imports: ["vue"], dts: "src/auto-imports.d.ts", }), Components({ resolvers: [NaiveUiResolver()], dts: "src/components.d.ts", }), ], build: { outDir: "../dist/ui", emptyOutDir: true, }, // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` // // 1. prevent Vite from obscuring rust errors clearScreen: false, // 2. tauri expects a fixed port, fail if that port is not available server: { port: 8799, strictPort: true, host: host || false, hmr: host ? { protocol: "ws", host, port: 8800, } : undefined, watch: { // 3. tell Vite to ignore watching `src-tauri` ignored: ["**/src-tauri/**"], }, }, }));