2026-04-07
요약 (AI 작성)
오늘은 ZTS 프로젝트에서 kangax compat-table ES5 다운레벨링 99% 달성과 SWC 비교 테스트 CI 추가를 완료했습니다. class field _this 캡처, let→var void 0 초기화, __rest Symbol 복사 등 ES5 변환 버그를 수정하고, shimMissingExports와 RN 프리셋 정렬을 개선했습니다. 또한 sourcemapDebugIds와 using/await using 다운레벨링 기능을 추가했습니다. Bungae 프로젝트에서는 RN 번들러의 global 폴백, 에셋 복사, 플랫폼 스케일 필터 등을 수정했습니다. 블로그에는 ZTS 개발기 3-9, 3-10편(ES5 완성 + RN 플랫폼 + 최종 성능)을 추가했습니다.
커밋
ohah/zts
- fix(core): dev mode dependency map — CJS require() 상대 경로 resolve
- fix(core): dev mode factory에 require 파라미터 추가 — CJS require() 호환
- chore: 주석의 __zts_exports → exports 정리
- fix(core): dev mode factory 파라미터 module/exports로 변경 — CJS 호환
- fix(test): IncrementalBundler 테스트에 collect_module_codes=true 추가
- fix(core): dev mode OOM 수정 — $RefreshSig$ 스캔 제거 + collect_module_codes 옵션
- feat(core): --dev 모드 + HMR 런타임 RN 적응 + watch-json updates 필드
- fix(ci): src/** 변경 시에도 문서 사이트 재배포
- fix(wasm): 첫 번째 에러만 표시 — 후속 복구 에러 노이즈 제거
- fix(wasm): 에러 메시지에 줄번호/컬럼/소스 코드 표시
- feat(playground,core): Monaco 에러 마커/자동완성 + Plugin Context API
- docs(core): add English JSDoc to all public API exports
- fix(docs): API Reference를 레퍼런스에서 분리하여 별도 사이드바 섹션으로
- fix(docs): CI에서 TypeDoc 빌드 실패 수정
- fix(playground): Monaco 에디터 드래그 문제 근본 수정
- feat(docs): 성능 벤치마크 페이지 + API 레퍼런스 자동 생성 + Monaco 드래그 수정
- chore: oxfmt에서 compat-table-report.json 제외
- style: zig fmt
- feat(semantic): private names 시맨틱 체크 정확도 향상
- fix(docs): 오른쪽 TOC 좌우 패딩 추가
- fix(playground): 사이드바 유지 + ES2024/ES2025 타겟 추가
- feat(docs): Playground v3 — 커스텀 페이지 + Tailwind + links-validator
- fix(playground): 네거티브 마진 제거 — content 영역 넘침 수정
- fix(playground): content-panel/right-sidebar 완전 제거 — 풀스크린
- fix(playground): 오른쪽 TOC 목차 숨김
- fix(playground): 페이지 타이틀 숨김 + content 패딩 제거
- feat(wasm): CLI 트랜스파일 옵션 전체 WASM 바인딩 추가
- fix(docs): content 영역 폭 제한 강화 해제
- fix(docs): 모든 페이지 content 영역 풀사이즈로 변경
- fix(playground): Monaco 커서 깨짐 + content 영역 폭 제한 해제
- fix(playground): Monaco 에디터 블록/커서 위치 깨짐 수정
- fix(playground): stale closure 버그 수정 — 입력 변경 시 출력 업데이트
- feat(playground): SWC 스타일 풀스크린 Playground UI
- feat(docs): 사이드바 전 페이지 표시 + 한국어/영어 i18n 지원
- fix(docs): WASM 경로 수정 + 파일명 zts-core.wasm으로 변경
- fix(semantic): tsc 호환 — 시맨틱 에러 시에도 output 생성 + constructor overloads 허용
- feat(docs): Monaco Editor 적용 + TSC 테스트 known limitation 처리
- feat(docs): Starlight 문서 사이트 + WASM Playground 구축
- fix(core): build() API의 outfile 읽기에서 readFile 미정의 버그 수정
- refactor(wasm): /simplify 리뷰 반영 — 코드 품질 개선
- style: oxfmt 포매팅 적용
- fix(wasm): 테스트 assertion을 실제 출력에 맞게 수정
- feat(wasm): wasm32-wasi 트랜스파일 모듈 구현
- refactor(cli): 전체 에러 경로에 non-zero exit code 적용
- style: 미사용 import 제거 + oxfmt 적용
- feat(config): 설정 파일 옵션 확장 + JS Build API + 에러 exit code 수정
- refactor(preserve-modules): /simplify 리뷰 반영 — 코드 중복 제거 및 품질 개선
- style: oxfmt 포매팅 적용
- feat(bundler): --preserve-modules 구현 (Rollup/Rolldown 호환)
- fix(class): super 없는 class field에서 this→_this 잘못 치환되는 버그 수정 + compat-table 의존성 추가
- test(decorator): emitDecoratorMetadata 테스트 커버리지 강화 (SWC 기준 12개 추가)
- feat(decorator): emitDecoratorMetadata 구현
- feat(decorator): emitDecoratorMetadata 구현 (SWC 호환)
- test(decorator): 레거시 데코레이터 e2e 테스트 15개 추가 + ROADMAP 배치 E 완료 반영
- feat(cli): 배치 E — CLI 옵션 13개 일괄 추가
- docs(STRUCTURE): 리팩토링 반영 — 서브 모듈 폴더 구조 추가
- refactor(linker): metadata 빌드 → linker/metadata.zig 분리 (997줄)
- refactor(transformer): class+decorator → transformer/class_decorator.zig 분리 (1,294줄)
- refactor(transformer): React Fast Refresh → transformer/refresh.zig 분리 (530줄)
- style: zig fmt
- refactor(bundler): emitter.zig → emitter/ 폴더 분리 (3,086줄 → 4개 파일)
- refactor(test): codegen_test.zig → codegen_test/ 폴더 분리 (4,649줄 → 9개 파일)
- refactor(test): bundler_test.zig → bundler_test/ 폴더 분리 (13,649줄 → 13개 파일)
- docs(ROADMAP): using/sourcemapDebugIds 완료 반영 + 번들러 인프라 미구현 테이블 추가
- chore: bun.lock 업데이트 (@swc/cli, @swc/core 추가)
- feat: sourcemapDebugIds + using/await using 다운레벨링
- docs: 세션 성과 반영 — Phase 24~26, compat-table/SWC 테스트, shimMissingExports
- feat(test): ZTS vs SWC ES5 다운레벨링 비교 테스트 + CI
- fix(transformer): class field arrow function의 _this 캡처 누락 수정
- fix(transformer): let → var 변환 시 = void 0 초기화 누락 수정
- fix(runtime): __rest에서 Symbol 프로퍼티 복사 누락 수정
- refactor: /simplify 리뷰 반영 — super this 헬퍼 추출, generator proto Symbol 안전성
- fix(test): 트랜스파일러 통과 불가능한 compat-table 테스트 스킵
- feat(transformer): kangax compat-table 테스트 러너 + ES5 다운레벨링 99% 달성
- fix(linker): self-require/re-export 자기참조 방지 + shimMissingExports + RN 프리셋 정렬
- style: oxfmt 포맷 수정
- fix(linker): ESM default re-export에서 __toESM 누락으로 CJS .default가 undefined (#812)
ohah/bungae
- feat(zts-bundler): ZTS 커스텀 HMR 구현 — 레퍼런스 방식
- fix(zts-bundler): global 폴백 추가 — 폴리필이 참조하는 global 보장
- fix(zts-bundler): global → BUNGAE_GLOBAL 치환 (롤다운 호환)
- fix(zts-bundler): IIFE 주석 정리 — RN은 자체 JS 컨텍스트 사용
- fix(zts-bundler): 에셋 복사 + 플랫폼 스케일 필터 + WebP/BMP 치수 + codegen 가이드
ohah/ohah.github.io
- docs: 오늘의 커밋 3/28~4/6 일괄 추가 (10일분)
- docs: 오늘의 커밋 2026-04-07 추가 — ZTS kangax 99%, Bungae RN 수정
- docs: ZTS 개발기 3-9, 3-10 추가 — ES5 다운레벨링 완성 + RN 플랫폼 + 최종 성능