2026-03-29

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

요약 (AI 작성)

이날 공개 활동은 zntc에 모였습니다. 오전에는 전날 연 minify 옵션 분리(#497)를 병합하면서 선언문 뒤 tagged template이 사라지던 문제를 함께 고쳤고, __extends·__generator·__rest 같은 런타임 헬퍼를 필요할 때 자동으로 넣도록 했습니다(#499). 이어 테스트 코드를 *_test.zig 파일로 나누고 런타임 헬퍼와 linker 함수, CLI 파싱을 정리하는 리팩터링(#501부터 #504까지)이 들어왔습니다.

오후에는 성능을 다뤘습니다. c_allocator와 스레드 풀, --timing 옵션과 파이프라인 벤치마크(#505), mimalloc 통합(#506)에 이어 finalize·emit·resolve 단계를 병렬화했고(#508), 커밋 기록상 번들 속도가 최대 4.7배 빨라졌습니다. 트리 셰이킹 fixpoint가 진동하며 100회 돌던 문제를 2회 만에 수렴하도록 고쳐 238ms가 50ms가 됐습니다(#509). 저녁 무렵에는 AST 미니파이어를 상수 접기, 죽은 코드 제거, 불리언 단순화, 쉼표 연산자와 템플릿 리터럴 접기의 4단계로 구현했습니다(#511부터 #514까지).

밤에는 esbuild·rolldown·rspack에 비해 빠져 있던 번들러 옵션을 묶음 단위로 채웠습니다. --alias·--banner·--global-name·--out-extension·--log-level 등 10개(Batch A, #516), content hash와 파일 이름 패턴(Batch B, #517), file·dataurl·text·binary·copy 에셋 로더(Batch C, #519), metafile·analyze·legal comments·inject·keepNames(Batch D, #520)가 들어왔고, CLAUDE.md의 상세 내용은 docs/ 문서로 옮겼습니다. 마지막으로 플러그인 인프라를 Zig 함수 포인터 기반 훅으로 시작해(#521), Node.js 프로세스를 띄워 JSON으로 통신하는 subprocess 플러그인과 그 JS API를 담은 @zts/core 패키지, CLI --plugin 옵션, 비 JS 확장자 load 훅과 virtual module 지원까지 이어 갔습니다(#523부터 #530까지).

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

커밋

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/zntc#530생성 · 병합mergedmainfeat(bundler): 필터 매칭 확장 + virtual module 지원
ohah/zntc#529생성 · 병합mergedmaintest(integration): 플러그인 subprocess 통합 테스트 6개
ohah/zntc#528생성 · 병합mergedmainfeat(bundler): 플러그인 품질 개선 — 에러 상세, 다중 --plugin, 훅 최적화
ohah/zntc#527생성 · 병합mergedmainfix(bundler): 플러그인 load 훅 비-JS 확장자 지원 + IPC 버그 수정
ohah/zntc#526생성 · 병합mergedmaindocs: 플러그인 2단계 완료 반영 + shutdown 버그 수정
ohah/zntc#525생성 · 병합mergedmainfeat: CLI --plugin 옵션 + Bundler 통합
ohah/zntc#524생성 · 병합mergedmainfeat: @zts/core npm 패키지 — subprocess 플러그인 JS API
ohah/zntc#523생성 · 병합mergedmainfeat(bundler): subprocess 플러그인 — Node.js spawn + JSON IPC
ohah/zntc#522생성 · 병합mergedmainrefactor(bundler): Plugin 인터페이스에 context 포인터 추가
ohah/zntc#521생성 · 병합mergedmainfeat(bundler): 플러그인 인프라 1단계 — Plugin struct + 파이프라인 훅
ohah/zntc#520생성 · 병합mergedmainfeat(bundler): Batch D — metafile, analyze, legal-comments, inject, keepNames
ohah/zntc#519생성 · 병합mergedmainfeat(bundler): Batch C — Asset 로더 (file, dataurl, text, binary, copy)
ohah/zntc#518생성 · 병합mergedmaindocs: 배치 B 구현 완료 반영
ohah/zntc#517생성 · 병합mergedmainfeat(bundler): Batch B — content hash + naming 패턴
ohah/zntc#516생성 · 병합mergedmainfeat(bundler): Batch A — 번들러 옵션 10개 구현
ohah/zntc#515생성 · 병합mergedmainfix: /simplify 리뷰 반영 + 미니파이어 문서 업데이트
ohah/zntc#514생성 · 병합mergedmainfeat(minifier): Phase 4 — Comma Operator + Template Literal Folding
ohah/zntc#513생성 · 병합mergedmainfeat(minifier): Phase 3 — Boolean Simplification
ohah/zntc#512생성 · 병합mergedmainfeat(minifier): Phase 2 — Dead Code Elimination
ohah/zntc#511생성 · 병합mergedmainfeat(minifier): AST Constant Folding — Phase 1
ohah/zntc#510생성 · 병합mergedmaindocs: CLAUDE.md 번들러 성능 로드맵 실측 기반 업데이트
ohah/zntc#509생성 · 병합mergedmainperf(bundler): fixpoint oscillation 수정 — tree-shake 238ms → 50ms
ohah/zntc#508생성 · 병합mergedmainperf(bundler): emit + resolve 병렬화
ohah/zntc#507생성 · 병합mergedmainfix(bundler): predeclared 심볼 symbol_ids 보충 + stmt_info 리팩터
ohah/zntc#506생성 · 병합mergedmainperf: mimalloc 통합 — backing allocator 고성능화
ohah/zntc#505생성 · 병합mergedmainperf: c_allocator 전환 + Thread.Pool + --timing + pipeline 벤치마크
ohah/zntc#504생성 · 병합mergedmainfix: /simplify 리뷰 반영
ohah/zntc#503생성 · 병합mergedmainrefactor: es_helpers 빌더 + linker 분해 + 정렬 통합 + CLI 파싱
ohah/zntc#502생성 · 병합mergedmainrefactor(emitter): 런타임 헬퍼 분리 + 함수 추출
ohah/zntc#501생성 · 병합mergedmainrefactor: 테스트 코드를 *_test.zig 파일로 분리
ohah/zntc#500생성 · 병합mergedmainrefactor(emitter): /simplify 리뷰 반영 — 런타임 헬퍼 중복 제거
ohah/zntc#499생성 · 병합mergedmainfeat(emitter): 런타임 헬퍼 자동 주입 (__extends, __generator, __rest)
ohah/zntc#498생성 · 병합mergedmainfix(benchmark): 소수점 표시로 0KB 표기 문제 수정
ohah/zntc#497병합mergedmainfeat(cli): --minify-whitespace/identifiers/syntax 옵션 분리