@esri/telemetry-amazon 6.0.0-beta.0 → 6.0.0-beta.10

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.
Files changed (78) hide show
  1. package/README.md +26 -9
  2. package/dist/esm/auth.js +22 -31
  3. package/dist/esm/auth.js.map +1 -1
  4. package/dist/esm/create-event-log.js +15 -15
  5. package/dist/esm/create-event-log.js.map +1 -1
  6. package/dist/esm/create-event-log.test.js +50 -8
  7. package/dist/esm/create-event-log.test.js.map +1 -1
  8. package/dist/esm/create-page-view-log.js +1 -6
  9. package/dist/esm/create-page-view-log.js.map +1 -1
  10. package/dist/esm/format-telemetry-attributes.js +8 -4
  11. package/dist/esm/format-telemetry-attributes.js.map +1 -1
  12. package/dist/esm/index.js +43 -19
  13. package/dist/esm/index.js.map +1 -1
  14. package/dist/esm/index.test.js +106 -160
  15. package/dist/esm/index.test.js.map +1 -1
  16. package/dist/esm/plugins/esri.js +419 -0
  17. package/dist/esm/plugins/esri.js.map +1 -0
  18. package/dist/esm/plugins/esri.test.js +556 -0
  19. package/dist/esm/plugins/esri.test.js.map +1 -0
  20. package/dist/esm/plugins/utils/browser.js +97 -0
  21. package/dist/esm/plugins/utils/browser.js.map +1 -0
  22. package/dist/esm/plugins/utils/browser.test.js +130 -0
  23. package/dist/esm/plugins/utils/browser.test.js.map +1 -0
  24. package/dist/esm/plugins/utils/os.js +140 -0
  25. package/dist/esm/plugins/utils/os.js.map +1 -0
  26. package/dist/esm/plugins/utils/os.test.js +54 -0
  27. package/dist/esm/plugins/utils/os.test.js.map +1 -0
  28. package/dist/esm/plugins/utils/shared.js +74 -0
  29. package/dist/esm/plugins/utils/shared.js.map +1 -0
  30. package/dist/esm/types.js +97 -1
  31. package/dist/esm/types.js.map +1 -1
  32. package/dist/node/auth.js +22 -31
  33. package/dist/node/auth.js.map +1 -1
  34. package/dist/node/create-event-log.js +15 -15
  35. package/dist/node/create-event-log.js.map +1 -1
  36. package/dist/node/create-event-log.test.js +50 -8
  37. package/dist/node/create-event-log.test.js.map +1 -1
  38. package/dist/node/create-page-view-log.js +1 -6
  39. package/dist/node/create-page-view-log.js.map +1 -1
  40. package/dist/node/format-telemetry-attributes.js +8 -4
  41. package/dist/node/format-telemetry-attributes.js.map +1 -1
  42. package/dist/node/index.js +43 -19
  43. package/dist/node/index.js.map +1 -1
  44. package/dist/node/index.test.js +106 -160
  45. package/dist/node/index.test.js.map +1 -1
  46. package/dist/node/plugins/esri.js +423 -0
  47. package/dist/node/plugins/esri.js.map +1 -0
  48. package/dist/node/plugins/esri.test.js +559 -0
  49. package/dist/node/plugins/esri.test.js.map +1 -0
  50. package/dist/node/plugins/utils/browser.js +101 -0
  51. package/dist/node/plugins/utils/browser.js.map +1 -0
  52. package/dist/node/plugins/utils/browser.test.js +132 -0
  53. package/dist/node/plugins/utils/browser.test.js.map +1 -0
  54. package/dist/node/plugins/utils/os.js +144 -0
  55. package/dist/node/plugins/utils/os.js.map +1 -0
  56. package/dist/node/plugins/utils/os.test.js +56 -0
  57. package/dist/node/plugins/utils/os.test.js.map +1 -0
  58. package/dist/node/plugins/utils/shared.js +83 -0
  59. package/dist/node/plugins/utils/shared.js.map +1 -0
  60. package/dist/node/types.js +98 -0
  61. package/dist/node/types.js.map +1 -1
  62. package/dist/types/create-event-log.d.ts +2 -2
  63. package/dist/types/create-page-view-log.d.ts +1 -1
  64. package/dist/types/format-telemetry-attributes.d.ts +3 -3
  65. package/dist/types/index.d.ts +14 -7
  66. package/dist/types/plugins/esri.d.ts +6 -0
  67. package/dist/types/plugins/esri.test.d.ts +1 -0
  68. package/dist/types/plugins/utils/browser.d.ts +12 -0
  69. package/dist/types/plugins/utils/browser.test.d.ts +1 -0
  70. package/dist/types/plugins/utils/os.d.ts +5 -0
  71. package/dist/types/plugins/utils/os.test.d.ts +1 -0
  72. package/dist/types/plugins/utils/shared.d.ts +12 -0
  73. package/dist/types/types.d.ts +114 -19
  74. package/dist/umd/telemetry-amazon.js +1253 -141
  75. package/dist/umd/telemetry-amazon.js.map +1 -1
  76. package/dist/umd/telemetry-amazon.min.js +1253 -141
  77. package/dist/umd/telemetry-amazon.min.js.map +1 -1
  78. package/package.json +4 -3
