FEInterview Prep

Velog

Vite+를 소개합니다

Vite+ 는 빌드 도구가 아니라 하나의 통합 툴체인(test/lint/fmt/run/lib/ui)이다. Rust 기반 인프라(Rolldown + Oxc) 위에 쌓아 *팀 단위* 의 도구 단편화를 해소한다.

2025-11-04·5분 읽기
빌드/도구성능
원문 보기 ↗

핵심 요약

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 uiGUI 개발 도구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" 마케팅보다 더 큰 실 가치다.

monoreposupply chainconsolidationtooling sprawl
자주 하는 오해

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 가 못 다루는 코너 케이스 에서 한꺼번에 막힌다는 점.

OxcRolldownshared ASTcache reuse
자주 하는 오해

Vite+ 가 "도구를 묶어 둔 패키지" 라고 오해하는 것. 핵심은 공통 인프라 라서 묶음의 합이 아니라 의 효과를 낸다.

오픈소스 + 상업 — 라이선스 모델의 베팅

기존 OSS 도구가 결국 유지보수 자금 부족 으로 무너지는 사이클이 반복돼 왔다. Vite+ 는 다음과 같이 분리한다.

  • MIT 영원: Vite, Vitest, Rolldown, Oxc — 핵심 OSS 기반
  • 상업(소스 공개): Vite+ — 통합 도구 위에만 라이선스
  • 무료: 개인/OSS/소규모 기업
  • 유료: 스타트업 정액, 대기업 맞춤

이건 베팅이다 — 대기업이 통합 도구 가치만큼 지불 하면 OSS 기반에 재투자 가능. 실패하면 OSS 기반은 그대로 살지만 통합 가치는 정체. 면접에선 "OSS 의 지속가능성 모델" 토픽으로 자주 등장한다.

OSS sustainabilitysource-availabledual licensingMIT
자주 하는 오해

"오픈소스가 갑자기 유료화" 라고 단순화하는 것. 실제로는 기반 OSS 는 MIT 유지 이고 통합 부가가치만 라이선스 대상이다.

읽는 순서

  1. 1이론

    VoidZero 의 Announcing Vite+ 원문과 ViteConf Evan You 발표 영상을 함께 보고, 명령별 기존 대체 도구 를 표로 정리(예: vite test ↔ Jest, vite lint ↔ ESLint).

  2. 2구현

    기존 프로젝트에 oxlint 만 단독 도입해 ESLint 와 공존시키며 결과를 비교하세요. 일치하지 않는 규칙을 5개 이상 찾아 노트하면 호환성 한계가 손에 잡힙니다.

  3. 3실무

    모노레포에서 vite run 의 캐시 동작을 측정하세요 — 클린 빌드 / 변경 1개 / 변경 2개 의 빌드 시간을 측정해 증분 효율 을 데이터로 확인합니다.

  4. 4설명

    팀 위클리에 '도구 단편화 비용 — 우리는 얼마를 내고 있는가' 5분 발표. CI 시간 / 보안 검토 빈도 / 마이그레이션 시간 을 데이터로 보여줍니다.

면접 연결 질문

mediumVite+ 가 해결하려는 *실제* 문제를 "빌드가 빠르다" 가 아닌 다른 표현으로 설명해보세요.
힌트

[감점 답변] '빌드가 빠르다'. [좋은 답변] 도구 분열 비용이다. 여러 팀이 다른 도구(webpack/jest/eslint)를 쓰면 의존성·보안·CI 캐시·마이그레이션 비용이 팀 수에 비례해 늘어난다. Vite+ 는 단일 인프라 + 단일 명령 세트 로 이 분열을 줄여 팀 합병/도구 업그레이드 비용을 한 곳에 모은다.

mediumVite+ 의 모든 명령이 "같은 인프라 위" 에 있다는 게 왜 중요한지 설명해보세요.
힌트

[감점 답변] '일관성이 좋다'. [좋은 답변] 두 효과. (1) AST 재사용: 한 번 파싱한 결과를 lint/test/build 에서 재사용해 캐시 효율 이 곱셈. (2) 모듈 해석 일관성: 'lint 에선 보이는데 build 에선 안 보임' 같은 도구 간 디스싱크 버그가 구조적으로 사라진다. 단점은 코너 케이스에서 모든 명령이 동시에 막힐 수 있다.

hardVite+ 의 라이선스 모델(상업·소스 공개) 이 OSS 커뮤니티에 미치는 영향을 두 측면에서 분석해보세요.
힌트

[감점 답변] '오픈소스의 종말'. [좋은 답변] 두 측면. (1) 지속가능성: 대기업의 지불이 OSS 코어(Vite/Vitest/Rolldown/Oxc) 유지에 재투자될 수 있어 번아웃 위험을 줄인다. (2) 신뢰: 상업 부가물이 OSS 코어를 잠식하지 않는다는 공개 약속 이 핵심. MIT 코어가 영원이라는 명시가 빠지면 시장 신뢰가 무너진다. 즉 모델 자체보다 경계가 명확한가 가 중요하다.

자기 점검

Vite+ 의 명령 중 본인이 가장 자주 쓸 것 같은 두 가지를 고르고, 그 이유를 본인 프로젝트의 페인 포인트로 설명해보세요.
vite testvite lintvite runmonorepo
자주 하는 오해

"전부 한 번에 다 도입해야 한다" 는 강박. 실제로는 명령 단위 로 점진 도입할 수 있다.

Oxlint 가 ESLint 보다 빠른 *원리* 를 한 문장으로 요약해보세요.
RustAST병렬메모리 모델
자주 하는 오해

'단순히 Rust 라서 빠르다' 라는 답. 실제로는 데이터 모델이 SoA/병렬 친화적 이라 멀티코어 활용이 가능하다는 점이 핵심이다.

Vite+ 도입을 검토할 때 가장 먼저 점검해야 할 *호환성* 항목 세 가지는?
ESLint custom rulesVite pluginPrettier 옵션Vitest
자주 하는 오해

'Vite 와 호환이라 그대로 된다' 는 가정. 실제로는 팀의 커스텀 규칙/플러그인 이 미지원이면 단계적 도입이 막힌다.