TypeScript 7.0 Beta 공개
4 hours ago
1
TypeScript 7.0 Beta 공개 - Go 네이티브 포팅으로 약 10배 빨라진 TS
- 기존 TypeScript 컴파일러를 Go로 포팅한 새 네이티브 구현
- “beta”지만 일상 작업과 CI에서 바로 써볼 수 있을 정도로 안정적이라고 강조
- 새 코드베이스는 재작성(rewrite)이 아니라 기존 구현을 체계적으로 포팅
- 타입 체크 로직은 TypeScript 6.0과 구조적으로 동일
- TypeScript 6.0 대비 종종 약 10배 빠른 성능
- 네이티브 코드 성능 + 공유 메모리 병렬화 기반
- Microsoft 내부/외부의 수백만 LOC 코드베이스에서 이미 사용 중
- Bloomberg, Canva, Figma, Google, Linear, Notion, Slack, Vercel 등과 사전 테스트
- CLI뿐 아니라 에디터 경험도 더 가볍고 빠르게 개선
사용 방법
- 현재는 별도 패키지로 설치
- npm install -D @typescript/native-preview@beta
- 기존 tsc 대신 tsgo 실행
- 향후 안정 버전은 다시 typescript 패키지와 tsc 엔트리포인트로 배포 예정
TypeScript 6.0과 병행 사용
- 7.0 Beta는 @typescript/native-preview + tsgo로 제공
- 기존 tsc와 tsgo를 나란히 실행하며 비교 가능
- 안정 버전에서는 TS7이 tsc 이름을 다시 사용
- TS6 호환용 @typescript/typescript6 패키지도 제공
- TypeScript API에 의존하는 기존 도구는 당분간 TS6 API를 계속 쓰는 구성이 가능
중요한 제한
- 7.0 Beta는 production-ready에 가깝지만 stable programmatic API는 아직 없음
- 안정적인 API는 최소 TypeScript 7.1 이후, 몇 달 뒤 목표
- TypeScript API에 직접 의존하는 도구/플러그인은 전환 주의 필요
병렬화
- 파싱, 타입 체크, emit 등 여러 단계 병렬화
- 타입 체크 워커 수를 조절하는 --checkers 옵션 추가
- project reference 빌드를 병렬화하는 --builders 옵션 추가
- 단일 스레드 실행을 위한 --singleThreaded 옵션 추가
- 대형 코드베이스와 모노레포에서 효과가 크지만, 병렬도를 높이면 메모리 사용량도 증가 가능
TypeScript 6.0 기준 호환성
- TypeScript 7.0은 TypeScript 6.0의 타입 체크/CLI 동작과 호환을 목표
- TS6에서 clean compile 되는 코드는 TS7에서도 동일하게 컴파일되는 것이 목표
- 단, TS6의 새 기본값과 deprecated 기능 정리가 함께 적용됨
- strict, module, rootDir, types 등의 기본값 변화는 기존 프로젝트에서 체감될 수 있음
- 특히 rootDir과 types 변경은 마이그레이션 시 확인 필요
- 오래된 타깃/모듈 설정이나 deprecated 옵션을 쓰는 프로젝트는 TS6 전환을 먼저 거치는 것이 권장됨
JavaScript/JSDoc 변경
- JS 지원을 TypeScript 파일 분석 방식과 더 일관되게 재정리
- 일부 JSDoc/Closure 스타일 문법과 오래된 JS 패턴 특수 처리가 제거됨
- JS + JSDoc 기반 코드베이스는 별도 확인 필요
에디터 지원
- VS Code용 TypeScript Native Preview 확장 제공
- CLI와 같은 기반이라 에디터에서도 동일한 성능 개선
- auto-import, hover, inlay hints, code lens, JSX linked editing 등 지원
- LSP 기반이라 다른 현대적 에디터/도구에서도 활용 쉬움
향후 계획
- 더 효율적인 --watch 구현 예정
- JS 파일의 declaration emit parity 작업 예정
- 에디터 기능 격차 보완 예정
- 안정적인 programmatic API는 TypeScript 7.1 이후
- TypeScript 7.0 안정 버전은 약 2개월 내 목표
- RC는 그 몇 주 전 공개 예정
-
Homepage
-
Tech blog
- TypeScript 7.0 Beta 공개