- 원문 제목: Announcing TypeScript 7.0 RC
- 원문 링크: https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/
- 번역일: 2026-06-20 KST
TypeScript 7.0 RC의 핵심은 새 기능 몇 개가 아니라 컴파일러 기반 자체의 교체다. 기존 TypeScript 컴파일러는 TypeScript로 작성되어 JavaScript로 컴파일되는 구조였지만, 7.0은 Go 기반 네이티브 구현으로 포팅됐다. Microsoft는 기존 구현을 처음부터 다시 설계한 것이 아니라, 10년 넘게 쌓은 테스트 스위트와 동일한 타입 체크 의미론을 유지하는 방식으로 옮겼다고 설명한다. 목표는 호환성을 유지하면서도 네이티브 코드 속도와 공유 메모리 병렬화를 얻는 것이다.
실무적으로 가장 큰 변화는 속도다. Microsoft는 TypeScript 7.0이 TypeScript 6.0보다 흔히 10배 가까이 빠르다고 말한다. Bloomberg, Canva, Figma, Google, Linear, Miro, Notion, Slack, Vercel 등 대형 코드베이스를 가진 팀들이 사전 빌드를 시험했고, 빌드 시간과 에디터 반응성이 크게 줄었다는 피드백을 받았다고 한다. 설치는 기존처럼 npm install -D typescript@rc로 가능하고, VS Code에서는 TypeScript Native Preview 확장을 통해 같은 기반의 언어 서버를 시험할 수 있다.
다만 프로그램 API는 아직 안정화되지 않았다. TypeScript 팀은 안정적인 API가 적어도 TypeScript 7.1 이후에나 제공될 것이라고 밝혔다. 그래서 6.x 생태계 도구와 함께 쓰는 방법도 제공한다. @typescript/typescript6 패키지는 tsc6 실행 파일과 TypeScript 6 API를 제공하며, npm alias를 이용하면 typescript 의존성은 6.x API를 바라보게 두고 별도 alias로 7.0의 tsc를 실행하는 구성이 가능하다. typescript-eslint처럼 peer dependency로 typescript를 직접 가져가는 도구가 아직 많기 때문에 이 전환 방식이 중요하다.
병렬화 옵션도 새로 들어왔다. --checkers는 타입 체크 워커 수를 조절하고, --builders는 project reference 빌드를 병렬로 얼마나 많이 돌릴지 조절한다. 큰 모노레포에서는 효과가 크지만, 둘을 곱하면 동시에 도는 체커 수가 급증하므로 CI 메모리와 CPU 코어 수에 맞춰 조심스럽게 튜닝해야 한다. 디버깅이나 외부 빌드 오케스트레이션 환경에서는 --singleThreaded로 단일 스레드 실행도 강제할 수 있다.
watch 모드도 다시 설계됐다. TypeScript 7은 Parcel watcher에서 파생된 새 파일 감시 기반을 사용해, 기존 순수 폴링 방식보다 큰 프로젝트와 node_modules가 많은 환경에서 리소스 사용량을 낮춘다. 에디터 체감 성능까지 포함하면, 이 변화는 CI가 빨라진다보다 넓은 의미가 있다.
마이그레이션 리스크도 있다. TypeScript 7.0은 TypeScript 6.0의 새 기본값과 deprecation을 받아들인다. strict 기본값, module, target, types, rootDir 등의 동작이 예상과 다를 수 있고, target: es5, moduleResolution: node/node10, baseUrl, module: amd/umd/systemjs/none 같은 오래된 설정은 더 이상 지원되지 않는다. 특히 tsconfig가 src 밖에 있는 프로젝트는 rootDir을 명시해야 기존 출력 구조를 유지할 수 있고, 전역 타입에 의존하는 프로젝트는 types를 명시해야 한다.
한 줄 결론: TypeScript 7.0 RC는 대형 FE/Node 코드베이스에서 바로 시험할 가치가 있다. 단, 타입스크립트 API를 직접 쓰는 도구 체인과 오래된 tsconfig 설정은 먼저 분리해서 검증해야 한다.