brson / brson/stdx

Create stdx-check tool

Open
#35 9 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
Rust
Stars
2.1k
Forks
48
PR merge metrics
No merged PRs in 30d

Description

One of the main roles I have in mind for stdx is as tool to measure the compatibility of the larger ecosystem. The stdx-check tool determine whether any given crate was 'compatible' with stdx, serving two purposes:

- By running stdx-check across every crate on crates.io (using cargobomb probably), we could say what percent is compatible, which would inform the development of stdx, and also give users confidence that stdx is actually leading them down the right path.
- Users could run stdx-check on their own crates, to validate their stdx compatibility

At the most basic level I imagine it doing the following:

- Rewriting `./Cargo.toml` to add the a stdx dependency (from git for now perhaps), outputting to `Cargo-stdx.toml`
- Running `cargo test` on the new manifest to see if it passes
- Inspecting the generated lockfile to see if any of the stdx crates have dupes.

Other nice follow on work:

- Support multiple stdx revisions, probably by `include_str`ing their tomls
- Verify a crate directly off of crates.io, which would require [frobbing their Cargo.tomls](https://github.com/brson/cargobomb/blob/master/src/toml_frobber.rs).
- Write a tool that runs stdx-check across a list of crates.io crates and generates a report with the results, indicating stdx ecosystem compatibility.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.