2026-04-14
요약 (AI 작성)
오늘은 Metro 호환 babelTransformerPath, 자동 Babel plugin detection, TypeScript declaration 생성, browserslist build API, private class 다운레벨링, #x in obj Ergonomic Brand Check, RN preset ES5 매트릭스 확장, Hermes unsupported matrix 강제 오버라이드 등 다양한 기능을 추가하고 버그를 수정했습니다. Bungae에서는 Metro-compatible babelTransformerPath와 자동 Babel plugin detection을 구현하고 ZTS submodule 1번 bump했습니다. ZTS에서는 TypeScript declaration 생성, browserslist를 optional 의존성으로 전환하고 build API를 구현했습니다. private class 다운레벨링에서 constructor 중복 emit를 수정하고, static #field 다운레벨링, standalone _method_fn 내부의 this.#field 미변환을 개선했습니다. #x in obj Ergonomic Brand Check 다운레벨링을 구현하고, arrow function params를 formal_parameters로 정규화했습니다. for-of/for-in destructuring + block_scoping void 0 init 추가를 보완하고, RN preset에 block_scoping(let/const → var)와 arrow → function 다운레벨을 추가했습니다. RN preset을 ES5 매트릭스로 확장하여 필드별 명시 작성을 했고, --platform=react-native에서 Hermes unsupported matrix를 강제 오버라이드했습니다. 또한 __generator sent() re-throws, re-export getter canonical name, hoisted function bodies sourcemap, private member + static block 공존 static block 다운레벨 등 버그를 수정했습니다.
커밋
ohah/bungae
ohah/zts
- feat(core): TypeScript declaration 생성 + browserslist build API 엣지 테스트
- refactor: /simplify #1271 — HookResult alias + lcss non-null 제거
- fix(core): browserslist를 optional 의존성으로 전환 + 정적 resolve 회피
- fix(transformer): #1275 private class 다운레벨 시 constructor 중복 emit 수정
- fix(bundle): __async 중복 주입 제거 + feat(compat): browserslist 지원
- feat(compat): kangax compat-table 기반 compat.zig 생성기 추가
- feat(build): BuildOptions.browserslist 실제 구현
- refactor: /simplify follow-up — FEATURE_MAP 보강 + BuildOptions 정리 + bench 커밋
- fix(transformer): #1278-1 standalone _method_fn 내부의 this.#field 미변환
- feat(transformer): #1278-2 static #field 다운레벨링 (class 보존 경로)
- refactor: /simplify — RN preset + #x in obj 중복 제거
- fix(bundler): #1291 require()로 참조되는 모듈을 tree-shake에서 보호
- Revert "fix(bundler): #1291 require()로 참조되는 모듈을 tree-shake에서 보호"
- feat(transformer): #x in obj Ergonomic Brand Check 다운레벨링
- refactor: /simplify — arrow params wrap helper + codegen listSep
- fix(parser): #1283 arrow function params를 formal_parameters로 정규화
- fix(transpile): arena-owned 리소스 defer-order segfault — CLI --minify 크래시
- chore: rename stale test name (#1267 closed)
- chore: update stale RN-preset comments after #1306/#1312 fixes
- fix(bundler): #1315 hoisted function bodies in __esm factory keep sourcemap mappings
- fix(bundler): #1299 RN preset에 block_scoping (let/const → var) 추가
- fix(transformer): #1302 for-of/for-in destructuring + block_scoping void 0 init 추가 안 함
- refactor(ast): #1283 후 cover grammar 잔재 dead 분기 제거
- refactor(bundler): RN preset을 ES5 매트릭스로 확장 (필드별 명시 작성)
- fix(bundler): #1299 RN preset에 arrow → function 다운레벨 추가
- refactor: /simplify — transformer destructuring 분기 통합 + 주석/오타 정리
- refactor(ast): variable_declaration kind를 typed enum으로 추출
- refactor(ast): /simplify — variable kind enum 후속 정리
- refactor(ast): /simplify — variableDeclarationKind 헬퍼 inline + dead bound 제거
- fix(semantic): arrow function parameter shadowing missed formal_parameters
- fix(bundler): #1306 __generator sent() re-throws on throw op
- fix(bundler): #1312 re-export getter resolves to canonical local name
- refactor(ast): function params 정규화 prep — Ast.functionParams 헬퍼 + TODO 마커
- fix(transformer): #1278-3 private member + static block 공존 시 static block 다운레벨 누락
- refactor: /simplify — private var name + descriptor object literal 공용화
- feat(bundler): --platform=react-native → Hermes unsupported matrix 강제 오버라이드
- fix(bundler): #1291 recoverable parser error는 모듈 스킵하지 않음
PR (해당일 생성/머지)
(없음)