Об этом проекте
Пакет @vskstudio/takt-solid — это тонкий слой, безопасный для серверного рендеринга (SSR), который интегрирует ядро аналитики Takt с защитой приватности в приложениях на SolidJS. Он не изменяет полезную нагрузку или гарантии конфиденциальности базового ядра; просто делает API естественным для Solid.
Ключевые компоненты:
- Компонент Takt: размещается в корне приложения, инициализирует аналитику при монтировании, отправляет начальную pageview, отслеживает SPA-навигацию и предоставляет экземпляр аналитики компонентному дереву.
- Хук useTakt: возвращает живой экземпляр аналитики в момент вызова. До монтирования компонента Takt или во время серверного рендеринга возвращает no-op объект, который никогда не выбрасывает ошибки, позволяя безопасно вызывать события в обработчиках.
- createTaktEvent и компонент TaktEvent: декларативные способы отслеживания кликов без написания явных обработчиков. Оба разрешают активный экземпляр в момент клика.
- Кастомный элемент takt‑analytics: фреймворк-агностичный веб-компонент, который можно использовать на страницах без Solid. Импорт side-effect entry регистрирует элемент без подключения Solid-райнтайма.
- Виджеты TaktBadge и TaktEmbed: тонкие обёртки, рендерящие изображение бейджа или iframe-вставку с безопасными sandbox и referrer-политиками.
- createStats: предоставляет типизированный клиент публичного Takt API для программной загрузки статистики, включая сводные данные.
Установка требует pnpm (или npm/yarn) и пир-зависимостей: solid‑js версии 1.8+ и @vskstudio/takt-core версии 0.8.1+.
Конфигурация задаётся через пропсы компонента Takt или атрибуты кастомного элемента. Опции: домен, endpoint, отслеживание исходящих ссылок, загрузок файлов, SPA-навигации, отчётность о 404, учёт Do Not Track, исключение localhost, ставка семплирования, обработка query string, очистка URL и главный флаг включения. Пропсы читаются один раз при монтировании; для изменения требуется повторное монтирование.
Полная SSR-совместимость: компонент Takt работает только на клиенте внутри onMount, useTakt возвращает безопасный no-op при серверном рендеринге. Импорт кастомного элемента на сервере — это no-op, защищённый проверкой customElements.
Всё поведение, связанное с приватностью — DNT, исключение localhost, согласование, заморозка payload — реализуется в core-библиотеке и не меняется обёрткой.
Лицензия: MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.