Vite 8 Rolldown 전환과 프런트엔드 빌드 파이프라인

Vite 8의 Rolldown 통합 구조와 마이그레이션 점검 항목, Turbopack·esbuild와의 적용 범위 및 성능 차이를 정리한다.

2026-08-14 · 최초 발행 2026-08-02

2026년 3월 출시된 Vite 8은 개발 환경의 esbuild와 프로덕션 빌드의 Rollup을 나눠 쓰던 방식을 끝냈다. Rust 기반 Rolldown을 기본 번들러로 두고, 개발과 배포가 같은 변환·의존성 그래프를 지나도록 바꿨다. Linear은 프로덕션 빌드 시간을 46초에서 6초로 줄였고(87% 감소), GitLab은 2.5분에서 22초로 단축했다.

개발과 배포에서 갈라졌던 경로

Vite 2부터 7까지 개발 서버는 Go 기반 esbuild로 빠르게 변환하고, 프로덕션에서는 JS 기반 Rollup으로 번들을 최적화했다. 역할 분담 자체는 분명했지만, 모듈 해석과 트리 셰이킹의 세부 동작이 달라 개발에서는 통과한 코드가 프로덕션에서 깨지는 문제가 남았다.

Vite 8은 플러그인 API, 변환 흐름, 의존성 그래프를 한 경로로 묶는다. 개발과 프로덕션이 같은 code path를 사용하므로 환경별 출력 차이를 줄이는 것이 전환의 핵심이다.

Rolldown은 2025년 하반기에 rolldown-vite 기술 프리뷰 패키지로 먼저 제공됐다. 2025년 12월에는 Rolldown 통합 Vite 8 베타가 나왔고, 2026년 3월 12일 Vite 8.0 정식 출시와 함께 Rolldown 1.0이 기본 번들러가 됐다.

Rolldown과 Oxc가 맡는 빌드 경로

VoidZero는 Vite, Rolldown, Oxc를 하나의 풀스택 툴체인으로 유지한다. Vite는 개발 서버와 플러그인 오케스트레이션을 맡고, Rolldown은 esbuild와 Rollup의 역할을 통합한 Rust 번들러다. Oxc는 파싱, 해석, 변환, 미니파이를 처리하는 Rust 컴파일러다.

의존성 그래프는 CPU 코어 전반에서 병렬로 해석한다. 모듈 로딩 같은 비동기 I/O에는 tokio, 청크 렌더링 같은 CPU-bound 작업에는 rayon, 플러그인 실행에는 worker threads를 사용한다. alias와 resolve를 포함한 여러 Vite 내부 플러그인도 Rust로 재작성해 JS 브리지 오버헤드를 줄였다.

HMR 경로도 esbuild 변환, Vite 모듈 그래프, 갱신으로 이어지던 다단계 처리 대신 Rolldown과 Oxc의 단일 파이프라인을 거친다. 대규모 프로젝트에서도 HMR 갱신은 일관되게 20ms 미만을 달성한다.

Vite 8 (단일 파이프라인)소스 코드Rolldown + Oxc (Rust)단일 의존성 그래프dev / prod 동일 출력Vite 7 이전 (이원화)Yes소스 코드esbuild (dev 변환)Rollup (prod 번들)환경 차이 발생?dev OK / prod 깨짐

Vite 8 전환 전 확인할 지점

대다수 프로젝트는 설정 변경 없이 npm install vite@8으로 직접 업그레이드할 수 있다. 내장 compatibility layer가 기존 esbuild·Rollup 옵션을 Oxc·Rolldown 옵션으로 자동 변환하고, 이후 프로덕션 빌드 시간을 기존 베이스라인과 비교하면 된다.

Rolldown은 Rollup 호환 플러그인 인터페이스를 사용하므로 기존 Vite 플러그인 대다수가 즉시 동작한다. 다만 네이티브 환경에서는 esbuild 전용 옵션과 커스텀 변환 로직을 별도로 확인해야 한다. 특히 esbuild 직접 호출 코드, Rollup 플러그인 내부 hook 의존성, sourcemap 생성 옵션이 점검 대상이다.

NoYesYesNo (esbuild 전용 옵션)기존 Vite 7 프로젝트설정 커스텀 많음?vite@8 직접 설치호환성 레이어 검증빌드 시간 측정플러그인 정상 동작?프로덕션 전환Oxc 옵션으로 교체

Next.js의 Turbopack 경로는 별도다

Next.js는 Vite 생태계가 아니라 자체 번들러 Turbopack을 사용한다. Next.js 16은 2025년 10월 next devnext build 모두에서 Turbopack을 기본·안정 버전으로 승격했다.

2026년 3월 18일 기준 안정 버전인 Next.js 16.2.7에는 Server Fast Refresh, 동적 import 트리 셰이킹, 인라인 로더 설정, postcss.config.ts 지원이 추가됐다. 16.2는 16.1보다 dev 서버 기동을 약 87% 단축했고(약 4배), Turbopack 버그를 200건 이상 수정했다.

Rolldown·Turbopack·esbuild를 고르는 기준

Rolldown은 Vue, React, Svelte 등 주요 프레임워크에 걸쳐 사용할 수 있는 범용 번들러다. Turbopack은 Next.js 내부에 집중하며 HMR 핫리로드 경험이 강점이지만 생태계 의존성이 있다. esbuild는 독립 스크립트, CLI, 서비스, 커스텀 파이프라인에서 성숙한 단일 프리미티브로 남는다.

실측 결과도 용도와 맥락을 함께 봐야 한다. Linear은 프로덕션 빌드를 46초에서 6초로 줄였고, GitLab은 Webpack의 2.5분에서 Rolldown-Vite의 22초로 전환해 원래 Webpack 대비 43배를 기록했다. Ramp은 57% 감소, Beehiiv는 64% 감소를 보고했다. 1k 모듈 콜드 빌드는 Vite 8이 약 5초, Turbopack이 약 7초다.

항목 Rolldown (Vite 8) Turbopack (Next.js 16.2) esbuild
구현 언어 Rust Rust Go
역할 dev+prod 통합 번들러 dev+prod 번들러 변환·번들 프리미티브
적용 범위 전 프레임워크 범용 Next.js 전용 독립 도구·커스텀
플러그인 API Rollup 호환 Next.js 내부 esbuild 자체
Rollup 대비 속도 10~30배 (자체 트랙) 유사 수준
콜드 빌드(1k 모듈) 약 5초 약 7초 최속(단순 케이스)
HMR 갱신 20ms 미만 최상위 핫리로드 해당 없음

Vite, Rolldown, Oxc의 통합은 JS 툴체인이 Rust 네이티브 구현으로 옮겨가는 흐름을 보여준다. Cloudflare의 VoidZero 인수로 Rolldown 생태계 투자도 확대되고 있다. 범용 프레임워크를 위한 Vite/Rolldown과 프레임워크 결합을 택한 Next.js/Turbopack의 구도는 2026년 빌드 전략의 선택 기준이 됐다.

Sources

Vite 8Rolldown프런트엔드 빌드RustTurbopack