lobsters score: 2 · tags: nodejs
I had this phase, a few years ago, where I really was into JS build/dev tooling. The whole ESM/CJS, TypeScript support and slow dev times, got me into a lot of fun stuff like Vite, ESBuild, Deno, Turbopack, CSS tooling. And it’s all fun but it also ended up not really improving anything. I remember trying out Bun and thinking wow I took Node’s stability for granted. And thus returned to following whatever the team liked the most, hoping that Deno would make a bigger splash.
And then around Node v20-22…Node included some really nice things! And the need for other (fast-moving) runtimes kinda dwindled away.
I’m pretty happy with JS tooling these days, it can still be a lot, but with the experience gained I feel like I can communicate very well why a project might not need a tool.
Still Deno holds a really nice place(it just includes so many great defaults!), and maybe OSS Deno can thrive in a similar way Biome or Servo does.
score 1 · canonical
I didn’t run into those issues with Deno, so I guess I’ll keep using it. It does support package.json instead of deno.json now, so that might be a decent compromise?
score 1 · canonical
Some scripts I use have hard-coded binary names, so I added two aliases:
alias npm=pnpm alias npx=pnpxbash aliases don’t work inside scripts, unless bash somehow thinks it’s in interactive mode:
$ bash -c 'alias myecho=echo; myecho hello' bash: line 1: myecho: command not found $ bash -i -c 'alias myecho=echo; myecho hello' hello $
score 1 · canonical
This is true for Bash scripts, but not for POSIX shell scripts.
% /bin/sh --version GNU bash, version 3.2.57(1)-release (arm64-apple-darwin26) Copyright (C) 2007 Free Software Foundation, Inc. ~% /bin/sh <<EOF heredoc> alias x=echo heredoc> x hello heredoc> EOF hello(Bash runs in POSIX mode when invoked as
sh)
score 1 · canonical
…one does not simply publish TypeScript packages to NPM. … TypeScript is a Microsoft product. … Nobody wants more Microsoft.
But…NPM is also a Microsoft product.
score 1 · canonical
it’s 2026, why would I want to use something that goes out of its way not to support typescript?!
score 1 · canonical
I tried setting the minimum release age to “one month” because it takes Microsoft at least that long to remove reported malware. This caused dependency issues where PNPM struggled to match suitable versions. I settled for “one day”; long enough to allow some other sucker to beta test the next Shai‑Hulud.
I realize dependency resolution is hard enough as it is, but this feels like it could be added as just another layer on the existing optimization problem. Ideally, all of your dependencies would be at least one month old. But if that can’t be satisfied, you’d like to find a solution with as many old versions as possible: minimize the maximum timestamp or something.
score 1 · canonical
I wrote about a neighboring angle back in June: I wish Deno would keep doing what it does best. I still build most of my libraries Deno-first, so I haven’t landed where the author did, but I share the worry.
My argument is that each step toward Node.js compatibility (
npm:specifiers, node_modules,node:*) gives library authors one less reason to target Deno specifically, the way Windows compatibility did for OS/2. Node.js, meanwhile, has been picking up Deno’s ideas: native TypeScript, a permission model,fetch(). I also suspect the VC clock explains some of the rush, though from the outside I can’t tell a product decision from a runway decision.
score 1 · canonical
I still prefer Deno over Node but I can’t say that will be the reality in the near future. Once TypeScript just works (instead of striping types) and the security improvements land by default, I’ll probably switch back.
Alarms started ringing for me when they went for backwards support and focused heavily on that, when Bun was already on that route.
Sad but true.
score 1 · canonical
Nope. You can +1 this old TS issue about type-only enums but in the mean time you’d have to do without.
IIRC the TypeScript team recommends using
erasableSyntaxOnlywhich would disable enums also; they consider it a mistake to have ever added syntax with runtime behavior, including enums.
score 1 · canonical
The official Node docs recommend piping an internet script straight to bash (we never learn)
never learn what exactly? you’re about to execute a bunch of arbitrary code downloaded from the internet anyway, why does is matter if the first chunk is a shell script?
score 1 · canonical
I consistently enjoy David Bushell’s writing. However, the first thing I always think when seeing his domain on lobsters is: “Wow, this person must really hate dbus!” ^^ Only a split second later do I remember that I know this domain :)
score 3 · canonical
If not that, then wondering what kind of cool new database tooling “DBU shell” might be
score 2 · canonical
That’s what I thought! I was wondering about this domain name, not realizing it is a person’s name … What’s this newfangled shell ??
Likewise, I heard that many people didn’t realize “godbolt” was the last name of the author of Compiler Explorer: https://godbolt.org/
They perhaps thought it was some kind of compiler analogy :-)
score 1 · canonical
Likewise, I heard that many people didn’t realize “godbolt” was the last name of the author of Compiler Explorer: https://godbolt.org/
TIL! Aka, you heard right :D
score 2 · canonical

