#​621 — April 23, 2026

Read on the Web

🎥 Playwright has added a new feature I thought was neat, so I've written a bit about it at the end of this issue – check it out!
__
Peter Cooper, your editor

Together with  Frontend Masters logo
Node.js Weekly

aube: A New Node.js Package Manager — Yes, another one! What’s noteworthy is it comes from the developer of mise, a tool that makes managing numerous languages so much easier. aube’s selling points are raw performance and being a drop-in replacement. Its defaults are also security-focused.

Jeff Dickey

Write Better Prompts — Join GitHub's Sabrina Goldfarb for this detailed video course on generating higher quality code with AI. Learn practical prompting techniques that work consistently across tools and transform your project ideas into reality.

Frontend Masters sponsor

Writing Node.js Addons with .NET Native AOT — You can now write native Node addons in .NET languages like C#. Native AOT compiles programs to shared libraries (or executables) which can expose N-API entry points for Node to call into, much like a C/C++ extension.

Drew Noakes (Microsoft)

IN BRIEF:

TypeScript 7.0 Beta: A 10x Faster TypeScript Compiler — The first beta of the Go-powered native port of TypeScript boasting “about 10 times faster” performance. TypeScript 6.0 remains important as a transitional release in your upgrade process, as TS 7.0 shares 6.0’s default config changes and 6.0’s deprecations are now hard errors. There are also changes to how to write your code to take into account.

Microsoft

Build Durable AI Agents That Won’t Break in Production (Webinar) — Learn the open-source 4-layer stack and run durable AI agents with Agentspan across LangGraph, OpenAI, and Google SDKs.

Orkes sponsor

📄 Delivering a Dynamic Hexagonal World Map in 10KB – How a developer built a hexagon-based SVG world map using a Node-based pipeline with Turf.js to simplify GeoJSON. Ben Schwarz

📄 Features Everyone Should Steal From npmxnpmx is a fantastic way to browse the npm package registry. Andrew Nesbitt

🛠 Code & Tools

Optique 1.0: Type-Safe Combinatorial CLI Parser — Build composable parsers for CLIs with type safety, type inference, and built-in shell completion support, plus config file integration and man page generation from the same definitions. v1.0 is the first stable release and Hong compares it to Commander.js and explains why you'd use Optique.

Hong Minhee

DocMD: Build Production-Ready Docs from Markdown — A Node-powered zero-config documentation site generator with a focus on producing lean, fast output (its own docs are a good example). It has i18n and versioning built-in and, as of this week, a deploy command to produce ready-to-deploy files for Docker, Nginx, and Caddy.

docmd

rocksdb-js: New RocksDB Bindings for Node — It’s been messy using Facebook’s RocksDB key-value store from Node in recent years, but finally there’s a new, modern native addon for the task. GitHub repo.

Chris Barber (Harper)

Bun v1.3.13: Smarter Testing and Less Memory Usage — The alternative runtime enhances bun test with options for test environment isolation, parallelization, and to run only those tests affected by recent changes. The runtime uses 5% less memory and bun install gets faster, among other things.

Jarred Sumner

📰 Classifieds

Skip the README archaeology. Flox delivers reproducible dev environments with no system pollution. One command, zero friction. Try it free.


Gauntlet. A 10-week no-cost fellowship building the AI skills companies need. Learn to ship faster with AI. Land a $200K+ job. Apply now.


⚙️ Build AI agents like you build APIs. Orchestrate not just LLMs — but Claude Code, Codex & full coding harnesses. Open-source TypeScript SDK. agentfield.ai.

🎥  Playwright's page.screencast API

The newest version of the popular Playwright Web testing and automation library (v1.59.0) boasts a new page.screencast API to make recording videos more flexible. I took it for a spin and liked what I saw.

You can now start and stop video recording in a more granular way than recordVideo allowed:

await page.screencast.start({ path: 'video.webm' });
// do stuff here
await page.screencast.stop();

But the real fun begins when you use its new visual annotation and custom HTML overlay features.

I created a basic HTML form and a Playwright script to test out the new features and you can basically create full screencast style videos with it:

Here's the code for the section above:

await page.screencast.showChapter('Step 4 — Interests', {
  description: 'Multiple checkboxes',
  duration: 1400,
});
await page.locator('#interests input[value="testing"]').check();
await page.locator('#interests input[value="tooling"]').check();

Read the full release notes for what you can do, but this strikes me as a fantastic way to automatically generate good-looking videos you can slot into your documentation.

There's also a new playwright-cli show command that brings up a dashboard where you can see all the currently running browsers, interact with them, and open DevTools to inspect what's going on.