feat: separate umd and lib build

This commit is contained in:
Simon
2025-09-29 17:24:38 +08:00
parent 95c688873e
commit d6e37067cf
6 changed files with 907 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
import react from '@vitejs/plugin-react-swc'
import { dirname, resolve } from 'path'
import dts from 'unplugin-dts/vite'
import { fileURLToPath } from 'url'
import { defineConfig } from 'vite'
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js'
@@ -9,7 +9,10 @@ const __dirname = dirname(__filename)
// Library build configuration
export default defineConfig({
plugins: [react(), cssInjectedByJsPlugin({ relativeCSSInjection: true })],
plugins: [
dts({ tsconfigPath: './tsconfig.lib.json' }),
cssInjectedByJsPlugin({ relativeCSSInjection: true }),
],
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
@@ -22,16 +25,14 @@ export default defineConfig({
},
build: {
lib: {
entry: resolve(__dirname, 'src/entry.ts'),
entry: resolve(__dirname, 'src/PageAgent.ts'),
name: 'PageAgent',
fileName: 'page-agent',
formats: ['umd', 'es'],
formats: ['es'],
},
outDir: resolve(__dirname, 'dist', 'lib'),
rollupOptions: {
// ESM 包 应该 external但是 UMD 时不能 external
// @TODO 分成两份配置
// external: ['@ai-sdk/openai', 'ai', 'ai-motion', 'chalk', 'zod'],
external: ['@ai-sdk/openai', 'ai', 'ai-motion', 'chalk', 'zod'],
output: {
globals: {
// 定义全局变量映射
@@ -39,7 +40,8 @@ export default defineConfig({
},
},
// minify: 'terser',
// sourcemap: true,
minify: false,
sourcemap: true,
},
define: {
// 替换环境变量