import path from 'path' import { defineConfig } from 'vite' import Vue from '@vitejs/plugin-vue' import Pages from 'vite-plugin-pages' import ViteIcons, { ViteIconsResolver } from 'vite-plugin-icons' import ViteComponents from 'vite-plugin-components' import WindiCSS from 'vite-plugin-windicss' export default defineConfig({ resolve: { alias: { '~/': `${path.resolve(__dirname, 'src')}/`, }, }, plugins: [ Vue(), // https://github.com/hannoeru/vite-plugin-pages Pages(), // https://github.com/antfu/vite-plugin-components ViteComponents({ // generate `components.d.ts` for ts support with Volar globalComponentsDeclaration: true, // auto import icons customComponentResolvers: [ // https://github.com/antfu/vite-plugin-icons ViteIconsResolver({ componentPrefix: '', // enabledCollections: ['carbon'] }), ], }), // https://github.com/antfu/vite-plugin-icons ViteIcons(), // https://github.com/antfu/vite-plugin-windicss WindiCSS(), ], server: { fs: { strict: true, }, }, optimizeDeps: { include: [ 'vue', 'vue-router', '@vueuse/core', ], exclude: [ 'vue-demi', ], }, })