2026-03-26
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
zntc는 이날 ES5 타깃 다운레벨링을 거의 하루 만에 쌓아 올렸습니다. __async 런타임 헬퍼 자동 주입(#401)과 CLAUDE.md를 BUNDLER·PLUGINS·HMR 문서로 나누는 정리(#402)에 이어, ES5 타깃과 런타임 헬퍼 구조를 깔고(#404) 템플릿 리터럴, 단축·계산된 프로퍼티, 기본값·rest 매개변수, spread, 화살표 함수, for-of, 구조 분해, let·const, 클래스를 차례로 ES5 코드로 바꾸는 PR을 병합했습니다(#405부터 #414까지). generator는 상태 머신으로 바꾸고 변수 호이스팅, yield*, try 블록 안의 yield, 레이블 continue와 switch 안의 yield까지 다뤘으며(#416부터 #422까지), 클래스의 extends·super·getter와 setter, #field를 WeakMap으로 바꾸는 private 멤버 변환도 넣었습니다. 저녁에는 다운레벨링 스모크·유닛·통합 테스트를 더하고(#424부터 #426까지) private field가 여럿인 클래스의 패닉을 고쳤습니다(#427).
번들러 쪽은 namespace import의 프로퍼티 추적과 문장 단위 트리 셰이킹을 넣고(#428, #429), generator 무한 루프와 async 변환 오류를 고치면서 번들 크기 비교 대시보드를 추가했습니다(#430). 밤에는 generator 죽은 코드 제거(#433), ES2018 object rest와 private field 증감 연산(#434), useDefineForClassFields=false의 static 필드(#435), 매개변수 데코레이터와 ES5 타깃 데코레이터(#438)를 병합했고, TSC 적합성 테스트를 데코레이터 73개, 다운레벨링 230개, ES6·클래스·enum·generator 등 1,877개 추가했습니다(#439, #440). 서브패스 package.json 해석과 module 필드의 ESM 파싱 수정(#441)도 들어왔습니다.
bungae에는 zts 기반 번들러 뼈대와 이전 계획을 담은 #39가 열렸고 병합되지 않았습니다. 블로그 저장소에는 맞춤법 크론의 상태 갱신 커밋과 3월 26일 오늘의 커밋 요약 작성이 올라왔습니다.
공개 커밋 123개, 해당일 생성 또는 병합된 PR 38개를 정리했습니다. PR 생성 38개·병합 37개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/ohah.github.io
- CRON_CRD_WRITE.md: Add entry for 2026-03-27 08:30 AM
- chore(cron): update CRON_CRD_WRITE.md status for 08:00 AM run
- chore(cron): update CRON_CRD_WRITE.md status for 06:00 AM run
- chore(cron): update CRON_CRD_WRITE.md status for 05:30 AM run
- docs: CRD 30분마다 실행 상태 갱신 (05:00 AM)
- CRON: 340-i-jeong-cha-ga-bu-yeok-suk-cha-jeong-ja-175 - 2026-03-27 04:30 AM (Asia/Seoul) CRD 30분마다 실행 - §7 목록 27개 .mdx 재확인, Lint 통과, 수정사항 없음
- 2026-03-27 04:01 - CRD 30분마다 실행 완료
- CRD: Update status for 340-i-jeong-cha-ga-bu-yeok-suk-cha-jeong-ja-173 (2026-03-27 03:00 AM)
- docs: CRON_CRD_WRITE.md schedule - 2026-03-27 03:00 AM
- docs: CRD 30분 실행 - 340-i-jeong-cha-ga-bu-yeok-suk-cha-jeong-ja-172 상태 업데이트
- chore: CRD doc update 2026-03-27 02:00 AM
- [crd] Update cron status (0700 AM, MAR 27 2026)
- CRD: Update CRON status for 2026-03-27 12:30 AM
- docs: Add AI summary for 2026-03-26 activity report
- CRD: Update CRON_CRD_WRITE.md status for 2026-03-27 12:00 AM
- docs: CRD 11:30 PM execution - no changes needed (all .mdx files checked)
- 2026-03-26 23:03:54
- [CRON] 30분마다 실행: 10:30 PM(Asia/Seoul) spellcheck 로그 갱신 - 모든 .mdx 파일 체크 완료 (27개, 0 수정사항)
- chore: CRD 30분마다 실행 로그 - 2026-03-26 10:00 PM
- docs: update CRD execution log for 2026-03-26 21:30 (Asia/Seoul)
- CRD 주기적 실행 - CRON_CRD_WRITE.md 업데이트 (8:30 PM)
- docs: update CRD write cron status (2026-03-26 08:00 PM)
- docs(CRON): log CRD run 157 - today March 26, 2026 07:00 PM
- CRD: 7시간 차 감사기 - 상태 갱신 (2026-03-26 19:00)
- CRD: 자동 맞춤법 교정 - 상태 갱신 (2026-03-26 18:30)
- CRD: Update status for 2026-03-26 06:00 PM (Asia/Seoul)
- CRD: 30분마다 실행 상태 갱신 (2026-03-26 17:30)
- CRON: Update status at 2026-03-26 17:00 (Asia/Seoul) - No changes found in CRD files
- chore: CRD 30분마다 실행 로그 업데이트 (2026-03-26 16:30)
- docs: 2026-03-26 04:00 PM CRD cron status update
- docs: CRD 2026-03-26 15:30 (Asia/Seoul)
- docs(cron-crd): CRD status update - 2026-03-26 15:00
- cron: 30분마다 실행 기록 추가 (2:30 PM)
- chore(cron): CRD 30분마다 실행 일지 (2026-03-26 02:00 PM) - 모든 파일 점검 완료
- chore(cron): register CRD 30m execution log for 2026-03-26 01:30 PM
- chore: cron weekly CRD documentation status update - 2026-03-26 13:00
- chore: cron - add CRD log entry @ 12:30
- chore: update CRON_CRD_WRITE.md - 2026-03-26 12:00 PM status
- docs(crd): update CRD 11:30 AM log entry
- CRD 30분마다 실행 (11:00): CRON_CRD_WRITE.md 상태만 갱신 후 커밋 및 푸시
- docs: CRD 30분마다 실행 상태 업데이트 (2026-03-26 10:30 AM)
- CRD 30분마다 실행: 2026-03-26 10:00 AM 상태 업데이트
- docs: Add CRD log entry for 2026-03-26 09:00 AM
ohah/zntc
- fix(lexer): template literal 내부 줄바꿈이 has_newline_before에 영향 주지 않도록 수정
- test(bundler): 서브패스 package.json resolve + module 필드 ESM 파싱 테스트 추가
- fix(resolver): module 필드 resolve 시 .js를 ESM으로 파싱
- fix(resolver): 서브패스 package.json resolve 지원
- chore: 미사용 expectError import 제거 (lint 경고 수정)
- test: TSC ES6/classes/enums/generators/expressions 적합성 테스트 1,877개 추가
- test: TSC ES downlevel 적합성 테스트 230개 추가
- test: TSC decorator 적합성 테스트 73개 추가 + @dec [computed] 파서 수정
- test(transformer): parameter decorator edge case 테스트 10개 추가
- style: zig fmt 적용
- feat(transformer): parameter decorator + decorator ES5 target 지원 (#437, #436)
- fix(transformer): useDefineForClassFields=false static field 변환 (#334)
- fix(transformer): private field ++/-- WeakMap writeback (#431)
- fix(transformer): ES2018 object rest destructuring 변환 (#432)
- fix(transformer): generator if body 뒤 dead code 제거
- chore: bun.lock 업데이트 (valibot 의존성 추가)
- refactor: /simplify — async this 보존 + containsReturn 완성 + destructuring 기본값
- style: oxfmt 포맷팅
- feat(benchmark): 번들 사이즈 비교 대시보드 추가
- fix(transformer): async/await → generator 즉시 호출 수정
- fix(bundler): generator for+return 수정 + statement shaker destructuring 지원
- refactor(bundler): generator /simplify
- fix(bundler): generator while+yield 무한루프 수정
- feat(bundler): statement shaker @PURE + class 개선
- refactor(bundler): statement shaker /simplify
- test(bundler): statement shaker 엣지 케이스 테스트 9개 추가
- fix(bundler): statement shaker regression 수정
- feat(bundler): statement-level tree-shaking 구현
- refactor: collectNamespaceAccesses 리팩터링 (/simplify)
- style: oxfmt 포맷팅
- feat(bundler): namespace import 프로퍼티 추적 + 다운레벨링 테스트 53개 추가
- fix: 복수 private field 클래스 패닉 수정 (dangling slice)
- test: 통합 테스트 10개 + 스모크 3개 추가
- test: ES2015~ES2022 다운레벨링 유닛 테스트 27개 추가
- test: 다운레벨링 스모크 테스트 15개 + --filter 옵션 추가
- test: ES2016~ES2022 각 타겟별 다운레벨링 통합 테스트 추가
- refactor: /simplify — tempVarName 공유 함수 추출 + saved_temp_counter 수정
- fix: 임시 변수 호이스팅 + static block ES5 + 통합 테스트 추가
- refactor(es2015): /simplify — accessor 쌍 매칭 개선 + desc_obj 중복 제거
- fix(es2015): class 메서드 내 arrow this 캡처 + getter/setter 쌍 합침
- refactor(es2015): /simplify — private field 버그 수정 + 중복 코드 정리
- feat(es2015): generator switch yield + class private members (#field → WeakMap)
- fix(es2015): /simplify — 중첩 labeled for 버그 수정, sentinel 고유화
- fix(es2015): generator labeled continue가 for update를 건너뛰는 버그 수정
- refactor(es2015): /simplify — 공통 헬퍼 추출, 중복 코드 대폭 축소
- refactor(es2015): /simplify — 중복 코드 통합, 효율성 개선
- style: zig fmt 적용
- feat(es2015): arrow this 캡처, class extends/super/getter/setter/expression, destructuring rest, generator labeled break
- feat(es2015): generator try/catch/finally 안의 yield 지원
- docs: CLAUDE.md ES2015 다운레벨링 완료 반영
- feat(es2015): generator yield* + do-while 지원
- fix(es2015): generator 호이스팅 if/for/while 재귀 누락 수정
- feat(es2015): generator 변수 호이스팅
- fix(es2015): /simplify — for-init 타입 체크, 데드 코드 제거
- feat(es2015): generator function → 상태 머신
- fix(es2015): /simplify — default value 처리, 이중 visit 수정
- fix(es2015): assignment destructuring + spread in new 누락 수정
- refactor(es2015): /simplify — static field init 검증, 중복 함수 통합
- feat(es2015): class fields → constructor/static assignment
- docs(es2015): class 제한사항에 fields/static blocks 미지원 명시
- feat(es2015): class → function + prototype assignment
- feat(es2015): let/const → var
- fix(es2015): /simplify — for-of postfix 버그 수정, 미사용 코드 제거
- feat(es2015): destructuring → 개별 변수 선언
- feat(es2015): for-of → index-based for loop
- feat(es2015): arrow function → function expression
- refactor(es2015): /simplify — 중복 헬퍼 통합, 이중 visit 제거
- feat(es2015): spread → .apply() / [].concat()
- feat(es2015): default/rest parameters → body 문 삽입
- feat(es2015): computed property → sequence expression
- feat(es2015): shorthand property → full form
- refactor(es2015): /simplify — 사전 할당, 불필요한 주석 제거
- style: zig fmt
- feat(es2015): template literal → string concatenation
- refactor(es2017): /simplify — 미사용 runtime_helpers 플래그 설정 제거
- feat(es2015): 사전 작업 — es5 타겟, RuntimeHelpers, 기능별 스텁
- refactor(es2022): /simplify 리뷰 — DRY 위반, 이중 체크 수정
- fix(es2022): static block 내 this → 클래스 이름 치환
- docs: CLAUDE.md 구조 분리 — BUNDLER.md, PLUGINS.md, HMR.md
- fix(bundler): __async 런타임 헬퍼 자동 주입
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.