New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

analytics

Package Overview
Dependencies
Maintainers
2
Versions
99
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

analytics - npm Package Compare versions

Comparing version 0.8.1 to 0.8.7

48

CHANGELOG.md

@@ -6,2 +6,50 @@ # Change Log

## [0.8.7](https://github.com/DavidWells/analytics/compare/analytics@0.8.6...analytics@0.8.7) (2023-05-27)
**Note:** Version bump only for package analytics
## [0.8.6](https://github.com/DavidWells/analytics/compare/analytics@0.8.5...analytics@0.8.6) (2023-05-27)
**Note:** Version bump only for package analytics
## [0.8.5](https://github.com/DavidWells/analytics/compare/analytics@0.8.4...analytics@0.8.5) (2023-05-27)
**Note:** Version bump only for package analytics
## [0.8.4](https://github.com/DavidWells/analytics/compare/analytics@0.8.3...analytics@0.8.4) (2022-07-21)
**Note:** Version bump only for package analytics
## [0.8.3](https://github.com/DavidWells/analytics/compare/analytics@0.8.2...analytics@0.8.3) (2022-07-21)
**Note:** Version bump only for package analytics
## [0.8.2](https://github.com/DavidWells/analytics/compare/analytics@0.8.1...analytics@0.8.2) (2022-07-21)
**Note:** Version bump only for package analytics
## [0.8.1](https://github.com/DavidWells/analytics/compare/analytics@0.8.0...analytics@0.8.1) (2022-03-18)

@@ -8,0 +56,0 @@

301

dist/analytics.js

