---
title: "TypeScript gets on board with Node's type stripping"
publication: "Node Weekly"
issue: 568
published_at: "2025-03-04"
canonical_url: "https://nodeweekly.com/issues/568"
---

Plus Node 23.9, Next.js 15.2, and a modern Electron boilerplate app. |        

#​568 — March 4, 2025 

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

Together with [![Sentry logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/xdmchdxkka938lxfr86f.png)](https://sentry.io/resources/instrument-monitor-fix-workshop/?utm_medium=paid-community&utm_source=nodeweekly&utm_campaign=fy26q1-workshop&utm_content=workshop-register)  

![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/aoylx2p1gsk05f2csa4p.jpg)](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/)  

[Announcing TypeScript 5.8](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/) — Four months in the making, TypeScript 5.8 lands with a strong Node focus. You can now [use `require()` for ES modules in the `nodenext` module](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/#support-for-require%28%29-of-ecmascript-modules-in---module-nodenext), there’s [a new `node18` module](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/#--module-node18) for developers who want to keep targeting Node 18, and most notably there’s now [an `--erasableSyntaxOnly` option](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/#the---erasablesyntaxonly-option) to ensure no TypeScript-only runtime semantics can be used (ideal if you’re using [Node’s type stripping features](https://nodejs.org/api/typescript.html#type-stripping) to run TypeScript code directly). 

Microsoft   [![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/v1741097342/ejw1jj6fi4ifzbvyy3uk.jpg)](https://sentry.io/resources/instrument-monitor-fix-workshop/?utm_medium=paid-community&utm_source=nodeweekly&utm_campaign=fy26q1-workshop&utm_content=workshop-register) 

[Instrument, Monitor, Fix: A Hands-On Debugging Class](https://sentry.io/resources/instrument-monitor-fix-workshop/?utm_medium=paid-community&utm_source=nodeweekly&utm_campaign=fy26q1-workshop&utm_content=workshop-register) — Join us live for a hands-on session where you’ll build it, watch it break, debug it, and go from “no idea what’s wrong” to fixing issues—all in one go. [Save your spot here »](https://sentry.io/resources/instrument-monitor-fix-workshop/?utm_medium=paid-community&utm_source=nodeweekly&utm_campaign=fy26q1-workshop&utm_content=workshop-register). 

Sentry sponsor   

[Turbocharging V8 with Mutable Heap Numbers](https://v8.dev/blog/mutable-heap-number) — The V8 team uses the JetStream2 benchmark suite to investigate performance issues and has implemented a new optimization yielding not just a 2.5x improvement in the `async-fs` benchmark but in other areas too. A demonstration that not only does the Node team make Node faster, the V8 team does too. 

Victor Gomes (V8)   

**IN BRIEF:** 

- [Node v23.9.0 (Current)](https://nodejs.org/en/blog/release/v23.9.0) has been released – it's a very minor release, however, focused mostly on bug fixes and incremental tweaks.
- Next.js 15.2 has been released [with support for using Node.js for Next.js' Middleware.](https://nextjs.org/blog/next-15-2#nodejs-middleware-experimental)
- Node is introducing [an experimental JSON-based configuration option](https://github.com/nodejs/node/pull/57016) to simplify the use of features (like the [test runner](https://nodejs.org/api/test.html#test-runner)) that otherwise tend to use a lot of configuration flags.
- [An unfortunate update on QUIC support in Node.js.](https://github.com/nodejs/node/issues/57281)   

[Web Scraping with Playwright](https://wanago.io/2025/02/24/web-scraping-playwright/) — I’d be surprised if you got away with scraping YouTube like this for long (let’s say Google aren’t big fans of the approach) but the techniques demonstrated are useful more generally too. 

Marcin Wanago   

[Harnessing Data at Scale: Character.AI's Transition to WarpStream](https://www.warpstream.com/blog/harnessing-data-at-scale-character-ais-transition-to-warpstream?utm_source=node_weekly&utm_medium=email&utm_campaign=march_4_25_node_weekly) — Character.AI used WarpStream to make a 3 GiB/s Apache Kafka-compatible data pipeline and reduced their analytics costs. 

WarpStream sponsor   

📄 [Creating a CLI Chatbot with LangChain and OpenAI](https://www.robinwieruch.de/langchain-node-js-openai/) Robin Wieruch 

📄 [Node.js Writable Streams: A Practical Guide](https://pavel-romanov.com/writable-streams-in-nodejs-a-practical-guide) Pavel Romanov 

📄 [Simple TypeScript Playgrounds with `node --watch`](https://2ality.com/2025/02/node-watch-typescript-playground.html) Dr. Axel Rauschmayer    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/tsokz4lz7fnri7veambj.jpg)](https://github.com/daltonmenezes/electron-app)  

[Electron App Boilerplate with Modern Dependencies](https://github.com/daltonmenezes/electron-app) — A basic template app that uses React 19, Tailwind CSS 4, shadcn/ui, Electron Vite, Biome, and includes a GitHub Actions release workflow. 

Dalton Menezes   

[fast-png 6.3: Pure JS PNG Image Decoder and Encoder](https://github.com/image-js/fast-png) — Pass it a PNG to decode via a TypedArray or Buffer, or a Canvas ImageData (or compatible object) to encode into PNG. 

Michaël Zasso   

[Jira.js 4.1: A Wrapper for Atlassian Jira's Cloud APIs](https://github.com/MrRefactoring/jira.js) — Are you lucky enough to use [Jira](https://www.atlassian.com/software/jira)? Increase your joy even more by interacting with it from code. [Further docs and examples.](https://mrrefactoring.github.io/jira.js/) 

Vladislav Tupikin   

[InversifyJS 7.0: Inversion of Control Container](https://inversify.io/) — A lightweight [inversion of control (IoC)](https://en.wikipedia.org/wiki/Inversion_of_control) container to help you adhere to OO best practices. 

Remo H. Jansen   

[Malibu: Framework-Agnostic CSRF Middleware](https://github.com/tinyhttp/malibu) — ESM only, zero-dependency, and TypeScript types are included. It’s compatible with Express, Tinyhttp, and most modern frameworks based around the core HTTP package. 

Reinaldy Rafli   

[wacat 1.4: Tests Your Webapp Against 'Cat Chaos'](https://github.com/mikesmallhelp/wacat) — Uses a virtual ‘cat walking across your keyboard’ approach to tormenting apps with random clicks and form submissions, now with a stronger focus on using AI to generate both valid and invalid inputs. 

Mika Tapanainen   

- [LogTape 0.9.0](https://github.com/dahlia/logtape) – Logging library for JavaScript and TypeScript with zero dependencies and support for multiple environments.
- [node-oracledb 6.8](https://github.com/oracle/node-oracledb/releases/tag/v6.8.0) – _Oracle Database_ driver for Node. Now with interval data type and sparse vector support.
- [sqs-consumer 11.6](https://github.com/bbc/sqs-consumer) – Build Amazon SQS-based applications without boilerplate by defining an async message processing function.
- [Typegoose 12.13](https://github.com/typegoose/typegoose) – Define [Mongoose](https://mongoosejs.com/docs/) models with TypeScript classes.
- [Mongoose 8.12.0](https://github.com/Automattic/mongoose) – MongoDB object modeling approach.
- [NodeBB 4.1](https://github.com/NodeBB/NodeBB/releases/tag/v4.1.0) – Node.js-powered forum software.
- [Nano ID 5.1](https://github.com/ai/nanoid) – Unique string ID generator.
- [pnpm v10.5.2](https://github.com/pnpm/pnpm)       

📰 Classifieds   

I'm not saying **CarsXE’s VIN decoder** is perfect, but it's sure better than asking your mechanic's cousin Vinny (Vinny's a great guy, though). [Try CarsXE!](https://api.carsxe.com/vehicle-specifications?utm_source=Cooper+Press&utm_medium=email&utm_campaign=Cooper-press-mar-4) 

--- 

🎤 [Over 15 speakers revealed for Node Congress!](https://nodecongress.com?utm_source=Newsletter&utm_medium=nodeweekly) Learn Fullstack, JS backends, DevOps & more on April 17-18. Get 10% off with code`NODEWEEKLY`. 

--- 

[Bit - A build system framework for development of composable software](https://bit.dev/?utm_source=NodeWeekly&utm_id=26&utm_medium=newsletter). Natively to Harmony, and support Node.js, React apps (with Vite), NextJS, Angular, Vue and more.    

📢 Elsewhere in JavaScript  

A quick roundup of some of other interesting stories in the broader JavaScript landscape, in case you've missed them: 

- The term 'Ajax' was coined twenty years ago [in this article.](https://web.archive.org/web/20080302121152/http://adaptivepath.com/ideas/essays/archives/000385.php)
- [Windows 95 in Electron](https://github.com/felixrieseberg/windows95/releases/tag/v4.0.0) is, unsurprisingly, Windows 95 running in an Electron app! v4.0 adds Office 95 and IE 5.5 for some (limited) browsing of the Web.
- 📊 [BenchJS](https://benchjs.com/) is an online JavaScript benchmarking sandbox worth playing with.
- [free-for.dev](https://free-for.dev/#/) is a handy and huge (over 1000 items) list of hosted tools and online services with free developer tiers.    

**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|*).
