CommonJS vs ESM: Module Resolution in Node
CommonJS loads synchronously and ESM loads as an async graph — that single difference drives every interop trap, from default-export shape to the dual-package hazard.
Node.js past the API surface — the libuv event loop and microtasks, streams and backpressure, worker threads vs cluster, V8 memory and leak-hunting, async error handling, and CommonJS-vs-ESM. The runtime model that decides whether a server stays up under load.
6 articles · updated regularly
CommonJS loads synchronously and ESM loads as an async graph — that single difference drives every interop trap, from default-export shape to the dual-package hazard.
A rejected Promise nobody awaits is a silent failure waiting to become a 3am page; here's how to make every async error loud, catchable, and cancellable.
A memory leak in Node.js is almost always a reference you forgot to drop, not a bug in the garbage collector.
Three ways to escape Node's single JS thread — and which one actually fits the problem in front of you.
Backpressure is the contract that keeps a fast producer from drowning a slow consumer in unbounded memory; pipe and pipeline honor it for you, manual data+write does not.
A precise tour of the libuv event loop phases, the microtask queue, nextTick vs setImmediate vs setTimeout(0) ordering, and why one CPU-bound call freezes every request.