Skip to main content

Crate composer_semver

Crate composer_semver 

Source
Expand description

Composer-flavored semver primitives: Version, Constraint, Stability, Bound.

A faithful Rust port of composer/semver — the version normalization, comparison, and constraint algebra that Composer itself uses. It mirrors VersionParser::normalize, Comparator::compare, and VersionParser::parseConstraints against a pinned upstream commit (see version.rs), with the upstream data-provider cases committed as Layer 1 conformance fixtures (tests/data/conformance.json).

It is the shared substrate for the cresset-tools Composer stack — the bougie package manager (PHP/ext picker + dep resolver) and the sconce repository server/mirror (version sorting + constraint-based mirror subscriptions) — so the constraint algebra is defined once here rather than re-derived, drifting, in each.

Re-exports§

pub use bound::Bound;
pub use constraint::Constraint;
pub use stability::Stability;
pub use version::Version;

Modules§

bound
Constraint bounds — port of Composer\Semver\Constraint\Bound.
constraint
Composer-flavored constraint: parse + matches.
stability
Composer stability flags.
version
Composer-flavored version: parse, normalize, compare.