본문 바로가기

잡학다식/IT 컬럼

“타입스크립트가 10배 빨라졌다고?” - Go 기반 TypeScript Native 프리뷰 공개!

728x90
반응형

 

프론트엔드 개발을 하다 보면 타입스크립트 컴파일 속도에 답답함을 느낀 적, 한두 번이 아니죠. 큰 프로젝트일수록 컴파일 시간이 길어져 생산성에 영향을 주곤 합니다. 이런 불편함을 해소하기 위한 마이크로소프트의 새로운 시도, 바로 Go로 작성된 TypeScript 네이티브 컴파일러(tsgo) 가 프리뷰로 공개됐습니다.

이번 블로그에서는 타입스크립트 네이티브 프리뷰 프로젝트(Corsa) 의 개념부터 주요 특징, 성능 비교, 실제 사용 예시까지 자세히 정리해 드립니다. 타입스크립트 성능 이슈로 고민 중이라면 반드시 알아야 할 정보입니다.

반응형

tsgo란 무엇인가? – 타입스크립트의 네이티브 진화

기존 타입스크립트 컴파일러(tsc)는 자바스크립트 기반으로, 대규모 프로젝트에서 속도나 메모리 사용에 있어 한계를 느끼는 경우가 많았습니다. 이를 해결하기 위해 등장한 것이 Corsa 프로젝트이며, 그 핵심 구현체가 바로 tsgo입니다.

  • 작성 언어: Go
  • 주요 목표: 고성능, 병렬 처리, 공유 메모리 기반 구조
  • 실행 방식: 별도 npm 패키지로 설치하여 사용
  • 설치 명령어:
  • npm install -D @typescript/native-preview npx tsgo --project ./src/tsconfig.json

tsgo의 주요 특징

1. 최대 10배 이상의 컴파일 성능 향상

가장 주목할만한 점은 압도적인 속도입니다.

  • 예: Sentry 프로젝트 기준
    • 기존 tsc: 72초
    • tsgo: 6.7초

이처럼 대규모 프로젝트에서 빛을 발하며, 실시간 피드백이 중요한 개발 환경에서 탁월한 성능을 보입니다.

2. JSX와 JSDoc 지원

  • JSX: 초기엔 파싱만 가능했지만, 이제 완전한 타입 검사까지 지원
  • JS 파일: JSDoc 기반 분석 가능하며, 기존 방식보다 일관되고 현대적인 방식으로 리팩토링됨

3. VS Code 확장 제공

  • 확장명: TypeScript (Native Preview)
  • 설정 필요:
  • "typescript.experimental.useTsgo": true
  • 현재는 자동완성, 참조 찾기 등 일부 기능은 제한적이나 지속 개발 중

언어 서버와 API 발전 방향

tsgo는 TSServer 대신 LSP(Language Server Protocol) 기반 언어 서버를 새롭게 구현 중입니다.

  • 현재 제공 기능: 오류 표시, 정의로 이동, hover
  • 추가 예정 기능: 자동완성, 리네임, 참조 찾기 등

또한, 다양한 언어와 TypeScript 프로세스 간 통신을 위한 IPC 기반 API 개발도 병행 중이며, Node.js를 위한 Rust 기반 모듈(libsyncrpc) 도 도입되어 성능 개선에 기여하고 있습니다.


728x90

시사점 및 기대되는 변화

Go로 재구성된 tsgo는 단순한 속도 개선을 넘어, 타입스크립트의 미래를 재정의하고 있습니다.
성능 병목을 겪고 있던 대형 프론트엔드 프로젝트에서는 tsgo가 새로운 대안이 될 수 있습니다. 아직 일부 기능은 제한적이지만, 타입스크립트 7의 방향성을 미리 체험해보고, 앞으로의 변화에 능동적으로 대비할 수 있는 좋은 기회입니다.

"컴파일 기다리는 시간에 커피 한 잔?" 이제는 그럴 필요 없습니다. tsgo로 바꾸면 코딩 흐름이 끊기지 않습니다.
지금 프리뷰를 설치하고 성능 차이를 직접 느껴보세요!

https://devblogs.microsoft.com/typescript/announcing-typescript-native-previews/

 

Announcing TypeScript Native Previews - TypeScript

Previews of the native TypeScript port are now available on npm and for VS Code through the Visual Studio Marketplace!

devblogs.microsoft.com

728x90
반응형