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
- docs: #1779 ModuleGraph invariants 문서화
- refactor(bundler): ModuleGraph 의 SegmentedList 타입을 ModuleList 상수로 추출
- refactor(bundler): #1779 Phase 3 — ModuleGraph.modules 를 std.SegmentedList 로 교체
- refactor(bundler): #1779 Phase 2 /simplify 반영
- refactor(bundler): #1779 Phase 2b — Module.addDependency → ModuleGraph.linkDependency
- refactor(bundler): #1779 Phase 2a — Linker/TreeShaker/chunk/emitter 의 slice API 제거
- refactor(bundler): #1779 Phase 1b — test 코드 modules.items 를 accessor 경유로 교체
- refactor(bundler): #1779 Phase 1b — prod 코드 modules.items 를 accessor 경유로 교체
- refactor(bundler): #1779 Phase 1a — ModuleGraph phase-tagged accessor 뼈대
- fix(emitter): esm_wrap Codegen init 에 import_records 전파
- fix(transformer): JSX attribute 이름이 non-identifier 면 string_literal 로 lower
- feat(codegen): #1579 Phase 3 — require.context webpackContext IIFE emit
- feat(parser): #1579 Phase 2.6 — define table evaluator for require.context (process.env.X)
- feat(core): #1579 Phase 2.5 — NAPI bridge for onResolveContext plugin hook
- feat(bundler): #1579 Phase 2 — require.context host plugin hook + graph processing
- feat(bundler): #1579 Phase 1 — require.context AST detection + literal eval
- test(tsc): expectError → expectPass for type-checker-only fixtures
- refactor(parser): port TS isUnambiguouslyIndexSignature + diagnostics
- fix(parser): support computed property key in TS object type literal
- refactor(mangler): #1760 Step 3c — unified Phase B replaces metadata nested
- style: oxfmt mangler-property.ts printFixture wrap
- refactor(mangler): #1760 Step 3b — prune shadow-collect infra
- feat(mangler): #1760 Step 3a — unified mangleAll as computeMangling core
- feat(bundler): #1760 unified mangler shadow collection
- feat(mangler): #1760 unified mangler skeleton
- style: oxfmt --check 통과용 mangler-property.ts 포맷
- feat(bundler): #1760 mangler property measurement harness
- refactor(mangler): /simplify — #1758 reserveNameFor 헬퍼 추출 + 테스트 간소화
- fix(mangler): #1757 nested mangler 가 top-level canonical_name 을 reserved 로 인식
- fix(generator): #1756 __generator(body, genFn) 의 genFn 이름에 symbol_id 전파
- fix(runtime): #1755 GENERATOR_RUNTIME_MIN 닫는 brace 누락으로 RN+minify 번들 파싱 실패
- fix(linker): #1754 analyzeNamespaceAccess opaque 경로 ArrayList leak
- refactor(arch): #1752 runtime helper 이름 테이블 공용 모듈 분리
- fix(bundler): #1751 RN + minify 조합 4가지 연쇄 크래시/문법 버그
ohah/bungae
- chore(ExpoApp): dev server port 8082 → 8081
- chore(examples): ExpoApp 을 bungae:start:expo 로 실행 가능하도록 설정
- chore(zts): bump submodule to #1579 Phase 3 (require.context emit)
- feat(zts-bundler): require.context 지원 — onResolveContext plugin + Expo Router define entries
ohah/ohah.github.io
- docs(cron): fix Korean punctuation in crd/background.mdx and update checklist
- docs(cron): mark crd/development.mdx as checked
- cron: mark craby/development-3.mdx as checked
- cron: mark craby/development-2.mdx as checked
- docs: mark craby/development.mdx as spell-checked
- docs: fix spelling in craby/background.mdx
- chore: mark docs/monthly-opensource/chromium/setup.mdx as checked (no edits)
- chore: mark chromium/merge.mdx as checked in CRON_CRD_WRITE.md
- chore: mark chromium/first-contribution.mdx as checked in crd-write cron
- docs(cron-crd): check chromium/background.mdx - no spelling/spacing/typos
- chore: mark chromium/code-review.mdx as checked in crd-write cron
- docs: add today-commit for 2026-04-21 to _meta.json
- cron: mark cheolsu-proxy/tech-stack.mdx checked (no corrections)
- cron: mark development-11.mdx as checked off
- cron: correct orthography in development-11.mdx (cheolsu-proxy)
- docs: 맞춤법 교정 - cheolsu-proxy/development-9.mdx
- fix: development-7.md - IPv6 bracket → 괄호 처리
- chore: CRON update - development-8.mdx checked
- docs: 맞춤법 교정 - development-8.mdx
- chore(crd): update CRON_CRD_WRITE.md - checked development-7.mdx
- chore(cron): mark development-6.mdx as checked
- crd-write: spell check development-2.mdx
- chore(cron): mark docs/monthly-opensource/cheolsu-proxy/development-1.mdx as checked
- cron: mark cheolsu-proxy/development.mdx as checked
- chore: mark background.mdx as checked in crd-write cron
- docs: mark docs/index.mdx as spell-checked (no Korean text)
- cron: update checklist for all docs .mdx files checked (66 files)
- docs: update CRON_CRD_WRITE.md checklist status
- docs: CRON_CRD_WRITE.md - development.mdx 체크 갱신 (2026-04-23)
- cron: mark 2026-04-23 final verification complete
- chore: mark blog-crd-write cron task as completed
- docs: add summary for 2026-04-22