当项目开始走向 Monorepo,一个仓库里同时维护多个包时,很快就会遇到一个现实问题:
代码能一起写了,那版本号、CHANGELOG、发版流程怎么一起管?
这时候很多团队会用到一个工具:Changesets。
如果用一句最通俗的话解释它,可以这么理解:
Changesets 就像 Monorepo 里的“发版记录单”系统。
你每做完一次改动,就先记一张“这次改了什么、该升哪个版本”的单子;等准备发版时,再统一计算版本号、生成 CHANGELOG、执行发布。
它最适合的场景,就是:
- 一个仓库里有多个 npm 包
- 包和包之间有依赖关系
- 团队希望版本管理更清晰、发布流程更自动化