Hacker News new | ask | show | jobs
by blizdiddy 286 days ago
I used bun for the first time last week. It was awesome! The built-in server and SQLite meant i didn’t need any dependencies besides bun itself, which is certainly my favorite way to develop.

I do almost all of my development in vanilla js despite loathing the node ecosystem, so i really should have checked it out sooner.

2 comments

I tried using Bun a few times, and I really liked working with it.

Much better than Node.

However...!

I always managed to hit a road block with Bun and had to go back to Node.

First it was the crypto module that wasn't compatible with Nodejs signatures (now fixed), next Playwright refused working with Bun (via Crawlee).

Playwright support will improve soon. We are rewriting node:http’s client implementation to pass node’s test suite. Expecting that to land next week.
That may be just the best way to drop that you are introducing a rewrite which fixes a set of bugs that affect users
You can use Bun as package manager only. You don't have to use Bun as runtime.
Indeed! also as a test runner/lib if you're not doing browser automation. bun definitely has benefits even if not used as a runtime.
I believe Playwright worked for me with the latest Bun though
Sure?

Does it work if I have packages that have nodejs c++ addons?

Why wouldn’t it? The end result of a npm install or a bun install is that the node_modules folder is structured in the way it needs to be, and I think it can run node-gyp for the packages that need it.
I think this is the big one that slows adoption of "better" / "faster" tooling down, that is, backwards compatibility and drop-in-replacement-ability. Probably a lot of Hyrum's Law.
Deno doesn't work with crawlee either unfortunately
You should try Deno, they have good Node compatibility
Does it? Last I tried, several years ago, coverage of the Node APIs was not good. I wanted to send data over UDP and a lot of Node basics there were missing.
Deno's node compat is way better now.

They're still missing niche things and they tend to target the things that most devs (and their dependencies) are actually using.

But I can see they have it in their compat stuff now and it looks like it's working in the repl locally: https://docs.deno.com/api/node/dgram/

This page tracks Deno's compatibility with Node by running its tests: https://ffmathy.github.io/is-deno-compatible-yet/
Playwright has been fixed one year ago I think.
Storybook is another for me.
Node also has a built-in server and SQLite these days though? Or if you want a lot more functionality with just one dependency, Hono is great.
And how many dependencies does Hono have? Looks like about 26. And how many dependencies do those have?

A single static zig executable isn’t the same as a a pipeline of package management dependencies susceptible to supply chain attacks and the worst bitrot we’ve had since the DOS era.

> And how many dependencies does Hono have?

Zero.

I'm guessing you're looking at the `devDependencies` in its package.json, but those are only used by the people building the project, not by people merely consuming it.

That doesn't prevent supply chain attacks. Dev dependencies are still software dependencies and add a certain level of risk.
This is needlessly pedantic unless you are writing from an OS, browser, etc. that you wrote entirely by yourself, without using an editor or linter or compiler not written by you, in which case I tip my cap to you.
Only in the sense that any other software on the developers' machines adds a certain level of risk.