---
title: "Unflagged TypeScript support is just around the corner"
publication: "Node Weekly"
issue: 561
published_at: "2025-01-07"
canonical_url: "https://nodeweekly.com/issues/561"
---

Plus tackling the 1 billion row challenge with Node. |        

#​561 — January 7, 2025 

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

Happy New Year! We're now back every week all the way till mid February, so if you've got anything you want to submit for inclusion in a future issue, now's a great time to hit Reply and let me know :-)
__
_Peter Cooper_ 

Together with [![Memetria\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_145/e_make_transparent/co_white,e_outline:7/vvpdctzacmq3xehpvwps.png)](https://dashboard.memetria.com/nodeweekly/)  

![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/lu60bjxwmihkjlk7pcjl.jpg)](https://www.totaltypescript.com/typescript-is-coming-to-node-23)  

[Node.js Now Supports TypeScript By Default](https://www.totaltypescript.com/typescript-is-coming-to-node-23) — It’s been possible to run TypeScript directly with Node.js since v22.6 introduced [experimental ‘type stripping’ support](https://nodejs.org/en/learn/typescript/run-natively), but in the [to-be-released-at-any-moment Node 23.6](https://github.com/nodejs/node/pull/56450) (or the current Node nightly) you’ll be able to run `node yourapp.ts` and it’ll Just Work™. Matt provides some details on _how_ it works and what you’ll be able to do. 

Matt Pocock   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/89973fef.png)](https://dashboard.memetria.com/nodeweekly/) 

[Memetria K/V: Efficient Redis & Valkey Hosting](https://dashboard.memetria.com/nodeweekly/) — Memetria K/V hosts Redis OSS and Valkey for Node.js apps, featuring large key tracking and detailed analytics to manage and optimize application data effectively. 

Memetria sponsor   

[Tackling the '1 Billion Row Challenge' with Node](https://jackyef.com/posts/1brc-nodejs-learnings) — The [1 Billion Row Challenge](https://1brc.dev/) (1BRC) arose about a year ago to see how quickly different languages and techniques can be used to aggregate data from a 1 billion line text file. Here’s what one developer learnt trying to optimize the task with Node. 

Jacky Efendi   

**IN BRIEF:** 

- The Node project will soon be [issuing a CVE for 'end of life' Node.js versions](https://nodejs.org/en/blog/vulnerability/upcoming-cve-for-eol-versions), essentially as an official way to notify users of Node 16 and below that they are very much unmaintained and may pose a security risk.
- As an aside, we learn from the above item that Node 16 is still being downloaded 11 million times a month, despite being EOL for over a year.
- 📺 A few months ago, Node.js creator Ryan Dahl gave [a talk at _GOTO Chicago 2024_ about Deno 2](https://www.youtube.com/watch?v=Ak-FYSpW-rA), covering Deno's differences to Node and what [Deno 2.0](https://deno.com/blog/v2.0) (and JSR) has to offer JavaScript developers, complete with live demos.   

[Node v23.5.0 (Current) Released](https://nodejs.org/en/blog/release/v23.5.0) — A Node release that slipped in just before 2024 ended. WebCryptoAPI’s Ed25519 and X25519 algorithms are now stable and [on-thread hooks](https://nodejs.org/en/blog/release/v23.5.0#on-thread-hooks-are-back) are now back. 

Antoine du Hamel   

[Introducing `@smoores/epub`: A Package for Working with EPUB Files](https://smoores.dev/post/announcing_smoores_epub/) — [EPUB](https://en.wikipedia.org/wiki/EPUB) is a popular e-book file format and this new library provides a way to both read and write them. [npm package link.](https://www.npmjs.com/package/@smoores/epub) 

Shane Friedman   

[Securing Node.js Express APIs with Clerk and React](https://go.clerk.com/wEJLBN1) — A guide that teaches you how to authenticate API requests using `ClerkExpressWithAuth()` and `ClerkExpressRequireAuth()`middleware. 

Clerk sponsor   

📄 [Build Your Own Site Speed Testing Tool with Puppeteer](https://calendar.perfplanet.com/2024/build-your-own-site-speed-testing-tool-with-puppeteer/) Henry Price 

📄 [A Gentle Introduction to Using a Vector Database](https://stevekinney.net/writing/using-a-vector-database) – Written for Bun, but the approach taken can be used from Node too. Steve Kinney 

📄 [From Scratch to Server: Creating and Hosting a Node App with SVR.JS](https://svrjs.org/blog/from-scratch-to-server-creating-and-hosting-a-node-js-app-with-svr-js) – SVR.JS is a [full featured](https://svrjs.org/docs/getting-started/features) configurable HTTP(/2) server with built-in security and compression features. SVR.JS 

📄 [Shallow Clones vs Structured Clones](https://philna.sh/blog/2024/12/30/shallow-clones-versus-structured-clones/) Phil Nash    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/bblhcvx6h1tp7r9eqqea.jpg)](https://github.com/google/zx/releases/tag/8.3.0)  

[zx 8.3: A Tool for Writing Better Shell Scripts](https://github.com/google/zx/releases/tag/8.3.0) — [`zx`](https://google.github.io/zx/) is an alternative way to run Node that makes it more useful for shell scripting by offering various niceties like process management, argument handling, and commonly used packages like [Chalk.](https://github.com/chalk/chalk) v8.3 makes it possible to iterate over a processes’ output using `for await` (thanks to `Symbol.asyncIterator`), plus there are enhancements to using pipes. 

Google   

[Release It 18.0: A CLI Tool to Automate Package Publishing Tasks](https://github.com/release-it/release-it) — Think things like bumping versions, tagging, creating releases at GitHub or GitLab, changelog generation, etc. 

Lars Kappert   

[MicroDiff 1.5: No Dependency Object and Array Comparison Library](https://github.com/AsyncBanana/microdiff) — Given two objects or arrays, it returns the differences (think `diff` but for JavaScript objects). Boasts high performance and TypeScript support. There’s also an article from 2022 [about how it works](https://byteofdev.com/posts/microdiff/). 

AsyncBanana   

[jsesc: Get a Stringified, ASCII-Safe Representation of Any Data](https://github.com/mathiasbynens/jsesc) — Think `JSON.stringify()` but instead it returns JavaScript meaning it can support things like maps, sets, and `BigInt`s. 

Mathias Bynens   

[CSV Parse: Convert CSV Text into Arrays / Objects](https://csv.js.org/parse/) — Extends Node’s native transform stream API so you can get up and running quickly – see [some example code.](https://csv.js.org/project/examples/) Part of [a suite of CSV libraries](https://csv.js.org/) that can also generate and transform CSV more generally. 

Adaltas   

[node-datachannel: libdatachannel Bindings for Node.js](https://github.com/murat-dogan/node-datachannel) — `libdatachannel` is a standalone C++17-based implementation of various WebRTC standards, as well as WebSockets, for use on POSIX platforms. 

Murat Doğan       

📰 Classifieds   

🚀 Start the year with fewer flakes, faster merges, and less frustration. Don’t let flaky tests disrupt CI — [join us live!](https://sentry.io/resources/flaky-test-workshop/?utm_medium=paid-community&utm_source=nodeweekly&utm_campaign=fy25q4-codecov-workshop&utm_content=codecov-workshop-register) 

--- 

🔹 Sell to enterprise with a few lines of code with [WorkOS — the modern, flexible identity platform for B2B SaaS](https://workos.com/?utm_source=cpnode&utm_medium=newsletter&utm_campaign=q12025). Integrate SSO, SCIM and FGA in minutes, not months.     

[Schemalint: A Linter for Postgres Schemas](https://github.com/kristiandupont/schemalint) — A linter that lets you raise errors on a variety of common matters like name casing, enforcing row level security, or the presence of mandatory columns (so think more like ESLint than a basic formatter). You can also write [your own custom rules.](https://github.com/kristiandupont/schemalint/tree/main/example) 

Kristian Dupont   

[sqs-consumer 11.3: Build Amazon SQS-Based Apps Without Boilerplate](https://github.com/bbc/sqs-consumer) — Build SQS-based (Simple Queue Service) apps without the boilerplate. Just define an async function to handle the SQS message processing. If it’s good enough for the BBC.. 

BBC   

- [Fast HTML Parser 7.0](https://github.com/taoqf/node-html-parser) – _'Very fast'_ HTML parser, generating a simplified DOM, with basic element query support.
- [node-libcurl 4.1](https://github.com/JCMais/node-libcurl) – [libcurl](https://github.com/curl/curl) bindings for Node. Now comes with prebuilt binaries for Node 22 and Electron 31-33.
- [Node Serialport 13.0](https://github.com/serialport/node-serialport) – Access serial ports from Node on multiple platforms.
- [Prisma 6.1](https://github.com/prisma/prisma/releases/tag/6.1.0) – Popular ORM for Node.js and TypeScript. Tracing is now GA.
- [Mercurius 16.0](https://github.com/mercurius-js/mercurius) – Implement GraphQL servers and gateways atop Fastify.
- [Discordeno 21.0](https://github.com/discordeno/discordeno) – Discord API library for Node, Deno and Bun.
- [Ts.ED 8.4](https://tsed.dev/) – Node + TypeScript framework on top of Express.
- [express-rate-limit 7.5](https://github.com/express-rate-limit/express-rate-limit/releases/tag/v7.5.0) – Basic rate limiting for Express apps.
- [ignore 7.0](https://github.com/kaelzhang/node-ignore) – `.gitignore` parsing and filtering library.
- [Commander.js 13.0](https://github.com/tj/commander.js/releases/tag/v13.0.0) – Node.js CLI app framework.
- [Strapi 5.6](https://github.com/strapi/strapi) – Popular Node.js headless CMS.
- [Undici 7.2](https://github.com/nodejs/undici) – Node's HTTP/1.1 client library.
- [Pino 9.6](https://github.com/pinojs/pino) – Fast JSON-oriented logger.    

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