Javascript Node

Node 21.7 and TypeScript 5.44 min read

#​524 — March 12, 2024

Read on the Web

Shiki 1.0: A Powerful Syntax Highlighter — A few months ago, we linked to Shikiji, a fork of Shiki that was created to push the project forward. Happily, the creators of both libraries decided to join forces and Shiki 1.0 was born. It’s a syntax highlighter based on TextMate grammar and themes, the same engine as used by VS Code. The docs are good.

Pine Wu, Anthony Fu

Node v21.7.0 (Current) Released — Sometimes minor Node versions have little beyond bug fixes, but other times you get some new features, and 21.7 doesn’t disappoint. Node gains a new util.styleText() function for formatting text (including with color!), new functions to work with .env files, multi-line value support for .env files, a crypto.hash() function to more quickly compute digests in one shot (example), and more.

The Node.js Core Team

Lydia Hallie Tests Your JavaScript Knowledge — Challenge your core knowledge with 50 interactive quiz questions covering topics like the event loop, scopes and closures, classes and prototypes, garbage collection, and more. After each question, you’ll get an in-depth visual explanation from Lydia to deepen your understanding of fundamental JS concepts.

Frontend Masters sponsor

TypeScript 5.4 Released — Another evolutionary step for the typed JavaScript superset and toolchain. Of particular interest to Node users may be auto-import’s new support for subpath imports. As the PR says: “This treats package.json#imports as roughly equivalent to compilerOptions#paths in terms of deciding which specifier to use, it also prefers package.json#imports over compilerOptions#paths”.

Daniel Rosenwasser

💡 Lars Kappert has also written about using subpath imports & path aliases more generally, and how to use them even if you’re not using TypeScript 5.4 yet.

IN BRIEF:

⚠️ It’s been on the cards for a while, but GitHub reminds us again that all GitHub Actions will run on their Node 20 runtime instead of the Node 16 runtime from May 13 onward.

📊 Josh Sherman is back with his latest VPS showdown, where he puts offerings from Digital Ocean, Linode and Vultr up against each other.

📊 Kitson P. Kelly also decided to get into the benchmarking game and pitted Deno, Bun, Node 20, Node 21, Deno Deploy, and Cloudflare workers against each other to serve up a simple HTTP API.

Ultimate Guide to Visual Testing with PlaywrightUltimate or not, this tutorial is pretty thorough and will get you several steps down the road of fetching pages and making visual comparisons, all from JavaScript.

Mike Stop Continues (BrowserCat)

The Faster Lambda Runtime: Node or LLRT? We Benchmarked — Amazon recently open sourced LLRT, a new low latency server side JavaScript runtime targeting ephemeral use cases, such as serverless.

Shivam

Sentry Launch Week: Making Debugging Fun — We’ll be making debugging fun, raffling swag and talking about all things developer, every. single. day. (For one week).

Sentry sponsor

How npm install Scripts Can Be Weaponized — A quick look at a real world example of how npm pre-install and post-install scripts can serve as ways to inject malicious code into open source packages.

Edward Thomson

A Few Modern git Commands & Features You Should Be Using

Martin Heinz

🛠 Code & Tools

Voici.js: Pretty Table Printing for the Terminal — If you’ve got a collection of large objects to print out, this could be ideal as it can format them into a table, dynamically size the columns as appropriate, sort the output, and let you add styling into the mix (including colors.)

Lars Waechter

webtoon/PSD: Zero-Dependency PSD Parser for Browsers and Node — PSD (Photoshop Document) is the format used by Adobe Photoshop™ and this library lets you look into metadata and pixels associated with the file’s various layers. GitHub repo.

webtoon

node-usb 2.12.0: An Improved USB Library for Node — Can you work with USB at a low level from Node code? You sure can. You might like ▶️ this livestream from a couple years back if you want to get into such things, too.

Node USB

node-crc32-stream 6.0: A Streaming CRC32 Checksummer — A quick way to calculate checksums, and it has deflate support too.

Chris Talkington et al.

📰 Classifieds

👨‍💻Try Pythagora – VS Code extension that builds apps from scratch with AI by talking to you. It writes the code, and you write instructions.

❓ What’s so great about Drizzle? What is it? How does it work? Get an intro to the TypeScript ORM in: ▶️ Learn Drizzle in 13 mins.

Unfurl 6.4: oEmbed Metadata Scraper — Supports lifting data by way of oEmbed and on pages using Open Graph tags.

Jack Tuck

node-oracledb 6.4 – Oracle’s official database driver for Node – now with improved LOB and OSON support.

sqs-consumer 9.0 – Amazon Simple Queue Service (SQS) apps sans boilerplate.

MongoDB Node.js Driver 6.5 – The latest official MongoDB driver.

Slonik 37.3 – Node.js Postgres client with type safety.

qs 6.12 – Query string parser with nesting support.

Necord 6.7 – Create Discord bots with NestJS.

NodeBB 3.7 – Node.js based forum system.

Pin It on Pinterest

Generated by Feedzy