一句话总结
用NPM Scripts和钩子与Git结合,实现一个自动build+升级版本号+push的小技巧
背景
我们开发一个NPM 包。因是业务组件,需要嵌入到页面中使用,则可能在初版发出后,还需要再有小版本修复。若有修改(常常是一些Bug的修复或API的添加),需要允许一堆指令来完成。
修改完毕文件后
// 构建dist文件
npm run build
// 手动改package.json
增加版本号
// 添加到git暂存区
git add .
// 写入提交信息
git commit -m <commit-msg>
// push到远程仓库
git push
// 发布到npm 库
npm publish
如此多步骤,就没有便捷点的办法吗?
程序员超级想偷懒的好嘛~
所以有以下需求:
1、 利用NPM Script可以通过 && 串联执行的原理,搞个半自动化的script,一个命令直接publish和push完毕,非常干净
2、考虑到每次都可以提交不同的commit-msg
3、不能太难用,最好能有注释
大招给你了
"scripts": {
"_____comment": "npm run git -- 'commit-msg' so you can push and update by a auto way",
"git": "npm run build && git add . && git commit -m",
"postgit": "npm version patch && npm publish && git push --all",
},
解析
comment是JSON里的注释,告诉别人怎么使用,所以这个命令就是
npm run git -- 'feat: xxxx'
把后面的参数传递给NPM里的git script,完成commit操作。
在postgit自动钩子里,做版本升级,然后进行publish和push操作。
npm version patch可以用来升级最小版本号,当然也有升级次版本号的
npm version minor
和主版本号的
npm version major
完美!!!
QA
为什么图是神雕侠侣?因为 Git 和 NPM 很神雕侠侣,黄金搭档。
为什么是杨过和雕?小龙女算我们的。明明杨过和雕兄才是真爱!
你的赞 ,是我持续原创的动力。
--------来自阿里巴巴一名小前端的内心心声