LLEE's HOME
홈최신글소개PR
LEE's HOME

생각과 코드를 기록하는 개인 블로그입니다.

둘러보기

홈최신글PR

정보

소개개인정보처리방침
© 2026 LEE. All rights reserved.
홈최신글TypeScript 7.0 GA: 컴파일러를 Go로 옮겼더니 생긴 일

TypeScript 7.0 GA: 컴파일러를 Go로 옮겼더니 생긴 일

Admin Lee2026년 7월 11일7분 분량조회 13회

💡 글의 핵심 3줄 요약

  1. 2026년 7월 8일 정식 출시된 TypeScript 7.0은 컴파일러와 언어 서비스를 Go로 포팅한 네이티브 버전으로, 풀 빌드 기준 8~12배의 속도 향상을 보여줍니다.
  2. VS Code 코드베이스의 타입 검사가 125.7초에서 10.6초로 줄었고, Slack은 CI 타입 검사 시간이 7.5분에서 1.25분으로 단축됐다고 보고했습니다.
  3. 재작성이 아닌 포팅이라 타입 검사 의미론은 동일하게 유지되므로, 대부분의 프로젝트는 도구 체인 호환성 확인만 거치면 업그레이드 이득이 큽니다.

TypeScript 7.0 GA: 컴파일러를 Go로 옮겼더니 생긴 일

CI 파이프라인에서 타입 검사가 도는 몇 분 동안 커피를 뜨러 가는 습관, 다들 하나쯤 있으시죠? 그 대기 시간이 이번 주부터 크게 줄어들 수 있게 됐습니다. 2026년 7월 8일, Microsoft가 TypeScript 7.0을 정식 출시했습니다. 겉보기에는 평범한 메이저 버전 업데이트 같지만, 내용은 TypeScript 역사상 가장 큰 구조 변화입니다. TypeScript로 작성되어 있던 컴파일러와 언어 서비스 전체를 Go 네이티브 코드로 포팅했기 때문입니다.

숫자부터 보겠습니다. Microsoft는 풀 빌드 기준으로 통상 8배에서 12배 빠르다고 밝혔습니다. 구체적인 사례로, VS Code 코드베이스의 타입 검사 시간이 TypeScript 6에서 125.7초였던 것이 7.0에서는 10.6초로 줄었습니다. 약 11.9배 향상입니다. 실사용 보고도 나오고 있습니다. Slack 엔지니어링 팀은 CI에서 타입 검사 시간이 약 7.5분에서 1.25분으로 줄었고, 머지 큐 대기 시간의 40%가 사라졌다고 전했습니다.

빌드가 빨라졌다는 소식이야 흔하지만, 10배는 흔한 숫자가 아닙니다. 오늘은 이 속도가 어디서 나왔는지, 그리고 실무 프로젝트를 올릴 때 무엇을 확인해야 하는지 짚어보겠습니다.

10배는 어디서 나왔나: 네이티브 코드 절반, 병렬화 절반

TypeScript 컴파일러는 그동안 TypeScript 자신으로 작성되어 Node.js 위에서 돌았습니다. 자기 언어로 자기 컴파일러를 만드는 셀프호스팅은 언어 개발의 낭만이지만, 성능에는 한계가 있었죠. JavaScript 런타임은 JIT 워밍업이 필요하고, 무엇보다 공유 메모리 병렬 처리가 어렵습니다. 수백만 줄짜리 코드베이스의 타입 검사를 사실상 코어 하나로 처리해 온 셈입니다.

개발팀은 속도 향상의 출처를 명확히 설명합니다. 절반은 네이티브 코드로 옮긴 데서, 나머지 절반은 공유 메모리 동시성을 활용할 수 있게 된 데서 나왔다는 것입니다. TypeScript 7.0은 파싱, 타입 검사, 출력(emit)의 여러 단계를 병렬로 수행합니다. 파일 단위로 독립적인 파싱과 출력은 코어 수에 따라 자연스럽게 확장되므로, 코드베이스가 클수록, 그리고 개발 머신의 코어가 많을수록 체감 폭이 커지는 구조입니다.

비유하자면 지금까지는 도서관 사서 한 명이 반납된 책 전부를 혼자 분류해 왔다면, 이제는 사서 열여섯 명이 서가별로 나눠 꽂는 방식이 된 것입니다. 책이 많을수록 차이는 벌어질 수밖에 없죠.

여기서 중요한 설계 결정이 하나 있습니다. 이번 작업은 재작성(rewrite)이 아니라 포팅(port)입니다. 기존 컴파일러의 로직 구조를 그대로 Go로 옮겼기 때문에, 타입 검사의 의미론이 동일하게 유지됩니다. 컴파일러를 갈아엎으면서 언어 동작까지 미묘하게 바뀌는 최악의 시나리오를 피한 것인데, 수천만 사용자를 가진 언어다운 보수적인 선택이라고 볼 수 있습니다.

