2026-05-08
요약 (AI 작성)
오늘 활동은 zntc 프로젝트의 테스트 분할 작업과 플러그인 아키텍처 개선, 그리고 RN HMR 성능 최적화가 주를 이루었습니다. zntc에서는 크게 세 가지 측면에서 개선이 진행되었습니다. 첫째, 테스트 코드 관리 개선을 위해 코어 테스트 스위트를 CLI와 분리하고, build sync, watch lifecycle, 플러그인 테스트, runtime polyfill 테스트 등을 개별 모듈로 분할하여 유지보수성을 높였습니다. 둘째, 의미 분석(semantic) 영역에서 기능 선언 및 중복 프로토타입 키 처리와 같은 버그를 수정하여 파싱 오류를 개선했습니다. 셋째, 플러그인 아키텍처를 단순화했습니다. TLS 채널을 HookContext out-param으로 대체하고, async/sync 디스패처를 generator로 통합하며 NapiPlugin 어댑터를 comptime generic으로 정제하여 코드 복잡도를 낮췄습니다. 또한 dev_mode 증분 빌드 시 풀 bundle output을 건너뛰어 HMR 대기 시간을 21% 단축하고, RN HMR에서 터미널 UI 정합성과 로딩 토스트를 개선했습니다. ohah.github.io에서는 크론 작업으로 .mdx 파일 맞춤법 검사가 완료되었습니다.
커밋
ohah/ohah.github.io
- chore: update CRON_CRD_WRITE.md status (2026-05-08 11:00 KST)
- docs: cron task completed - all mdx files verified (2026-05-08 10:00 KST)
- CRON_CRD_WRITE.md: Cron task completed - all mdx files already verified (2026-05-08 10:30 KST)
- cron: mark completed for 2026-05-08 13:30 KST
- cron: mark 2026-05-08 15:00 KST task as complete — all .mdx files already verified
- Cron task completed — no remaining .mdx files to check (2026-05-08 14:30 KST)
- cron: mark final verification run as complete (2026-05-08 15:30 KST)
- cron: mark final verification entry at 2026-05-08 21:30 KST
- cron: mark final completion status (all .mdx verified)
- CRON: Final status - no remaining .mdx files to check (2026-05-08 23:00 KST)
ohah/zntc
- test(emit): skip_bundle_output 검증 — output 모듈 미포함 + module_codes 수집 + fallback 가드
- perf(emit): dev_mode incremental rebuild 의 풀 bundle output skip — HMR wall 113→89ms (-21%)
- fix(module): parse_arena 를 heap ptr 로 전환 — store 왕복 시 dangling BufNode panic 근본수정 (#2694)
- refactor(napi): generic unwrapNapi(T, env, value) helper — napi_unwrap boilerplate 통합
- style(react-native): oxfmt — asset.ts import / chained call 한 줄로
- refactor(react-native): SVG component transformer + normalizeExt 단일 출처
- refactor(playground): 옵션 A → 옵션 B 전환 — toggle disabled + tooltip
- refactor(playground): ESM_ONLY_KEYS set 으로 추출 — 향후 옵션 추가 확장
- fix(playground): bundler codeSplitting/preserveModules 토글 시 format 자동 ESM
- perf(import-scanner): drop redundant hasExtra(e, 0) guard
- perf(import-scanner): dispatch call expressions by callee tag
- refactor(plugin): unify response cleanup and drop dead validation
- fix(sourcemap): chain plugin transform maps
- refactor(plugin): unify async/sync dispatcher via generator + drop lifecycle dual channel
- refactor(plugin): use @tagName for HookType → string switch
- fix(buildSync): support sync JS plugins
- feat(rn): dev-server 터미널 UI bungae 정합 + 콘솔 로그 v 토글
- refactor(plugin): replace TLS plugin failure/sourcemap channels with HookContext out-param
- refactor(plugin): collapse close-bundle dual channel and dedupe diag fallback
- fix(plugin): surface plugin failures as diagnostics
- refactor(rn-hmr-client): /simplify — cleanup on socket close + DLV cache
- chore(fmt): re-apply oxfmt to RN HMR loading toast 변경
- refactor(plugin): NapiPlugin/NapiSyncPlugin per-hook adapter 통합 — comptime generic
- refactor(emitter): unify addModuleMappings traced/identity paths + struct args
- test(core): split hmr perf tests
- refactor(semantic): drop unused matchKeyName helper
- refactor(transformer/ast): isConstructorKey identifier fast path + dedup directStaticKeyName
- fix(semantic): alias var_scope function predeclare into block scope
- fix(semantic): predeclare nested-block function with correct kind
- fix(test/core): add missing type imports for split test files
- test(core): split core and CLI test suites
- test(core): split browserslist runtime polyfill tests
- test(core): split vite plugin adapter tests
- test(core): split large app builder and watch tests
- test(core): split build plugin tests
- test(core): split watch lifecycle tests
- test(core): split build sync tests