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()), }, })