2026-04-12
요약 (AI 작성)
오늘은 ZTS 서브모듈을 24개 커밋으로 업데이트하고 worklet 기능을 대폭 개선했습니다. ZTS에서 CJS re-export default 해결을 위해 canonical export name을 사용하고, object method/getter/setter bodies를 closure analysis에 순회하도록 수정했습니다. ES5에서 class fields를 super() 호출 후 constructor body 이전에 삽입하는 순서를 개선했습니다. worklet에서는 traverse 시 directive stripping, pre-visit body with expanded JS_GLOBALS, closure analysis shadowing bug 수정, assignment_expression을 collectBindingNames에 처리, ES5 lowering skip, TS/Flow node stripping, auto-workletization for known function callees 등 다양한 버그 수정을 진행했습니다. if_statement/try_statement/for_in에서 ternary data를 사용하도록 수정하고, original binding_identifier span을 scope hoisting rename에 사용했습니다. Bungae에서는 ZTS 서브모듈을 24번 업데이트하고, reanimated/worklet을 Babel plugin detection에서 제거, strictExecutionOrder를 RN preset에 추가, worklet 통합 테스트 6개를 추가했습니다. 또한 worklet __stackDetails를 추가해 dev mode crash를 수정하고, worklet 테스트 37개와 default param fix를 진행했습니다.
커밋
ohah/bungae
- chore: update ZTS submodule and bun.lock
- chore: ZTS 서브모듈 업데이트 (worklet scope hoisting rename + edge case tests)
- chore: ZTS 서브모듈 업데이트 (worklet symbol_id copy for rename)
- chore: ZTS 서브모듈 업데이트 (unary_expression data.extra 수정)
- refactor: remove reanimated/worklet from Babel plugin detection
- chore: ZTS 서브모듈 업데이트 (NAPI closure original body 수정)
- chore: ZTS 서브모듈 업데이트 (arrow worklet plugin dispatch fix)
- chore: ZTS 서브모듈 업데이트 (dispatchFunctionPlugins 헬퍼 추출 + original_body_idx 수정)
- chore: ZTS 서브모듈 업데이트 (worklet 통합 테스트 6개 추가)
- chore: ZTS 서브모듈 업데이트 (worklet __closure scope hoisting rename fix)
- chore: ZTS 서브모듈 업데이트 (if_statement ternary data format 수정)
- chore: ZTS 서브모듈 업데이트 (ternary data format + edge case tests)
- fix: add strictExecutionOrder to bungae RN preset
- chore: ZTS 서브모듈 업데이트 (원본 AST closure 분석)
- chore: ZTS 서브모듈 업데이트 (nested closure walk + visitFunction body fix + tests)
- chore: ZTS 서브모듈 업데이트 (arrow worklet assignment_target_identifier param fix)
- chore: ZTS 서브모듈 업데이트 (worklet arrow closure ES5 helper fix)
- chore: ZTS 서브모듈 업데이트 (worklet closure name use-after-free fix)
- chore: ZTS 서브모듈 업데이트 (worklet pre-visit body — remote function deadlock fix)
- chore: ZTS 서브모듈 업데이트 (worklet initData pre-visit body fix)
- chore: ZTS 서브모듈 업데이트 (worklet body ES5 lowering skip)
- chore: ZTS 서브모듈 업데이트 (zig fmt + 이슈 등록)
- chore: ZTS 서브모듈 업데이트 (worklet 테스트 37개 + default param fix)
- chore: ZTS 서브모듈 업데이트 (worklet __stackDetails 추가 — dev mode crash fix)
- chore: ZTS 서브모듈 업데이트 (function worklet closure ES5 helper fix)
- chore: ZTS 서브모듈 업데이트 (worklet codegen TS stripping + pre-visit body)
- chore: ZTS 서브모듈 업데이트 (worklet pre-visit body + expanded JS_GLOBALS)
- chore: ZTS 서브모듈 업데이트 (arrow default param worklet fix)
ohah/zts
- fix(linker): use canonical export name for CJS re-export default resolution
- fix(worklet): traverse object method/getter/setter bodies in closure analysis
- fix(es5): insert class fields after super() call, before constructor body
- fix(worklet): use pre-visit body with expanded JS_GLOBALS
- fix(worklet): fix closure analysis shadowing bug in method traversal
- fix(worklet): handle assignment_expression in collectBindingNames
- feat(worklet): auto-workletization for known function callees
- fix(worklet): save/restore auto_worklet_next flag to prevent nested call leaking
- fix(worklet): strip directive from visited body to preserve inner auto-worklet
- fix(codegen): add Flow expression node stripping alongside TS
- fix(worklet): skip ES5 lowering inside worklet function bodies
- fix(worklet): add TS node stripping to codegen for pre-visit body
- chore: zig fmt
- test(worklet): add comprehensive test coverage for all fixes
- chore(worklet): clarify dual-strip comment in worklet plugin
- fix(worklet): if_statement/try_statement/for_in use ternary data, not extra
- fix(worklet): use original binding_identifier span for scope hoisting rename (#1110)
- fix(worklet): add plugin dispatch for arrow→function lowering
- refactor(worklet): extract dispatchFunctionPlugins helper + fix original_body_idx
- test(worklet): add integration tests for worklet transformation
- chore: run zig fmt on 4 files
PR (해당일 생성/머지)
(없음)