Dev switches from Deno back to Node.js

Original: Friendship ended with Deno, now Node is my best friend

Why This Matters

Node.js's usability improvements are pulling developers back from newer runtimes like Deno.

UK web developer David Bushell migrated his static site generator and client SvelteKit projects from Deno to Node.js v26.10.0, citing improved ESM support, modern APIs, and TypeScript stripping — with few migration headaches.

David Bushell, a UK-based web developer who had long relied on Deno as his primary JavaScript runtime, has switched back to Node.js after working on a client SvelteKit project. His verdict: Node has quietly gotten much better. Running Node v26.10.0, he found native ESM support solid, the old require() calls gone, and the fs API significantly improved from his memories of it roughly a decade ago. The migration of his static site generator from Deno required replacing Deno's file system API with node:fs and swapping Deno.serve for Hono's Node adapter — minimal changes overall. On tooling, Bushell chose FNM over NVM for version management, and PNPM over NPM, citing NPM's historically poor security posture. He set pnpm-workspace.yaml's minimumReleaseAge to 1440 minutes (one day) as a lightweight filter against freshly published malicious packages. One friction point persists: Node.js deliberately refuses to strip TypeScript types inside node_modules, blocking TypeScript-authored packages from NPM. The restriction is described as philosophical in Node's docs — intended to keep raw TypeScript out of the NPM package ecosystem. Bushell worked around this with Tsdown for bundling. He also noted the ongoing Oracle–ECMAScript trademark dispute as a background concern.

Source

dbushell.com — Read original →