Velog
Vite+를 소개합니다
Vite+ 는 빌드 도구가 아니라 하나의 통합 툴체인(test/lint/fmt/run/lib/ui)이다. Rust 기반 인프라(Rolldown + Oxc) 위에 쌓아 *팀 단위* 의 도구 단편화를 해소한다.
핵심 요약
Vite+ 는 ViteConf 2025 에서 공개된 상업 라이선스 통합 툴체인 이다. CLI 기반이며 npm 으로 설치되고, 기존 Vite 와 동일한 사용 흐름 위에 다음 명령들을 추가한다.
| 명령 | 역할 | 기반 |
|---|---|---|
vite new | 모노레포 스캐폴딩 | 자체 generator |
vite test | 단위 테스트 | Vitest (Jest 호환 API) |
vite lint | 린팅 | Oxlint (ESLint 600+ 규칙, 최대 100x 빠름) |
vite fmt | 포맷팅 | Oxfmt (Prettier 99% 호환) |
vite lib | 라이브러리 빌드 | tsdown + Rolldown |
vite run | 모노레포 태스크 러너 | 캐싱 내장 (Turborepo 유사) |
vite ui | GUI 개발 도구 | Module/번들/트리쉐이킹 분석 |
공통 기반은 모두 Rust — Oxc 의 파서/리졸버/변환기/압축기, Rolldown 번들러. 상업 라이선스(소스 공개) 지만 개인/OSS/소규모 기업 무료, 스타트업은 정액, 대기업은 맞춤 요금. 기존 Vite/Vitest/Rolldown/Oxc 는 영원히 MIT 유지.
Vite+ 를 'Vite 의 빠른 버전' 이 아니라 'JS 생태계의 통합 명령어 세트' 로 봐라. Bun/Deno 가 "런타임 + 도구 통합" 을 노렸다면, Vite+ 는 번들러 위에 통합 을 시도한다. 핵심 가치는 단일 명령어(vite test/lint/fmt/lib/run/ui)가 같은 파서/리졸버/변환기/번들러 를 공유한다는 일관성이다.
프런트엔드 도구 면접에서 "Vite vs Webpack vs Turbopack" 같은 횡적 비교는 흔하다. Vite+ 는 그 질문의 층위를 한 단계 위로 올린다 — 단일 도구가 아니라 툴체인 단위 의 통합이라서, 도구 분열 이 어떤 비용을 만들었는지 설명할 수 있어야 답이 깊어진다.
- 보안 검토를 lint/test/build 마다 각각
- 의존성 버전이 도구마다 어긋남
- 모노레포 마이그레이션 비용
이 비용을 언어로 풀어 말할 수 있는가 가 시니어 신호다. 또한 Vite+ 의 상업화 모델 (오픈소스 + 유료 부가) 도 OSS 의 지속가능성 토픽으로 자주 묻는다.
학습 포인트
면접 답변으로 연결할 학습 포인트입니다.
분열 비용을 도구 단위가 아니라 팀 단위로 본다
Vite+ 의 진짜 문제 정의는 빌드 속도 가 아니다. "여러 팀이 다른 도구를 쓰면 의존성/보안/마이그레이션 비용이 폭발한다" 는 조직 비용이다.
- 팀 A: webpack + jest + eslint + prettier
- 팀 B: vite + vitest + biome
- 통합 시 — 보안 정책 두 번, lockfile 두 번, 팀 합칠 때 마이그레이션
단일 툴체인은 한 번의 의존성 업그레이드/보안 검토/CI 캐시 로 끝난다. 이 단순화가 "속도 100x" 마케팅보다 더 큰 실 가치다.
Vite+ 를 "또 빠른 번들러" 로 축소 해석하는 것. 통합의 가치는 속도 가 아니라 한 묶음으로 갱신/감사 가능 이다.
Rust 기반 공통 인프라 — 같은 AST, 같은 리졸버
Vite+ 의 모든 명령은 같은 파서(Oxc) → 같은 리졸버 → 같은 변환기 → 같은 번들러(Rolldown) 를 공유한다.
source
↓ Oxc parser (Rust)
↓ Oxc resolver
↓ Oxc transformer / minifier
↓ Rolldown bundler
→ test / lint / fmt / lib / build
장점:
- 한 번 파싱한 AST 를 명령 간 재사용 → 캐시 효율
- 'lint 에선 import 되는데 build 에선 안 됨' 같은 불일치 버그 사라짐
- 같은 진단(diagnostic) 포맷 — DX 일관성
단점은 Oxc 가 못 다루는 코너 케이스 에서 한꺼번에 막힌다는 점.
Vite+ 가 "도구를 묶어 둔 패키지" 라고 오해하는 것. 핵심은 공통 인프라 라서 묶음의 합이 아니라 곱 의 효과를 낸다.
오픈소스 + 상업 — 라이선스 모델의 베팅
기존 OSS 도구가 결국 유지보수 자금 부족 으로 무너지는 사이클이 반복돼 왔다. Vite+ 는 다음과 같이 분리한다.
- MIT 영원: Vite, Vitest, Rolldown, Oxc — 핵심 OSS 기반
- 상업(소스 공개): Vite+ — 통합 도구 위에만 라이선스
- 무료: 개인/OSS/소규모 기업
- 유료: 스타트업 정액, 대기업 맞춤
이건 베팅이다 — 대기업이 통합 도구 가치만큼 지불 하면 OSS 기반에 재투자 가능. 실패하면 OSS 기반은 그대로 살지만 통합 가치는 정체. 면접에선 "OSS 의 지속가능성 모델" 토픽으로 자주 등장한다.
"오픈소스가 갑자기 유료화" 라고 단순화하는 것. 실제로는 기반 OSS 는 MIT 유지 이고 통합 부가가치만 라이선스 대상이다.
읽는 순서
- 1이론
VoidZero 의 Announcing Vite+ 원문과 ViteConf Evan You 발표 영상을 함께 보고, 명령별 기존 대체 도구 를 표로 정리(예: vite test ↔ Jest, vite lint ↔ ESLint).
- 2구현
기존 프로젝트에
oxlint만 단독 도입해 ESLint 와 공존시키며 결과를 비교하세요. 일치하지 않는 규칙을 5개 이상 찾아 노트하면 호환성 한계가 손에 잡힙니다. - 3실무
모노레포에서
vite run의 캐시 동작을 측정하세요 — 클린 빌드 / 변경 1개 / 변경 2개 의 빌드 시간을 측정해 증분 효율 을 데이터로 확인합니다. - 4설명
팀 위클리에 '도구 단편화 비용 — 우리는 얼마를 내고 있는가' 5분 발표. CI 시간 / 보안 검토 빈도 / 마이그레이션 시간 을 데이터로 보여줍니다.
면접 연결 질문
[감점 답변] '빌드가 빠르다'. [좋은 답변] 도구 분열 비용이다. 여러 팀이 다른 도구(webpack/jest/eslint)를 쓰면 의존성·보안·CI 캐시·마이그레이션 비용이 팀 수에 비례해 늘어난다. Vite+ 는 단일 인프라 + 단일 명령 세트 로 이 분열을 줄여 팀 합병/도구 업그레이드 비용을 한 곳에 모은다.
[감점 답변] '일관성이 좋다'. [좋은 답변] 두 효과. (1) AST 재사용: 한 번 파싱한 결과를 lint/test/build 에서 재사용해 캐시 효율 이 곱셈. (2) 모듈 해석 일관성: 'lint 에선 보이는데 build 에선 안 보임' 같은 도구 간 디스싱크 버그가 구조적으로 사라진다. 단점은 코너 케이스에서 모든 명령이 동시에 막힐 수 있다.
[감점 답변] '오픈소스의 종말'. [좋은 답변] 두 측면. (1) 지속가능성: 대기업의 지불이 OSS 코어(Vite/Vitest/Rolldown/Oxc) 유지에 재투자될 수 있어 번아웃 위험을 줄인다. (2) 신뢰: 상업 부가물이 OSS 코어를 잠식하지 않는다는 공개 약속 이 핵심. MIT 코어가 영원이라는 명시가 빠지면 시장 신뢰가 무너진다. 즉 모델 자체보다 경계가 명확한가 가 중요하다.
자기 점검
"전부 한 번에 다 도입해야 한다" 는 강박. 실제로는 명령 단위 로 점진 도입할 수 있다.
'단순히 Rust 라서 빠르다' 라는 답. 실제로는 데이터 모델이 SoA/병렬 친화적 이라 멀티코어 활용이 가능하다는 점이 핵심이다.
'Vite 와 호환이라 그대로 된다' 는 가정. 실제로는 팀의 커스텀 규칙/플러그인 이 미지원이면 단계적 도입이 막힌다.