@@ -53,3 +53,3 @@ var _analytics = (function (exports) {

o$1 = "object",
g$2 = "any",
b$3 = "any",
m$1 = "*",

@@ -59,6 +59,6 @@ j$1 = "__",

F$2.env && F$2.env.NODE_ENV || "";
var $$1 = "undefined" != typeof window;
var $$1 = "undefined" != typeof document;
null != F$2.versions && null != F$2.versions.node;
"undefined" != typeof Deno && void 0 !== Deno.core;
$$1 && "nodejs" === window.name || "undefined" != typeof navigator && (navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom"));
$$1 && "nodejs" === window.name || "undefined" != typeof navigator && void 0 !== navigator.userAgent && (navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom"));

@@ -410,4 +410,4 @@ function M$1(n, t) {

},
k$1 = "userId",
j = "anonymousId",
j = "userId",
k$1 = "anonymousId",
x$1 = ["bootstrap", "params", "campaign", "initializeStart", "initialize", "initializeEnd", "ready", "resetStart", "reset", "resetEnd", "pageStart", "page", "pageEnd", "pageAborted", "trackStart", "track", "trackEnd", "trackAborted", "identifyStart", "identify", "identifyEnd", "identifyAborted", "userIdChanged", "registerPlugins", "enablePlugin", "disablePlugin", "online", "offline", "setItemStart", "setItem", "setItemEnd", "setItemAborted", "removeItemStart", "removeItem", "removeItemEnd", "removeItemAborted"],

@@ -539,3 +539,3 @@ T = ["name", "EVENTS", "config", "loaded"],

a(e);
}), [k$1, j, "traits"].forEach(function (e) {
}), [j, k$1, "traits"].forEach(function (e) {
i$2($(e));

@@ -647,47 +647,55 @@ })), u.type === z.identify) {

return Promise.resolve(t.exact.reduce(function (e, i, o) {
var u = i.pluginName;
return Promise.resolve(e).then(function (e) {
function i() {
return Promise.resolve(e);
}
try {
var u = i.pluginName;
return Promise.resolve(e).then(function (e) {
function i() {
return Promise.resolve(e);
}
var o = function () {
if (t.namespaced && t.namespaced[u]) return Promise.resolve(t.namespaced[u].reduce(function (e, t, n) {
return Promise.resolve(e).then(function (e) {
return t.method && W$1(t.method) ? (function (e, t) {
var n = re(e);
var o = function () {
if (t.namespaced && t.namespaced[u]) return Promise.resolve(t.namespaced[u].reduce(function (e, t, n) {
try {
return Promise.resolve(e).then(function (e) {
return t.method && W$1(t.method) ? (function (e, t) {
var n = re(e);
if (n && n.name === t) {
var r = re(n.method);
throw new Error([t + " plugin is calling method " + e, "Plugins cant call self", "Use " + n.method + " " + (r ? "or " + r.method : "") + " in " + t + " plugin insteadof " + e].join("\n"));
}
}(t.methodName, t.pluginName), Promise.resolve(t.method({
payload: e,
instance: r,
abort: (n = e, i = u, o = t.pluginName, function (e, t) {
return g$1({}, n, {
abort: {
reason: e,
plugins: t || [i],
caller: p,
from: o || i
if (n && n.name === t) {
var r = re(n.method);
throw new Error([t + " plugin is calling method " + e, "Plugins cant call self", "Use " + n.method + " " + (r ? "or " + r.method : "") + " in " + t + " plugin insteadof " + e].join("\n"));
}
});
}),
config: K(t.pluginName, f, a),
plugins: f
})).then(function (t) {
var n = on(t) ? t : {};
return Promise.resolve(g$1({}, e, n));
})) : e;
var n, i, o;
}(t.methodName, t.pluginName), Promise.resolve(t.method({
payload: e,
instance: r,
abort: (n = e, i = u, o = t.pluginName, function (e, t) {
return g$1({}, n, {
abort: {
reason: e,
plugins: t || [i],
caller: p,
from: o || i
}
});
}),
config: K(t.pluginName, f, a),
plugins: f
})).then(function (t) {
var n = on(t) ? t : {};
return Promise.resolve(g$1({}, e, n));
})) : e;
var n, i, o;
});
} catch (e) {
return Promise.reject(e);
}
}, Promise.resolve(n))).then(function (t) {
e[u] = t;
});
}, Promise.resolve(n))).then(function (t) {
e[u] = t;
});
e[u] = n;
}();
e[u] = n;
}();
return o && o.then ? o.then(i) : i();
});
return o && o.then ? o.then(i) : i();
});
} catch (e) {
return Promise.reject(e);
}
}, Promise.resolve({}))).then(function (e) {

@@ -888,11 +896,17 @@ return Promise.resolve(t.exact.reduce(function (n, i, o) {

w = v.map(function (e) {
var t = e.name;
return J$1(e, e.loaded, 1e4).then(function (n) {
return r[t] || (i.dispatch({
type: z.pluginReadyType(t),
name: t,
var t = e.loaded,
n = e.name,
a = e.config;
return J$1(e, function () {
return t({
config: a
});
}, 1e4).then(function (t) {
return r[n] || (i.dispatch({
type: z.pluginReadyType(n),
name: n,
events: Object.keys(e).filter(function (e) {
return !T.includes(e);
})
}), r[t] = !0), y = y.concat(t), e;
}), r[n] = !0), y = y.concat(n), e;
}).catch(function (e) {

@@ -945,3 +959,3 @@ if (e instanceof Error) throw new Error(e);

var d = function (e, t) {
return void 0 === e && (e = {}), void 0 === t && (t = {}), [k$1, j].reduce(function (n, r) {
return void 0 === e && (e = {}), void 0 === t && (t = {}), [j, k$1].reduce(function (n, r) {
return e.hasOwnProperty(r) && t[r] && t[r] !== e[r] && (n[r] = t[r]), n;

@@ -1092,4 +1106,3 @@ }, e);

}(o, t, e, i, n)).then(function (e) {
var t = a(e);
return u = 1, t;
return u = 1, a(e);
});

@@ -1166,8 +1179,11 @@ }();

if (!a || !i) return t;
var o = n.enabled;
var o = n.enabled,
u = a.config;
return r[i] = {
enabled: o,
initialized: !!o && Boolean(!a.initialize),
loaded: !!o && Boolean(a.loaded()),
config: a.config || {}
loaded: !!o && Boolean(a.loaded({
config: u
})),
config: u
}, g$1({}, t, r);

@@ -1177,7 +1193,9 @@ }

if (/^initialize:([^:]*)$/.test(n.type)) {
var u = se(n.type, z.initialize),
c = e()[u];
return c && u ? (r[u] = g$1({}, t[u], {
var c = se(n.type, z.initialize),
s = e()[c];
return s && c ? (r[c] = g$1({}, t[c], {
initialized: !0,
loaded: Boolean(c.loaded())
loaded: Boolean(s.loaded({
config: s.config
}))
}), g$1({}, t, r)) : t;

@@ -1352,3 +1370,3 @@ }

name: "analytics",
version: "0.11.0"
version: "0.12.4"
},

@@ -1437,3 +1455,3 @@ timezone: void 0,

function ke(o) {
function je(o) {
void 0 === o && (o = {});

@@ -1446,6 +1464,7 @@

if (t.NAMESPACE && (t.name = t.NAMESPACE), !t.name) throw new Error("https://lytics.dev/errors/1");
t.config || (t.config = {});
var n = t.EVENTS ? Object.keys(t.EVENTS).map(function (e) {
return t.EVENTS[e];
}) : [];
e.pluginEnabled[t.name] = !(!1 === t.enabled || t.config && !1 === t.config.enabled), delete t.enabled, t.methods && (e.methods[t.name] = Object.keys(t.methods).reduce(function (e, n) {
e.pluginEnabled[t.name] = !(!1 === t.enabled || !1 === t.config.enabled), delete t.enabled, t.methods && (e.methods[t.name] = Object.keys(t.methods).reduce(function (e, n) {
var r;

@@ -1455,4 +1474,4 @@ return e[n] = (r = t.methods[n], function () {

return t[t.length] = G, r.apply({
instance: G
return t[t.length] = K, r.apply({
instance: K
}, t);

@@ -1515,3 +1534,3 @@ }), e;

return new Promise(function (n) {
se.dispatch({
le.dispatch({
type: z.enablePlugin,

@@ -1527,3 +1546,3 @@ plugins: _e(e),

return new Promise(function (n) {
se.dispatch({
le.dispatch({
type: z.disablePlugin,

@@ -1538,3 +1557,4 @@ plugins: _e(e),

}, f$1.methods),
G = {
G = !1,
K = {
identify: function (e, t, n, r) {

@@ -1545,7 +1565,7 @@ try {

u = n || {},
s = G.user();
f($(k$1), i);
var l = i || o.userId || b(k$1, G, o);
s = K.user();
f($(j), i);
var l = i || o.userId || b(j, K, o);
return Promise.resolve(new Promise(function (e) {
se.dispatch(g$1({
le.dispatch(g$1({
type: z.identifyStart,

@@ -1571,3 +1591,3 @@ userId: l,

return Promise.resolve(new Promise(function (e) {
se.dispatch({
le.dispatch({
type: z.trackStart,

@@ -1577,4 +1597,4 @@ event: i,

options: o,
userId: b(k$1, G, t),
anonymousId: b(j, G, t)
userId: b(j, K, t),
anonymousId: b(k$1, K, t)
}, e, [t, n, r]);

@@ -1591,8 +1611,8 @@ }));

return Promise.resolve(new Promise(function (a) {
se.dispatch({
le.dispatch({
type: z.pageStart,
properties: be(r),
options: i,
userId: b(k$1, G, r),
anonymousId: b(j, G, r)
userId: b(j, K, r),
anonymousId: b(k$1, K, r)
}, a, [e, t, n]);

@@ -1605,5 +1625,5 @@ }));

user: function (e) {
if (e === k$1 || "id" === e) return b(k$1, G);
if (e === j || "anonId" === e) return b(j, G);
var t = G.getState("user");
if (e === j || "id" === e) return b(j, K);
if (e === k$1 || "anonId" === e) return b(k$1, K);
var t = K.getState("user");
return e ? n$2(t, e) : t;

@@ -1613,3 +1633,3 @@ },

return new Promise(function (t) {
se.dispatch({
le.dispatch({
type: z.resetStart

@@ -1620,3 +1640,8 @@ }, t, e);

ready: function (e) {
return G.on(z.ready, e);
return G && e({
plugins: F,
instance: K
}), K.on(z.ready, function (t) {
e(t), G = !0;
});
},

@@ -1634,3 +1659,3 @@ on: function (e, t) {

payload: r,
instance: G,
instance: K,
plugins: I

@@ -1646,3 +1671,3 @@ }), e(r);

payload: r,
instance: G,
instance: K,
plugins: I

@@ -1654,8 +1679,8 @@ }), e(r);

return V(r, je), V(i, xe), function () {
B(r, je), B(i, xe);
return V(r, ke), V(i, xe), function () {
B(r, ke), B(i, xe);
};
}
var a = e.match(n) ? je : xe,
var a = e.match(n) ? ke : xe,
o = function (n) {

@@ -1666,3 +1691,3 @@ return function (n) {

payload: r,
instance: G,
instance: K,
plugins: I,

@@ -1682,6 +1707,6 @@ abort: J

if (e === z.bootstrap) throw new Error(".once disabled for " + e);
var n = G.on(e, function (e) {
var n = K.on(e, function (e) {
t({
payload: e.payload,
instance: G,
instance: K,
plugins: I,

@@ -1694,3 +1719,3 @@ abort: J

getState: function (e) {
var t = se.getState();
var t = le.getState();
return e ? n$2(t, e) : Object.assign({}, t);

@@ -1708,3 +1733,3 @@ },

});
se.dispatch(n);
le.dispatch(n);
},

@@ -1717,3 +1742,3 @@ enablePlugin: F.enable,

setItem: function (e, t, n) {
se.dispatch({
le.dispatch({
type: z.setItemStart,

@@ -1726,3 +1751,3 @@ key: e,

removeItem: function (e, t) {
se.dispatch({
le.dispatch({
type: z.removeItemStart,

@@ -1735,3 +1760,3 @@ key: e,

setAnonymousId: function (e, t) {
G.storage.setItem(N$1, e, t);
K.storage.setItem(N$1, e, t);
},

@@ -1743,3 +1768,3 @@ events: {

},
K = f$1.middlewares.concat([function (e) {
Q = f$1.middlewares.concat([function (e) {
return function (e) {

@@ -1750,7 +1775,7 @@ return function (t) {

};
}, L(je), ae(G, M, {
}, L(ke), ae(K, M, {
all: O,
plugins: A
}), oe(m), C$1(G), D(G), L(xe)]),
Q = {
}), oe(m), C$1(K), D(K), L(xe)]),
Y = {
context: Pe,

@@ -1763,11 +1788,11 @@ user: U(m),

},
Y = P,
Z = P;
Z = P,
ee = P;
if ($$1 && o.debug) {
var ee = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
ee && (Y = ee({
var te = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
te && (Z = te({
trace: !0,
traceLimit: 25
})), Z = function () {
})), ee = function () {
return 0 === arguments.length ? Ne() : on(typeof arguments[0]) ? Ae() : Ae().apply(null, arguments);

@@ -1777,4 +1802,4 @@ };

var te,
ne = function (e) {
var ne,
re = function (e) {
return Object.keys(e).reduce(function (t, n) {

@@ -1784,3 +1809,3 @@ return Se.includes(n) || (t[n] = e[n]), t;

}(o),
re = f$1.pluginsArray.reduce(function (e, t) {
ie = f$1.pluginsArray.reduce(function (e, t) {
var n = t.name,

@@ -1793,12 +1818,14 @@ r = t.config,

initialized: !!a && Boolean(!t.initialize),
loaded: Boolean(i()),
config: r || {}
loaded: Boolean(i({
config: r
})),
config: r
}, e;
}, {}),
ie = {
context: ne,
se = {
context: re,
user: W,
plugins: re
plugins: ie
},
se = w(function (e) {
le = w(function (e) {
for (var t = Object.keys(e), n = {}, r = 0; r < t.length; r++) {

@@ -1845,15 +1872,15 @@ var i = t[r];

};
}(g$1({}, Q, u)), ie, Z(Y(S.apply(void 0, K))));
}(g$1({}, Y, u)), se, ee(Z(S.apply(void 0, Q))));
se.dispatch = (te = se.dispatch, function (e, t, n) {
le.dispatch = (ne = le.dispatch, function (e, t, n) {
var r = g$1({}, e, {
meta: Oe(e.meta, t, _e(n))
});
return te.apply(null, [r]);
return ne.apply(null, [r]);
});
var le = Object.keys(I);
se.dispatch({
var fe = Object.keys(I);
le.dispatch({
type: z.bootstrap,
plugins: le,
config: ne,
plugins: fe,
config: re,
params: X,

@@ -1864,11 +1891,11 @@ user: W,

});
var fe = le.filter(function (e) {
var de = fe.filter(function (e) {
return f$1.pluginEnabled[e];
}),
de = le.filter(function (e) {
me = fe.filter(function (e) {
return !f$1.pluginEnabled[e];
});
return se.dispatch({
return le.dispatch({
type: z.registerPlugins,
plugins: le,
plugins: fe,
enabled: f$1.pluginEnabled

@@ -1880,6 +1907,6 @@ }), f$1.pluginsArray.map(function (e, t) {

n && W$1(n) && n({
instance: G,
instance: K,
config: r,
payload: e
}), se.dispatch({
}), le.dispatch({
type: z.registerPluginType(i),

@@ -1889,11 +1916,11 @@ name: i,

plugin: e
}), f$1.pluginsArray.length === t + 1 && se.dispatch({
}), f$1.pluginsArray.length === t + 1 && le.dispatch({
type: z.initializeStart,
plugins: fe,
disabled: de
plugins: de,
disabled: me
});
}), G;
}), K;
}
var je = "before",
var ke = "before",
xe = "after";

@@ -1999,3 +2026,3 @@

function A(t) {
return t ? q$1(t) ? t : t.storage : g$2;
return t ? q$1(t) ? t : t.storage : b$3;
}

@@ -2020,3 +2047,3 @@

function G(t, o) {
return t === g$2 || t === o || N(t);
return t === b$3 || t === o || N(t);
}

@@ -2043,3 +2070,3 @@

};
return ke(_objectSpread2(_objectSpread2({}, defaultSettings), opts));
return je(_objectSpread2(_objectSpread2({}, defaultSettings), opts));
}

@@ -2046,0 +2073,0 @@

{
"name": "analytics",
"version": "0.8.1",
"version": "0.8.7",
"description": "Lightweight analytics library for tracking events, page views, & identifying users. Works with any third party analytics provider via an extendable plugin system.",

@@ -65,4 +65,4 @@ "keywords": [

"dependencies": {
"@analytics/core": "^0.11.1",
"@analytics/storage-utils": "^0.4.0"
"@analytics/core": "^0.12.5",
"@analytics/storage-utils": "^0.4.2"
},

@@ -95,3 +95,3 @@ "ava": {

},
"gitHead": "911491fffca5df822a6d8eb5b6255e47983e338c"
"gitHead": "95a4dfb3bc90bfe5cc5929c2724518a06f853b6b"
}

@@ -123,3 +123,3 @@ # Analytics

analytics.track('userPurchase', {
price: 20
price: 20,
item: 'pink socks'

@@ -144,2 +144,4 @@ })

// or const Analytics = require('analytics').default
const googleAnalytics = require('@analytics/google-analytics')
const customerIo = require('@analytics/customerio')

@@ -150,6 +152,6 @@ const analytics = Analytics({

plugins: [
googleAnalyticsPlugin({
googleAnalytics({
trackingId: 'UA-121991291',
}),
customerIOPlugin({
customerIo({
siteId: '123-xyz'

@@ -160,4 +162,17 @@ })

// Fire a page view
/* Track a page view */
analytics.page()
/* Track a custom event */
analytics.track('userPurchase', {
price: 20,
item: 'pink socks'
})
/* Identify a visitor */
analytics.identify('user-id-xyz', {
firstName: 'bill',
lastName: 'murray',
email: 'da-coolest@aol.com'
})
```

@@ -180,9 +195,20 @@

version: 100,
...plugins
plugins: []
})
Analytics.track()
/* Track a page view */
Analytics.page()
// optionally expose to window
window.Analytics = Analytics
/* Track a custom event */
Analytics.track('userPurchase', {
price: 20,
item: 'pink socks'
})
/* Identify a visitor */
Analytics.identify('user-id-xyz', {
firstName: 'bill',
lastName: 'murray',
email: 'da-coolest@aol.com'
})
</script>

@@ -693,37 +719,40 @@ ```

|:---------------------------|:---------------:|:-----------:|
| **[@analytics/activity-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-activity)** <br/> User activity listener utilities | <a href="https://www.npmjs.com/package/@analytics/activity-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/activity-utils.svg"></a> | **0.1.12** |
| **[@analytics/activity-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-activity)** <br/> User activity listener utilities | <a href="https://www.npmjs.com/package/@analytics/activity-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/activity-utils.svg"></a> | **0.1.14** |
| **[@analytics/amplitude](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-amplitude)** <br/> Amplitude integration for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/amplitude"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/amplitude.svg"></a> | **0.1.3** |
| **[@analytics/aws-pinpoint](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-aws-pinpoint)** <br/> AWS Pinpoint integration for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/aws-pinpoint"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/aws-pinpoint.svg"></a> | **0.7.6** |
| **[@analytics/cookie-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-cookie)** <br/> Tiny cookie utility library | <a href="https://www.npmjs.com/package/@analytics/cookie-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/cookie-utils.svg"></a> | **0.2.9** |
| **[@analytics/core](https://github.com/DavidWells/analytics/tree/master/packages/analytics-core)** <br/> Lightweight analytics library for tracking events, page views, & identifying users. Works with any third party analytics provider via an extendable plugin system. | <a href="https://www.npmjs.com/package/@analytics/core"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/core.svg"></a> | **0.11.0** |
| **[@analytics/aws-pinpoint](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-aws-pinpoint)** <br/> AWS Pinpoint integration for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/aws-pinpoint"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/aws-pinpoint.svg"></a> | **0.7.8** |
| **[@analytics/cookie-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-cookie)** <br/> Tiny cookie utility library | <a href="https://www.npmjs.com/package/@analytics/cookie-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/cookie-utils.svg"></a> | **0.2.11** |
| **[@analytics/core](https://github.com/DavidWells/analytics/tree/master/packages/analytics-core)** <br/> Lightweight analytics library for tracking events, page views, & identifying users. Works with any third party analytics provider via an extendable plugin system. | <a href="https://www.npmjs.com/package/@analytics/core"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/core.svg"></a> | **0.12.3** |
| **[@analytics/countly](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-countly)** <br/> Countly plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/countly"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/countly.svg"></a> | **0.21.12** |
| **[@analytics/crazy-egg](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-crazy-egg)** <br/> Crazy Egg integration for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/crazy-egg"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/crazy-egg.svg"></a> | **0.1.2** |
| **[@analytics/customerio](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-customerio)** <br/> Customer.io integration for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/customerio"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/customerio.svg"></a> | **0.2.1** |
| **[@analytics/form-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-forms)** <br/> Form utility library for managing HTML form submissions & values | <a href="https://www.npmjs.com/package/@analytics/form-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/form-utils.svg"></a> | **0.3.10** |
| **[@analytics/fullstory](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-fullstory)** <br/> FullStory plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/fullstory"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/fullstory.svg"></a> | **0.2.4** |
| **[@analytics/global-storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-global)** <br/> Tiny global storage utility library | <a href="https://www.npmjs.com/package/@analytics/global-storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/global-storage-utils.svg"></a> | **0.1.4** |
| **[@analytics/google-analytics](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-google-analytics)** <br/> Google analytics plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/google-analytics"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/google-analytics.svg"></a> | **0.5.3** |
| **[@analytics/google-tag-manager](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-google-tag-manager)** <br/> Google tag manager plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/google-tag-manager"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/google-tag-manager.svg"></a> | **0.5.2** |
| **[@analytics/custify](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-custify)** <br/> Custify integration for 'analytics' module for browser & node | <a href="https://www.npmjs.com/package/@analytics/custify"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/custify.svg"></a> | **0.0.2** |
| **[@analytics/customerio](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-customerio)** <br/> Customer.io integration for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/customerio"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/customerio.svg"></a> | **0.2.2** |
| **[@analytics/form-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-forms)** <br/> Form utility library for managing HTML form submissions & values | <a href="https://www.npmjs.com/package/@analytics/form-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/form-utils.svg"></a> | **0.3.12** |
| **[@analytics/fullstory](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-fullstory)** <br/> Unofficial FullStory plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/fullstory"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/fullstory.svg"></a> | **0.2.6** |
| **[@analytics/global-storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-global)** <br/> Tiny global storage utility library | <a href="https://www.npmjs.com/package/@analytics/global-storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/global-storage-utils.svg"></a> | **0.1.6** |
| **[@analytics/google-analytics](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-google-analytics)** <br/> Google analytics v4 plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/google-analytics"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/google-analytics.svg"></a> | **1.0.5** |
| **[@analytics/google-tag-manager](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-google-tag-manager)** <br/> Google tag manager plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/google-tag-manager"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/google-tag-manager.svg"></a> | **0.5.4** |
| **[@analytics/google-analytics-v3](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-google-analytics-v3)** <br/> Google analytics v3 plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/google-analytics-v3"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/google-analytics-v3.svg"></a> | **0.6.1** |
| **[@analytics/gosquared](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-gosquared)** <br/> GoSquared integration for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/gosquared"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/gosquared.svg"></a> | **0.1.3** |
| **[@analytics/hubspot](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-hubspot)** <br/> HubSpot plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/hubspot"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/hubspot.svg"></a> | **0.5.1** |
| **[@analytics/intercom](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-intercom)** <br/> Intercom integration for 'analytics' module for browser & node | <a href="https://www.npmjs.com/package/@analytics/intercom"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/intercom.svg"></a> | **1.0.2** |
| **[@analytics/listener-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-listener)** <br/> Backward compatible event listener library for attaching & detaching event handlers | <a href="https://www.npmjs.com/package/@analytics/listener-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/listener-utils.svg"></a> | **0.2.10** |
| **[@analytics/localstorage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-local)** <br/> Tiny LocalStorage utility library | <a href="https://www.npmjs.com/package/@analytics/localstorage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/localstorage-utils.svg"></a> | **0.1.7** |
| **[@analytics/listener-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-listener)** <br/> Backward compatible event listener library for attaching & detaching event handlers | <a href="https://www.npmjs.com/package/@analytics/listener-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/listener-utils.svg"></a> | **0.3.1** |
| **[@analytics/localstorage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-local)** <br/> Tiny LocalStorage utility library | <a href="https://www.npmjs.com/package/@analytics/localstorage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/localstorage-utils.svg"></a> | **0.1.9** |
| **[@analytics/mixpanel](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-mixpanel)** <br/> Mixpanel plugin for 'analytics' module | <a href="https://www.npmjs.com/package/@analytics/mixpanel"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/mixpanel.svg"></a> | **0.4.0** |
| **[@analytics/original-source-plugin](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-original-source)** <br/> Save original referral source of visitor plugin for 'analytics' pkg | <a href="https://www.npmjs.com/package/@analytics/original-source-plugin"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/original-source-plugin.svg"></a> | **1.0.8** |
| **[@analytics/original-source-plugin](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-original-source)** <br/> Save original referral source of visitor plugin for 'analytics' pkg | <a href="https://www.npmjs.com/package/@analytics/original-source-plugin"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/original-source-plugin.svg"></a> | **1.0.10** |
| **[@analytics/ownstats](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-ownstats)** <br/> Ownstats integration for 'analytics' module for browser & node | <a href="https://www.npmjs.com/package/@analytics/ownstats"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/ownstats.svg"></a> | **0.1.2** |
| **[@analytics/perfumejs](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-perfumejs)** <br/> Send browser performance metrics to third-party analytics providers | <a href="https://www.npmjs.com/package/@analytics/perfumejs"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/perfumejs.svg"></a> | **0.2.1** |
| **[@analytics/queue-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-queue)** <br/> Dependency free queue processor | <a href="https://www.npmjs.com/package/@analytics/queue-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/queue-utils.svg"></a> | **0.1.2** |
| **[@analytics/redact-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-redact)** <br/> Utility library for redacting event data | <a href="https://www.npmjs.com/package/@analytics/redact-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/redact-utils.svg"></a> | **0.1.0** |
| **[@analytics/remote-storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-remote)** <br/> Storage utilities for cross domain localStorage access, with permissions | <a href="https://www.npmjs.com/package/@analytics/remote-storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/remote-storage-utils.svg"></a> | **0.4.17** |
| **[@analytics/redact-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-redact)** <br/> Utility library for redacting event data | <a href="https://www.npmjs.com/package/@analytics/redact-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/redact-utils.svg"></a> | **0.1.2** |
| **[@analytics/remote-storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-remote)** <br/> Storage utilities for cross domain localStorage access, with permissions | <a href="https://www.npmjs.com/package/@analytics/remote-storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/remote-storage-utils.svg"></a> | **0.4.19** |
| **[@analytics/router-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-router)** <br/> Route change utilities for single page apps | <a href="https://www.npmjs.com/package/@analytics/router-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/router-utils.svg"></a> | **0.1.1** |
| **[@analytics/scroll-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-scroll)** <br/> Scroll utility library to fire events on scroll | <a href="https://www.npmjs.com/package/@analytics/scroll-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/scroll-utils.svg"></a> | **0.1.19** |
| **[@analytics/segment](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-segment)** <br/> Segment integration for 'analytics' module for browser & node | <a href="https://www.npmjs.com/package/@analytics/segment"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/segment.svg"></a> | **1.1.3** |
| **[@analytics/session-storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-session)** <br/> Tiny SessionStorage utility library | <a href="https://www.npmjs.com/package/@analytics/session-storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/session-storage-utils.svg"></a> | **0.0.4** |
| **[@analytics/session-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-session)** <br/> Tiny session utility library | <a href="https://www.npmjs.com/package/@analytics/session-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/session-utils.svg"></a> | **0.1.16** |
| **[@analytics/simple-analytics](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-simple-analytics)** <br/> Simple analytics plugin for 'analytics' module for browser | <a href="https://www.npmjs.com/package/@analytics/simple-analytics"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/simple-analytics.svg"></a> | **0.3.3** |
| **[@analytics/snowplow](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-snowplow)** <br/> Snowplow integration for 'analytics' module for browser & node | <a href="https://www.npmjs.com/package/@analytics/snowplow"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/snowplow.svg"></a> | **0.3.2** |
| **[@analytics/storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage)** <br/> Storage utility with fallbacks | <a href="https://www.npmjs.com/package/@analytics/storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/storage-utils.svg"></a> | **0.3.0** |
| **[@analytics/type-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-types)** <br/> Tiny runtime type checking utils | <a href="https://www.npmjs.com/package/@analytics/type-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/type-utils.svg"></a> | **0.5.4** |
| **[@analytics/url-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-url)** <br/> Url utils | <a href="https://www.npmjs.com/package/@analytics/url-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/url-utils.svg"></a> | **0.2.0** |
| **[@analytics/visitor-source](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-visitor-source)** <br/> Get visitor source | <a href="https://www.npmjs.com/package/@analytics/visitor-source"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/visitor-source.svg"></a> | **0.0.3** |
| **[@analytics/scroll-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-scroll)** <br/> Scroll utility library to fire events on scroll | <a href="https://www.npmjs.com/package/@analytics/scroll-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/scroll-utils.svg"></a> | **0.1.21** |
| **[@analytics/segment](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-segment)** <br/> Segment integration for 'analytics' module for browser & node | <a href="https://www.npmjs.com/package/@analytics/segment"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/segment.svg"></a> | **1.1.4** |
| **[@analytics/session-storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage-session)** <br/> Tiny SessionStorage utility library | <a href="https://www.npmjs.com/package/@analytics/session-storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/session-storage-utils.svg"></a> | **0.0.6** |
| **[@analytics/session-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-session)** <br/> Tiny session utility library | <a href="https://www.npmjs.com/package/@analytics/session-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/session-utils.svg"></a> | **0.1.18** |
| **[@analytics/simple-analytics](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-simple-analytics)** <br/> Simple analytics plugin for 'analytics' module for browser | <a href="https://www.npmjs.com/package/@analytics/simple-analytics"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/simple-analytics.svg"></a> | **0.3.4** |
| **[@analytics/snowplow](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-snowplow)** <br/> Snowplow integration for 'analytics' module for browser & node | <a href="https://www.npmjs.com/package/@analytics/snowplow"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/snowplow.svg"></a> | **0.3.3** |
| **[@analytics/storage-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-storage)** <br/> Storage utility with fallbacks | <a href="https://www.npmjs.com/package/@analytics/storage-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/storage-utils.svg"></a> | **0.4.1** |
| **[@analytics/type-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-types)** <br/> Tiny runtime type checking utils | <a href="https://www.npmjs.com/package/@analytics/type-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/type-utils.svg"></a> | **0.6.1** |
| **[@analytics/url-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-url)** <br/> Url utils | <a href="https://www.npmjs.com/package/@analytics/url-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/url-utils.svg"></a> | **0.2.2** |
| **[@analytics/visitor-source](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-visitor-source)** <br/> Get visitor source | <a href="https://www.npmjs.com/package/@analytics/visitor-source"><img width="360" height="22" src="https://img.shields.io/npm/dm/@analytics/visitor-source.svg"></a> | **0.0.6** |
| **[analytics-cli](https://github.com/DavidWells/analytics/tree/master/packages/analytics-cli)** <br/> CLI for `analytics` pkg | <a href="https://www.npmjs.com/package/analytics-cli"><img width="360" height="22" src="https://img.shields.io/npm/dm/analytics-cli.svg"></a> | **0.0.5** |

@@ -737,3 +766,3 @@ | **[analytics-plugin-do-not-track](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-do-not-track)** <br/> Disable tracking for opted out visitors plugin for 'analytics' module | <a href="https://www.npmjs.com/package/analytics-plugin-do-not-track"><img width="360" height="22" src="https://img.shields.io/npm/dm/analytics-plugin-do-not-track.svg"></a> | **0.1.5** |

| **[analytics-util-params](https://github.com/DavidWells/analytics/tree/master/packages/analytics-util-params)** <br/> Url Parameter helper functions | <a href="https://www.npmjs.com/package/analytics-util-params"><img width="360" height="22" src="https://img.shields.io/npm/dm/analytics-util-params.svg"></a> | **0.1.2** |
| **[analytics-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-utils)** <br/> Analytics utility functions used by 'analytics' module | <a href="https://www.npmjs.com/package/analytics-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/analytics-utils.svg"></a> | **1.0.9** |
| **[analytics-utils](https://github.com/DavidWells/analytics/tree/master/packages/analytics-utils)** <br/> Analytics utility functions used by 'analytics' module | <a href="https://www.npmjs.com/package/analytics-utils"><img width="360" height="22" src="https://img.shields.io/npm/dm/analytics-utils.svg"></a> | **1.0.11** |
| **[analytics-plugin-window-events](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-window-events)** <br/> Expose window events plugin for 'analytics' module | <a href="https://www.npmjs.com/package/analytics-plugin-window-events"><img width="360" height="22" src="https://img.shields.io/npm/dm/analytics-plugin-window-events.svg"></a> | **0.0.7** |

@@ -754,2 +783,3 @@ <!-- AUTO-GENERATED-CONTENT:END -->

- [Plausible](https://www.npmjs.com/package/analytics-plugin-plausible) Adds Analytics support for Plausible
- [PostHog](https://www.npmjs.com/package/@metro-fs/analytics-plugin-posthog) Adds Analytics support for PostHog
- [ProfitWell](https://github.com/deevus/analytics-plugin-profitwell) Adds Analytics support for ProfitWell

@@ -767,2 +797,3 @@ - [Reddit Pixel](https://www.npmjs.com/package/analytics-plugin-reddit-pixel) Adds Analytics support for Reddit Pixel

- [Using AWS Lambda, API Gateway & analytics](https://blog.mikecoughlin.com/own-your-event-tracking/)
- [Using analytics to make amundsen.io pluggable](https://github.com/amundsen-io/amundsenfrontendlibrary/blob/e91c0ab9d8a39b302a71c535145a20e24326ee21/docs/application_config.md#analytics)

@@ -769,0 +800,0 @@ ## Creating analytics plugins

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc