Files

58 lines
1.6 KiB
TypeScript

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [
vue(),
tailwindcss(),
],
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
'@components': resolve(__dirname, 'src/components'),
'@views': resolve(__dirname, 'src/views'),
'@stores': resolve(__dirname, 'src/stores'),
'@composables': resolve(__dirname, 'src/composables'),
'@utils': resolve(__dirname, 'src/utils'),
'@assets': resolve(__dirname, 'src/assets'),
},
},
server: {
port: 3000,
host: true,
proxy: {
'/api': {
target: 'http://127.0.0.1:8090',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''),
},
'/_/': {
target: 'http://127.0.0.1:8090',
changeOrigin: true,
ws: true,
},
},
},
build: {
outDir: '../pb_public',
emptyOutDir: true,
sourcemap: false,
minify: 'esbuild',
rollupOptions: {
output: {
manualChunks: {
'vendor': ['vue', 'vue-router', 'pinia', 'pocketbase'],
'tiptap': ['@tiptap/vue-3', '@tiptap/starter-kit', '@tiptap/extension-image', '@tiptap/extension-video', '@tiptap/extension-audio', '@tiptap/extension-code-block-lowlight'],
'ui': ['@heroicons/vue', 'nprogress'],
'utils': ['date-fns', 'markdown-it'],
},
},
},
},
define: {
__APP_VERSION__: JSON.stringify(process.env.npm_package_version),
__BUILD_TIME__: JSON.stringify(new Date().toISOString()),
},
})