#368 — December 10, 2020

Read on the Web

Node Weekly

An Introduction to Event Loop Utilization — Trevor Norris of the core Node.js team has put together a neat writeup of what he’s discovered by measuring and tracking what the event loop is doing. Gets very technical fast, but you might enjoy this brief trip to a fundamental piece of the Node runtime.

Trevor Norris

Node v15.4.0 (Current) Released — Nothing huge here, but child_process now supports abort signals, as do readable streams, the main ICU (Unicode) dependency has been updated, and there’s a “very experimental and definitely not finished” BroadcastChannel implementation for worker threads (based upon the Web feature of the same name).

Danielle Adams (Node.js Project)

Build Code and Ship In App Messaging in a Few Hours — Stream makes it easy with SDKs and Chat React UI Components. Stream powers Feeds and Chat for over one billion end-users.

Stream sponsor

How to Handle Request Validation in Your Express API“You know it’s important, but it’s difficult to pick a validation library, and if you start writing your own custom validation it can quickly start to feel very messy..”

Simon Plenderleith

npm v7.1.0 Released with Two Small New Features — Two new small but sweet features. We get a new command – npm set-script – which lets you create a task in the scripts section of package.json. npm exec now also triggers an interactive subshell for running installed binaries (in the same way npm run scripts can).

The npm Blog

📗 Tutorials and Stories

Serverless Node.js You Can Run Anywhere — You may have heard of AWS Lambda or Azure Functions, but OpenFaaS is an interesting open source functions-as-a-service platform you can deploy to your own machines. Here’s how you can use Node with it (and not just functions but Express apps too).

Alex Ellis

Automatically Generating Social Share Images Serverlessly — This is a perfect use case for a serverless function (on Netlify Functions this time) and a great example of post that pulls together a variety of ideas for a creative end result.

Ryan Filler

Puppeteer vs Selenium vs Playwright, A Browser Automation Speed Comparison — Spoiler: There are differences in microbenchmarks but in real world scenarios it’s basically a wash. Use whichever suits your use case.

Giovanni Rago (Checkly)

10 React Security Best Practices — A checklist to help you and your team find and fix security issues in your React applications.

Snyk sponsor

How to Make Your Code Reviewer 'Fall in Love with You' — Not Node specific and the title is a little.. cute(?) but there's plenty of useful insights and ideas in here that I think you'll enjoy it, particularly if you want 'plays well with others' on your next report card 😁

Michael Lynch

What's New in Mongoose 5.11: Custom Casting for Paths
Valeri Karpov

10 git Aliases for a Faster Workflow
Royee Shemesh (Snyk)

How to Use Docker with Node, A Step-by-Step Tutorial
Geshan Manandhar

🛠 Code and Tools

supported by Okta

cfonts: Striking Text Banners for the Terminal — If you want to catch everyone’s attention when they install your npm package (please don’t..) this might fit the bill ;-)

Dominik Wilkowski

Nodesource Brings arm64 Support to its Node Binary Distributions — If you want Node in a package to run on aarch64 with CentOS, RHEL, Fedora, Amazon Linux or CloudLinux, NodeSource has what you need.

Liz Parody (NodeSource)

htmlparser2 6.0.0: A Forgiving HTML and XML Parser — Consumes documents and calls callbacks, but it can generate a DOM as well. There’s a live demo here.

Felix Böhm

Node.js + Express: An OpenTelemetry Deep Dive

Lightstep sponsor

node-oracledb 5.1: An Oracle Database Driver for Node — Coincides with the release of Oracle Database 21c which features enhanced JSON functionality and which this Oracle maintained library now supports too. GitHub repo.

Oracle

pg-listen: Postgres LISTEN and NOTIFY for Node.js — Did you know you can use Postgres as a message broker with notification channels? This makes it all easier for Node.

Andy Wermke

Rollpkg: Tool to Create Packages with Rollup and TypeScript
Rafael Pedicini

💻 Jobs

Principal NodeJS Software Engineer (Remote) — We’re looking for a full-time engineer with extensive NodeJS experience. Check out our development team principles and apply here.

STRATEGIC SYSTEMS

Find Your Next Job Through Vettery — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery