이번 주 개발자 커뮤니티에서는 TypeScript-Go(타입스크립트를 Go 언어로 컴파일하여 실행하는 환경) v7 릴리스 예고가 화두로 올랐다. 깃허브 저장소의 이슈 탭에는 기존 JS 기반 플러그인들이 v7 환경에서 어떻게 작동할지에 대한 우려가 섞인 질문들이 올라오기 시작했다. 특히 런타임 타입 검사를 자동화하는 라이브러리들을 사용하는 팀 사이에서 도구 체인의 붕괴를 걱정하는 모습이 관찰된다.
TypeScript-Go v7과 ttsc의 등장
TypeScript-Go v7의 정식 릴리스는 약 두 달 뒤로 예정되어 있다. 이에 대응하여 TS v7 시대에서도 생존 가능한 생태계를 구축하기 위해 ttsc(TypeScript-Go 기반의 트랜스포머 및 플러그인 호스트)와 ttsx(TypeScript-Go 기반의 타입스크립트 러너)가 개발되었다. 사용자는 아래와 같은 명령어를 통해 해당 도구들을 즉시 실행할 수 있다.
npx ttsc
bash
npx ttsx src/index.tsttsc는 트랜스포머와 플러그인을 호스팅하는 역할을 수행하며, ttsx는 작성된 타입스크립트 코드를 즉시 실행하는 러너 역할을 맡는다. 이는 기존의 자바스크립트 기반 플러그인 라이브러리들이 가졌던 구조적 한계를 Go 언어의 성능으로 해결하려는 시도로 분석된다.
ts-node와 tsx를 넘어선 성능 기준
예전에는 타입 체크를 위해 별도의 컴파일 과정을 거치거나, 실행 속도를 위해 타입 체크를 완전히 포기한 tsx(타입 체크를 생략해 실행 속도를 높인 타입스크립트 실행 도구)를 사용했다. ttsx는 이 지점에서 새로운 기준점을 제시한다. 개발팀이 공개한 수치에 따르면 ttsx는 ts-node(타입스크립트 파일을 별도 컴파일 없이 직접 실행하게 해주는 도구)보다 초기 구동 속도가 10배 빠르다.
단순히 속도만 높인 것이 아니라 안정성까지 확보했다는 점이 핵심이다. tsx가 빠른 실행을 위해 타입 체크를 생략했던 것과 달리, ttsx는 실행 과정에서 타입 체크를 함께 수행한다. 이는 개발자가 빠른 피드백 루프를 유지하면서도 타입 안정성을 놓치지 않게 만드는 실무적 이점을 제공한다.
개발자가 바로 체감하는 변화는 typia(런타임 타입 검사 코드를 자동으로 생성해 주는 라이브러리) 같은 JS 기반 플러그인 라이브러리들의 운명이다. 기존의 JS 기반 도구들은 v7의 구조적 변화로 인해 더 이상 작동하지 않는 종말의 단계에 진입한 것으로 보인다. 이제는 Go 기반의 네이티브 호스트를 사용하는 방식으로 전환해야 하며, 이는 빌드 파이프라인에서 발생하는 고질적인 병목 현상을 제거하는 결과로 이어진다.
6개월 뒤 우리 코드에 적용될 모습은 명확하다. 무거운 ts-node 기반의 테스트 환경이나 타입 체크가 빠진 불안정한 tsx 환경 대신, Go의 성능을 등에 업은 ttsx가 개발 서버의 기본 러너로 자리 잡을 가능성이 높다. 이는 CI/CD 파이프라인의 전체 실행 시간을 단축시키고, 런타임 오류를 사전에 차단하는 더 견고한 개발 환경을 구축하는 기반이 된다.
이제 타입스크립트의 성능 최적화는 JS 런타임의 개선이 아니라 컴파일러 자체를 네이티브 언어로 교체하는 방향으로 이동하고 있다.



