Vercel's scriptc: TypeScript to Native, No JS Engine Needed
Alps Wang
Sep 25, 2026 · 1 views
Beyond the JavaScript Runtime
Vercel Labs' scriptc presents a compelling vision for a new era of TypeScript development, promising native executables with drastically reduced startup times and memory footprints. The core innovation lies in its aggressive compilation strategy, leveraging the real TypeScript compiler and then lowering to various native targets, including C and LLVM IR. This bypasses the need for heavy JavaScript engines like V8, which is a significant differentiator for performance-critical applications and edge deployments. The benchmark results, particularly the low idle memory usage and rapid startup times, are impressive and directly address common pain points in JavaScript development, such as cold starts and resource consumption. The ability to generate small, self-contained binaries without external runtime dependencies is a major advantage for deployment simplicity and security.
However, scriptc is still in its experimental phase, and several concerns warrant careful consideration. The reported performance degradation in certain scenarios, like the Hono benchmark where a significant portion fell back to QuickJS, highlights that 'fully native' is not always achievable or optimal for all codebases, especially those heavily reliant on dynamic JavaScript features or npm packages. The feedback from developers experiencing hundreds of errors on existing projects suggests a steep learning curve and potential compatibility issues with the broader JavaScript ecosystem. Furthermore, the historical precedent of Vercel's previous experimental projects (like zerolang) raises valid questions about the long-term commitment and support for scriptc. The reliance on QuickJS for dynamic code, while an ingenious compromise, introduces a dependency that might negate some of the 'no JS engine' benefits for certain use cases. The divergence in behavior from standard Node.js (e.g., Object.keys order, process.argv[0]) will also require developers to adapt their coding practices. Despite these challenges, for developers prioritizing extreme performance, minimal resource usage, and fast cold starts, scriptc offers a tantalizing glimpse into the future of compiled TypeScript applications.
Key Points
- Vercel Labs has released scriptc, an experimental TypeScript-to-native compiler.
- scriptc compiles TypeScript into small, native executables, eliminating the need for JavaScript engines like V8.
- Benchmarks show significantly faster CLI startup times and lower idle memory usage compared to Node.js and Bun.
- The compiler targets various native outputs including C, LLVM IR, and WebAssembly.
- Dynamic code and npm packages can be handled by an embedded QuickJS engine (approx. 620KB).
- Performance can be impacted when significant portions of code fall back to QuickJS.
- Early adoption faces challenges with error rates on existing projects and concerns about long-term project support.
- Key divergences from Node.js include UTF-8 strings, reference counting, Object.keys order, and process.argv[0].

📖 Source: Vercel Labs Ships scriptc, a TypeScript-to-Native Compiler That Leaves the JavaScript Engine Behind
Related Articles
Comments (0)
No comments yet. Be the first to comment!
