Expand description
§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 nodejs_semver::{Range, Version};
let version: Version = "1.2.3".parse().unwrap();
let range: Range = "^1.2".parse().unwrap();
assert!(version.satisfies(&range));
§Optional Features
The following are a list of Cargo features that can be enabled:
Structs§
- Range
- Node-style semver range.
- Semver
Error - Semver version or range parsing error wrapper.
- Version
- A semantic version, conformant to the semver spec.
Enums§
- Identifier
- An Identifier type for build and prerelease metadata.
- Semver
Error Kind - The specific kind of error that occurred. Usually wrapped in a SemverError.
- Version
Diff - difference between two versions by the release type
Constants§
- MAX_
LENGTH - Maximum length of a semver string.
- MAX_
SAFE_ INTEGER - JavaScript’s MAX_SAFE_INTEGER. This is used to determine the maximum value for integer components in a JS-compatible way.
Type Aliases§
- Release
Type - difference between two versions