61 lines
1.3 KiB
TypeScript
61 lines
1.3 KiB
TypeScript
import { fileURLToPath, URL } from 'node:url'
|
|
|
|
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import vueDevTools from 'vite-plugin-vue-devtools'
|
|
import ui from '@nuxt/ui/vite'
|
|
import { renewUi } from './src/theme/ui.config'
|
|
import { lucideSubset } from './vite/lucideSubset'
|
|
|
|
export default defineConfig({
|
|
build: {
|
|
outDir: '../internal/infrastructure/assets/dist/',
|
|
emptyOutDir: true,
|
|
},
|
|
server: {
|
|
proxy: {
|
|
'/v1': 'http://localhost:8080',
|
|
'/healthz': 'http://localhost:8080',
|
|
'/static': 'http://localhost:8080',
|
|
},
|
|
},
|
|
plugins: [
|
|
vue(),
|
|
vueDevTools(),
|
|
lucideSubset([
|
|
fileURLToPath(new URL('./src', import.meta.url)),
|
|
fileURLToPath(new URL('./node_modules/@nuxt/ui/dist', import.meta.url)),
|
|
]),
|
|
ui({
|
|
ui: renewUi,
|
|
colorMode: true,
|
|
theme: {
|
|
colors: ['primary', 'secondary', 'success', 'info', 'warning', 'error'],
|
|
},
|
|
}),
|
|
],
|
|
optimizeDeps: {
|
|
include: [
|
|
'@tiptap/core',
|
|
'@tiptap/pm/state',
|
|
'@tiptap/pm/view',
|
|
'@tiptap/pm/model',
|
|
'@tiptap/vue-3',
|
|
'@tiptap/starter-kit',
|
|
],
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
|
},
|
|
dedupe: [
|
|
'@tiptap/core',
|
|
'@tiptap/pm',
|
|
'prosemirror-state',
|
|
'prosemirror-view',
|
|
'prosemirror-model',
|
|
'prosemirror-transform',
|
|
],
|
|
},
|
|
})
|