Files
prime-dash-template/vite.config.ts
effendy-dev 5ac477a3c0 first commit
2025-01-21 08:18:07 +07:00

66 lines
1.4 KiB
TypeScript

// Plugins
import { URL, fileURLToPath } from 'node:url'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import VueDevTools from 'vite-plugin-vue-devtools'
import vuetify from 'vite-plugin-vuetify'
// Utilities
import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
VueDevTools(),
vue({
template: {
compilerOptions: {
isCustomElement: tag => tag === 'swiper-container' || tag === 'swiper-slide',
},
},
}),
// https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vite-plugin
vuetify({
// autoImport: true,
styles: {
configFile: 'src/styles/vuetify/_variables.scss',
},
}),
AutoImport({
imports: ['vue', 'vue-router'],
vueTemplate: true,
}),
],
define: { 'process.env': {} },
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
'@appConfig': fileURLToPath(new URL('./appConfig.ts', import.meta.url)),
'@axios': fileURLToPath(new URL('./src/plugins/axios.ts', import.meta.url)),
},
extensions: [
'.js',
'.json',
'.jsx',
'.mjs',
'.ts',
'.tsx',
'.vue',
],
},
server: {
port: 5173,
},
build: {
chunkSizeWarningLimit: 5000,
},
optimizeDeps: {
exclude: ['vuetify'],
entries: [
'./src/**/*.vue',
],
},
})