
Vite 8·Bun·TypeScript 7 — JS 빌드 도구가 네이티브로 갈아탄 이유
TypeScript 7이 Go로 다시 쓰여 빌드가 8~12배 빨라졌지만, 진짜 흐름은 그 바깥에 있다. Vite 8은 Rust 번들러 Rolldown을 기본으로 채택했고 Bun은 Zig로 쓰였다. JS 도구들이 컴파일 언어로 갈아타는 이유와, 그 인프라를 Anthropic·Cloudflare가 사들이는 배경을 짚었다.
tsc 한 번 돌리고 커피 타러 다녀오던 시절이 있었다. 정확히는, 아직도 많은 팀이 그렇게 산다.
그 체감이 올해 조용히 뒤집혔다. TypeScript 7이 Go로 새로 쓰여 나왔고 빌드가 8~12배 빨라졌다는 소식은 아마 들어봤을 거다. 정작 덜 알려진 건 이게 TypeScript 혼자만의 사건이 아니라는 점이다.

77.8초가 7.5초로 — 숫자부터
출발점은 2025년 3월 11일, Anders Hejlsberg가 마이크로소프트 TypeScript 팀 블로그에 올린 글이었다. 코드네임 Project Corsa. 문제 의식은 단순했다. 코드베이스가 커질수록 로드와 타입 체크가 하염없이 늘어지니, 컴파일러를 네이티브로 포팅해 그 곡선을 끊어내겠다는 것.
당시 공개된 수치는 이랬다.
| 코드베이스 | 규모(LOC) | 기존 | 네이티브 |
|---|---|---|---|
| VS Code | 약 150만 | 77.8초 | 7.5초 |
| Playwright | 약 35만 6천 | 11.1초 | 1.1초 |
에디터도 같이 움직였다. VS Code 프로젝트를 여는 데 걸리던 9.6초가 1.2초로 줄었다. 약 8배.
빌드 서버 얘기가 아니라 매일 아침 에디터를 켤 때마다 기다리던 그 시간이라는 게 핵심이다.
이후 일정은 이렇게 흘렀다. RC가 2026년 6월 18일, 정식 GA가 7월 8일 v7.0.2. 처음부터 Go로 다시 쓴 첫 안정판이다.
도입 문턱은 생각보다 낮게 설계됐다. 바이너리 이름은 여전히 tsc 다. 새 패키지를 익히거나 별도 실행 파일을 챙길 필요 없는 드롭인 업그레이드고, JS 기반의 TypeScript 6은 따로 유지보수된다. 서둘러 갈아탈 이유도, 못 갈아탈 이유도 굳이 만들지 않은 셈이다.
그런데 번들러는 이미 갈아탄 뒤였다
여기서 질문 하나. TypeScript가 Go로 가는 동안, 프런트엔드 빌드의 나머지 절반은 뭘 하고 있었을까.
Vite 8.0이 2026년 3월 12일 출시되며 Rust로 짠 번들러 Rolldown 1.0을 기본 프로덕션 번들러로 채택했다. 실험 플래그가 아니라 기본값이다.
체급을 보면 이게 왜 큰 사건인지 감이 온다. Vite의 주간 npm 다운로드는 약 1억 1,500만~1억 2,900만 회, Webpack은 약 4,500만 회. 2.5배 차이다. Vue, Nuxt, SvelteKit, Astro까지 주요 프레임워크의 기본 빌드툴 자리를 Vite가 사실상 가져간 상태이니, Vite가 Rust 번들러를 기본으로 삼았다는 건 생태계 대부분의 프로덕션 빌드가 Rust 위에서 돌기 시작했다는 말과 같다.
린터 쪽도 조용하지 않다. Biome은 린팅이 56배 빠르다고 내세우고, Oxc·Rspack이 같은 방향으로 줄줄이 따라붙었다.
Bun은 Rust가 아니다
Bun은 아예 런타임 레이어를 건드렸다. 엔진으로 V8이 아닌 JavaScriptCore를 쓰고, 패키지 설치가 26배 빠르다고 주장한다.
자주 헷갈리는 지점이 하나 있다. Bun은 Rust가 아니라 Zig로 작성됐다. 이 흐름을 "JS 생태계의 Rust화"로 뭉뚱그리는 요약을 자주 보는데, 실제로는 언어가 갈린다. Go는 TypeScript, Rust는 Rolldown·Biome·Oxc, Zig는 Bun. 공통점은 Rust가 아니라 컴파일 언어라는 사실 하나뿐이다.
그리고 빅테크가 이걸 사들였다
도구가 빨라졌다는 얘기만 하다 보면 놓치는 변화가 있다. 이 도구들의 소유 구조가 지난 1년 사이에 바뀌었다.
- Anthropic → Oven: Bun을 만든 회사 Oven을 2025년 12월 인수했다. Anthropic의 첫 인수였고, Claude Code 연매출이 10억 달러에 도달했다는 소식과 같은 맥락에서 발표됐다. Bun은 MIT 오픈소스로 유지된다.
- Cloudflare → VoidZero: 2026년 6월 4일 공식 보도자료. VoidZero는 Evan You가 세운 회사로 Vite·Vitest·Rolldown·Oxc를 개발한다. 프로젝트는 오픈소스·벤더중립을 유지하고, Cloudflare는 Vite 생태계에 100만 달러 지원을 함께 내놨다.

