#​392 — June 10, 2021

Read on the Web

Node Weekly

Introducing libSquoosh: Experimental Image Optimization from NodeSquoosh is an image optimization web app originally built by a team at Google in 2018 and since then it has been updated and offered in CLI form. Now, Surma has unveiled libSquoosh, a Node library for performing such extreme image optimization from whatever code you like.

Surma (Google)

Spend Less Time Debugging and More Time Building with Scout — Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues in minutes. See for yourself why Scout is a Node developers’s best friend with a free 14-day trial, no credit card needed.

Scout APM sponsor

▶  Exploring Deno Land 🦕 with Ryan Dahl — Ryan Dahl, the original creator of Node.js and now creator of the Deno runtime, went on the popular Changelog podcast to talk about how the success of Node changed his life and what led him to creating Deno.

The Changelog Podcast podcast

PM2 5.0 Released: The Production Process Manager — PM2 (enjoy the fancy homepage) is a popular process manager and load balancer for long running Node.js apps. 5.0 is a significant release that adds a new local system monitoring feature for tracking metrics like CPU and memory use.

Alexandre Strzelewicz

Don't Use Functions As Callbacks Unless They're Designed for It — There's been a severe lack of Node blog posts this week, but this older one has been doing the rounds on social again, and it's fantastic enough to re-share :-) Callbacks can introduce added hidden complexity that can cause seemingly innocent code to break so it pays to be careful.

Jake Archibald

AWS DevSecOps Day on June 16: Bridgecrew for CloudFormation — Gain hands-on experience with automated security-as-code. RSVP for free with AWS credits included for a limited time.

Bridgecrew sponsor

Mocha 9.0 Released: The Popular JavaScript Test Framework — Mocha has been a popular go-to test framework for both Node and the browser for years. 9.0 drops Node 10.x support and is going ‘ES modules first’ by using ESM import rather than CommonJS require to load test files by default.


Some Reasons Why Bugs Might Feel 'Impossible' to Resolve
Julia Evans

🛠 Code and Tools

supported by Okta

html-to-text 8.0: Advanced HTML to Text Converter — Uses a variety of techniques to convert even complex HTML into plain text (but with some formatting, such as for tables). It can be heavily customized and tweaked, too.


test-console: A Simple Library for Testing Node Console Output

James Shore

node-localstorage: A Drop-In Substitute for the Browser Native localStorage API — Why let Deno have all the fun?

Larry Maccherone

See Your Microservices, Build Your Node.js Apps Faster

Epsagon sponsor

Trash: Move Files and Directories to the 'Trash' — Rather than deleting files outright (e.g. unlink), this moves them to the ‘trashcan’ equivalent on Windows, Linux, and macOS. Sindre is looking for help maintaining the Linux part though, otherwise support may get dropped.

Sindre Sorhus

Discord.js: A Library for Interacting with Discord's API — A way to write bots or similar tools for the wildly popular Discord chat system.

Amish Shah


  • node-irc – IRC client library as used by the Matrix project.

  • node-csv-parse – A CSV parser implementing the stream.Transform API.

  • node-oracledb 5.2 – The official Oracle database driver for Node.js.

  • Gitbeaker – A GitLab API client library for Node.

💻 Jobs

JavaScript Developer @ Kinsta — Join our ownership-embracing team of JS developers in a relaxed environment where culture is as important as technical excellence.

Find Software Engineering Jobs with Hired — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now.