You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

78 lines
2.1 KiB

import { defineConfig } from 'vite'
import { resolve } from 'node:path'
import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import AutoImport from 'unplugin-auto-import/vite'
import devtoolsJson from 'vite-plugin-devtools-json';
import VueRouter from 'unplugin-vue-router/vite'
import Layouts from 'vite-plugin-vue-layouts';
import { VueRouterAutoImports } from 'unplugin-vue-router'
import { unheadVueComposablesImports } from '@unhead/vue'
import { AntDesignXVueResolver } from 'ant-design-x-vue/resolver';
import {
MazComponentsResolver,
MazDirectivesResolver,
MazModulesResolver
} from 'maz-ui/resolvers'
import { MazIconsResolver } from '@maz-ui/icons/resolvers'
// https://vite.dev/config/
export default defineConfig({
cacheDir: '../../node_modules/.vite',
resolve: {
alias: {
'@': resolve(__dirname, 'src')
},
},
build: {
emptyOutDir: true,
},
// https://github.com/posva/unplugin-vue-router/discussions/349#discussioncomment-9043123
ssr: {
noExternal: process.env.NODE_ENV === 'development' ? ['vue-router'] : []
},
css: {
preprocessorOptions: {
"scss": {
additionalData: `@use "@/assets/styles/scss/_global.scss" as *;\n`
}
}
},
plugins: [
devtoolsJson(),
VueRouter({
root: resolve(__dirname),
dts: 'src/typed-router.d.ts',
}),
vue(),
Layouts({
defaultLayout: "base"
}),
Components({
dts: true,
dirs: ['src/components', '../../internal/x/components'],
excludeNames: [/^\_.+/],
resolvers: [
AntDesignXVueResolver(),
MazIconsResolver(),
MazComponentsResolver(),
MazDirectivesResolver(),
],
}),
AutoImport({
dts: true,
dtsMode: "overwrite",
resolvers: [MazModulesResolver()],
ignore: ["**/_*/**/*"],
imports: ['vue', 'vue-router', 'pinia', VueRouterAutoImports, unheadVueComposablesImports,
{
'ofetch': [
['$fetch']
]
}
],
dirs: ['./src/composables/**/*', '../../internal/x/composables/**', "./src/store/**/*"],
vueTemplate: true,
}),
],
})