@c15t/scripts 2.2.0 → 3.0.0-alpha.0

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 (197) hide show
  1. package/AGENTS.md +74 -48
  2. package/README.md +3 -3
  3. package/dist/e2e-test-utils.js +60 -24
  4. package/dist/engine/compile.js +45 -45
  5. package/dist/engine/runtime.js +119 -119
  6. package/dist/registry.js +186 -176
  7. package/dist/resolve.js +12 -12
  8. package/dist/vendors/_shared/attributes.js +5 -5
  9. package/dist/vendors/_shared/google-consent.js +10 -10
  10. package/dist/vendors/_shared/install-builders.js +9 -9
  11. package/dist/vendors/_shared/script-url.js +12 -12
  12. package/dist/vendors/ads-and-pixels/linkedin-insights.js +16 -16
  13. package/dist/vendors/ads-and-pixels/meta-pixel.js +82 -82
  14. package/dist/vendors/ads-and-pixels/microsoft-uet.js +57 -57
  15. package/dist/vendors/ads-and-pixels/openai-pixel.js +88 -0
  16. package/dist/vendors/ads-and-pixels/reddit-pixel.js +39 -39
  17. package/dist/vendors/ads-and-pixels/snapchat-pixel.js +25 -25
  18. package/dist/vendors/ads-and-pixels/tiktok-pixel.js +31 -31
  19. package/dist/vendors/ads-and-pixels/x-pixel.js +17 -17
  20. package/dist/vendors/analytics/adobe-analytics.js +17 -17
  21. package/dist/vendors/analytics/ahrefs-analytics.js +8 -8
  22. package/dist/vendors/analytics/amplitude.js +39 -39
  23. package/dist/vendors/analytics/clearbit.js +11 -11
  24. package/dist/vendors/analytics/cloudflare-web-analytics.js +13 -13
  25. package/dist/vendors/analytics/databuddy.js +45 -45
  26. package/dist/vendors/analytics/fathom-analytics.js +15 -15
  27. package/dist/vendors/analytics/google-tag.js +23 -23
  28. package/dist/vendors/analytics/heap.js +37 -37
  29. package/dist/vendors/analytics/hightouch.js +30 -30
  30. package/dist/vendors/analytics/hotjar.js +14 -14
  31. package/dist/vendors/analytics/logrocket.js +24 -24
  32. package/dist/vendors/analytics/matomo-analytics.js +51 -51
  33. package/dist/vendors/analytics/microsoft-clarity.js +31 -31
  34. package/dist/vendors/analytics/mixpanel-analytics.js +31 -31
  35. package/dist/vendors/analytics/pirsch.js +27 -27
  36. package/dist/vendors/analytics/plausible-analytics.js +24 -24
  37. package/dist/vendors/analytics/posthog.js +84 -79
  38. package/dist/vendors/analytics/promptwatch.js +8 -8
  39. package/dist/vendors/analytics/rudderstack.js +50 -50
  40. package/dist/vendors/analytics/rybbit-analytics.js +30 -30
  41. package/dist/vendors/analytics/segment.js +16 -16
  42. package/dist/vendors/analytics/umami-analytics.js +16 -16
  43. package/dist/vendors/analytics/vercel-analytics.js +22 -22
  44. package/dist/vendors/functional/crisp.js +49 -51
  45. package/dist/vendors/functional/intercom.js +18 -18
  46. package/dist/vendors/tag-managers/google-tag-manager.js +20 -20
  47. package/dist-types/__tests__/helpers.d.ts +10 -10
  48. package/dist-types/engine/compile.d.ts +2 -2
  49. package/dist-types/engine/runtime.d.ts +3 -3
  50. package/dist-types/registry.d.ts +182 -173
  51. package/dist-types/resolve.d.ts +2 -2
  52. package/dist-types/types.d.ts +2 -2
  53. package/dist-types/vendors/_shared/attributes.d.ts +2 -2
  54. package/dist-types/vendors/_shared/google-consent.d.ts +2 -2
  55. package/dist-types/vendors/_shared/install-builders.d.ts +1 -1
  56. package/dist-types/vendors/_shared/script-url.d.ts +6 -6
  57. package/dist-types/vendors/ads-and-pixels/linkedin-insights.d.ts +14 -14
  58. package/dist-types/vendors/ads-and-pixels/meta-pixel.d.ts +27 -27
  59. package/dist-types/vendors/ads-and-pixels/microsoft-uet.d.ts +40 -40
  60. package/dist-types/vendors/ads-and-pixels/openai-pixel.d.ts +211 -0
  61. package/dist-types/vendors/ads-and-pixels/reddit-pixel.d.ts +28 -29
  62. package/dist-types/vendors/ads-and-pixels/snapchat-pixel.d.ts +23 -23
  63. package/dist-types/vendors/ads-and-pixels/tiktok-pixel.d.ts +22 -22
  64. package/dist-types/vendors/ads-and-pixels/x-pixel.d.ts +15 -15
  65. package/dist-types/vendors/analytics/adobe-analytics.d.ts +3 -3
  66. package/dist-types/vendors/analytics/ahrefs-analytics.d.ts +5 -5
  67. package/dist-types/vendors/analytics/amplitude.d.ts +24 -24
  68. package/dist-types/vendors/analytics/clearbit.d.ts +5 -5
  69. package/dist-types/vendors/analytics/cloudflare-web-analytics.d.ts +6 -6
  70. package/dist-types/vendors/analytics/databuddy.d.ts +34 -31
  71. package/dist-types/vendors/analytics/fathom-analytics.d.ts +8 -8
  72. package/dist-types/vendors/analytics/google-tag.d.ts +17 -17
  73. package/dist-types/vendors/analytics/heap.d.ts +17 -17
  74. package/dist-types/vendors/analytics/hightouch.d.ts +15 -15
  75. package/dist-types/vendors/analytics/hotjar.d.ts +9 -9
  76. package/dist-types/vendors/analytics/logrocket.d.ts +11 -11
  77. package/dist-types/vendors/analytics/matomo-analytics.d.ts +3 -3
  78. package/dist-types/vendors/analytics/microsoft-clarity.d.ts +12 -13
  79. package/dist-types/vendors/analytics/mixpanel-analytics.d.ts +20 -20
  80. package/dist-types/vendors/analytics/pirsch.d.ts +10 -10
  81. package/dist-types/vendors/analytics/plausible-analytics.d.ts +13 -13
  82. package/dist-types/vendors/analytics/posthog.d.ts +35 -32
  83. package/dist-types/vendors/analytics/promptwatch.d.ts +5 -5
  84. package/dist-types/vendors/analytics/rudderstack.d.ts +16 -16
  85. package/dist-types/vendors/analytics/rybbit-analytics.d.ts +15 -15
  86. package/dist-types/vendors/analytics/segment.d.ts +11 -11
  87. package/dist-types/vendors/analytics/umami-analytics.d.ts +9 -9
  88. package/dist-types/vendors/analytics/vercel-analytics.d.ts +13 -13
  89. package/dist-types/vendors/functional/crisp.d.ts +9 -9
  90. package/dist-types/vendors/functional/intercom.d.ts +12 -12
  91. package/dist-types/vendors/tag-managers/google-tag-manager.d.ts +16 -16
  92. package/docs/README.md +74 -48
  93. package/docs/assets/v3/brand-bar.png +0 -0
  94. package/docs/assets/v3/brand-card.png +0 -0
  95. package/docs/assets/v3/choice-wall.png +0 -0
  96. package/docs/assets/v3/mobile-card.png +0 -0
  97. package/docs/assets/v3/preferences.png +0 -0
  98. package/docs/customization/overview.md +45 -0
  99. package/docs/customization/recipes.md +79 -0
  100. package/docs/customization/slots.md +55 -0
  101. package/docs/customization/tokens.md +76 -0
  102. package/docs/customization/translations.md +49 -0
  103. package/docs/frameworks/javascript/script-loader.md +30 -339
  104. package/docs/frameworks/next/script-loader.md +134 -467
  105. package/docs/frameworks/react/script-loader.md +35 -535
  106. package/docs/guides/consent-state.md +60 -0
  107. package/docs/guides/data-fetching.md +163 -0
  108. package/docs/guides/deployment-modes.md +63 -0
  109. package/docs/guides/troubleshooting.md +68 -0
  110. package/docs/guides/verify-consent.md +62 -0
  111. package/docs/integrations/adobe-analytics.md +239 -105
  112. package/docs/integrations/ahrefs-analytics.md +238 -104
  113. package/docs/integrations/amplitude.md +219 -157
  114. package/docs/integrations/building-integrations.md +32 -224
  115. package/docs/integrations/clearbit.md +247 -86
  116. package/docs/integrations/cloudflare-web-analytics.md +250 -84
  117. package/docs/integrations/crisp.md +251 -97
  118. package/docs/integrations/databuddy.md +259 -153
  119. package/docs/integrations/fathom-analytics.md +239 -96
  120. package/docs/integrations/google-maps.md +328 -207
  121. package/docs/integrations/google-tag-manager.md +248 -96
  122. package/docs/integrations/google-tag.md +261 -90
  123. package/docs/integrations/heap.md +222 -149
  124. package/docs/integrations/hightouch.md +225 -131
  125. package/docs/integrations/hotjar.md +239 -90
  126. package/docs/integrations/intercom.md +239 -98
  127. package/docs/integrations/linkedin-insights.md +243 -113
  128. package/docs/integrations/logrocket.md +241 -123
  129. package/docs/integrations/matomo-analytics.md +256 -111
  130. package/docs/integrations/meta-pixel.md +197 -324
  131. package/docs/integrations/microsoft-clarity.md +233 -114
  132. package/docs/integrations/microsoft-uet.md +245 -110
  133. package/docs/integrations/mixpanel-analytics.md +252 -87
  134. package/docs/integrations/openai-pixel.md +441 -0
  135. package/docs/integrations/overview.md +95 -133
  136. package/docs/integrations/pirsch.md +249 -96
  137. package/docs/integrations/plausible-analytics.md +241 -100
  138. package/docs/integrations/posthog.md +353 -214
  139. package/docs/integrations/promptwatch.md +251 -81
  140. package/docs/integrations/reddit-pixel.md +226 -173
  141. package/docs/integrations/rudderstack.md +244 -187
  142. package/docs/integrations/rybbit-analytics.md +244 -91
  143. package/docs/integrations/segment.md +238 -92
  144. package/docs/integrations/snapchat-pixel.md +240 -110
  145. package/docs/integrations/tiktok-pixel.md +249 -81
  146. package/docs/integrations/umami-analytics.md +242 -95
  147. package/docs/integrations/vercel-analytics.md +242 -90
  148. package/docs/integrations/x-pixel.md +238 -104
  149. package/docs/integrations/youtube.md +354 -142
  150. package/docs/upgrade-v3.md +334 -0
  151. package/package.json +85 -78
  152. package/readme.json +2 -2
  153. package/dist/e2e-test-utils.cjs +0 -166
  154. package/dist/engine/compile.cjs +0 -130
  155. package/dist/engine/runtime.cjs +0 -475
  156. package/dist/registry.cjs +0 -423
  157. package/dist/resolve.cjs +0 -71
  158. package/dist/types.cjs +0 -69
  159. package/dist/vendors/_shared/attributes.cjs +0 -55
  160. package/dist/vendors/_shared/google-consent.cjs +0 -69
  161. package/dist/vendors/_shared/install-builders.cjs +0 -59
  162. package/dist/vendors/_shared/script-url.cjs +0 -78
  163. package/dist/vendors/ads-and-pixels/linkedin-insights.cjs +0 -89
  164. package/dist/vendors/ads-and-pixels/meta-pixel.cjs +0 -206
  165. package/dist/vendors/ads-and-pixels/microsoft-uet.cjs +0 -151
  166. package/dist/vendors/ads-and-pixels/reddit-pixel.cjs +0 -151
  167. package/dist/vendors/ads-and-pixels/snapchat-pixel.cjs +0 -131
  168. package/dist/vendors/ads-and-pixels/tiktok-pixel.cjs +0 -130
  169. package/dist/vendors/ads-and-pixels/x-pixel.cjs +0 -92
  170. package/dist/vendors/analytics/adobe-analytics.cjs +0 -90
  171. package/dist/vendors/analytics/ahrefs-analytics.cjs +0 -68
  172. package/dist/vendors/analytics/amplitude.cjs +0 -193
  173. package/dist/vendors/analytics/clearbit.cjs +0 -69
  174. package/dist/vendors/analytics/cloudflare-web-analytics.cjs +0 -73
  175. package/dist/vendors/analytics/databuddy.cjs +0 -144
  176. package/dist/vendors/analytics/fathom-analytics.cjs +0 -76
  177. package/dist/vendors/analytics/google-tag.cjs +0 -107
  178. package/dist/vendors/analytics/heap.cjs +0 -181
  179. package/dist/vendors/analytics/hightouch.cjs +0 -153
  180. package/dist/vendors/analytics/hotjar.cjs +0 -85
  181. package/dist/vendors/analytics/logrocket.cjs +0 -99
  182. package/dist/vendors/analytics/matomo-analytics.cjs +0 -232
  183. package/dist/vendors/analytics/microsoft-clarity.cjs +0 -138
  184. package/dist/vendors/analytics/mixpanel-analytics.cjs +0 -134
  185. package/dist/vendors/analytics/pirsch.cjs +0 -108
  186. package/dist/vendors/analytics/plausible-analytics.cjs +0 -122
  187. package/dist/vendors/analytics/posthog.cjs +0 -236
  188. package/dist/vendors/analytics/promptwatch.cjs +0 -70
  189. package/dist/vendors/analytics/rudderstack.cjs +0 -227
  190. package/dist/vendors/analytics/rybbit-analytics.cjs +0 -104
  191. package/dist/vendors/analytics/segment.cjs +0 -97
  192. package/dist/vendors/analytics/umami-analytics.cjs +0 -80
  193. package/dist/vendors/analytics/vercel-analytics.cjs +0 -94
  194. package/dist/vendors/functional/crisp.cjs +0 -143
  195. package/dist/vendors/functional/intercom.cjs +0 -89
  196. package/dist/vendors/tag-managers/google-tag-manager.cjs +0 -100
  197. package/docs/shared/react/guides/script-loader.md +0 -311
