@walkeros/walker.js 0.0.7 → 0.0.8
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 +1 -1
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +163 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/destination.d.ts.map +1 -0
- package/dist/destination.js +28 -0
- package/dist/destination.js.map +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/walkerjs.d.ts.map +1 -0
- package/dist/walkerjs.js +35 -0
- package/dist/walkerjs.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -301,5 +301,5 @@ for contribution guidelines.
|
|
|
301
301
|
- [@walkeros/collector](../../../packages/collector) - Core collector
|
|
302
302
|
- [@walkeros/web-source-browser](../../../packages/web/sources/browser) -
|
|
303
303
|
Browser source
|
|
304
|
-
- [@walkeros/web-source-
|
|
304
|
+
- [@walkeros/web-source-datalayer](../../../packages/web/sources/dataLayer) -
|
|
305
305
|
DataLayer source
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,aAAa,0BAAY,CAAC;AAyLhC,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// Browser environment setup for walker.js tests
|
|
2
|
+
// Based on @walkeros/jest/web.setup.ts
|
|
3
|
+
const mockDataLayer = jest.fn();
|
|
4
|
+
global.beforeEach(() => {
|
|
5
|
+
jest.useFakeTimers();
|
|
6
|
+
// Mocks
|
|
7
|
+
jest.clearAllMocks();
|
|
8
|
+
jest.resetModules();
|
|
9
|
+
// Reset DOM with event listeners etc.
|
|
10
|
+
document.getElementsByTagName('html')[0].innerHTML = '';
|
|
11
|
+
document.body = document.body.cloneNode();
|
|
12
|
+
// elbLayer and dataLayer
|
|
13
|
+
const w = window;
|
|
14
|
+
w.elbLayer = undefined;
|
|
15
|
+
w.dataLayer = [];
|
|
16
|
+
w.dataLayer.push = mockDataLayer;
|
|
17
|
+
// Performance API - mock the method that was causing test failures
|
|
18
|
+
global.performance.getEntriesByType = jest
|
|
19
|
+
.fn()
|
|
20
|
+
.mockReturnValue([{ type: 'navigate' }]);
|
|
21
|
+
// Mock IntersectionObserver - required for sourceBrowser visibility tracking
|
|
22
|
+
global.IntersectionObserver = jest.fn().mockImplementation((callback) => ({
|
|
23
|
+
observe: jest.fn(),
|
|
24
|
+
unobserve: jest.fn(),
|
|
25
|
+
disconnect: jest.fn(),
|
|
26
|
+
}));
|
|
27
|
+
// Mock ResizeObserver - might be needed for responsive tracking
|
|
28
|
+
global.ResizeObserver = jest.fn().mockImplementation((callback) => ({
|
|
29
|
+
observe: jest.fn(),
|
|
30
|
+
unobserve: jest.fn(),
|
|
31
|
+
disconnect: jest.fn(),
|
|
32
|
+
}));
|
|
33
|
+
// Mock MutationObserver - needed for DOM change detection
|
|
34
|
+
global.MutationObserver = jest.fn().mockImplementation((callback) => ({
|
|
35
|
+
observe: jest.fn(),
|
|
36
|
+
disconnect: jest.fn(),
|
|
37
|
+
takeRecords: jest.fn(),
|
|
38
|
+
}));
|
|
39
|
+
// Other browser APIs that might be needed
|
|
40
|
+
Object.defineProperty(window, 'location', {
|
|
41
|
+
value: {
|
|
42
|
+
hostname: 'localhost',
|
|
43
|
+
pathname: '/',
|
|
44
|
+
search: '',
|
|
45
|
+
hash: '',
|
|
46
|
+
href: 'http://localhost:3000/',
|
|
47
|
+
origin: 'http://localhost:3000',
|
|
48
|
+
protocol: 'http:',
|
|
49
|
+
host: 'localhost:3000',
|
|
50
|
+
port: '3000',
|
|
51
|
+
},
|
|
52
|
+
writable: true,
|
|
53
|
+
});
|
|
54
|
+
// Mock document.currentScript for auto-init tests
|
|
55
|
+
Object.defineProperty(document, 'currentScript', {
|
|
56
|
+
value: null,
|
|
57
|
+
writable: true,
|
|
58
|
+
});
|
|
59
|
+
// Mock document properties
|
|
60
|
+
Object.defineProperty(document, 'title', {
|
|
61
|
+
value: 'Test Page',
|
|
62
|
+
writable: true,
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(document, 'referrer', {
|
|
65
|
+
value: '',
|
|
66
|
+
writable: true,
|
|
67
|
+
});
|
|
68
|
+
Object.defineProperty(document, 'readyState', {
|
|
69
|
+
value: 'complete',
|
|
70
|
+
writable: true,
|
|
71
|
+
});
|
|
72
|
+
// Mock navigator
|
|
73
|
+
Object.defineProperty(window, 'navigator', {
|
|
74
|
+
value: {
|
|
75
|
+
userAgent: 'Mozilla/5.0 (Node.js jsdom test environment)',
|
|
76
|
+
language: 'en-US',
|
|
77
|
+
platform: 'linux',
|
|
78
|
+
},
|
|
79
|
+
writable: true,
|
|
80
|
+
});
|
|
81
|
+
// Mock screen
|
|
82
|
+
Object.defineProperty(window, 'screen', {
|
|
83
|
+
value: {
|
|
84
|
+
width: 1920,
|
|
85
|
+
height: 1080,
|
|
86
|
+
},
|
|
87
|
+
writable: true,
|
|
88
|
+
});
|
|
89
|
+
// Mock element positioning methods - required for visibility detection
|
|
90
|
+
Element.prototype.getBoundingClientRect = jest.fn(() => ({
|
|
91
|
+
x: 0,
|
|
92
|
+
y: 0,
|
|
93
|
+
width: 100,
|
|
94
|
+
height: 100,
|
|
95
|
+
top: 0,
|
|
96
|
+
left: 0,
|
|
97
|
+
bottom: 100,
|
|
98
|
+
right: 100,
|
|
99
|
+
toJSON: jest.fn(),
|
|
100
|
+
}));
|
|
101
|
+
// Mock element offset properties
|
|
102
|
+
Object.defineProperties(Element.prototype, {
|
|
103
|
+
offsetTop: { get: () => 0, configurable: true },
|
|
104
|
+
offsetLeft: { get: () => 0, configurable: true },
|
|
105
|
+
offsetWidth: { get: () => 100, configurable: true },
|
|
106
|
+
offsetHeight: { get: () => 100, configurable: true },
|
|
107
|
+
clientWidth: { get: () => 100, configurable: true },
|
|
108
|
+
clientHeight: { get: () => 100, configurable: true },
|
|
109
|
+
});
|
|
110
|
+
// Mock getComputedStyle - required for element styling calculations
|
|
111
|
+
global.getComputedStyle = jest.fn().mockImplementation(() => ({
|
|
112
|
+
getPropertyValue: jest.fn().mockReturnValue(''),
|
|
113
|
+
width: '100px',
|
|
114
|
+
height: '100px',
|
|
115
|
+
display: 'block',
|
|
116
|
+
visibility: 'visible',
|
|
117
|
+
}));
|
|
118
|
+
// Mock matchMedia - might be needed for responsive features
|
|
119
|
+
Object.defineProperty(window, 'matchMedia', {
|
|
120
|
+
writable: true,
|
|
121
|
+
value: jest.fn().mockImplementation((query) => ({
|
|
122
|
+
matches: false,
|
|
123
|
+
media: query,
|
|
124
|
+
onchange: null,
|
|
125
|
+
addListener: jest.fn(),
|
|
126
|
+
removeListener: jest.fn(),
|
|
127
|
+
addEventListener: jest.fn(),
|
|
128
|
+
removeEventListener: jest.fn(),
|
|
129
|
+
dispatchEvent: jest.fn(),
|
|
130
|
+
})),
|
|
131
|
+
});
|
|
132
|
+
// Mock localStorage and sessionStorage - required for browser source
|
|
133
|
+
const mockStorage = {
|
|
134
|
+
getItem: jest.fn(),
|
|
135
|
+
setItem: jest.fn(),
|
|
136
|
+
removeItem: jest.fn(),
|
|
137
|
+
clear: jest.fn(),
|
|
138
|
+
key: jest.fn(),
|
|
139
|
+
length: 0,
|
|
140
|
+
};
|
|
141
|
+
Object.defineProperty(window, 'localStorage', {
|
|
142
|
+
value: mockStorage,
|
|
143
|
+
writable: true,
|
|
144
|
+
});
|
|
145
|
+
Object.defineProperty(window, 'sessionStorage', {
|
|
146
|
+
value: mockStorage,
|
|
147
|
+
writable: true,
|
|
148
|
+
});
|
|
149
|
+
// Mock requestAnimationFrame and cancelAnimationFrame
|
|
150
|
+
global.requestAnimationFrame = jest.fn((cb) => setTimeout(cb, 0));
|
|
151
|
+
global.cancelAnimationFrame = jest.fn((id) => clearTimeout(id));
|
|
152
|
+
// Mock requestIdleCallback if it exists
|
|
153
|
+
if (typeof global.requestIdleCallback === 'undefined') {
|
|
154
|
+
global.requestIdleCallback = jest.fn((cb) => setTimeout(cb, 0));
|
|
155
|
+
global.cancelIdleCallback = jest.fn((id) => clearTimeout(id));
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
global.afterEach(() => {
|
|
159
|
+
jest.runOnlyPendingTimers();
|
|
160
|
+
jest.useRealTimers();
|
|
161
|
+
});
|
|
162
|
+
export { mockDataLayer };
|
|
163
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destination.d.ts","sourceRoot":"","sources":["../src/destination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,wBAAgB,oBAAoB,IAAI,WAAW,CAAC,eAAe,CA6BlE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { isObject } from '@walkeros/core';
|
|
2
|
+
export function dataLayerDestination() {
|
|
3
|
+
window.dataLayer = window.dataLayer || [];
|
|
4
|
+
const dataLayerPush = (event) => {
|
|
5
|
+
// Do not process events from dataLayer source
|
|
6
|
+
if (isObject(event) &&
|
|
7
|
+
isObject(event.source) &&
|
|
8
|
+
String(event.source.type).includes('dataLayer'))
|
|
9
|
+
return;
|
|
10
|
+
window.dataLayer.push(event);
|
|
11
|
+
};
|
|
12
|
+
const destination = {
|
|
13
|
+
type: 'dataLayer',
|
|
14
|
+
config: {},
|
|
15
|
+
push: (event, context) => {
|
|
16
|
+
dataLayerPush(context.data || event);
|
|
17
|
+
},
|
|
18
|
+
pushBatch: (batch) => {
|
|
19
|
+
dataLayerPush({
|
|
20
|
+
event: 'batch',
|
|
21
|
+
batched_event: batch.key,
|
|
22
|
+
events: batch.data.length ? batch.data : batch.events,
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
return destination;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=destination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destination.js","sourceRoot":"","sources":["../src/destination.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,UAAU,oBAAoB;IAClC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE;QACvC,8CAA8C;QAC9C,IACE,QAAQ,CAAC,KAAK,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAE/C,OAAO;QAER,MAAM,CAAC,SAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,MAAM,WAAW,GAAyB;QACxC,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACvB,aAAa,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,aAAa,CAAC;gBACZ,KAAK,EAAE,OAAO;gBACd,aAAa,EAAE,KAAK,CAAC,GAAG;gBACxB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;aACtD,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Collector } from '@walkeros/core';
|
|
2
2
|
import { SourceBrowser } from '@walkeros/web-source-browser';
|
|
3
3
|
export { getAllEvents, getEvents, getGlobals } from '@walkeros/web-source-browser';
|
|
4
|
-
import { SourceDataLayer } from '@walkeros/web-source-
|
|
4
|
+
import { SourceDataLayer } from '@walkeros/web-source-datalayer';
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
7
7
|
interface Window {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Collector } from '@walkeros/core';
|
|
2
2
|
import { SourceBrowser } from '@walkeros/web-source-browser';
|
|
3
3
|
export { getAllEvents, getEvents, getGlobals } from '@walkeros/web-source-browser';
|
|
4
|
-
import { SourceDataLayer } from '@walkeros/web-source-
|
|
4
|
+
import { SourceDataLayer } from '@walkeros/web-source-datalayer';
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
7
7
|
interface Window {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAEL,YAAY,EACZ,SAAS,EACT,UAAU,EAEX,MAAM,8BAA8B,CAAC;AAKtC,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAG/C,wBAAsB,cAAc,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiE3E;AAGD,eAAe,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1,71 @@
|
|
|
1
|
-
|
|
1
|
+
import { createCollector } from '@walkeros/collector';
|
|
2
|
+
import { assign, isObject } from '@walkeros/core';
|
|
3
|
+
import { sourceBrowser, getAllEvents, getEvents, getGlobals, } from '@walkeros/web-source-browser';
|
|
4
|
+
import { sourceDataLayer } from '@walkeros/web-source-datalayer';
|
|
5
|
+
import { dataLayerDestination } from './destination';
|
|
6
|
+
import * as Walkerjs_1 from './types';
|
|
7
|
+
export { Walkerjs_1 as Walkerjs };
|
|
8
|
+
export { getAllEvents, getEvents, getGlobals };
|
|
9
|
+
// Factory function to create walker.js instance
|
|
10
|
+
export async function createWalkerjs(config = {}) {
|
|
11
|
+
// Default configuration
|
|
12
|
+
const defaultConfig = {
|
|
13
|
+
collector: {
|
|
14
|
+
destinations: {
|
|
15
|
+
dataLayer: dataLayerDestination(),
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
browser: {
|
|
19
|
+
run: true,
|
|
20
|
+
session: true,
|
|
21
|
+
},
|
|
22
|
+
dataLayer: false,
|
|
23
|
+
elb: 'elb',
|
|
24
|
+
};
|
|
25
|
+
const fullConfig = assign(defaultConfig, config);
|
|
26
|
+
// Build collector config with sources
|
|
27
|
+
const collectorConfig = {
|
|
28
|
+
...fullConfig.collector,
|
|
29
|
+
sources: {
|
|
30
|
+
browser: {
|
|
31
|
+
code: sourceBrowser,
|
|
32
|
+
config: {
|
|
33
|
+
settings: fullConfig.browser,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
// Add dataLayer source if configured
|
|
39
|
+
if (fullConfig.dataLayer) {
|
|
40
|
+
const dataLayerSettings = isObject(fullConfig.dataLayer)
|
|
41
|
+
? fullConfig.dataLayer
|
|
42
|
+
: {};
|
|
43
|
+
if (collectorConfig.sources) {
|
|
44
|
+
collectorConfig.sources.dataLayer = {
|
|
45
|
+
code: sourceDataLayer(dataLayerSettings),
|
|
46
|
+
config: {
|
|
47
|
+
settings: dataLayerSettings,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const { collector } = await createCollector(collectorConfig);
|
|
53
|
+
// Get browser elb function
|
|
54
|
+
const browserSource = collector.sources.browser;
|
|
55
|
+
if (!(browserSource === null || browserSource === void 0 ? void 0 : browserSource.elb)) {
|
|
56
|
+
throw new Error('Failed to initialize browser source');
|
|
57
|
+
}
|
|
58
|
+
const instance = {
|
|
59
|
+
collector,
|
|
60
|
+
elb: browserSource.elb,
|
|
61
|
+
};
|
|
62
|
+
// Set up global variables if configured
|
|
63
|
+
if (fullConfig.elb)
|
|
64
|
+
window[fullConfig.elb] = browserSource.elb;
|
|
65
|
+
if (fullConfig.name)
|
|
66
|
+
window[fullConfig.name] = collector;
|
|
67
|
+
return instance;
|
|
68
|
+
}
|
|
69
|
+
// Export factory function as default
|
|
70
|
+
export default createWalkerjs;
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GAEX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;4BAG3B,SAAS;uBAAvB,QAAQ;AAEpB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAE/C,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE;IACtD,wBAAwB;IACxB,MAAM,aAAa,GAAW;QAC5B,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,SAAS,EAAE,oBAAoB,EAAE;aAClC;SACF;QACD,OAAO,EAAE;YACP,GAAG,EAAE,IAAI;YACT,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,KAAK;KACX,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAEjD,sCAAsC;IACtC,MAAM,eAAe,GAA6B;QAChD,GAAG,UAAU,CAAC,SAAS;QACvB,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE;oBACN,QAAQ,EAAE,UAAU,CAAC,OAAO;iBAC7B;aACF;SACF;KACF,CAAC;IAEF,qCAAqC;IACrC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,UAAU,CAAC,SAAS;YACtB,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5B,eAAe,CAAC,OAAO,CAAC,SAAS,GAAG;gBAClC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBACxC,MAAM,EAAE;oBACN,QAAQ,EAAE,iBAAiB;iBAC5B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC;IAE7D,2BAA2B;IAC3B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;IAChD,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAA,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAa;QACzB,SAAS;QACT,GAAG,EAAE,aAAa,CAAC,GAAgC;KACpD,CAAC;IAEF,wCAAwC;IACxC,IAAI,UAAU,CAAC,GAAG;QAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;IAC/D,IAAI,UAAU,CAAC,IAAI;QAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAEzD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qCAAqC;AACrC,eAAe,cAAc,CAAC"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/destination.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.InitDestination {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n event: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-
|
|
1
|
+
{"version":3,"sources":["../src/destination.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.InitDestination {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n event: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n","import type { Config, Instance } from './types';\nimport { createCollector, type CollectorConfig } from '@walkeros/collector';\nimport { assign, isObject } from '@walkeros/core';\nimport {\n sourceBrowser,\n getAllEvents,\n getEvents,\n getGlobals,\n type SourceBrowser,\n} from '@walkeros/web-source-browser';\nimport { sourceDataLayer } from '@walkeros/web-source-datalayer';\nimport { dataLayerDestination } from './destination';\n\n// Re-export types\nexport * as Walkerjs from './types';\n\nexport { getAllEvents, getEvents, getGlobals };\n\n// Factory function to create walker.js instance\nexport async function createWalkerjs(config: Config = {}): Promise<Instance> {\n // Default configuration\n const defaultConfig: Config = {\n collector: {\n destinations: {\n dataLayer: dataLayerDestination(),\n },\n },\n browser: {\n run: true,\n session: true,\n },\n dataLayer: false,\n elb: 'elb',\n };\n\n const fullConfig = assign(defaultConfig, config);\n\n // Build collector config with sources\n const collectorConfig: Partial<CollectorConfig> = {\n ...fullConfig.collector,\n sources: {\n browser: {\n code: sourceBrowser,\n config: {\n settings: fullConfig.browser,\n },\n },\n },\n };\n\n // Add dataLayer source if configured\n if (fullConfig.dataLayer) {\n const dataLayerSettings = isObject(fullConfig.dataLayer)\n ? fullConfig.dataLayer\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.dataLayer = {\n code: sourceDataLayer(dataLayerSettings),\n config: {\n settings: dataLayerSettings,\n },\n };\n }\n }\n\n const { collector } = await createCollector(collectorConfig);\n\n // Get browser elb function\n const browserSource = collector.sources.browser;\n if (!browserSource?.elb) {\n throw new Error('Failed to initialize browser source');\n }\n\n const instance: Instance = {\n collector,\n elb: browserSource.elb as SourceBrowser.BrowserPush,\n };\n\n // Set up global variables if configured\n if (fullConfig.elb) window[fullConfig.elb] = browserSource.elb;\n if (fullConfig.name) window[fullConfig.name] = collector;\n\n return instance;\n}\n\n// Export factory function as default\nexport default createWalkerjs;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,SAAS,uBAAoD;AAClE,SAAO,YAAY,OAAO,aAAa,CAAC;AACxC,QAAM,gBAAgB,CAAC,UAAmB;AAExC,QACE,EAAS,KAAK,KACd,EAAS,MAAM,MAAM,KACrB,OAAO,MAAM,OAAO,IAAI,EAAE,SAAS,WAAW;AAE9C;AAEF,IAAC,OAAO,UAAyB,KAAK,KAAK;AAAA,EAC7C;AACA,QAAM,cAAoC;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC,OAAO,YAAY;AACxB,oBAAc,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,oBAAc;AAAA,QACZ,OAAO;AAAA,QACP,eAAe,MAAM;AAAA,QACrB,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAAA,MACjD,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;ACjCA;;;ACmBA,eAAsB,eAAe,SAAiB,CAAC,GAAsB;AAE3E,QAAM,gBAAwB;AAAA,IAC5B,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,WAAW,qBAAqB;AAAA,MAClC;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,EACP;AAEA,QAAM,aAAa,EAAO,eAAe,MAAM;AAG/C,QAAM,kBAA4C;AAAA,IAChD,GAAG,WAAW;AAAA,IACd,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,WAAW;AACxB,UAAM,oBAAoB,EAAS,WAAW,SAAS,IACnD,WAAW,YACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,YAAY;AAAA,QAClC,MAAMA,GAAgB,iBAAiB;AAAA,QACvC,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,EAAE,UAAU,IAAI,MAAMC,GAAgB,eAAe;AAG3D,QAAM,gBAAgB,UAAU,QAAQ;AACxC,MAAI,EAAC,+CAAe,MAAK;AACvB,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACvD;AAEA,QAAM,WAAqB;AAAA,IACzB;AAAA,IACA,KAAK,cAAc;AAAA,EACrB;AAGA,MAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI,cAAc;AAC3D,MAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI;AAE/C,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["x","J"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B;CACF;AAGD,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;IAC9B,GAAG,EAAE,aAAa,CAAC,WAAW,CAAC;CAChC;AAGD,MAAM,WAAW,MAAM;IAErB,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC;IAGjC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAG1C,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAGxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walkerjs.d.ts","sourceRoot":"","sources":["../src/walkerjs.ts"],"names":[],"mappings":""}
|
package/dist/walkerjs.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { parseInlineConfig } from '@walkeros/web-core';
|
|
2
|
+
import { createWalkerjs } from './index';
|
|
3
|
+
if (window && document) {
|
|
4
|
+
const initializeWalker = async () => {
|
|
5
|
+
let globalConfig;
|
|
6
|
+
// Check for config from script tag
|
|
7
|
+
const scriptElement = document.querySelector('script[data-elbconfig]');
|
|
8
|
+
if (scriptElement) {
|
|
9
|
+
const configValue = scriptElement.getAttribute('data-elbconfig') || '';
|
|
10
|
+
if (configValue.includes(':')) {
|
|
11
|
+
// Inline config: "elb:track;run:false;instance:myWalker"
|
|
12
|
+
globalConfig = parseInlineConfig(configValue);
|
|
13
|
+
}
|
|
14
|
+
else if (configValue) {
|
|
15
|
+
// Named config: "myWalkerConfig"
|
|
16
|
+
globalConfig = window[configValue];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Fallback to window.elbConfig
|
|
20
|
+
if (!globalConfig)
|
|
21
|
+
globalConfig = window.elbConfig;
|
|
22
|
+
// Auto-initialize if config is found
|
|
23
|
+
if (globalConfig) {
|
|
24
|
+
await createWalkerjs(globalConfig);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
// Initialize immediately if DOM is ready, otherwise wait for DOM ready
|
|
28
|
+
if (document.readyState === 'loading') {
|
|
29
|
+
document.addEventListener('DOMContentLoaded', initializeWalker);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
initializeWalker();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=walkerjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walkerjs.js","sourceRoot":"","sources":["../src/walkerjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;IACvB,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,IAAI,YAAgC,CAAC;QAErC,mCAAmC;QACnC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAEvE,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,yDAAyD;gBACzD,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAW,CAAC;YAC1D,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,iCAAiC;gBACjC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAW,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,MAAM,CAAC,SAAmB,CAAC;QAE7D,qCAAqC;QACrC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,uEAAuE;IACvE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,gBAAgB,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/walker.js",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "Ready-to-use walkerOS bundle with browser source, collector, and dataLayer support",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@walkeros/collector": "0.0.7",
|
|
39
39
|
"@walkeros/web-core": "0.0.7",
|
|
40
40
|
"@walkeros/web-source-browser": "0.0.7",
|
|
41
|
-
"@walkeros/web-source-
|
|
41
|
+
"@walkeros/web-source-datalayer": "0.0.7"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@swc/jest": "^0.2.36",
|