2026-04-05

요약 (AI 작성)

ZTS에서 JSX 처리를 대규모로 리팩터링하여 codegen에서 Transformer 패스로 이동시키고(Phase 1~2), 번들 모드에서도 올바른 JSX automatic import injection을 구현했습니다. __esm 모듈에서 JSX binding 스코프 문제와 live binding, TDZ 이슈를 수정했습니다. Rolldown 호환 런타임 configurable_exports 옵션을 추가하고, 번들 모드 소스맵 생성을 통합했습니다. Flow component 파라미터를 props destructuring으로 변환하는 기능과 optional chaining 괄호 수정도 진행했습니다. Bungae에서는 JSX dev 모드 전달과 RN 렌더링 디버깅을, Suji에서는 @suji/node SDK를 추가했습니다.

커밋

ohah/zts

ohah/bungae

PR (해당일 생성/머지)

repo#상태제목
ohah/zts#763mergedfix(codegen): JSX entity 제어문자 이스케이프 + StaticStringMap + 루프 정리
ohah/zts#762mergedfeat(codegen): JSX 스펙 준수 5가지 수정 (entity, 정규���, UTF-16, key-spread)
ohah/zts#761mergedfix(codegen): JSX single child 텍스트 개행 정규화 누락 수정
ohah/zts#760mergedtest(bundler): ESM-wrapped JSX binding 스코프 테스트 3개 추가
ohah/zts#759mergedfix(emitter): ESM-wrapped 모듈 JSX binding 스코프 + hoisted function JSX 옵션 누락 수정
ohah/zts#758mergedtest(bundler): JSX automatic import 다양한 케이스 테스트 7개 추가
ohah/zts#757mergedfix(linker): ESM-wrapped 모듈에서 synthetic JSX binding skip 버그 수정
ohah/zts#756mergedfix: 실수로 삭제된 tests/benchmark 파일 복원
ohah/zts#755mergedtest(bundler): JSX automatic import injection 테스트 5개 추가
ohah/zts#754mergedchore: 실수로 커밋된 임시 파일 제거
ohah/zts#753mergedfix(bundler): JSX synthetic import Span 충돌 버그 수정 + 최적화
ohah/zts#752mergedfix(bundler): automatic JSX transform jsx-runtime import 자동 주입
ohah/zts#751mergedperf(linker): buildInlineObjectStr cache miss double-dupe 제거
ohah/zts#750mergedperf(linker): namespace import export 수집 결과 캐싱
ohah/zts#749mergedfeat(runtime): configurable_exports 옵션 추가 (RN 자동 활성화)
ohah/zts#748mergedfix(main): tsconfig 로딩 구조 수정 + jsx_runtime optional 전환
ohah/zts#747mergedfix(linker): ESM 래핑 모듈 namespace import exports_xxx rename 버그 수정
ohah/zts#746mergedfix(bundler): JSX 옵션 번들러 전달 + RN automatic 기본값
ohah/zts#745mergedfix(runtime): Object.defineProperty에 configurable: true 추가
ohah/zts#744mergedfix(bundler): __esm 모듈 간 live binding 적용 (rolldown 방식)
ohah/zts#743mergedfix(bundler): __esm 함수 TDZ 문제 수정 (rolldown 방식)
ohah/zts#742mergedfix(codegen): JSX factory rename이 일부 모듈에서 누락되는 문제
ohah/zts#739mergedrefactor(bundler): parseFromSliceLeaky → parseFromSlice
ohah/zts#738mergedfix(bundler): subprocess plugin JSON 파싱 메모리릭 수정
ohah/zts#737mergedfix(bundler): sourceMappingURL 실제 파일명 + 디버그 코드 제거
ohah/zts#736mergedfeat(bundler): emitWithTreeShaking에 소스맵 생성 통합
ohah/zts#735mergedfeat(bundler): 번들 모드 소스맵 생성 지원
ohah/zts#734mergedrefactor(transformer): makeParenExpr 헬퍼 추출
ohah/zts#733mergedfix(transformer): optional chaining 변환 시 괄호 추가 (#732)
ohah/zts#731mergedfix(semantic): jsx_member_expression left side symbol 등록
ohah/zts#730mergedfix(transformer): super_call_this_alias를 field init에서만 활성화
ohah/zts#729mergedfix(transformer): ES5 this→_this 치환 두 가지 버그 수정
ohah/zts#728mergedfix(codegen): JSX 태그 이름에 번들러 rename 반영