#332 — April 2, 2020

Read on the Web

Node Weekly

A Practical Guide to Memory Leaks in Node“Memory leaks are like parasites of an application,” starts Arbaz before deftly working through just what problems memory leaks in an app can cause and how to debug a simple one.

Arbaz Siddiqui

Node v13.12.0 (Current) Released — In addition to the usual dependency updates (npm to 6.14.4, libuv to 1.35.0), diagnostic reports are now considered stable, and Node’s macOS binaries are now compiled in a way that supports notarization.

Myles Borins

Optimize Node.js Application Performance Metrics in Real-Time — Debug and optimize your code by tracing requests across web servers, databases, and services in your environment. Visualize Node.js app performance today with a free Datadog APM trial.

Datadog APM sponsor

npm Inc's Statement on the COVID-19 Crisis — There’s not a lot to report on here, but npm are confident in the robustness of the registry, their team, and their processes which is certainly reassuring. In other npm Inc news, they’ve also updated their privacy policy.

The npm Blog

Webdriver I/O v6 ReleasedWebdriver I/O is a browser automation test framework for Node. It’s now possible to use Puppeteer with it, Node 8 support is dropped, there’s a new assertion library, performance improvements, and more.

Christian Bromann

Node 14.0.0 Release Candiate 1 — If you’re bored or otherwise fancy kicking the tires of the next major version of Node, here are your downloads. Final release of 14 as the new ‘current’ release is due in a few weeks and we’ll feature it again then. Node 14 should then become LTS in October.


💻 Jobs

Node.js Developer at X-Team (Remote) — Join X-Team and work on projects for companies like Riot Games, FOX, Coinbase, and more. Work from anywhere.


Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.


ℹ️ Interested in running a job listing in Node Weekly? There's more info here.

📚 Tutorials

▶  A Crash Course on Worker Threads — Node 10.5 introduced ‘worker_threads’, enabling the creation of multi-threaded applications. This talk is a quick and accessible introduction to the fun of worker_threads and the sometimes daunting world of threads.

Rich Trott

Diagnostics in Node.js — The first in a new series looking at a range of diagnostic techniques, from old to new.

Liz Parody

Node.js in a Kubernetes World — Runs though seven basic tasks that Node devs planning to work with Kubernetes should understand.

Michael Dawson

▶  CodeLive: Build a GraphQL API Integrated with Salesforce — Learn about the Heroku Platform and how it integrates with Salesforce, including live coding with different technologies.

Heroku sponsor

Implementing a GitHub OAuth Login with Node — If you’d like users to log into your own app using their GitHub account (and, perhaps, even perform actions relating to their GitHub account via your app) this is for you.

Valeri Karpov

A Deep Dive into Pointer Compression in V8 — A very technical post that, gladly, you don’t need to understand in order to enjoy that pointer compression lets the latest version of the V8 JavaScript engine use as much memory as if it were 32 bit while having 64 bit performance.

Igor Sheludko and Santiago Aboy Solanes

Puppeteer or: How I Learned to Stop Worrying and Love the Automation — A breezy beginner’s guide to using Puppeteer for controlling a Chrome instance. (If you already use Puppeteer, skip this one.)

Ali Bahraminezhad

How to Build a Telegram Bot for GitHub Actions — Make a Telegram bot with Node.js and use it with GitHub Actions for sending notifications to you about a repo.

Athul Cyriac Ajay

Can't Go to a Conference? Join JS VidCon — Virtual Conference for Devs

EventHandler sponsor

How to Effectively use GRPC Streams in Node

Aditya Sridhar

🛠 Tools, Resources and Libraries

nodenv 1.3.2: Manage Multiple Node Versions Easily — Specify your app’s Node version once in a single file and it all Just Works™.

Will McKenzie and Sam Stephenson

imap-simple: A Simpler Wrapper for node-imap — If you want to access an email account directly over IMAP, this makes it pretty simple, though you’ll want node-imap directly for full power.

Chad McElligott

p-queue: A Promise Queue with Concurrency Control — Useful for rate-limiting operations such as when interacting with third party APIs.

Sindre Sorhus