#343 — June 18, 2020

Read on the Web

Node Weekly

Node v12.18.1 (LTS) Released — Only the tiniest of Node releases so far this week in the shape of a Node 12 LTS point release that updates some underlying dependencies (such as npm to 6.14.5) and a cherry picked V8 fix for an object enumeration performance issue.

Shelley Vohr

Why We Switched From Yarn to pnpmYarn and pnpm are both popular alternatives to npm but why would you switch from one to the other? Improved performance in a monorepo situation.

Andrew Sprouse

CircleCI Matrix Jobs — With matrix jobs, you can create jobs that will build and test your code across multiple operating systems, versions of dependencies, and more with just a few lines of code.

CircleCI sponsor

How to Handle Errors in Express — The follow up to a post about creating a REST API with Express focuses on the error handling side of things which really shouldn’t be an afterthought.

Robin Wieruch

Puppeteer v4.0.0 Released: The Node API for Chrome — The popular way to remotely control a headless Chrome instance gets a major version bump with the main breaking change being that Puppeteer no longer uses Node’s EventEmitter library in order to make it more environment agnostic. It’s also now “much better at killing lingering browser processes.” GitHub repo.

Puppeteer Team

💻 Jobs

Senior Software Engineer — Save Lives & Make an Impact — We use Node/TS/React & ML to provide crisis support via SMS. Help us scale globally with a focus on privacy and security.

Crisis Text Line

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 this newsletter? There's more info here.

📚 Articles & Opinions

What JavaScript Developers Should Know About curlcurl is a fantastic (and borderline universal) command line HTTP client that lets you test, tweak, and manipulate requests both targeting your own apps and APIs as well as those of others.

Valeri Karpov

Build a Weight Tracker App with Node and Postgres — A substantial walkthrough of building a Node app on top of Hapi, Vue.js, and Okta for the account registration and logins.

David Neal

A Performance Deep-Dive into the Hapi Web Framework“we were able to squeeze out a 30% performance boost in hapi using relatively simple changes.”

Mathius Buus

How One Word in Postgres Unlocked a 9x Performance Improvement — The creator of a personal finance tool experienced a user whose data caused a flood of INSERTs large enough to cause a problem. Here’s the tale of how a simple RETURNING clause enabled a huge optimization in the process.

James Long

The Basics of Web Scraping with Node

Shenesh Perera

🛠 Tools, Resources and Libraries

Kleur 4.0: Fast ANSI Color Formatting for Terminal Text — Has a nice API, supports nested and chained colors, and claims to be the fastest such library, too. v4.0, out this week, adds native ES modules support.

Luke Edwards

Jedlik: A DynamoDB ODM for Node, Written in TypeScript — Amazon’s DynamoDB is a popular, highly scalable managed NoSQL database system (that I’m personally very fond of) and Jedlik brings it into Node in a pretty idiomatic way.

Peak AI

Builds Run Faster on Buildkite 🏃🏽‍♀️🏃 — Build times <5 mins at any scale. Self-hosted agents work with all languages, source control tools & platforms.

Buildkite sponsor

DOCX: A Declarative API to Generate .docx Files.docx files being more commonly known as modern Microsoft Word documents. This library works in both Node and the browser and there’s a live demo here.


elasticsearch-js: Official Elasticsearch Client for NodeElasticsearch is a great open source search database system for adding powerful search features to your apps and the latest official Node client adds support for v7.8.


Johnny Five 2.0: A JavaScript Robotics and IoT Programming Framework — If you’d wondered why you haven’t seen much about Johnny Five lately, don’t fear, because… Five is Alive! v2.0 is primarily an internal rewrite release rather than boasting lots of new features, though.

Rick Waldron

Visualize and Optimize Your Node.js App Performance with Datadog APM

Datadog sponsor

Nock 13.0: HTTP Server Mocking and Expectations Library — Let’s say you’re creating a client library that uses HTTP to hit a third party service.. Nock will let you test it in isolation by mocking requests/responses. v13.0 release notes.


epoll 4.0: Low-Level Node Bindings for Linux's epoll API

Brian Cooke