---
title: "Puppeteer 4, Node 12.18.1, and Johnny Five 2.0"
publication: "Node Weekly"
issue: 343
published_at: "2020-06-18"
canonical_url: "https://nodeweekly.com/issues/343"
---

This week's Node news, links, and releases.       

#343 — June 18, 2020 

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

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1592497493/hofeg3kvzwifsu7oupsg.jpg)](https://nodejs.org/en/blog/release/v12.18.1/)  

[Node v12.18.1 (LTS) Released](https://nodejs.org/en/blog/release/v12.18.1/) — 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.](https://github.com/nodejs/node/issues/32049) 

Shelley Vohr   

[Why We Switched From Yarn to `pnpm`](https://www.takeshape.io/articles/why-we-switched-from-yarn-to-pnpm/) — [Yarn](https://yarnpkg.com/) and [pnpm](https://pnpm.js.org/) are both popular alternatives to `npm` but why would you switch from one to the other? Improved performance in a monorepo situation. 

Andrew Sprouse   [![\](https://copm.s3.amazonaws.com/99910729.png)](https://circleci.com/blog/circleci-matrix-jobs/) 

[CircleCI Matrix Jobs](https://circleci.com/blog/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](https://www.robinwieruch.de/node-express-error-handling) — The follow up to a post about [creating a REST API with Express](https://www.robinwieruch.de/mongodb-express-node-rest-api) 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](https://github.com/puppeteer/puppeteer/releases/tag/v4.0.0) — 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.](https://github.com/puppeteer/puppeteer) 

Puppeteer Team  

💻 **Jobs**  

[Senior Software Engineer — Save Lives & Make an Impact](https://apply.workable.com/crisistextline/j/12DB87896B/) — 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](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-nodeweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-88879) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery  

🧑‍💻 Interested in running a job listing in this newsletter? _There's [more info here](https://booking.cooperpress.com/jobs)_. 

📚 **Articles & Opinions**  

[What JavaScript Developers Should Know About `curl`](http://thecodebarbarian.com/what-javascript-developers-should-know-about-curl.html) — [curl](https://curl.haxx.se/) 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](https://developer.okta.com/blog/2020/06/01/node-postgres-weight-tracker) — 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](https://www.nearform.com/blog/hapi-a-performance-deep-dive/) — _“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](https://jlongster.com/how-one-word-postgresql-performance) — The creator of a personal finance tool experienced a user whose data caused a flood of `INSERT`s 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](https://www.scrapingbee.com/blog/web-scraping-javascript/) 

Shenesh Perera  

🛠 **Tools, Resources and Libraries**  

[Kleur 4.0: Fast ANSI Color Formatting for Terminal Text](https://github.com/lukeed/kleur) — Has a nice API, supports nested and chained colors, and claims to be the _fastest_ such library, too. [v4.0](https://github.com/lukeed/kleur/releases/tag/v4.0.0), out this week, adds native ES modules support. 

Luke Edwards   

[Jedlik: A DynamoDB ODM for Node, Written in TypeScript](https://github.com/peak-ai/jedlik) — 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 🏃🏽‍♀️🏃](https://buildkite.com/?pk_campaign=nodeweekly-061920&pk_source=cp-nodeweekly&pk_medium=newsletter) — 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](https://github.com/dolanmiu/docx) — `.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.](https://jsfiddle.net/dolanmiu/kqxrj35u/1/) 

Dolan   

[elasticsearch-js: Official Elasticsearch Client for Node](https://github.com/elastic/elasticsearch-js) — [Elasticsearch](https://github.com/elastic/elasticsearch) 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. 

elastic   

[Johnny Five 2.0: A JavaScript Robotics and IoT Programming Framework](https://github.com/rwaldron/johnny-five) — If you’d wondered why you haven’t seen much about Johnny Five lately, don’t fear, because… [_Five is Alive!_](https://www.youtube.com/watch?v=yndq8jeSPc8) v2.0 is primarily [an internal rewrite release](http://johnny-five.io/news/v2_0/) rather than boasting lots of new features, though. 

Rick Waldron   

[Visualize and Optimize Your Node.js App Performance with Datadog APM](https://www.datadoghq.com/dg/apm/node-application-performance/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-NodeWeeklyAppPerformanceB) 

Datadog sponsor   

[Nock 13.0: HTTP Server Mocking and Expectations Library](https://github.com/nock/nock) — 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](https://github.com/nock/nock/releases/tag/v13.0.0). 

Nock   

[epoll 4.0: Low-Level Node Bindings for Linux's `epoll` API](https://github.com/fivdi/epoll) 

Brian Cooke         

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://nodeweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://nodeweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
