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