This commit is contained in:
oneao committed 2026-10-08 22:38:34 +08:00
1 parent f572dce2f6
commit e99a9fb274
356 files changed
+28877 -1055

No files matched your search

@@ -0,0 +1,40 @@
import { fileURLToPath } from 'node:url'
import vue from '@vitejs/plugin-vue'
import { defineConfig } from 'vite'
import dts from 'vite-plugin-dts'
/**
* @g3soft/framework 构建:产出 ESM + 类型声明。
*
* 关键点(与 @g3soft/ui 一致、刻意保持轻量):
* - vue 外置:绝不打包 Vue,避免消费方双实例
* - @g3soft/ui 外置:framework 建立在组件库之上,由消费方按正常依赖解析,避免重复打包
* - preserveModules 保留 src 结构,消费方可 tree-shaking
* - vite-plugin-dts 的 rollupTypes 产出单文件 dist/index.d.ts,配合 exports.types
*/
export default defineConfig({
plugins: [
vue(),
// 每个源文件产出对应 .d.ts,src/index.ts → dist/index.d.ts(桶文件,re-export ./core/...)。
// 不做类型打包(bundleTypes 需额外装 @microsoft/api-extractor,与 @g3soft/ui 保持一致地省略)。
dts({
include: ['src'],
}),
],
build: {
lib: {
entry: fileURLToPath(new URL('./src/index.ts', import.meta.url)),
formats: ['es'],
fileName: () => 'index.js',
},
rollupOptions: {
external: ['vue', '@g3soft/ui'],
output: {
preserveModules: true,
preserveModulesRoot: 'src',
entryFileNames: '[name].js',
assetFileNames: 'style.css',
},
},
},
})