Hacker News웹 · 프론트엔드

Cloudflare, TypeScript을 Rust로 포팅한 tsrs 공개

원제 Tsrs: A Port of TypeScript to Rust

181 포인트댓글 92
Key Point

TypeScript 검사 속도를 8배 높이면서 메모리를 70% 줄인 Rust 포트가 브라우저와 엣지 환경에서도 개발 환경 구성을 가능하게 한다.

핵심 요약

  • Cloudflare와 VoidZero, Owner.com의 Max Schwenk가 협력해 TypeScript 컴파일러를 Rust로 포팅한 tsrs를 개발 중이며, TypeScript 팀과 긴밀히 협력하고 Oxc JavaScript 컴파일러 툴체인 일부로 인큐베이션 중이다.
  • tsrs는 TypeScript 7.0 대비 최대 8배 빠르고 약 70% 적은 메모리를 사용하며, TypeScript 팀의 최적화 일부가 tsrs에서 역으로 업스트림되었다.
  • Cloudflare는 TypeScript 포크가 아니며, TypeScript 팀이 언어 설계와 방향을 전적으로 통제해야 한다는 입장을 유지하고, tsrs는 원본 구현을 엄격히 보존한다.
  • Rust 선택 이유는 WebAssembly 호환성으로, Go의 가비지 컬렉터와 달리 Rust의 메모리 관리 모델은 WebAssembly 게스트와 호스트 간 직접 상호작용을 가능하게 한다.
  • Cloudflare Workers에서 Wasm 지원이 이미 오래전부터 이뤄졌고, 최근 wasm-bindgen의 Emscripten 타겟으로 네이티브 Rust 지원을 추가했다.
  • tsrs를 Wasm으로 컴파일하면 브라우저, IoT 기기, 임베디드 환경에서 개발 환경을 직접 구성할 수 있으며, Cloudflare Workers의 샌드박스 환경에서 완전한 개발 툴체인을 실행 가능하게 한다.
  • Cloudflare는 Theo Browne과 협력해 tsc-rs와 tsrs를 통합해 Language Server Protocol(LSP)과 소스맵을 포함한 모든 TypeScript 기능을 지원하는 단일 패키지로 만들 계획이다.
  • Vinext의 유지 관리 방식을 적용해 매일 에이전트가 업스트림 변경사항을 검토하고, 매밤 호환성 매트릭스를 재생성하며, 차이를 발견하면 에이전트가 변경사항을 식별해 수정을 제안한다.
  • 성능 개선 사항을 TypeScript Go 코드베이스에 역기여해 커뮤니티 전체가 이익을 받도록 할 계획이며, 현재 진단 메시지 순서 등 일부 차이를 안정 릴리스 전에 최소화할 목표다.
  • Cloudflare는 Vite, Rolldown, Oxlint, Oxfmt 등 JavaScript 생태계에 쓰이는 무료 오픈소스 Rust 도구를 이미 다수 운영 중이며, 1천만 명 이상의 개발자가 Cloudflare에서 빌드하므로 개발 툴체인을 더 빠르고 이식 가능하게 만드는 데 관심이 크다.
AI 요약 안내

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

요약 원칙 ↗