terminal
Weekly Digest // JS_FRAMEWORKS — Week 27-2026
codeWeekly Report

Vite+ Beta 발표 — 2026년 27주 자바스크립트

JS frameworks, React/Vue/Svelte, and runtime updates

calendar_todaysummarizeWeek 27-2026
툴체인

Vite+ Beta 발표

VoidZeroVite+의 베타 버전을 공개하였습니다. Vite+는 Vite, Vitest, Rolldown, tsdown, Oxlint, Oxfmt를 하나의 vp CLI로 통합한 MIT 라이선스 오픈소스 툴체인입니다. 개발자는 vp dev, vp check, vp test, vp build, vp pack, vp run이라는 일관된 여섯 가지 명령어로 프로젝트별 도구 조합 문제를 해결할 수 있습니다. 알파 이후 500개 이상의 풀 리퀘스트가 병합되었으며, 자동 데이터 추적 기반의 스마트 빌드 캐싱, 에이전트 친화적인 마이그레이션 프롬프트를 제공하는 vp migrate 개선, 엔터프라이즈 조직 템플릿 등이 추가되었습니다. Vite 8.1의 실험적 풀 번들 모드, Rolldown 1.0의 새 플러그인 시스템, Oxlint의 React Compiler 린트 룰 등 하위 도구들도 함께 발전하였습니다. 이미 1,300개 이상의 공개 저장소가 vite-plus에 의존하고 있으며, 1.0 로드맵에는 원격 캐싱, GitLab CI/CD 지원, 프레임워크 호환성 확대가 포함되어 있습니다.

Vite+ Beta 발표
Read Articlearrow_forward
Article · 보안READ TIME: 2m

2026년 6월 보안 릴리스: Express.js

Express 팀이 멀티파트 파싱과 액세스 로깅에 영향을 미치는 세 건의 CVE를 해결하기 위해 multer 2.2.0morgan 1.11.0을 릴리스하였습니다. CVE-2026-5079(심각도: 높음)는 multer 1.0.0~2.1.x 버전에 영향을 미치며, append-field 의존성이 a[b][c] 형식의 중첩 필드명 깊이를 제한하지 않아 과도한 메모리 및 CPU 소비를 통한 서비스 거부 공격이 가능합니다. CVE-2026-5038(심각도: 중간)은 multer의 diskStorage 엔진에서 중단된 업로드가 고아 파일을 남겨 디스크 공간을 소진시킵니다. CVE-2026-5078(심각도: 중간)은 morgan 1.2.0~1.10.1 버전에서 :remote-user 토큰이 CR/LF 문자를 제거하지 않고 로그에 기록해 로그 위변조가 가능합니다. 영향받는 모든 버전 사용자는 즉시 업그레이드해야 합니다.

READ_FULL_LOGarrow_forward
Article · 깃READ TIME: 14m

Git 2.55 주요 내용

100명 이상의 기여자가 참여한 Git 2.55가 여러 주목할 만한 기능을 제공합니다. 핵심 추가 사항은 git repack의 점진적 멀티팩 인덱스(MIDX) 지원입니다. --write-midx=incremental--geometric=2를 조합하면 repack.midxSplitFactorrepack.midxNewLayerThreshold 설정으로 레이어 수를 전체 객체 수에 비례하는 로그 함수적 수준으로 유지하면서 재작성 비용을 최소화합니다. 실험적 git history fixup 하위 명령은 스테이징된 변경 사항을 이전 커밋에 직접 병합하고 후속 커밋을 재생합니다. 2.54의 설정 기반 훅이 이제 병렬 실행(hook.jobs)을 지원합니다. 내장 fsmonitor 데몬이 inotify를 통해 Linux를 지원하게 되었습니다. 비트맵 생성 시간이 약 612초에서 약 294초로 단축되었으며, git log--graph-lane-limit--max-count-oldest 옵션이 추가되었습니다.

READ_FULL_LOGarrow_forward
Article · 리액트READ TIME: 9m

React Compiler에 Memoization을 맡겼다: 실제로 깨진 것

