2026-04-29
요약 (AI 작성)
ohah/zts에서는 다양한 버그 수정과 기능 개선이 진행되었습니다. 주요 내용으로는 string enum의 reverse mapping 제거, CJS 모듈 함수 body 내 dynamic exports access 시 fact prune 비활성화, single-file output 모드에서 dynamic import 자동 lazy-wrap, cycle 모듈의 ESM live binding 보존, block-scoped let의 TDZ 보존, sourcemap에서 specifier identifier 매핑 누락 수정 등이 있습니다. 또한 zts.config.json의 manualChunks를 record 형태로 지원하고 --inline-dynamic-imports 플래그를 노출하는 등 설정 개선 작업도 진행되었습니다. 그 외에 플러그인의 buildStart/buildEnd/closeBundle lifecycle hook 추가, NAPI/JS API 문서화, @zts/core 아키텍처 다이어그램, Vite 스타일 앱 빌더 구현, dev PostCSS CSS HMR 활성화 등 다양한 개선 사항이 포함되어 있습니다.
ohah/ohah.github.io에서는 CRON_CRD_WRITE.md의 체크리스트 작업을 완료했습니다. 모든 mdx 파일이 체크되었고 문서가 정리되었습니다.
커밋
ohah/ohah.github.io
- docs: update CRON_CRD_WRITE.md - docs/monthly-opensource/zts/development-14.mdx checked
- docs: mark CRON_CRD_WRITE.md as checked (2026-04-29)
- chore: mark all mdx files as checked in CRON_CRD_WRITE.md
- cron-crd: mark chromium/background.mdx checked, fix blockquote spacing
- cron: mark all .mdx files as checked in CRON_CRD_WRITE.md
- docs: mark all .mdx files as completed (2026-04-29)
- chore: mark CRON_CRD_WRITE.md checklist complete (2026-04-29)
- cron: mark all mdx files as completed
- docs: mark all mdx files checked for CRON_CRD_WRITE.md
ohah/zts
- fix(codegen): string enum 멤버 reverse mapping 제거 (#2192)
- fix(bundler): CJS module 함수 body 내 dynamic exports access 시 fact prune 비활성화
- feat(config): zts.config.json manualChunks (record form) 매핑 (#2099 P3)
- refactor(dto): TranspileOptionsDto → ConfigOptionsDto rename
- feat(cli): --inline-dynamic-imports flag 노출 (#2099 P3)
- docs(astro): epic #2151 옵션 추가 — output.exports / sourcemapMode / inline-dynamic / lifecycle / loader override
- fix(emitter): output_exports_conflict 진단의 file_path borrowed 로 변경
- feat(bundle): output.exports 충돌을 graph diagnostic 로 emit (root cause)
- feat(plugin): buildStart / buildEnd / closeBundle lifecycle hook (#2156)
- refactor(test): runConfigBundle HoF — zts-config-bundler 보일러플레이트 흡수
- fix(docs): desktop 에서 표를 display:table 로 복원, 모바일만 가로 스크롤
- docs: NAPI / JS API reference + @zts/core 아키텍처 mermaid 다이어그램
- feat(plugin): onLoad contents 의 Uint8Array / Buffer 지원 (#2157 follow-up)
- refactor(dto): AliasDto / ManualChunkDto 를 bundler/types entry 타입 alias 로 통합
- feat(loader): builtin loader 검증 + onLoad plugin 의 loader override forward (#2157)
- refactor(dto): applyTranspileSharedFields 헬퍼 — optionsFromJson / applyZtsConfigJson 공유
- fix(bundler): cycle 모듈의 const/let/class 를 var 강등으로 ESM live binding 보존 (#2198)
- fix(bundler): single-file output 모드에서 dynamic import 자동 lazy-wrap (#2209)
- test(tsc): string enum reverse mapping 제거 후 stale snapshot 갱신 (#2192 follow-up)
- fix(jsx,mangler): JSX factory head identifier 의 symbol_id 전파 (#2196)
- fix(mangler): named class expression inner name 보존 (#2197)
- fix(transformer): legacy decorator helper 정의를 transpile-only 모드에서도 emit (#2194)
- fix(minify): block-scoped let 의 TDZ 보존 — 모든 scope 에 forward-ref 검증 (#2195)
- docs(app): document CSS HMR app flow
- refactor(app): /simplify 후속 — dev HMR 정리 + stylesheet path root cause
- chore: ignore e2e test results
- feat(app): enable dev PostCSS CSS HMR
- fix(parser): yield-outside-generator 명확한 진단 (#2210)
- fix(bundler): single-file dynamic import 재작성 + cycle×dynamic marking 확장 (#2211)
- fix(bundler): side-effect/script dynamic target 의 외부 sibling fallback 제거 (#2211 follow-up)
- fix(sourcemap): import/export specifier identifier 매핑 누락
- test(app): Vite-style app builder Playwright E2E + 포맷 정리
- fix(app): CSS double-emit collision + dev postcss watcher correctness
- refactor(app): /simplify 후속 정리
- feat(app): add Vite-style app builder
- fix(transformer): const enum 멤버에 type wrapper cast 가 있어도 인라인 (#2193)
- test(regression): 라운드 1/2/4 광역 회귀 테스트 영구 보존
- docs: README / STRUCTURE / TESTING 현재 구현 상태 동기화
- fix(sourcemap): footer 부착 + map.file 필드 spec 부합 + Hermes 의존성 추가 (#2217)
- feat(app): complete remaining Vite parity scope
- fix(sourcemap): enum 멤버 + IIFE trailing 매핑 누락
PR (해당일 생성/머지)
(없음)