-
-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge semver and semver-parser #125
Comments
The |
One could maybe argue that Basically, I like small, focused crates. |
This is also discussed in #59 |
I think because So I think if we beef the docs out then |
@steveklabnik I'd also like to see this happen. The two crates are currently tightly coupled so that releases must be carefully coordinated (e.g. blocks things like #151 from happening between two releases). I've spent time working through the existing dependents. version-sync (renamed duplicate of
|
So I've been needing some of the new semver support (especially #151) for a while, which has blocked me from publishing new versions of my application to crates.io. The slow moving progress on this has caused me to incorporate semver as an internal library (called reproto-semver) which includes all the changes I need. This effectively unblocks me, and I'm happy to wait until a new version of semver becomes available which does what I need. But I'd like to highlight that I took the approach of merging the parser. This caused a significant reduction in the amount of boilerplate used to communicate between the two crates. The translation was also very straight forward since there's almost a 1:1 mapping between the two. If you'd like some inspiration of where this project could go if you choose to take this advice of merging the crates, please check out: https://github.com/reproto/reproto/tree/master/lib/semver |
Sorry about that! I'd been focusing on semver-parser, but then the holidays happened; I hope to have 1.0 of both libs out by the end of the month. |
Hey no worries! Take the time you need and I'm here to help if you want it :). |
This has happened in semver 1.0.0. |
The parsers for versions and version ranges are currently in a separate crate, called
semver-parser
. This crate also redefines all the data structures, such that the mainsemver
crate has to recurse through the parsed result and convert everything into the correct type.Is there a reason for this separation?
semver
does have an extraserde
dependency, but we can hide that behind a feature flag if users don't want it. I don't see any other use case for keeping the crates separate, and merging the two crates will avoid this duplicate work.The text was updated successfully, but these errors were encountered: