upvote
I'm planning on using Deno long term too and have also made some contributions to their standard library. But I completely disagree with you on NPM support. I think that gap early on contributed to bun's success. I almost quit using it because of how difficult it was to use react with Deno. Now it's pretty easy to use react and other npm packages with Deno. Before that, a lot of the most popular packages were just forks of npm packages adapted for Deno, but not as well maintained since less people were using them. Then deduping dependencies was just harder when they were all urls. If your package had a dependency using a different version url, you'd need an import map just to remap them all to using the same version. I'm pretty happy with the current deno.json with jsr and npm compatibility.
reply
As someone who has mostly just tinkered with this stuff (while using Node extensively at work) I see two truths:

- Deno initially seemed like something a number of us were clamouring for: a restart of the server JS ecosystem. ES modules from the start, more sensibly thought out and browser compatible APIs, etc etc

- that restart is incompatible with the business goals of a VC funded startup. They needed NPM compatibility but that destroyed the chances of a restart happening.

I’m just sticking with Node. I know Deno and Bun are faster and have a few good features (though Node has been cribbing from them extensively as time has gone on). I just don’t trust a VC backed runtime to keep velocity in the long term.

reply
Personally I've moved to bun. Its basically identical to node out of the box - almost all nodejs projects just work. But its usually faster. And it can run typescript files directly. And it has a JS bundler & minifier built in. And it can --watch for changes.

I hope nodejs copies these features. They're great.

reply
Would something else that wasn't a VC-funded startup really work better? The technical problem seems fundamental.
reply
Yes, the technical problem is fundamental. But if Deno managed to be a truly great runtime that solved a lot of people’s gripes with Node and made ES modules etc the price of admission for using it there would have been momentum to create a new module ecosystem.

But once you add that NPM compatibility layer the incentives shift, it just isn’t worth anyone’s while to create new, modern modules when the old ones work well enough.

It all feels similar to the Python 2 vs 3 dilemma. They went the other way and hey, it was a years long quagmire. But the ecosystem came out of it in a much better place in the end.

reply
As an early Deno purist I must invoke the 10 Mistakes talk that Ryan gave when he launched Deno: https://m.youtube.com/watch?v=M3BM9TB-8yA&t=11s&pp=ygUScnlhb...
reply