package/dist/registry.js CHANGED
@@ -18,355 +18,365 @@ const BUILT_IN_INTEGRATION_CATEGORIES = [
18
18
  ];
19
19
  const builtInScriptIntegrations = [
20
20
  {
21
+ consentCategory: 'necessary',
22
+ docsSlug: 'google-tag-manager',
23
+ hint: "GTM container script",
24
+ integrationCategory: 'tag-manager',
21
25
  key: 'googleTagManager',
22
- vendor: 'google-tag-manager',
23
26
  label: 'Google Tag Manager',
24
- hint: "GTM container script",
25
- docsSlug: 'google-tag-manager',
26
27
  packageSubpath: 'google-tag-manager',
27
- integrationCategory: 'tag-manager',
28
- consentCategory: 'necessary'
28
+ vendor: 'google-tag-manager'
29
29
  },
30
30
  {
31
+ consentCategory: 'measurement',
32
+ docsSlug: 'google-tag',
33
+ hint: 'Google Analytics 4',
34
+ integrationCategory: 'analytics',
31
35
  key: 'gtag',
32
- vendor: 'gtag',
33
36
  label: 'Google Tag (gtag.js)',
34
- hint: 'Google Analytics 4',
35
- docsSlug: 'google-tag',
36
37
  packageSubpath: 'google-tag',
37
- integrationCategory: 'analytics',
38
- consentCategory: 'measurement'
38
+ vendor: 'gtag'
39
39
  },
40
40
  {
41
+ consentCategory: 'measurement',
42
+ docsSlug: 'ahrefs-analytics',
43
+ hint: 'Cookieless web analytics from Ahrefs',
44
+ integrationCategory: 'analytics',
41
45
  key: 'ahrefsAnalytics',
42
- vendor: 'ahrefs-analytics',
43
46
  label: 'Ahrefs Analytics',
44
- hint: 'Cookieless web analytics from Ahrefs',
45
- docsSlug: 'ahrefs-analytics',
46
47
  packageSubpath: 'ahrefs-analytics',
47
- integrationCategory: 'analytics',
48
- consentCategory: 'measurement'
48
+ vendor: 'ahrefs-analytics'
49
49
  },
50
50
  {
51
+ consentCategory: 'measurement',
52
+ docsSlug: 'adobe-analytics',
53
+ hint: 'Adobe Experience Platform tags',
54
+ integrationCategory: 'analytics',
51
55
  key: 'adobeAnalytics',
52
- vendor: 'adobe-analytics',
53
56
  label: 'Adobe Analytics',
54
- hint: 'Adobe Experience Platform tags',
55
- docsSlug: 'adobe-analytics',
56
57
  packageSubpath: 'adobe-analytics',
57
- integrationCategory: 'analytics',
58
- consentCategory: 'measurement'
58
+ vendor: 'adobe-analytics'
59
59
  },
60
60
  {
61
+ consentCategory: 'measurement',
62
+ docsSlug: 'amplitude',
63
+ hint: 'Product analytics',
64
+ integrationCategory: 'analytics',
61
65
  key: 'amplitude',
62
- vendor: 'amplitude',
63
66
  label: 'Amplitude',
64
- hint: 'Product analytics',
65
- docsSlug: 'amplitude',
66
67
  packageSubpath: 'amplitude',
67
- integrationCategory: 'analytics',
68
- consentCategory: 'measurement'
68
+ vendor: 'amplitude'
69
69
  },
70
70
  {
71
+ consentCategory: 'measurement',
72
+ docsSlug: 'cloudflare-web-analytics',
73
+ hint: 'Cookieless analytics from Cloudflare',
74
+ integrationCategory: 'analytics',
71
75
  key: 'cloudflareWebAnalytics',
72
- vendor: 'cloudflare-web-analytics',
73
76
  label: 'Cloudflare Web Analytics',
74
- hint: 'Cookieless analytics from Cloudflare',
75
- docsSlug: 'cloudflare-web-analytics',
76
77
  packageSubpath: 'cloudflare-web-analytics',
77
- integrationCategory: 'analytics',
78
- consentCategory: 'measurement'
78
+ vendor: 'cloudflare-web-analytics'
79
79
  },
80
80
  {
81
+ consentCategory: 'marketing',
82
+ docsSlug: 'clearbit',
83
+ hint: 'Visitor and company enrichment',
84
+ integrationCategory: 'analytics',
81
85
  key: 'clearbit',
82
- vendor: 'clearbit',
83
86
  label: 'Clearbit',
84
- hint: 'Visitor and company enrichment',
85
- docsSlug: 'clearbit',
86
87
  packageSubpath: 'clearbit',
87
- integrationCategory: 'analytics',
88
- consentCategory: 'marketing'
88
+ vendor: 'clearbit'
89
89
  },
90
90
  {
91
+ consentCategory: 'measurement',
92
+ docsSlug: 'microsoft-clarity',
93
+ hint: 'Session replay and heatmaps',
94
+ integrationCategory: 'analytics',
91
95
  key: 'microsoft-clarity',
92
- vendor: 'microsoft-clarity',
93
96
  label: 'Microsoft Clarity',
94
- hint: 'Session replay and heatmaps',
95
- docsSlug: 'microsoft-clarity',
96
97
  packageSubpath: 'microsoft-clarity',
97
- integrationCategory: 'analytics',
98
- consentCategory: 'measurement'
98
+ vendor: 'microsoft-clarity'
99
99
  },
100
100
  {
101
+ consentCategory: 'measurement',
102
+ docsSlug: 'databuddy',
103
+ hint: 'Data collection',
104
+ integrationCategory: 'analytics',
101
105
  key: 'databuddy',
102
- vendor: 'databuddy',
103
106
  label: 'Databuddy',
104
- hint: 'Data collection',
105
- docsSlug: 'databuddy',
106
107
  packageSubpath: 'databuddy',
107
- integrationCategory: 'analytics',
108
- consentCategory: 'measurement'
108
+ vendor: 'databuddy'
109
109
  },
110
110
  {
111
+ consentCategory: 'measurement',
112
+ docsSlug: 'fathom-analytics',
113
+ hint: 'Privacy-friendly cookieless analytics',
114
+ integrationCategory: 'analytics',
111
115
  key: 'fathomAnalytics',
112
- vendor: 'fathom-analytics',
113
116
  label: 'Fathom Analytics',
114
- hint: 'Privacy-friendly cookieless analytics',
115
- docsSlug: 'fathom-analytics',
116
117
  packageSubpath: 'fathom-analytics',
117
- integrationCategory: 'analytics',
118
- consentCategory: 'measurement'
118
+ vendor: 'fathom-analytics'
119
119
  },
120
120
  {
121
+ consentCategory: 'measurement',
122
+ docsSlug: 'heap',
123
+ hint: 'Autocapture product analytics',
124
+ integrationCategory: 'analytics',
121
125
  key: 'heap',
122
- vendor: 'heap',
123
126
  label: 'Heap',
124
- hint: 'Autocapture product analytics',
125
- docsSlug: 'heap',
126
127
  packageSubpath: 'heap',
127
- integrationCategory: 'analytics',
128
- consentCategory: 'measurement'
128
+ vendor: 'heap'
129
129
  },
130
130
  {
131
+ consentCategory: 'measurement',
132
+ docsSlug: 'mixpanel-analytics',
133
+ hint: 'Product analytics and funnels',
134
+ integrationCategory: 'analytics',
131
135
  key: 'mixpanelAnalytics',
132
- vendor: 'mixpanel-analytics',
133
136
  label: 'Mixpanel Analytics',
134
- hint: 'Product analytics and funnels',
135
- docsSlug: 'mixpanel-analytics',
136
137
  packageSubpath: 'mixpanel-analytics',
137
- integrationCategory: 'analytics',
138
- consentCategory: 'measurement'
138
+ vendor: 'mixpanel-analytics'
139
139
  },
140
140
  {
141
+ consentCategory: 'measurement',
142
+ docsSlug: 'hotjar',
143
+ hint: 'Heatmaps and session recordings',
144
+ integrationCategory: 'analytics',
141
145
  key: 'hotjar',
142
- vendor: 'hotjar',
143
146
  label: 'Hotjar',
144
- hint: 'Heatmaps and session recordings',
145
- docsSlug: 'hotjar',
146
147
  packageSubpath: 'hotjar',
147
- integrationCategory: 'analytics',
148
- consentCategory: 'measurement'
148
+ vendor: 'hotjar'
149
149
  },
150
150
  {
151
+ consentCategory: 'measurement',
152
+ docsSlug: 'hightouch',
153
+ hint: 'Customer data platform events',
154
+ integrationCategory: 'analytics',
151
155
  key: 'hightouch',
152
- vendor: 'hightouch',
153
156
  label: 'Hightouch',
154
- hint: 'Customer data platform events',
155
- docsSlug: 'hightouch',
156
157
  packageSubpath: 'hightouch',
157
- integrationCategory: 'analytics',
158
- consentCategory: 'measurement'
158
+ vendor: 'hightouch'
159
159
  },
160
160
  {
161
+ consentCategory: 'measurement',
162
+ docsSlug: 'rudderstack',
163
+ hint: 'Customer data platform events',
164
+ integrationCategory: 'analytics',
161
165
  key: 'rudderstack',
162
- vendor: 'rudderstack',
163
166
  label: 'RudderStack',
164
- hint: 'Customer data platform events',
165
- docsSlug: 'rudderstack',
166
167
  packageSubpath: 'rudderstack',
167
- integrationCategory: 'analytics',
168
- consentCategory: 'measurement'
168
+ vendor: 'rudderstack'
169
169
  },
170
170
  {
171
+ consentCategory: 'measurement',
172
+ docsSlug: 'logrocket',
173
+ hint: 'Session replay and monitoring',
174
+ integrationCategory: 'analytics',
171
175
  key: 'logRocket',
172
- vendor: 'logrocket',
173
176
  label: 'LogRocket',
174
- hint: 'Session replay and monitoring',
175
- docsSlug: 'logrocket',
176
177
  packageSubpath: 'logrocket',
177
- integrationCategory: 'analytics',
178
- consentCategory: 'measurement'
178
+ vendor: 'logrocket'
179
179
  },
180
180
  {
181
+ consentCategory: 'measurement',
182
+ docsSlug: 'matomo-analytics',
183
+ hint: 'Self-hosted privacy analytics',
184
+ integrationCategory: 'analytics',
181
185
  key: 'matomoAnalytics',
182
- vendor: 'matomo-analytics',
183
186
  label: 'Matomo Analytics',
184
- hint: 'Self-hosted privacy analytics',
185
- docsSlug: 'matomo-analytics',
186
187
  packageSubpath: 'matomo-analytics',
187
- integrationCategory: 'analytics',
188
- consentCategory: 'measurement'
188
+ vendor: 'matomo-analytics'
189
189
  },
190
190
  {
191
+ consentCategory: 'measurement',
192
+ docsSlug: 'posthog',
193
+ hint: 'Product analytics',
194
+ integrationCategory: 'analytics',
191
195
  key: 'posthog',
192
- vendor: 'posthog',
193
196
  label: 'PostHog',
194
- hint: 'Product analytics',
195
- docsSlug: 'posthog',
196
197
  packageSubpath: 'posthog',
197
- integrationCategory: 'analytics',
198
- consentCategory: 'measurement'
198
+ vendor: 'posthog'
199
199
  },
200
200
  {
201
+ consentCategory: 'measurement',
202
+ docsSlug: 'promptwatch',
203
+ hint: 'AI traffic analytics',
204
+ integrationCategory: 'analytics',
201
205
  key: 'promptwatch',
202
- vendor: 'promptwatch',
203
206
  label: 'Promptwatch',
204
- hint: 'AI traffic analytics',
205
- docsSlug: 'promptwatch',
206
207
  packageSubpath: 'promptwatch',
207
- integrationCategory: 'analytics',
208
- consentCategory: 'measurement'
208
+ vendor: 'promptwatch'
209
209
  },
210
210
  {
211
+ consentCategory: 'measurement',
212
+ docsSlug: 'pirsch',
213
+ hint: 'Privacy-friendly cookieless analytics',
214
+ integrationCategory: 'analytics',
211
215
  key: 'pirsch',
212
- vendor: 'pirsch',
213
216
  label: 'Pirsch',
214
- hint: 'Privacy-friendly cookieless analytics',
215
- docsSlug: 'pirsch',
216
217
  packageSubpath: 'pirsch',
217
- integrationCategory: 'analytics',
218
- consentCategory: 'measurement'
218
+ vendor: 'pirsch'
219
219
  },
220
220
  {
221
+ consentCategory: 'measurement',
222
+ docsSlug: 'segment',
223
+ hint: 'Customer data platform',
224
+ integrationCategory: 'analytics',
221
225
  key: 'segment',
222
- vendor: 'segment',
223
226
  label: 'Segment',
224
- hint: 'Customer data platform',
225
- docsSlug: 'segment',
226
227
  packageSubpath: 'segment',
227
- integrationCategory: 'analytics',
228
- consentCategory: 'measurement'
228
+ vendor: 'segment'
229
229
  },
230
230
  {
231
+ consentCategory: 'measurement',
232
+ docsSlug: 'rybbit-analytics',
233
+ hint: 'Privacy-friendly web analytics',
234
+ integrationCategory: 'analytics',
231
235
  key: 'rybbitAnalytics',
232
- vendor: 'rybbit-analytics',
233
236
  label: 'Rybbit Analytics',
234
- hint: 'Privacy-friendly web analytics',
235
- docsSlug: 'rybbit-analytics',
236
237
  packageSubpath: 'rybbit-analytics',
237
- integrationCategory: 'analytics',
238
- consentCategory: 'measurement'
238
+ vendor: 'rybbit-analytics'
239
239
  },
240
240
  {
241
+ consentCategory: 'measurement',
242
+ docsSlug: 'plausible-analytics',
243
+ hint: 'Privacy-friendly cookieless analytics',
244
+ integrationCategory: 'analytics',
241
245
  key: 'plausibleAnalytics',
242
- vendor: 'plausible-analytics',
243
246
  label: 'Plausible Analytics',
244
- hint: 'Privacy-friendly cookieless analytics',
245
- docsSlug: 'plausible-analytics',
246
247
  packageSubpath: 'plausible-analytics',
247
- integrationCategory: 'analytics',
248
- consentCategory: 'measurement'
248
+ vendor: 'plausible-analytics'
249
249
  },
250
250
  {
251
+ consentCategory: 'measurement',
252
+ docsSlug: 'umami-analytics',
253
+ hint: 'Open-source cookieless analytics',
254
+ integrationCategory: 'analytics',
251
255
  key: 'umamiAnalytics',
252
- vendor: 'umami-analytics',
253
256
  label: 'Umami Analytics',
254
- hint: 'Open-source cookieless analytics',
255
- docsSlug: 'umami-analytics',
256
257
  packageSubpath: 'umami-analytics',
257
- integrationCategory: 'analytics',
258
- consentCategory: 'measurement'
258
+ vendor: 'umami-analytics'
259
259
  },
260
260
  {
261
+ consentCategory: 'measurement',
262
+ docsSlug: 'vercel-analytics',
263
+ hint: 'Vercel web analytics',
264
+ integrationCategory: 'analytics',
261
265
  key: 'vercelAnalytics',
262
- vendor: 'vercel-analytics',
263
266
  label: 'Vercel Analytics',
264
- hint: 'Vercel web analytics',
265
- docsSlug: 'vercel-analytics',
266
267
  packageSubpath: 'vercel-analytics',
267
- integrationCategory: 'analytics',
268
- consentCategory: 'measurement'
268
+ vendor: 'vercel-analytics'
269
269
  },
270
270
  {
271
+ consentCategory: 'functionality',
272
+ docsSlug: 'crisp',
273
+ hint: 'Live chat widget',
274
+ integrationCategory: 'functional',
271
275
  key: 'crisp',
272
- vendor: 'crisp',
273
276
  label: 'Crisp',
274
- hint: 'Live chat widget',
275
- docsSlug: 'crisp',
276
277
  packageSubpath: 'crisp',
277
- integrationCategory: 'functional',
278
- consentCategory: 'functionality'
278
+ vendor: 'crisp'
279
279
  },
280
280
  {
281
+ consentCategory: 'functionality',
282
+ docsSlug: 'intercom',
283
+ hint: 'Messenger and live chat widget',
284
+ integrationCategory: 'functional',
281
285
  key: 'intercom',
282
- vendor: 'intercom',
283
286
  label: 'Intercom',
284
- hint: 'Messenger and live chat widget',
285
- docsSlug: 'intercom',
286
287
  packageSubpath: 'intercom',
287
- integrationCategory: 'functional',
288
- consentCategory: 'functionality'
288
+ vendor: 'intercom'
289
289
  },
290
290
  {
291
+ consentCategory: 'marketing',
292
+ docsSlug: 'meta-pixel',
293
+ hint: 'Facebook/Instagram tracking',
294
+ integrationCategory: 'ads-and-pixels',
291
295
  key: 'metaPixel',
292
- vendor: 'meta-pixel',
293
296
  label: 'Meta Pixel',
294
- hint: 'Facebook/Instagram tracking',
295
- docsSlug: 'meta-pixel',
296
297
  packageSubpath: 'meta-pixel',
298
+ vendor: 'meta-pixel'
299
+ },
300
+ {
301
+ consentCategory: 'marketing',
302
+ docsSlug: 'openai-pixel',
303
+ hint: 'ChatGPT Ads conversion measurement',
297
304
  integrationCategory: 'ads-and-pixels',
298
- consentCategory: 'marketing'
305
+ key: 'openaiPixel',
306
+ label: 'OpenAI Pixel (ChatGPT Ads)',
307
+ packageSubpath: 'openai-pixel',
308
+ vendor: 'openai-pixel'
299
309
  },
300
310
  {
311
+ consentCategory: 'marketing',
312
+ docsSlug: 'reddit-pixel',
313
+ hint: 'Reddit ads tracking',
314
+ integrationCategory: 'ads-and-pixels',
301
315
  key: 'redditPixel',
302
- vendor: 'reddit-pixel',
303
316
  label: 'Reddit Pixel',
304
- hint: 'Reddit ads tracking',
305
- docsSlug: 'reddit-pixel',
306
317
  packageSubpath: 'reddit-pixel',
307
- integrationCategory: 'ads-and-pixels',
308
- consentCategory: 'marketing'
318
+ vendor: 'reddit-pixel'
309
319
  },
310
320
  {
321
+ consentCategory: 'marketing',
322
+ docsSlug: 'tiktok-pixel',
323
+ hint: 'TikTok ads tracking',
324
+ integrationCategory: 'ads-and-pixels',
311
325
  key: 'tiktokPixel',
312
- vendor: 'tiktok-pixel',
313
326
  label: 'TikTok Pixel',
314
- hint: 'TikTok ads tracking',
315
- docsSlug: 'tiktok-pixel',
316
327
  packageSubpath: 'tiktok-pixel',
317
- integrationCategory: 'ads-and-pixels',
318
- consentCategory: 'marketing'
328
+ vendor: 'tiktok-pixel'
319
329
  },
320
330
  {
331
+ consentCategory: 'marketing',
332
+ docsSlug: 'linkedin-insights',
333
+ hint: 'LinkedIn conversion tracking',
334
+ integrationCategory: 'ads-and-pixels',
321
335
  key: 'linkedinInsights',
322
- vendor: 'linkedin-insights',
323
336
  label: 'LinkedIn Insight Tag',
324
- hint: 'LinkedIn conversion tracking',
325
- docsSlug: 'linkedin-insights',
326
337
  packageSubpath: 'linkedin-insights',
327
- integrationCategory: 'ads-and-pixels',
328
- consentCategory: 'marketing'
338
+ vendor: 'linkedin-insights'
329
339
  },
330
340
  {
341
+ consentCategory: 'marketing',
342
+ docsSlug: 'microsoft-uet',
343
+ hint: 'Bing Ads tracking',
344
+ integrationCategory: 'ads-and-pixels',
331
345
  key: 'microsoftUet',
332
- vendor: 'microsoft-uet',
333
346
  label: 'Microsoft UET',
334
- hint: 'Bing Ads tracking',
335
- docsSlug: 'microsoft-uet',
336
347
  packageSubpath: 'microsoft-uet',
337
- integrationCategory: 'ads-and-pixels',
338
- consentCategory: 'marketing'
348
+ vendor: 'microsoft-uet'
339
349
  },
340
350
  {
351
+ consentCategory: 'marketing',
352
+ docsSlug: 'snapchat-pixel',
353
+ hint: 'Snapchat ads tracking',
354
+ integrationCategory: 'ads-and-pixels',
341
355
  key: 'snapchatPixel',
342
- vendor: 'snapchat-pixel',
343
356
  label: 'Snapchat Pixel',
344
- hint: 'Snapchat ads tracking',
345
- docsSlug: 'snapchat-pixel',
346
357
  packageSubpath: 'snapchat-pixel',
347
- integrationCategory: 'ads-and-pixels',
348
- consentCategory: 'marketing'
358
+ vendor: 'snapchat-pixel'
349
359
  },
350
360
  {
361
+ consentCategory: 'marketing',
362
+ docsSlug: 'x-pixel',
363
+ hint: 'X/Twitter conversion tracking',
364
+ integrationCategory: 'ads-and-pixels',
351
365
  key: 'xPixel',
352
- vendor: 'x-pixel',
353
366
  label: 'X (Twitter) Pixel',
354
- hint: 'X/Twitter conversion tracking',
355
- docsSlug: 'x-pixel',
356
367
  packageSubpath: 'x-pixel',
357
- integrationCategory: 'ads-and-pixels',
358
- consentCategory: 'marketing'
368
+ vendor: 'x-pixel'
359
369
  }
360
370
  ];
