scriptc
Compiles ordinary TypeScript to a small native binary, no Node or V8 required
scriptc compiles plain TypeScript — classes, closures, async/await, the stdlib, Node's fs/path/process/http surface — straight to native code with no JavaScript engine required. What can't compile statically (npm packages' shipped JS, any-typed code) can run in an opt-in dynamic tier that embeds a ~620KB engine, and anything scriptc can't handle either way fails the build with a specific error code rather than silently miscompiling. A hello-world binary is about 320KB and starts in ~4ms, versus Node's ~120MB runtime and ~35ms for the same output, and the whole test corpus is checked byte-for-byte against Node's output.

What holds up
- +No annotations or special dialect — it type-checks your existing TypeScript with the real tsc
- +Coverage report names every construct that needs the dynamic engine, statement by statement
- +~320KB binaries that start in ~4ms, versus Node's ~120MB runtime and ~35ms startup
Mind the limits
- −Anything outside the two supported tiers fails the build rather than running — some code needs rewriting
- −npm packages with dynamic JS still need the ~620KB embedded engine, so you don't fully escape it
Featured here? Take the badge
Put it on your site — it links back to this review. Free for every listed product, always.
<a href="https://stillworks.dev/products/p/scriptc/"><img src="https://stillworks.dev/badge/scriptc.svg" alt="Picked by StillWorks" width="250" height="54"></a>