
Microsoft TypeScript 팀 공식 블로그에 따르면 TypeScript 7.0 Release Candidate가 18일(현지시간) 공개됐다. 이번 버전은 기존 TypeScript 코드베이스를 Go 기반 네이티브 코드로 포팅한 새 컴파일러 기반을 전면에 내세운다.
TypeScript 팀은 새 기반이 네이티브 코드 속도와 공유 메모리 병렬성을 활용해 TypeScript 6.0보다 대체로 약 10배 빠르다고 설명했다. 다만 이번 작업은 언어 의미를 새로 설계한 재작성이라기보다 기존 구현을 구조적으로 옮긴 포팅에 가깝다. 팀은 타입 검사 로직이 TypeScript 6.0과 구조적으로 동일하며, 기존 의미 체계를 유지하도록 대규모 테스트 스위트로 검증했다고 밝혔다.
개발자는 npm에서 typescript@rc를 설치해 RC를 시험할 수 있다. VS Code에서는 TypeScript Native Preview 확장을 통해 편집 경험을 확인할 수 있으며, 새 언어 서버는 Language Server Protocol 기반으로 동작한다. 이는 VS Code 외 다른 현대적 편집기에서도 같은 기반을 활용할 수 있음을 뜻한다.
대형 코드베이스와 모노레포를 쓰는 팀에 중요한 변화는 병렬화다. TypeScript 7.0은 파싱, 타입 검사, 출력 과정의 일부를 병렬로 처리한다. 타입 검사는 기본적으로 4개의 checker worker를 사용하며, --checkers 옵션으로 조정할 수 있다. 프로젝트 참조 빌드 역시 --builders 옵션으로 여러 프로젝트를 동시에 빌드할 수 있다. 다만 worker 수를 늘리면 메모리 사용량도 함께 늘 수 있어 CI 환경과 개발자 장비 사양에 맞춘 조정이 필요하다.
호환성 측면에서는 TypeScript 6.0과의 병행 운용이 별도 고려 사항이다. TypeScript 팀은 7.0 RC가 정식에 가까운 상태라고 설명하면서도 안정적인 프로그래밍 API는 최소 TypeScript 7.1 이후에야 제공될 예정이라고 밝혔다. 이를 위해 @typescript/typescript6 호환 패키지를 제공하고, 기존 도구가 TypeScript 6.0 API에 의존하는 동안 7.0 컴파일러를 함께 둘 수 있는 경로를 안내했다.
이번 RC는 TypeScript 생태계가 자바스크립트로 작성된 자체 부트스트랩 컴파일러에서 네이티브 기반 도구 체인으로 이동하는 전환점이다. 빌드 시간이 긴 대형 프론트엔드·풀스택 프로젝트에는 의미 있는 변화가 될 수 있지만, RC 단계인 만큼 팀 단위 도입은 테스트 환경과 CI에서 성능, 메모리 사용량, 기존 도구 호환성을 먼저 확인하는 방식이 적절하다.
출처: Microsoft TypeScript Blog https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/