vite.config.ts 794 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { resolve } from 'path'
  2. import { sveltekit } from '@sveltejs/kit/vite'
  3. import wasm from 'vite-plugin-wasm'
  4. import topLevelAwait from 'vite-plugin-top-level-await'
  5. import { viteStaticCopy } from 'vite-plugin-static-copy'
  6. import type { UserConfig } from 'vite'
  7. const TARGET = process.env.TARGET
  8. const plugins = [sveltekit()]
  9. if (TARGET === 'web') {
  10. plugins.push(wasm())
  11. plugins.push(topLevelAwait())
  12. plugins.push(
  13. viteStaticCopy({
  14. targets: [
  15. {
  16. src: 'core/wasm/pkg/wasm_bg.wasm',
  17. dest: 'wasm'
  18. }
  19. ]
  20. })
  21. )
  22. }
  23. const config: UserConfig = {
  24. plugins,
  25. resolve: {
  26. alias: {
  27. $api:
  28. TARGET === 'tauri'
  29. ? resolve('./src/api/desktop')
  30. : resolve('./src/api/web')
  31. }
  32. }
  33. }
  34. export default config