import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import svgr from 'vite-plugin-svgr'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [ react(), svgr({ svgrOptions: { prettier: false, plugins: ['@svgr/plugin-svgo', '@svgr/plugin-jsx'], icon: true, svgoConfig: { multipass: true, plugins: [ { name: 'preset-default', params: { overrides: { removeViewBox: false, }, }, }, ], }, svgProps: { role: 'img', }, replaceAttrValues: { '#333': 'currentColor', }, }, }), ], publicDir: '../appflowy_flutter/assets', // 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, watch: { ignored: ['**/__tests__/**'], }, }, // 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, }, resolve: { alias: [ { find: 'src/', replacement: `${__dirname}/src/` }, { find: '@/', replacement: `${__dirname}/src/` }, { find: '$app/', replacement: `${__dirname}/src/appflowy_app/` }, { find: '$app_reducers/', replacement: `${__dirname}/src/appflowy_app/stores/reducers/` }, ], }, optimizeDeps: { include: ['@mui/material/Tooltip'], }, });