vite.config.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { defineConfig } from 'vite';
  2. import react from '@vitejs/plugin-react';
  3. import svgr from 'vite-plugin-svgr';
  4. // https://vitejs.dev/config/
  5. export default defineConfig({
  6. plugins: [
  7. react(),
  8. svgr({
  9. svgrOptions: {
  10. prettier: false,
  11. plugins: ['@svgr/plugin-svgo', '@svgr/plugin-jsx'],
  12. icon: true,
  13. svgoConfig: {
  14. multipass: true,
  15. plugins: [
  16. {
  17. name: 'preset-default',
  18. params: {
  19. overrides: {
  20. removeViewBox: false,
  21. }
  22. },
  23. },
  24. ],
  25. },
  26. svgProps: {
  27. role: 'img',
  28. },
  29. replaceAttrValues: {
  30. '#333': 'currentColor',
  31. },
  32. },
  33. }),
  34. ],
  35. publicDir: '../appflowy_flutter/assets',
  36. // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build`
  37. // prevent vite from obscuring rust errors
  38. clearScreen: false,
  39. // tauri expects a fixed port, fail if that port is not available
  40. server: {
  41. port: 1420,
  42. strictPort: true,
  43. },
  44. // to make use of `TAURI_DEBUG` and other env variables
  45. // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand
  46. envPrefix: ['VITE_', 'TAURI_'],
  47. build: {
  48. // Tauri supports es2021
  49. target: process.env.TAURI_PLATFORM === 'windows' ? 'chrome105' : 'safari13',
  50. // don't minify for debug builds
  51. minify: !process.env.TAURI_DEBUG ? 'esbuild' : false,
  52. // produce sourcemaps for debug builds
  53. sourcemap: !!process.env.TAURI_DEBUG,
  54. },
  55. resolve: {
  56. alias: [
  57. { find: '@/', replacement: `${__dirname}/src/` },
  58. { find: '$app/', replacement: `${__dirname}/src/appflowy_app/` },
  59. { find: '$app_reducers/', replacement: `${__dirname}/src/appflowy_app/stores/reducers/` },
  60. ],
  61. },
  62. });