프런트엔드 파이프라인의 두 축, 번들러와 런타임이 각각 클라우드 회사와 AI 회사의 손에 들어간 것이다.
빌드가 10배 빨라진다는 건 벤치마크 자랑이 아니라 돈과 습관의 문제다. CI에서 타입 체크에 80초 쓰던 파이프라인이 8초로 줄면 러너 청구서가 줄고, 더 중요하게는 PR 하나에 대한 피드백 루프가 사람의 집중력이 끊기지 않는 구간 안으로 들어온다. 77초는 슬랙을 열게 만드는 시간이고 7초는 그냥 기다리는 시간이다. 그 차이가 하루에 수십 번 쌓인다. TS7이 드롭인이라는 점도 실무에선 꽤 크다. 팀을 설득할 때 "빌드 툴 교체"가 아니라 "버전 올리기"로 말할 수 있는 것과 없는 것은 승인 난이도가 완전히 다르다.
"JS 생태계가 JS를 벗어난다"는 역설이 왜 하필 지금 몰렸는지도 생각해볼 만하다. 내 짐작으로는 코드베이스 크기가 임계점을 넘었기 때문이다. 타입 검사와 번들링은 원래 파일 수에 비례해 무거워지는 작업인데, 프로젝트당 코드량은 계속 불었고 AI 코딩 도구가 그 증가 속도에 기름을 부었다. 사람이 타이핑하던 속도보다 빠르게 코드가 늘어나는 환경에서는 인터프리터 언어로 짠 도구가 먼저 바닥을 드러낸다. 도구 제작자들이 어느 날 갑자기 성능에 눈뜬 게 아니라, 버티지 못하는 지점에 먼저 닿은 도구부터 순서대로 갈아탄 것에 가깝다.
인수 건은 명과 암이 같이 있다. 밝은 쪽은 분명하다. Vite도 Bun도 사실상 소수의 사람이 떠받쳐온 인프라였고, 지속 가능한 수익 모델과 유지보수 인력을 확보한 건 쓰는 입장에서 반가운 일이다. Cloudflare의 100만 달러처럼 눈에 보이는 투자도 따라왔다. 어두운 쪽은 천천히 드러난다. 두 회사 모두 오픈소스·벤더중립 유지를 명시했지만, 로드맵의 우선순위를 정하는 사람이 바뀌었다는 사실은 남는다. 자사 플랫폼에서 유독 잘 돌아가는 최적화가 먼저 들어가는 식의 기울기는 라이선스 문구로 막히지 않는다. 국내 팀이 스택을 고를 때 "지금 오픈소스인가"만 볼 게 아니라 거버넌스가 어디에 있는지를 함께 보는 편이 안전하다고 본다.
한계도 짚어두는 게 공평하다. 네이티브 전환이 만능은 아니다. Go·Rust·Zig로 갈라진 도구들은 JS로 짜인 기존 플러그인 생태계와 접점이 매끄럽지 않다. Webpack 플러그인이나 커스텀 로더에 깊이 기대온 팀이라면 마이그레이션 비용이 벤치마크 숫자만큼 예쁘게 나오지 않는다. 일부 도구는 대규모 운영에서 충분히 검증됐다고 말하기 이르고, 성숙도가 덜 쌓인 구간의 버그는 "빌드가 안 된다"는 형태로 아주 아프게 온다. 급하지 않다면 TS7처럼 드롭인인 것부터 올리고, 번들러·런타임 교체는 파일럿에서 한 번 굴려본 뒤 결정하는 순서를 권하고 싶다.
그래서, 지금 뭘 해야 하나
정리하면 사건은 세 겹이다. TypeScript 7이 Go로 다시 쓰여 GA에 도달했고, Vite 8이 Rust 번들러를 기본값으로 삼았으며, 그 인프라를 Anthropic과 Cloudflare가 각각 사들였다. 도구가 빨라진 이야기와 도구의 주인이 바뀐 이야기가 같은 해에 겹쳤다는 게 이 흐름의 진짜 얼굴이다.
당장 손해 볼 게 없는 선택은 TS7 검토다. 이름도 명령어도 그대로니 사내 설득 비용이 가장 싸다. 번들러와 런타임은 그다음이다.
여러분 팀은 어디쯤 와 있나. 이미 Vite 8이나 Bun을 프로덕션에 올렸다면 실제 체감이 벤치마크만큼 나왔는지 궁금하다. 반대로 아직 Webpack을 못 놓고 있다면, 발목을 잡는 게 성능이 아니라 플러그인인 경우가 많던데 그쪽 사정도 듣고 싶다.
📎 출처: 원문 보기
- devblogs.microsoft.comhttps://devblogs.microsoft.com/typescript/typescript-native-port/
댓글 0
댓글을 불러오는 중…