@@ -1,207 +1,153 @@
1
+ import { Amazon } from '.';
1
2
  import Analytics from 'analytics';
2
3
  import awsPinpointPlugin from '@analytics/aws-pinpoint';
3
- import * as portal from '@esri/arcgis-rest-portal';
4
- import { Amazon } from '.';
5
- import { setPortalItemAccessPermissions } from './set-portal-item-access-permissions';
6
- const mockAnalyticsTrack = jest.fn();
7
- jest.mock('./create-event-log', () => {
8
- return {
9
- createEventLog: jest.fn().mockImplementation(() => {
10
- return { name: 'foo' };
11
- })
12
- };
13
- });
14
- jest.mock('./create-page-view-log', () => {
15
- return {
16
- createPageViewLog: jest.fn().mockImplementation(() => {
17
- return { pageView: 'foo' };
18
- })
19
- };
20
- });
21
- jest.mock('analytics', () => {
22
- return jest.fn().mockImplementation(() => {
23
- return {
24
- track: mockAnalyticsTrack,
25
- };
26
- });
27
- });
28
- jest.mock('@analytics/aws-pinpoint', () => {
29
- return jest.fn().mockImplementation(() => {
30
- return { plugin: 'foo' };
31
- });
32
- });
33
- jest.mock('@esri/arcgis-rest-portal');
34
- const getItemMock = portal.getItem;
35
- const updateItemMock = portal.updateItem;
36
- jest.mock('./set-portal-item-access-permissions');
4
+ import { createEsriPlugin } from './plugins/esri';
5
+ jest.mock('analytics', () => ({
6
+ __esModule: true,
7
+ default: jest.fn(() => ({ track: jest.fn(() => true) })),
8
+ }));
9
+ jest.mock('@analytics/aws-pinpoint', () => ({
10
+ __esModule: true,
11
+ default: jest.fn(() => ({
12
+ name: 'aws-pinpoint',
13
+ })),
14
+ }));
15
+ jest.mock('./plugins/esri', () => ({
16
+ createEsriPlugin: jest.fn(() => ({ track: jest.fn(() => true) })),
17
+ }));
18
+ const AnalyticsMock = Analytics;
19
+ const awsPinpointPluginMock = awsPinpointPlugin;
20
+ const createEsriPluginMock = createEsriPlugin;
21
+ const PINPOINT_RETIREMENT_CUTOFF_UTC_ISO = '2026-10-31T00:00:00.000Z';
37
22
  describe('Amazon', () => {
38
- beforeEach(() => {
39
- Analytics.mockClear();
40
- awsPinpointPlugin.mockClear();
41
- mockAnalyticsTrack.mockClear();
23
+ afterEach(() => {
24
+ jest.useRealTimers();
25
+ jest.clearAllMocks();
42
26
  });
43
- test('Amazon constructor no app object', () => {
27
+ test('Amazon constructor and permissions', () => {
44
28
  const opts = {
45
29
  userPoolID: 'pool-id',
30
+ mode: 'pinpoint',
31
+ app: {
32
+ name: 'test',
33
+ id: '1234',
34
+ },
46
35
  };
47
36
  const telemetry = new Amazon(opts);
48
37
  expect(telemetry).toEqual(expect.objectContaining({
49
38
  userPoolID: 'pool-id',
50
39
  name: 'amazon',
51
- }));
52
- expect(Analytics).toHaveBeenCalledTimes(1);
53
- expect(Analytics).toBeCalledWith({ plugins: [{ plugin: 'foo' }] });
54
- expect(awsPinpointPlugin).toHaveBeenCalledTimes(1);
55
- expect(awsPinpointPlugin).toBeCalledWith(expect.objectContaining({
56
- fips: undefined,
57
- getCredentials: expect.any(Function),
58
- pinpointAppId: undefined,
40
+ mode: 'pinpoint',
59
41
  }));
60
42
  });
61
- test('Amazon constructor no fips option', () => {
62
- const opts = {
43
+ test('pinpoint mode initializes upstream analytics pinpoint plugin', () => {
44
+ jest
45
+ .useFakeTimers('modern')
46
+ .setSystemTime(new Date('2026-10-30T23:59:59.000Z').getTime());
47
+ const analyticsInstance = { track: jest.fn(() => true) };
48
+ AnalyticsMock.mockReturnValue(analyticsInstance);
49
+ new Amazon({
63
50
  userPoolID: 'pool-id',
64
51
  app: {
65
52
  name: 'test',
66
53
  id: '1234',
54
+ version: '1.0.0',
67
55
  },
68
- };
69
- const telemetry = new Amazon(opts);
70
- expect(telemetry).toEqual(expect.objectContaining({
71
- app: {
72
- id: '1234',
73
- name: 'test',
74
- },
75
- userPoolID: 'pool-id',
76
- name: 'amazon',
77
- }));
78
- expect(Analytics).toHaveBeenCalledTimes(1);
79
- expect(Analytics).toBeCalledWith({
80
- app: 'test',
81
- plugins: [{ plugin: 'foo' }],
56
+ mode: 'pinpoint',
57
+ fips: true,
82
58
  });
83
- expect(awsPinpointPlugin).toHaveBeenCalledTimes(1);
84
- expect(awsPinpointPlugin).toBeCalledWith(expect.objectContaining({
85
- fips: undefined,
86
- getCredentials: expect.any(Function),
59
+ expect(awsPinpointPluginMock).toHaveBeenCalledWith({
60
+ fips: true,
87
61
  pinpointAppId: '1234',
88
- }));
62
+ getCredentials: expect.any(Function),
63
+ });
64
+ expect(AnalyticsMock).toHaveBeenCalledWith({
65
+ app: 'test',
66
+ version: '1.0.0',
67
+ plugins: [expect.any(Object)],
68
+ });
69
+ expect(createEsriPluginMock).not.toHaveBeenCalled();
89
70
  });
90
- test('Amazon constructor fips option', () => {
91
- const opts = {
92
- fips: true,
71
+ test('pinpoint mode falls back to esri mode on and after retirement cutoff', () => {
72
+ jest
73
+ .useFakeTimers('modern')
74
+ .setSystemTime(new Date(PINPOINT_RETIREMENT_CUTOFF_UTC_ISO));
75
+ new Amazon({
93
76
  userPoolID: 'pool-id',
94
77
  app: {
95
78
  name: 'test',
96
79
  id: '1234',
80
+ version: '1.0.0',
97
81
  },
98
- };
99
- const telemetry = new Amazon(opts);
100
- expect(telemetry).toEqual(expect.objectContaining({
101
- app: {
102
- id: '1234',
103
- name: 'test',
104
- },
82
+ mode: 'pinpoint',
105
83
  fips: true,
106
- userPoolID: 'pool-id',
107
- name: 'amazon',
108
- }));
109
- expect(Analytics).toHaveBeenCalledTimes(1);
110
- expect(Analytics).toBeCalledWith({
111
- app: 'test',
112
- plugins: [{ plugin: 'foo' }],
113
84
  });
114
- expect(awsPinpointPlugin).toHaveBeenCalledTimes(1);
115
- expect(awsPinpointPlugin).toBeCalledWith(expect.objectContaining({
85
+ expect(awsPinpointPluginMock).not.toHaveBeenCalled();
86
+ expect(AnalyticsMock).not.toHaveBeenCalled();
87
+ expect(createEsriPluginMock).toHaveBeenCalledWith({
88
+ trackerName: 'amazon',
89
+ appName: 'test',
90
+ appVersion: '1.0.0',
91
+ appId: '1234',
92
+ userPoolID: 'pool-id',
116
93
  fips: true,
117
- getCredentials: expect.any(Function),
118
- pinpointAppId: '1234',
119
- }));
94
+ });
120
95
  });
121
- test('Amazon methods call dependencies', () => {
122
- const opts = {
123
- fips: true,
96
+ test('esri mode initializes esri plugin with internal endpoint config', () => {
97
+ const esriPlugin = { track: jest.fn(() => true) };
98
+ createEsriPluginMock.mockReturnValue(esriPlugin);
99
+ new Amazon({
124
100
  userPoolID: 'pool-id',
125
101
  app: {
126
102
  name: 'test',
127
103
  id: '1234',
128
104
  },
129
- };
130
- const telemetry = new Amazon(opts);
131
- telemetry.logPageView('foo');
132
- expect(mockAnalyticsTrack).toHaveBeenCalledTimes(1);
133
- expect(mockAnalyticsTrack.mock.calls[0]).toEqual([
134
- 'pageView',
135
- { pageView: 'foo' },
136
- ]);
137
- telemetry.logEvent({ eventType: 'foo' });
138
- expect(mockAnalyticsTrack).toHaveBeenCalledTimes(2);
139
- expect(mockAnalyticsTrack.mock.calls[1]).toEqual(['foo', { name: 'foo' }]);
140
- });
141
- test('Amazon track can handle undefined event or eventType', () => {
142
- const opts = {
143
- fips: true,
105
+ mode: 'esri',
106
+ });
107
+ expect(createEsriPluginMock).toHaveBeenCalledWith({
108
+ trackerName: 'amazon',
109
+ appName: 'test',
110
+ appVersion: undefined,
111
+ appId: '1234',
144
112
  userPoolID: 'pool-id',
113
+ fips: undefined,
114
+ });
115
+ expect(AnalyticsMock).not.toHaveBeenCalled();
116
+ });
117
+ test('esri mode does not throw when userPoolID is missing at runtime', () => {
118
+ new Amazon({
119
+ mode: 'esri',
145
120
  app: {
146
121
  name: 'test',
147
122
  id: '1234',
148
123
  },
149
- };
150
- const telemetry = new Amazon(opts);
151
- telemetry.logPageView(undefined);
152
- expect(mockAnalyticsTrack).toHaveBeenCalledTimes(1);
153
- expect(mockAnalyticsTrack.mock.calls[0]).toEqual([
154
- 'pageView',
155
- { pageView: 'foo' },
156
- ]);
157
- telemetry.logEvent();
158
- expect(mockAnalyticsTrack).toHaveBeenCalledTimes(2);
159
- expect(mockAnalyticsTrack.mock.calls[1]).toEqual(['foo', { name: 'foo' }]);
160
- telemetry.logEvent({});
161
- expect(mockAnalyticsTrack).toHaveBeenCalledTimes(3);
162
- expect(mockAnalyticsTrack.mock.calls[1]).toEqual(['foo', { name: 'foo' }]);
163
- });
164
- describe('init', () => {
165
- it('should set isInitialized to true', async () => {
166
- const opts = {
167
- userPoolID: 'pool-id',
168
- };
169
- const amazon = new Amazon(opts);
170
- expect(amazon.isInitialized).toBeFalsy();
171
- await amazon.init();
172
- expect(amazon.isInitialized).toBeTruthy();
173
124
  });
174
- });
175
- describe('getAccessPermissions', () => {
176
- test('should call getItem', async () => {
177
- const accessPropertiesMock = { access: { foo: 'foo', bar: 'bar' } };
178
- getItemMock.mockResolvedValue({
179
- properties: { telemetry: { arcgis: accessPropertiesMock } },
180
- });
181
- const result = await Amazon.getAccessPermissions({
182
- id: 'test_item_id',
183
- authentication: 'bar',
184
- });
185
- expect(result).toEqual(accessPropertiesMock);
186
- expect(getItemMock).toBeCalledTimes(1);
187
- getItemMock.mockRestore();
125
+ expect(createEsriPluginMock).toHaveBeenCalledWith({
126
+ trackerName: 'amazon',
127
+ appName: 'test',
128
+ appVersion: undefined,
129
+ appId: '1234',
130
+ userPoolID: undefined,
131
+ fips: undefined,
188
132
  });
133
+ expect(AnalyticsMock).not.toHaveBeenCalled();
189
134
  });
190
- describe('setAccessPermissions', () => {
191
- test('should call setPortalItemAccessPermissions if scope is portal', async () => {
192
- const result = await Amazon.setAccessPermissions({
193
- id: 'test_item_id',
194
- authentication: 'bar',
195
- username: 'test_username',
196
- accessChangeset: [
197
- {
198
- action: 'add',
199
- targetProperty: 'public',
200
- },
201
- ],
202
- });
203
- expect(setPortalItemAccessPermissions).toBeCalledTimes(1);
135
+ test('logEvent forwards immediate track option to analytics.track', () => {
136
+ const track = jest.fn(() => true);
137
+ createEsriPluginMock.mockReturnValue({ track });
138
+ const telemetry = new Amazon({
139
+ userPoolID: 'pool-id',
140
+ app: {
141
+ name: 'test',
142
+ id: '1234',
143
+ },
144
+ mode: 'esri',
204
145
  });
146
+ const result = telemetry.logEvent({ eventType: 'cta_click', category: 'nav' }, { immediate: true });
147
+ const trackMock = track;
148
+ expect(result).toBe(true);
149
+ expect(trackMock).toHaveBeenCalledTimes(1);
150
+ expect(trackMock.mock.calls[0][2]).toEqual({ immediate: true });
205
151
  });
206
152
  });
207
153
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}