2026-04-22
요약 (AI 작성)
오늘은 ZTS #1727 HMR 및 빌드 성능 개선 작업이 주축이었습니다. ZTS와 bungae에서 HMR breakdown을 세부 sub-phase로 분해하고, lazy sourcemap 인프라를 구축하여 HMR 업데이트 성능을 개선했습니다. 또한 profile 시스템에 Scan, Resolve, graph discover/finalize, emit_output 내부 단계별 타이머를 추가하여 내부 동작의 성능 병목 지점을 명확히 했습니다. Linker와 graph 모듈에서는 cache 구조를 정리하고 watcher-driven mtime cache를 구현해 기존 빌드 비용을 대폭 개선했습니다. ohah.github.io에서는 CRON_CRD_WRITE.md 기반으로 60개 .mdx 파일의 맞춤법 교정 작업을 완료했습니다.
커밋
ohah/bungae
- feat(zts-bundler): HMR breakdown 에 graph/emit_output 내부 sub-phase 추가
- chore(zts-bundler): ZTS profile sync + HMR breakdown 로그 새 필드 반영
- fix(zts-bundler): remove `(event as any)` casts in onRebuild
- feat(zts-bundler): HMR breakdown 멀티라인 + graph/emit sub-phase 출력
- refactor(zts-bundler): extract formatHmrBreakdown + SUB_KEYS 단일 소스
- feat(zts-bundler): lazy sourcemap 라우트 + build 단위 cache (ZTS #1727 Phase B)
- feat(zts-bundler): HMR update 에 sourceMappingURL 만 부착 — ZTS 가 sourceURL 담당
ohah/ohah.github.io
- cron: correct spelling in cheolsu-proxy development-4.mdx
- docs: mark development-6.mdx as checked in CRON_CRD_WRITE.md
- cron: correct spelling in cheolsu-proxy/development-5.mdx
- docs: mark development-7.mdx checked in crd-write cron
- docs: mark development-8.md as checked in CRON_CRD_WRITE.md
- chore(crd): update CRON_CRD_WRITE.md - checked development-3.mdx (no spelling changes)
- docs: check spelling in cheolsu-proxy/development-9.mdx (no changes needed)
- docs: mark all .mdx files as checked (no spelling errors found)
- crondoc: mark all 60 .mdx files as checked
- docs: mark all .mdx files as checked in CRON_CRD_WRITE.md
- chore: mark all 60 .mdx files as completed in CRON_CRD_WRITE.md
- docs: mark final verification check for 2026-04-22
- cron: mark 2026-04-22 final verification as completed
- cron: mark blog-crd-write task as completed
ohah/zts
- feat(profile): ResolveCache
.resolvetimer 삽입 - refactor(profile)!: phaseDurations 레거시 이름 정리 (BREAKING)
- docs(claude): bungae submodule sync 체크리스트 추가
- refactor(test): drainTokensToEof 헬퍼 추출 (scanner_test 6곳 통합)
- fix(core): lightningcss optional dep 을 any 로 선언 — tsc 빌드 회복
- refactor(profile): /simplify 리뷰 반영 — 중복 제거 + napi_entry 정리 (#1672 D2 post-epic)
- refactor(profile): /simplify follow-up — 주석 정리 + workaround 헬퍼 추출
- feat(profile): graph / emit 내부 sub-phase 7개 삽입
- feat(emitter): HMR per-module code 에
//# sourceURL=<mod_id>주석 (#1727 follow-up) - test(graph): buildIncremental changed_files 경로 4개 케이스
- perf(graph): watcher-driven mtime cache — unchanged 모듈 stat skip
- fix(wasm): add clock_time_get WASI stub
- fix(profile): workaround Zig 0.15.2 x86_64 @memset encoder bug
- feat(profile): Scanner
.scantimer 삽입 (lex 시간 분리 측정) - feat(profile): emit_output 내부 분해 — emitter.zig 4단계 sub-phase
- feat(profile): graph 내부 분해 — discover / finalize sub-phase
- feat(bundler): lazy sourcemap 인프라 + SourceMapOptions (#1727 Phase B)
- feat(core): NAPI lazy sourcemap getters + handle cache (#1727 Phase B)
- perf(emitter): emit_concat 의 module_output 버퍼 pre-size
- perf(linker): promote ns_export_cache to Linker field (thread-safe)
- perf(graph): add sub-profile scopes for discover parallel/serial split
- perf(linker): add profile scopes for link/metadata subpasses
- perf(linker): share NamespaceAccessIndex across namespace imports
- perf(graph): unify side_effects_cache + pkg_type_cache into pkg_info_cache
- perf(graph): cache package.json type field — date-fns 13x → 4x
- ci(windows): skip Debug build + tests — LLVM OOM on GitHub runner