2026-04-25

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

zntc는 브라우저에서 번들러를 돌리는 작업을 하루 만에 Playground까지 끌고 갔습니다. 번들러가 std.fs를 직접 부르던 곳을 FileSystem 추상화로 감싸 graph·resolver·package.json 읽기를 옮기고(#1915, #1917, #1918, #1923), 해석 결과를 ResolvedModule union으로 통일했습니다(#1925, #1931 등). 이어 호스트 JS 콜백에 위임하는 VirtualFS(#1935), wasm-bundler 빌드 타깃(#1937), JS VirtualFileSystem과 COOP/COEP 설정(#1939), 실제 Bundler.bundle()을 부르는 WASM build()(#1946)를 병합했고, 크기 측정 결과에 따라 transpile 전용과 번들러 바이너리를 나누기로 문서화했습니다(#1947). Playground에는 여러 파일을 입력하는 bundler 페이지(#1948)가 생겨 format·platform·minify 옵션, 청크 뷰어와 코드 분할, external과 preset, UMD/AMD, Share 버튼, transpile 옵션 전체가 차례로 붙었습니다(#1951, #1953, #1954, #1957, #1958). 옵션 조합 회귀 검증 스크립트를 CI에 넣고(#1966), WASM 번들러 에러를 표준 진단 형식으로 맞췄습니다(#1967).

번들러 기능으로는 inlineDynamicImports의 런타임 registry(#1861), external 모듈을 그래프의 phantom 모듈로 등록하는 Rollup parity(#1863, #1865), manualChunks meta의 hasModuleSideEffects·code 등 Rollup ModuleInfo 필드 확장(#1867, #1876, #1879)이 들어왔습니다. iOS 26.4 Hermes 부팅 실패에 대응해 RN 프리셋에 엔트리 에러 가드를 넣고 콘솔 에러 무시 패턴을 별도 옵션으로 나눴으며(#1864, #1878), 번들 성능 회귀 가드를 CI에 붙였습니다(#1873, #1875).

ES5 async 다운레벨링에서는 if 안 await가 상태 기계에서 자기 자신으로 도는 문제(#1888), 복합 대입과 for-await-of var 호이스팅(#1904), async 함수의 this 바인딩과 yield* iterable 래핑(#1914), async generator의 __asyncGenerator 변환(#1919)을 고치고 번들러 통합·Hermes 런타임 회귀 테스트를 더했습니다(#1916). export * as ns 재수출이 자기 재귀하던 문제의 namespace 변수 호이스팅(#1936)과 fallback disabled 결과 무시(#1945)도 수정했습니다.

bungae는 ZTS의 엔트리 에러 가드와 Expo 전용 콘솔 에러 패턴을 연결하고, withExpo() 래퍼와 무설정 감지, bungae init을 추가했습니다. 위 async 수정들을 따라 서브모듈을 여러 번 올렸고, Astro Starlight 문서 사이트와 GitHub Pages CI를 새로 만들었습니다. ohah.github.io에는 4월 24·25일 오늘의 커밋 요약이 올라왔습니다.

공개 커밋 105개, 해당일 생성 또는 병합된 PR 69개를 정리했습니다. PR 생성 69개·병합 69개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/bungae

ohah/ohah.github.io

ohah/zntc

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

저장소PR해당일 활동상태대상 브랜치제목
ohah/zntc#1967생성 · 병합mergedmainfix(wasm bundler): 에러 메시지를 ZTS 표준 진단 형식으로 통일 (Closes #1965)
ohah/zntc#1966생성 · 병합mergedmainchore(bundler): 옵션 매트릭스 회귀 검증 스크립트 + CI step 추가 (#1885)
ohah/zntc#1959생성 · 병합mergedmainfix(playground): bundler preset 변경 시 사용자 옵션 보존 (#1885)
ohah/zntc#1958생성 · 병합mergedmainfeat(playground): bundler 에 transpile 옵션 전체 노출 (target/jsx/decorators/sourcemap) (#1885)
ohah/zntc#1957생성 · 병합mergedmainfeat(playground): bundler Share 버튼 — multi-file VFS + opts URL 공유 (#1885)
ohah/zntc#1956생성 · 병합mergedmainfeat(playground): bundler UMD/AMD + 에러 메시지 노출 (#1885 follow-up)
ohah/zntc#1955생성 · 병합mergedmainfix(playground): preset 즉시 rebuild + bundler CJS/IIFE preset (#1885 follow-up)
ohah/zntc#1954생성 · 병합mergedmainfeat(playground): bundler external 옵션 UI + dynamic-import / external preset (#1885 PR 10)
ohah/zntc#1953생성 · 병합mergedmainfeat(playground): bundler chunk viewer + code-splitting / preserve-modules 옵션 (#1885 PR 9-4)
ohah/zntc#1952생성 · 병합mergedmainfeat(wasm): bundler ABI build_chunks — multi-output 노출 (#1885 PR 9-2)
ohah/zntc#1951생성 · 병합mergedmainfeat(playground): bundler 옵션 패널 — format/platform/minify (#1885 PR 9-3)
ohah/zntc#1950생성 · 병합mergedmainfeat(wasm): bundler ABI 옵션 JSON 확장 — format/platform/external/minify (#1885 PR 9-1)
ohah/zntc#1949생성 · 병합mergedmainfix(playground): bundler SharedArrayBuffer decode + Transpile→Bundler 진입 링크 (#1885)
ohah/zntc#1948생성 · 병합mergedmainfeat(playground): bundler 페이지 + multi-file 입력 UI (#1885 Phase 3 PR 8)
ohah/zntc#1947생성 · 병합mergedmainfeat(wasm): WASM 빌드 사이즈 측정 + 분리 전략 문서화 (#1885 PR 7, Closes #1899)
ohah/zntc#1946생성 · 병합mergedmainfeat(wasm): bundler build() 가 bundler.bundle() 실 호출 (#1885 PR 6-2c-2c)
ohah/zntc#1945생성 · 병합mergedmainfix(bundler): resolve_cache 가 fallback disabled 결과 무시 (#1885)
ohah/zntc#1944생성 · 병합mergedmainfix(bundler): page_allocator → self.allocator (#1885 Phase 2 PR 6-2c-2b)
ohah/zntc#1943생성 · 병합mergedmainfeat(bundler): wasm-bundler 빌드 호환성 (#1885 Phase 2 PR 6-2c-2a)
ohah/zntc#1941생성 · 병합mergedmainfeat(wasm): bundler build() minimal export + JS bridge round-trip 검증 (#1885 Phase 2 PR 6-2c-1)
ohah/zntc#1939생성 · 병합mergedmainfeat(wasm): JS VirtualFileSystem + zts_fs imports + Astro COOP/COEP (#1885 Phase 2 PR 6-2b)
ohah/zntc#1937생성 · 병합mergedmainfeat(build): wasm-bundler 빌드 target 추가 (#1885 Phase 2 PR 6-2a)
ohah/zntc#1936생성 · 병합mergedmainfix(linker, tree_shaker): hoist re_export_namespace ns_var + recover tree-shake (#1928)
ohah/zntc#1935생성 · 병합mergedmainfeat(bundler): VirtualFS host JS callback 위임 구현 (#1885 Phase 2 PR 6-1)
ohah/zntc#1934생성 · 병합mergedmainrefactor(bundler): resolveAsModule → resolve rename cleanup (#1885)
ohah/zntc#1933생성 · 병합mergedmainfeat(bundler): plugin runner resolveId union 직접 반환 (#1885 Phase 1 PR 5-1)
ohah/zntc#1932생성 · 병합mergedmaintest(integration): runtime regression suite for ns shadow self-recursion (#1928)
ohah/zntc#1931생성 · 병합mergedmainfeat(bundler): resolve_cache 직접 union + 변환 layer 제거 (#1885 Phase 1 PR 4d)
ohah/zntc#1930생성 · 병합mergedmainfeat(bundler): graph.zig → ResolvedModule (#1885 Phase 1 PR 4c-2)
ohah/zntc#1929생성 · 병합mergedmainfeat(bundler): resolve_cache.resolveAsModule API (#1885 Phase 1 PR 4c-1)
ohah/zntc#1927생성 · 병합mergedmainfeat(bundler): resolve_cache → ResolvedModule (#1885 Phase 1 PR 4b)
ohah/zntc#1925생성 · 병합mergedmainfeat(bundler): ResolvedModule union(enum) 도입 (#1885 Phase 1 PR 4a)
ohah/zntc#1923생성 · 병합mergedmainrefactor(bundler): pkg_json path-based 시그니처 — fs 추상화 완성 (#1921)
ohah/zntc#1922생성 · 병합mergedmainrefactor(transformer): async generator cleanup — simplify findings
ohah/zntc#1920생성 · 병합mergedmaintest(hermes): polyfill Symbol.asyncIterator for vanilla Hermes runs
ohah/zntc#1919생성 · 병합mergedmainfix(transformer): async generator (async function*) → __asyncGenerator (#1911)
ohah/zntc#1918생성 · 병합mergedmainfeat(bundler): resolver.zig fs 호출 → fs.* 추상화 (#1885 Phase 1 PR 3)
ohah/zntc#1917생성 · 병합mergedmainfeat(bundler): graph.zig fs 호출 → fs.* 추상화 마이그레이션 (#1885 Phase 1 PR 2)
ohah/zntc#1916생성 · 병합mergedmaintest: bundler integration + Hermes runtime regression suite
ohah/zntc#1915생성 · 병합mergedmainfeat(bundler): FileSystem 추상화 + RealFS (#1885 Phase 1 PR 1)
ohah/zntc#1914생성 · 병합mergedmainfix(transformer): async this binding (#1909) + yield* iterable wrap (#1910)
ohah/zntc#1908생성 · 병합mergedmainrefactor(transformer): extract makeAssignExpr/Stmt + Parser.hasErrors
ohah/zntc#1907생성 · 병합mergedmaintest(infra): e2eFull errors on parser diagnostics
ohah/zntc#1905생성 · 병합mergedmainchore(tools): NAPI callback hot-path bench (#1891)
ohah/zntc#1904생성 · 병합mergedmainfix(transformer): async edge cases — compound +=, for-await-of var hoist
ohah/zntc#1890생성 · 병합mergedmainrefactor(transformer): if-await fix follow-up — simplify findings applied
ohah/zntc#1888생성 · 병합mergedmainfix(transformer): if-await self-loop in ES5 generator state machine
ohah/zntc#1886생성 · 병합mergedmainrefactor(types): ModuleInfo ExportBinding 타입 leak 제거
ohah/zntc#1884생성 · 병합mergedmaindocs: manualChunks epic 동기화 (ROADMAP + Astro guide)
ohah/zntc#1882생성 · 병합mergedmainchore(types): Phase A placeholder docstring 에 #1880 link
ohah/zntc#1879생성 · 병합mergedmainfeat(napi): manualChunks meta Phase A — 5 필드 추가 (Rollup 64% → 93%)
ohah/zntc#1878생성 · 병합mergedmainfeat(bundler): split silentConsoleErrorPatterns from entryErrorGuard
ohah/zntc#1877생성 · 병합mergedmainfix(bench): p95 선형 보간 (/simplify 후속)
ohah/zntc#1876생성 · 병합mergedmainfeat(napi): manualChunks meta 에 code 필드 추가 (Rollup parity)
ohah/zntc#1875생성 · 병합mergedmainci: bundle-perf.ts 통합 + --no-fail/--output 플래그
ohah/zntc#1874생성 · 병합mergedmaindocs(bundler): correct entry_error_guard root-cause attribution
ohah/zntc#1873생성 · 병합mergedmainfeat(bench): bundle perf 회귀 가드 인프라 + baseline
ohah/zntc#1872생성 · 병합mergedmainperf(bundler): pass *const EmitOptions throughout (sweep)
ohah/zntc#1871생성 · 병합mergedmainperf(bundler): pass *const EmitOptions to guard helpers
ohah/zntc#1870생성 · 병합mergedmaintest(manualChunks): hasModuleSideEffects 누락 테스트 3개 보강
ohah/zntc#1869생성 · 병합mergedmainchore(test): drop unused writeFileSync import
ohah/zntc#1868생성 · 병합mergedmaintest(manualChunks): 회귀 가드 + 스모크 테스트 13개 추가
ohah/zntc#1867생성 · 병합mergedmainfeat(napi): manualChunks meta 에 hasModuleSideEffects 추가 (Rollup parity)
ohah/zntc#1866생성 · 병합mergedmainrefactor(bundler): entry_error_guard cleanup (3 commits)
ohah/zntc#1865생성 · 병합mergedmainfix(chunk): external phantom 이 chunk 배정 받지 못하도록 가드
ohah/zntc#1864생성 · 병합mergedmainfeat(bundler): add entry_error_guard for RN preset (iOS 26.4 boot fix)
ohah/zntc#1863생성 · 병합mergedmainfeat(bundler): external 모듈을 phantom Module 로 graph 에 등록 (Rollup parity)
ohah/zntc#1862생성 · 병합mergedmainrefactor(chunk): generateChunks 8 positional → GenerateOptions struct
ohah/zntc#1861생성 · 병합mergedmainfeat(bundler): inlineDynamicImports B 범위 — 런타임 registry (__esm/CJS)