vite.config.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /// <reference types="vitest" />
  2. import path from 'node:path'
  3. import { defineConfig } from 'vite'
  4. import Vue from '@vitejs/plugin-vue'
  5. import WindiCss from 'vite-plugin-windicss'
  6. import Pages from 'vite-plugin-pages'
  7. import Components from 'unplugin-vue-components/vite'
  8. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  9. import AutoImport from 'unplugin-auto-import/vite'
  10. import VueMacros from 'unplugin-vue-macros/vite'
  11. export default defineConfig({
  12. resolve: {
  13. alias: {
  14. '~/': `${path.resolve(__dirname, 'src')}/`,
  15. },
  16. },
  17. plugins: [
  18. VueMacros({
  19. plugins: {
  20. vue: Vue({
  21. reactivityTransform: true,
  22. }),
  23. },
  24. }),
  25. WindiCss(),
  26. // https://github.com/hannoeru/vite-plugin-pages
  27. Pages(),
  28. // https://github.com/antfu/unplugin-auto-import
  29. AutoImport({
  30. imports: [
  31. 'vue',
  32. 'vue/macros',
  33. 'vue-router',
  34. '@vueuse/core',
  35. ],
  36. dts: true,
  37. dirs: [
  38. './src/composables',
  39. ],
  40. vueTemplate: true,
  41. resolvers: [ElementPlusResolver()],
  42. }),
  43. // https://github.com/antfu/vite-plugin-components
  44. Components({
  45. dts: true,
  46. resolvers: [ElementPlusResolver()],
  47. }),
  48. // https://github.com/antfu/unocss
  49. // see unocss.config.ts for config
  50. ],
  51. // https://github.com/vitest-dev/vitest
  52. test: {
  53. environment: 'jsdom',
  54. },
  55. })