프로젝트 소개
@vskstudio/takt-solid 패키지는 Takt의 개인정보 보호 분석 코어를 SolidJS 애플리케이션에 통합하는 얇고 서버 사이드 렌더링(SSR)이 안전한 레이어입니다. 이 패키지는 기본 코어의 페이로드나 개인정보 보호 보장 내용을 수정하지 않으며, 단순히 API가 Solid에서 네이티브하게 느껴지도록 만듭니다.
주요 구성 요소:
- Takt 컴포넌트: 애플리케이션 루트 근처에 배치되어 마운트 시 분석 기능을 초기화하고, 초기 페이지뷰를 전송하며, SPA 내비게이션을 추적하고 컴포넌트 트리에 분석 인스턴스를 제공합니다.
- useTakt 훅: 호출 시점에 활성화된 분석 인스턴스를 확인합니다. Takt 컴포넌트가 마운트되기 전이나 서버 렌더링 중에는 절대 예외를 발생시키지 않는 no-operation 객체를 반환하여, 이벤트 호출을 핸들러에 안전하게 배치할 수 있게 합니다.
- createTaktEvent 함수 및 TaktEvent 컴포넌트: 명시적인 핸들러를 작성하지 않고 클릭 이벤트를 추적하는 선언적인 방법입니다. 두 방식 모두 클릭 시점에 활성 인스턴스를 확인합니다.
- takt-analytics 커스텀 엘리먼트: Solid가 아닌 페이지에서도 사용할 수 있는 프레임워크 독립적인 웹 컴포넌트입니다. 사이드 이펙트 엔트리를 임포트하면 Solid 런타임을 가져오지 않고도 엘리먼트를 등록할 수 있습니다.
- TaktBadge 및 TaktEmbed 위젯: 배지 이미지나 보안 샌드박스 및 리퍼러 정책이 적용된 iframe 임베드를 렌더링하는 얇은 래퍼입니다.
- createStats 함수: 공개 Takt API를 위한 타입 지정 클라이언트를 제공하여 요약 데이터와 같은 통계 정보를 프로그램 방식으로 검색할 수 있게 합니다.
설치에는 pnpm(또는 npm/yarn)이 필요하며, 피어 종속성으로 solid-js 1.8 버전 이상 및 @vskstudio/takt-core 0.8.1 버전 이상이 필요합니다.
설정은 Takt 컴포넌트의 props나 커스텀 엘리먼트의 속성을 통해 제공됩니다. 옵션에는 도메인, 엔드포인트, 외부 링크 추적, 파일 다운로드 추적, SPA 내비게이션 추적, 404 보고, Do Not Track 준수, localhost 제외, 샘플링 비율, 쿼리 문자열 처리, URL 스크러빙 및 마스터 활성화 스위치가 포함됩니다. Props는 마운트 시 한 번 읽으며, 변경 시에는 다시 마운트해야 합니다.
이 라이브러리는 완전한 SSR 호환성을 갖추고 있습니다. Takt 컴포넌트는 onMount 내부의 클라이언트에서만 실행되며, useTakt는 서버 렌더링 중에 안전한 no-op을 반환합니다. 서버에서 커스텀 엘리먼트를 임포트하는 것은 customElements 체크로 보호되는 no-op입니다.
DNT 지원, localhost 제외, 동의 처리 및 페이로드 고정 등 모든 개인정보 보호 관련 동작은 코어 라이브러리에서 구현되며 이 래퍼에 의해 변경되지 않습니다.
라이선스: MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.