2026-04-23

요약 (AI 작성)

오늘은 주로 zts 프로젝트의 #1779 ModuleGraph 리팩토링과 #1579 require.context 기능 구현에 집중했습니다. ModuleGraph의 slice API를 접근자(Accessor) 패턴으로 교체하고 SegmentedList로 타입을 정제하는 작업이 주요 변경사항이며, require.context은 AST 감지부터 코드 생성까지 4단계에 걸쳐 구현되었습니다. 동시에 bungae 프로젝트에서는 ExpoApp 실행 방식 개선과 zts 서브모듈 업데이트를 진행했습니다. ohah.github.io 쪽에서는 craby, crd, cheolsu-proxy, chromium 프로젝트의 문서를 맞춤법 교정하고 크론 작업 체크리스트를 관리하는 데 집중했습니다.

커밋

ohah/zts

ohah/bungae

ohah/ohah.github.io

PR (해당일 생성/머지)

repo#상태제목
ohah/zts#1785mergeddocs: #1779 ModuleGraph invariants 문서화
ohah/zts#1784mergedrefactor(bundler): ModuleGraph 의 SegmentedList 타입을 ModuleList 상수로 추출
ohah/zts#1783mergedrefactor(bundler): #1779 Phase 3 — ModuleGraph.modules 를 std.SegmentedList 로 교체
ohah/zts#1782mergedrefactor(bundler): #1779 Phase 2 — []Module slice API 완전 제거
ohah/zts#1781mergedrefactor(bundler): #1779 Phase 1b — modules.items call site 를 accessor 경유로 교체
ohah/zts#1780mergedrefactor(bundler): #1779 Phase 1a — ModuleGraph phase-tagged accessor 뼈대
ohah/zts#1778closedfeat(bundler): #1579 Phase 4 — require.context matches 를 graph dep + tree-shake root
ohah/zts#1777mergedfix(emitter): esm_wrap Codegen init 에 import_records 전파 — require.context IIFE emit
ohah/zts#1776mergedfix(transformer): JSX attribute 이름이 non-identifier 면 string_literal 로 lower
ohah/bungae#72mergedchore(ExpoApp): dev server port 8082 → 8081 (ExampleApp 과 통일)
ohah/bungae#71mergedchore(examples): ExpoApp 을 bungae:start:expo 로 실행 가능하도록 설정
ohah/zts#1775mergedfeat(codegen): #1579 Phase 3 — require.context webpackContext IIFE emit
ohah/bungae#70mergedfeat(zts-bundler): require.context 지원 — onResolveContext plugin + Expo Router define entries
ohah/zts#1774mergedfeat(parser): #1579 Phase 2.6 — define table evaluator for require.context (process.env.X)
ohah/zts#1773mergedfeat(core): #1579 Phase 2.5 — NAPI bridge for onResolveContext plugin hook
ohah/zts#1772mergedfeat(bundler): #1579 Phase 2 — require.context host plugin hook + graph processing
ohah/zts#1770mergedfeat(bundler): #1579 Phase 1 — require.context AST detection + literal eval
ohah/zts#1768mergedfix(parser): support computed property key in TS object type literal
ohah/zts#1766mergedrefactor(mangler): #1760 Step 3c — unified Phase B replaces metadata nested
ohah/zts#1765mergedrefactor(mangler): #1760 Step 3b — prune shadow-collect infra
ohah/zts#1764mergedfeat(mangler): #1760 Step 3a — mangleAll as computeMangling core
ohah/zts#1763mergedfeat(bundler): #1760 unified mangler shadow collection (Step 2)
ohah/zts#1762mergedfeat(mangler): #1760 unified mangler skeleton (Phase 1)
ohah/zts#1761mergedfeat(bundler): #1760 mangler property measurement harness
ohah/zts#1759mergedrefactor(mangler): /simplify — #1758 reserveNameFor 헬퍼 + 테스트 간소화
ohah/zts#1758mergedfix(mangler): #1757 nested mangler 가 top-level canonical_name 을 reserved 로 인식
ohah/zts#1756mergedfix(generator): #1756 __generator(body, genFn) 의 genFn 이름에 symbol_id 전파
ohah/zts#1755mergedfix(runtime): #1755 GENERATOR_RUNTIME_MIN 닫는 brace 누락으로 RN+minify 파싱 실패
ohah/zts#1754mergedfix(linker): #1754 analyzeNamespaceAccess opaque 경로 ArrayList leak
ohah/zts#1753mergedrefactor(arch): #1752 runtime helper 이름 테이블 공용 모듈 분리 (역의존 정리)
ohah/zts#1752closedrefactor(arch): #1752 runtime helper 이름 테이블 공용 모듈 분리 (역의존 정리)
ohah/zts#1751mergedfix(bundler): #1751 RN + minify 조합 크래시/문법 4가지 fix