Isaac Okoro가 프로덕션 Next.js 코드베이스에 React Compiler v1.0을 적용하며 발생한 문제들을 상세히 기록하였습니다. 가장 심각한 문제는 React Hook Form의 watch() 함수를 사용한 폼에서 라이브 프리뷰가 멈춘 것이었습니다. 컴파일러가 내부 참조를 메모이제이션하면서 watch()가 리렌더를 트리거하지 않게 되었으며, 이는 react-hooks/incompatible-library 린트 오류로 탐지됩니다. 해결책은 useFormuse no memo 지시어가 있는 호환성 래퍼로 감싸는 것이었습니다. 두 번째 문제는 Chart.js 클릭 핸들러에서 useCallback을 제거했을 때 발생한 클로저 타이밍 버그였습니다. 또한 DevTools의 Memo 배지는 컴파일러가 컴포넌트를 처리했다는 의미일 뿐, 최적화 성공을 보장하지 않는다는 점도 명확히 합니다. 마이그레이션은 eslint-plugin-react-hooksv7+로 업그레이드하고, 위반 사항을 오류로 설정해 수정한 후 컴파일러를 활성화하는 순서로 진행해야 합니다. TanStack Table, MobX 등은 현재 use no memo 래퍼가 필요합니다.

READ_FULL_LOGarrow_forward
Article · 프레임워크READ TIME: 6m

Turbopack: Next.js 16.3의 새로운 기능

Next.js 16.3은 Turbopack 컴파일러 성능을 대폭 향상시켰습니다. 가장 주목할 개선 사항은 16.1에서 도입된 파일시스템 영구 캐시에 메모리 캐시를 비워내는 방식으로 개발 서버 메모리 사용량을 최대 90% 줄인 것입니다. 빌드 타임 영구 디스크 캐시도 기본 활성화되어, 벤치마크에서 콜드 빌드 대비 2.3배~5.5배 빠른 성능을 보입니다. 실험적 Rust React Compiler(turbopackRustReactCompiler)는 v0 같은 대형 앱에서 20~50% 컴파일 속도 향상을 기록했습니다. Vite 호환 import.meta.glob API가 추가되어 파일 감시 기반 동적 모듈 로딩이 가능해졌으며, HMR 청크 추적 최적화로 개발 서버 콜드 스타트가 15% 이상 단축되었습니다. 모노레포를 위한 패키지별 PostCSS 설정 해석과 불필요한 WebAssembly·워커 런타임 코드를 제거한 더 작은 번들도 제공됩니다.

READ_FULL_LOGarrow_forward
Article · 리액트READ TIME: 16m

Next.js에서 RSC Hydration Mismatch 고치기

Nelson Michael이 Next.js App Router에서 발생하는 RSC 수화 불일치(hydration mismatch)를 진단하고 예방하는 프로덕션 중심의 가이드를 제공합니다. 6가지 주요 원인은 서버 렌더 중 window, document, localStorage 등 브라우저 전용 API 접근, 타임존 및 로케일 차이로 인한 Date/Intl 출력 불일치, auth 상태 불일치(cookies()가 동적 렌더링을 강제하며 Next.js 16에서는 동기 쿠키/헤더 접근이 완전히 제거됨), CMS 콘텐츠의 잘못된 HTML 중첩, 브라우저 확장이나 CDN 변환에 의한 DOM 수정, 스트리밍 환경에서의 CSS-in-JS 클래스명 순서 불일치입니다. 프로덕션 텔레메트리를 위해 instrumentation-client.ts에서 #418, #425 오류 코드를 navigator.sendBeacon으로 수집할 것을 권장하며, next dev 대신 항상 next build && next start로 테스트해야 합니다. Playwright 수화 스모크 테스트를 CI에서 프로덕션 빌드 기준으로 실행하는 것도 필수적입니다.

READ_FULL_LOGarrow_forward
Article · 스벨트READ TIME: 5m

Svelte 새 소식: 2026년 7월

