Oct 1, 2026

Vercel Labs has released scriptc, an experimental compiler that turns TypeScript into small native executables — no Node, no V8 and no JavaScript engine bundled inside.
How it works
scriptc uses the real TypeScript compiler to parse and type-check your code, lowers it to a typed intermediate representation, and then emits readable C, LLVM IR, assembly, object files, native executables or WebAssembly (WASI Preview 1).
Every piece of code lands in one of three tiers:
Static, the default: compiled straight to native code.
Dynamic: with the --dynamic flag, npm packages and any-typed code run inside an embedded quickjs-ng engine of about 620 KB.
Rejected: anything it can’t handle fails at compile time with an error code and a hint on how to rewrite it.
The numbers
In a benchmark of scriptc 0.0.16 against Bun 1.3.12 and Node 24.18.0:
Startup of a command-line tool: 1.78 ms, against 21.29 ms for Bun and 61.78 ms for Node.
Idle memory: 1.9 MiB for a simple node:http server.
Throughput: a Hono server with --dynamic handled about 18.4k requests per second, against 70.5k on Bun.
Startup time and memory are where it shines. Raw speed isn’t there yet, and the project is clearly labelled experimental.
Why it caught our eye
A lot of everyday software — command-line tools, small services, background jobs — is TypeScript that only needs Node to run. A single tiny binary that starts instantly would make those simpler to ship and cheaper to host. At version 0.0.x it isn’t ready for client work, but it’s one we’ll keep an eye on.
Sources: the vercel-labs/scriptc repository on GitHub and InfoQ’s coverage of the release.