프론트엔드 개발을 하다 보면 타입스크립트 컴파일 속도에 답답함을 느낀 적, 한두 번이 아니죠. 큰 프로젝트일수록 컴파일 시간이 길어져 생산성에 영향을 주곤 합니다. 이런 불편함을 해소하기 위한 마이크로소프트의 새로운 시도, 바로 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) 도 도입되어 성능 개선에 기여하고 있습니다.
시사점 및 기대되는 변화
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
'잡학다식 > IT 컬럼' 카테고리의 다른 글
AGI는 언제 올까? 2026년, AI가 진짜 일을 시작하는 해가 될 수 있는 이유 (0) | 2025.05.28 |
---|---|
AI가 착한 척한다면, 우리는 어떻게 알 수 있을까? - 정렬, 자기 인식, 그리고 AI의 숨겨진 전략들 (0) | 2025.05.26 |
드디어 공개된 Kotlin 공식 Language Server, VS Code에서도 Kotlin 개발이 쉬워진다 (0) | 2025.05.25 |
한 번에 트윗, 포스트, 공유! 여러 SNS 동시 게시를 가능하게 하는 오픈소스 ‘Crosspost’ 소개 (0) | 2025.05.24 |
구글이 보여준 미래: Google I/O 2025 주요 발표 정리 (0) | 2025.05.21 |