---
title: "Let's create some dependency graphs"
publication: "Node Weekly"
issue: 498
published_at: "2023-08-08"
canonical_url: "https://nodeweekly.com/issues/498"
---

Plus we're taking a summer break and we're going to mention it several times so be prepared. |        

#​498 — August 8, 2023 

[Read on the Web](https://nodeweekly.com/issues/498)   

**☀️ We're taking two weeks off and will be back on Tuesday, August 29.** 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 in your inbox, it's not a fault at your end :-)
__
_Peter Cooper and the Cooperpress team_ 

Together with [![Temporal logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_451,h_112/e_make_transparent/co_white,e_outline:7/cqly2c0y8ng0dhzk9qpx.png)](https://t.mp/3q8G4RN) 

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/djeyqe8gadkukxv5qmyd.jpg)](https://npmgraph.js.org/)  

[npmgraph: A Way to Visualize Dependency Graphs](https://npmgraph.js.org/) — Give this Web-based tool one or more package names (or a `package.json` 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.   [![\](https://copm.s3.amazonaws.com/e97531f4.png)](https://t.mp/3q8G4RN) 

[On-Demand Webinar: Temporal Roadmap Summer 2023](https://t.mp/3q8G4RN) — 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](https://practica.dev/blog/a-compilation-of-outstanding-testing-articles-with-javaScript/) — 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 Node slant to them. He also mentions his own [list of JavaScript and Node.js Testing Best Practices](https://github.com/goldbergyoni/javascript-testing-best-practices#readme) which is worth revisiting too. 

Yoni Goldberg   

_ASIDES:_ 

- ⚠️ [There are several Node.js security releases due later today.](https://nodejs.org/en/blog/vulnerability/august-2023-security-releases) They've not landed as of the time we're going to press, but new versions of 16.x, 18.x and 20.x are expected imminently.
- Alternative server side JS runtime [Deno 1.36](https://deno.com/blog/v1.36) has landed with extended security options, a polyfill for `node:test`, completion of the `node:os` 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](https://krasimirtsonev.com/blog/article/expressjs-source-viewer) called `view-source`
- [ModelFusion](https://modelfusion.dev/guide/) 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](https://blog.appsignal.com/2023/06/14/puppeteer-in-nodejs-more-antipatterns-to-avoid.html) 
Greg Gorlen   

[Creating a Node API with Knex and Postgres](https://blog.openreplay.com/create-a-node-api-with-knex-and-postgresql/) 
David Ekete   

▶[How GitHub Actions 10x My Productivity](https://www.youtube.com/watch?v=yfBtjLxn_6k) 
Fireship   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ie5vwbtcr0so2xcxsnxl.jpg)](https://www.electronjs.org/fiddle)  

[Fiddle: The Easiest Way to Get Started with Electron](https://www.electronjs.org/fiddle) — 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.](https://github.com/electron/fiddle) 

Electron   

[node-jq 3.0: A Node Wrapper for `jq`](https://github.com/sanack/node-jq) — [jq](https://jqlang.github.io/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. 

sanack   

[React Authentication — Without Complexity](https://userfront.com/tutorials/react-authentication?&utm_source=nodeweekly&utm_medium=newsletter&utm_campaign=sponsored_link&utm_content=react_authentication) — 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](https://github.com/jimp-dev/jimp) — Most image libraries, such as the powerful [Sharp](https://sharp.pixelplumbing.com/), 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](https://filesizejs.com/) — For example, 123456 bytes could turn into `"120.56 KB"` - though different standards of conversion can also be used. [GitHub repo.](https://github.com/avoidwork/filesize.js) 

Jason Mulligan   

[tsup 7.2: Bundle Your TypeScript Library with No Config](https://tsup.egoist.dev/) — Throw your `.js`, `.json`, `.mjs`, `.ts`, and `.tsx` files at the esbuild-powered `tsup` and say hello to transpiled, bundled code for distribution. [More in this tutorial.](https://jsmanifest.com/create-a-modern-typescript-javascript-library/) 

egoist   

[delay: Delay a Promise a Specified Amount of Time](https://github.com/sindresorhus/delay) — _“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](https://github.com/mapbox/supercluster) 
Mapbox      

📰 Classifieds   

[Emerge](https://www.emergetools.com/) is looking for a [Senior Software Engineer (Frontend Lead)](https://www.ycombinator.com/companies/emerge-tools/jobs/zDcS7ia-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](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-nodeweekly%29&utm_content=find-your-next-job). 

--- 

_“In the beginning there was stdout….”_ Stop sampling, [get Axiom — logging and tracing re-invented.](https://axiom.co/?utm_campaign=reinvented&utm_source=cooperp&utm_medium=referral&utm_content=loggingreimagined)    

📢 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.     

_QUICK RELEASES:_ 

- [Puppeteer 21.0](https://pptr.dev/)
 ↳ Headless Chrome/Chromium automation library.
- [express-rate-limit 6.9](https://github.com/express-rate-limit/express-rate-limit)
 ↳ Basic rate limiting for Express apps.
- [node-html-to-image 4.0](https://github.com/frinyvonnick/node-html-to-image)
 ↳ Generate images from HTML using Puppeteer.
- [Opossum 8.1](https://github.com/nodeshift/opossum)
 ↳ Node circuit breaker. Plays dead and fails fast.
- [AutoCannon 7.12](https://github.com/mcollina/autocannon)
 ↳ `wrk`-inspired HTTP/1.1 benchmarking tool.
- [Crawlee 3.5](https://github.com/apify/crawlee/releases/tag/v3.5.0)
 ↳ Web scraping and browser automation library.
- [graphql-constraint-directive 5.2](https://github.com/confuser/graphql-constraint-directive)
 ↳ Validate GraphQL fields.
- [Marked 7.0](https://github.com/markedjs/marked)
 ↳ Fast Markdown parser and compiler.
- [Piscina 4.1](https://github.com/piscinajs/piscina) – Efficient worker thread pool.
- [Pino 8.15](https://github.com/pinojs/pino) – Fast JSON logger.
- [Undici 5.23](https://github.com/nodejs/undici) – The modern HTTP/1.1 client.
- [node-mysql2 3.6](https://github.com/sidorares/node-mysql2)     

👋 **_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 😉).    

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
