2026-05-09
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
이날 공개 활동은 거의 전부 zntc였고, 그중 가장 큰 줄기는 큰 파일을 잘게 나누는 리팩터링이었습니다. 오전에 CLI·config·import.meta.glob·browserslist·build 등 대형 테스트 파일을 나눈 데 이어(#2773–#2778), NAPI 공통 헬퍼·옵션 파싱·plugin bridge·watch bridge, graph의 에셋·synthetic import·glob·파싱·순환·import 해석·빌드 흐름, transformer의 enum·regex·import/export·decorator·class 헬퍼와 node dispatch, codegen의 모듈·문장·식 출력, ES2015 class 변환, emitter·linker·tree shaker·minify·CLI 옵션 파서까지 기능 변화 없이 모듈을 쪼개는 PR이 하루 종일 연달아 병합됐습니다.
배포 준비 작업도 함께 들어왔습니다. 내부 패키지끼리 dist 대신 src를 바로 쓰는 source exports 조건을 도입하고 vite-plugin을 dist 빌드로 바꿔 퍼블리시할 수 있게 했으며(#2791), TS Project References를 세 단계로 연결하고(#2805, #2806, #2807) isolatedDeclarations를 켰습니다(#2819). CI에는 tarball 내용을 보는 publish smoke test, publint, sherif, 실제 npm install 검증, 의존성 버전 일관성 검사가 추가됐고, 기본은 dry-run이고 --publish와 확인 입력이 있어야 실제로 퍼블리시하는 release.ts(#2818)와 changesets 도입(#2833)이 이어졌습니다. 이날 실제 퍼블리시 기록은 없습니다. core·wasm·vite-plugin-zntc·web 패키지 README도 보강했습니다(#2829).
새 패키지 @zntc/rspack-loader가 추가됐습니다(#2840). Rspack과 webpack 5에서 swc-loader·esbuild-loader 자리에 쓰는 loader로, 양쪽 통합 테스트를 갖췄고 뒤이어 import/require별 exports 타입을 나눴습니다(#2887). 이 작업 중 발견된 문제로 .js·.jsx도 ESM으로 파싱하도록 바꿔 date-fns 4.x 파일 252개가 모두 통과하게 했고(#2853), 번들러 경로의 회귀를 막기 위해 이 규칙을 CLI·transpile 경로로만 한정했습니다. .cjs는 script 모드로 맞췄습니다(#2859).
버그 수정으로는 사용자가 __extends 같은 런타임 헬퍼 이름을 최상위에 선언하면 헬퍼 호출이 사용자 바인딩에 묶이던 문제를 심볼에 묶인 참조로 고쳤고(#2877), RN ES5 번들에서 헬퍼 이름이 $1 접미사로 바뀌어 __extends$1 is not defined가 나던 문제를 고쳤습니다(#2814, #2866). for-of 블록 스코프 캡처 보존과 _loop 클로저의 async 표시 전파(#2793, #2796), HMR 메시지 상수 동결(#2861), watch 루프의 mtime_map 누수(#2884), forwardClientLogs 깊은 복사 누수(#2894)도 수정했고, Expo 예제에는 Rozenite DevTools를 적용했습니다(#2835). 블로그 저장소 ohah.github.io의 커밋 11개는 크론이 남긴 CRON_CRD_WRITE.md 점검 표시와 메타·요약 갱신입니다.
공개 커밋 171개, 해당일 생성 또는 병합된 PR 154개를 정리했습니다. PR 생성 153개·병합 154개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/ohah.github.io
- Update meta and memory JSON files after CRON task completion
- docs: update 2026-05-09 commit summary
- CRON: All .mdx files already verified (2026-05-09 21:30 KST)
- docs: update today-commit meta - add 2026-05-09 entry
- docs: mark 2026-05-09 cron task completed
- cron: mark CRON_CRD_WRITE.md itself as verified (2026-05-09 17:00 KST)
- Cron task: CRON_CRD_WRITE.md verified, no spelling errors (2026-05-09 17:00 KST)
- cron: mark CRON_CRD_WRITE.md as completed at 2026-05-09 14:00 KST
- docs: cron-crd-write - 2026-05-09 13:30 KST - all tasks complete, no remaining files to check
- docs: CRON_CRD_WRITE.md final status verified (2026-05-09 11:00 KST)
- cron: mark CRON_CRD_WRITE.md task as complete (2026-05-09 10:00 KST)
ohah/zntc
- refactor: split regexp char helpers
- refactor: split tree shaker import record helpers
- refactor: split emitter tree-shake helpers
- refactor: split ts type member helpers
- refactor: split expression generic arrow helpers
- refactor: split parser cover grammar helpers
- refactor: split expression inline scan helpers
- refactor: split linker shared namespace
- refactor: split minify unused expression
- refactor: split tree shaker const materialize
- refactor: split emitter runtime helpers
- refactor: split parser expression type args
- refactor: split minify numeric helpers
- refactor: split tree shaker module effect helpers
- refactor: split linker namespace access analysis
- refactor: split server event helpers
- refactor: split transpile options
- refactor: split CLI options parser
- refactor: split cli usage text
- refactor: split cli watch helpers
- refactor: split emitter format wrapper
- refactor: split emitter entry exports
- refactor: split linker metadata types
- refactor: split linker preamble writer
- refactor: split standalone cli modes
- refactor: split app cli commands
- refactor: split linker mangle report collector
- refactor: split bench cli command
- refactor: split emitter dead store helpers
- refactor: split tree shaker CJS patterns
- refactor: split emitter line wrapping
- refactor: split derived constructor helpers
- refactor: split es2015 class member helpers
- refactor: split es2015 class method helpers
- refactor: split es2015 class super props
- fix(react-native): forwardClientLogs deep-clone leak (#2885)
- refactor: split es2015 class constructors
- refactor: split es2015 class private fields
- refactor: split graph lifecycle and registry
- refactor: split codegen dispatch and transformer lifecycle
- refactor: split graph build flow
- refactor: split napi entry callbacks
- fix(main): mtime_map upsert leak in watch loop (#2868)
- fix(rspack-loader): split exports types for import/require
- refactor: split codegen function class emit
- refactor: split graph import resolution
- refactor: split graph discovery scan
- refactor: split graph parse module
- refactor: split transformer node dispatch
- refactor: split stage3 decorator transform
- refactor: split class visit helper
- fix(transformer,semantic): symbol-bound runtime helper reference (#2869)
- refactor: split transformer visitor helpers
- refactor: split codegen expression helpers
- refactor: split napi result helper
- refactor: split graph cycle helpers
- refactor: split codegen debug metadata helpers
- refactor: split codegen writer helpers
- refactor: split legacy decorator helpers
- refactor: split transformer driver
- fix(bundler): runtime helper canonical_name 보존 (es5-rn
__extends$1 is not defined) - refactor: split graph helper modules
- refactor: split class member helpers
- refactor: split stage3 decorator helpers
- refactor: split decorator metadata helpers
- fix(server): HMR_MSG / HMR_RN_MSG runtime freeze
- refactor: split transformer node helpers
- fix(bundler):
.cjs를 script mode 로 정렬 +.cts는 module 일관 유지 - refactor: split graph parser metadata helper
- refactor: split graph plugin hook helpers
- docs(rspack-loader): 옵션 표 + Astro 사이트 가이드 + rspack 2.0 + bench
- feat(rspack-loader): @zntc/rspack-loader 신규 패키지
- refactor(rn-codegen): /simplify polish —
.jsmodule override 제거 - fix(parser):
.js/.jsxESM 게이트를 CLI/transpile 경로로만 한정 - fix(parser):
.js/.jsx도 ESM 으로 파싱 (esbuild/swc/rollup 정렬) - refactor: split graph parser setup helper
- refactor: split graph json module helper
- refactor: split graph package context helpers
- refactor: split graph loader diagnostics helpers
- refactor: split transformer list helpers
- refactor: split transformer member helpers
- refactor: split transformer control flow helpers
- refactor: split codegen statement helpers
- refactor: split codegen binding helpers
- refactor: split codegen call helpers
- refactor: split graph finalize passes
- refactor: split transformer declarations
- refactor: split graph transform prepass
- refactor: split codegen type runtime emission
- refactor: split codegen module emission
- refactor: expand graph requested exports helper
- refactor: split graph runtime request helpers
- refactor(rn): /simplify polish — dedupe helpers + test leak guard
- refactor: split graph plugin and state types
- refactor: split transformer options
- ci(release): introduce @changesets/cli for version bump + changelog
- refactor: split transformer runtime helper bits
- refactor: split codegen options
- fix(docs): /simplify polish 2 — must 5건 (3 agent 병렬)
- fix(docs): /simplify polish — README 사실 정확성 수정
- docs(packages): add/expand README for core/wasm/vite-plugin-zntc/web
- refactor: split graph parse helpers
- refactor: split graph package side effects helpers
- refactor(scripts): extract scripts/lib/workspace.ts helper (4 script dedup)
- refactor: split graph asset source helpers
- refactor: split napi profile callbacks
- fix(monorepo): cumulative review fixes — build:publishable / server refs / IDE docs
- refactor: split napi benchmark callback
- fix(transformer): isFunctionBoundary 에 method_definition 추가
- refactor: split napi tsconfig cache helpers
- fix(ts): /simplify polish — IDE.md contributor note + getter Readonly<...>
- feat(ts): enable isolatedDeclarations on tsconfig.base.json
- refactor: split transformer filter helpers
- ci(release): add release.ts (dry-run 우선, --publish + confirm 후 실제 publish)
- refactor: split transformer namespace helpers
- ci(publish): publishable deps version consistency check
- ci(publish): add prepublishOnly + pre-release-check + PUBLISH.md
- fix(bundler): keep runtime helper imports out of deconflict
- test(transformer): expand async edge cases for for-of/for-loop _loop wrap
- refactor: split transformer define helpers
- docs: add IDE setup guide for TS Project References
- ci: publish install test — 실제 npm install + dynamic import 검증
- ci: add sherif (workspace metadata 일관성) + fix vite-plugin peer 누락
- refactor: split transformer flow helpers
- feat(ts-references): wire init + wasm into solution
- feat(ts-references): phase 3 — solution-style root tsconfig + tsc -b scripts
- feat(ts-references): phase 2 — wire web/RN/vite-plugin → core/server
- feat(ts-references): phase 1 — composite + tsc -b on server/core
- refactor(generator): convert containsReturn to iterative DFS
- refactor(generator): convert containsYield to iterative DFS
- ci(publint): rename RN runtime .js → .cjs + enable --strict
- ci: add publint + fix exports types-first ordering on all publishable packages
- refactor(transformer): extract anyMatchInsideClosure generic visitor
- ci(publish-smoke): use setup-zntc composite + extract build:publishable
- ci: publish smoke test — tarball / deps / files / paths 검증
- refactor: split transformer tagged template helpers
- fix(transformer): propagate async marker to _loop closure (capture + body await)
- test(transformer): expand for-of/for-in capture coverage + remove redundant init
- fix(wasm): emit dts + extend tsconfig.base + fix latent type errors
- fix(monorepo): move @zntc/server to devDependencies in web/RN
- refactor: split transformer import export helpers
- fix(monorepo): /simplify polish — docs anchor, source field note, vite-plugin exclude
- feat(monorepo): adopt source exports condition + vite-plugin publish-ready
- refactor: split transformer regex helpers
- refactor: split transformer enum helpers
- refactor(napi): split watch bridge
- refactor(napi): split plugin bridge
- refactor(transformer): split auto worklet helper
- refactor(core): split graph glob helper
- refactor(core): split graph project root helper
- refactor(core): split graph synthetic imports
- refactor(core): split graph asset helpers
- refactor(core): split napi options parsing
- refactor(core): split napi common helpers
- test(core): split remaining large test files
- test(core): build 테스트 파일 분리
- test(core): split browserslist runtime tests
- test: split import meta glob tests
- test(cli): split config option tests
- test(cli): split bundle option tests
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.