2026-04-08
요약 (AI 작성)
오늘은 HMR(핫 모듈 교체) 개선에 집중했습니다. zts에서 react-refresh polyfill 주입을 플랫폼별로 최적화하고, HMR 모듈 ID 불일치, 캐시 중복 업데이트 등 런타임 이슈를 수정했습니다. RN dev mode에서 InitializeCore prelude 자동 주입 기능을 추가하고, watch rebuild 시 소스맵 파일도 갱신되도록 개선했습니다. bundler 최적화로는 tree-shake/link/emit 과정에서 200모듈 기준 78.9ms까지 성능 개선을 이뤘고, resolveExportChain 메모이제이션과 스택 버퍼를 도입했습니다. Bungae에서는 HMR 클라이언트 디버그 로그, 소스맵 CORS 헤더, symbolicate 엔드포인트를 추가하고, CLI watchFolders 비활성화로 HMR 충돌을 방지했습니다. 문서에서는 Playground 모바일 반응형, 코드 블록/표 스타일 개선, ROADMAP.md 구현 상태 업데이트, 마이그레이션 가이드/플러그인 레시피를 추가했습니다.
커밋
ohah/bungae
- debug: HMR 클라이언트 디버그 로그 추가 (임시)
- fix(build): zts-hmr-client.js를 dist/runtime/에 복사 추가
- fix(zts-bundler): InitializeCore를 --inject로 전달
- revert: InitializeCore --run-before-main 복원
- fix(zts-bundler): CLI watchFolders 비활성화 — HMR과 충돌 방지 (#43)
- revert: InitializeCore를 --run-before-main으로 복원 (polyfill은 require 불가)
- fix(zts-bundler): InitializeCore를 --polyfill로 전달 (--run-before-main → --polyfill)
- fix(server): 소스맵 CORS 헤더 + symbolicate 엔드포인트 추가
- fix(server): symbolicate JSON 파싱 실패 시 graceful fallback
- fix(server): enableStandaloneFuseboxShell 활성화 — DevTools Components 탭 지원
ohah/zts
- fix(core): HMR per-module code를 IIFE + init 호출로 래핑
- fix(core): HMR 캐시 중복 업데이트 + 빈 변경 시 reload 방지
- fix(docs): 전체 폭 복원 + TOC 텍스트 길이 자동 확장
- fix(docs): 본문 넓힘 + TOC 사이드바 정상 표시
- fix(core): react-refresh polyfill을 RN에서도 주입
- debug: HMR React Refresh 디버그 로그 추가 (임시)
- debug: performReactRefresh 상세 로그 (임시)
- fix(core): react-refresh/runtime을 모든 플랫폼에서 polyfill 주입
- fix(core): HMR 모듈 ID 불일치 수정 — __zts_currentModuleId 초기 로드 시 설정
- fix(core): react-refresh polyfill을 RN에서도 주입
- fix(test): lint 경고 수정 — 미사용 import/변수 제거
- feat(core): RN dev mode에서 InitializeCore prelude 자동 주입
- feat(docs): Playground 모바일 반응형 + 벤치마크 번들러 비교 추가
- feat(docs): 코드 블록/표 스타일 개선
- refactor: /simplify 코드 리뷰 수정
- fix(core): react-refresh early init — hook 안전 초기화 + entry 전 실행
- fix(core): watch rebuild 시 소스맵 파일도 갱신
- perf(bundler): StmtInfo를 semantic analysis 시점에 사전 구축 — tree-shake 81% 개선
- docs: ROADMAP.md 구현 상태 업데이트
- docs: 프로덕션 로드맵 추가 (안정성/CSS+배포/생태계)
- docs: CSS 번들링 상태 명확화 — 플러그인으로 사용 가능
- perf(bundler): tree-shake/link/emit 최적화 — 200모듈 82.7→78.9ms (-4.6%)
- perf(bundler): resolveExportChain 메모이제이션 + resolve_cache 스택 버퍼
- docs: 마이그레이션 가이드 + 플러그인 레시피 추가
- fix(docs): TOC 사이드바 밀림 수정 — 전체 폭을 Playground에만 적용
- fix(core): React Refresh 런타임을 호출 시점에 조회 (로드 시점 → lazy)
- fix(core): --dev 플래그에서 DEV=true, process.env.NODE_ENV="development" 설정
- fix(core): HMR eval을 new Function + 헬퍼 파라미터 전달로 변경
- refactor(parser): import/binding scanner를 파서에 통합 — AST 재순회 제거
- fix(docs): 본문 오른쪽 치우침 수정
- revert(core): react-refresh early init 제거 — RN 런타임 충돌
PR (해당일 생성/머지)
(없음)