@c15t/scripts 1.0.1 → 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 (59) hide show
  1. package/dist/databuddy.cjs +105 -50
  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 +80 -96
  8. package/dist/google-tag-manager.js +74 -87
  9. package/dist/google-tag.cjs +88 -39
  10. package/dist/google-tag.js +82 -36
  11. package/dist/linkedin-insights.cjs +52 -41
  12. package/dist/linkedin-insights.js +45 -37
  13. package/dist/meta-pixel.cjs +92 -26
  14. package/dist/meta-pixel.js +86 -23
  15. package/dist/microsoft-uet.cjs +92 -52
  16. package/dist/microsoft-uet.js +86 -49
  17. package/dist/posthog.cjs +102 -53
  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 +93 -27
  22. package/dist/tiktok-pixel.js +86 -23
  23. package/dist/types.cjs +47 -0
  24. package/dist/types.js +7 -0
  25. package/dist/x-pixel.cjs +49 -19
  26. package/dist/x-pixel.js +42 -15
  27. package/dist-types/databuddy.d.ts +144 -0
  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 +97 -0
  32. package/dist-types/google-tag.d.ts +96 -0
  33. package/dist-types/helpers.test.d.ts +1 -0
  34. package/dist-types/linkedin-insights.d.ts +79 -0
  35. package/{dist → dist-types}/meta-pixel.d.ts +61 -14
  36. package/dist-types/microsoft-uet.d.ts +94 -0
  37. package/dist-types/posthog.d.ts +112 -0
  38. package/dist-types/resolve.d.ts +9 -0
  39. package/dist-types/tiktok-pixel.d.ts +91 -0
  40. package/dist-types/types.d.ts +259 -0
  41. package/{dist → dist-types}/x-pixel.d.ts +38 -12
  42. package/package.json +46 -45
  43. package/LICENSE.md +0 -595
  44. package/dist/databuddy.d.ts +0 -104
  45. package/dist/databuddy.d.ts.map +0 -1
  46. package/dist/google-tag-manager.d.ts +0 -63
  47. package/dist/google-tag-manager.d.ts.map +0 -1
  48. package/dist/google-tag.d.ts +0 -38
  49. package/dist/google-tag.d.ts.map +0 -1
  50. package/dist/linkedin-insights.d.ts +0 -48
  51. package/dist/linkedin-insights.d.ts.map +0 -1
  52. package/dist/meta-pixel.d.ts.map +0 -1
  53. package/dist/microsoft-uet.d.ts +0 -40
  54. package/dist/microsoft-uet.d.ts.map +0 -1
  55. package/dist/posthog.d.ts +0 -54
  56. package/dist/posthog.d.ts.map +0 -1
  57. package/dist/tiktok-pixel.d.ts +0 -44
  58. package/dist/tiktok-pixel.d.ts.map +0 -1
  59. package/dist/x-pixel.d.ts.map +0 -1
@@ -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,40 +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
+ 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
- onDelete: (payload)=>{
49
- window.fbq('consent', 'revoke');
50
- if (script?.onDelete) script.onDelete(payload);
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
51
57
  }
52
- };
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;
53
117
  }
54
118
  const metaPixelEvent = (eventName, params, eventId)=>window.fbq('track', eventName, params, eventId);
55
119
  exports.metaPixel = __webpack_exports__.metaPixel;
56
120
  exports.metaPixelEvent = __webpack_exports__.metaPixelEvent;
57
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
121
+ exports.metaPixelManifest = __webpack_exports__.metaPixelManifest;
122
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
58
123
  "metaPixel",
59
- "metaPixelEvent"
60
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
124
+ "metaPixelEvent",
125
+ "metaPixelManifest"
126
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
61
127
  Object.defineProperty(exports, '__esModule', {
62
128
  value: true
63
129
  });
@@ -1,26 +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
- onDelete: (payload)=>{
20
- window.fbq('consent', 'revoke');
21
- if (script?.onDelete) script.onDelete(payload);
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
22
27
  }
23
- };
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;
24
87
  }
25
88
  const metaPixelEvent = (eventName, params, eventId)=>window.fbq('track', eventName, params, eventId);
26
- 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,67 +24,107 @@ 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
- onDelete ({ elementId, ...rest }) {
74
- window.uetq?.push('consent', 'update', {
75
- ad_storage: 'denied'
76
- });
77
- if (script?.onDelete) script.onDelete({
78
- elementId,
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;
85
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
86
- "microsoftUet"
87
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
123
+ exports.microsoftUetManifest = __webpack_exports__.microsoftUetManifest;
124
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
125
+ "microsoftUet",
126
+ "microsoftUetManifest"
127
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
88
128
  Object.defineProperty(exports, '__esModule', {
89
129
  value: true
90
130
  });
@@ -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
- onDelete ({ elementId, ...rest }) {
46
- window.uetq?.push('consent', 'update', {
47
- ad_storage: 'denied'
48
- });
49
- if (script?.onDelete) script.onDelete({
50
- elementId,
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 };