12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /// <reference types="vitest" />
- import path from 'node:path'
- import { defineConfig } from 'vite'
- import Vue from '@vitejs/plugin-vue'
- import Pages from 'vite-plugin-pages'
- import Components from 'unplugin-vue-components/vite'
- import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
- import AutoImport from 'unplugin-auto-import/vite'
- import WindiCSS from 'vite-plugin-windicss'
- import VueMacros from 'unplugin-vue-macros/vite'
- import topLevelAwait from 'vite-plugin-top-level-await'
- export default defineConfig({
- resolve: {
- alias: {
- '~/': `${path.resolve(__dirname, 'src')}/`,
- },
- },
- css: {
- preprocessorOptions: {
- scss: {
- additionalData: '@use "~/styles/element/index.scss" as *;',
- },
- },
- },
- plugins: [
- topLevelAwait({
- // The export name of top-level await promise for each chunk module
- promiseExportName: '__tla',
- // The function to generate import names of top-level await promise in each chunk module
- promiseImportName: i => `__tla_${i}`,
- }),
- VueMacros({
- plugins: {
- vue: Vue({
- reactivityTransform: true,
- }),
- },
- }),
- // https://github.com/hannoeru/vite-plugin-pages
- Pages(),
- // https://github.com/antfu/unplugin-auto-import
- AutoImport({
- imports: [
- 'vue',
- 'vue/macros',
- 'vue-router',
- '@vueuse/core',
- ],
- dts: true,
- dirs: [
- './src/composables',
- './src/utils',
- ],
- vueTemplate: true,
- resolvers: [
- ElementPlusResolver(),
- ],
- }),
- // https://github.com/antfu/vite-plugin-components
- Components({
- // dts: true,
- // resolvers: [
- // ElementPlusResolver(),
- // ],
- // dts: 'src/components.d.ts',
- dirs: ['src/components/'],
- // allow auto load markdown components under `./src/components/`
- extensions: ['vue', 'md'],
- // allow auto import and register components used in markdown
- include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
- resolvers: [ElementPlusResolver({ importStyle: 'sass' })],
- }),
- WindiCSS(),
- ],
- // https://github.com/vitest-dev/vitest
- test: {
- environment: 'jsdom',
- },
- build: {
- minify: 'terser',
- terserOptions: {
- compress: {
- drop_console: true,
- drop_debugger: true,
- },
- },
- },
- })
|