---
title: "Running other processes from Node, but better"
publication: "Node Weekly"
issue: 532
published_at: "2024-05-14"
canonical_url: "https://nodeweekly.com/issues/532"
---

Plus a better server-sent events library, doing yoga with GraphQL, and Google's zx gets a nice update. |        

#​532 — May 14, 2024 

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

Together with [![Stytch logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_250,h_100/e_make_transparent/co_white,e_outline:7/ybmf19rrsbnymq3rn7n3.png)](https://stytch.com/blog/how-to-implement-m2m-authentication-and-authorization-in-node-js-using-stytch/?utm_source=node-weekly&utm_medium=paid_sponsorship&utm_content=node-weekly-05-14-2024&utm_campaign=node-weekly-05-14-2024-m2m)  

![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/ptj56wfrexosd7gf6vkb.jpg)](https://medium.com/@ehmicky/execa-9-release-d0d5daaa097f)  

[Execa 9.0: The Better `child_process` Gets Even Better](https://medium.com/@ehmicky/execa-9-release-d0d5daaa097f) — Less shell-oriented than [zx](https://github.com/google/zx), `execa` focuses on making executing external commands secure, cross-platform, and easy to debug. v9 lets you make commands iterable so you can process their output on the fly, map/filter both input and output, pipe multiple commands, and more. [GitHub repo](https://github.com/sindresorhus/execa). 

ehmickey, Sorhus, et al.   

💡 They've also put together a page [comparing bash, Execa, and zx](https://github.com/sindresorhus/execa/blob/main/docs/bash.md) so you can get a better feel for the differences and see more code examples.  [![\](https://copm.s3.amazonaws.com/5d1a1425.png)](https://stytch.com/blog/how-to-implement-m2m-authentication-and-authorization-in-node-js-using-stytch/?utm_source=node-weekly&utm_medium=paid_sponsorship&utm_content=node-weekly-05-14-2024&utm_campaign=node-weekly-05-14-2024-m2m) 

[Secure M2M Authentication and Authorization in Node.js](https://stytch.com/blog/how-to-implement-m2m-authentication-and-authorization-in-node-js-using-stytch/?utm_source=node-weekly&utm_medium=paid_sponsorship&utm_content=node-weekly-05-14-2024&utm_campaign=node-weekly-05-14-2024-m2m) — Learn how to implement the OAuth 2.0 client credentials grant flow for secure machine-to-machine (M2M) authentication in Node.js with Stytch. Plus, get started with 1,000 M2M tokens free. 

Stytch sponsor   

[Node v20.13.0 (LTS) Released](https://nodejs.org/en/blog/release/v20.13.0) — A lot of small backports to boost the performance of the current LTS release of Node a little. Most notably, **watch mode becomes stable**, but also `base64` and `base64url` are now a lot faster, `CustomEvent` goes stable, and typed arrays are supported in streams. [20.13.1](https://nodejs.org/en/blog/release/v20.13.1) landed a few days later to fix a Windows related bug. 

Marco Ippolito   

**OTHER RUNTIMES NEWS:** 

- [Bun 1.1.8](https://bun.sh/blog/bun-v1.1.8) has been released and continues to improve its support for Node APIs, has a much faster `JSON.parse`, and fixes a slew of bugs.
- Deno hasn't been hanging around either, with [version 1.43](https://deno.com/blog/v1.43#nodejs-and-npm-compatibility) boasting performance improvements particularly in its LSP and IDE integration, also explained [▶️ in this 2-minute video](https://www.youtube.com/watch?v=1IzcI-91iQM).   

[Hot Module Replacement (HMR) Now in AdonisJS](https://adonisjs.com/blog/hmr-in-adonisjs) — [AdonisJS](https://adonisjs.com/) is a popular TypeScript-first Web framework for Node and you can now use HMR to modify your dev app on the fly without restarting. 

Julien Ripouteau   

🪝 [Hot Hook: Simple Hot Module Replacement for Node + ESM](https://github.com/julien-R44/hot-hook) — Following directly on from the Adonis news (above), _Hot Hook_ is the library they use to pull it off, but it can be used to enhance apps that _aren’t_ Adonis-based, too. 

Julien Ripouteau et al.   

[Integration Testing Made Easy for Developers](https://www.hypertest.co) — Node devs, test code with dependencies like databases, APIs & queues, never miss integration failures. >90% coverage. 

HyperTest sponsor   

['How I Made My GitHub Profile README Dynamic'](https://tduyng.github.io/blog/dynamic-github-profile-readme/) — There’s no Node here, alas, but I thought it was a good demo of how it’s not too tricky to give your GitHub profile some extra flair by pulling in your blog posts or other stats of choice. 

Duy Ng   

⚙️ [Awesome Regex: Opinionated List of Regular Expression Tools, Tutorials, Libraries, etc.](https://github.com/slevithan/awesome-regex) Steven Levithan 

📄 [A Simple Implemention to Understand `worker_threads` in Node](https://coderoasis.com/worker-threads-nodejs/) CoderOasis    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/svmjr50jkgd2espdahbb.jpg)](https://the-guild.dev/graphql/yoga-server)  

[GraphQL Yoga: A Full-Featured GraphQL Server](https://the-guild.dev/graphql/yoga-server) — Create a schema, spin up a server, and you’re good to go (then you get to wire everything up). Supports GraphQL subscriptions via SSE. Designed to run across numerous environments from Node to AWS Lambda, Deno, Bun etc. [GitHub repo](https://github.com/dotansimha/graphql-yoga). 

The Guild   

[Better-SSE: A Dependency-Free Server-Sent Events Library](https://github.com/MatthewWid/better-sse) — [Server-sent events (SSE)](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events) is an API supported by browsers for allowing server-side processes to send events in realtime to frontends _without_ WebSockets. Better-SSE makes working with SSE a smoother experience in Node. 

Matthew Widdicombe   

[Transformational Auth & Identity | Userfront](https://userfront.com/?&utm_source=nodeweekly-com&utm_medium=newsletter_sponsored_link&utm_campaign=magnitude&utm_content=transformational) — "Compared to our previous experiences in the security/auth space, Userfront is an order of magnitude simpler to use." 

Userfront sponsor   

[Better SQLite3 10.0: Fast and Simple SQLite3 Library](https://github.com/WiseLibs/better-sqlite3) — ..and with [good docs too.](https://github.com/WiseLibs/better-sqlite3/blob/master/docs/api.md) Supports a lot of SQLite specific functionality, has a _synchronous_ API that boasts better concurrency than an async one ([why?](https://github.com/WiseLibs/better-sqlite3#why-should-i-use-this-instead-of-node-sqlite3)), and worker thread support. 

Joshua Wise   

[Ink 5.0: Build Interactive CLI Apps using React](https://github.com/vadimdemedes/ink) — A terminal-based React renderer so you can build command line apps using React-style components. While it’s a major release, there’s nothing new - the version number has been updated to reflect that Node 18+ is now a requirement. 

Vadim Demedes      

📰 Classifieds   

⚡ [Hookdeck Vercel Middleware](https://hookdeck.com/blog/hookdeck-vercel-middleware?ref=nodeweekly-532) - git-based, framework-defined async endpoints that scale: pausing, observability, retrying, replaying & throttling. 

--- 

Your fastest path to production. [With Render you can Build, deploy, and scale your apps with unparalleled ease](https://render.com) – from your first user to your billionth.     

[NodeBB 3.7.5: Node-Based Forum Software](https://github.com/NodeBB/NodeBB) — It’s been over a year since we linked to the mature Node-based forum system, but it’s still going strong. There’s [a demo forum](https://try.nodebb.org/) if you want to see how it looks. 

NodeBB   

- ⭐️ [zx 8.1](https://github.com/google/zx/releases/tag/8.1.0) – Google's tool for better Node shell scripting. Both CommonJS and ESM now supported, increased Node version support, Deno 1.x support, and more.
- [Tinypool 0.9](https://github.com/tinylibs/tinypool) – Minimal, small Node worker thread pool implementation.
- [Fastify 4.27](https://github.com/fastify/fastify) – The fast, low overhead web Node.js framework.
- [aws-lambda-fastify 4.1](https://github.com/fastify/aws-lambda-fastify) – Run Fastify apps on AWS Lambda.
- [sqs-consumer 10.3](https://github.com/bbc/sqs-consumer) – The BBC's solution to building AWS Simple Queue Service (SQS) apps _sans_boilerplate
- [detect-port 1.6.1](https://github.com/node-modules/detect-port) – Module to detect available ports.
- [Evershop 1.1](https://github.com/evershopcommerce/evershop) – ️ Node-based e-commerce platform.
- [grammY 1.23](https://github.com/grammyjs/grammY) – Telegram bot framework.
- [Pino 9.1](https://github.com/pinojs/pino/releases/tag/v9.1.0) – Fast JSON-powered logging.    

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