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

conditional-gtag

v0.0.9

Published

Wrapper for Google tags that records views and events conditionally to initialization options, server safe

Downloads

23

Readme

conditional-gtag

Write code to record page views, screen views and events via Google Tags, firing them to Google only if some initialization says you should record them. Useful to turn on or off based on the deployment environment.

Use

###initGTag

Initialize google analytics

initGTag (options = {
    checkFn?: () => boolean;
    disableGlobalScopeCheck?: boolean;
    locationRegEx?: RegExp;
    propertyId?: string, 
})

where propertyId is the Id of your property. If you don't provide a property the code looks for the variable

window.GTAG_PROPERTY_ID

on the window object. If it doesn't find it, it won't send data to Google Analytics.

If you did provide the property ID as initialization the other potential ways to enable/disable google analytics is:

  • options.disableGlobalScopeCheck: if set to true, it will not check whether window.USE_GA is set to true. window.USE_GA is a default variable you set server side to enable google analytics

  • options.locationRegEx: Regular expression that will test the window.location.host to decide whether to enable google analytics or not. If the option is set and the check fails, GA will not be used

  • options.checkFn: Function that should return truthy if you want google analytics enabled, false otherwise

recordScreenRender

Record an app screen

recordScreenRender(screenName: string)
    
    

recordEvent

Record an event

recordEvent (action: string, category?: string, label?: string, value?: number)
    
    

recordNewView

Record the rendering of a new view

recordNewView (view: string = window.url.pathname)

LICENSE

MIT