Fetching from the wire…
Public story · 2026-07-27 · high
Static builds start in 2.4 milliseconds and stay under 200KB, against Node's 47-millisecond boot and up to 116MB footprint.
Why now: By July 27 the repository already had 271 Hacker News points and 286 commits, traction for a project still tagged as a Vercel Labs experiment rather than a shipped product.
Vercel Labs published scriptc, a compiler that turns TypeScript into native binaries with no Node, no V8, no JavaScript engine inside.
Serverless functions and edge compute bill on cold starts and memory. If scriptc's numbers hold under real workloads, that's a real argument against running Node in those environments.
Static binaries land at 170 to 200KB and start in about 2.4 milliseconds, against Node's roughly 47-millisecond boot. Memory use runs 1 to 4MB versus 67 to 116MB for the same class of program under Node, per the project's benchmarks.
The compiler isn't limited to toy scripts. It handles classes, closures, generics, async/await, and exceptions. The standard library covers strings, arrays, Map, Set, JSON, Math, typed arrays, and Buffer. It also wraps fs, path, process, child_process, crypto, net, http, https, and tls, enough to write a backend service, not just a CLI tool.
There's a catch to the no-JS-engine pitch. Constructs the static compiler rejects fall back to a --dynamic mode that embeds quickjs-ng, a roughly 620KB JavaScript engine, pushing binaries to around 3MB. The repo doesn't say what triggers that fallback in practice, so it's unclear how often real TypeScript code needs it.
Scriptc's stdlib leans toward crypto, net, and http support, not just faster script execution. That's a service-building toolkit, and whether it becomes more than a Vercel Labs project will show in how often teams hit that --dynamic fallback once they start shipping real backends with it.
Each link below shares sources, entities, or timing with this story.
Vercel Labs released Zero / Shared entity: Node / Same source domain / Earlier coverage
Linked by a graph relationship (Vercel Labs released Zero); both cover Node; reported by the same outlet (github.com).
GitNexus uses TypeScript / Shared entity: TypeScript / Same source domain / Earlier coverage
Linked by a graph relationship (GitNexus uses TypeScript); both cover TypeScript; reported by the same outlet (github.com).
Shared entities / Same source domain / Earlier coverage
Both cover Apache, JSON; reported by the same outlet (github.com); earlier Apache coverage from 2026-07-26.
Both cover Apache, JSON; reported by the same outlet (github.com); earlier Apache coverage from 2026-07-26.
Both cover Apache, JSON; reported by the same outlet (github.com); earlier Apache coverage from 2026-07-25.
Both cover Apache, Node; reported by the same outlet (github.com); earlier Apache coverage from 2026-07-25.
Both cover JSON, Node; reported by the same outlet (github.com); earlier JSON coverage from 2026-07-16.
Both cover JSON, TypeScript; reported by the same outlet (github.com); earlier JSON coverage from 2026-02-17.