2026년 7월, SvelteKit의 설정 방식이 통합되었습니다. 2.62.0부터 SvelteKit 설정을 vite.config.js 안에 직접 작성할 수 있게 되어 svelte.config.js가 선택 사항이 됩니다. 이는 Kit 3의 구성 방식을 미리 보여주는 변경입니다. 2.63.0에서는 향후 $env/* 모듈 시스템을 대체할 실험적 명시적 환경 변수가 도입되었습니다. Remote function이 File 객체를 직접 수신할 수 있게 되었고(2.64.0), remote query가 다른 쿼리를 갱신하는 기능도 추가되었습니다(2.65.0). CLI 측에서는 sv 0.16.0이 Svelte 5const 선언 태그를 데모 템플릿과 add-on 전반에 걸쳐 지원하며, svelte-check 4.7.0은 대규모 코드베이스의 타입 검사를 가속하는 실험적 tsgo (TypeScript Go) 백엔드를 도입합니다. Svelte 언어 서버도 이제 vite.config.js/ts에서 직접 설정을 읽어 도구 체인 전체가 동기화되었습니다.

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

이번 주 JavaScript 툴체인 생태계에서는 두 가지 주요 통합이 이루어졌습니다. VoidZero가 Vite, Vitest, Rolldown, tsdown, Oxlint, Oxfmt를 하나의 vp CLI로 묶는 MIT 라이선스 통합 툴체인 Vite+의 베타 버전을 공개하였습니다. 알파 이후 500개 이상의 풀 리퀘스트가 병합되어 스마트 빌드 캐싱, 개선된 vp migrate, Rolldown 1.0의 새 플러그인 시스템이 추가되었습니다. Next.js 16.3은 파일시스템 캐시를 통해 개발 서버 메모리 사용량을 최대 90% 절감하는 Turbopack 개선을 제공하였으며, 영구 디스크 캐시를 기본으로 활성화하여 콜드 빌드 대비 2.3배~5.5배 성능을 달성하였고, v0 같은 대형 앱에서 20~50% 향상을 보이는 실험적 Rust React Compiler도 추가되었습니다.

React 측에서는 React Compiler v1.0 프로덕션 적용 사례 분석을 통해 실제 비호환성이 드러났습니다. React Hook Form의 watch()가 내부 참조 메모이제이션으로 인해 리렌더를 트리거하지 못하였으며 react-hooks/incompatible-library 규칙으로 탐지됩니다. TanStack Table, MobX 등은 use no memo 래퍼가 필요합니다. Next.js App Router의 RSC 수화 불일치 가이드도 함께 제공되어 브라우저 전용 API 접근, 타임존 불일치, 스트리밍 환경에서의 CSS-in-JS 순서 불일치 등 6가지 원인을 분석하였습니다. 보안 측면에서는 Express가 multer 2.2.0morgan 1.11.0을 릴리스하여 세 건의 CVE를 패치하였습니다. 깊게 중첩된 멀티파트 필드를 통한 DoS 공격(CVE-2026-5079), 중단된 업로드의 디스크 파일 누적(CVE-2026-5038), :remote-user 토큰의 CR/LF 미제거로 인한 로그 위변조(CVE-2026-5078)가 그 대상입니다.

Git 2.55git repack의 점진적 멀티팩 인덱스 지원, 실험적 git history fixup 하위 명령, hook.jobs를 통한 병렬 훅 실행, inotify 기반 Linux fsmonitor 지원, 그리고 대규모 저장소의 비트맵 생성 시간을 약 612초에서 약 294초로 단축하는 개선을 제공하였습니다.

Key Takeaways
  • Vite+ 베타가 Vite, Vitest, Rolldown, tsdown, Oxlint, Oxfmt 6개 도구를 단일 vp CLI로 통합하였으며, 이미 1,300개 이상의 저장소가 의존하고 있습니다.
  • React Compiler v1.0에는 실질적인 라이브러리 비호환성이 있습니다. React Hook Form, TanStack Table, MobX는 use no memo 래퍼가 필요하므로, 활성화 전에 eslint-plugin-react-hooks를 v7+로 업그레이드해야 합니다.
  • Express 사용자는 CVE-2026-5079(중첩 필드 DoS), CVE-2026-5038(디스크 소진), CVE-2026-5078(로그 위변조) 패치를 위해 multer 2.2.0과 morgan 1.11.0으로 즉시 업그레이드해야 합니다.