Comment by AgentME
20 hours ago
Deno is still an easy pick for me because of its built-in test-runner (deno test), linter (deno lint), and type checker (deno check). I've used many different npm packages for these things in previous projects and I have no idea what the new hotness and proper configuration is for all of these things in a new node project, so I really value the simplicity of Deno for it all. Also JSR and Deno for publishing Typescript libraries is still so much easier than setting up a Typescript node project and configuring it to publish compiled code, and it gets you documentation pages generated from your tsdoc comments too, which I never knew how to do outside of JSR.
The new hot lint (for me) is Oxlint. Literally a 300x speed improvement on our monorepo compared to eslint for the same ruleset. It’s amazing, especially in combination with Oxfmt instead of prettier.
Well, TBH being better than eslint (especially with the OCD-afflicted prettier) is a really, really low bar...
TBH there were lots of npm clones that were „better/faster” and still npm is pretty much everywhere.
Oxc ecosystem is still impressive.
While I'm at it, I forgot to mention the built-in formatter (deno fmt) is great too. I use Prettier in other projects and it's also great in those projects, but it's tiring that it's yet another dependency to remember to add and configure in a new node project.
FWIW Node now has node:test, but yeah you still need dependencies for linting and type checking.
They made some really terrible, non-standard decisions with node:test though. It's a real letdown for me.
You'd think unit testing would be the most already-solved problem in the world: just copy what Jest, Mocha, Vitest, etc. do ... and you're done.
Instead they left out major features and implemented other features in really strange "why are you reinventing the wheel" ways :(
I haven't used it, so I don't agree or disagree, but I'm curious: what do you think was left out or poorly implemented?
1 reply →
those features a great, but aren't what most of the people doing JS/TS care.
Node.js has a built in test runner and it is excellent. https://nodejs.org/api/test.html
Not sure if the runtime should be responsible for linting of type checking.
The hot shit is still typescript, eslint. I have been using those for more than a decade in node. For me, (deno lint) sounds like the new hot shit.