---
title: "Getting recursive with Node 20.1"
publication: "Node Weekly"
issue: 485
published_at: "2023-05-09"
canonical_url: "https://nodeweekly.com/issues/485"
---

Plus building Node addons in Rust with Neon, and GitHub Actions forces an upgrade to Node 16. |        

#​485 — May 9, 2023 

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

Together with [![AppSignal logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_700,h_120/e_make_transparent/co_white,e_outline:7/lme8p344dw1aodshz9px.png)](https://blog.appsignal.com/2023/03/22/introducing-appsignal-log-management.html?utm_source=node-weekly-sponsored&utm_medium=email&utm_campaign=2023-03-22) 

![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/bnfxgnz7q12qubsl8rme.jpg)](https://nodejs.org/en/blog/release/v20.1.0)  

[Node v20.1.0 (Current) Released](https://nodejs.org/en/blog/release/v20.1.0) — If you’re still catching your breath after the [epic Node 20 release](https://nodejs.org/en/blog/announcements/v20-release-announce), don’t fear – 20.1 is a more typical bugfix, dependency update, and tweak-style affair. 

Michaël Zasso   

💡 That said, the `fs` `readdir` and `opendir` functions get [a new `recursive` option](https://github.com/nodejs/node/pull/41439) which, a commenter [notes](https://github.com/nodejs/node/pull/41439#issuecomment-1534348246), could replace some popular third party packages that do the same thing, such as [recursive-readdir](https://www.npmjs.com/package/recursive-readdir) which gets over 5 million downloads a week(!)  [![\](https://copm.s3.amazonaws.com/675b79d2.png)](https://blog.appsignal.com/2023/03/22/introducing-appsignal-log-management.html?utm_source=node-weekly-sponsored&utm_medium=email&utm_campaign=2023-03-22) 

[Smooth Logging for Node.js Developers](https://blog.appsignal.com/2023/03/22/introducing-appsignal-log-management.html?utm_source=node-weekly-sponsored&utm_medium=email&utm_campaign=2023-03-22) — Unlock the power of logs with AppSignal. Find all the key information in a few clicks in our clean and intuitive interface. Setting up logging and monitoring can be easy, AppSignal is here to show you how. 

AppSignal sponsor   

[A Practical Guide to Not Blocking the Event Loop](https://www.bbss.dev/posts/eventloop/) — Typically, JavaScript engines run JavaScript in a single thread with an _event loop_. However, the nature of mixing synchronous and asynchronous tasks, along with the increasing popularity of _workers_ for running code on separate threads, makes the landscape harder to navigate than it used to be. 

Slava Knyazev   

**IN BRIEF:** 

- We're going to focus on it more in tomorrow's [React Status](https://react.statuscode.com/), but [Next.js 13.4 has been released](https://nextjs.org/blog/next-13-4) and it pushes hard on the app router approach, the ability to use the filesystem to provide API structure, and a new experimental feature: [_server actions._](https://nextjs.org/blog/next-13-4#server-actions-alpha)
- We know it's not Node, but [Deno](https://deno.com/runtime) continues to take steps forward with [the introduction of Deno KV](https://deno.com/blog/kv), a key value store which isn't merely a cloud service (built on top of FoundationDB) but _also_ a local API backed by SQLite. The API is neat.
- GitHub's Dependabot has received some tweaks making it [less prone to inducing 'alert fatigue' in you](https://github.blog/2023-05-02-dependabot-relieves-alert-fatigue-from-npm-devdependencies/) when updating npm development dependencies.
- Mark Erikson (of Redux fame) wrote a Twitter thread about [🐦 things he has to keep in mind when publishing a library](https://twitter.com/acemarke/status/1652021889307496448) in 2023 – it's a _lot_. He summarized: _"It's a miracle anything about this ecosystem works at all."_   

[GitHub Actions Enforcing Switch from Node 12 to 16](https://github.blog/changelog/2023-05-04-github-actions-all-actions-will-run-on-node16-instead-of-node12/) — Node 12 was released in 2019 and is ‘end of life’ so this update is due. As of May 18, the use of Node 16 (which is currently just optional) for running Actions will be enforced so be sure that your workflows are ready. 

GitHub Blog   

▶[Creating Node Libraries with Rust using Neon: Live](https://www.youtube.com/watch?v=jkC4vik8__k) — We’ve recently linked to posts on using [NAPI-RS](https://napi.rs/) for building Rust-powered addons for Node, but [Neon](https://neon-bindings.com/) offers [another](https://napi.rs/docs/more/neon) approach and you can watch the process live. 

Luciano Mammino   

▶[Building a Twitter-Like Backend: A Step-by-Step Guide](https://www.youtube.com/watch?v=mABcyifdsww&t=3s) — You’ll need some serious time to get through this (5 hours!) but it covers building a REST API with Express, using Prisma for database interactions, passwordless auth with email, and more. 

Vadim Savin    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zyv6lvamblqbwwvrwvi4.jpg)](https://github.com/75lb/handbrake-js)  

[Handbrake-JS 7.0: Control Video Encoding and Transcoding from Node](https://github.com/75lb/handbrake-js) — An interface to the popular, open source [Handbrake](https://handbrake.fr/) video transcoding tool. 

Lloyd Brookes   

[Node Authorization, Simplified](https://www.aserto.com/blog/building-react-node-app-aserto-authorization?utm_source=nodeweekly) — Follow this step-by-step guide to easily add role-based access control (RBAC) to a React frontend and Node backend. 

Aserto sponsor   

[A Boilerplate and Starter App for Node Serverless Apps](https://github.com/ixartz/Serverless-Boilerplate-Express-TypeScript) — Leans upon [Serverless Framework](https://www.serverless.com/), Express, TypeScript, Prisma, Husky and more to provide a lot of functionality out of the box. 

Remi W.   

[ultramatter: A <1KB Library for Parsing Frontmatter](https://github.com/natemoo-re/ultramatter) — A dependency-free JavaScript library that parses YAML-based frontmatter on files. 

Nate Moore   

[Notion-to-MD: Convert Notion Pages to Markdown](https://github.com/souvikinator/notion-to-md) — Supports a lot of special formatting and structure that the popular note-taking system offers. 

Souvik Kar Mahapatra   

[AutoCannon 7.11: A Fast HTTP/1.1 Benchmarking Tool](https://github.com/mcollina/autocannon) — Inspired by wrk and wrk2 with support for HTTP pipelining. 

Matteo Collina   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/eg01rqdee2uttgobkia9.jpg)](https://github.com/JS-DevTools/npm-publish)  

- [npm-publish 2.1](https://github.com/JS-DevTools/npm-publish)
 ↳ GitHub Action to publish to NPM.
- [oclif 3.9](https://github.com/oclif/oclif)
 ↳ Node.js Open CLI Framework.
- [Meow 12.0.1](https://github.com/sindresorhus/meow)
 ↳ Simple CLI app helper.
- [Official MongoDB Node.js Driver 5.4](https://github.com/mongodb/node-mongodb-native/releases/tag/v5.4.0)
- [pnpm 8.4](https://github.com/pnpm/pnpm) – Efficient package manager.
- [Electron 24.2](https://github.com/electron/electron/releases/tag/v24.2.0)
- [Node MySQL 2 3.3](https://github.com/sidorares/node-mysql2)    

💻 Jobs  

[Team Lead Web Development](https://www.komoot.com/jobs/9C5B6E4C0B/team-lead-web-development) — Experienced with Node, React, and TS? Join us and lead a motivated team of devs and help grow and shape the future of our web app focused on helping millions explore the outdoors. 
Komoot   

[Find Tech Jobs with Hired](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) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired      

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