2026-05-15

요약 (AI 작성)

ohah 블로그에서는 CRD(CRUD) 글 작성 크론 스크립트의 맞춤법 교정 작업을 완료했으며, 오늘자 커밋 기록을 정리했다. zntc 프로젝트에서는 메인 브랜치에 다수의 기능 개선과 버그 수정이 병행되었다. 특히 minify 최적화 단계를 진행하며 모듈 수준의 dead store elision, IIFE collapse, pure compound expression inline 등을 적용해 번들 크기를 획기적으로 줄였고, namespace handling과 tree-shaking 관련 버그를 수정했다. 또한 parser에서 contextual keyword와 modifier 지원을 개선했고, astro 모듈의 echarts lazy-loading과 JSDoc 샘플 정리를 진행했다. RN asset emitter의 메타데이터 할당 최적화와 mangle 레포트 기능 개선도 함께 이루어졌다.

커밋

ohah/ohah.github.io

ohah/zntc

PR (해당일 생성/머지)

repo#상태제목
ohah/zntc#3273mergedfeat(linker): shared namespace inline 의 per-entry size audit
ohah/zntc#3272mergedperf(minify): N-step3b — module-level dead store elide for user-pure modules (mobx -3.2KB)
ohah/zntc#3271mergedfeat(minify): N-step3a — audit per-binding name + span dump
ohah/zntc#3270mergedfix(minify): function expression name elide 를 minify_syntax 만 적용
ohah/zntc#3269mergedtest(stmt_info): N-step2 — mobx-style cascade graph correctness 검증
ohah/zntc#3268mergedfeat(minify): N-step1 — module-level dead toplevel candidate audit
ohah/zntc#3266mergedperf(minify): named function expression unused name elide (mobx -593B)
ohah/zntc#3265mergedperf(codegen): multi-expr block 을 sequence 로 unwrap (rxjs -61B)
ohah/zntc#3264mergedperf(emitter): CJS wrap body 의 trailing ; elide (rxjs -211B)
ohah/zntc#3263mergedrefactor(emitter): M2-M4 follow-up — needsRequireShim helper + narration 정리
ohah/zntc#3262mergedrefactor(codegen): "use strict" directive 리터럴을 const 로 추출
ohah/zntc#3261mergedrefactor(emitter): CJS var-merge 패턴을 helper 로 통합 + narration 정리
ohah/zntc#3260mergedfix(test): allow m.exports form in CJS wrapper bundle-minify
ohah/zntc#3259mergedperf(emitter): helper var + 첫 CJS module 합치기 (rxjs -4B)
ohah/zntc#3258mergedperf(codegen): CJS wrap 안 "use strict" directive elide (rxjs -1.94%)
ohah/zntc#3257mergedperf(emitter): CJS_FACTORY_MIN $cj → $c 단축 (rxjs -224B)
ohah/zntc#3256mergedperf(emitter): minify CJS wrapper 의 module var 선언 합치기 (rxjs -0.6%)
ohah/zntc#3255mergedperf(emitter): CJS wrapper helper to anonymous arrow (rxjs -16B)
ohah/zntc#3254mergedperf(emitter): elide createRequire shim when no external require call (-84B)
ohah/zntc#3253mergedperf(emitter): CJS wrap unused 'module' param drop (rxjs -0.3%)
ohah/zntc#3252mergedperf(emitter): CJS wrap callback param 단축 (rxjs -5.7%)
ohah/zntc#3251mergedfix(core): update init-lifecycle tests for lazy auto-init contract
ohah/zntc#3250mergedperf(emitter): minify CJS wrapper 의 object literal indirection 제거
ohah/zntc#3249mergeddocs(examples): add react-19 vite + zntc-standalone react-compiler examples
ohah/zntc#3248mergedtest(mangler): unified mangler Phase A/B 통합 회귀 가드 추가 (#1760)
ohah/zntc#3247mergedfeat(mangler): Phase B reserved 를 모듈 단위로 좁힘 (rxjs -3.7%)
ohah/zntc#3246mergedfix(astro): preserve landing code-example indent; clean up JSDoc samples
ohah/zntc#3245mergedfeat(core): lazy auto-init for native API — match esbuild/swc UX
ohah/zntc#3244mergedfeat(compat): map opera/op_mob to Chromium in parseBrowserslistEntry
ohah/zntc#3243mergedfeat(mangler): mangle_audit — Phase A/B base54 1-char skip 측정
ohah/zntc#3242mergedfeat(cli): support --browserslist in Zig CLI with simple engine+version queries
ohah/zntc#3241mergedrefactor(astro): single echarts-setup module — union register, dedup imports
ohah/zntc#3240mergedrefactor(astro): consolidate brand hex tokens to single source
ohah/zntc#3239mergedfix(astro): unblock SSR by lazy-loading echarts; mermaid + benchmark share dark hook
ohah/zntc#3238mergeddocs(astro): fix audit findings — WASM scope, vite link, RN flag split, intro links, chart re-render
ohah/zntc#3237mergedperf(emitter): elide CJS wrapper module name string in minify mode
ohah/zntc#3236mergedperf(bundler): namespace inline elide for tree-shaken re-exports (root cause)
ohah/zntc#3235mergedperf(codegen): unwrap declaration-free standalone block at program-root
ohah/zntc#3234mergedperf(bundler): namespace getter minify-whitespace tokens
ohah/zntc#3233mergedfeat(minify): paren-elimination at statement-root for pure compound inline
ohah/zntc#3232mergedfeat(minify): inline single-use pure compound expressions
ohah/zntc#3231closedfeat(minify): IIFE collapse — (()=>X)() → X
ohah/zntc#3230mergedfix(mangle): statement-level reachability guard + namespace getter dead-export skip
ohah/zntc#3229mergedfix(mangle): tree-shake 후 mangle 로 짧은 이름 풀 잠식 회귀 수정
ohah/zntc#3228mergedfeat(mangle-report): nested stats + ZNTC_DEBUG=mangle_dump 추가
ohah/zntc#3227mergedrefactor(rn-asset): drop unread width/height/hash from metadata sidechannel
ohah/zntc#3226mergedrefactor(rn-asset): collapse emitAssetRegistryCall args into input struct + drop dead hash
ohah/zntc#3225mergedrefactor(rn-asset): emit follow-up — borrow escape + arena for temp rel + doc
ohah/zntc#3224mergedperf(rn-asset): emit directly into metadata allocator, drop clone step
ohah/zntc#3223mergedrefactor(rn-asset): tighten metadata wire-up after simplify follow-up