-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Stability of wasm-bindgen-cli-support #2757
Comments
Seems in line with the actual semver which says:
So until a crate declares major version 1, pinning to an exact version of it is following exactly what its major version implies.
This “informally agreed semver” ... who informally agreed to that? :-) Seems to me that it's best for clarity if:
Hm, but aren't wasm-bindgen and wasm-bindgen-cli versioned and released in tandem, living in the same repo as they do? Maybe I'm just slow — can you explain the problem more clearly? |
I cant name a single crate that doesnt follow this. It would be complete chaos if they didnt given all the pre 1.0.0 crates in the ecosystem. I would be very surprised if
The informal semver agreement is actually so common that I would expect the opposite.
The problem is the stability of the rust API of For example its used here: Thinking about it the exact version dependency might be used for |
Yeah. Some context on why exact versions are used across wasm-bindgen can be found here #2544 . tl;dr - it ensures that all of the crates are using the same wasm-bindgen data format since the data format used to change a lot. These days the data format doesn't really change much (maybe once a year at this point)? I don't know whether or not that is indicative of future stability though. |
The Cargo documentation specifies this informal convention / spec extension (and the dependency resolver assumes that it holds):
(Highlight mine) |
Ok, well if its purely for the data format and pinning the exact version isnt abused for making breaking rust API changes then that's perfect. |
Yes this is indeed an internal crate and it does not follow semver. The version just matches the |
Ah, good to know. Wasm-bindgen-cli exposed as a rust API would be really valuable to cargo-run-wasm and by extension winit and wgpu. What are your thoughts on one of these:
|
I would first primarily recommend using the CLI if you can, since that's the intended way to run things. Otherwise though the |
Except for the fact that you said it does not follow semver. I guess I could use an exact version dependency. This is why I would like a stable API for this, is this something wasm-bindgen can provide? As one of the suggestions in the previous comment or maybe something else entirely? |
Sorry but at this point I'm not really prepared to commit to a stable API of internal crates at this time. I'm barely hanging on as-is and adding yet-more to my plate I don't think I'm up to the task for. |
That's all good just needed to know the situation. thanks for your efforts! |
The wasm-bindgen-cli Cargo.toml specifies an exact version for wasm-bindgen-cli-support which suggests that the rust API for wasm-bindgen-cli-support doesnt follow semver
wasm-bindgen/crates/cli/Cargo.toml
Line 29 in 8aa58ac
Does it follow semver or not? (and I mean the informally agreed semver where 0.x.y means x is breaking and y is non-breaking)
If the rust API doesnt follow semver that would be really unfortunate and make it borderline useless for scripting wasm builds in rust as the patch version needs to be able to update freely to keep in sync with the wasm-bindgen version. e.g. https://github.com/rukai/cargo-run-wasm
The text was updated successfully, but these errors were encountered: