#381 — March 25, 2021

Read on the Web

Node Weekly

Piscina: A Fast Worker Thread Pool Implementation — Node now offers worker threads which bring true multithreading to Node apps and Piscina is a pool for tracking and controlling the number of such threads (including being able to cancel them).

Piscina

A Look at Nine JavaScript and TypeScript ORMs — A pretty thorough roundup, complete with code examples, showing off a variety of tools like Knex.js, Mongoose, TypeORM, Waterline, and Bookshelf.

Michael Wanyoike

The Easiest Way to Monitor Node: Automatic Instrumentation — Monitoring your Node.js apps can be hard. You need to understand what you need to monitor, instrument code, and then make sense of all the data. Automatic instrumentation makes that whole process easier and streamlined. Find out how you can do it.

AppSignal sponsor

Node v15.12.0 (Current) Released — Some performance improvements for the promise-based versions of writeFile and readFile, NAPI v8 is now formally defined as stable, and Node’s OpenSSL dependency has been temporarily switched to a fork that supports QUIC.

Node.js Project

Worktop: A 'Next Generation' Web Framework for Cloudflare Workers — Imagine something like Express or Fastify but which naturally fits in with Cloudflare Workers (the serverless platform). The example in the README shows it off quite well.

Luke Edwards

💻 Jobs

These 3 Product Startups Are Hiring (Remote) — Learn more about these software engineering positions at high-growth product startups.

hatchpad

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.

Hired

📗 Tutorials and Stories

Why I Prefer Makefiles Over package.json Scripts — Does your package.json have a large scripts section? If you have more than a handful of extremely simple npm scripts, John recommends the Makefile approach.

John Ruble

CEO Pub Chat: Latest Streaming Technologies and Business Models — Join us as we discuss the future of streaming for traditionally in-person services and how innovation keeps hope alive.

Bitmovin Inc. sponsor

▶  Non-Blocking I/O and How Node Uses It (in Friendly Terms) — Short (8 minutes), sweet, and includes lots of useful animated diagrams to explain the concepts.

Studying with Alex

"I Finally Escaped Node (and You Can Too)" — Look, we’re not beyond linking to controversial opinion pieces 😄 In this case, the author feels worn down by Node’s many small ‘surprises’ and lack of a singular, purposeful design – though this has been one of Node’s advantages in many situations too.

Anthony Accomazzo

What’s New in Socket.io 4? — We mentioned the release of Socket.io 4.0 a few issues ago, but this is a more practical look at what it offers for anyone looking to do realtime bi-directional communication across browsers new and old.

Ben Gamble

How to Interactively Debug Node Apps with the Built-in and VS Code Debuggers — More great work from the documentation teams over at Microsoft.

Microsoft

Observability Won’t Replace Monitoring (Because It Shouldn’t)

Lightstep sponsor

▶  How to Work with Queues using Redis and Node.js

Coding Venue

Handling User Permissions in JavaScript

Andreas Remdt

🛠 Code and Tools

supported by Okta

wordwrapjs: A Word Wrapping Library for Node and Browser — It always intrigues me to see a package with over 700,000 downloads per week but just 7 GitHub stars.

Lloyd Brookes

Rosie 2.1: A Factory for Building JavaScript Objects — An older library that’s just had its first update in years. The idea here is for generating objects from a defined schema, such as for test data.

Brandon Keepers

pkg 4.5.0: Package Your Node Project Into an Executable — This project has been around a long while but has just had a little spring clean.

Vercel

jsonld.js: A JSON-LD Processor and API Implementation — JSON-LD is a spec for a JSON-based format used to represent objects on the Web in a way that’s easy for code to read.

Digital Bazaar, Inc.

Commander 7.2: Node Command-Line Interfaces Made Easy — Commander is a long standing ‘batteries included’ system for building apps that interface with the command line in Node.

TJ Holowaychuk

node-dev 6.6: Zero-Conf Node Process Restarting — Hooks into require and only reloads when required files are updated. This latest version extends the --clear option to clear the screen on start and each restart.

Felix Gnass

TypeScript Dedent: Smartly Trim and Strip Indentation from Multiline Strings

Tamino Martinius

query-string 7.0: Parse and Stringify URL Query Strings

Sindre Sorhus