DioxusLabs / DioxusLabs/dioxus-components

Publish dioxus-primitives to crates.io: 0.0.0 is an empty placeholder, blocking downstream publishing

Open
#295 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.