361
- function getBuiltInScriptIntegration(key) {
371
+ const registry_getBuiltInScriptIntegration = function(key) {
362
372
  const integration = builtInScriptIntegrations.find((item)=>item.key === key);
363
373
  if (integration) return integration;
364
374
  throw new Error(`Unknown built-in script integration: ${key}`);
365
- }
366
- function getBuiltInScriptIntegrationBySubpath(subpath) {
375
+ };
376
+ const registry_getBuiltInScriptIntegrationBySubpath = function(subpath) {
367
377
  return builtInScriptIntegrations.find((integration)=>integration.packageSubpath === subpath);
368
- }
369
- function getBuiltInScriptIntegrationByVendor(vendor) {
378
+ };
379
+ const registry_getBuiltInScriptIntegrationByVendor = function(vendor) {
370
380
  return builtInScriptIntegrations.find((integration)=>integration.vendor === vendor);
371
- }
372
- export { BUILT_IN_INTEGRATION_CATEGORIES, builtInScriptIntegrations, getBuiltInScriptIntegration, getBuiltInScriptIntegrationBySubpath, getBuiltInScriptIntegrationByVendor };
381
+ };
382
+ export { BUILT_IN_INTEGRATION_CATEGORIES, builtInScriptIntegrations, registry_getBuiltInScriptIntegration as getBuiltInScriptIntegration, registry_getBuiltInScriptIntegrationBySubpath as getBuiltInScriptIntegrationBySubpath, registry_getBuiltInScriptIntegrationByVendor as getBuiltInScriptIntegrationByVendor };
package/dist/resolve.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { compileManifest } from "./engine/compile.js";
2
2
  import { resolvedManifestToScript } from "./engine/runtime.js";
