---
title: "Let's get debugging"
publication: "Node Weekly"
issue: 490
published_at: "2023-06-13"
canonical_url: "https://nodeweekly.com/issues/490"
---

Plus Node 20.3, fast time zone lookups, and building Minecraft bots in Node. |        

#​490 — June 13, 2023 

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

Together with [![Memetria\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_145/e_make_transparent/co_white,e_outline:7/vvpdctzacmq3xehpvwps.png)](https://dashboard.memetria.com/nodeweekly) 

![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/rdar7plpljisqix9qny5.jpg)](https://blog.openreplay.com/an-introduction-to-debugging-in-nodejs/)  

[An Introduction to Debugging Tools and Approaches for Node](https://blog.openreplay.com/an-introduction-to-debugging-in-nodejs/) — An informative primer on debugging, from simple things like using IDE extensions to highlight potential problems or, yes, console logging, through to using the V8 inspector and debugging via Chrome. 

Craig Buckler   

[Node v20.3.0 (Current) Released](https://nodejs.org/en/blog/release/v20.3.0) — On paper, it's a minor release, but a libuv upgrade (the library that provides Node with its async I/O functionality) introduces significant performance improvements on Linux, [`AbortSignal.any()`](https://github.com/nodejs/node/pull/47821) has been introduced, and [Ruy Adorno’s](https://twitter.com/ruyadorno) presence on the Node.js TSC is officially recognized. 

Michaël Zasso   [![\](https://copm.s3.amazonaws.com/887992a4.png)](https://dashboard.memetria.com/nodeweekly) 

[Memetria: Secure, Scalable Redis 7 Hosting](https://dashboard.memetria.com/nodeweekly) — The latest Redis features, instrumented and scaled with the tools teams need as they grow. 

Memetria sponsor    

[Designing a Scalable Backend in Node](https://blog.appsignal.com/2023/06/07/designing-a-scalable-backend-in-nodejs.html) — Three arbitrary scaling challenges for Node apps examined through the lens of a hypothetical personal budgeting app that has to interact with third party APIs. 

Nate Anderson   

`?` [Backtick Strings are Likely the Wrong Tool for Your Job](https://spin.atomicobject.com/2023/06/05/javascript-backtick-strings-wrong/) — It’s not uncommon to build URL query strings with JavaScript’s template strings, says Mattie, but this opens up potential injection problems. Luckily, there’s an alternative, safer, standardized approach.. 

Mattie Behrens   

[Reducing Search Latency with Server-Sent Events via Express](https://www.hyperdx.io/blog/speeding-up-search-latency-with-server-sent-events-on-express) — If you have a situation where information takes a long time to fetch and collate, you might want to stream it to clients so they can get something on screen faster. If that streaming is only in a single direction, SSE is a good fit vs WebSockets. 

Michael Shi (HyperDX)   

[🚀 Need to Upgrade React Native from V0.59 to V0.71? We Can Help 🚀](https://go.upgradejs.com/lqu) — Read the full case study on our bold upgrade strategy (regenerating the ReactNative project) to reduce tech debt. 

UpgradeJS | JS Upgrade Services sponsor   

[Why You Should Pin Your GitHub Actions by Commit Hash](https://blog.rafaelgss.dev/why-you-should-pin-actions-by-commit-hash) — As per the OSSF Scorecard, pinning an action to a full-length commit SHA is currently the only method to ensure the use of an action as an immutable release. 

Rafael Gonzaga   

[How to Generate Presigned URLs with AWS Node.js SDK V3](https://www.raymondcamden.com/2023/06/09/quick-example-using-aws-nodejs-sdk-v3-for-signed-urls) 
Raymond Camden   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/j4trm1z9un36dimxqgga.jpg)](https://github.com/photostructure/tz-lookup/releases/tag/8.0.0)  

⏱🌎 [tz-lookup 8.0: Fast Time Zone Estimations from Latitude and Longitude](https://github.com/photostructure/tz-lookup/releases/tag/8.0.0) — _“This package trades speed and size for accuracy.”_ At 10x smaller and 20x faster than [node-geo-tz](https://github.com/evansiroky/node-geo-tz/), this might be accurate enough for your timezone inference use cases. 

Matthew McEachen   

[Traf: Find Truly Affected Packages in Monorepos](https://github.com/lemonade-hq/traf) — If you’re waiting on CI tasks due to a small package update in your monorepo, this is for you. Traf optimizes your monorepo dev process by finding affected dependencies and selectively triggering builds and tests _only when needed._ 

Lemonade   

[WhatWG Node: WhatWG Standard API Packages for Node](https://github.com/ardatan/whatwg-node) — Using the [_ponyfill_](https://ponyfoo.com/articles/polyfills-or-ponyfills) approach (nothing is patched or modified under the hood) you can use the [Fetch standard](https://fetch.spec.whatwg.org/) both in a client [or server adapter](https://github.com/ardatan/whatwg-node/tree/master/packages/server) context, as well as the [DOM Events Standard.](https://github.com/ardatan/whatwg-node/tree/master/packages/events) 

Arda TANRIKULU   

[pgsql-ast-parser 11.1: A Simple Postgres SQL Parser](https://github.com/oguimbal/pgsql-ast-parser) — A TypeScript-based SQL syntax parser that produces a typed AST. It’s used as part of the author’s [pg-mem project](https://github.com/oguimbal/pg-mem) which provides a mini, ‘in memory’ Postgres clone in Node or the browser. 

Olivier Guimbal   

[Untildify: Convert a Tilde Path to an Absolute Path](https://github.com/sindresorhus/untildify) — For example: `~/dev` might become `/Users/sindresorhus/dev` 

Sindre Sorhus    

💻 Jobs  

[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      

- [Destr 2.0](https://github.com/unjs/destr) – Faster alternative for `JSON.parse`. [Now](https://github.com/unjs/destr/releases/tag/v2.0.0) type safe by default.
- [Crawlee 3.4](https://github.com/apify/crawlee) – Web scraping and browser automation library.   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/l6d7o8px0pfjzaai0ed9.jpg)](https://github.com/PrismarineJS/mineflayer)  

- [Mineflayer 4.9](https://github.com/PrismarineJS/mineflayer) – Create Minecraft bots from JavaScript.
- [Racer 1.1](https://github.com/derbyjs/racer) – Realtime model synchronization engine.    

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