import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import alias from '@rollup/plugin-alias' import { resolve } from 'path' import eslint from 'vite-plugin-eslint' import svgLoader from 'vite-svg-loader' const projectRootDir = resolve(__dirname) // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), alias({ entries: [ { find: '@', replacement: resolve(projectRootDir, 'src'), }, ], }), svgLoader({ svgoConfig: { plugins: [ { name: 'preset-default', params: { overrides: { removeViewBox: false, }, }, }, ], }, }), eslint(), ], // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` // prevent vite from obscuring rust errors clearScreen: false, // tauri expects a fixed port, fail if that port is not available server: { port: 1420, strictPort: true, }, // to make use of `TAURI_DEBUG` and other env variables // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand envPrefix: ['VITE_', 'TAURI_'], build: { // Tauri supports es2021 target: process.env.TAURI_PLATFORM == 'windows' ? 'chrome105' : 'safari13', // don't minify for debug builds minify: !process.env.TAURI_DEBUG ? 'esbuild' : false, // produce sourcemaps for debug builds sourcemap: !!process.env.TAURI_DEBUG, commonjsOptions: { esmExternals: true, }, }, })