---
title: "Node 24 runs TypeScript natively, and that is enough"
description: "Node 24 LTS strips types natively, which removes the last reason to add tsx or a compiler step to simple build scripts."
pubDate: 2026-09-24
tags: ["node", "typescript", "tooling"]
---

For years, running a TypeScript file required a bundler, a transpiler, or `tsx`. Node 22.6+ added experimental type stripping behind a flag, and Node 23 made it default. Node 24 LTS, which this site pins via `.nvmrc` and `engines`, runs plain `.ts` scripts out of the box:

```sh
node scripts/generate-llms-txt.ts
```

## What works and what does not

Type stripping means exactly that: types are erased, nothing is transformed. You can use type annotations, interfaces, `satisfies`, and `enum`-free generics. You cannot rely on path-mapping tsconfig resolution, decorators, or emitting to a different module system.

## Where this shines

Simple build scripts, codegen, glue for CI. The `llms.txt` generator in this repo is a plain `.ts` file executed by Node directly, with zero extra dependencies and no watch-mode tooling installed. If a script outgrows that, it moves into the Vite/Astro build, where Vite handles the transform anyway.

For anything this size, native type stripping is not a compromise. It is the right amount of tooling.
