Об этом проекте

Пакет @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.