Node 18.6 and custom ESM loaders

#​446 — July 14, 2022

Read on the Web

Custom ESM Loaders: Who, What, When, Where, Why, How? — That’s a lot of questions! Custom loaders aren’t necessarily something you’ll use directly a lot, but are useful behind the scenes for controlling how modules are loaded – this post shows off some examples. Node 18.6 now also provides a mechanism for chaining together multiple such loaders.

Jacob Smith

NestJS v9 Released — Nest is a TypeScript-based server-side framework for when you need a more fleshed out and complete platform to work on (or get support from) than straight Express, say. v9 introduces a handy REPL, a configurable module builder, durable providers, and more.

Kamil Mysliwiec

Never Have to Code Another Notification Template Again — Too many engineering resources are wasted on notification template building and routing rules. Pass this on to Product, Support, and Security. Heck, even if the engineers want to quickly assemble templates: use our UI or JSON based syntax, Elemental.

Courier.com sponsor

Node v18.6.0 (Current) Released — The headline new feature for the latest minor version of Node is the ESM Loader Hooks API’s support for multiple, chained custom loaders (see above for more details). Lots of small tweaks too, as usual, including diagnostics channel support for http and extra hooks for startup snapshot serialization.

Michaël Zasso

How To Set Up a GraphQL API Server in Node — Tania is back with another well written practical walkthrough (her webpack 5 and Map and Set tutorials are great past highlights).

Tania Rascia

Optimizing Node.js Dependencies in AWS Lambda — Node.js was the first runtime that AWS’s Lambda serverless platform supported and it’s still a fantastic fit. Nonetheless, there are some performance aspects to keep in mind to help with those ‘cold starts’ – this post focuses on the role of bundling to improve said performance.

Richard Davison

Introduction to New Relic for Node.js

New Relic sponsor

▶  Building a Simple Microservice with Node.js — From the author of Bootstrapping Microservices, published by Manning. (24 minutes.)

Ashley Davis

🛠 Code & Tools

Node-RED 3.0 ReleasedNode-RED is a popular Node.js-based low/no-code programming environment heavily used in the IoT space (though not exclusively) that essentially has a whole ecosystem of its own. v3.0 requires Node 14+ and includes numerous UI/DX enhancement.

Nick O’Leary

AdminJS 6.0: An Admin Panel for Node Apps — An ‘automatic’ admin interface you introduce to existing apps, wire up to your ODM/ORM, and off you go. GitHub repo.

Software Brothers

Build Your Work Portfolio with Other JavaScript Engineers on Polywork

Polywork sponsor

bundlejs: Online npm Package Bundle Size Checker — An online tool that can treeshake, bundle, minify, and compress (gzip and brotli) projects and show you just what their weight is. Bundlephobia is another population option in this space, but Mark Erikson says bundlejs is “now _wayyy_ better.”

Okiki Ojo

Deprank: Use PageRank to Find the Most Important Files in Your CodebasePageRank is an algorithm commonly associated with how Google used to rank Web pages, but the idea can be adapted to ranking things in any sort of network, as seen here.

Codemix Ltd

Hagana: Node.js Runtime Protection for Supply Chain Attacks
Jacob Beckerman

node-cache-manager-sqlite: A Modern SQLite Store for node‑cache‑manager
Zohaib Sibte Hassan

QUICK RELEASES:

ioredis 5.2 – Performance-focused full-featured Redis client.
oclif 3.1 – Powerful CLI framework for Node.
pkg 5.8 – Package a Node app into an executable.
Undici 5.7 – The from-scratch HTTP/1.1 client.
Tedious 15.0 – TDS module for connecting to Microsoft SQL Server.
Strapi 4.2.3 – Node.js Headless CMS.
Fastify 4.2.1 – Low overhead web framework.
npm 8.14

💻 Jobs

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

Seven weird ways to call a JavaScript functionSeven weird ways to call a JavaScript function

<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 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:

Extractors for ECMAScriptExtractors for ECMAScript

<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: