Instruction file imported from MoomFE/mixte (
.github/instructions/build.instructions.md). Copyright stays with the author.
构建与发布
构建流程
- 根命令:
pnpm build→ 并行执行各包build(tsx build.ts) - 每个包的
build.ts调用scripts/build-utils.ts的defineBuild([...])声明构建任务 - 产物输出到各包
dist/,格式为.mjs(ESM)/.cjs(CJS)/.d.ts(类型)
defineBuild 配置项
entry:打包入口(一般是./src/<module>/index.ts)outputFileName:输出文件名(用于子路径导出,如grid-table/index)vueComponent: true:Vue 组件包,会先执行vue-tsc --declaration --emitDeclarationOnly(基于tsconfig.build.json)生成类型vueDtsInput:Vue 组件额外 dts 入口(如grid-table/types)copy:拷贝静态资源(如src/grid-table/src/css→dist/grid-table/css)
新增子路径导出需要同步的改动
- 包内
package.json的exports(types / import / require 三份映射) - 包内
build.ts的defineBuild(entry / outputFileName) meta/alias.ts的alias与testAlias- 若涉及
dist内子路径引用,检查vitest.config.ts/ Vitepress config 的 alias
发布
pnpm release:先跑test-release(test-tsc+test-build --run),通过后由bumpp统一升版本- 所有包版本号保持一致;
bumpp通过-r递归更新 - CI:
ci.yml(lint + test-tsc)、coverage.yml、npm-publish.yml负责自动化