---
title: "Two new libraries from Sindre Sorhus"
publication: "Node Weekly"
issue: 546
published_at: "2024-09-03"
canonical_url: "https://nodeweekly.com/issues/546"
---

Plus talking Deno 2, using atomics for safer multi-threaded programming, and behind the scenes of VS Code. |        

#​546 — September 3, 2024 

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

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/courses/frontend-system-design/?utm_source=email&utm_medium=nodeweekly&utm_content=fsd)  

![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/xozxp0pigqwsvbw14z8v.jpg)](https://www.prisma.io/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm)  

[Prisma 5.19.0, Now with 'Typed SQL'](https://www.prisma.io/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm) — [Prisma](https://www.prisma.io/docs/orm/overview/introduction/what-is-prisma) is a popular [declaratively-driven ORM](https://www.prisma.io/docs/orm/overview/prisma-in-your-stack/is-prisma-an-orm) in the Node.js / TypeScript world and its new version makes it possible to write raw SQL queries in a type-safe way. 

Nikolas Burk   

[Node v22.8.0 (Current) Released](https://nodejs.org/en/blog/release/v22.8.0) — This landed just before we hit ‘send’! :-) The enhancements are minor, but there are a few, including a new API for enabling on-disk code caching of modules (rather than using the `NODE_COMPILE_CACHE` env var) and a way to set required thresholds for code coverage measurements. 

Rafael Gonzaga   [![\](https://copm.s3.amazonaws.com/eed28670.png)](https://frontendmasters.com/courses/frontend-system-design/?utm_source=email&utm_medium=nodeweekly&utm_content=fsd) 

[Front-End System Design](https://frontendmasters.com/courses/frontend-system-design/?utm_source=email&utm_medium=nodeweekly&utm_content=fsd) — Learn to create scalable, efficient user interfaces in this extensive video course by Evgennii Ray. Explore the box model, browser rendering, DOM manipulation, state management, performance and much more. 

Frontend Masters sponsor   

[Multithreaded Programming in Node.js using Atomics](https://pavel-romanov.com/multithreading-in-nodejs-using-atomics-for-safe-shared-memory-operations) — [Worker threads](https://nodejs.org/api/worker_threads.html) enable you to write multi-threaded Node apps, but sharing resources across them can quickly become tricky. _Atomics_ can help you avoid some of the pain. 

Pavel Romanov   

▶[Talking Deno 2 with Ryan Dahl](https://www.youtube.com/watch?v=tZBCq8Ijkgw) — A chat with Deno creator Ryan Dahl _(originally Node’s creator too)_ about the forthcoming Deno 2.0, its new features, and how it seamlessly integrates with popular frameworks like Next.js. Ryan shares insights on the motivations behind Deno’s creation, its emphasis on simplicity and security, and offers his take on the evolving JavaScript ecosystem. 

Syntax․fm   

[How to Deploy Node to AWS Lambda with OpenTofu and GitHub Actions](https://developer-friendly.blog/blog/2024/09/02/how-to-deploy-nodejs-to-aws-lambda-with-opentofu--github-actions/) — Someone on Hacker News joked that this is how to deploy a Node.js app _enterprise-style_. A lot of tooling is involved, but this is the reality for many developers, and Meysam walks through the steps. 

Meysam Azad   

▶[Behind the Scenes: The Making of VS Code](https://www.youtube.com/watch?v=BDU63r4bS9Q) — A detailed conversation with two of the principal engineers who work on the engineering team of the popular Electron-powered editor. 

Holland, Rieken and Pasero (Microsoft)   

[Why Playwright is Less Flaky Than Selenium](https://justin.searls.co/links/2024-08-29-why-playwright-is-less-flaky-than-selenium/) — “_Playwright is so fast that it forces you to write UI tests correctly on day one. Selenium isn’t._” 

Justin Searls   

[Developer’s Guide to Heroku Dynos](https://judoscale.com/blog/how-many-dynos?ref=NodeWeekly) — Which dynos should you use, and how many? (TLDR: Don’t use Perf-M!) 

Judoscale sponsor   

📄 [How I Created a 3.78MB Docker Image for a JavaScript Service](https://shenzilong.cn/record/How%20I%20Created%20a%203.78MB%20Docker%20Image%20for%20a%20JavaScript%20Service) – A rather unorthodox approach, however. Shenzilong 

📄 [How Sentry Uses Mutation Testing on its JavaScript SDKs](https://sentry.engineering/blog/js-mutation-testing-our-sdks) Lukas Stracke (Sentry) 

📄 [How to Handle Errors in Next.js for Node with the App Router](https://blog.appsignal.com/2024/08/28/how-to-handle-errors-in-nextjs-for-node-with-the-app-router.html) Antonello Zanini 

📄 [Is Wasp the JavaScript Answer to Django for Web Development?](https://wasp-lang.dev/blog/2024/08/20/django-vs-wasp) Sam Jakshtis (Wasp)    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pzqf9ncsvnimdcseo3ov.jpg)](https://github.com/sindresorhus/yocto-spinner)  

[yocto-spinner: Tiny Terminal Spinner](https://github.com/sindresorhus/yocto-spinner) — Fresh from the one-man module powerhouse that is Sindre Sorhus comes a new project: a tiny, as simple-as-possible terminal spinner/progress control. _(‘Yocto’ is a [metric prefix](https://en.wikipedia.org/wiki/Metric_prefix) that sits below nano, pico, femto, atto, and even zepto..)_ 

Sindre Sorhus   

[google-spreadsheet: Google Sheets API Wrapper for Node](https://theoephraim.github.io/node-google-spreadsheet/) — Work with Google’s online spreadsheet from Node, whether at the cell, row, worksheet or document level. Supports numerous auth options and you can export sheets for download too. [GitHub repo](https://github.com/theoephraim/node-google-spreadsheet). 

Theo Ephraim   

[Light My Request: Fake HTTP Injection Library](https://github.com/fastify/light-my-request) — Injects a fake HTTP request/response into a Node HTTP server for simulating server logic, writing tests, or debugging. Doesn’t use a socket connection so can be run against an inactive server (server not in listen mode). 

Fastify   

[multicast-stream: Create a Multicast Stream Multiple Consumers Can Use Independently](https://github.com/sindresorhus/multicast-stream) — We get _two_ new libraries from Sindre this week. This one is a multicast stream that lets multiple consumers independently read the same data. 

Sindre Sorhus   

- [Path-to-RegExp 8.0](https://github.com/pillarjs/path-to-regexp/releases/tag/v8.0.0) – Turn path strings (e.g. `/user/:name`) into regular expressions.
- [Mongoose 8.6](https://mongoosejs.com/) – Popular MongoDB object modeling library.
- [LogTape 0.5](https://logtape.org/) – No-dependency logging lib for Deno, Node, Bun & browsers.
- [Wasp 0.14.1](https://github.com/wasp-lang/wasp) – [Wasp](https://wasp-lang.dev/) is a Rails-like framework using Node, React & Prisma.
- [Discord.js 14.16](https://github.com/discordjs/discord.js) – Official library for interacting with Discord's API.
- [NVM Desktop 3.4](https://github.com/1111mp/nvm-desktop) – Desktop UI for [Node Version Manager](https://github.com/nvm-sh/nvm).
- [zx 8.1.5](https://github.com/google/zx/releases/tag/8.1.5) – Google's tool for better Node shell scripting.
- [hyperid 3.3](https://github.com/mcollina/hyperid) – Fast unique ID generation library.
- [Pino 9.4](https://github.com/pinojs/pino/releases/tag/v9.4.0) – Fast JSON-oriented logger.    

**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|*).
