Files
linshen 37d6fa564c build(deps): prune redundant deps and fix ui type outputs
- remove redundant direct dependencies that are no longer used
- restore UI library type build outputs after the dependency cleanup
- keep Tailwind/PostCSS-related package config aligned with actual usage
2026-03-27 21:26:43 +08:00

47 lines
1.3 KiB
TypeScript

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import path from 'path'
export default defineConfig({
// Monorepo: load VITE_* from repo root .env(.local) so optional integrations
// can be enabled for the built UI bundle used by the web dev server.
envDir: resolve(__dirname, '../..'),
plugins: [vue()],
resolve: {
alias: {
'@ui': path.resolve(__dirname, '../ui')
}
},
build: {
lib: {
entry: resolve(__dirname, 'src/index.ts'),
name: 'PromptOptimizerUI',
fileName: (format) => `index.${format === 'es' ? 'js' : 'cjs'}`,
formats: ['es', 'cjs']
},
watch: process.env.NODE_ENV === 'development' ? {
// 更精确的监听配置
include: ['src/**/*'],
buildDelay: 100
} : null,
sourcemap: true,
rollupOptions: {
external: ['vue', 'vue-router', '@prompt-optimizer/core', 'uuid'],
output: {
globals: {
vue: 'Vue',
'vue-router': 'VueRouter',
'@prompt-optimizer/core': 'PromptOptimizerCore',
'uuid': 'uuid'
},
assetFileNames: 'style.css'
}
},
cssCodeSplit: false,
// UI types are emitted in a separate build step after Vite finishes.
emptyOutDir: true
},
assetsInclude: ['**/*.jpg', '**/*.jpeg', '**/*.png', '**/*.svg']
})