GitHub Trending웹 · 프론트엔드오늘의 주요

vercel-labs/scriptc

TypeScript를 네이티브 코드로 컴파일하는 scriptc 공개

원제 vercel-labs/scriptc

스타 5,313당일 +186TypeScript
Key Point

TypeScript 개발자가 Node 런타임 없이 단일 네이티브 실행 파일로 배포할 수 있게 되어, 번들 크기 최소화와 성능 향상이 가능해진다.

핵심 요약

  • Vercel Labs가 TypeScript/JavaScript를 네이티브 실행 파일과 WebAssembly로 컴파일하는 scriptc를 공개했다.
  • TypeScript 컴파일러를 활용해 파싱과 타입 검사를 수행하고, 타입화된 중간 표현(IR), C 코드, LLVM IR, 네이티브 어셈블리, 객체 파일 등 다양한 형태로 출력할 수 있다.
  • macOS 15+ arm64, Linux, Windows에서 동작하며, Node 없이 독립적인 네이티브 실행 파일 생성이 가능하고 정적 바이너리에는 작은 런타임만 포함된다.
  • npm 패키지와 any 타입 코드는 --dynamic 옵션으로 quickjs-ng를 내장해 동적 실행을 지원한다.
  • 생성된 실행 파일은 Node.js가 필요 없으며, IR/C 생성에는 Node만 필요하고 어셈블리/객체 파일 생성 시 플랫폼별 헬퍼를 사용한다.
  • scriptc coverage 명령으로 프로그램의 정적 컴파일 가능 범위를 확인할 수 있고, 동적 또는 미지원 부분을 진단 코드로 보고한다.
  • WebAssembly 빌드는 Zig을 사용해 WASI Preview 1 모듈을 생성하며, 네트워크 소켓, 자식 프로세스, OS 신호는 WASI 제약으로 지원되지 않는다.
  • Node.js 24 이상이 필요하고, 문서에서 빠른 시작 가이드, CLI 참고, npm 의존성, 네이티브 FFI, 플랫폼 지원 정보를 제공한다.
  • 실험적 단계이며 테스트는 컴파일된 네이티브 바이너리 출력물을 Node와 비교해 표준 출력, 오류 출력, 종료 코드를 바이트 단위로 검증한다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