npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

snowplow-es6-tracker

v0.1.0

Published

ES6 tracker for Snowplow

Downloads

3

Readme

snowplow-es6-tracker Build Status codecov Minified size

ES6 tracker for snowplowanalytics.com

Contributions welcome! Head over to CONTRIBUTING.md to learn how to contribute.

Alpha mode This project is currently in alpha mode and does not replicate all the JavaScript tracker's features. Head over to ROADMAP.md to see what features are present and which are planned.

This project aims to take the features described in the Snowplow Javascript Tracker Wiki and port them to an entirely new project written with the latest JS features.

It is not a fork of snowplow/snowplow-javascript-tracker but an entirely new project.

It is not an official snowplow tracker implementation.

The aim of this is to have a JS tracker for Snowplow that uses a more modern stack than the official one:

  • ES6 features (classes, import/export, Promise, ...)
  • Babel transpiling of ES6 to ES5
  • Webpack bundling
  • Karma tests

It also aims (in the future) to allow developers to use things such as:

  • tree-shaking. You can't always get get what you want, but you always get more than you need.
  • tracking offline users via Service Workers.
  • bundle Snowplow directly in their apps (instead of fetching the tracker on load, which delays the moment when you can start tracking users).
  • more unicorns.

Usage

yarn add snowplow-es6-tracker (or, if you're old school, npm install --save snowplow-es6-tracker).

Somewhere in your app:

import { Dictionary, Tracker, PageView, StructEvent } from 'snowplow-es6-tracker'

const dict = new Dictionary()

dict.newTracker( new Tracker( 'myES6Tracker', {
  appId: 'my-website',
  post: true,
} ) )
  .then( dict => {
    dict.getTracker( 'myES6Tracker' )
      .then( tracker => {
        const pv = new PageView( tracker, 'Page Title' )
        return tracker.trackEvent( pv )
      })
      .then( () => dict)
  })
  .then( dict => {
    dict.getTracker( 'myES6Tracker' )
      .then( tracker => {
        const se = new StructEvent( tracker, 'my-category', 'my-action', 'my-label', 'my-property', 2 )
        return tracker.trackEvent( se )
      })
      .then( () => dict)
  })

// track moar stuff