@schibsted/niche-tracking
Advanced tools
Comparing version 4.0.0 to 4.1.0
@@ -14,3 +14,3 @@ "use strict"; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | ||
@@ -17,0 +17,0 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } |
@@ -14,3 +14,3 @@ "use strict"; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | ||
@@ -17,0 +17,0 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } |
@@ -14,3 +14,3 @@ "use strict"; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | ||
@@ -17,0 +17,0 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } |
@@ -18,3 +18,3 @@ "use strict"; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | ||
@@ -21,0 +21,0 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } |
@@ -10,3 +10,3 @@ "use strict"; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | ||
@@ -66,2 +66,3 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
this.queue = []; | ||
this.lastPageViewEventData = {}; | ||
} | ||
@@ -81,3 +82,8 @@ /** | ||
} = this; | ||
trackers.filter(tracker => (0, _utils.get)(`${type}.${tracker.name}`, pageviewTrackerMappers)).forEach(tracker => { | ||
this.lastPageViewEventData = {}; | ||
trackers.filter(tracker => { | ||
var _pageviewTrackerMappe; | ||
return pageviewTrackerMappers === null || pageviewTrackerMappers === void 0 ? void 0 : (_pageviewTrackerMappe = pageviewTrackerMappers[type]) === null || _pageviewTrackerMappe === void 0 ? void 0 : _pageviewTrackerMappe[tracker.name]; | ||
}).forEach(tracker => { | ||
let trackerOptions; | ||
@@ -87,3 +93,5 @@ let skip = false; | ||
try { | ||
const getTrackerOptions = (0, _utils.get)(`${type}.${tracker.name}`, pageviewTrackerMappers); | ||
var _pageviewTrackerMappe2; | ||
const getTrackerOptions = pageviewTrackerMappers === null || pageviewTrackerMappers === void 0 ? void 0 : (_pageviewTrackerMappe2 = pageviewTrackerMappers[type]) === null || _pageviewTrackerMappe2 === void 0 ? void 0 : _pageviewTrackerMappe2[tracker.name]; | ||
trackerOptions = getTrackerOptions(...options); | ||
@@ -96,2 +104,4 @@ } catch (err) { | ||
if (enabled && !skip) { | ||
this.lastPageViewEventData[tracker.name] = trackerOptions; | ||
if (initialized) { | ||
@@ -121,3 +131,7 @@ try { | ||
} = this; | ||
trackers.filter(tracker => (0, _utils.get)(`${type}.${tracker.name}`, eventTrackerMappers)).forEach(tracker => { | ||
trackers.filter(tracker => { | ||
var _eventTrackerMappers$; | ||
return eventTrackerMappers === null || eventTrackerMappers === void 0 ? void 0 : (_eventTrackerMappers$ = eventTrackerMappers[type]) === null || _eventTrackerMappers$ === void 0 ? void 0 : _eventTrackerMappers$[tracker.name]; | ||
}).forEach(tracker => { | ||
let trackerOptions; | ||
@@ -127,4 +141,6 @@ let skip = false; | ||
try { | ||
const getTrackerOptions = (0, _utils.get)(`${type}.${tracker.name}`, eventTrackerMappers); | ||
trackerOptions = getTrackerOptions(...options); | ||
var _eventTrackerMappers$2, _this$lastPageViewEve; | ||
const getTrackerOptions = eventTrackerMappers === null || eventTrackerMappers === void 0 ? void 0 : (_eventTrackerMappers$2 = eventTrackerMappers[type]) === null || _eventTrackerMappers$2 === void 0 ? void 0 : _eventTrackerMappers$2[tracker.name]; | ||
trackerOptions = getTrackerOptions(...options, (_this$lastPageViewEve = this.lastPageViewEventData) === null || _this$lastPageViewEve === void 0 ? void 0 : _this$lastPageViewEve[tracker.name]); | ||
} catch (err) { | ||
@@ -131,0 +147,0 @@ this.logger.error(`[${tracker.name}] Event mapper for ${type} failed`, err); |
{ | ||
"name": "@schibsted/niche-tracking", | ||
"version": "4.0.0", | ||
"version": "4.1.0", | ||
"description": "Package containing tracking logic reused between multiple Schibsted niche sites", | ||
@@ -15,3 +15,4 @@ "main": "dist/index.js", | ||
"lint": "eslint .", | ||
"lint-fix": "eslint . --fix" | ||
"lint-fix": "eslint . --fix", | ||
"prepare": "husky install" | ||
}, | ||
@@ -32,29 +33,28 @@ "keywords": [ | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-commit": "lint-staged" | ||
} | ||
}, | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"@babel/cli": "^7.8.4", | ||
"@babel/core": "^7.9.6", | ||
"@babel/plugin-proposal-class-properties": "^7.8.3", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.9.6", | ||
"@babel/plugin-transform-flow-strip-types": "^7.9.0", | ||
"@babel/polyfill": "^7.8.7", | ||
"@babel/preset-env": "^7.9.6", | ||
"@babel/preset-flow": "^7.9.0", | ||
"@babel/cli": "^7.14.5", | ||
"@babel/core": "^7.14.6", | ||
"@babel/plugin-proposal-class-properties": "^7.14.5", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.14.5", | ||
"@babel/plugin-transform-flow-strip-types": "^7.14.5", | ||
"@babel/polyfill": "^7.12.1", | ||
"@babel/preset-env": "^7.14.5", | ||
"@babel/preset-flow": "^7.14.5", | ||
"@commitlint/cli": "^12.1.4", | ||
"@commitlint/config-conventional": "^12.1.4", | ||
"@release-it/conventional-changelog": "^3.0.1", | ||
"babel-eslint": "^10.1.0", | ||
"eslint": "^7.21.0", | ||
"eslint": "^7.31.0", | ||
"eslint-config-airbnb-base": "^14.2.1", | ||
"eslint-config-prettier": "^7.2.0", | ||
"eslint-config-prettier": "^8.3.0", | ||
"eslint-plugin-babel": "^5.3.1", | ||
"eslint-plugin-import": "^2.22.1", | ||
"eslint-plugin-prettier": "^3.3.1", | ||
"husky": "4.3.8", | ||
"lint-staged": "10.5.4", | ||
"prettier": "^2.2.1", | ||
"eslint-plugin-import": "^2.23.4", | ||
"eslint-plugin-prettier": "^3.4.0", | ||
"husky": "6.0.0", | ||
"lint-staged": "11.0.0", | ||
"prettier": "^2.3.2", | ||
"release-it": "^14.10.0", | ||
"rimraf": "^3.0.2" | ||
} | ||
} |
@@ -209,4 +209,22 @@ # Niche Tracking | ||
## Deployment | ||
Deployment is done using [Travis CI](https://travis.schibsted.io/niche-and-services/niche-tracking) | ||
The new version of the package is deployed by Travis after you push a semver tag (e.g. `v1.0.1` to Github). | ||
The make the process as smooth as possible we're using [release-it](https://www.npmjs.com/package/release-it) package. | ||
To make the release work you need to do the following: | ||
1. Generate a Github personal token with `repo` credentials. | ||
2. Set the token as `GITHUB_TOKEN` environment variable. | ||
3. Run `npm run release` and follow the wizard there (mostly pick the patch/minor/major release type and confirm everything else). | ||
Release-it does the following: | ||
- makes sure you have your workspace clean and `GITHUB_TOKEN` set | ||
- bumps the version in `package.json` and `package-lock.json` | ||
- commits the changes | ||
- tags the commit with the version number | ||
- pushes the changes and tag | ||
- creates a Github Release with the changelog since the last release | ||
## Polyfills | ||
@@ -213,0 +231,0 @@ This package requires only one polyfill: Promise. |
@@ -1,2 +0,2 @@ | ||
import { get, isWeb, isPromise } from './utils'; | ||
import { isWeb, isPromise } from './utils'; | ||
@@ -53,2 +53,3 @@ /** | ||
this.queue = []; | ||
this.lastPageViewEventData = {}; | ||
} | ||
@@ -62,5 +63,6 @@ | ||
const { trackers, pageviewTrackerMappers, enabled, initialized } = this; | ||
this.lastPageViewEventData = {}; | ||
trackers | ||
.filter((tracker) => get(`${type}.${tracker.name}`, pageviewTrackerMappers)) | ||
.filter((tracker) => pageviewTrackerMappers?.[type]?.[tracker.name]) | ||
.forEach((tracker) => { | ||
@@ -70,3 +72,3 @@ let trackerOptions; | ||
try { | ||
const getTrackerOptions = get(`${type}.${tracker.name}`, pageviewTrackerMappers); | ||
const getTrackerOptions = pageviewTrackerMappers?.[type]?.[tracker.name]; | ||
trackerOptions = getTrackerOptions(...options); | ||
@@ -79,2 +81,3 @@ } catch (err) { | ||
if (enabled && !skip) { | ||
this.lastPageViewEventData[tracker.name] = trackerOptions; | ||
if (initialized) { | ||
@@ -101,3 +104,3 @@ try { | ||
trackers | ||
.filter((tracker) => get(`${type}.${tracker.name}`, eventTrackerMappers)) | ||
.filter((tracker) => eventTrackerMappers?.[type]?.[tracker.name]) | ||
.forEach((tracker) => { | ||
@@ -107,4 +110,4 @@ let trackerOptions; | ||
try { | ||
const getTrackerOptions = get(`${type}.${tracker.name}`, eventTrackerMappers); | ||
trackerOptions = getTrackerOptions(...options); | ||
const getTrackerOptions = eventTrackerMappers?.[type]?.[tracker.name]; | ||
trackerOptions = getTrackerOptions(...options, this.lastPageViewEventData?.[tracker.name]); | ||
} catch (err) { | ||
@@ -111,0 +114,0 @@ this.logger.error(`[${tracker.name}] Event mapper for ${type} failed`, err); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
62807
28
1030
234
23