74 lines
1.7 KiB
TypeScript
74 lines
1.7 KiB
TypeScript
/// <reference types="vitest" />
|
|
|
|
import path from '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 AutoImport from 'unplugin-auto-import/vite'
|
|
import { presetAttributify, presetIcons, presetUno } from 'unocss'
|
|
import Unocss from 'unocss/vite'
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
alias: {
|
|
'~/': `${path.resolve(__dirname, 'src')}/`,
|
|
},
|
|
},
|
|
plugins: [
|
|
Vue(),
|
|
|
|
// https://github.com/hannoeru/vite-plugin-pages
|
|
Pages(),
|
|
|
|
// https://github.com/antfu/unplugin-auto-import
|
|
AutoImport({
|
|
imports: [
|
|
'vue',
|
|
'vue-router',
|
|
'@vueuse/core',
|
|
'vitest',
|
|
],
|
|
dts: true,
|
|
}),
|
|
|
|
// https://github.com/antfu/vite-plugin-components
|
|
Components({
|
|
dts: true,
|
|
}),
|
|
|
|
// https://github.com/antfu/unocss
|
|
Unocss({
|
|
shortcuts: [
|
|
['btn', 'px-4 py-1 rounded inline-block bg-teal-600 text-white cursor-pointer hover:bg-teal-700 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
|
|
['icon-btn', 'text-[0.9em] inline-block cursor-pointer select-none opacity-75 transition duration-200 ease-in-out hover:opacity-100 hover:text-teal-600'],
|
|
],
|
|
presets: [
|
|
presetUno(),
|
|
presetAttributify(),
|
|
presetIcons({
|
|
scale: 1.2,
|
|
}),
|
|
],
|
|
}),
|
|
],
|
|
|
|
optimizeDeps: {
|
|
include: [
|
|
'vue',
|
|
'vue-router',
|
|
'@vueuse/core',
|
|
],
|
|
exclude: [
|
|
'vue-demi',
|
|
],
|
|
},
|
|
|
|
test: {
|
|
environment: 'jsdom',
|
|
deps: {
|
|
inline: ['@vue', '@vueuse', 'vue-demi'],
|
|
},
|
|
},
|
|
})
|