---
title: "AWS Lambda gets a Node 20 LTS runtime"
publication: "Node Weekly"
issue: 511
published_at: "2023-11-21"
canonical_url: "https://nodeweekly.com/issues/511"
---

Plus config files to get Node, TypeScript, and ESM up and working quickly. |        

#​511 — November 21, 2023 

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

Together with [![Memetria\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_145/e_make_transparent/co_white,e_outline:7/vvpdctzacmq3xehpvwps.png)](https://dashboard.memetria.com/nodeweekly/)  

![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,q_auto/vud5f0lc8trv20x0tvur.jpg)](https://gist.github.com/khalidx/1c670478427cc0691bda00a80208c8cc)  

['A Node + TypeScript + ts-node + ESM Experience That Works'](https://gist.github.com/khalidx/1c670478427cc0691bda00a80208c8cc) — It’s just three files: `package.json`, `tsconfig.json` and a utilities file, and you’re good to go. As someone on Hacker News said: _“Sometimes the most valuable guide is a working example.”_ The [associated comment thread](https://news.ycombinator.com/item?id=38361053) is worth checking out for some extra background, too. 

Khalid Zoabi   

🥳 Talking of which, [TypeScript 5.3 has been released.](https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/) It supports the latest updates to the [import attributes proposal](https://github.com/tc39/proposal-import-attributes), has enhanced type narrowing in numerous contexts, provides interactive inlay hints for types in the editor, and more.  [![\](https://copm.s3.amazonaws.com/6c2b3154.png)](https://dashboard.memetria.com/nodeweekly/) 

[Memetria: Secure, Scalable Redis Hosting](https://dashboard.memetria.com/nodeweekly/) — High performance Redis hosting with large key tracking, detailed metrics, and a superior uptime record. 

Memetria sponsor    

[Node.js 20.x (LTS) Runtime Now Available in AWS Lambda](https://aws.amazon.com/blogs/compute/node-js-20-x-runtime-now-available-in-aws-lambda/) — If you’re using AWS Lambda, you can now make the Node 18 to 20 transition with confidence. This post covers the essential configuration changes, but also tackles a couple of changes to the runtime to be aware of. 

Pascal Vogel (AWS)   

Alongside this update, [Middy](https://middy.js.org/), a popular Node.js middleware engine for AWS Lambda, has been [updated to v5](https://middy.js.org/docs/upgrade/4-5/) too – beware that it's billed the "ESM Only Update" and has no support for CommonJS modules anymore.  

_IN BRIEF:_ 

- [Node v21.2.0 (Current)](https://nodejs.org/en/blog/release/v21.2.0) has been released with so many small tweaks and enhancements that you'd need to skim through the list, as none in particular stand above the rest.
- Node looks set to gain [a new `--disable-warning` option](https://github.com/nodejs/node/pull/50661) to allow you to disable specific warnings (as opposed to _all_ of them, as with `--no-warnings`).
- Node.js 20 LTS is [now available to use (in beta) on Vercel](https://vercel.com/changelog/nodejs-20) for both builds and its [Serverless Functions platform.](https://vercel.com/docs/functions/serverless-functions)
- NodeSource has [introduced an AI-powered Node 'navigator'](https://nodesource.com/blog/nsolid-copilot-release) called _N|Solid Copilot._
- GitHub looks at [what's new in the latest Git release: Git 2.43](https://github.blog/2023-11-20-highlights-from-git-2-43/).
- The creator of `curl` takes [an interesting look at URL parsing performance](https://daniel.haxx.se/blog/2023/11/21/url-parser-performance/), focused heavily on the claims of [Ada,](https://ada-url.github.io/ada/) the new URL parser Node uses now.   

[Exploring V8's Strings: Implementation and Optimizations](https://iliazeus.github.io/articles/js-string-optimizations-en/) — **Note: This is _very_ technical and most Node developers do not need to go this deep.** That aside, this is a fantastic look under the covers of how the V8 engine handles strings, including the optimizations used that allow it to go toe to toe with languages like C++. 

Ilia Pozdnyakov   

[Remote Workshop: Svelte & SvelteKit](http://svelte-sveltekit-workshop.mainmatter.com) — With Paolo Ricciuti – afternoons (CET) of Jan 30th to Feb 1st – only €350. 

Mainmatter sponsor   

[How to Use NPM Packages Outside of Node](https://neon.tech/blog/using-npm-packages-outside-node) — Learn how to use packages in ‘other places’ like serverless platforms, the browser, and beyond. 

George MacKerron (Neon)   

[How to Optimize MongoDB Performance from Node](https://blog.appsignal.com/2023/11/15/how-to-optimize-mongodb-performance-for-nodejs.html) 
Rishabh Rawat   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vz7rbsz4bgwavgouoadl.jpg)](http://pdfkit.org/)  

[PDFKit: PDF Generation Library for Node and Browser](http://pdfkit.org/) — A (very) long standing project, but that continues to get updates. There’s an [interesting live demo](http://pdfkit.org/demo/browser.html) that runs right in the browser. [GitHub repo.](https://github.com/foliojs/pdfkit) 

Devon Govett   

[github-script 7.0: Script the GitHub API in _Actions_ Workflows](https://github.com/actions/github-script) — If you want to write GitHub Actions that perform operations via the GitHub API using JavaScript, this is for you. Now supports Node.js 20 which GitHub Actions [is transitioning to now.](https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/) 

GitHub Actions   

[Release It 17.0: A CLI Tool to Automate Package Publishing Tasks](https://github.com/release-it/release-it) — Think things like bumping versions, tagging, creating releases at GitHub or GitLab, changelog generation, etc. 

Lars Kappert   

[H3: A Minimal HTTP Framework for Multiple JS Platforms](https://github.com/unjs/h3) — Aims to be as universal as possible and works across numerous platforms, including Node, while offering the basic HTTP framework features and a compatibility layer with Express middleware. [v1.9](https://github.com/unjs/h3/releases/tag/v1.9.0) just landed. 

UnJS   

[Linkinator 6.0: A Tool to Find a Site's Broken Links](https://github.com/JustinBeckwith/linkinator) — Both a Node API and CLI tool that can be used to crawl a site and validate links. You can run it as easily as `npx linkinator https://example.com/` if you want to give it a spin. 

Justin Beckwith   

- [dotenv-flow 4.0](https://github.com/kerimdzhanov/dotenv-flow) – While Node has been adding direct `.env` support, dotenv-flow continues to offer a more extensive environment variable loading experience for now.
- [Piscina 4.2](https://github.com/piscinajs/piscina) – Node.js worker thread pool implementation.
- [(Official) MongoDB Node.js Driver 6.3](https://github.com/mongodb/node-mongodb-native/releases/tag/v6.3.0)
- [SQL Formatter 14.0](https://github.com/sql-formatter-org/sql-formatter) – Pretty print SQL queries.
- [pg-mem 2.7.2](https://github.com/oguimbal/pg-mem) – In memory emulation of Postgres for tests.
- [MQTT.js 5.3](https://github.com/mqttjs/MQTT.js/releases/tag/v5.3.0) – MQTT client for Node and browsers.
- [OTPAuth 9.2](https://github.com/hectorm/otpauth)– HOTP/TOTP library.
- [aws-lambda-fastify 3.5](https://github.com/fastify/aws-lambda-fastify)    

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

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

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

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
