There is also Vite, of course , which is already quite fast and very popular.
What's the differentiator between those?
There is also Vite, of course , which is already quite fast and very popular.
What's the differentiator between those?
Bun + Biome covers everything you need for a TS project (Biome lints and formats).
--
* : I guess it is not written in Rust but still in the same category of tools.
--
If there was a bundler written in Rust I might have chosen that, as despite not having anything against Go, the momentum seems to be strongly shifting to Rust (and even in the little Go I did, I already feel the pain of its error handling), and Rust definitely gives you better tools to write reliably applications.
If you need an hmr script you can use the one I wrote for my webframework: https://github.com/spirobel/mininext
(my goal with mininext is to provide index.php like productivity but with all of npm and typescript at your fingertips)
mininext has a clean package.json
It is just 3 files of modest size that are understandable in an afternoon.
You can also copy and paste and vendor the hmr part.
Someone even forked mininext to create micronext.
My goal is to compete with php. So I added some quality of life features. But if people want to go turbo minimalistic I can respect that.
I just wouldn't add a dependency for hmr when it is so easy to do with a small snippet.
mininext is a neat idea and I plan to read through the code (do you have a preferred 'small snippet' for hrm? I'd be interested to read that too) but I was talking more generally in my last comment.
I like to keep it simple. Right now bun just rebuilds everything and it is so fast that I don't recognize it.
If it ever becomes a problem I will optimize it.
The standardDevReloader is a snippet to tell the browser to refresh the page after a rebuild happened.
If you setup a fresh project with the barebones quickstart template with: bun create spirobel/aldi yournewproject
you will see a dev.ts in the project folder. compared to the start.ts (which is used to run the prod version) it will setup this snippet, so it is included in every html page that is served.
There are still issues (like aborting a fetch, and TS5 style decorators).
But it’s fast and I have all tests run on every save, which are near instant.
It's probably more holistic/batteries included than Farm, from a cursory glance. Rsbuild also aims to be a Vite alternative, but leans more into the webpack philosophy (and ecosystem) than Rollup's