/snowplow-javascript-tracker

Snowplow event tracker for client-side and server-side JavaScript. Add analytics to your websites, web apps and servers.

Primary LanguageTypeScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Browser and Node.js analytics for Snowplow

actively-maintained Release License Build Status Saucelabs Test Status

snowplow-logo

Snowplow is a scalable open-source platform for rich, high quality, low-latency data collection. It is designed to collect high quality, complete behavioral data for enterprise business.

To find out more, please check out the Snowplow website and our documentation.

Snowplow JavaScript Trackers Overview

The Snowplow JavaScript Trackers allow you to add analytics to your websites, web apps and Node.js applications when using a Snowplow pipeline.

With these trackers you can collect user event data (page views, e-commerce transactions etc) from the client-side and server-side tiers of your websites and web apps.

Technical documentation can be found for each tracker in our Documentation.

@snowplow/browser-tracker (npm)

Technical Docs Setup Guide
i1 i2
Technical Docs Setup Guide

@snowplow/javascript-tracker (tag based)

Technical Docs Setup Guide
i3 i4
Technical Docs Setup Guide

@snowplow/node-tracker (npm)

Technical Docs Setup Guide
i5 i6
Technical Docs Setup Guide

Maintainers

Contributing
i7
Contributing

Maintainer quick start

Assuming git, Node.js 14 or 16 are installed.

Clone repository

git clone https://github.com/snowplow/snowplow-javascript-tracker.git

Install gitleaks

To commit with safety in the repository, preventing sensitive key leakage, we use gitleaks. Gitleaks runs as a pre-commit hook making sure it can prevent accidental committing of sensitive data.

To install gitleaks, you can follow the getting started section on the repository.

For open source users before the update, you might need to re-run rush install to update your git hooks from source.

⚠️ To disable gitleaks check, you can run your commit command with the SKIP=gitleaks variable. e.g. SKIP=gitleaks git commit -m "Unsafe commit".

Building

npm install -g @microsoft/rush
rush update
rush build

Testing

To run unit tests:

rush test

To run e2e browser tests (locally):

  • Add 127.0.0.1 snowplow-js-tracker.local to your hosts file:
cd trackers/javascript-tracker/
rushx test:e2e:local

Sauce Labs Test Status

Copyright and license

Licensed and distributed under the BSD 3-Clause License (An OSI Approved License).

Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang.

All rights reserved.