#511 — November 21, 2023
‘A Node + TypeScript + ts-node + ESM Experience That Works’ — 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 is worth checking out for some extra background, too.
🥳 Talking of which, TypeScript 5.3 has been released. It supports the latest updates to the import attributes proposal, has enhanced type narrowing in numerous contexts, provides interactive inlay hints for types in the editor, and more.
Memetria: Secure, Scalable Redis Hosting — High performance Redis hosting with large key tracking, detailed metrics, and a superior uptime record.
Node.js 20.x (LTS) 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, a popular Node.js middleware engine for AWS Lambda, has been updated to v5 too – beware that it’s billed the “ESM Only Update” and has no support for CommonJS modules anymore.
Node v21.2.0 (Current) 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 to allow you to disable specific warnings (as opposed to all of them, as with –no-warnings).
NodeSource has introduced an AI-powered Node ‘navigator’ called N|Solid Copilot.
GitHub looks at what’s new in the latest Git release: Git 2.43.
Exploring V8’s Strings: Implementation and Optimizations — 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++.
Remote Workshop: Svelte & SvelteKit — With Paolo Ricciuti – afternoons (CET) of Jan 30th to Feb 1st – only €350.
How to Use NPM Packages Outside of 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
🛠 Code & Tools
PDFKit: PDF Generation Library for Node and Browser — A (very) long standing project, but that continues to get updates. There’s an interesting live demo that runs right in the browser. GitHub repo.
Release It 17.0: A CLI Tool to Automate Package Publishing Tasks — Think things like bumping versions, tagging, creating releases at GitHub or GitLab, changelog generation, etc.
H3: A Minimal HTTP Framework for Multiple JS Platforms — 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 just landed.
Linkinator 6.0: A Tool to Find a Site’s Broken Links — 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.
dotenv-flow 4.0 – 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 – Node.js worker thread pool implementation.
SQL Formatter 14.0 – Pretty print SQL queries.
pg-mem 2.7.2 – In memory emulation of Postgres for tests.
MQTT.js 5.3 – MQTT client for Node and browsers.
OTPAuth 9.2 – HOTP/TOTP library.