scriptc von Vercel bringt TypeScript nativ zum Laufen
Scriptc von Vercel Labs bricht mit dem JavaScript-Runtime-Modell. Statt TypeScript nach JavaScript zu übersetzen, erzeugt der Open-Source-Compiler direkt native Binaries für verschiedene Plattformen. Bei statischer Kompilierung braucht es weder Node.js noch eine JavaScript-Engine, und das erzeugte Executable benötigt eine eingebettete JavaScript-Runtime nur in Ausnahmefällen. Laut Vercel Labs bringt das massive Performancegewinne. Weiterlesen nach der Anzeige Die GitHub-Seite von scriptc nennt dazu konkrete Zahlen, ermittelt auf einem nicht näher spezifizierten Apple-M-System. Die Benchmarkergebnisse stellt Vercel Labs ähnlichen Workloads in Node.js, Go, Rust und Zig gegenüber. Bei einem scriptc-Beispielprojekt hat sich laut Vercel Labs die Startzeit gegenüber dem gleichen Node.js-Workload von 47 auf 2,4 Millisekunden verkürzt und das statische Binary belegt mit rund 200 KByte Größe deutlich weniger Speicherplatz als das etwa 2 MByte große Go-Äquivalent. Zudem beansprucht das Beispiel-scriptc-Executable maximal 4 MByte an Arbeitsspeicher, während es bei Node.js bis zu 116 MByte sind. QuickJS-NG für dynamische Inhalte Indem scriptc neben TypeScript auch große Teile der Node.js-API wie fs, path, crypto, http, https, net, dns, timers und fetch nativ implementiert, zielt es auf eine möglichst hohe Kompatibilität mit bestehendem Node.js‑Code ab. Bei dynamischen JavaScript-Features wie npm-Abhängigkeiten oder Code, der mit any nicht typisiert ist, enthält das Binary zusätzlich die JavaScript-Engine QuickJS-NG. scriptc lässt sich mit npm install -g scriptc installieren und benötigt Clang als Compiler-Frontend. Der Open-Source-Compiler setzt auf macOS arm64 als primäre Plattform. Linux- und Windows-Binaries werden per Cross-Compilation erzeugt. Das Projekt befindet sich in einem sehr frühen Entwicklungsstand (Version 0.0.x) und hat noch keinen stabilen Release-Status.