DioxusLabs / DioxusLabs/dioxus-components
Publish dioxus-primitives to crates.io: 0.0.0 is an empty placeholder, blocking downstream publishing
- Dominant language
- Rust
- Stars
- 343
- Forks
- 82
- PR merge metrics
- No merged PRs in 30d
Description
`dioxus-primitives` on crates.io is at `0.0.0`, which is the `cargo new` template
— 884 bytes, a single `add(left, right)` function and its test. The real library
only exists in this repository.
That makes the crate unusable by anything that itself gets published, because
Cargo removes the `git` source when packaging and then resolves the version
requirement against the registry:
```
error: failed to select a version for the requirement `dioxus-primitives = "^0.0.1"`
candidate versions found which didn't match: 0.0.0
location searched: crates.io index
```
Marking the dependency `optional` and leaving the feature off does not help — the
requirement is still validated at publish time.
## Where this bites
We render motion design videos from JSON, and our desktop editor is built on
Dioxus with `dioxus-primitives` for `slider`, `tooltip`, `switch`, `separator`,
`select`, `popover`, `dialog`, `color_picker` and `label`, plus
`merge_attributes` and `use_controlled`. Pinned at `02801f2`.
The editor therefore has to stay a separate, unpublished crate. Because it
depends on our engine crate, our published CLI cannot depend on it back without a
dependency cycle, so the `studio` subcommand had to be dropped from the released
binary. Users install the CLI from crates.io and build the editor from source
separately.
None of that is a complaint about the components — they work well, which is why
we are stuck on them rather than around them.
## The ask
Would you consider publishing `0.0.1` to crates.io, even as a pre-release? A
version that merely exists would let downstream crates depend on it normally. We
are not asking for API stability guarantees at `0.0.x` — the version number
already says what it says.
If publishing is blocked on something specific (unpublished dependencies of your
own, naming, or a deliberate decision to stay git-only for now), it would help to
know that too — we would then plan around it rather than wait.
Happy to help with the release plumbing if that is useful.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the dioxus-primitives crate and its crates.io metadata, then check whether any of its dependencies are unpublished or whether naming or a deliberate git-only policy blocks release. Done means publishing dioxus-primitives as 0.0.1 so downstream Cargo packages can resolve it from crates.io.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100