@c15t/scripts 2.0.1 → 2.2.0-canary-20260727202135

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