2026-05-20
요약 (AI 작성)
ohah/zntc에서 주력으로 다중 포맷 빌드 기능 개발과 성능 프로파일링 인프라를 확장했습니다. Rollup 스타일의 zntc(input).write(output).close() API를 추가하고, OutputConfig + BundleOptions.output[]을 통해 여러 출력 포맷을 한 번에 지원하는 기능을 구현했습니다. 이어 모듈 페더레이션과 다중 포맷의 조합을 거부하도록 막는 로직과 CSS 공유 자산 정책을 문서화했습니다. 동시에 인크리멘트 빌드 성능 측정을 위한 프로파일링 시스템(M0-M8)을 구축하고, RequestedExports를 HashMap에서 플랫 배열로 변경하여 그래프 성능을 개선했습니다. ohah/ohah.github.io에서는 맞춤법 검사용 크론 작업과 개발 로그 관리를 진행했습니다.
커밋
ohah/ohah.github.io
- crd: update cron log for development-1.mdx verification
- cron: CRON_CRD_WRITE.md - verify development-8.mdx spelling
- docs: update CRON_CRD_WRITE.md - development-6.mdx verified
- cron: 2026-05-21 23:30 verify spelling (development-7)
- cron: mark CRD doc spelling check complete (2026-05-21 23:30 UTC)
- feat(cron): Add 2026-05-21 16:00 UTC CRON task completion record
- chore: cron task completed - verify one MDX file for spelling (2026-05-20 19:00 KST)
- cron: verify spelling in cheolsu-proxy/development-8.mdx (2026-05-21 08:00 UTC)
ohah/zntc
- feat(mangler): path-stable candidate tie-breaker for cross-module frequency sort
- fix(linker): path-stable NameOwner sort in name collision resolution
- fix(graph): deterministic module index assignment via path-stable renumber
- fix(bundler): path-stable bundleOrderLessThan for exec_index ties
- docs(electron): zntc.config.ts 타깃별 config 파일 예제 추가
- test(infra): byte-identical determinism gate (N=10) — 5 fixture + helpers + CI job
- test(infra): determinism gate code-splitting fixture — outdir 모드 helper 확장
- chore(bench): incremental rebuild measurement infra (ROI investigation)
- [feat(core): esbuild-style build({output:]}) sugar
- [feat(bundler): OutputConfig + BundleOptions.output] (infrastructure only)
- feat(bundler): emit loop for multi-format (single path only)
- feat(bundler): reject Module Federation + multi-format combination
- feat(core): rollup-style zntc(input) → BuildInstance.write(output) API
- refactor(linker): thread Format through metadata builders
- fix(emitter): sort emit-path hashmap iterators (esm-wrap star + chunk exports)
- fix(linker): stable-order fatal diagnostics flush
- feat(linker): setEmitFormat + resetEmitTransients per-emit entry points
- test(bundler): multi-format equivalence + order invariance + memory safety gates
- fix(graph): remap SymbolRef.module in renumber (cross-module symbol resolution)
- test(integration): rollup-style multi-format API smoke
- feat(emit): document multi-format shared-asset policy + CSS test gate
- docs(roadmap): RN CLI/MCP 스코프를 빌드+실행+디버깅으로 확장
- chore(bench): production-realistic incremental rebuild measurement (M0)
- chore(profile): split requestDependencyExports into 3 branches (M4)
- chore(profile): requestNamed/All internals 4-way decomposition (M5)
- chore(profile): re_export caller side entry/outer decomposition (M6)
- chore(profile): incremental rebuild sub-phase categories (M1)
- chore(bench): sub-phase µs output for incremental bench (M2)
- chore(profile): decompose replay into add_module/request_exports/record_dep/other (M3)
- feat(graph): export_index_by_name precompute (dormant Y1)
- feat(graph): migrate request_exports callers to index lookup (Y2)
- feat(graph): stack buffer for requested_names in re_export entry (Z1)
- chore(profile): re_export entry 3-way decomposition (M7)
- feat(graph): RequestedExports.names HashMap → flat array (Z2)
- chore(profile): record_dep + add_module internal decomposition (M8)