Why Bun Has Become My Go-To
JavaScript Runtime
JavaScript is an excellent scripting language. Primarily, I use it to implement web frontend projects for dynamic applications. Until now, I used the usual setup consisting of Node, npm (sometimes pnpm or Yarn), some bundler, and occasionally even a TS transpiler. Not only due to my interest in Zig, but I’ve also had Bun on my radar since the beginning of last year. And since the end of last year, I have been using it exclusively for personal projects.
A damn fast JS runtime (TS is natively supported here), an equally first-class package manager, and a bundler all in one. Bun’s goal is to be 100% compatible with Node. But it also gets independent features that make it a superior choice. Most recently, for example, through the integration of a Postgres client. MySQL will follow.
Go, Zig, Bun is a perfect selection of tools for my different project requirements. And due to the ease and versatility of Bun, I now see classic scripting also solved in JS.
My site is hosted on Cloudflare and built directly with Astro there. I was surprised that Cloudflare Pages not only directly supports Astro but even recognizes Bun and uses it as a package manager and build tool. This setup is automated through GitHub Actions, so I can also store future articles in my GitHub repo. During the build on Cloudflare, the publication date is then taken into account accordingly.