---
title: "Node 18.6 and custom ESM loaders"
publication: "Node Weekly"
issue: 446
published_at: "2022-07-14"
canonical_url: "https://nodeweekly.com/issues/446"
---

Plus Node-RED 3.0, serving up GraphQL, and making those Node.js Lambda functions even faster. |        

#​446 — July 14, 2022 

[Read on the Web](https://nodeweekly.com/issues/446)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/vilmzbmeqdshlinmvm3p.jpg)](https://dev.to/jakobjingleheimer/custom-esm-loaders-who-what-when-where-why-how-4i1o)  

[Custom ESM Loaders: Who, What, When, Where, Why, How?](https://dev.to/jakobjingleheimer/custom-esm-loaders-who-what-when-where-why-how-4i1o) — 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](https://trilon.io/blog/nestjs-9-is-now-available) — 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   [![\](https://copm.s3.amazonaws.com/ba44a81d.png)](https://www.courier.com/studio/sandbox/?utm_campaign=demand-gen&utm_source=email&utm_medium=node-weekly-07-14&utm_content=sandbox-studio) 

[Never Have to Code Another Notification Template Again](https://www.courier.com/studio/sandbox/?utm_campaign=demand-gen&utm_source=email&utm_medium=node-weekly-07-14&utm_content=sandbox-studio) — 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](https://nodejs.org/en/blog/release/v18.6.0/) — 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](https://nodejs.org/api/diagnostics_channel.html) support for `http` and [extra hooks](https://github.com/nodejs/node/pull/43329) for startup snapshot serialization. 

Michaël Zasso   

[How To Set Up a GraphQL API Server in Node](https://www.taniarascia.com/graphql-server-node/) — Tania is back with another well written practical walkthrough (her [webpack 5](https://www.taniarascia.com/how-to-use-webpack/) and [`Map` and `Set`](https://www.taniarascia.com/understanding-map-and-set-javascript/) tutorials are great past highlights). 

Tania Rascia   

[Optimizing Node.js Dependencies in AWS Lambda](https://aws.amazon.com/blogs/compute/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](https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/?utm_source=node-weekly&utm_medium=community&utm_campaign=global-fy23-q2-introduction-new-relic-nodejs) 

New Relic sponsor   

▶[Building a Simple Microservice with Node.js](https://www.youtube.com/watch?v=t7T3zfWd5aI) — From the author of _Bootstrapping Microservices_, published by Manning. _(24 minutes.)_ 

Ashley Davis   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/gpss0ewovhqsow6jfhhm.jpg)](https://nodered.org/blog/2022/07/14/version-3-0-released)   

[Node-RED 3.0 Released](https://nodered.org/blog/2022/07/14/version-3-0-released) — [Node-RED](https://nodered.org/) 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](https://adminjs.co/) — An ‘automatic’ admin interface you introduce to existing apps, wire up to your ODM/ORM, and off you go. [GitHub repo](https://github.com/SoftwareBrothers/adminjs). 

Software Brothers   

[Build Your Work Portfolio with Other JavaScript Engineers on Polywork](https://www.polywork.com/product?utm_source=newsletter&utm_medium=cooperpress&utm_campaign=node) 

Polywork sponsor   

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

Okiki Ojo   

[Deprank: Use PageRank to Find the Most Important Files in Your Codebase](https://github.com/codemix/deprank) — [PageRank](https://en.wikipedia.org/wiki/PageRank) 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](https://github.com/yaakov123/hagana) 
Jacob Beckerman   

[node-cache-manager-sqlite: A Modern SQLite Store for `node‑cache‑manager`](https://github.com/maxpert/node-cache-manager-sqlite) 
Zohaib Sibte Hassan   

**QUICK RELEASES:** 

[ioredis 5.2](https://github.com/luin/ioredis) – Performance-focused full-featured Redis client.
 [oclif 3.1](https://github.com/oclif/oclif) – Powerful CLI framework for Node.
 [pkg 5.8](https://github.com/vercel/pkg) – Package a Node app into an executable.
 [Undici 5.7](https://github.com/nodejs/undici) – The from-scratch HTTP/1.1 client.
 [Tedious 15.0](https://github.com/tediousjs/tedious) – TDS module for connecting to Microsoft SQL Server.
 [Strapi 4.2.3](https://github.com/strapi/strapi) – Node.js Headless CMS.
 [Fastify 4.2.1](https://github.com/fastify/fastify) – Low overhead web framework.
 [npm 8.14](https://github.com/npm/cli/releases/tag/v8.14.0)     

💻 Jobs  

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-nodeweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Got a new address?** You can [change your email here](https://nodeweekly.com/edit_subscription/*|UID|*). 

--- 

**Want to stop this email?** [Click here to say goodbye.](https://nodeweekly.com/leave/*|UID|*). 

--- 

**Want even more newsletters?** Perhaps check out [JavaScript Weekly](https://javascriptweekly.com/), [React Status](https://react.statuscode.com/) or [Frontend Focus](https://frontendfoc.us) as well :-) 

--- 

**Want to sponsor?** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://nodeweekly.com/leave/*|UID|*)
