#​498 — August 8, 2023

Read on the Web

☀️ We’re taking two weeks off and will be back on Tuesday, August 29. Yes, it’s true, we’re taking a rare vacation and will be back in a couple of weeks, so if you don’t see us for a while, it’s not a fault at your end 🙂
Peter Cooper, your editor

npmgraph: A Way to Visualize Dependency Graphs — Give this Web-based tool one or more package names (or a


of your own) and you can see a visualization of the dependency graphs for those packages, including where they intersect. Packages can be colored by various criteria (such as number of maintainers) and you can download a SVG of the resulting graphs to paste into your reports and presentations if you like scaring people that way. There’s a lot more to this tool than meets the eye so have a play.

Kieffer, Brigante, et al.

On-Demand Webinar: Temporal Roadmap Summer 2023 — Get a sneak peak of Temporal’s product roadmap ahead of Replay, our annual conference dedicated to backend engineering. Just for watching, you’ll get an exclusive promo code for discounted tickets. We hope to see you in Seattle this September!

Temporal Technologies sponsor

A Compilation of Outstanding JS Testing Articles — Since we’re taking a couple of weeks off, you might be keen to have some Node related reading stacked up, and Yoni delivers with his opinionated list of 10 outstanding testing articles, all with a JavaScript or Node.js slant to them. Of course, he also recommends his own list of JavaScript and Node.js Testing Best Practices which is worth a read too.

Yoni Goldberg


  • ⚠️ They’ve not landed as of the time we’re going to press, but there are several Node.js security releases due later today. New versions of the 16.x, 18.x and 20.x release lines are expected.

  • Deno 1.36 has landed with extended security options, a polyfill for


    , completion of the


    polyfill, and a pile of other small Node compatibility improvements. It’s easier than ever to play with Deno as a Node developer, if you’re so inclined.

  • Krasimir Tsonev has built an Express.js-based source viewer app called


  • ModelFusion is a new library for building AI apps, chatbots and agents. We plan to feature it in a future issue once it has seen further development, but wanted to slip it in before our break 🙂

Puppeteer in Node.js: More Antipatterns to Avoid

Greg Gorlen

Creating a Node API with Knex and Postgres

David Ekete

▶  How GitHub Actions 10x My Productivity


🛠 Code & Tools

Fiddle: The Easiest Way to Get Started with Electron — If you’ve wanted to play with Electron for building a JavaScript-powered desktop app but didn’t have the time, Fiddle makes it into more of a quick-start ‘playground’ experience. GitHub repo.


node-jq 3.0: A Node Wrapper for


jq is a popular and powerful command-line JSON processing tool that’s well worth having in your toolbox. It’s written in C, though, but this library simplifies calling out to it from Node.


React Authentication — Without Complexity — Userfront streamlines authentication & access control so engineers can focus on their core business. Read the docs now.

Userfront sponsor

🖼  Jimp: Image Processing in Node without Native Dependencies — Most image libraries, such as the powerful Sharp, lean on external libraries like libvps or ImageMagick to do the heavy lifting, but Jimp can handle BMPs, GIFs, JPEGs, PNGs, and TIFFs entirely on its own for operations including blur, color adjustments, masking, resizing, rotation, and more. It’s not new but continues to get frequent updates.

jimp Contributors

Filesize.js: Generate Human Readable Strings From File Sizes — For example, 123456 bytes could turn into

"120.56 KB"

– though different standards of conversion can also be used. GitHub repo.

Jason Mulligan

tsup 7.2: Bundle Your TypeScript Library with No Config — Throw your








, and


files at the esbuild-powered


and say hello to transpiled, bundled code for distribution. More in this tutorial.


delay: Delay a Promise a Specified Amount of Time“If you target Node.js only, you can use

import {setTimeout} from 'node:timers/promises'; await setTimeout(1000);

instead. This package can still be useful if you need browser support or the extra features.”

Sindre Sorhus

Supercluster: A Fast Geospatial Point Clustering Library


📰 Classifieds

Emerge is looking for a Senior Software Engineer (Frontend Lead). Come lead Emerge’s web platform, used by teams like DoorDash, Square, Dropbox & Airbnb (our stack: Next.js, React, TS, Vercel).

💻 Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

“In the beginning there was stdout….” Stop sampling, get Axiom — logging and tracing re-invented.

📢 If you have a community related event, project, podcast, or similar, that would be of interest to Node Weekly readers, let us know by replying to this email and we may be able to run a classified listing as above for free. We want to have a good mix of community and commercial listings.


👋 We’ll be back in three weeks on August 29, 2023. See you soon! If you have anything to submit for the next issue, hit reply and let us know (but appreciate we may be slow to reply since we’ll be on vacation 😉).


Leave a Reply

Your email address will not be published. Required fields are marked *