Vercel Labs has published scriptc, an open-source compiler that abandons the usual JavaScript runtime model: instead of translating TypeScript into JavaScript, it produces native binaries for different platforms. With static compilation, neither Node.js nor a JavaScript engine is required, and the resulting executable embeds a JavaScript runtime only in exceptional cases.
Benchmarks on the project's GitHub page, measured on an unspecified Apple M-series machine, compare scriptc against similar workloads in Node.js, Go, Rust and Zig. In one example project, startup time reportedly dropped from 47 milliseconds under Node.js to 2.4 milliseconds. The static binary takes up around 200 KByte, versus roughly 2 MByte for the Go equivalent, and peak memory consumption was 4 MByte compared to up to 116 MByte for Node.js.
To maximize compatibility with existing Node.js code, scriptc natively implements large parts of the Node.js API, including fs, path, crypto, http, https, net, dns, timers and fetch. When dynamic features are involved — npm dependencies or code typed with any — the binary additionally embeds the QuickJS-NG JavaScript engine.
scriptc is installed via npm install -g scriptc and requires Clang as the compiler frontend. macOS arm64 is the primary platform; Linux and Windows binaries are produced through cross-compilation. The project is at a very early stage (version 0.0.x) with no stable release yet.
Comments
No comments yet — be the first.
Open the discussion
No account or password needed — just enter your e-mail and we’ll send you a one-time sign-in link. First time here? You’re set up automatically.
Your rating will be applied automatically after you sign in.
Check your inbox
We’ve sent a sign-in link to …. Open it on this device — this tab will sign you in automatically.
Waiting for your click …
·