@esri/telemetry-amazon 6.0.0-beta.1 → 6.0.0-beta.11
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.
- package/README.md +9 -7
- package/dist/esm/auth.js +22 -31
- package/dist/esm/auth.js.map +1 -1
- package/dist/esm/create-event-log.js +15 -15
- package/dist/esm/create-event-log.js.map +1 -1
- package/dist/esm/create-event-log.test.js +50 -8
- package/dist/esm/create-event-log.test.js.map +1 -1
- package/dist/esm/create-page-view-log.js +0 -5
- package/dist/esm/create-page-view-log.js.map +1 -1
- package/dist/esm/format-telemetry-attributes.js +8 -4
- package/dist/esm/format-telemetry-attributes.js.map +1 -1
- package/dist/esm/index.js +42 -25
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.test.js +94 -16
- package/dist/esm/index.test.js.map +1 -1
- package/dist/esm/plugins/esri.js +358 -65
- package/dist/esm/plugins/esri.js.map +1 -1
- package/dist/esm/plugins/esri.test.js +521 -36
- package/dist/esm/plugins/esri.test.js.map +1 -1
- package/dist/esm/plugins/utils/browser.js +97 -0
- package/dist/esm/plugins/utils/browser.js.map +1 -0
- package/dist/esm/plugins/utils/browser.test.js +130 -0
- package/dist/esm/plugins/utils/browser.test.js.map +1 -0
- package/dist/esm/plugins/utils/os.js +140 -0
- package/dist/esm/plugins/utils/os.js.map +1 -0
- package/dist/esm/plugins/utils/os.test.js +54 -0
- package/dist/esm/plugins/utils/os.test.js.map +1 -0
- package/dist/esm/plugins/{shared.js → utils/shared.js} +1 -1
- package/dist/esm/plugins/utils/shared.js.map +1 -0
- package/dist/esm/types.js +97 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/node/auth.js +22 -31
- package/dist/node/auth.js.map +1 -1
- package/dist/node/create-event-log.js +15 -15
- package/dist/node/create-event-log.js.map +1 -1
- package/dist/node/create-event-log.test.js +50 -8
- package/dist/node/create-event-log.test.js.map +1 -1
- package/dist/node/create-page-view-log.js +0 -5
- package/dist/node/create-page-view-log.js.map +1 -1
- package/dist/node/format-telemetry-attributes.js +8 -4
- package/dist/node/format-telemetry-attributes.js.map +1 -1
- package/dist/node/index.js +43 -25
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.test.js +95 -16
- package/dist/node/index.test.js.map +1 -1
- package/dist/node/plugins/esri.js +358 -65
- package/dist/node/plugins/esri.js.map +1 -1
- package/dist/node/plugins/esri.test.js +522 -36
- package/dist/node/plugins/esri.test.js.map +1 -1
- package/dist/node/plugins/utils/browser.js +101 -0
- package/dist/node/plugins/utils/browser.js.map +1 -0
- package/dist/node/plugins/utils/browser.test.js +132 -0
- package/dist/node/plugins/utils/browser.test.js.map +1 -0
- package/dist/node/plugins/utils/os.js +144 -0
- package/dist/node/plugins/utils/os.js.map +1 -0
- package/dist/node/plugins/utils/os.test.js +56 -0
- package/dist/node/plugins/utils/os.test.js.map +1 -0
- package/dist/node/plugins/{shared.js → utils/shared.js} +3 -2
- package/dist/node/plugins/utils/shared.js.map +1 -0
- package/dist/node/types.js +98 -0
- package/dist/node/types.js.map +1 -1
- package/dist/types/create-event-log.d.ts +2 -2
- package/dist/types/format-telemetry-attributes.d.ts +3 -3
- package/dist/types/index.d.ts +7 -3
- package/dist/types/plugins/esri.d.ts +5 -9
- package/dist/types/plugins/utils/browser.d.ts +12 -0
- package/dist/types/plugins/utils/browser.test.d.ts +1 -0
- package/dist/types/plugins/utils/os.d.ts +5 -0
- package/dist/types/plugins/utils/os.test.d.ts +1 -0
- package/dist/types/plugins/{shared.d.ts → utils/shared.d.ts} +1 -0
- package/dist/types/types.d.ts +111 -18
- package/dist/umd/telemetry-amazon.js +928 -368
- package/dist/umd/telemetry-amazon.js.map +1 -1
- package/dist/umd/telemetry-amazon.min.js +928 -368
- package/dist/umd/telemetry-amazon.min.js.map +1 -1
- package/package.json +4 -2
- package/dist/esm/plugins/pinpoint.js +0 -163
- package/dist/esm/plugins/pinpoint.js.map +0 -1
- package/dist/esm/plugins/shared.js.map +0 -1
- package/dist/node/plugins/pinpoint.js +0 -167
- package/dist/node/plugins/pinpoint.js.map +0 -1
- package/dist/node/plugins/shared.js.map +0 -1
- package/dist/types/plugins/pinpoint.d.ts +0 -11
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ import { Amazon } from '@esri/telemetry-amazon';
|
|
|
35
35
|
|
|
36
36
|
const amazonTracker = new Amazon({
|
|
37
37
|
userPoolID: USER_POOL_ID,
|
|
38
|
-
mode: 'pinpoint', // Pinpoint retires on October 30, 2026. Use 'esri' for continued support.
|
|
38
|
+
mode: 'pinpoint', // Pinpoint retires on October 30, 2026. Use 'esri' or omit this field for continued support.
|
|
39
39
|
fips: true, // defaults to false
|
|
40
40
|
app: {
|
|
41
41
|
name: APP_NAME,
|
|
@@ -63,9 +63,11 @@ After initializing `Telemetry.js` with the Amazon plugin, telemetry data will be
|
|
|
63
63
|
|
|
64
64
|
## Amazon Configuration
|
|
65
65
|
|
|
66
|
-
- Get your app and user pool ID from AWS
|
|
66
|
+
- Get your app and user pool ID from AWS
|
|
67
67
|
- Pass in an options object to create an instance of the Amazon plugin
|
|
68
|
-
- the `fips` option determines if AWS FIPS endpoints are used for cognito
|
|
68
|
+
- the `fips` option determines if AWS FIPS endpoints are used for cognito requests
|
|
69
|
+
- The optional `env` option selects the Esri endpoint environment and defaults to `"production"`
|
|
70
|
+
- In a future release this `env` will be auto-detected, but this parameter will remain
|
|
69
71
|
- Pass in an object containing the mapping for your custom dimensions and metrics
|
|
70
72
|
|
|
71
73
|
```js
|
|
@@ -173,17 +175,17 @@ const result = await Amazon.setAccessPermissions(setAccessParams: ISetAccessPerm
|
|
|
173
175
|
|
|
174
176
|
Amazon Pinpoint will be retired on **October 30, 2026**. After this date, Pinpoint can no longer be used for telemetry delivery. See the [official AWS retirement announcement](https://docs.aws.amazon.com/pinpoint/latest/userguide/migrate.html) for details.
|
|
175
177
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
**Note:** The current default is still Pinpoint mode. For continued support, set `mode: 'esri'` in your tracker configuration:
|
|
178
|
+
By default, the Amazon tracker now sends events to Esri's backend instead of Pinpoint while keeping the same tracker identity. No changes to your plugin configuration are necessary. Prior to Pinpoint's retirement you can set `mode: 'pinpoint'` to restore legacy behavior and/or to verify the shape of the events being logged:
|
|
179
179
|
|
|
180
180
|
```js
|
|
181
181
|
const amazonTracker = new Amazon({
|
|
182
|
-
mode: '
|
|
182
|
+
mode: 'pinpoint',
|
|
183
183
|
....
|
|
184
184
|
});
|
|
185
185
|
```
|
|
186
186
|
|
|
187
|
+
NOTE: After **October 30, 2026** the `mode: 'pinpoint'` property will be a no-op, and all traffic will be routed through the Esri backend.
|
|
188
|
+
|
|
187
189
|
## Issues
|
|
188
190
|
|
|
189
191
|
If something isn't working, please take a look at [previously logged issues](https://devtopia.esri.com/WebGIS/arcgis-telemetry.js/issues) first. Have you found a new bug? Create an issue [here](https://devtopia.esri.com/WebGIS/arcgis-telemetry.js/issues/new).
|
package/dist/esm/auth.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { storage } from '@esri/telemetry';
|
|
2
2
|
const COGNITO_KEY = 'TELEMETRY_COGNITO_CREDENTIALS';
|
|
3
|
-
export function getCredentials(IdentityPoolId, options = {}) {
|
|
3
|
+
export async function getCredentials(IdentityPoolId, options = {}) {
|
|
4
4
|
const fipsSubdomainSuffix = options.fips === true ? '-fips' : '';
|
|
5
5
|
const COGNITO_URL = `https://cognito-identity${fipsSubdomainSuffix}.us-east-1.amazonaws.com/`;
|
|
6
6
|
let cached = storage.get(COGNITO_KEY);
|
|
7
7
|
if (cached && Date.now() / 1000 < cached.Expiration)
|
|
8
|
-
return
|
|
8
|
+
return cached;
|
|
9
9
|
const fetchOptions = {
|
|
10
10
|
method: 'POST',
|
|
11
11
|
headers: {
|
|
@@ -14,34 +14,25 @@ export function getCredentials(IdentityPoolId, options = {}) {
|
|
|
14
14
|
},
|
|
15
15
|
body: JSON.stringify({ IdentityPoolId }),
|
|
16
16
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (!response.ok) {
|
|
38
|
-
throw new Error(response.statusText);
|
|
39
|
-
}
|
|
40
|
-
return response.json();
|
|
41
|
-
})
|
|
42
|
-
.then(({ Credentials }) => {
|
|
43
|
-
storage.set(COGNITO_KEY, Credentials);
|
|
44
|
-
return Credentials;
|
|
45
|
-
});
|
|
17
|
+
const getIdResponse = await fetch(COGNITO_URL, fetchOptions);
|
|
18
|
+
if (!getIdResponse.ok) {
|
|
19
|
+
throw new Error(getIdResponse.statusText);
|
|
20
|
+
}
|
|
21
|
+
const { IdentityId } = await getIdResponse.json();
|
|
22
|
+
const credentialsOptions = {
|
|
23
|
+
method: 'POST',
|
|
24
|
+
headers: {
|
|
25
|
+
'Content-type': 'application/x-amz-json-1.1',
|
|
26
|
+
'X-Amz-Target': 'AWSCognitoIdentityService.GetCredentialsForIdentity',
|
|
27
|
+
},
|
|
28
|
+
body: JSON.stringify({ IdentityId }),
|
|
29
|
+
};
|
|
30
|
+
const getCredentialsResponse = await fetch(COGNITO_URL, credentialsOptions);
|
|
31
|
+
if (!getCredentialsResponse.ok) {
|
|
32
|
+
throw new Error(getCredentialsResponse.statusText);
|
|
33
|
+
}
|
|
34
|
+
const { Credentials } = await getCredentialsResponse.json();
|
|
35
|
+
storage.set(COGNITO_KEY, Credentials);
|
|
36
|
+
return Credentials;
|
|
46
37
|
}
|
|
47
38
|
//# sourceMappingURL=auth.js.map
|
package/dist/esm/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAEpD,MAAM,UAAU,cAAc,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAsB,EACtB,UAA2C,EAAE;IAE7C,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,2BAA2B,mBAAmB,2BAA2B,CAAC;IAC9F,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC;IAEnE,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,4BAA4B;YAC5C,cAAc,EAAE,iCAAiC;SAClD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;KACzC,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;KAC3C;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,kBAAkB,GAAG;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,4BAA4B;YAC5C,cAAc,EAAE,qDAAqD;SACtE;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;KACrC,CAAC;IAEF,MAAM,sBAAsB,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC5E,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;KACpD;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { formatTelemetryAttributes } from './format-telemetry-attributes';
|
|
2
2
|
import { formatTelemetryMetrics } from './format-telemetry-metrics';
|
|
3
|
+
import { AMAZON_EVENT_ATTRIBUTE_KEYS, } from './types';
|
|
3
4
|
export function createEventLog({ event = {}, dimensionLookup = {}, metricLookup = {}, }) {
|
|
4
|
-
var _a, _b;
|
|
5
|
+
var _a, _b, _c;
|
|
6
|
+
const acceptedAttributeKeys = new Set(AMAZON_EVENT_ATTRIBUTE_KEYS);
|
|
5
7
|
const { pathname: eventPathname, eventType = 'other' } = event;
|
|
6
8
|
const metrics = formatTelemetryMetrics(event, metricLookup);
|
|
7
|
-
const
|
|
8
|
-
telemetryData: Object.assign({
|
|
9
|
+
const formattedEventAttributes = formatTelemetryAttributes({
|
|
10
|
+
telemetryData: Object.assign({}, event),
|
|
9
11
|
dimensionLookup,
|
|
10
|
-
excludeKeys: [
|
|
11
|
-
'workflow',
|
|
12
|
-
'pathname',
|
|
13
|
-
...Object.keys(metrics),
|
|
14
|
-
...Object.keys(metricLookup),
|
|
15
|
-
],
|
|
16
12
|
});
|
|
17
|
-
const
|
|
13
|
+
const eventAttributes = Object.fromEntries(Object.entries(formattedEventAttributes).filter(([key]) => {
|
|
14
|
+
return acceptedAttributeKeys.has(key);
|
|
15
|
+
}));
|
|
16
|
+
const telemetryPayload = Object.assign(Object.assign(Object.assign({}, eventAttributes), metrics), { name: eventType });
|
|
18
17
|
// Set browser properties if available
|
|
19
|
-
if (typeof document !== 'undefined' &&
|
|
18
|
+
if (typeof document !== 'undefined' &&
|
|
19
|
+
document.referrer &&
|
|
20
|
+
!telemetryPayload.referrer) {
|
|
20
21
|
telemetryPayload.referrer = document.referrer;
|
|
21
22
|
}
|
|
22
23
|
if (typeof window !== 'undefined' && !telemetryPayload.hostname) {
|
|
23
24
|
telemetryPayload.hostname = (_a = window.location) === null || _a === void 0 ? void 0 : _a.hostname;
|
|
24
25
|
}
|
|
25
|
-
telemetryPayload.path =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
: eventPathname;
|
|
26
|
+
(_b = telemetryPayload.path) !== null && _b !== void 0 ? _b : (telemetryPayload.path = typeof window !== 'undefined' && window.location.pathname
|
|
27
|
+
? (_c = window.location) === null || _c === void 0 ? void 0 : _c.pathname
|
|
28
|
+
: eventPathname);
|
|
29
29
|
return telemetryPayload;
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=create-event-log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-event-log.js","sourceRoot":"","sources":["../../src/create-event-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-event-log.js","sourceRoot":"","sources":["../../src/create-event-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EACL,2BAA2B,GAG5B,MAAM,SAAS,CAAC;AAEjB,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,GAAG,EAAqB,EAC7B,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAKlB;;IACC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS,2BAA2B,CAAC,CAAC;IAC3E,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;QACzD,aAAa,oBAAO,KAAK,CAAE;QAC3B,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;QACxD,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,CACH,CAAC;IACF,MAAM,gBAAgB,iDACjB,eAAe,GACf,OAAO,KACV,IAAI,EAAE,SAAS,GAChB,CAAC;IAEF,sCAAsC;IACtC,IACE,OAAO,QAAQ,KAAK,WAAW;QAC/B,QAAQ,CAAC,QAAQ;QACjB,CAAC,gBAAgB,CAAC,QAAQ,EAC1B;QACA,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;KAC/C;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC/D,gBAAgB,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ,CAAC;KACvD;IAED,MAAA,gBAAgB,CAAC,IAAI,oCAArB,gBAAgB,CAAC,IAAI,GACnB,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ;QACvD,CAAC,CAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ;QAC3B,CAAC,CAAC,aAAa,EAAC;IAEpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -35,7 +35,6 @@ describe('Window defined - Browser', () => {
|
|
|
35
35
|
action: 'bar',
|
|
36
36
|
category: 'foo',
|
|
37
37
|
dimension6: 'abcdef0123456789',
|
|
38
|
-
eventType: 'download',
|
|
39
38
|
hostname: 'https://hostname.com',
|
|
40
39
|
label: 'buzz',
|
|
41
40
|
path: '/path/name',
|
|
@@ -69,7 +68,6 @@ describe('Window defined - Browser', () => {
|
|
|
69
68
|
action: 'bar',
|
|
70
69
|
category: 'foo',
|
|
71
70
|
dimension6: 'abcdef0123456789',
|
|
72
|
-
eventType: 'download',
|
|
73
71
|
hostname: 'https://hostname.com',
|
|
74
72
|
label: 'buzz',
|
|
75
73
|
path: '/path/name',
|
|
@@ -104,7 +102,6 @@ describe('Window defined - Browser', () => {
|
|
|
104
102
|
action: 'bar',
|
|
105
103
|
category: 'foo',
|
|
106
104
|
dimension6: 'abcdef0123456789',
|
|
107
|
-
eventType: 'other',
|
|
108
105
|
hostname: 'https://hostname.com',
|
|
109
106
|
label: 'buzz',
|
|
110
107
|
path: '/path/name',
|
|
@@ -126,13 +123,62 @@ describe('Window defined - Browser', () => {
|
|
|
126
123
|
};
|
|
127
124
|
const result = createEventLog({ event, dimensionLookup, metricLookup });
|
|
128
125
|
expect(result).toEqual({
|
|
129
|
-
eventType: 'other',
|
|
130
126
|
hostname: 'https://hostname.com',
|
|
131
127
|
path: '/path/name',
|
|
132
128
|
referrer: 'https://foo-bar.com',
|
|
133
129
|
name: 'other',
|
|
134
130
|
});
|
|
135
131
|
});
|
|
132
|
+
test('createEventLog keeps workflow eventType as tracking name', () => {
|
|
133
|
+
const event = {
|
|
134
|
+
name: 'item panel action',
|
|
135
|
+
eventType: 'workflow',
|
|
136
|
+
category: 'item panel action',
|
|
137
|
+
action: 'start',
|
|
138
|
+
details: 'table',
|
|
139
|
+
duration: 0,
|
|
140
|
+
};
|
|
141
|
+
const result = createEventLog({
|
|
142
|
+
event,
|
|
143
|
+
dimensionLookup: {},
|
|
144
|
+
metricLookup: {},
|
|
145
|
+
});
|
|
146
|
+
expect(result).toEqual({
|
|
147
|
+
category: 'item panel action',
|
|
148
|
+
action: 'start',
|
|
149
|
+
details: 'table',
|
|
150
|
+
hostname: 'https://hostname.com',
|
|
151
|
+
path: '/path/name',
|
|
152
|
+
referrer: 'https://foo-bar.com',
|
|
153
|
+
name: 'workflow',
|
|
154
|
+
duration: 0,
|
|
155
|
+
});
|
|
156
|
+
expect(result).not.toHaveProperty('eventType');
|
|
157
|
+
});
|
|
158
|
+
test('createEventLog drops attributes outside the accepted allowlist', () => {
|
|
159
|
+
const event = {
|
|
160
|
+
eventType: 'download',
|
|
161
|
+
category: 'foo',
|
|
162
|
+
action: 'bar',
|
|
163
|
+
unknownField: 'drop-me',
|
|
164
|
+
workflowId: 'abc123',
|
|
165
|
+
};
|
|
166
|
+
const result = createEventLog({
|
|
167
|
+
event,
|
|
168
|
+
dimensionLookup: {},
|
|
169
|
+
metricLookup: {},
|
|
170
|
+
});
|
|
171
|
+
expect(result).toEqual({
|
|
172
|
+
category: 'foo',
|
|
173
|
+
action: 'bar',
|
|
174
|
+
workflowId: 'abc123',
|
|
175
|
+
hostname: 'https://hostname.com',
|
|
176
|
+
path: '/path/name',
|
|
177
|
+
referrer: 'https://foo-bar.com',
|
|
178
|
+
name: 'download',
|
|
179
|
+
});
|
|
180
|
+
expect(result).not.toHaveProperty('unknownField');
|
|
181
|
+
});
|
|
136
182
|
});
|
|
137
183
|
describe('Window undefined - Server', () => {
|
|
138
184
|
beforeEach(() => {
|
|
@@ -164,7 +210,6 @@ describe('Window undefined - Server', () => {
|
|
|
164
210
|
action: 'bar',
|
|
165
211
|
category: 'foo',
|
|
166
212
|
dimension6: 'abcdef0123456789',
|
|
167
|
-
eventType: 'download',
|
|
168
213
|
label: 'buzz',
|
|
169
214
|
name: 'download',
|
|
170
215
|
count: 4,
|
|
@@ -196,7 +241,6 @@ describe('Window undefined - Server', () => {
|
|
|
196
241
|
action: 'bar',
|
|
197
242
|
category: 'foo',
|
|
198
243
|
dimension6: 'abcdef0123456789',
|
|
199
|
-
eventType: 'download',
|
|
200
244
|
label: 'buzz',
|
|
201
245
|
name: 'download',
|
|
202
246
|
count: 4,
|
|
@@ -228,7 +272,6 @@ describe('Window undefined - Server', () => {
|
|
|
228
272
|
action: 'bar',
|
|
229
273
|
category: 'foo',
|
|
230
274
|
dimension6: 'abcdef0123456789',
|
|
231
|
-
eventType: 'download',
|
|
232
275
|
label: 'buzz',
|
|
233
276
|
name: 'download',
|
|
234
277
|
count: 4,
|
|
@@ -262,7 +305,6 @@ describe('Window undefined - Server', () => {
|
|
|
262
305
|
action: 'bar',
|
|
263
306
|
category: 'foo',
|
|
264
307
|
dimension6: 'abcdef0123456789',
|
|
265
|
-
eventType: 'download',
|
|
266
308
|
label: 'buzz',
|
|
267
309
|
name: 'download',
|
|
268
310
|
count: 4,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-event-log.test.js","sourceRoot":"","sources":["../../src/create-event-log.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,sBAAsB,qBAAQ,MAAM,CAAC,QAAQ,CAAE,CAAC;IACtD,IAAI,mBAAmB,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,iCAC1D,sBAAsB,KACzB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,YAAY,IACtB,CAAC,CAAC;QACJ,mBAAmB,GAAG,IAAI;aACvB,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;aAClC,kBAAkB,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,kBAAkB;YAC7B,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,CAAC;SACT,CAAC;QAEF,MAAM,eAAe,GAAG;YACtB,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;SACf,CAAC;QAEF,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,kBAAkB;YAC9B,
|
|
1
|
+
{"version":3,"file":"create-event-log.test.js","sourceRoot":"","sources":["../../src/create-event-log.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,6 @@ export function createPageViewLog({ page, previousPage = {}, options = {}, dimen
|
|
|
5
5
|
const attributes = formatTelemetryAttributes({
|
|
6
6
|
telemetryData: options,
|
|
7
7
|
dimensionLookup,
|
|
8
|
-
excludeKeys: [
|
|
9
|
-
'workflow',
|
|
10
|
-
...Object.keys(metrics),
|
|
11
|
-
...Object.keys(metricLookup),
|
|
12
|
-
],
|
|
13
8
|
});
|
|
14
9
|
const { referrer, title } = document || {};
|
|
15
10
|
const { hostname, pathname } = window && window.location ? window.location : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-page-view-log.js","sourceRoot":"","sources":["../../src/create-page-view-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAOlB;IACC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,yBAAyB,CAAC;QAC3C,aAAa,EAAE,OAAO;QACtB,eAAe;
|
|
1
|
+
{"version":3,"file":"create-page-view-log.js","sourceRoot":"","sources":["../../src/create-page-view-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAOlB;IACC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,yBAAyB,CAAC;QAC3C,aAAa,EAAE,OAAO;QACtB,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC1B,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAU,CAAC;IAE5D,qCACE,IAAI,EAAE,UAAU,EAChB,QAAQ;QACR,QAAQ,EACR,IAAI,EAAE,IAAI,IAAI,QAAQ,EACtB,OAAO,EAAE,IAAI,IAAI,QAAQ,EACzB,QAAQ,EAAE,KAAK,EACf,eAAe,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,EACtC,gBAAgB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,IACrC,UAAU,GACV,OAAO,EACV;AACJ,CAAC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { AMAZON_EVENT_ATTRIBUTE_KEYS } from './types';
|
|
2
|
+
function isAmazonEventAttributeKey(key) {
|
|
3
|
+
return AMAZON_EVENT_ATTRIBUTE_KEYS.includes(key);
|
|
4
|
+
}
|
|
5
|
+
export function formatTelemetryAttributes({ telemetryData, dimensionLookup = {}, }) {
|
|
2
6
|
return Object.keys(telemetryData)
|
|
3
7
|
.filter((key) => {
|
|
4
|
-
return
|
|
8
|
+
return isAmazonEventAttributeKey(key);
|
|
5
9
|
})
|
|
6
10
|
.map((key) => {
|
|
7
11
|
if (dimensionLookup[key]) {
|
|
8
12
|
return {
|
|
9
13
|
key: getCustomDimensionKey(dimensionLookup, key),
|
|
10
|
-
value: telemetryData
|
|
14
|
+
value: getValue(telemetryData, key),
|
|
11
15
|
};
|
|
12
16
|
}
|
|
13
17
|
return {
|
|
@@ -24,7 +28,7 @@ function getValue(data, key) {
|
|
|
24
28
|
if (key === 'json') {
|
|
25
29
|
return data[key] ? JSON.stringify(data[key]) : 'null';
|
|
26
30
|
}
|
|
27
|
-
return data[key] === undefined ? 'null' : data[key]
|
|
31
|
+
return data[key] === undefined ? 'null' : String(data[key]);
|
|
28
32
|
}
|
|
29
33
|
function getCustomDimensionKey(lookup, key) {
|
|
30
34
|
return `dimension${lookup[key]}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-telemetry-attributes.js","sourceRoot":"","sources":["../../src/format-telemetry-attributes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CAAC,EACxC,aAAa,EACb,eAAe,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"format-telemetry-attributes.js","sourceRoot":"","sources":["../../src/format-telemetry-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAwB,MAAM,SAAS,CAAC;AAE5E,SAAS,yBAAyB,CAAC,GAAW;IAC5C,OAAQ,2BAAiD,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,aAAa,EACb,eAAe,GAAG,EAAE,GAIrB;IACC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO;gBACL,GAAG,EAAE,qBAAqB,CAAC,eAAe,EAAE,GAAG,CAAC;gBAChD,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;aACpC,CAAC;SACH;QAED,OAAO;YACL,GAAG;YACH,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,SAAS,QAAQ,CAAC,IAA6B,EAAE,GAAW;IAC1D,IAAI,GAAG,KAAK,MAAM,EAAE;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KACvD;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA8B,EAC9B,GAAW;IAEX,OAAO,YAAY,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnC,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { createEventLog } from './create-event-log';
|
|
2
2
|
import { createPageViewLog } from './create-page-view-log';
|
|
3
|
+
import Analytics from 'analytics';
|
|
4
|
+
import awsPinpointPlugin from '@analytics/aws-pinpoint';
|
|
5
|
+
import { getCredentials } from './auth';
|
|
3
6
|
import { setPortalItemAccessPermissions } from './set-portal-item-access-permissions';
|
|
4
7
|
import { getPortalItemAccessPermissions } from './get-portal-item-access-permissions';
|
|
5
|
-
import { createPinpointPlugin } from './plugins/pinpoint';
|
|
6
8
|
import { createEsriPlugin } from './plugins/esri';
|
|
9
|
+
// October 31, 2026
|
|
10
|
+
const PINPOINT_RETIREMENT_CUTOFF_UTC_MS = Date.parse('2026-10-31T00:00:00.000Z');
|
|
7
11
|
/**
|
|
8
12
|
* Amazon Telemetry
|
|
9
13
|
* Supports Pinpoint and Esri endpoint modes
|
|
@@ -13,29 +17,40 @@ export class Amazon {
|
|
|
13
17
|
this.name = 'amazon';
|
|
14
18
|
this.previousPage = {};
|
|
15
19
|
this.isInitialized = false;
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
20
|
+
this.appConfig = {};
|
|
21
|
+
this.isPinpointRetired = (nowMs = Date.now()) => nowMs >= PINPOINT_RETIREMENT_CUTOFF_UTC_MS;
|
|
22
|
+
// default to `esri` mode if not specified
|
|
23
|
+
const { app = {}, fips, userPoolID, env, mode = 'esri' } = options;
|
|
24
|
+
Object.assign(this, options);
|
|
25
|
+
this.appConfig = app;
|
|
26
|
+
this.userPoolIDConfig = userPoolID;
|
|
27
|
+
this.fipsConfig = fips;
|
|
28
|
+
/** @deprecated Pinpoint is retiring on October 31, 2026. After this point all traffic will be routed to the in-house endpoint */
|
|
29
|
+
if (mode === 'pinpoint' && !this.isPinpointRetired()) {
|
|
30
|
+
this.mode = 'pinpoint';
|
|
31
|
+
this.analytics = Analytics({
|
|
32
|
+
app: app.name,
|
|
33
|
+
version: app.version,
|
|
34
|
+
plugins: [
|
|
35
|
+
awsPinpointPlugin({
|
|
36
|
+
fips,
|
|
37
|
+
pinpointAppId: app.id,
|
|
38
|
+
getCredentials: () => getCredentials(userPoolID, { fips }),
|
|
39
|
+
}),
|
|
40
|
+
],
|
|
36
41
|
});
|
|
42
|
+
return;
|
|
37
43
|
}
|
|
38
|
-
|
|
44
|
+
this.mode = 'esri';
|
|
45
|
+
this.analytics = createEsriPlugin({
|
|
46
|
+
trackerName: this.name,
|
|
47
|
+
appName: this.appConfig.name,
|
|
48
|
+
appVersion: this.appConfig.version,
|
|
49
|
+
appId: this.appConfig.id,
|
|
50
|
+
userPoolID: this.userPoolIDConfig,
|
|
51
|
+
fips: this.fipsConfig,
|
|
52
|
+
env,
|
|
53
|
+
});
|
|
39
54
|
}
|
|
40
55
|
init() {
|
|
41
56
|
// if already initialized, return
|
|
@@ -66,16 +81,18 @@ export class Amazon {
|
|
|
66
81
|
});
|
|
67
82
|
const { pageUrl, pageName } = telemetryPayload;
|
|
68
83
|
this.previousPage = { pageUrl, pageName };
|
|
69
|
-
|
|
84
|
+
const result = this.analytics.track('pageView', telemetryPayload);
|
|
85
|
+
return typeof result === 'boolean' ? result : true;
|
|
70
86
|
}
|
|
71
|
-
logEvent(event = {}) {
|
|
87
|
+
logEvent(event = {}, trackOptions) {
|
|
72
88
|
const telemetryPayload = createEventLog({
|
|
73
89
|
event,
|
|
74
90
|
dimensionLookup: this.dimensions,
|
|
75
91
|
metricLookup: this.metrics,
|
|
76
92
|
});
|
|
77
93
|
const { name } = telemetryPayload;
|
|
78
|
-
|
|
94
|
+
const result = this.analytics.track(name, telemetryPayload, trackOptions);
|
|
95
|
+
return typeof result === 'boolean' ? result : true;
|
|
79
96
|
}
|
|
80
97
|
}
|
|
81
98
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|