8 个版本

0.2.5 2024 年 7 月 3 日
0.2.4 2024 年 7 月 2 日
0.2.3 2024 年 6 月 28 日
0.1.3 2024 年 6 月 27 日

#128构建实用工具

Download history 353/week @ 2024-06-26 300/week @ 2024-07-03

317 每月下载
用于 git-semversion

MIT 许可证

13KB
161

semver-extra

github crates.io docs.rs build license

为 semver crate 提供辅助函数,包括 CLI 工具。

CLI

此项目还发布了一个用于命令行的二进制应用程序。

安装

目前,crates.io 是唯一的分发地点。

cargo install semver-extra

用法

A Rust implementation of the https://semver.org/ specification

Usage: semver [VERSION] [COMMAND]

Commands:
  increment  Increment a component of the version, resetting those of lower significance [aliases: i]
  get        Output a specific component of the version [aliases: g]
  help       Print this message or the help of the given subcommand(s)

Arguments:
  [VERSION]  The input semantic version. If omitted, input is taken from stdin

Options:
  -h, --help     Print help
  -V, --version  Print version

示例

尝试将输入解析为语义版本

semver hello.world
error: invalid value 'hello.world' for '[VERSION]': unexpected character 'h' while parsing major version number

For more information, try '--help'.

增加次要版本

semver 1.2.3 increment minor
1.3.0

获取版本的前瞻组件

semver 1.0.0-rc.12 get prerelease
rc.12

将命令输出作为 semver 输入管道

echo 1.0.2 | semver i
1.0.3

Docker

此项目还发布了一个 Docker 镜像,公开了 CLI 工具。

安装

您可以从 GitHub 的容器注册库拉取镜像

docker pull ghcr.io/nicholaschiasson/semver-extra:latest

或者为了更方便,您可以在 docker compose 文件中引用镜像

---
services:
  semver:
    image: ghcr.io/nicholaschiasson/semver-extra:latest

为了额外方便,您可以为 docker compose 命令创建别名

echo 'alias semver="docker compose --file path/to/docker-compose.yml run --rm semver"' >> "${HOME}/.bashrc"
source "${HOME}"/.bashrc

之后,您应该可以简单地运行 semver 来调用容器。

用法

Docker 镜像入口点是 semver CLI 二进制文件本身,这意味着用法与上面指示的完全相同。

示例

直接使用 Docker 镜像

docker run ghcr.io/nicholaschiasson/semver-extra 1.2.3 i major
2.0.0

使用 Docker Compose 服务

docker compose run semver 12.34.56 i
12.34.57

开发

先决条件

如何做

创建开发外壳环境。运行所有其他命令所必需的。

nix develop

使用 cargo 构建。

just build

使用 cargo 的内置快速静态分析检查代码。

just check

删除构建文件。

just clean

格式化代码。

just format

使用 clippy 检查代码以获得更好的静态分析。

just lint

运行应用程序。

just run

使用 cargo 的内置测试运行器运行测试。

just test

监视代码更改并重新构建。

just watch

所有 just 命令都可以接受在 -- 后面的额外命令行参数。

例如:使用报告版本的标志运行应用程序。

just run -- --version

技巧和建议

从开发外壳打开 IDE

要使 IDE 中链接到 rust 二进制文件,您应该从终端打开开发外壳,然后从该会话打开您的 IDE。这将把开发外壳的环境带到您的 IDE 中。

例如,如果您使用 VSCode。

cd path/to/this/project
nix develop
code .

通过这样做,您可以安装 rust-analyzer VSCode 扩展,并且它可以正常工作,因为它可以指向正确的 rust 二进制文件和库。您还将能够访问 VSCode 中由 nix flake 安装的任何包。

待办事项

  • Dockerfile
  • 测试
  • Github Action
  • 支持 #![no-std]
  • 支持预发布版本递增
  • 支持范围操作
  • 如果发现它们确实有价值,我们将复制 node-semver 的其他功能

依赖项

~1.3–1.8MB
~35K SLoC