Native modules become ‘built-ins’

#​450 — August 11, 2022

Read on the Web

☀️ We’re taking a week off for a brief summer vacation and will be back on August 25, so when you don’t get an issue of Node Weekly next week, it’s our fault, not yours 😉
__
Peter Cooper, your editor.

How To Use Multithreading in Node.js — Folks often say they see DigitalOcean’s involvement in the publication of an article as a sign of quality, and this practical walkthrough-style introduction to how Node uses threads internally and how and why you might use worker threads is worth a look.

Stanley Ulili and DigitalOcean

Parsing Command Line Arguments with util.parseArgs() — Dr. Axel takes one of his characteristically technical tours of a useful CLI-oriented feature added in Node 18.3.

Dr. Axel Rauschmayer

Complete Node.js Learning Path 🚢 — Learn Node.js from foundations up to building APIs and web applications! Get hands-on creating and deploying REST and GraphQL APIs and power your web apps in this complete learning path on Node.js.

Frontend Masters sponsor

GitHub Seeks Feedback on Improving npm Security with Sigstore — GitHub’s mission to tighten up npm’s security continues, and this time they want your feedback. The idea is to use the Sigstore standard to sign packages, providing an end-to-end guarantee of a package’s origin.

Justin Hutchings (GitHub)

No More ‘Native Modules’ for Node.js. Sort of. — The term ‘native module’ often refers to core Node.js modules like fs but sometimes gets used to describe third party native addons too. To resolve the confusion, Node.js is switching to calling built-in modules as “built-ins” or “built-in modules” and dynamically linked native addons as “addons.” Now we just need to remember.. 😁

Joyee Cheung

Never Code a Sendgrid Template Again

Courier.com sponsor

Validating Postgres Results and Inferring Query Static Types — A quick explainer of how Zod (for schema validation) and Slonik (a Postgres client) come together to let you write schemas and get static types with runtime result validation when working with Postgres from Node.

Gajus Kuizinas

How to Connect AdminJS to an Existing Node AppAdminJS is an ‘automatic’ admin panel you can plug into a Node app. It’s ‘automatic’ in the sense that it’ll create most of its own UI based upon the schema of your database models.

Bareja Pawel

🛠 Code & Tools

Prisma 4.2.0: The ‘Next Generation’ ORM for Node and TypeScript — The big new feature is (preview) support for tracing, a way to track requests as they flow through your app, even if they pass through multiple services. You can turn traces into waterfall diagrams and visualize them using common tools.

Prisma

Foal 2.10: TypeScript-Based All-in-One Web Framework for Node — The idea here is ‘everything is included’ with a CLI and testing tools, frontend utilities, authentication, ORM, GraphQL, file uploading, and more. GitHub repo.

FoalTS

Debug Node Apps Without Stopping Them in Prod. Try Rookout Free Today

Rookout sponsor

Nodewood 1.0: A Node.js-Powered SaaS ‘Starter Kit’ — It’s commercial, but if you like the features it might be worthwhile to save some time.

Dan Hulton

Sync Scroll: A VS Code Extension to Scroll Split Panes Simultaneously — This isn’t a language specific thing, but I found it useful this week when doing a manual (non diff) comparison of two files.

Visual Studio Marketplace

BullMQ: Reliable, Redis-Based Distributed Queue for Node
Taskforce.sh Inc.

QUICK RELEASES:

N|Solid 4.8.0
Pino 8.4 – Fast JSON logger.
Fastify 4.4 – Fast, low overhead web framework.
node-MSSQL 9.0 – Microsoft SQL Server client for Node.
NodeBB 2.4 – Node.js based forum software.
php-parser 3.1 – Convert PHP code to an AST.
Emittery 0.12 – Simple async event emitter.
DNT 0.30 – Deno to npm package build tool.

💻 Jobs

Software Engineers — Sticker Mule is the Internet’s most “kick ass” brand. Our software team operates from 17 countries, and we’re always looking for more exceptional engineers.
Sticker mule

Find Tech Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It’s free for job-seekers.
Hired

Related Post

The Node testing framework we were sleeping onThe Node testing framework we were sleeping on

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height:

A way to automatically generate regexes from examplesA way to automatically generate regexes from examples

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height:

The ins and outs of ‘bin’ scriptsThe ins and outs of ‘bin’ scripts

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: