2026-04-04

요약 (AI 작성)

ZTS에서 React Native 플랫폼 호환성과 Hermes 엔진 지원을 중점적으로 작업했습니다. ES5 class를 IIFE 패턴(SWC 호환)으로 변환하고, __callSuper + Reflect.construct로 네이티브 클래스 extends를 지원했습니다. Hermes 런타임 호환을 위해 __copyProps를 forEach로 변경하고, RN 프리셋 에셋 확장자를 Metro defaults 전체로 확장했습니다. __esm 래퍼 관련 다수의 버그(export default, hoisted var, class 선언 호이스팅 등)를 수정하고, dev mode에서 polyfill/banner 포함 버그를 해결했습니다. Bungae에서는 RN 에셋 플러그인과 전역 식별자 예약 기능을 추가했으며, Suji에서는 문서 동기화와 배포 계획을 정리했습니다.

커밋

ohah/zts

ohah/bungae

ohah/suji

ohah/ohah.github.io

PR (해당일 생성/머지)

repo#상태제목
ohah/zts#727mergedfix(transformer): Flow component 파라미터를 props destructuring으로 변환
ohah/zts#726mergedfix(codegen): JSX classic 모드에서 번들러 리네이밍된 React 변수 반영
ohah/zts#724mergedfix(transformer): dev 모드 번들링 크래시 수정 (extra_data dangling pointer)
ohah/zts#723mergedfix(transformer): __callSuper + instance fields를 _this에 초기화
ohah/zts#722mergedfeat(transformer): __callSuper + Reflect.construct로 네이티브 클래스 extends 지원
ohah/zts#721mergedfix(transformer): ES5 class getter/setter에 configurable: true 추가
ohah/zts#719mergedfix(transformer): ES5 class super() IIFE _super 스코프 격리
ohah/zts#718mergedfix(codegen): import Default, { named } 동시 사용 시 default 바인딩 누락 수정
ohah/zts#717mergedfix(codegen): CJS export binding에서 linker rename 반영
ohah/zts#716mergedfix(bundler): ESM 래핑 모듈의 export * from (re_export_all) 지원
ohah/zts#715mergedfix(bundler): JSON 모듈 named export 지원
ohah/zts#714mergedfix(bundler): loader 미설정 에셋 silent failure + RN 프리셋 기본 로더
ohah/zts#713mergedfix(parser): export type/interface가 CJS 모듈을 ESM으로 잘못 판별하는 버그 수정
ohah/zts#712mergedfix(codegen): ES2015 shorthand 확장 시 object property key rename 버그 수정
ohah/zts#711mergedrefactor(emitter): /simplify 리뷰 반영
ohah/zts#710mergedfix(emitter): __esm re-export default 할당 누락 (#705)
ohah/zts#709mergedfix(emitter): hoisted var 중복 선언 수정 (#706)
ohah/zts#708mergedfix(emitter): CJS 엔트리 자동 호출 (#707)
ohah/zts#704mergedfix(linker): _default 합성 변수 충돌으로 ESM default export 덮어쓰기 버그
ohah/zts#703mergedfix(bundler): dev mode에서 polyfill/banner 번들 누락
ohah/zts#702mergedfix(test): CI hermes-runtime 테스트 의존성 수정
ohah/zts#701mergedfix(transformer): 표현식 super class ES5 변환 누락 (React.Component 등)
ohah/zts#700mergedfix(transformer): ES5 destructuring 프로퍼티 키 리네이밍 버그
ohah/zts#699mergedrefactor: Hermes 테스트 유틸리티 정리
ohah/zts#698mergedfix(runtime): Hermes for-in 클로저 캡처 버그 워크어라운드
ohah/zts#697mergedtest: IIFE prototype + Flow covariant + ESM class 호이스팅 회귀 테스트
ohah/zts#696mergedfix(transformer): IIFE 내부 prototype 참조가 외부 변수를 사용하는 버그
ohah/zts#695mergedfix(flow): covariant 클래스 프로퍼티 타입 스트리핑 누락
ohah/zts#694mergedfix(bundler): __esm 래퍼 내 class 선언 호이스팅 누락 수정
ohah/zts#693mergedrefactor(transformer): SWC 호환 IIFE 패턴 (fresh identifier + _super)
ohah/zts#692closedfix(transformer): SWC 호환 IIFE 패턴 (parent 매개변수 + fresh identifier)
ohah/zts#691mergedfix(transformer): IIFE 내부 함수에 별도 이름 (_ClassName) + classCallCheck
ohah/zts#690mergedfix(emitter): named fn expr base name 매칭 수정
ohah/zts#689mergedfeat(linker): --global-identifier 예약 전역 식별자 (레퍼런스 호환)
ohah/zts#688mergedfix(emitter): Hermes named function expression 이름 충돌 방지
ohah/suji#8merged@suji/node SDK 추가 + 예제 전환
ohah/suji#7merged문서 동기화 + suji.json JSON Schema 추가
ohah/zts#687mergedfix(emitter): __esm 호이스팅 function 이름 충돌 방지 (Hermes)