@c15t/scripts 1.0.2-rc.0 → 1.1.0-rc.1

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 (42) hide show
  1. package/dist/databuddy.cjs +103 -48
  2. package/dist/databuddy.js +99 -47
  3. package/dist/engine/compile.cjs +126 -0
  4. package/dist/engine/compile.js +89 -0
  5. package/dist/engine/runtime.cjs +379 -0
  6. package/dist/engine/runtime.js +345 -0
  7. package/dist/google-tag-manager.cjs +78 -86
  8. package/dist/google-tag-manager.js +74 -79
  9. package/dist/google-tag.cjs +86 -37
  10. package/dist/google-tag.js +82 -36
  11. package/dist/linkedin-insights.cjs +51 -33
  12. package/dist/linkedin-insights.js +46 -31
  13. package/dist/meta-pixel.cjs +90 -28
  14. package/dist/meta-pixel.js +86 -27
  15. package/dist/microsoft-uet.cjs +90 -50
  16. package/dist/microsoft-uet.js +86 -49
  17. package/dist/posthog.cjs +100 -51
  18. package/dist/posthog.js +96 -50
  19. package/dist/resolve.cjs +67 -0
  20. package/dist/resolve.js +33 -0
  21. package/dist/tiktok-pixel.cjs +91 -29
  22. package/dist/tiktok-pixel.js +86 -27
  23. package/dist/types.cjs +47 -0
  24. package/dist/types.js +7 -0
  25. package/dist/x-pixel.cjs +48 -14
  26. package/dist/x-pixel.js +43 -12
  27. package/dist-types/databuddy.d.ts +81 -40
  28. package/dist-types/engine/compile.d.ts +3 -0
  29. package/dist-types/engine/runtime.d.ts +3 -0
  30. package/dist-types/engine.test.d.ts +1 -0
  31. package/dist-types/google-tag-manager.d.ts +65 -30
  32. package/dist-types/google-tag.d.ts +68 -9
  33. package/dist-types/helpers.test.d.ts +1 -0
  34. package/dist-types/linkedin-insights.d.ts +43 -11
  35. package/dist-types/meta-pixel.d.ts +62 -14
  36. package/dist-types/microsoft-uet.d.ts +66 -11
  37. package/dist-types/posthog.d.ts +78 -19
  38. package/dist-types/resolve.d.ts +9 -0
  39. package/dist-types/tiktok-pixel.d.ts +59 -11
  40. package/dist-types/types.d.ts +259 -0
  41. package/dist-types/x-pixel.d.ts +39 -12
  42. package/package.json +3 -3
@@ -13,7 +13,7 @@ var __webpack_require__ = {};
13
13
  })();
