#semver #bump-version #version #versioning #semantic #cli

app vers-cli

简单的 CLI 工具,用于版本号的升级和解析

1 个不稳定版本

0.1.0 2024年5月4日

#6#bump-version

自定义许可证

26KB
136

Vers-CLI

简单的 CLI 工具,用于版本号的升级和解析

Crates.io Version docs.rs Crates.io License

目标

  • 简单:没有复杂的配置,只有几个精心设计的功能
  • 可组合:充分利用 Unix 管道
  • 语言无关:可以在任何项目中使用,无论语言是什么

非目标

  • 发布自动化:这依赖于语言,而且有无数的工具(尤其是 JavaScript 的工具)。
  • 常规提交:解析提交很复杂,而且不在本项目的范围之内,已经有几个好的工具了。

示例

vers-cli 0.1.0 | vers-cli bump patch
# -> 0.1.1

# understands "v" prefix
vers-cli v1.0.0 | vers-cli bump major | vers-cli bump patch
# -> v2.0.1

# understands (some) pre-releases
vers-cli v1.0.0-rc.1 | vers-cli release
# -> v1.0.0
vers-cli v1.0.0-rc.1 | vers-cli bump rc
# -> v1.0.0-rc.2

# invariant over metadata
vers-cli v1.0.0-rc.1+500 | vers-cli release
# -> v1.0.0+500

# can bump metadata
vers-cli v1.0.0+500 | vers-cli bump build
# -> v1.0.0+501

# linting
vers-cli 01.0.0 --lint
# -> error: leading zeros not allowed
# -> hint: use `1.0.0` instead

依赖项

~2–3MB
~60K SLoC