Appearance
版本 / 废弃 / 发布
共享库的版本策略和发布纪律,消费方也要了解(影响升级)。
版本策略(0.x 阶段)
- 破坏性变更 = 升 minor(
0.0.x → 0.1.0);修复 / 新增 = 升 patch - ⚠️ npm
^在 0.x 下不会自动升 minor:^0.0.1=>=0.0.1 <0.1.0- 消费方装了
^0.0.1,不会自动收到0.1.0—— 发布 minor 后需手动pnpm add @flowporr/x@^0.1.0显式跟进
- 消费方装了
废弃
- 发布出去的版本一律不
npm unpublish(已装消费方 lockfile integrity 会失配) - 废弃用
npm deprecate <pkg>@<ver> "已废弃,请用 xxx"或发布新版本 - 仅在私有、确认无外部消费时才允许 unpublish
发布流程
统一用仓库里的 scripts/publish.mjs:
bash
# 构建 + 校验 + 按依赖序发布全部
node scripts/publish.mjs
# 只发布指定包
node scripts/publish.mjs ai-server脚本自动做:按依赖拓扑构建 → 校验 dist/types → 检查 workspace:* → 逐包发布 → 打印消费方升级提示。
发布底线(不用脚本时):
pnpm build按拓扑- 校验
dist/types/index.d.ts存在 - 用
pnpm publish(不是npm publish——后者不改写workspace:*,发布会残留字面workspace:*) - 登录用
npm login的_authToken(JWT),禁止手写_auth(Basic Auth 会导致包元数据缺 author,Web UI 发布人显示"匿名") - 发布顺序:
ai-core → x-sender → x-markdown-vue → ai-chat-vue → ai-server
公共 API 稳定性
index.ts是唯一公共出口;内部实现不导出- 新增导出走
export *;删除 / 改名导出 = 破坏性变更 → 升 minor