2026-04-03

요약 (AI 작성)

ZTS에서 증분 빌드와 watch-json 관련 안정화 작업을 집중적으로 수행했습니다. __esm 래퍼 기반 WrapKind.esm을 구현하고, CJS→WrapESM 참조 변환, __esm var/function 호이스팅, init_xxx() 주입, live binding 등 번들러 모듈 래핑 시스템을 대폭 개선했습니다. ES2022 private method 다운레벨링을 추가하고, Hermes 검증 CI를 도입했습니다. 번개(bungae) 프로젝트에서는 ZTS 번들러 연동을 위한 banner/global 변수/RN 폴리필 호환성 수정을 진행했습니다. Suji에서는 Node.js 백엔드 async invoke, 크로스 호출, 이벤트 API 등을 구현했습니다.

커밋

ohah/zts

ohah/bungae

ohah/suji

PR (해당일 생성/머지)

repo#상태제목
ohah/zts#686mergedfix(emitter): --run-before-main 모듈을 엔트리 직전에 강제 호출
ohah/zts#685mergedfeat: 독립 transpile 모듈 + 폴리필 Flow strip
ohah/zts#684mergedtest: TSC 스냅샷 업데이트 (new Foo()() → new Foo())
ohah/bungae#41mergedfeat(zts-bundler): RN 폴리필 + InitializeCore 전달 (Metro 호환)
ohah/zts#683mergedfeat(bundler): --polyfill, --run-before-main 옵션 추가 (Metro 호환)
ohah/zts#682mergedfeat(bundler): --platform=react-native ESM 모듈 lazy loading (Metro 호환)
ohah/zts#681mergedrefactor: symbol_id 전파 헬퍼 통합 + while-loop 최적화
ohah/zts#680mergedfix(codegen): __esm import destructuring rename 키 불일치 수정
ohah/zts#679mergedtest(integration): ES5 + bundle rename symbol_id 회귀 테스트 추가
ohah/zts#678mergedfix(transformer): optional chaining 복제 노드 symbol_id 누락 수정
ohah/zts#677mergedfix(codegen): export default class ES5 rename 시 var 덮어쓰기 버그 수정
ohah/suji#6mergedNode.js 백엔드 크로스 호출 + async invoke + 예제 추가
ohah/zts#676mergedfix(transformer): ES5 class rename symbol_id 전파 누락 수정
ohah/zts#675mergedrefactor: execIndexLessThan → bundleOrderLessThan rename
ohah/zts#674mergedfix(emitter): __esm 모듈 정렬 — scope-hoisted 호출 전 선언 보장
ohah/zts#673mergedrefactor(parser): speculative type argument 파싱 통합
ohah/zts#672mergedfix(parser): new X() type argument 이중 호출 버그 수정
ohah/suji#5mergedchore: ibnode 다운로드 URL을 ohah/suji 릴리즈로 고정
ohah/zts#671mergedfix(linker): __esm import binding rename — scope-hoisted 타겟 충돌 방지
ohah/zts#670mergedfix(codegen): __esm body CJS import __toESM 래핑
ohah/zts#669mergedfix(emitter): __esm 실행 순서 보장
ohah/zts#668mergedfix(emitter): __esm import 변수 호이스팅 + CJS import rename 적용
ohah/zts#667mergedfix(semantic): Flow 타입 캐스트 내부 expression symbol_id 누락 + 테스트
ohah/zts#666mergedWIP: fix(emitter): __esm var/function 호이스팅 (esbuild/rolldown 방식)
ohah/zts#664mergedfix(bundler): resolve self-reference skip + export getter rename
ohah/zts#663mergedfix: dev 모드에서 DEV=true + NODE_ENV=development
ohah/zts#662mergedfix(codegen): __esm export default _default 미정의 + 중복 선언
ohah/zts#661mergedtest: __esm 래퍼 런타임 안전성 정적 검증 테스트
ohah/zts#660mergedfix(linker): __esm namespace import exports_xxx rename + 테스트 5개
ohah/zts#659mergedfix(emitter): __export()를 __esm 래퍼 안으로 이동 — deepFreeze 에러 해결
ohah/zts#658mergedfix(codegen): __esm 모듈 exports 미정의 에러 — CJS export 출력 억제
ohah/zts#657mergedfix: DEV define을 RN에서만 적용 (/simplify)
ohah/zts#656mergedfix: DEV 자동 define + define boolean 치환 수정
ohah/zts#655mergedfix(bundler): __esm 호이스팅 제거 + init 주입 + var import — 런타임 에러 3건 해결
ohah/zts#654mergedfix(linker): __esm init_xxx() 호출 주입 + template 호이스팅 수정
ohah/zts#653mergedfeat(emitter): __esm 래퍼 function 선언 호이스팅
ohah/zts#651mergedci: Hermes 검증 job 추가
ohah/zts#650mergedfix(emitter): __export default 예약어 SyntaxError + hermesc CI
ohah/zts#649mergedrefactor(bundler): /simplify + WrapESM 테스트 8개 + default 키워드 인용 수정
ohah/zts#648mergedfeat(bundler): CJS→scope hoisted ESM import 처리 — require 미변환 0개 달성
ohah/zts#647mergedfeat(bundler): CJS→WrapESM 참조 변환 + ESM 모듈 CJS codegen
ohah/zts#646mergedfeat(bundler): WrapKind.esm + __esm 래퍼 기반 구현
ohah/zts#644mergedfix(linker): scope hoisted 모듈의 require() 미변환 + buildRequireRewrites 공통 헬퍼
ohah/zts#643mergedrefactor(codegen): require rewrite 공통 헬퍼 추출 + 코드 품질 개선
ohah/zts#642mergedfix(codegen): CJS 래핑 모듈의 ESM import→require 변환 시 require_xxx() 치환 누락
ohah/zts#641mergedfix(bundler): esm_with_dynamic_fallback 모듈 require 시 __commonJS 래핑 누락
ohah/zts#640mergedfeat(transformer): ES2022 private method (#method) 다운레벨링