속도만이 아니다: 에디터 안정성과 개발 경험의 변화

빌드 속도는 CI에서 체감되지만, 개발자가 하루 종일 마주하는 것은 에디터 안의 언어 서비스입니다. 이쪽 개선도 눈에 띕니다. Microsoft 발표에 따르면 TypeScript 6.0 대비 언어 서버 크래시가 60% 이상 줄었고, 실패하는 명령은 80% 감소했습니다. 대형 모노레포에서 "타입스크립트 서버 재시작"을 하루에도 몇 번씩 누르던 분들에게는 속도보다 이쪽이 더 반가운 소식일지도 모르겠습니다.

에디터 반응성도 달라집니다. 파일을 열 때, 자동 완성 목록이 뜰 때, 이름 바꾸기 리팩터링이 프로젝트 전체를 훑을 때, 이 모든 작업이 네이티브 언어 서비스 위에서 돌아가기 때문입니다. 워치 모드 역시 새로 만들어져 증분 빌드의 반응 속도가 개선됐습니다.

한 가지 흥미로운 관전 포인트는 생태계 전반의 "네이티브 전환" 흐름 속에서 이 릴리스를 보는 것입니다. 번들러는 Rust 기반의 도구들이 주류가 됐고, 린터와 포매터도 네이티브 구현으로 옮겨가는 중이죠. JavaScript 도구 체인에서 가장 무거운 마지막 조각이었던 타입 검사기가 네이티브가 되면서, "도구는 네이티브, 애플리케이션 코드는 TypeScript"라는 분업 구도가 사실상 완성됐습니다.

업그레이드 전에 확인할 것들

그럼 바로 올려도 될까요? 대부분의 프로젝트에는 "그렇다"에 가깝지만, 몇 가지 확인 지점이 있습니다.

첫째, 도구 체인 호환성입니다. 컴파일러 본체가 바뀌었으니, 컴파일러 API에 직접 의존하던 도구들이 영향권에 있습니다. 커스텀 트랜스포머, 컴파일러 API를 사용하는 코드 생성 도구, 일부 빌드 플러그인이 대표적입니다. 반면 tsc CLI와 tsconfig 중심으로 표준적인 사용만 해왔다면 마이그레이션 부담은 작습니다.

둘째, 검증 방법은 단순합니다. 브랜치 하나에서 7.0으로 올리고 전체 타입 검사를 돌려 기존 결과와 비교하는 것입니다. 포팅의 특성상 타입 판정 자체가 달라질 가능성은 낮게 설계되어 있지만, "낮다"와 "없다"는 다르므로 대형 프로젝트라면 diff 확인이 안전합니다.

셋째, 팀 차원의 이득 계산입니다. CI에서 타입 검사가 5분 걸리는 프로젝트가 하루 50번 빌드된다면, 하루 4시간 가까운 컴퓨트 시간이 걸려 있는 셈입니다. 이것이 10분의 1로 줄어들 때의 CI 비용 절감과 개발자 대기 시간 감소를 생각하면, 마이그레이션 검증에 하루 이틀을 쓰는 것은 남는 장사일 가능성이 높습니다. Slack의 머지 큐 40% 단축 사례가 좋은 참고점입니다.

결론: 조용하지만 모두에게 닿는 업그레이드

정리하겠습니다. TypeScript 7.0은 새 문법이나 화려한 기능 대신, 컴파일러를 Go로 포팅해 속도와 안정성이라는 기본기를 근본적으로 끌어올린 릴리스입니다. 풀 빌드 8~12배 향상, 언어 서버 크래시 60% 감소, 그리고 의미론은 그대로. 눈에 보이는 코드 한 줄 바뀌지 않지만, TypeScript를 쓰는 모든 개발자의 하루에 영향을 주는 변화입니다.

새 기능은 쓰는 사람에게만 이득이지만, 빠른 컴파일러는 모두에게 이득입니다. 여러분 프로젝트의 타입 검사는 지금 몇 초나 걸리나요? 이번 스프린트에 브랜치 하나 파서 7.0을 올려보고, 전후 시간을 재보는 것으로 시작해 보시길 권합니다. 숫자가 말해줄 겁니다.

이 글은 AI 도구의 도움을 받아 작성한 뒤 직접 검토·편집했습니다.

공유:

읽어주셔서 감사합니다!

이 글이 유익하셨다면 홈에서 더 많은 글을 만나보세요.

다른 글 더 보기
이전 글n8n + Ollama: 홈서버에서 굴리는 월 0원 AI 자동화 파이프라인다음 글GPT-5.6 시대의 AI 운영법: 가장 큰 모델보다 알맞은 모델이 중요합니다