Notes
Notes copied to clipboard
pnpm和changeset前端新玩具
pnpm
安装更快, 深入的没研究, 反正安装包的界面看起来很舒服.都说对workspace支持更好.所以用他替换了yarn.
npm i -g pnpm
支持monorepo
根目录新建pnpm-workspace.yaml, 把子项目的文件夹路径写入:
packages:
- 'packages/*'
这里假设"子项目"文件夹是packages文件夹.
changeset
lerna不维护了, 那就换一个工具, 比如changeset. 说下基础用法:
安装
pnpm install changesets\cli changesets
初始化
生成config文件
pnpm exec changeset init
选择要操作的项目(包)
pnpm exec changeset
回车后, 会列出pnpm在pnpm-workspace.yaml中定义的wrokspace下的所有文件夹, 用"箭头"和"空格"进行选择. 第一项是全选.
选择后回车, 会继续让选择哪些项目(包)要升级大版本, 就是版本号"x,y.z"中的"x", 如不选直接回车, 接下来会要求选择哪些包修改"y"或"z"位.
都选择完毕, 最后会让对本次提交做个描述.
描述完毕后回车, 会展示你刚才的选择:
到这一步, 我们上面的选择会记录到一个缓存文件,在/.changeset/xxx-xxx-xx.md
中.
生成日志&修改版本号
对刚才的操作生成CHANGELOG.md并修改每个package.json的版本号.
pnpm exec changeset version