#​582 — June 17, 2025

Read on the Web

Together with  Tonkotsu logo
Node.js Weekly

Node.js Moves Toward Stable TypeScript Support with Amaro 1.0Amaro is Node’s official way to strip types out of TypeScript code so that Node can run it (though you can also use Amaro as a library, if you prefer). The 1.0 release is a key milestone on the way to moving TypeScript support in Node.js from experimental to stable in a release later this year. Sarah rounds up the entire story.

Sarah Gooding (Socket)

💡 If you want to dig deeper, Marco Ippolito ▶️ gave a talk called The Path to Native TypeScript at Node Congress 2025. By the end of it, you'll know everything you need to know about how TypeScript support in Node works and what its limitations are.

pnpm 10.12 Introduces an Experimental Global Virtual Storepnpm has long been prized for its speed and efficiency over npm. v10.12 takes things further introducing a ‘global virtual store’ that node_modules symlinks to, enabling projects to share dependencies without them being installed numerous times.

Sarah Gooding (Socket)

🍜 Tonkotsu is Your Natural Language IDE — Tonkotsu helps you build your project plan and break work down. You choose which coding tasks to delegate to Tonkotsu - it can do multiple tasks in parallel. You're the tech lead and approver for Tonkotsu's work. Download the app for FREE during our early access program.

Tonkotsu AI sponsor

IN BRIEF:

Using await at the Top Level in ES Modules — Top-level await is supported in all modern browsers and in Node.js (beyond v16) in .mjs files or .js files specified as modules.

Matt Smith

📄 The Best JavaScript Web Scraping Libraries – A few options to consider including Crawlee, Cheerio, and using browsers from Node. Theo Vasilis (Apify)

📺 The Creator of Hono on Bringing It to Node.jsHono is a lightweight webapp framework built on Web Standards. Yusuke Wada

📄 Performance and Stress Testing in Node.js – A look at three different testing tools (AutoCannon, Artillery, k6). Antonello Zanini

📄 Building an MCP Server with Nx Nx Team

🛠 Code & Tools

WelsonJS: Build Windows Apps Using Windows' Built-In JS Engine — WelsonJS = Windows + Electron-like + JS. Optimized for environments with limited computing power, Welson has built-in transpilers for several JS alternatives, RPC clients, and much more.

Go Namhyeon

🕒 Croner 9.1: 'Cron' Triggering and Evaluation — Trigger functions upon the schedule of your choice using cron syntax. It can also evaluate cron expressions to give you a list of upcoming times. v9 moved the project to TypeScript and introduced a few breaking changes.

Hexagon

log-vwer: A Dashboard for Monitoring Node.js App Logs — It’s quite common to use third-party services for storing, searching, and monitoring logs, but this gives you a basic self-hosted dashboard, built atop Node itself.

Qitmeer Raza

  • & Entities 6.0 – Encode/decode HTML and XML entities. Used by many popular libraries.

  • ESLint v9.29.0 – Now supports the syntax used for explicit resource management (using and await using).

  • LogTape 0.12 – Logging library for JavaScript and TypeScript with zero dependencies and support for multiple environments.

  • fast-png 7.0 – Pure JavaScript PNG image decoder and encoder.

  • 🤖 node-llama-cpp 3.10 – Run LLMs locally with bindings to llama.cpp.

  • Discord.js 14.20 – Official library for interacting with Discord's API.

  • Ableton.js 3.7 – Control instances of the Ableton DAW from Node.

  • Fastify 5.4 – The fast, low overhead Node web framework.

  • Mongoose 8.16 – Popular MongoDB object modeling library.

  • Piscina 5.1 – Popular Node.js worker thread pool.

  • tiff 7.0 – Pure JS TIFF image decoding library.

✂︎  Deep cuts from the queue

As it's a quieter week than usual, we went back to look through our (extensive!) queue of items which hadn't yet made it into the newsletter for one reason or another. Here are some of the things that jumped out at us: