2026-04-22

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

zntc는 전날 만든 profile 인프라로 병목을 쪼개 보며 성능을 손봤습니다. scanner·resolve 단계 타이머와 graph·emit 내부 하위 단계를 추가했고(#1716, #1718, #1724~#1726), phaseDurations의 레거시 이름을 실제 의미에 맞게 바꿨습니다(BREAKING, #1719). Zig 0.15.2 x86_64의 @memset 인코더 버그 우회(#1715), WASM의 clock_time_get WASI stub(#1717), lightningcss 타입 선언으로 tsc 빌드 회복(#1723)도 이어졌습니다.

HMR 경로에서는 Metro처럼 요청 시점에 소스맵을 만드는 lazy sourcemap 인프라와 NAPI getter를 넣고(#1728, #1729), 모듈별 HMR 코드에 //# sourceURL 주석을 붙였으며(#1730), watcher가 알려 준 변경 파일만 stat하는 mtime 캐시(#1732)와 출력 버퍼 사전 할당(#1731)을 더했습니다. 라이브러리 번들링 속도는 link·metadata 하위 단계 측정으로 effect의 namespace rewrite 병목을 찾아 캐시를 Linker로 올리고 namespace 접근 인덱스를 공유했으며(#1738~#1740), package.json type 필드를 캐시해 date-fns가 esbuild 대비 13배에서 4배 수준으로 줄었다고 PR에 적었습니다(#1743, #1745).

minify 쪽은 런타임 헬퍼 29개의 이름 축약(#1750)과 헬퍼 이름 표의 공용 모듈 분리(#1753)를 넣었고, RN과 minify를 함께 쓸 때의 연쇄 크래시와 문법 오류 네 가지(#1751), 축약 generator 런타임의 닫는 중괄호 누락(#1755), __generator 함수 이름의 symbol_id 전파(#1756), 중첩 mangler가 최상위 canonical 이름과 겹치던 문제(#1758)를 고쳤습니다. 이어 --mangle-report 측정 하네스를 만들고, 최상위와 중첩으로 나뉘어 있던 mangler를 하나의 mangleAll로 합치는 작업을 단계별로 병합했습니다(#1761~#1766). Windows CI는 GitHub runner 메모리 부족으로 Debug 빌드를 건너뜁니다(#1746).

bungae는 ZTS의 새 profile 필드에 맞춰 HMR 소요 시간 breakdown을 여러 줄로 보여 주고 graph·emit 하위 단계까지 출력하게 했으며(#63~#67), dev 서버에 lazy sourcemap 라우트와 빌드 단위 캐시를 붙이고 HMR 업데이트에는 sourceMappingURL만 달도록 바꿨습니다(#68, #69). ohah.github.io에는 4월 22일 요약과 맞춤법 크론 커밋이 올라왔습니다.

공개 커밋 69개, 해당일 생성 또는 병합된 PR 47개를 정리했습니다. PR 생성 47개·병합 46개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/bungae

ohah/ohah.github.io

ohah/zntc

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

저장소PR해당일 활동상태대상 브랜치제목
ohah/bungae#69생성 · 병합mergedmainfeat(zts-bundler): HMR update 에 sourceMappingURL 만 부착 — ZTS 가 sourceURL 담당
ohah/bungae#68생성 · 병합mergedmainfeat(zts-bundler): lazy sourcemap 라우트 + build 단위 cache (ZTS #1727 Phase B)
ohah/bungae#67생성 · 병합mergedmainfeat(zts-bundler): HMR breakdown 에 graph/emit_output 내부 sub-phase 추가
ohah/bungae#66생성 · 병합mergedmainrefactor(zts-bundler): extract formatHmrBreakdown + SUB_KEYS 단일 소스
ohah/bungae#65생성 · 병합mergedmainfeat(zts-bundler): HMR breakdown 멀티라인 + graph/emit sub-phase 출력
ohah/bungae#64생성 · 병합mergedmainfix(zts-bundler): remove (event as any) casts — use WatchRebuildEvent type
ohah/bungae#63생성 · 병합mergedmainchore(zts-bundler): ZTS profile sync + HMR breakdown 새 필드 반영
ohah/zntc#1766생성 · 병합mergedmainrefactor(mangler): #1760 Step 3c — unified Phase B replaces metadata nested
ohah/zntc#1765생성 · 병합mergedmainrefactor(mangler): #1760 Step 3b — prune shadow-collect infra
ohah/zntc#1764생성 · 병합mergedmainfeat(mangler): #1760 Step 3a — mangleAll as computeMangling core
ohah/zntc#1763생성 · 병합mergedmainfeat(bundler): #1760 unified mangler shadow collection (Step 2)
ohah/zntc#1762생성 · 병합mergedmainfeat(mangler): #1760 unified mangler skeleton (Phase 1)
ohah/zntc#1761생성 · 병합mergedmainfeat(bundler): #1760 mangler property measurement harness
ohah/zntc#1759생성 · 병합mergedmainrefactor(mangler): /simplify — #1758 reserveNameFor 헬퍼 + 테스트 간소화
ohah/zntc#1758생성 · 병합mergedmainfix(mangler): #1757 nested mangler 가 top-level canonical_name 을 reserved 로 인식
ohah/zntc#1756생성 · 병합mergedmainfix(generator): #1756 __generator(body, genFn) 의 genFn 이름에 symbol_id 전파
ohah/zntc#1755생성 · 병합mergedmainfix(runtime): #1755 GENERATOR_RUNTIME_MIN 닫는 brace 누락으로 RN+minify 파싱 실패
ohah/zntc#1754생성 · 병합mergedmainfix(linker): #1754 analyzeNamespaceAccess opaque 경로 ArrayList leak
ohah/zntc#1753생성 · 병합mergedmainrefactor(arch): #1752 runtime helper 이름 테이블 공용 모듈 분리 (역의존 정리)
ohah/zntc#1752생성closed기능 브랜치: perf/1621-runtime-helper-minrefactor(arch): #1752 runtime helper 이름 테이블 공용 모듈 분리 (역의존 정리)
ohah/zntc#1751생성 · 병합mergedmainfix(bundler): #1751 RN + minify 조합 크래시/문법 4가지 fix
ohah/zntc#1750생성 · 병합mergedmainperf(bundler): #1621 runtime helper 축약 확장 (29 helpers)
ohah/zntc#1746생성 · 병합mergedmainci(windows): skip Debug build + tests — LLVM OOM on GitHub runner
ohah/zntc#1745생성 · 병합mergedmainperf(graph): unify side_effects_cache + pkg_type_cache into pkg_info_cache
ohah/zntc#1743생성 · 병합mergedmainperf(graph): cache package.json type field — date-fns 13x → 4x
ohah/zntc#1741생성 · 병합mergedmainperf(graph): add sub-profile scopes for discover parallel/serial split
ohah/zntc#1740생성 · 병합mergedmainperf(linker): share NamespaceAccessIndex across namespace imports
ohah/zntc#1739생성 · 병합mergedmainperf(linker): promote ns_export_cache to Linker field (thread-safe)
ohah/zntc#1738생성 · 병합mergedmainperf(linker): add profile scopes for link/metadata subpasses
ohah/zntc#1732생성 · 병합mergedmainperf(graph): watcher-driven mtime cache (Issue #1727 §3)
ohah/zntc#1731생성 · 병합mergedmainperf(emitter): emit_concat module_output 버퍼 pre-size
ohah/zntc#1730생성 · 병합mergedmainfeat(emitter): HMR per-module code 에 //# sourceURL=<mod_id> 주석 (#1727 follow-up)
ohah/zntc#1729생성 · 병합mergedmainfeat(core): NAPI lazy sourcemap getters + handle cache (#1727 Phase B)
ohah/zntc#1728생성 · 병합mergedmainfeat(bundler): lazy sourcemap 인프라 + SourceMapOptions (#1727 Phase B)
ohah/zntc#1726생성 · 병합mergedmainfeat(profile): emit_output 내부 분해 — emitter.zig 4단계 sub-phase
ohah/zntc#1725생성 · 병합mergedmainfeat(profile): graph 내부 분해 — discover / finalize sub-phase
ohah/zntc#1724생성 · 병합mergedmainfeat(profile): graph / emit 내부 sub-phase 7개 삽입
ohah/zntc#1723생성 · 병합mergedmainfix(core): lightningcss optional dep 을 any 로 선언 — tsc 빌드 회복
ohah/zntc#1722생성 · 병합mergedmainrefactor(profile): /simplify follow-up — 주석 정리 + workaround 헬퍼
ohah/zntc#1721생성 · 병합mergedmainrefactor(test): drainTokensToEof 헬퍼 추출 (scanner_test 6곳 통합)
ohah/zntc#1720생성 · 병합mergedmaindocs(claude): bungae submodule sync 체크리스트
ohah/zntc#1719생성 · 병합mergedmainrefactor(profile)!: phaseDurations 레거시 이름 정리 (BREAKING)
ohah/zntc#1718생성 · 병합mergedmainfeat(profile): ResolveCache .resolve timer 삽입
ohah/zntc#1717생성 · 병합mergedmainfix(wasm): add clock_time_get WASI stub (LinkError 해소)
ohah/zntc#1716생성 · 병합mergedmainfeat(profile): Scanner .scan timer 삽입 (lex 시간 분리 측정)
ohah/zntc#1715생성 · 병합mergedmainfix(profile): workaround Zig 0.15.2 x86_64 @memset encoder bug
ohah/zntc#1714생성 · 병합mergedmainrefactor(profile): /simplify 리뷰 반영 — 중복 제거 + napi_entry 정리 (#1672 D2 post-epic)