nu_plugin_semver

Crates.ionu_plugin_semver
lib.rsnu_plugin_semver
version
sourcesrc
created_at2024-01-11 10:39:19.746234
updated_at2025-02-05 10:49:20.979573
descriptionA nushell plugin for dealing with SemVer versions
homepage
repositoryhttps://github.com/abusch/nu_plugin_semver
max_upload_size
id1096168
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Antoine Büsch (abusch)

documentation

README

Nushell plugin to deal with SemVer versions

This is a plugin for the nu shell to manipulate strings representing versions that conform to the SemVer specification.

Installation

You can compile from source by checking out this repository and running cargo install --path ., or installing the latest version with cargo install nu_plugin_semver.

In both cases you then need to register the plugin by running plugin add /path/to/nu_plugin_semver from within nu. Typically, the plugin can be found in $HOME/.cargo/bin/.

Examples

# Parse a semver string into a semver value
> let v = "1.2.3-alpha.1+build" | into semver

# You can access individual fields of a version:
> $v.minor
2

# You can bump a version to different levels:
> $v | semver bump patch
1.2.3+build

> $v | semver bump major
2.0.0

# Semver values can be turned back into strings using
> $v | to text

# Semver values can be matched against a version requirement:
> let v = "3.2.1" | into semver

>  $v | semver match-req "3"
true

>  $v | semver match-req ">=2"
true

>  $v | semver match-req ">=2,<3"
false

# Semver values can be sorted, according to semver semantics
❯ ["3.2.1", "2.3.4", "3.2.2", "2.3.4-beta.1", "2.3.4-alpha.1", "2.3.4-alpha.2"] | into semver | sort
╭───┬───────────────╮
│ 0 │ 2.3.4-alpha.1 │
│ 1 │ 2.3.4-alpha.2 │
│ 2 │ 2.3.4-beta.1  │
│ 3 │ 2.3.4         │
│ 4 │ 3.2.1         │
│ 5 │ 3.2.2         │
╰───┴───────────────╯

Commit count: 65

cargo fmt