[关闭]
@hucheng91 2018-10-20T07:59:49.000000Z 字数 980 阅读 805

npm 包 publish 指南

check-readme2.png-81.9kB

目前我们 npm 包 发布时有些混乱,于是有了这篇文档 ,先说说以下3个痛点

  1. A项目组,小a提炼一个 app-storage 的组件 ,在开发过程中频繁发布测试版本,package.json 中 version 字段从1.0.0 > 1.0.1 > 1.0.2 .............>2.0.0,这就导致版本号太随意了,失去了版本号的价值
  2. 甲开发完后,B,C,D 组觉得很好用,都引用了这个组件,1这个问题,导致 B,C,D组在引用的过程中,一直会提示更新版本号,但又不知道哪个 version 才是稳定版本
  3. B组 王二 发现 app-storage 有个地方不是很符合自己,把代码拉下来,改了一把,然后用 qtt 账号 直接 publish 到nexus 源去了,代码还没 push 到 gitlab ,这个时候 小a 更新了版本,发现新版本有 bug (重点还不知道是谁部署,gitlab上又没有提交记录),2眼一抹黑,只能去企业微信群喊话了

so 为了解决上面这些问题,我们 做了以下规范

  1. npm 开发包 publish 的时候 通过 tag 指定
  2. npm 包 发布了稳定版本,企业微信通知大家
  3. 收回 qtt这个账号权限,全部用 LDAP 账号 publish
  4. 测试覆盖率 通过网页浏览

npm 开发包 publish 的时候 通过 tag 指定

  1. 假设 目前 version 1.0.0
  2. 执行下 npm version prerelease // version 会变成 1.0.1-0
  3. npm publish --tag beta
  4. 执行下 npm info 会发现
  5. 'dist-tags': { latest: '1.0.0', beta: '1.0.1-0' },
  6. 那这样其他人依赖的还是会下载 1.0.0 这个版本,你的开发包不会影响到其他人
  7. 当稳定后(假设这个时候 'dist-tags': { latest: '1.0.0', beta: '1.0.1-10' })
  8. 改下版本号,执行 npm publish 这个时候其他依赖这个包的人,就能更新到你刚发布的这个稳定版本

npm 包 发布了稳定版本,企业微信通知大家

需要在 项目根目录创建文件 .gitlab-ci.yml ,内容如下:

这样就会在代码 push 后,去检测是否有版本稳定版本更新,更新了就会企业微信通知大家

收回 qtt这个账号权限,全部用 LDAP 账号 publish

qtt 账号收回,先把大部份人的LDAP账号赋予 publish 的权限,假设没有没有权限的话,企业微信找下 hucheng

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注