2026-04-19
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
zntc는 이날 번들 크기를 줄이는 작업과 시맨틱 분석 구조 정리에 집중했습니다. 연속된 같은 종류의 선언을 하나로 합치는 minify(#1600)로 시작해, namespace 접근을 정밀하게 분석해 export * as M 재수출의 tree shaking을 개선하고(#1606, #1607), 텍스트 매칭 대신 스코프를 인식하는 namespace tree shaking으로 Effect 번들을 PR 기준 40% 줄였으며(#1617), 도달할 수 없는 문장 안의 namespace 멤버 접근은 사용으로 치지 않게 했습니다(#1627, #1628). minify 모드에서 __commonJS를 $cj로 줄이고(#1620), new Set() 같은 표준 빌트인 생성자를 순수로 인식합니다(#1625). 번들 전체 mangling을 미리 보는 --mangle-preview는 넣었다가 방향을 tree shaking 쪽으로 돌리며 되돌렸고(#1612, #1614), esbuild·rolldown과 minify 크기를 비교하는 스크립트와 svelte tree shaking 스모크 시나리오를 추가했습니다(#1611, #1629).
버그 수정으로는 건너뛴 문장이 빈 줄을 남기던 codegen 문제(#1605), mangler가 원래 이름으로 남는 매개변수 이름을 다른 슬롯에 다시 배정하던 충돌(#1610), 재할당되는 let의 초기값을 상수처럼 인라인하던 문제와 재할당 없는 let의 const 승격(#1615), 모듈을 넘는 default import의 mangling 이름 불일치(#1624), 단일 파일 --minify-identifiers에서 export가 사라지던 문제(#1635)가 있었습니다. 마지막으로 시맨틱 분석기에 참조별 배열을 다시 들이고, mangler의 liveness와 문장별 참조 캐시를 이 배열에서 만들도록 옮기는 4단계 작업을 마쳤습니다(#1636~#1639).
ohah.github.io에는 맞춤법 크론의 커밋 14개가 있었고, 대부분 상태 파일 갱신이며 몇 건은 본문 오탈자·띄어쓰기를 고쳤습니다.
공개 커밋 48개, 해당일 생성 또는 병합된 PR 23개를 정리했습니다. PR 생성 23개·병합 22개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/ohah.github.io
- docs(cron): mark craby/background.mdx as checked
- fix: correct spacing in electron-mcp-server/background.mdx
- cron: update CRON_CRD_WRITE.md checklist (all .mdx done, fix date to UTC)
- docs: mark all CRD write checks complete (2026-04-20)
- docs(cron-crd-write): mark all .mdx files checked as completed (2026-04-20)
- crd: mark cheolsu-proxy/tech-stack.mdx as checked
- fix: cheolsu-proxy/development.mdx consistency (hyphens) and update CRON_CRD_WRITE.md
- docs: mark cheolsu-proxy/development-11.md as reviewed
- Fix typo: '긱뉴스' → '뉴스'
- docs: mark CRON_CRD_WRITE.md checklist complete
- chore: mark all CRD spellcheck tasks complete
- docs: mark all CRD checklist items as completed
- chore: complete CRON_CRD_WRITE.md checklist (all files checked)
- CRON_CRD_WRITE.md: mark all mdx files checked, ready for next cycle
ohah/zntc
- docs(semantic): #1634 RFC 완료 반영 (PR4/4)
- fix(bundler): #1634 PR3 — decorator 등 stmt span 외부 노드의 reference 누락
- refactor(bundler): #1634 stmt_referenced 중간 캐시를 references 에서 재구성 (PR3/4)
- docs(semantic): OOM edge-case 주석 정리
- refactor(semantic): #1634 mangler liveness 를 references 로 이전 (PR2/4)
- feat(semantic): #1634 per-reference 배열 재도입 (PR1/4 — 필드 추가)
- fix(transpile): #1633 단일 파일 --minify-identifiers 에서 export 보존
- refactor(bundler): #1626 /simplify 피드백 반영
- perf(bundler): #1626 dead-scope gating for namespace member access
- test(smoke): minify 옵션 지원 + svelte minified 쌍 추가
- fixup! test(smoke): svelte-mount/full에 platform=browser 명시
- test(smoke): svelte tree-shaking 스펙트럼 2종 추가
- test(bundler): #1626 dead-scope namespace access 재현 테스트
- perf(bundler): #1567 pure 빌트인 생성자 화이트리스트
- fix(bundler): #1623 cross-module default import의 mangled 이름 불일치
- perf(bundler): #1618 minify mode에서 __commonJS → $cj 축약
- perf(bundler): #1616 scope-aware namespace tree-shaking (Effect -40%)
- feat(semantic): const promotion for non-reassigned let + destructuring write tracking
- fix(semantic): let 재할당 시 const_value 초기값 인라인 버그
- revert(codegen): #1608 --mangle-preview dry-run 제거 (#1612 revert)
- perf(codegen): #1608 bundle-wide slot coloring dry-run (--mangle-preview)
- style(bench): #1608 oxfmt 포맷팅 적용
- perf(bench): #1608 minify size/mangled-name 분포 비교 스크립트
- test(mangler): #1609 엣지 케이스 3건 추가
- fix(bundler): #1609 mangler가 shouldSkip 이름을 다른 slot에 재할당하지 않도록
- chore(fixtures): RN 번들 재생성 (#1603 fix follow-up)
- fix(bundler): #1603 소비자 0명 re-export namespace를 markAll로 승격 금지
- refactor(bundler): #1603 simplify — 공용 predicate + 주석 축약
- perf(bundler): re_export_namespace tree-shake 정밀도 (#1603 Phase 1b)
- perf(bundler): namespace 접근 정밀도 분석 infrastructure (#1603 Phase 1a)
- refactor(codegen): emitNode도 isSkipped 헬퍼 재사용
- fix(codegen): skip_nodes된 statement가 빈 줄 남기는 버그 (#1602)
- chore(gitignore):
packages/wasm/dist/빌드 산출물 제외 - perf(minify): 인접한 같은-kind 선언 merge (#1588)
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.