Skip to content

refactor: props 추출을 .d.ts 기반으로 전환#152

Merged
zeakd merged 1 commit intomainfrom
refactor/dts-extraction
Mar 21, 2026
Merged

refactor: props 추출을 .d.ts 기반으로 전환#152
zeakd merged 1 commit intomainfrom
refactor/dts-extraction

Conversation

@zeakd
Copy link
Copy Markdown
Owner

@zeakd zeakd commented Mar 21, 2026

Summary

  • 소스 → .d.ts 전환: extractAllProps가 소스 파일 대신 빌드 산출물(.d.ts)에서 props를 추출하도록 변경. skipAddingFilesFromTsConfig: true로 소스 로딩을 건너뛰고, tsconfig의 outDir에서 .d.ts 파일만 로드
  • HMR 개선: .d.tstsconfig.json만 감시하던 것을 .ts/.tsx 변경에도 props 캐시를 무효화하도록 확장
  • Dead code 제거: PackageConfig.entrypoint 필드 삭제
  • 테스트 추가: extractor.test.ts 11개 테스트 (컴포넌트 감지, props 정확성, override, 에러 처리)

Verification

  • 기존 소스 기반 빌드와 .d.ts 기반 빌드의 HTML 출력이 diff -rq로 동일함을 확인
  • 44개 컴포넌트 모두 정상 감지
  • bun test 11/11 통과

Test plan

  • bun test src/ — 11개 테스트 통과
  • pnpm --filter astro-component-docs build — 빌드 성공
  • pnpm --filter website build — 웹사이트 빌드 성공, 출력 동일

- 소스 기반 추출에서 .d.ts 기반 추출로 전환하여 빌드 산출물만으로 동작
- PackageConfig에서 미사용 entrypoint 필드 제거
- Vite HMR에서 .ts/.tsx 변경 시에도 props 캐시 무효화
- extractor 테스트 11개 추가 (bun test)
@zeakd zeakd merged commit 4a12e35 into main Mar 21, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant