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.
81 lines
2.2 KiB
81 lines
2.2 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')
|
|
},
|
|
},
|
|
define: {
|
|
"process.env.AI_APIKEY": `"${process.env.AI_APIKEY}"`,
|
|
},
|
|
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,
|
|
}),
|
|
],
|
|
})
|
|
|