3
3
  const manifestCache = new WeakMap();
4
- function serializeConfigValue(value) {
4
+ const resolve_serializeConfigValue = function serializeConfigValue(value) {
5
5
  if (void 0 === value) return 'undefined';
6
6
  if (null === value) return 'null';
7
7
  if (Array.isArray(value)) return `[${value.map((item)=>serializeConfigValue(item)).join(',')}]`;
@@ -10,12 +10,12 @@ function serializeConfigValue(value) {
10
10
  return `{${entries.map(([key, nestedValue])=>`${JSON.stringify(key)}:${serializeConfigValue(nestedValue)}`).join(',')}}`;
11
11
  }
12
12
  return `${typeof value}:${String(value)}`;
13
- }
14
- function getManifestCacheKey(config) {
15
- return serializeConfigValue(config);
16
- }
17
- function getCompiledManifest(manifest, config) {
18
- const cacheKey = getManifestCacheKey(config);
13
+ };
14
+ const resolve_getManifestCacheKey = function(config) {
15
+ return resolve_serializeConfigValue(config);
16
+ };
17
+ const resolve_getCompiledManifest = function(manifest, config) {
18
+ const cacheKey = resolve_getManifestCacheKey(config);
19
19
  let configCache = manifestCache.get(manifest);
20
20
  if (!configCache) {
21
21
  configCache = new Map();
@@ -26,8 +26,8 @@ function getCompiledManifest(manifest, config) {
26
26
  const compiled = compileManifest(manifest, config);
27
27
  configCache.set(cacheKey, compiled);
28
28
  return compiled;
29
- }
30
- function resolveManifest(manifest, config = {}) {
31
- return resolvedManifestToScript(getCompiledManifest(manifest, config));
32
- }
33
- export { resolveManifest };
29
+ };
30
+ const resolve_resolveManifest = function(manifest, config = {}) {
31
+ return resolvedManifestToScript(resolve_getCompiledManifest(manifest, config));
32
+ };
33
+ export { resolve_resolveManifest as resolveManifest };
@@ -1,14 +1,14 @@
1
- function booleanDataAttribute(value) {
1
+ const attributes_booleanDataAttribute = function(value) {
2
2
  if (void 0 === value) return;
3
3
  if (value) return 'true';
4
4
  return 'false';
5
- }
6
- function listDataAttribute(value) {
5
+ };
6
+ const attributes_listDataAttribute = function(value) {
7
7
  if (void 0 === value) return;
8
8
  if (Array.isArray(value)) {
9
9
  if (0 === value.length) return;
10
10
  return JSON.stringify(value);
11
11
  }
12
12
  return value;
13
- }
14
- export { booleanDataAttribute, listDataAttribute };
13
+ };
14
+ export { attributes_booleanDataAttribute as booleanDataAttribute, attributes_listDataAttribute as listDataAttribute };
@@ -1,27 +1,27 @@
1
1
  const GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING = {
2
- necessary: [
3
- 'security_storage'
2
+ experience: [
3
+ 'personalization_storage'
4
4
  ],
5
5
  functionality: [
6
6
  'functionality_storage'
7
7
  ],
8
- measurement: [
9
- 'analytics_storage'
10
- ],
11
8
  marketing: [
12
9
  'ad_storage',
13
10
  'ad_user_data',
14
11
  'ad_personalization'
15
12
  ],
16
- experience: [
17
- 'personalization_storage'
13
+ measurement: [
14
+ 'analytics_storage'
15
+ ],
16
+ necessary: [
17
+ 'security_storage'
18
18
  ]
19
19
  };
20
- function withOptionalConsentMapping(manifest, consentMapping) {
20
+ const google_consent_withOptionalConsentMapping = function(manifest, consentMapping) {
21
21
  if (void 0 === consentMapping) return manifest;
22
22
  return {
23
23
  ...manifest,
24
24
  consentMapping
25
25
  };
26
- }
27
- export { GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING, withOptionalConsentMapping };
26
+ };
27
+ export { GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING, google_consent_withOptionalConsentMapping as withOptionalConsentMapping };
@@ -1,21 +1,21 @@
1
- function buildQueuePixelInstall({ global, initArgs, trackStep, scriptPlaceholder = "{{scriptUrl}}" }) {
1
+ const install_builders_buildQueuePixelInstall = function({ global, initArgs, trackStep, scriptPlaceholder = "{{scriptUrl}}" }) {
2
2
  const install = [
3
3
  {
4
- type: 'callGlobal',
4
+ args: initArgs,
5
5
  global,
6
- args: initArgs
6
+ type: 'callGlobal'
7
7
  }
8
8
  ];
9
9
  if (void 0 !== trackStep) install.push({
10
- type: 'callGlobal',
10
+ args: trackStep.args,
11
11
  global,
12
- args: trackStep.args
12
+ type: 'callGlobal'
13
13
  });
14
14
  install.push({
15
- type: 'loadScript',
15
+ async: true,
16
16
  src: scriptPlaceholder,
17
- async: true
17
+ type: 'loadScript'
18
18
  });
19
19
  return install;
20
- }
21
- export { buildQueuePixelInstall };
20
+ };
21
+ export { install_builders_buildQueuePixelInstall as buildQueuePixelInstall };