Sobre o projeto

Analytics é uma camada leve de abstração de analytics para rastrear visualizações de página, eventos personalizados e identificar visitantes. Foi projetado para funcionar com qualquer ferramenta de analytics de terceiros ou com seu próprio backend por meio de uma arquitetura plugável. Recursos: - Sistema de plugins extensível para integrações de terceiros - Teste e depuração de analytics com viagem no tempo e modo offline - Ganchos de ciclo de vida para modificar chamadas de rastreamento - Isomorfo — funciona no navegador e no Node.js - Enfileira eventos até que as bibliotecas de analytics sejam carregadas - Carrega condicionalmente scripts de terceiros - Funciona offline - Suporte ao TypeScript Instalação: Execute o comando npm install analytics --save. Também está disponível via yarn, pnpm e bun. Uso: Importe Analytics e os plugins desejados, por exemplo googleAnalytics e customerIo. Crie uma instância passando o nome do aplicativo, versão e a lista de plugins. Depois chame analytics.page() para rastrear uma visualização de página, analytics.track('nomeDoEvento', {dados}) para eventos personalizados e analytics.identify('idDoUsuario', {traits}) para identificar um visitante. API principal: - analytics.identify(userId, traits) identifica um visitante e armazena seus dados no localStorage - analytics.track(eventName, payload) rastreia eventos personalizados - analytics.page(data) dispara o rastreamento de visualização de página - analytics.user(key) recupera dados armazenados do usuário - analytics.reset() limpa as informações do visitante e redefine o estado - analytics.ready(callback) é disparado quando todos os provedores foram carregados - analytics.on(event, callback) / analytics.once(event, callback) escuta eventos de ciclo de vida - analytics.getState(key) acessa sub‑chaves do estado interno - analytics.storage fornece utilitários para persistência de dados (localStorage, cookies) - analytics.plugins.enable/disable(namespace) gerencia plugins dinamicamente Sistema de plugins: A biblioteca vem com muitos plugins oficiais, como Google Analytics, Segment, Amplitude, AWS Pinpoint, Countly, Crazy Egg, Churnzero e activity-utils, além de plugins da comunidade. É possível criar plugins personalizados para reagir a eventos ou adicionar métodos customizados. Filosofia: - Nunca ficar preso a uma única ferramenta de analytics - Facilitar a adição ou remoção de provedores ajustando apenas o array de plugins - Respeitar a privacidade do visitante e permitir mecanismos de opt‑out - Oferecer uma API plugável para extensão da lógica de negócios