https://blog.csdn.net/weixin_40817115/article/details/90384398

npm version

  • major: 主版本号
  • premajor: 预备主版本
  • minor: 次版本号
  • preminor: 预备次版本
  • patch: 修订号
  • prepatch: 预备修订版
  • prerelease: 预发布版本

    各命令操作明细表

    | 名称 | 命令 | 含义 | 追加说明 | 特别注意 | | —- | —- | —- | —- | —- | | help | npm version —help | version命令概览 | | | | version | npm version | 查看当前包的详细版本信息 | | | | prerelease | npm version prerelease | package.json 中的版本号1.0.0变为 1.0.1-0 | 再次使用npm version prerelease
    prerelease增版本号+1,变成1.0.1-1 | 当执行npm version prerelease时,如果没有预发布号,则增加minor,同时prerelease 设为0;
    如果有prerelease, 则prerelease 增加1。
    所以第一次搞预发布版本,得先有预发布号 | | prepatch | npm version prepatch | package.json 中的版本号1.0.1-1变为 1.0.2-0 | prepatch - 直接升级小号,增加预发布号为0。 | 如果没有prerelease,则自动增加prerelease版本号为0
    如npm version prepatch 版本号3.0.0 变为 3.0.1-0 | | preminor | npm version preminor | package.json 中的版本号1.0.2-0变为 1.1.0-0 | preminor - 直接升级中号,小号置为0,增加预发布号为0 | 如果没有prerelease,则自动增加prerelease版本号为0
    如npm version premajor 版本号1.1.0 变为 2.0.0-0 | | premajor | npm version premajor | package.json 中的版本号1.1.0-0变为 2.0.0-0 | premajor - 直接升级大号,中号、小号置为0,增加预发布号为0。 | 如果没有prerelease,则自动增加prerelease版本号为0
    如npm version premajor 版本号2.1.0 变为 3.0.0-0 | | patch | npm version patch | package.json 中的版本号2.0.0-0变为 2.0.0 | 再次执行npm version patch
    package.json 中的版本号2.0.0变为 2.0.1 |
    - patch:
    - - 如果有prerelease ,则去掉prerelease ,其他保持不变
    - - 如果没有prerelease ,则升级patch
    | | minor | npm version minor | package.json 中的版本号3.0.1-0变为 3.1.0 | 再次执行npm version minor
    package.json 中的版本号3.1.0变为 3.2.0 |
    - minor:
    - - 如果有prerelease ,则去掉prerelease ,其他保持不变
  • 如果没有prerelease,直接升级minor, 同时patch设置为0
    | | major | npm version major | package.json 中的版本号3.1.0-1变为 4.0.0 | 再次执行npm version minor
    package.json 中的版本号4.0.0变为 5.0.0 |
    - major
    - - 如果没有prelease,则直接升级major,其他位都置为0;
  • 如果有预发布号: minor和patch都为0,则将prerelease 去掉,升级major。这里升不升级主版本号?待测试
  • 如果有预发布号:且minor和patch有任意一个不是0,则升级一位major,其他位都置为0,并去掉prerelease。
    • 如:5.1.0-0 —>6.0.0


|

参考:

npm-version
Git tag 的使用与 npm version
https://github.com/npm/node-semver

发包跳过git commit hooks

  1. npm version prerelease --message "[release] prerelease" --commit-hooks=false

beta与alpha的讲究


image.png
image.png