vite.config.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /// <reference types="vitest" />
  2. import path from 'node:path'
  3. import { defineConfig } from 'vite'
  4. import Vue from '@vitejs/plugin-vue'
  5. import Components from 'unplugin-vue-components/vite'
  6. import AutoImport from 'unplugin-auto-import/vite'
  7. import UnoCSS from 'unocss/vite'
  8. import VueMacros from 'unplugin-vue-macros/vite'
  9. import VueRouter from 'unplugin-vue-router/vite'
  10. import { VueRouterAutoImports } from 'unplugin-vue-router'
  11. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  12. export default defineConfig({
  13. resolve: {
  14. alias: {
  15. '~/': `${path.resolve(__dirname, 'src')}/`,
  16. },
  17. },
  18. plugins: [
  19. VueMacros({
  20. defineOptions: false,
  21. defineModels: false,
  22. plugins: {
  23. vue: Vue({
  24. script: {
  25. propsDestructure: true,
  26. defineModel: true,
  27. },
  28. }),
  29. },
  30. }),
  31. // https://github.com/posva/unplugin-vue-router
  32. VueRouter(),
  33. // https://github.com/antfu/unplugin-auto-import
  34. AutoImport({
  35. imports: [
  36. 'vue',
  37. '@vueuse/core',
  38. VueRouterAutoImports,
  39. {
  40. // add any other imports you were relying on
  41. 'vue-router/auto': ['useLink'],
  42. },
  43. ],
  44. dts: true,
  45. dirs: [
  46. './src/composables',
  47. ],
  48. vueTemplate: true,
  49. resolvers: [ElementPlusResolver()],
  50. }),
  51. // https://github.com/antfu/vite-plugin-components
  52. Components({
  53. dts: true,
  54. resolvers: [ElementPlusResolver()],
  55. }),
  56. // https://github.com/antfu/unocss
  57. // see uno.config.ts for config
  58. UnoCSS(),
  59. ],
  60. // https://github.com/vitest-dev/vitest
  61. test: {
  62. environment: 'jsdom',
  63. },
  64. })