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.