cargo-dist
cargo-dist copied to clipboard
rename cargo-dist
cargo-dist has aspirations to be not-just-cargo, so it should... not be called cargo-dist. probably for rust users it will continue to be available as "cargo dist", but i don't want to tell anyone to use cargo-dist dist init when using it with not-cargo.
An Eternal Question / Meme here at axodotdev is: surely we should have a tool called "axo" that does all the things. As cargo-dist has increasingly become a bigger tent (especially if we do #842), it's increasingly looking like the fabled "axo". Or maybe it's "axo dist" (axo-dist).
The cargo subcommand trick is cute, but also a bit of a logistical nightmare for not-cargo to do, so if we do want to be invoked as "axo dist", that realistically means an axo monorepo with cargo-dist just being part of the workspace. If we do "axo dist" then maybe #842 is "axo release", instead of what may have presumably become "axo dist release"?
- [ ] email https://www.npmjs.com/package/dist
- [ ] email https://crates.io/crates/dist
Let's assume we're renaming to "dist":
- add a bin-alias so that cargo-dist.exe and dist.exe both exist
- teach the clap CLI to not require the "dist" dummy arg that cargo likes to pass
- do we rename the actual package from "cargo-dist" to "dist"
- if we do how hard do we try to enforce an alias in infra
- oranda getting full history
- axo releases reporting full history
- axo updater handling full history
- old updater doesn't know about new name
- install receipt migration?
potential approach (performed in precise sequence):
- release "dist" 1.0.0 (it can be a version less than that but let's call it that for now)
- release "cargo-dist" 0.X.0
- this release tells axoupdater that the name of the app is now "dist"
- and potentially has some axoupdater receipt migration logic
The idea here is that a user who tries to update "cargo-dist 0.14.0" or whatever old release that doesn't know about the rename will end up on "cargo-dist 0.X.0" because it knows how to do that. Then when they try to update "cargo-dist 0.X.0" they will get "dist 1.0.0" (or any version after that).
The bulk of this work is in #1267