▲ | aleyan 4 days ago | ||||||||||||||||||||||||||||||||||||||||
I have been excited about bun for about a year, and I thought that 2025 is going to be its breakout year. It is really surprising to me that it is not more popular. I scanned top 100k repos on GitHub, and for new repos in 2025, npm is 35 times more popular and pnpm is 11 time more popular than bun [0][1]. The other up and coming javascript runtime, deno is not so popular either. I wonder why that is? Is it because it is a runtime, and getting compatibility there is harder than just for a straight package manager? Can someone who tried bun and didn't adopt it personally or at work chime in and say why? [0] https://aleyan.com/blog/2025-task-runners-census/#javascript... | |||||||||||||||||||||||||||||||||||||||||
▲ | phpnode 4 days ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
It’s a newer, vc funded competitor to the open source battle tested dominant player. It has incentives to lock you in and ultimately is just not that different from node. There’s basically no strategic advantage to using bun, it doesn’t really enable anything you can’t do with node. I have not seen anyone serious choose it yet, but I’ve seen plenty of unserious people use it | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | dsissitka 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
I really want to like Bun and Deno. I've tried using both several times and so far I've never made it more than a few thousand lines of code before hitting a deal breaker. Last big issue I had with Bun was streams closing early: https://github.com/oven-sh/bun/issues/16037 Last big issue I had with Deno was a memory leak: https://github.com/denoland/deno/issues/24674 At this point I feel like the Node ecosystem will probably adopt the good parts of Bun/Deno before Bun/Deno really take off. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | williamstein 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
I am also very curious what people think about this. To me, as a project, Node gives off a vibe of being mature, democratic and community driven, especially after successfully navigating then io.js fork drama etc a few years ago. Clearly neither bun nor deno are community driven democratic projects, since they are both VC funded. | |||||||||||||||||||||||||||||||||||||||||
▲ | johnfn 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
I am Bun's biggest fan. I use it in every project I can, and I write all my one-off scripts with Bun/TS. That being said, I've run into a handful of issues that make me a little anxious to introduce it into production environments. For instance, I had an issue a bit ago where something simple like an Express webserver inside Docker would just hang, but switching bun for node worked fine. A year ago I had another issue where a Bun + Prisma webserver would slowly leak memory until it crashed. (It's been a year, I'm sure they fixed that one). I actually think Bun is so good that it will still net save you time, even with these annoyances. The headaches it resolves around transpilation, modules, workspaces etc, are just amazing. But I can understand why it hasn't gotten closer to npm yet. | |||||||||||||||||||||||||||||||||||||||||
▲ | silverwind 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
Take a look at their issue tracker, it's full of crashes because apparently this Zig language is highly unsafe. I'm staying on Node. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | veber-alex 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
Neither Bun nor Deno have any killer features. Sure, they have some nice stuff that should also be added in Node, but nothing compelling enough to deal with ecosystem change and breakage. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | MrJohz 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
I think part of the issue is that a lot of the changes have been fairly incremental, and therefore fairly easy to include back into NodeJS. Or they've been things that make getting started with Bun easier, but don't really add much long-term value. For example, someone else in the comments talked about the sqlite module and the http server, but now NodeJS also natively supports sqlite, and if I'm working in web dev and writing servers, I'd rather use an existing, battle-tested framework like Express or Fastify with a larger ecosystem. It's a cool project, and I like that they're not using V8 and trying something different, but I think it's very difficult to sell a change on such incremental improvements. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | tracker1 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
There's still a few compatibility sticking points... I'm far more familiar with Deno and have been using it a lot the past few years, it's pretty much my default shell scripting tool now. That said, for many work projects, I need to access MS-SQL, which the way it does socket connections isn't supported by the Deno runtime, or some such. Which limits what I can do at work. I suspect there's a few similar sticking points with Bun for other modules/tools people use. It's also very hard to break away from entropy. Node+npm had over a decade and a lot of effort to build that ecosystem that people aren't willing to just abandon wholesale. I really like Deno for shell scripting because I can use a shebang, reference dependencies and the runtime just handles them. I don't have the "npm install" step I need to run separately, it doesn't pollute my ~/bin/ directory with a bunch of potentially conflicting node_modules/ either, they're used from a shared (configurable) location. I suspect bun works in a similar fashion. That said, with work I have systems I need to work with that are already in place or otherwise chosen for me. You can't always just replace technology on a whim. | |||||||||||||||||||||||||||||||||||||||||
▲ | davidkunz 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
I tried to run my project with bun - it didn't work so I gave up. Also, there needs to be a compelling reason to switch to a different ecosystem. | |||||||||||||||||||||||||||||||||||||||||
▲ | oefrha 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
To beat an incumbent you need to be 2x better. Right now it seems to be a 1.1x better (for any reasonably sized projects) work in progress with kinks you’d expect from a work in progress and questionable ecosystem buy-in. That may be okay for hobby projects or tiny green field projects, but I’m absolutely not gonna risk serious company projects with it. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | fleebee 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
There are some rough edges to Bun (see sibling comments), so there's a apparent cost to switching, namely wasted developer time in dealing with Node incompatibility. Being able to install packages 7x faster doesn't matter much to me so I don't see an upside to making the switch. | |||||||||||||||||||||||||||||||||||||||||
▲ | turtlebits 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
Tried it last year - I spent a few hours fighting the built in sqlite driver and found it buggy (silent errors) and the docs were very lacking. | |||||||||||||||||||||||||||||||||||||||||
▲ | fkyoureadthedoc 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
Bun is much newer than pnpm, looking at 1.0 releases pnpm has about a 6 year head start. I write a lot of one off scripts for stuff in node/ts and I tried to use Bun pretty early on when it was gaining some hype. There were too many incompatibilities with the ecosystem though, and I haven't tried since. | |||||||||||||||||||||||||||||||||||||||||
▲ | madeofpalk 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
Honestly, it doesn't really solve a big problem I have, and introduces all the problem with being "new" and less used. | |||||||||||||||||||||||||||||||||||||||||
▲ | koakuma-chan 4 days ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
> I wonder why that is? LLMs default to npm | |||||||||||||||||||||||||||||||||||||||||
|