This looks useful. But, it's interesting how the backend-world and front-end world keep diverging. I must admit, I had no idea what this was from the title. "CLI framework"? But in backend-land, these would typically be called "argument parsers" or "command line argument parsers". But maybe I am missing some of the functionality.
Both in the frontend and the backend, I've usually used "If it calls your code, it's a framework, if you call its code, it's a library", and would seem to fit here too. An argument parser you'd call from your main method, then do stuff with what it returns. In Crust, it seems you instead setup the command + what will happen when it's called, then let the framework call your code.
Show HN: Crust – A CLI framework for TypeScript and Bun
21–30 of 48 posts
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#22Earlier quoted context omitted.
thanks for the catch, what we meant is that we’re not committing to strict stability guarantees yet, so APIs may still change as we iterate toward 1.0.
I understand, but that's already implied by a 0.y.z version number.
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#23This looks useful. But, it's interesting how the backend-world and front-end world keep diverging. I must admit, I had no idea what this was from the title. "CLI framework"? But in backend-land, these would typically be called "argument parsers" or "command line argument parsers". But maybe I am missing some of the functionality.
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#24Earlier quoted context omitted.
tens of KBs (v small)
Isn't a standalone Bun binary like 50MB because it has to bundle the runtime? How could this get smaller?
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#25> Versions before 1.0 do not strictly follow semantic versioning. Sorry for being nitpicky, but yes they do. Semantic versioning[0] allows arbitrary changes while the major version is 0: > Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable. [0]: https://semver.org/
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#26this is cool! i'd recommend fleshing out the README. Clicked on the link before the discussion and was a tad confused.
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#27Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#28Any plans to support Node.js? Also some comparison (at least design choices) with existing frameworks would be nice.
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#29Earlier quoted context omitted.
I understand, but that's already implied by a 0.y.z version number.
I will say that this doesn't seem to be how semver is used in the wild, which I would argue is more important. I personally didn't know about this rule. Tons of Rust projects follow semver don't follow it either, and just stay on 0.x.y forever.
I thought projects that stay on 0.x.y forever mostly do it because it means they're allowed to break things. Also, since 0.x.y means "anything goes", projects can introduce their own conventions within that range without violating the spec.
I know that some package managers (including Cargo and npm) confusingly treat 0.1.0 → 0.1.1 like a "minor" update, despite the spec. Is this what you're referring to?
Re: Show HN: Crust – A CLI framework for TypeScript and Bun
#30> Versions before 1.0 do not strictly follow semantic versioning. Sorry for being nitpicky, but yes they do. Semantic versioning[0] allows arbitrary changes while the major version is 0: > Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable. [0]: https://semver.org/
Hi, the comment I left in README.md is just to warn user that do expect breaking changes before 1.0 for THIS PROJECT specifically. there is no implication that semver as a standard is promoting arbitrary changes/version before 1.0.