2026-04-29

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

요약 (AI 작성)

zntc는 이날 Vite식 앱 빌더와 styled-components 변환이라는 두 기능을 새로 들였습니다. 앱 빌더(#2200)는 HTML 진입점을 다루며 dev 모드 PostCSS CSS HMR(#2208, #2214), 남은 Vite parity 범위(#2218), CSS Modules와 Sass 파이프라인(#2225, #2226), HTTPS SPA fallback 미리보기 테스트(#2230)를 갖췄고, Playwright E2E와 증분 dev 파이프라인 정리가 함께 들어갔습니다. 웹 예제 앱과 compiler 설정 네임스페이스를 추가한 뒤(#2227) styled-components 변환을 1st-party로 구현해 displayName 주입, withConfig 표준 출력, SSR용 componentId 해시를 넣고, .attrs 체인·객체 프로퍼티·대입·조건식·논리식과 TS/Flow cast 안의 styled 호출까지 인식하며 사용자가 직접 쓴 .withConfig는 보존합니다(#2228~#2237). 클래스 필드 패턴을 다루는 #2238은 이날 PR이 열렸습니다.

번들러 옵션으로는 output.exports의 auto/named/default/none과 충돌 진단(#2177), lifecycle hook(#2179), 내장 로더 검증과 onLoad의 로더 override 전달, Uint8Array·Buffer 내용 지원(#2180, #2181), --inline-dynamic-imports 플래그와 zts.config.json의 manualChunks 매핑(#2185, #2186)이 들어왔고, 옵션 DTO 이름을 ConfigOptionsDto로 바꾸며 공용 필드 적용을 헬퍼로 묶었습니다(#2182~#2184). 문서에는 NAPI/JS API 레퍼런스와 @zts/core 아키텍처 다이어그램이 추가됐습니다(#2191).

버그 수정으로는 mime-types에서 드러난 CJS 동적 exports 접근 시 prune 비활성화(#2178), string enum의 reverse mapping 제거(#2199), 이름 있는 클래스 식의 내부 이름 보존과 JSX factory 식별자의 symbol_id 전파(#2201, #2204), 블록 스코프 let의 TDZ 보존(#2205), 순환 모듈의 const/let/class live binding(#2206), 단일 파일 출력의 dynamic import lazy 래핑(#2212, #2215, #2216), 소스맵 footer와 specifier·enum 매핑(#2219, #2220, #2221), 파생 클래스 parameter property의 super() 뒤 출력(#2222)이 있었습니다. 광역 fuzz 라운드에서 나온 fixture는 회귀 테스트로 남겼습니다(#2223).

ohah.github.io에는 4월 29일 요약과 맞춤법 크론의 상태 갱신 커밋이 올라왔습니다.

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

커밋

ohah/ohah.github.io

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/zntc#2238생성mergedmainfeat(transformer): styled-components 클래스 정적/인스턴스 필드 인식
ohah/zntc#2237생성 · 병합mergedmainfeat(transformer): styled-components 논리 / TS cast / Flow cast 인식
ohah/zntc#2236생성 · 병합mergedmainfeat(transformer): styled-components 사용자 명시 .withConfig 보존 (skip)
ohah/zntc#2235생성 · 병합mergedmainfeat(transformer): styled-components 조건부 / 괄호 expression 인식
ohah/zntc#2234생성 · 병합mergedmainfeat(transformer): styled-components assignment 패턴 인식
ohah/zntc#2233생성 · 병합mergedmainfeat(transformer): styled-components object property 패턴 인식
ohah/zntc#2232생성 · 병합mergedmainfeat(transformer): styled-components chain detection (.attrs / withConfig 체인)
ohah/zntc#2231생성 · 병합mergedmainfeat(transformer): styled-components componentId hash + counter (SSR ready)
ohah/zntc#2230생성 · 병합mergedmaintest(app): cover HTTPS SPA fallback preview
ohah/zntc#2229생성 · 병합mergedmainfeat(transformer): styled-components withConfig({displayName}) 표준 출력
ohah/zntc#2228생성 · 병합mergedmainfeat(transformer): styled-components displayName 1st-party transform
ohah/zntc#2227생성 · 병합mergedmainfeat(examples): add web example app + compiler config namespace stub
ohah/zntc#2226생성 · 병합mergedmainrefactor(app): app CSS pipeline /simplify round 2
ohah/zntc#2225생성 · 병합mergedmainfeat(app): support CSS Modules and Sass pipeline
ohah/zntc#2224생성 · 병합mergedmaindocs: README / STRUCTURE / TESTING 현재 구현 상태 동기화
ohah/zntc#2223생성 · 병합mergedmaintest(regression): 라운드 1/2/4 광역 회귀 테스트 영구 보존
ohah/zntc#2222생성 · 병합mergedmainfix(transformer): derived class parameter property 가 super() 후에 emit 되도록
ohah/zntc#2221생성 · 병합mergedmainfix(sourcemap): enum 멤버 + IIFE trailing 매핑 누락
ohah/zntc#2220생성 · 병합mergedmainfix(sourcemap): import/export specifier identifier 매핑 누락
ohah/zntc#2219생성 · 병합mergedmainfix(sourcemap): footer 부착 + map.file 필드 spec 부합 (#2217)
ohah/zntc#2218생성 · 병합mergedmainfeat(app): complete remaining Vite parity scope
ohah/zntc#2216생성 · 병합mergedmainfix(bundler): dynamic target 의 외부 sibling fallback 잔여 케이스 제거 (#2211 follow-up)
ohah/zntc#2215생성 · 병합mergedmainfix(bundler): single-file dynamic import 재작성 + cycle×dynamic marking (#2211)
ohah/zntc#2214생성 · 병합mergedmaindocs(app): dev CSS HMR 문서 갱신
ohah/zntc#2213생성 · 병합mergedmainfix(parser): yield-outside-generator 명확한 진단 (#2210)
ohah/zntc#2212생성 · 병합mergedmainfix(bundler): single-file output 의 dynamic import 자동 lazy-wrap (#2209)
ohah/zntc#2208생성 · 병합mergedmainfeat(app): enable dev PostCSS CSS HMR
ohah/zntc#2207생성 · 병합mergedmainfix(transformer): const enum + type wrapper cast 인라인 (#2193)
ohah/zntc#2206생성 · 병합mergedmainfix(bundler): cycle 모듈 const/let/class 의 ESM live binding 보존 (#2198)
ohah/zntc#2205생성 · 병합mergedmainfix(minify): block-scoped let 의 TDZ 보존 (#2195)
ohah/zntc#2204생성 · 병합mergedmainfix(jsx,mangler): JSX factory head identifier 의 symbol_id 전파 (#2196)
ohah/zntc#2203생성 · 병합mergedmaintest(tsc): string enum reverse mapping 제거 후 snapshot 갱신 (#2192 follow-up)
ohah/zntc#2202생성 · 병합mergedmainfix(transformer): legacy decorator helper transpile-only emit (#2194)
ohah/zntc#2201생성 · 병합mergedmainfix(mangler): named class expression inner name 보존 (#2197)
ohah/zntc#2200생성 · 병합mergedmainfeat(app): Vite-style app builder 추가
ohah/zntc#2199생성 · 병합mergedmainfix(codegen): string enum 멤버 reverse mapping 제거 (#2192)
ohah/zntc#2191생성 · 병합mergedmaindocs: NAPI / JS API reference + @zts/core 아키텍처 mermaid 다이어그램
ohah/zntc#2190생성 · 병합mergedmainfix(docs): desktop 에서 표를 display:table 로 복원, 모바일만 가로 스크롤
ohah/zntc#2188생성 · 병합mergedmaindocs(astro): epic #2151 추가 옵션 — output.exports / sourcemapMode / inline-dynamic / lifecycle / loader override
ohah/zntc#2187생성 · 병합mergedmainrefactor(test): runConfigBundle HoF — zts-config-bundler 보일러플레이트 흡수 (#2099 P3)
ohah/zntc#2186생성 · 병합mergedmainfeat(config): zts.config.json manualChunks (record form) 매핑 (#2099 P3)
ohah/zntc#2185생성 · 병합mergedmainfeat(cli): --inline-dynamic-imports flag 노출 (#2099 P3)
ohah/zntc#2184생성 · 병합mergedmainrefactor(dto): applyTranspileSharedFields 헬퍼 — silent drift fix
ohah/zntc#2183생성 · 병합mergedmainrefactor(dto): TranspileOptionsDto → ConfigOptionsDto rename
ohah/zntc#2182생성 · 병합mergedmainrefactor(dto): AliasDto / ManualChunkDto 를 bundler/types entry 타입 alias 로 통합
ohah/zntc#2181생성 · 병합mergedmainfeat(plugin): onLoad contents 의 Uint8Array / Buffer 지원 (#2157 follow-up)
ohah/zntc#2180생성 · 병합mergedmainfeat(loader): builtin loader 검증 + onLoad loader override forward (#2157)
ohah/zntc#2179생성 · 병합mergedmainfeat(plugin): buildStart / buildEnd / closeBundle lifecycle hook (#2156)
ohah/zntc#2178생성 · 병합mergedmainfix(bundler): CJS dynamic exports access 시 fact prune 비활성화 (mime-types 회귀)
ohah/zntc#2177생성 · 병합mergedmainfeat(bundle): output.exports — auto / named / default / none