Add a file tree UI and corresponding composable for local file management. Introduce TTS menu and player components for voice synthesis integration. Add new EditorView and DocsView routes and update SettingsPanel view switching. Enhance Mermaid plugin with improved styling and action buttons.
60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
|
|
export default defineConfig({
|
|
plugins: [vue()],
|
|
server: {
|
|
host: true,
|
|
port: 5173,
|
|
proxy: {
|
|
'/v1': {
|
|
target: 'https://api.imageteach.tech:8002',
|
|
changeOrigin: true
|
|
}
|
|
}
|
|
},
|
|
build: {
|
|
rollupOptions: {
|
|
output: {
|
|
manualChunks(id) {
|
|
if (!id.includes('node_modules')) return
|
|
|
|
const modulePath = id.split('node_modules/')[1]
|
|
const segments = modulePath.split('/')
|
|
const packageName = segments[0].startsWith('@')
|
|
? `${segments[0]}/${segments[1]}`
|
|
: segments[0]
|
|
|
|
if (packageName.startsWith('@milkdown')) return 'milkdown'
|
|
if (packageName.startsWith('prosemirror')) return 'prosemirror'
|
|
|
|
if (packageName.startsWith('@codemirror')) {
|
|
const langMatch = modulePath.match(/@codemirror\/lang-([^/]+)/)
|
|
if (langMatch) return `cm-lang-${langMatch[1]}`
|
|
return `cm-${segments[1]}`
|
|
}
|
|
|
|
if (packageName === 'refractor') {
|
|
const langMatch = modulePath.match(/refractor\/lang\/([^./]+)/)
|
|
if (langMatch) return `refractor-lang-${langMatch[1]}`
|
|
return 'refractor-core'
|
|
}
|
|
|
|
if (packageName.startsWith('katex')) return 'katex'
|
|
if (packageName.startsWith('markdown-it')) return 'markdown'
|
|
if (packageName === 'vue' || packageName.startsWith('@vue')) return 'vue'
|
|
|
|
return `vendor-${packageName.replace('@', '').replace('/', '-')}`
|
|
}
|
|
}
|
|
}
|
|
},
|
|
optimizeDeps: {
|
|
include: [
|
|
'@milkdown/crepe',
|
|
'@milkdown/vue',
|
|
'@milkdown/kit'
|
|
]
|
|
}
|
|
})
|