14
14
  (()=>{
15
15
  __webpack_require__.r = (exports1)=>{
16
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
17
  value: 'Module'
18
18
  });
19
19
  Object.defineProperty(exports1, '__esModule', {
@@ -24,43 +24,105 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ metaPixelManifest: ()=>metaPixelManifest,
27
28
  metaPixel: ()=>metaPixel,
28
29
  metaPixelEvent: ()=>metaPixelEvent
29
30
  });
30
- function metaPixel({ pixelId, script }) {
31
- return {
32
- id: script?.id ?? 'meta-pixel',
33
- category: script?.category ?? 'marketing',
34
- textContent: `
35
- !function(f,b,e,v,n,t,s)
36
- {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
37
- n.callMethod.apply(n,arguments):n.queue.push(arguments)};
38
- if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
39
- n.queue=[];t=b.createElement(e);t.async=!0;
40
- t.src=v;s=b.getElementsByTagName(e)[0];
41
- s.parentNode.insertBefore(t,s)}(window, document,'script',
42
- '${script?.src ?? 'https://connect.facebook.net/en_US/fbevents.js'}');
43
- fbq('consent', 'grant');
44
- fbq('init', '${pixelId}');
45
- fbq('track', 'PageView');
46
- `.trim(),
47
- persistAfterConsentRevoked: true,
48
- onConsentChange: ({ consents, ...rest })=>{
49
- if (consents.marketing) window.fbq('consent', 'grant');
50
- else window.fbq('consent', 'revoke');
51
- if (script?.onConsentChange) script.onConsentChange({
52
- consents,
53
- ...rest
54
- });
31
+ const external_resolve_cjs_namespaceObject = require("./resolve.cjs");
32
+ const external_types_cjs_namespaceObject = require("./types.cjs");
33
+ const metaPixelManifest = {
34
+ ...external_types_cjs_namespaceObject.vendorManifestContract,
35
+ vendor: 'meta-pixel',
36
+ category: 'marketing',
37
+ persistAfterConsentRevoked: true,
38
+ bootstrap: [
39
+ {
40
+ type: 'defineStubFunction',
41
+ name: 'fbq',
42
+ queue: {
43
+ property: 'queue'
44
+ },
45
+ dispatchProperty: 'callMethod',
46
+ selfReferences: [
47
+ 'push'
48
+ ],
49
+ aliases: [
50
+ '_fbq'
51
+ ],
52
+ properties: {
53
+ loaded: true,
54
+ version: '2.0'
55
+ },
56
+ ifUndefined: true
55
57
  }
56
- };
58
+ ],
59
+ install: [
60
+ {
61
+ type: 'callGlobal',
62
+ global: 'fbq',
63
+ args: [
64
+ 'consent',
65
+ 'grant'
66
+ ]
67
+ },
68
+ {
69
+ type: 'callGlobal',
70
+ global: 'fbq',
71
+ args: [
72
+ 'init',
73
+ '{{pixelId}}'
74
+ ]
75
+ },
76
+ {
77
+ type: 'callGlobal',
78
+ global: 'fbq',
79
+ args: [
80
+ 'track',
81
+ 'PageView'
82
+ ]
83
+ },
84
+ {
85
+ type: 'loadScript',
86
+ src: "{{scriptSrc}}",
87
+ async: true
88
+ }
89
+ ],
90
+ onConsentGranted: [
91
+ {
92
+ type: 'callGlobal',
93
+ global: 'fbq',
94
+ args: [
95
+ 'consent',
96
+ 'grant'
97
+ ]
98
+ }
99
+ ],
100
+ onConsentDenied: [
101
+ {
102
+ type: 'callGlobal',
103
+ global: 'fbq',
104
+ args: [
105
+ 'consent',
106
+ 'revoke'
107
+ ]
108
+ }
109
+ ]
110
+ };
111
+ function metaPixel({ pixelId, scriptSrc }) {
112
+ const resolved = (0, external_resolve_cjs_namespaceObject.resolveManifest)(metaPixelManifest, {
113
+ pixelId,
114
+ scriptSrc: scriptSrc ?? 'https://connect.facebook.net/en_US/fbevents.js'
115
+ });
116
+ return resolved;
57
117
  }
58
118
  const metaPixelEvent = (eventName, params, eventId)=>window.fbq('track', eventName, params, eventId);
59
119
  exports.metaPixel = __webpack_exports__.metaPixel;
60
120
  exports.metaPixelEvent = __webpack_exports__.metaPixelEvent;
121
+ exports.metaPixelManifest = __webpack_exports__.metaPixelManifest;
61
122
  for(var __rspack_i in __webpack_exports__)if (-1 === [
62
123
  "metaPixel",
63
- "metaPixelEvent"
124
+ "metaPixelEvent",
125
+ "metaPixelManifest"
64
126
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
65
127
  Object.defineProperty(exports, '__esModule', {
66
128
  value: true
@@ -1,30 +1,89 @@
1
- function metaPixel({ pixelId, script }) {
2
- return {
3
- id: script?.id ?? 'meta-pixel',
4
- category: script?.category ?? 'marketing',
5
- textContent: `
6
- !function(f,b,e,v,n,t,s)
7
- {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
8
- n.callMethod.apply(n,arguments):n.queue.push(arguments)};
9
- if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
10
- n.queue=[];t=b.createElement(e);t.async=!0;
11
- t.src=v;s=b.getElementsByTagName(e)[0];
12
- s.parentNode.insertBefore(t,s)}(window, document,'script',
13
- '${script?.src ?? 'https://connect.facebook.net/en_US/fbevents.js'}');
14
- fbq('consent', 'grant');
15
- fbq('init', '${pixelId}');
16
- fbq('track', 'PageView');
17
- `.trim(),
18
- persistAfterConsentRevoked: true,
19
- onConsentChange: ({ consents, ...rest })=>{
20
- if (consents.marketing) window.fbq('consent', 'grant');
21
- else window.fbq('consent', 'revoke');
22
- if (script?.onConsentChange) script.onConsentChange({
23
- consents,
24
- ...rest
25
- });
1
+ import { resolveManifest } from "./resolve.js";
2
+ import { vendorManifestContract } from "./types.js";
3
+ const metaPixelManifest = {
4
+ ...vendorManifestContract,
5
+ vendor: 'meta-pixel',
6
+ category: 'marketing',
7
+ persistAfterConsentRevoked: true,
8
+ bootstrap: [
9
+ {
10
+ type: 'defineStubFunction',
11
+ name: 'fbq',
12
+ queue: {
13
+ property: 'queue'
14
+ },
15
+ dispatchProperty: 'callMethod',
16
+ selfReferences: [
17
+ 'push'
18
+ ],
19
+ aliases: [
20
+ '_fbq'
21
+ ],
22
+ properties: {
23
+ loaded: true,
24
+ version: '2.0'
25
+ },
26
+ ifUndefined: true
26
27
  }
27
- };
28
+ ],
29
+ install: [
30
+ {
31
+ type: 'callGlobal',
32
+ global: 'fbq',
33
+ args: [
34
+ 'consent',
35
+ 'grant'
36
+ ]
37
+ },
38
+ {
39
+ type: 'callGlobal',
40
+ global: 'fbq',
41
+ args: [
42
+ 'init',
43
+ '{{pixelId}}'
44
+ ]
45
+ },
46
+ {
47
+ type: 'callGlobal',
48
+ global: 'fbq',
49
+ args: [
50
+ 'track',
51
+ 'PageView'
52
+ ]
53
+ },
54
+ {
55
+ type: 'loadScript',
56
+ src: "{{scriptSrc}}",
57
+ async: true
58
+ }
59
+ ],
60
+ onConsentGranted: [
61
+ {
62
+ type: 'callGlobal',
63
+ global: 'fbq',
64
+ args: [
65
+ 'consent',
66
+ 'grant'
67
+ ]
68
+ }
69
+ ],
70
+ onConsentDenied: [
71
+ {
72
+ type: 'callGlobal',
73
+ global: 'fbq',
74
+ args: [
75
+ 'consent',
76
+ 'revoke'
77
+ ]
78
+ }
79
+ ]
80
+ };
81
+ function metaPixel({ pixelId, scriptSrc }) {
82
+ const resolved = resolveManifest(metaPixelManifest, {
83
+ pixelId,
84
+ scriptSrc: scriptSrc ?? 'https://connect.facebook.net/en_US/fbevents.js'
85
+ });
86
+ return resolved;
28
87
  }
29
88
  const metaPixelEvent = (eventName, params, eventId)=>window.fbq('track', eventName, params, eventId);
30
- export { metaPixel, metaPixelEvent };
89
+ export { metaPixel, metaPixelEvent, metaPixelManifest };
@@ -13,7 +13,7 @@ var __webpack_require__ = {};
13
13
  })();
14
14
  (()=>{
15
15
  __webpack_require__.r = (exports1)=>{
16
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
17
  value: 'Module'
18
18
  });
19
19
  Object.defineProperty(exports1, '__esModule', {
@@ -24,66 +24,106 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ microsoftUetManifest: ()=>microsoftUetManifest,
27
28
  microsoftUet: ()=>microsoftUet
28
29
  });
29
- function microsoftUet({ id, script }) {
30
- const category = script?.category ?? 'marketing';
31
- return {
32
- id: script?.id ?? 'microsoft-uet',
33
- category,
34
- textContent: `
35
- (function(w,d,t,r,u)
36
- {
37
- var f,n,i;
38
- w[u]=w[u]||[],f=function()
30
+ const external_resolve_cjs_namespaceObject = require("./resolve.cjs");
31
+ const external_types_cjs_namespaceObject = require("./types.cjs");
32
+ const microsoftUetManifest = {
33
+ ...external_types_cjs_namespaceObject.vendorManifestContract,
34
+ vendor: 'microsoft-uet',
35
+ category: 'marketing',
36
+ persistAfterConsentRevoked: true,
37
+ bootstrap: [
39
38
  {
40
- var o={ti:"${id}", enableAutoSpaTracking: true};
41
- o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
39
+ type: 'setGlobal',
40
+ name: 'uetq',
41
+ value: [],
42
+ ifUndefined: true
43
+ }
44
+ ],
45
+ install: [
46
+ {
47
+ type: 'loadScript',
48
+ src: "{{scriptSrc}}",
49
+ async: true
50
+ }
51
+ ],
52
+ afterLoad: [
53
+ {
54
+ type: 'constructGlobal',
55
+ constructor: 'UET',
56
+ assignTo: 'uetq',
57
+ args: [
58
+ {
59
+ ti: '{{id}}',
60
+ enableAutoSpaTracking: true
61
+ }
62
+ ],
63
+ copyAssignedValueToArgProperty: 'q'
42
64
  },
43
- n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
44
65
  {
45
- var s=this.readyState;
46
- s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
66
+ type: 'callGlobal',
67
+ global: 'uetq',
68
+ method: 'push',
69
+ args: [
70
+ 'pageLoad'
71
+ ]
47
72
  },
48
- i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
49
- })
50
- (window,document,"script","${script?.src ?? '//bat.bing.com/bat.js'}","uetq");
51
- `.trim(),
52
- onLoad: (rest)=>{
53
- if (!document.head) throw new Error("Document head is not available for script injection");
54
- const existingElement = document.getElementById(`${rest.elementId}-default`);
55
- if (existingElement) {
56
- window.uetq = window.uetq || [];
57
- window.uetq.push('consent', 'update', {
73
+ {
74
+ type: 'callGlobal',
75
+ global: 'uetq',
76
+ method: 'push',
77
+ args: [
78
+ 'consent',
79
+ 'default',
80
+ {
58
81
  ad_storage: 'granted'
59
- });
60
- } else {
61
- const defaultConsentScript = document.createElement("script");
62
- defaultConsentScript.id = `${rest.elementId}-default`;
63
- defaultConsentScript.textContent = `
64
- window.uetq = window.uetq || [];
65
- window.uetq.push('consent', 'default', {
66
- ad_storage: 'granted',
67
- });
68
- `;
69
- document.head.appendChild(defaultConsentScript);
70
- }
71
- if (script?.onLoad) script.onLoad(rest);
72
- },
73
- onConsentChange ({ consents, ...rest }) {
74
- window.uetq?.push('consent', 'update', {
75
- ad_storage: consents.marketing ? 'granted' : 'denied'
76
- });
77
- if (script?.onConsentChange) script.onConsentChange({
78
- consents,
79
- ...rest
80
- });
82
+ }
83
+ ]
81
84
  }
82
- };
85
+ ],
86
+ onConsentGranted: [
87
+ {
88
+ type: 'callGlobal',
89
+ global: 'uetq',
90
+ method: 'push',
91
+ args: [
92
+ 'consent',
93
+ 'update',
94
+ {
95
+ ad_storage: 'granted'
96
+ }
97
+ ]
98
+ }
99
+ ],
100
+ onConsentDenied: [
101
+ {
102
+ type: 'callGlobal',
103
+ global: 'uetq',
104
+ method: 'push',
105
+ args: [
106
+ 'consent',
107
+ 'update',
108
+ {
109
+ ad_storage: 'denied'
110
+ }
111
+ ]
112
+ }
113
+ ]
114
+ };
115
+ function microsoftUet({ id, scriptSrc }) {
116
+ const resolved = (0, external_resolve_cjs_namespaceObject.resolveManifest)(microsoftUetManifest, {
117
+ id,
118
+ scriptSrc: scriptSrc ?? '//bat.bing.com/bat.js'
119
+ });
120
+ return resolved;
83
121
  }
84
122
  exports.microsoftUet = __webpack_exports__.microsoftUet;
123
+ exports.microsoftUetManifest = __webpack_exports__.microsoftUetManifest;
85
124
  for(var __rspack_i in __webpack_exports__)if (-1 === [
86
- "microsoftUet"
125
+ "microsoftUet",
126
+ "microsoftUetManifest"
87
127
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
88
128
  Object.defineProperty(exports, '__esModule', {
89
129
  value: true
@@ -1,56 +1,93 @@
1
- function microsoftUet({ id, script }) {
2
- const category = script?.category ?? 'marketing';
3
- return {
4
- id: script?.id ?? 'microsoft-uet',
5
- category,
6
- textContent: `
7
- (function(w,d,t,r,u)
8
- {
9
- var f,n,i;
10
- w[u]=w[u]||[],f=function()
1
+ import { resolveManifest } from "./resolve.js";
2
+ import { vendorManifestContract } from "./types.js";
3
+ const microsoftUetManifest = {
4
+ ...vendorManifestContract,
5
+ vendor: 'microsoft-uet',
6
+ category: 'marketing',
7
+ persistAfterConsentRevoked: true,
8
+ bootstrap: [
11
9
  {
12
- var o={ti:"${id}", enableAutoSpaTracking: true};
13
- o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
10
+ type: 'setGlobal',
11
+ name: 'uetq',
12
+ value: [],
13
+ ifUndefined: true
14
+ }
15
+ ],
16
+ install: [
17
+ {
18
+ type: 'loadScript',
19
+ src: "{{scriptSrc}}",
20
+ async: true
21
+ }
22
+ ],
23
+ afterLoad: [
24
+ {
25
+ type: 'constructGlobal',
26
+ constructor: 'UET',
27
+ assignTo: 'uetq',
28
+ args: [
29
+ {
30
+ ti: '{{id}}',
31
+ enableAutoSpaTracking: true
32
+ }
33
+ ],
34
+ copyAssignedValueToArgProperty: 'q'
14
35
  },
15
- n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
16
36
  {
17
- var s=this.readyState;
18
- s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
37
+ type: 'callGlobal',
38
+ global: 'uetq',
39
+ method: 'push',
40
+ args: [
41
+ 'pageLoad'
42
+ ]
19
43
  },
20
- i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
21
- })
22
- (window,document,"script","${script?.src ?? '//bat.bing.com/bat.js'}","uetq");
23
- `.trim(),
24
- onLoad: (rest)=>{
25
- if (!document.head) throw new Error("Document head is not available for script injection");
26
- const existingElement = document.getElementById(`${rest.elementId}-default`);
27
- if (existingElement) {
28
- window.uetq = window.uetq || [];
29
- window.uetq.push('consent', 'update', {
44
+ {
45
+ type: 'callGlobal',
46
+ global: 'uetq',
47
+ method: 'push',
48
+ args: [
49
+ 'consent',
50
+ 'default',
51
+ {
30
52
  ad_storage: 'granted'
31
- });
32
- } else {
33
- const defaultConsentScript = document.createElement("script");
34
- defaultConsentScript.id = `${rest.elementId}-default`;
35
- defaultConsentScript.textContent = `
36
- window.uetq = window.uetq || [];
37
- window.uetq.push('consent', 'default', {
38
- ad_storage: 'granted',
39
- });
40
- `;
41
- document.head.appendChild(defaultConsentScript);
42
- }
43
- if (script?.onLoad) script.onLoad(rest);
44
- },
45
- onConsentChange ({ consents, ...rest }) {
46
- window.uetq?.push('consent', 'update', {
47
- ad_storage: consents.marketing ? 'granted' : 'denied'
48
- });
49
- if (script?.onConsentChange) script.onConsentChange({
50
- consents,
51
- ...rest
52
- });
53
+ }
54
+ ]
55
+ }
56
+ ],
57
+ onConsentGranted: [
58
+ {
59
+ type: 'callGlobal',
60
+ global: 'uetq',
61
+ method: 'push',
62
+ args: [
63
+ 'consent',
64
+ 'update',
65
+ {
66
+ ad_storage: 'granted'
67
+ }
68
+ ]
69
+ }
70
+ ],
71
+ onConsentDenied: [
72
+ {
73
+ type: 'callGlobal',
74
+ global: 'uetq',
75
+ method: 'push',
76
+ args: [
77
+ 'consent',
78
+ 'update',
79
+ {
80
+ ad_storage: 'denied'
81
+ }
82
+ ]
53
83
  }
54
- };
84
+ ]
85
+ };
86
+ function microsoftUet({ id, scriptSrc }) {
87
+ const resolved = resolveManifest(microsoftUetManifest, {
88
+ id,
89
+ scriptSrc: scriptSrc ?? '//bat.bing.com/bat.js'
90
+ });
91
+ return resolved;
55
92
  }
56
- export { microsoftUet };
93
+ export { microsoftUet, microsoftUetManifest };