nodejs-semver
This crate is a pure Rust-based implementation of JavaScript's
node-semver. That is, it's designed to be
compatible with Node/NPM's particular flavor of semver (which the semver
crate is not).
It is designed for Rust programs and libraries meant for JavaScript tooling,
and does its best to stay compatible with node-semver.
This project has been forked from node-semver since September of 2023, but a lot has changed; For more details, see Changelog.
Usage
nodejs-semver includes two main types: [Version] and [Range]. See the
documentation for more details.:
use ;
let version: Version = "1.2.3".parse.unwrap;
let range: Range = "^1.2".parse.unwrap;
assert!;
Parsing returns Result<_, SemverError>. The error implements
std::error::Error and Display, but does not retain the input or provide
error kinds, source locations, or diagnostic labels.
Optional Features
The following are a list of Cargo features that can be enabled:
- serde: Provides serialization and deserialization for [Version] and [Range].