bytecodealliance / bytecodealliance/component-docs
Improve ergonomics of Rust examples, re-enable use of published packages
- Dominant language
- Rust
- Stars
- 137
- Forks
- 88
- Avg merge
- 5d 12h
- Merged PRs (30d)
- 4
Description
This issue arguably shouldn't go here, but currently UX issues in upstream tooling is making the Rust
The goal is to revert [this reverted functionality](https://github.com/bytecodealliance/component-docs/pull/254) -- we *want* to be able to use published WIT packages but there are a few issues stopping us:
- `cargo-component` does not configure/patch where `wkg` looks for deps (the target kind) when configured in `Cargo.toml` (i.e. we should be able to specify that `docs` is a known package w/ a known registry)
- `cargo-component` currently does not properly resolve targets w/ multiple worlds *even if* `wkg` is configured (via [it's global config file](https://github.com/bytecodealliance/wasm-pkg-tools?tab=readme-ov-file#configuration))
- `wkg` should be able to use local fconfig
There are at least a few ways to solve this issue:
1. Update `cargo-component` to perform the patching of registries for namespaces before using `wasm-pkg-tools` functionality
2. Update `wkg` to prefer local config files and include one in the tutorial code
3. Update the guide to get users to configure `wkg` global config before attempting usage.
A somewhat hidden requirement/sidequest to this issue is that we need more `cargo-component`/`wasm-pkg-tools` maintainers. The current functionality is fantastic for these tools, but the UX needs to be polished just a bit.
Contributor guide
Research direction
Start by reviewing the reverted functionality in PR #254 and the Rust tutorial code. Compare the documented package configuration with the current behavior of cargo-component and wasm-pkg-tools, then determine which of the three proposed approaches is viable. Done means the examples can use published WIT packages without the current configuration or multi-world resolution failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- devtools, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100