Changelog
v0.4.0 (2025-10-22)
Added
- DX: Lazy/conditional hydration utilities
hydrateOnInteraction(selector, fn, { events }?)
– 첫 사용자 동작(click/focus/keydown 기본) 시 1회만 하이드레이트hydrateOnIdle(fn, { timeout }?)
– 브라우저가 idle일 때 하이드레이트(지원하지 않으면 timeout 대체)- (기존)
hydrateOnVisible(selector, fn, { rootMargin, threshold }?)
를 함께 문서화
- Global configuration API
configure({ defaultTarget, styleTarget, csp: { nonce } , debug })
getConfig()
– 현재 설정 조회defaultTarget
: 오버레이(Modal/BottomSheet/Toast) 마운트 기본 대상styleTarget
: 런타임 CSS 주입 대상 (예:hydrateAllVanillaComponents()
사용 시)csp.nonce
: 주입되는<style>
태그에 CSP nonce 부여debug
: 하이드레이션 로그/경고 출력
- Exports
- Main:
configure
,getConfig
- Client:
configure
,getConfig
,hydrateOnInteraction
,hydrateOnIdle
- Main:
Changed
ensureHostElement()
가 전역defaultTarget
을 우선 참조injectVanilaStyles()
가 전역styleTarget
과csp.nonce
를 반영hydrateAllVanilaComponents()
가 전역styleTarget
을 기본 사용하고,debug
설정을 전역 값과 병합- 문서 업데이트: Lazy/Conditional Hydration, Global Configuration, App Router 예제(CSP nonce 연결), SSR/CSR 브리지, 접근성/보안, 로드맵 갱신
Tests
hydrateOnInteraction
단일 호출 보장 동작hydrateOnIdle
timeout 폴백- 전역
defaultTarget
을 사용하는ensureHostElement
- 전역
styleTarget
을 사용하는hydrateAllVanilaComponents
Migration Notes
Breaking changes 없음. 모든 추가사항은 옵트인입니다.
Upgrade
npm install vanilla-ssr@0.4.0
v0.3.9 (2025-10-20)
Changed
- Docs updated to reference v0.3.9 (install commands, CDN links, page headings)
Breaking Changes
없음
Upgrade
npm install vanilla-ssr@0.3.9
v0.3.7 (2025-10-17)
Changed
- Library renamed from
vanila-components
tovanilla-ssr
- Updated import paths:
vanila-components
→vanilla-ssr
- Updated accessibility subpath:
vanila-components/accessibility
→vanilla-ssr/accessibility
Upgrade
npm install vanilla-ssr@0.3.7
- Search and replace imports to the new package name
v0.3.5 (2025-10-16)
Added
- vanila-components/accessibility 서브패스 신설: FocusTrap, createFocusTrap, RovingTabindex, announceToScreenReader, aria 제공
- GitHub Actions CI 워크플로우(빌드+테스트) 추가
Changed
- 문서/가이드 전반을 실제 코드 API와 경로에 맞게 정렬
- Modal 옵션: confirmText → primaryButtonText로 수정
- Modal 서버 마크업: content → message로 정정
- DataTable 컬럼 키: label → header로 정정
- 접근성 유틸 임포트: vanila-components/client → vanila-components/accessibility
- 이벤트 위임 옵션(useEventDelegation) 관련 문서 내용 제거
- Badge 예시: 존재하지 않는 createBadge 대신 renderBadge 사용 예시로 교체
- README 개선: Star/CI/TS/MIT 배지 추가, 상단 CTA 정비
- homepage URL 교정: https://docs-vanila-components.vercel.app/
Fixed
- 문서/예시 코드와 실제 구현의 불일치 해결(옵션명·임포트 경로)
Migration
- 접근성 유틸 임포트 변경
Before: import { createFocusTrap } from 'vanila-components/client' After: import { createFocusTrap } from 'vanila-components/accessibility'
- Modal 마크업 옵션 변경
Before: renderModalMarkup({ title, content, confirmText }) After: renderModalMarkup({ title, message, primaryButtonText })
- DataTable 컬럼 키 변경
Before: { key: 'name', label: 'Name' } After: { key: 'name', header: 'Name' }
- Badge 예시 변경
Before: createBadge(...) // 없음 After: renderBadge(...) 반환된 HTML 문자열을 삽입해 사용
Breaking Changes
없음 (문서 정렬 위주 변경)
Upgrade
npm install vanila-components@0.3.5
- 접근성 유틸 사용 중인 경우 서브패스 임포트로 변경 권장