@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.
- package/AGENTS.md +77 -48
- package/README.md +4 -3
- package/dist/e2e-test-utils.js +60 -24
- package/dist/engine/compile.js +45 -45
- package/dist/engine/runtime.js +130 -119
- package/dist/registry.js +196 -176
- package/dist/resolve.js +12 -12
- package/dist/vendors/_shared/attributes.js +5 -5
- package/dist/vendors/_shared/google-consent.js +10 -10
- package/dist/vendors/_shared/install-builders.js +9 -9
- package/dist/vendors/_shared/script-url.js +12 -12
- package/dist/vendors/ads-and-pixels/linkedin-insights.js +16 -16
- package/dist/vendors/ads-and-pixels/meta-pixel.js +82 -82
- package/dist/vendors/ads-and-pixels/microsoft-uet.js +57 -57
- package/dist/vendors/ads-and-pixels/openai-pixel.js +88 -0
- package/dist/vendors/ads-and-pixels/reddit-pixel.js +39 -39
- package/dist/vendors/ads-and-pixels/snapchat-pixel.js +25 -25
- package/dist/vendors/ads-and-pixels/tiktok-pixel.js +31 -31
- package/dist/vendors/ads-and-pixels/x-pixel.js +17 -17
- package/dist/vendors/analytics/adobe-analytics.js +17 -17
- package/dist/vendors/analytics/ahrefs-analytics.js +8 -8
- package/dist/vendors/analytics/amplitude.js +39 -39
- package/dist/vendors/analytics/clearbit.js +11 -11
- package/dist/vendors/analytics/cloudflare-web-analytics.js +13 -13
- package/dist/vendors/analytics/databuddy.js +45 -45
- package/dist/vendors/analytics/fathom-analytics.js +15 -15
- package/dist/vendors/analytics/google-tag.js +23 -23
- package/dist/vendors/analytics/heap.js +37 -37
- package/dist/vendors/analytics/hightouch.js +30 -30
- package/dist/vendors/analytics/hotjar.js +14 -14
- package/dist/vendors/analytics/logrocket.js +24 -24
- package/dist/vendors/analytics/matomo-analytics.js +51 -51
- package/dist/vendors/analytics/microsoft-clarity.js +34 -31
- package/dist/vendors/analytics/mixpanel-analytics.js +31 -31
- package/dist/vendors/analytics/pirsch.js +27 -27
- package/dist/vendors/analytics/plausible-analytics.js +24 -24
- package/dist/vendors/analytics/posthog.js +84 -79
- package/dist/vendors/analytics/promptwatch.js +8 -8
- package/dist/vendors/analytics/rudderstack.js +50 -50
- package/dist/vendors/analytics/rybbit-analytics.js +30 -30
- package/dist/vendors/analytics/segment.js +16 -16
- package/dist/vendors/analytics/umami-analytics.js +16 -16
- package/dist/vendors/analytics/vercel-analytics.js +22 -22
- package/dist/vendors/functional/crisp.js +49 -51
- package/dist/vendors/functional/intercom.js +18 -18
- package/dist/vendors/tag-managers/cloudflare-zaraz.js +98 -0
- package/dist/vendors/tag-managers/google-tag-manager.js +20 -20
- package/dist-types/__tests__/helpers.d.ts +11 -11
- package/dist-types/engine/compile.d.ts +3 -3
- package/dist-types/engine/runtime.d.ts +3 -3
- package/dist-types/registry.d.ts +191 -173
- package/dist-types/resolve.d.ts +3 -3
- package/dist-types/types.d.ts +2 -2
- package/dist-types/vendors/_shared/attributes.d.ts +2 -2
- package/dist-types/vendors/_shared/google-consent.d.ts +2 -2
- package/dist-types/vendors/_shared/install-builders.d.ts +2 -2
- package/dist-types/vendors/_shared/script-url.d.ts +6 -6
- package/dist-types/vendors/ads-and-pixels/linkedin-insights.d.ts +14 -14
- package/dist-types/vendors/ads-and-pixels/meta-pixel.d.ts +27 -27
- package/dist-types/vendors/ads-and-pixels/microsoft-uet.d.ts +40 -40
- package/dist-types/vendors/ads-and-pixels/openai-pixel.d.ts +211 -0
- package/dist-types/vendors/ads-and-pixels/reddit-pixel.d.ts +28 -29
- package/dist-types/vendors/ads-and-pixels/snapchat-pixel.d.ts +23 -23
- package/dist-types/vendors/ads-and-pixels/tiktok-pixel.d.ts +22 -22
- package/dist-types/vendors/ads-and-pixels/x-pixel.d.ts +15 -15
- package/dist-types/vendors/analytics/adobe-analytics.d.ts +3 -3
- package/dist-types/vendors/analytics/ahrefs-analytics.d.ts +5 -5
- package/dist-types/vendors/analytics/amplitude.d.ts +24 -24
- package/dist-types/vendors/analytics/clearbit.d.ts +5 -5
- package/dist-types/vendors/analytics/cloudflare-web-analytics.d.ts +6 -6
- package/dist-types/vendors/analytics/databuddy.d.ts +34 -31
- package/dist-types/vendors/analytics/fathom-analytics.d.ts +8 -8
- package/dist-types/vendors/analytics/google-tag.d.ts +17 -17
- package/dist-types/vendors/analytics/heap.d.ts +17 -17
- package/dist-types/vendors/analytics/hightouch.d.ts +15 -15
- package/dist-types/vendors/analytics/hotjar.d.ts +9 -9
- package/dist-types/vendors/analytics/logrocket.d.ts +11 -11
- package/dist-types/vendors/analytics/matomo-analytics.d.ts +3 -3
- package/dist-types/vendors/analytics/microsoft-clarity.d.ts +12 -13
- package/dist-types/vendors/analytics/mixpanel-analytics.d.ts +20 -20
- package/dist-types/vendors/analytics/pirsch.d.ts +10 -10
- package/dist-types/vendors/analytics/plausible-analytics.d.ts +13 -13
- package/dist-types/vendors/analytics/posthog.d.ts +35 -32
- package/dist-types/vendors/analytics/promptwatch.d.ts +5 -5
- package/dist-types/vendors/analytics/rudderstack.d.ts +16 -16
- package/dist-types/vendors/analytics/rybbit-analytics.d.ts +15 -15
- package/dist-types/vendors/analytics/segment.d.ts +11 -11
- package/dist-types/vendors/analytics/umami-analytics.d.ts +9 -9
- package/dist-types/vendors/analytics/vercel-analytics.d.ts +13 -13
- package/dist-types/vendors/functional/crisp.d.ts +9 -9
- package/dist-types/vendors/functional/intercom.d.ts +12 -12
- package/dist-types/vendors/tag-managers/cloudflare-zaraz.d.ts +39 -0
- package/dist-types/vendors/tag-managers/google-tag-manager.d.ts +16 -16
- package/docs/README.md +77 -48
- package/docs/assets/v3/brand-bar.png +0 -0
- package/docs/assets/v3/brand-card.png +0 -0
- package/docs/assets/v3/choice-wall.png +0 -0
- package/docs/assets/v3/mobile-card.png +0 -0
- package/docs/assets/v3/preferences.png +0 -0
- package/docs/customization/overview.md +45 -0
- package/docs/customization/recipes.md +79 -0
- package/docs/customization/slots.md +55 -0
- package/docs/customization/tokens.md +76 -0
- package/docs/customization/translations.md +49 -0
- package/docs/frameworks/javascript/script-loader.md +81 -343
- package/docs/frameworks/next/script-loader.md +164 -455
- package/docs/frameworks/react/script-loader.md +41 -533
- package/docs/guides/consent-state.md +60 -0
- package/docs/guides/data-fetching.md +163 -0
- package/docs/guides/deployment-modes.md +75 -0
- package/docs/guides/troubleshooting.md +68 -0
- package/docs/guides/verify-consent.md +62 -0
- package/docs/integrations/adobe-analytics.md +239 -105
- package/docs/integrations/ahrefs-analytics.md +238 -104
- package/docs/integrations/amplitude.md +219 -157
- package/docs/integrations/building-integrations.md +36 -223
- package/docs/integrations/clear-on-revocation.md +167 -0
- package/docs/integrations/clearbit.md +247 -86
- package/docs/integrations/cloudflare-web-analytics.md +250 -84
- package/docs/integrations/cloudflare-zaraz.md +399 -0
- package/docs/integrations/crisp.md +251 -97
- package/docs/integrations/databuddy.md +259 -153
- package/docs/integrations/fathom-analytics.md +239 -96
- package/docs/integrations/google-maps.md +328 -207
- package/docs/integrations/google-tag-manager.md +248 -96
- package/docs/integrations/google-tag.md +261 -90
- package/docs/integrations/granular-consent.md +208 -0
- package/docs/integrations/heap.md +222 -149
- package/docs/integrations/hightouch.md +225 -131
- package/docs/integrations/hotjar.md +239 -90
- package/docs/integrations/intercom.md +239 -98
- package/docs/integrations/linkedin-insights.md +243 -113
- package/docs/integrations/logrocket.md +241 -123
- package/docs/integrations/matomo-analytics.md +256 -111
- package/docs/integrations/meta-pixel.md +197 -324
- package/docs/integrations/microsoft-clarity.md +233 -114
- package/docs/integrations/microsoft-uet.md +245 -110
- package/docs/integrations/mixpanel-analytics.md +252 -87
- package/docs/integrations/openai-pixel.md +441 -0
- package/docs/integrations/overview.md +96 -133
- package/docs/integrations/pirsch.md +249 -96
- package/docs/integrations/plausible-analytics.md +241 -100
- package/docs/integrations/posthog.md +353 -214
- package/docs/integrations/promptwatch.md +251 -81
- package/docs/integrations/reddit-pixel.md +226 -173
- package/docs/integrations/rudderstack.md +244 -187
- package/docs/integrations/rybbit-analytics.md +244 -91
- package/docs/integrations/segment.md +238 -92
- package/docs/integrations/snapchat-pixel.md +240 -110
- package/docs/integrations/tiktok-pixel.md +249 -81
- package/docs/integrations/umami-analytics.md +242 -95
- package/docs/integrations/vercel-analytics.md +242 -90
- package/docs/integrations/x-pixel.md +238 -104
- package/docs/integrations/youtube.md +359 -142
- package/docs/upgrade-v3.md +381 -0
- package/package.json +90 -78
- package/dist/e2e-test-utils.cjs +0 -166
- package/dist/engine/compile.cjs +0 -130
- package/dist/engine/runtime.cjs +0 -475
- package/dist/registry.cjs +0 -423
- package/dist/resolve.cjs +0 -71
- package/dist/types.cjs +0 -69
- package/dist/vendors/_shared/attributes.cjs +0 -55
- package/dist/vendors/_shared/google-consent.cjs +0 -69
- package/dist/vendors/_shared/install-builders.cjs +0 -59
- package/dist/vendors/_shared/script-url.cjs +0 -78
- package/dist/vendors/ads-and-pixels/linkedin-insights.cjs +0 -89
- package/dist/vendors/ads-and-pixels/meta-pixel.cjs +0 -206
- package/dist/vendors/ads-and-pixels/microsoft-uet.cjs +0 -151
- package/dist/vendors/ads-and-pixels/reddit-pixel.cjs +0 -151
- package/dist/vendors/ads-and-pixels/snapchat-pixel.cjs +0 -131
- package/dist/vendors/ads-and-pixels/tiktok-pixel.cjs +0 -130
- package/dist/vendors/ads-and-pixels/x-pixel.cjs +0 -92
- package/dist/vendors/analytics/adobe-analytics.cjs +0 -90
- package/dist/vendors/analytics/ahrefs-analytics.cjs +0 -68
- package/dist/vendors/analytics/amplitude.cjs +0 -193
- package/dist/vendors/analytics/clearbit.cjs +0 -69
- package/dist/vendors/analytics/cloudflare-web-analytics.cjs +0 -73
- package/dist/vendors/analytics/databuddy.cjs +0 -144
- package/dist/vendors/analytics/fathom-analytics.cjs +0 -76
- package/dist/vendors/analytics/google-tag.cjs +0 -107
- package/dist/vendors/analytics/heap.cjs +0 -181
- package/dist/vendors/analytics/hightouch.cjs +0 -153
- package/dist/vendors/analytics/hotjar.cjs +0 -85
- package/dist/vendors/analytics/logrocket.cjs +0 -99
- package/dist/vendors/analytics/matomo-analytics.cjs +0 -232
- package/dist/vendors/analytics/microsoft-clarity.cjs +0 -138
- package/dist/vendors/analytics/mixpanel-analytics.cjs +0 -134
- package/dist/vendors/analytics/pirsch.cjs +0 -108
- package/dist/vendors/analytics/plausible-analytics.cjs +0 -122
- package/dist/vendors/analytics/posthog.cjs +0 -236
- package/dist/vendors/analytics/promptwatch.cjs +0 -70
- package/dist/vendors/analytics/rudderstack.cjs +0 -227
- package/dist/vendors/analytics/rybbit-analytics.cjs +0 -104
- package/dist/vendors/analytics/segment.cjs +0 -97
- package/dist/vendors/analytics/umami-analytics.cjs +0 -80
- package/dist/vendors/analytics/vercel-analytics.cjs +0 -94
- package/dist/vendors/functional/crisp.cjs +0 -143
- package/dist/vendors/functional/intercom.cjs +0 -89
- package/dist/vendors/tag-managers/google-tag-manager.cjs +0 -100
- package/docs/shared/react/guides/script-loader.md +0 -311
- package/readme.json +0 -19
package/dist-types/registry.d.ts
CHANGED
|
@@ -77,311 +77,329 @@ export declare const BUILT_IN_INTEGRATION_CATEGORIES: readonly [{
|
|
|
77
77
|
* the CLI can discover it from the same source.
|
|
78
78
|
*/
|
|
79
79
|
export declare const builtInScriptIntegrations: readonly [{
|
|
80
|
+
readonly consentCategory: 'necessary';
|
|
81
|
+
readonly docsSlug: 'cloudflare-zaraz';
|
|
82
|
+
readonly hint: 'Consent bridge for tools managed by Zaraz';
|
|
83
|
+
readonly integrationCategory: 'tag-manager';
|
|
84
|
+
readonly key: 'cloudflareZaraz';
|
|
85
|
+
readonly label: 'Cloudflare Zaraz';
|
|
86
|
+
readonly packageSubpath: 'cloudflare-zaraz';
|
|
87
|
+
readonly vendor: 'cloudflare-zaraz';
|
|
88
|
+
}, {
|
|
89
|
+
readonly consentCategory: 'necessary';
|
|
90
|
+
readonly docsSlug: 'google-tag-manager';
|
|
91
|
+
readonly hint: 'GTM container script';
|
|
92
|
+
readonly integrationCategory: 'tag-manager';
|
|
80
93
|
readonly key: 'googleTagManager';
|
|
81
|
-
readonly vendor: 'google-tag-manager';
|
|
82
94
|
readonly label: 'Google Tag Manager';
|
|
83
|
-
readonly hint: 'GTM container script';
|
|
84
|
-
readonly docsSlug: 'google-tag-manager';
|
|
85
95
|
readonly packageSubpath: 'google-tag-manager';
|
|
86
|
-
readonly
|
|
87
|
-
readonly consentCategory: 'necessary';
|
|
96
|
+
readonly vendor: 'google-tag-manager';
|
|
88
97
|
}, {
|
|
98
|
+
readonly consentCategory: 'measurement';
|
|
99
|
+
readonly docsSlug: 'google-tag';
|
|
100
|
+
readonly hint: 'Google Analytics 4';
|
|
101
|
+
readonly integrationCategory: 'analytics';
|
|
89
102
|
readonly key: 'gtag';
|
|
90
|
-
readonly vendor: 'gtag';
|
|
91
103
|
readonly label: 'Google Tag (gtag.js)';
|
|
92
|
-
readonly hint: 'Google Analytics 4';
|
|
93
|
-
readonly docsSlug: 'google-tag';
|
|
94
104
|
readonly packageSubpath: 'google-tag';
|
|
95
|
-
readonly
|
|
96
|
-
readonly consentCategory: 'measurement';
|
|
105
|
+
readonly vendor: 'gtag';
|
|
97
106
|
}, {
|
|
107
|
+
readonly consentCategory: 'measurement';
|
|
108
|
+
readonly docsSlug: 'ahrefs-analytics';
|
|
109
|
+
readonly hint: 'Cookieless web analytics from Ahrefs';
|
|
110
|
+
readonly integrationCategory: 'analytics';
|
|
98
111
|
readonly key: 'ahrefsAnalytics';
|
|
99
|
-
readonly vendor: 'ahrefs-analytics';
|
|
100
112
|
readonly label: 'Ahrefs Analytics';
|
|
101
|
-
readonly hint: 'Cookieless web analytics from Ahrefs';
|
|
102
|
-
readonly docsSlug: 'ahrefs-analytics';
|
|
103
113
|
readonly packageSubpath: 'ahrefs-analytics';
|
|
104
|
-
readonly
|
|
105
|
-
readonly consentCategory: 'measurement';
|
|
114
|
+
readonly vendor: 'ahrefs-analytics';
|
|
106
115
|
}, {
|
|
116
|
+
readonly consentCategory: 'measurement';
|
|
117
|
+
readonly docsSlug: 'adobe-analytics';
|
|
118
|
+
readonly hint: 'Adobe Experience Platform tags';
|
|
119
|
+
readonly integrationCategory: 'analytics';
|
|
107
120
|
readonly key: 'adobeAnalytics';
|
|
108
|
-
readonly vendor: 'adobe-analytics';
|
|
109
121
|
readonly label: 'Adobe Analytics';
|
|
110
|
-
readonly hint: 'Adobe Experience Platform tags';
|
|
111
|
-
readonly docsSlug: 'adobe-analytics';
|
|
112
122
|
readonly packageSubpath: 'adobe-analytics';
|
|
113
|
-
readonly
|
|
114
|
-
readonly consentCategory: 'measurement';
|
|
123
|
+
readonly vendor: 'adobe-analytics';
|
|
115
124
|
}, {
|
|
125
|
+
readonly consentCategory: 'measurement';
|
|
126
|
+
readonly docsSlug: 'amplitude';
|
|
127
|
+
readonly hint: 'Product analytics';
|
|
128
|
+
readonly integrationCategory: 'analytics';
|
|
116
129
|
readonly key: 'amplitude';
|
|
117
|
-
readonly vendor: 'amplitude';
|
|
118
130
|
readonly label: 'Amplitude';
|
|
119
|
-
readonly hint: 'Product analytics';
|
|
120
|
-
readonly docsSlug: 'amplitude';
|
|
121
131
|
readonly packageSubpath: 'amplitude';
|
|
122
|
-
readonly
|
|
123
|
-
readonly consentCategory: 'measurement';
|
|
132
|
+
readonly vendor: 'amplitude';
|
|
124
133
|
}, {
|
|
134
|
+
readonly consentCategory: 'measurement';
|
|
135
|
+
readonly docsSlug: 'cloudflare-web-analytics';
|
|
136
|
+
readonly hint: 'Cookieless analytics from Cloudflare';
|
|
137
|
+
readonly integrationCategory: 'analytics';
|
|
125
138
|
readonly key: 'cloudflareWebAnalytics';
|
|
126
|
-
readonly vendor: 'cloudflare-web-analytics';
|
|
127
139
|
readonly label: 'Cloudflare Web Analytics';
|
|
128
|
-
readonly hint: 'Cookieless analytics from Cloudflare';
|
|
129
|
-
readonly docsSlug: 'cloudflare-web-analytics';
|
|
130
140
|
readonly packageSubpath: 'cloudflare-web-analytics';
|
|
131
|
-
readonly
|
|
132
|
-
readonly consentCategory: 'measurement';
|
|
141
|
+
readonly vendor: 'cloudflare-web-analytics';
|
|
133
142
|
}, {
|
|
143
|
+
readonly consentCategory: 'marketing';
|
|
144
|
+
readonly docsSlug: 'clearbit';
|
|
145
|
+
readonly hint: 'Visitor and company enrichment';
|
|
146
|
+
readonly integrationCategory: 'analytics';
|
|
134
147
|
readonly key: 'clearbit';
|
|
135
|
-
readonly vendor: 'clearbit';
|
|
136
148
|
readonly label: 'Clearbit';
|
|
137
|
-
readonly hint: 'Visitor and company enrichment';
|
|
138
|
-
readonly docsSlug: 'clearbit';
|
|
139
149
|
readonly packageSubpath: 'clearbit';
|
|
140
|
-
readonly
|
|
141
|
-
readonly consentCategory: 'marketing';
|
|
150
|
+
readonly vendor: 'clearbit';
|
|
142
151
|
}, {
|
|
152
|
+
readonly consentCategory: 'measurement';
|
|
153
|
+
readonly docsSlug: 'microsoft-clarity';
|
|
154
|
+
readonly hint: 'Session replay and heatmaps';
|
|
155
|
+
readonly integrationCategory: 'analytics';
|
|
143
156
|
readonly key: 'microsoft-clarity';
|
|
144
|
-
readonly vendor: 'microsoft-clarity';
|
|
145
157
|
readonly label: 'Microsoft Clarity';
|
|
146
|
-
readonly hint: 'Session replay and heatmaps';
|
|
147
|
-
readonly docsSlug: 'microsoft-clarity';
|
|
148
158
|
readonly packageSubpath: 'microsoft-clarity';
|
|
149
|
-
readonly
|
|
150
|
-
readonly consentCategory: 'measurement';
|
|
159
|
+
readonly vendor: 'microsoft-clarity';
|
|
151
160
|
}, {
|
|
161
|
+
readonly consentCategory: 'measurement';
|
|
162
|
+
readonly docsSlug: 'databuddy';
|
|
163
|
+
readonly hint: 'Data collection';
|
|
164
|
+
readonly integrationCategory: 'analytics';
|
|
152
165
|
readonly key: 'databuddy';
|
|
153
|
-
readonly vendor: 'databuddy';
|
|
154
166
|
readonly label: 'Databuddy';
|
|
155
|
-
readonly hint: 'Data collection';
|
|
156
|
-
readonly docsSlug: 'databuddy';
|
|
157
167
|
readonly packageSubpath: 'databuddy';
|
|
158
|
-
readonly
|
|
159
|
-
readonly consentCategory: 'measurement';
|
|
168
|
+
readonly vendor: 'databuddy';
|
|
160
169
|
}, {
|
|
170
|
+
readonly consentCategory: 'measurement';
|
|
171
|
+
readonly docsSlug: 'fathom-analytics';
|
|
172
|
+
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
173
|
+
readonly integrationCategory: 'analytics';
|
|
161
174
|
readonly key: 'fathomAnalytics';
|
|
162
|
-
readonly vendor: 'fathom-analytics';
|
|
163
175
|
readonly label: 'Fathom Analytics';
|
|
164
|
-
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
165
|
-
readonly docsSlug: 'fathom-analytics';
|
|
166
176
|
readonly packageSubpath: 'fathom-analytics';
|
|
167
|
-
readonly
|
|
168
|
-
readonly consentCategory: 'measurement';
|
|
177
|
+
readonly vendor: 'fathom-analytics';
|
|
169
178
|
}, {
|
|
179
|
+
readonly consentCategory: 'measurement';
|
|
180
|
+
readonly docsSlug: 'heap';
|
|
181
|
+
readonly hint: 'Autocapture product analytics';
|
|
182
|
+
readonly integrationCategory: 'analytics';
|
|
170
183
|
readonly key: 'heap';
|
|
171
|
-
readonly vendor: 'heap';
|
|
172
184
|
readonly label: 'Heap';
|
|
173
|
-
readonly hint: 'Autocapture product analytics';
|
|
174
|
-
readonly docsSlug: 'heap';
|
|
175
185
|
readonly packageSubpath: 'heap';
|
|
176
|
-
readonly
|
|
177
|
-
readonly consentCategory: 'measurement';
|
|
186
|
+
readonly vendor: 'heap';
|
|
178
187
|
}, {
|
|
188
|
+
readonly consentCategory: 'measurement';
|
|
189
|
+
readonly docsSlug: 'mixpanel-analytics';
|
|
190
|
+
readonly hint: 'Product analytics and funnels';
|
|
191
|
+
readonly integrationCategory: 'analytics';
|
|
179
192
|
readonly key: 'mixpanelAnalytics';
|
|
180
|
-
readonly vendor: 'mixpanel-analytics';
|
|
181
193
|
readonly label: 'Mixpanel Analytics';
|
|
182
|
-
readonly hint: 'Product analytics and funnels';
|
|
183
|
-
readonly docsSlug: 'mixpanel-analytics';
|
|
184
194
|
readonly packageSubpath: 'mixpanel-analytics';
|
|
185
|
-
readonly
|
|
186
|
-
readonly consentCategory: 'measurement';
|
|
195
|
+
readonly vendor: 'mixpanel-analytics';
|
|
187
196
|
}, {
|
|
197
|
+
readonly consentCategory: 'measurement';
|
|
198
|
+
readonly docsSlug: 'hotjar';
|
|
199
|
+
readonly hint: 'Heatmaps and session recordings';
|
|
200
|
+
readonly integrationCategory: 'analytics';
|
|
188
201
|
readonly key: 'hotjar';
|
|
189
|
-
readonly vendor: 'hotjar';
|
|
190
202
|
readonly label: 'Hotjar';
|
|
191
|
-
readonly hint: 'Heatmaps and session recordings';
|
|
192
|
-
readonly docsSlug: 'hotjar';
|
|
193
203
|
readonly packageSubpath: 'hotjar';
|
|
194
|
-
readonly
|
|
195
|
-
readonly consentCategory: 'measurement';
|
|
204
|
+
readonly vendor: 'hotjar';
|
|
196
205
|
}, {
|
|
206
|
+
readonly consentCategory: 'measurement';
|
|
207
|
+
readonly docsSlug: 'hightouch';
|
|
208
|
+
readonly hint: 'Customer data platform events';
|
|
209
|
+
readonly integrationCategory: 'analytics';
|
|
197
210
|
readonly key: 'hightouch';
|
|
198
|
-
readonly vendor: 'hightouch';
|
|
199
211
|
readonly label: 'Hightouch';
|
|
200
|
-
readonly hint: 'Customer data platform events';
|
|
201
|
-
readonly docsSlug: 'hightouch';
|
|
202
212
|
readonly packageSubpath: 'hightouch';
|
|
203
|
-
readonly
|
|
204
|
-
readonly consentCategory: 'measurement';
|
|
213
|
+
readonly vendor: 'hightouch';
|
|
205
214
|
}, {
|
|
215
|
+
readonly consentCategory: 'measurement';
|
|
216
|
+
readonly docsSlug: 'rudderstack';
|
|
217
|
+
readonly hint: 'Customer data platform events';
|
|
218
|
+
readonly integrationCategory: 'analytics';
|
|
206
219
|
readonly key: 'rudderstack';
|
|
207
|
-
readonly vendor: 'rudderstack';
|
|
208
220
|
readonly label: 'RudderStack';
|
|
209
|
-
readonly hint: 'Customer data platform events';
|
|
210
|
-
readonly docsSlug: 'rudderstack';
|
|
211
221
|
readonly packageSubpath: 'rudderstack';
|
|
212
|
-
readonly
|
|
213
|
-
readonly consentCategory: 'measurement';
|
|
222
|
+
readonly vendor: 'rudderstack';
|
|
214
223
|
}, {
|
|
224
|
+
readonly consentCategory: 'measurement';
|
|
225
|
+
readonly docsSlug: 'logrocket';
|
|
226
|
+
readonly hint: 'Session replay and monitoring';
|
|
227
|
+
readonly integrationCategory: 'analytics';
|
|
215
228
|
readonly key: 'logRocket';
|
|
216
|
-
readonly vendor: 'logrocket';
|
|
217
229
|
readonly label: 'LogRocket';
|
|
218
|
-
readonly hint: 'Session replay and monitoring';
|
|
219
|
-
readonly docsSlug: 'logrocket';
|
|
220
230
|
readonly packageSubpath: 'logrocket';
|
|
221
|
-
readonly
|
|
222
|
-
readonly consentCategory: 'measurement';
|
|
231
|
+
readonly vendor: 'logrocket';
|
|
223
232
|
}, {
|
|
233
|
+
readonly consentCategory: 'measurement';
|
|
234
|
+
readonly docsSlug: 'matomo-analytics';
|
|
235
|
+
readonly hint: 'Self-hosted privacy analytics';
|
|
236
|
+
readonly integrationCategory: 'analytics';
|
|
224
237
|
readonly key: 'matomoAnalytics';
|
|
225
|
-
readonly vendor: 'matomo-analytics';
|
|
226
238
|
readonly label: 'Matomo Analytics';
|
|
227
|
-
readonly hint: 'Self-hosted privacy analytics';
|
|
228
|
-
readonly docsSlug: 'matomo-analytics';
|
|
229
239
|
readonly packageSubpath: 'matomo-analytics';
|
|
230
|
-
readonly
|
|
231
|
-
readonly consentCategory: 'measurement';
|
|
240
|
+
readonly vendor: 'matomo-analytics';
|
|
232
241
|
}, {
|
|
242
|
+
readonly consentCategory: 'measurement';
|
|
243
|
+
readonly docsSlug: 'posthog';
|
|
244
|
+
readonly hint: 'Product analytics';
|
|
245
|
+
readonly integrationCategory: 'analytics';
|
|
233
246
|
readonly key: 'posthog';
|
|
234
|
-
readonly vendor: 'posthog';
|
|
235
247
|
readonly label: 'PostHog';
|
|
236
|
-
readonly hint: 'Product analytics';
|
|
237
|
-
readonly docsSlug: 'posthog';
|
|
238
248
|
readonly packageSubpath: 'posthog';
|
|
239
|
-
readonly
|
|
240
|
-
readonly consentCategory: 'measurement';
|
|
249
|
+
readonly vendor: 'posthog';
|
|
241
250
|
}, {
|
|
251
|
+
readonly consentCategory: 'measurement';
|
|
252
|
+
readonly docsSlug: 'promptwatch';
|
|
253
|
+
readonly hint: 'AI traffic analytics';
|
|
254
|
+
readonly integrationCategory: 'analytics';
|
|
242
255
|
readonly key: 'promptwatch';
|
|
243
|
-
readonly vendor: 'promptwatch';
|
|
244
256
|
readonly label: 'Promptwatch';
|
|
245
|
-
readonly hint: 'AI traffic analytics';
|
|
246
|
-
readonly docsSlug: 'promptwatch';
|
|
247
257
|
readonly packageSubpath: 'promptwatch';
|
|
248
|
-
readonly
|
|
249
|
-
readonly consentCategory: 'measurement';
|
|
258
|
+
readonly vendor: 'promptwatch';
|
|
250
259
|
}, {
|
|
260
|
+
readonly consentCategory: 'measurement';
|
|
261
|
+
readonly docsSlug: 'pirsch';
|
|
262
|
+
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
263
|
+
readonly integrationCategory: 'analytics';
|
|
251
264
|
readonly key: 'pirsch';
|
|
252
|
-
readonly vendor: 'pirsch';
|
|
253
265
|
readonly label: 'Pirsch';
|
|
254
|
-
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
255
|
-
readonly docsSlug: 'pirsch';
|
|
256
266
|
readonly packageSubpath: 'pirsch';
|
|
257
|
-
readonly
|
|
258
|
-
readonly consentCategory: 'measurement';
|
|
267
|
+
readonly vendor: 'pirsch';
|
|
259
268
|
}, {
|
|
269
|
+
readonly consentCategory: 'measurement';
|
|
270
|
+
readonly docsSlug: 'segment';
|
|
271
|
+
readonly hint: 'Customer data platform';
|
|
272
|
+
readonly integrationCategory: 'analytics';
|
|
260
273
|
readonly key: 'segment';
|
|
261
|
-
readonly vendor: 'segment';
|
|
262
274
|
readonly label: 'Segment';
|
|
263
|
-
readonly hint: 'Customer data platform';
|
|
264
|
-
readonly docsSlug: 'segment';
|
|
265
275
|
readonly packageSubpath: 'segment';
|
|
266
|
-
readonly
|
|
267
|
-
readonly consentCategory: 'measurement';
|
|
276
|
+
readonly vendor: 'segment';
|
|
268
277
|
}, {
|
|
278
|
+
readonly consentCategory: 'measurement';
|
|
279
|
+
readonly docsSlug: 'rybbit-analytics';
|
|
280
|
+
readonly hint: 'Privacy-friendly web analytics';
|
|
281
|
+
readonly integrationCategory: 'analytics';
|
|
269
282
|
readonly key: 'rybbitAnalytics';
|
|
270
|
-
readonly vendor: 'rybbit-analytics';
|
|
271
283
|
readonly label: 'Rybbit Analytics';
|
|
272
|
-
readonly hint: 'Privacy-friendly web analytics';
|
|
273
|
-
readonly docsSlug: 'rybbit-analytics';
|
|
274
284
|
readonly packageSubpath: 'rybbit-analytics';
|
|
275
|
-
readonly
|
|
276
|
-
readonly consentCategory: 'measurement';
|
|
285
|
+
readonly vendor: 'rybbit-analytics';
|
|
277
286
|
}, {
|
|
287
|
+
readonly consentCategory: 'measurement';
|
|
288
|
+
readonly docsSlug: 'plausible-analytics';
|
|
289
|
+
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
290
|
+
readonly integrationCategory: 'analytics';
|
|
278
291
|
readonly key: 'plausibleAnalytics';
|
|
279
|
-
readonly vendor: 'plausible-analytics';
|
|
280
292
|
readonly label: 'Plausible Analytics';
|
|
281
|
-
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
282
|
-
readonly docsSlug: 'plausible-analytics';
|
|
283
293
|
readonly packageSubpath: 'plausible-analytics';
|
|
284
|
-
readonly
|
|
285
|
-
readonly consentCategory: 'measurement';
|
|
294
|
+
readonly vendor: 'plausible-analytics';
|
|
286
295
|
}, {
|
|
296
|
+
readonly consentCategory: 'measurement';
|
|
297
|
+
readonly docsSlug: 'umami-analytics';
|
|
298
|
+
readonly hint: 'Open-source cookieless analytics';
|
|
299
|
+
readonly integrationCategory: 'analytics';
|
|
287
300
|
readonly key: 'umamiAnalytics';
|
|
288
|
-
readonly vendor: 'umami-analytics';
|
|
289
301
|
readonly label: 'Umami Analytics';
|
|
290
|
-
readonly hint: 'Open-source cookieless analytics';
|
|
291
|
-
readonly docsSlug: 'umami-analytics';
|
|
292
302
|
readonly packageSubpath: 'umami-analytics';
|
|
293
|
-
readonly
|
|
294
|
-
readonly consentCategory: 'measurement';
|
|
303
|
+
readonly vendor: 'umami-analytics';
|
|
295
304
|
}, {
|
|
305
|
+
readonly consentCategory: 'measurement';
|
|
306
|
+
readonly docsSlug: 'vercel-analytics';
|
|
307
|
+
readonly hint: 'Vercel web analytics';
|
|
308
|
+
readonly integrationCategory: 'analytics';
|
|
296
309
|
readonly key: 'vercelAnalytics';
|
|
297
|
-
readonly vendor: 'vercel-analytics';
|
|
298
310
|
readonly label: 'Vercel Analytics';
|
|
299
|
-
readonly hint: 'Vercel web analytics';
|
|
300
|
-
readonly docsSlug: 'vercel-analytics';
|
|
301
311
|
readonly packageSubpath: 'vercel-analytics';
|
|
302
|
-
readonly
|
|
303
|
-
readonly consentCategory: 'measurement';
|
|
312
|
+
readonly vendor: 'vercel-analytics';
|
|
304
313
|
}, {
|
|
314
|
+
readonly consentCategory: 'functionality';
|
|
315
|
+
readonly docsSlug: 'crisp';
|
|
316
|
+
readonly hint: 'Live chat widget';
|
|
317
|
+
readonly integrationCategory: 'functional';
|
|
305
318
|
readonly key: 'crisp';
|
|
306
|
-
readonly vendor: 'crisp';
|
|
307
319
|
readonly label: 'Crisp';
|
|
308
|
-
readonly hint: 'Live chat widget';
|
|
309
|
-
readonly docsSlug: 'crisp';
|
|
310
320
|
readonly packageSubpath: 'crisp';
|
|
311
|
-
readonly
|
|
312
|
-
readonly consentCategory: 'functionality';
|
|
321
|
+
readonly vendor: 'crisp';
|
|
313
322
|
}, {
|
|
323
|
+
readonly consentCategory: 'functionality';
|
|
324
|
+
readonly docsSlug: 'intercom';
|
|
325
|
+
readonly hint: 'Messenger and live chat widget';
|
|
326
|
+
readonly integrationCategory: 'functional';
|
|
314
327
|
readonly key: 'intercom';
|
|
315
|
-
readonly vendor: 'intercom';
|
|
316
328
|
readonly label: 'Intercom';
|
|
317
|
-
readonly hint: 'Messenger and live chat widget';
|
|
318
|
-
readonly docsSlug: 'intercom';
|
|
319
329
|
readonly packageSubpath: 'intercom';
|
|
320
|
-
readonly
|
|
321
|
-
readonly consentCategory: 'functionality';
|
|
330
|
+
readonly vendor: 'intercom';
|
|
322
331
|
}, {
|
|
332
|
+
readonly consentCategory: 'marketing';
|
|
333
|
+
readonly docsSlug: 'meta-pixel';
|
|
334
|
+
readonly hint: 'Facebook/Instagram tracking';
|
|
335
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
323
336
|
readonly key: 'metaPixel';
|
|
324
|
-
readonly vendor: 'meta-pixel';
|
|
325
337
|
readonly label: 'Meta Pixel';
|
|
326
|
-
readonly hint: 'Facebook/Instagram tracking';
|
|
327
|
-
readonly docsSlug: 'meta-pixel';
|
|
328
338
|
readonly packageSubpath: 'meta-pixel';
|
|
329
|
-
readonly
|
|
339
|
+
readonly vendor: 'meta-pixel';
|
|
340
|
+
}, {
|
|
330
341
|
readonly consentCategory: 'marketing';
|
|
342
|
+
readonly docsSlug: 'openai-pixel';
|
|
343
|
+
readonly hint: 'ChatGPT Ads conversion measurement';
|
|
344
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
345
|
+
readonly key: 'openaiPixel';
|
|
346
|
+
readonly label: 'OpenAI Pixel (ChatGPT Ads)';
|
|
347
|
+
readonly packageSubpath: 'openai-pixel';
|
|
348
|
+
readonly vendor: 'openai-pixel';
|
|
331
349
|
}, {
|
|
350
|
+
readonly consentCategory: 'marketing';
|
|
351
|
+
readonly docsSlug: 'reddit-pixel';
|
|
352
|
+
readonly hint: 'Reddit ads tracking';
|
|
353
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
332
354
|
readonly key: 'redditPixel';
|
|
333
|
-
readonly vendor: 'reddit-pixel';
|
|
334
355
|
readonly label: 'Reddit Pixel';
|
|
335
|
-
readonly hint: 'Reddit ads tracking';
|
|
336
|
-
readonly docsSlug: 'reddit-pixel';
|
|
337
356
|
readonly packageSubpath: 'reddit-pixel';
|
|
338
|
-
readonly
|
|
339
|
-
readonly consentCategory: 'marketing';
|
|
357
|
+
readonly vendor: 'reddit-pixel';
|
|
340
358
|
}, {
|
|
359
|
+
readonly consentCategory: 'marketing';
|
|
360
|
+
readonly docsSlug: 'tiktok-pixel';
|
|
361
|
+
readonly hint: 'TikTok ads tracking';
|
|
362
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
341
363
|
readonly key: 'tiktokPixel';
|
|
342
|
-
readonly vendor: 'tiktok-pixel';
|
|
343
364
|
readonly label: 'TikTok Pixel';
|
|
344
|
-
readonly hint: 'TikTok ads tracking';
|
|
345
|
-
readonly docsSlug: 'tiktok-pixel';
|
|
346
365
|
readonly packageSubpath: 'tiktok-pixel';
|
|
347
|
-
readonly
|
|
348
|
-
readonly consentCategory: 'marketing';
|
|
366
|
+
readonly vendor: 'tiktok-pixel';
|
|
349
367
|
}, {
|
|
368
|
+
readonly consentCategory: 'marketing';
|
|
369
|
+
readonly docsSlug: 'linkedin-insights';
|
|
370
|
+
readonly hint: 'LinkedIn conversion tracking';
|
|
371
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
350
372
|
readonly key: 'linkedinInsights';
|
|
351
|
-
readonly vendor: 'linkedin-insights';
|
|
352
373
|
readonly label: 'LinkedIn Insight Tag';
|
|
353
|
-
readonly hint: 'LinkedIn conversion tracking';
|
|
354
|
-
readonly docsSlug: 'linkedin-insights';
|
|
355
374
|
readonly packageSubpath: 'linkedin-insights';
|
|
356
|
-
readonly
|
|
357
|
-
readonly consentCategory: 'marketing';
|
|
375
|
+
readonly vendor: 'linkedin-insights';
|
|
358
376
|
}, {
|
|
377
|
+
readonly consentCategory: 'marketing';
|
|
378
|
+
readonly docsSlug: 'microsoft-uet';
|
|
379
|
+
readonly hint: 'Bing Ads tracking';
|
|
380
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
359
381
|
readonly key: 'microsoftUet';
|
|
360
|
-
readonly vendor: 'microsoft-uet';
|
|
361
382
|
readonly label: 'Microsoft UET';
|
|
362
|
-
readonly hint: 'Bing Ads tracking';
|
|
363
|
-
readonly docsSlug: 'microsoft-uet';
|
|
364
383
|
readonly packageSubpath: 'microsoft-uet';
|
|
365
|
-
readonly
|
|
366
|
-
readonly consentCategory: 'marketing';
|
|
384
|
+
readonly vendor: 'microsoft-uet';
|
|
367
385
|
}, {
|
|
386
|
+
readonly consentCategory: 'marketing';
|
|
387
|
+
readonly docsSlug: 'snapchat-pixel';
|
|
388
|
+
readonly hint: 'Snapchat ads tracking';
|
|
389
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
368
390
|
readonly key: 'snapchatPixel';
|
|
369
|
-
readonly vendor: 'snapchat-pixel';
|
|
370
391
|
readonly label: 'Snapchat Pixel';
|
|
371
|
-
readonly hint: 'Snapchat ads tracking';
|
|
372
|
-
readonly docsSlug: 'snapchat-pixel';
|
|
373
392
|
readonly packageSubpath: 'snapchat-pixel';
|
|
374
|
-
readonly
|
|
375
|
-
readonly consentCategory: 'marketing';
|
|
393
|
+
readonly vendor: 'snapchat-pixel';
|
|
376
394
|
}, {
|
|
395
|
+
readonly consentCategory: 'marketing';
|
|
396
|
+
readonly docsSlug: 'x-pixel';
|
|
397
|
+
readonly hint: 'X/Twitter conversion tracking';
|
|
398
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
377
399
|
readonly key: 'xPixel';
|
|
378
|
-
readonly vendor: 'x-pixel';
|
|
379
400
|
readonly label: 'X (Twitter) Pixel';
|
|
380
|
-
readonly hint: 'X/Twitter conversion tracking';
|
|
381
|
-
readonly docsSlug: 'x-pixel';
|
|
382
401
|
readonly packageSubpath: 'x-pixel';
|
|
383
|
-
readonly
|
|
384
|
-
readonly consentCategory: 'marketing';
|
|
402
|
+
readonly vendor: 'x-pixel';
|
|
385
403
|
}];
|
|
386
404
|
/**
|
|
387
405
|
* Concrete registry entry type inferred from `builtInScriptIntegrations`.
|
|
@@ -400,7 +418,7 @@ export type BuiltInScriptIntegrationSubpath = BuiltInScriptIntegration['packageS
|
|
|
400
418
|
*
|
|
401
419
|
* @param key - Stable integration key.
|
|
402
420
|
* @returns The matching built-in integration entry.
|
|
403
|
-
* @throws
|
|
421
|
+
* @throws {Error}("Unknown built-in script integration: <key>")` when the key is
|
|
404
422
|
* not present. Catch this when accepting untrusted or user-provided keys.
|
|
405
423
|
*
|
|
406
424
|
* @example
|
|
@@ -409,7 +427,7 @@ export type BuiltInScriptIntegrationSubpath = BuiltInScriptIntegration['packageS
|
|
|
409
427
|
* console.log(integration.packageSubpath); // "meta-pixel"
|
|
410
428
|
* ```
|
|
411
429
|
*/
|
|
412
|
-
export declare
|
|
430
|
+
export declare const getBuiltInScriptIntegration: (key: BuiltInScriptIntegrationKey) => BuiltInScriptIntegration;
|
|
413
431
|
/**
|
|
414
432
|
* Finds a built-in integration by its public package subpath.
|
|
415
433
|
*
|
|
@@ -422,7 +440,7 @@ export declare function getBuiltInScriptIntegration(key: BuiltInScriptIntegratio
|
|
|
422
440
|
* console.log(integration?.label); // "Meta Pixel"
|
|
423
441
|
* ```
|
|
424
442
|
*/
|
|
425
|
-
export declare
|
|
443
|
+
export declare const getBuiltInScriptIntegrationBySubpath: (subpath: string) => BuiltInScriptIntegration | undefined;
|
|
426
444
|
/**
|
|
427
445
|
* Finds a built-in integration by the emitted script vendor id.
|
|
428
446
|
*
|
|
@@ -437,4 +455,4 @@ export declare function getBuiltInScriptIntegrationBySubpath(subpath: string): B
|
|
|
437
455
|
* console.log(integration?.label); // "Google Tag Manager"
|
|
438
456
|
* ```
|
|
439
457
|
*/
|
|
440
|
-
export declare
|
|
458
|
+
export declare const getBuiltInScriptIntegrationByVendor: (vendor: string) => BuiltInScriptIntegration | undefined;
|
package/dist-types/resolve.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Script } from 'c15t';
|
|
2
|
-
import type { VendorManifest } from './types';
|
|
1
|
+
import type { Script } from '@c15t/core';
|
|
2
|
+
import type { VendorManifest } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Compiles a `VendorManifest` + config into a `Script` object.
|
|
5
5
|
*
|
|
6
6
|
* This compatibility wrapper preserves the existing public resolver API while
|
|
7
7
|
* delegating to the new compile and runtime conversion phases internally.
|
|
8
8
|
*/
|
|
9
|
-
export declare
|
|
9
|
+
export declare const resolveManifest: (manifest: VendorManifest, config?: Record<string, unknown>) => Script;
|
package/dist-types/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AllConsentNames, HasCondition } from 'c15t';
|
|
1
|
+
import type { AllConsentNames, HasCondition } from '@c15t/core';
|
|
2
2
|
export declare const VENDOR_MANIFEST_KIND = "c15t.vendor-manifest";
|
|
3
3
|
export declare const VENDOR_MANIFEST_SCHEMA_VERSION = 1;
|
|
4
4
|
export declare const vendorManifestContract: {
|
|
@@ -183,7 +183,7 @@ export interface DefineGlobalMethodsStep {
|
|
|
183
183
|
type: 'defineGlobalMethods';
|
|
184
184
|
/** Global object name to receive the methods */
|
|
185
185
|
target: string;
|
|
186
|
-
methods:
|
|
186
|
+
methods: GlobalMethodBehavior[];
|
|
187
187
|
/** Only define methods while the target is still a snippet queue array. */
|
|
188
188
|
ifGlobalIsQueue?: boolean;
|
|
189
189
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* booleanDataAttribute(undefined); // undefined
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
export declare
|
|
16
|
+
export declare const booleanDataAttribute: (value: boolean | undefined) => string | undefined;
|
|
17
17
|
/**
|
|
18
18
|
* Converts a string or string list into a script `data-*` attribute value.
|
|
19
19
|
*
|
|
@@ -32,4 +32,4 @@ export declare function booleanDataAttribute(value: boolean | undefined): string
|
|
|
32
32
|
* listDataAttribute(undefined); // undefined
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
|
-
export declare
|
|
35
|
+
export declare const listDataAttribute: (value: string[] | string | undefined) => string | undefined;
|
|
@@ -42,6 +42,6 @@ export declare const GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING: Record<string, stri
|
|
|
42
42
|
* );
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
export declare
|
|
45
|
+
export declare const withOptionalConsentMapping: <TManifest extends {
|
|
46
46
|
consentMapping?: Record<string, string[]>;
|
|
47
|
-
}>(manifest: TManifest, consentMapping: Record<string, string[]> | undefined)
|
|
47
|
+
}>(manifest: TManifest, consentMapping: Record<string, string[]> | undefined) => TManifest;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { VendorManifest } from '../../types';
|
|
1
|
+
import type { VendorManifest } from '../../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Optional tracking call inserted between the vendor init call and script load.
|
|
4
4
|
*/
|
|
@@ -26,5 +26,5 @@ export interface BuildQueuePixelInstallOptions {
|
|
|
26
26
|
* @returns Manifest install steps containing the required init call, an
|
|
27
27
|
* optional tracking call, and an async `loadScript` step.
|
|
28
28
|
*/
|
|
29
|
-
export declare
|
|
29
|
+
export declare const buildQueuePixelInstall: ({ global, initArgs, trackStep, scriptPlaceholder, }: BuildQueuePixelInstallOptions) => VendorManifest['install'];
|
|
30
30
|
export {};
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```ts
|
|
11
|
-
* trimToUndefined('
|
|
11
|
+
* trimToUndefined(', https://cdn.example.com '); // 'https://cdn.example.com'
|
|
12
12
|
* trimToUndefined(' '); // undefined
|
|
13
13
|
* trimToUndefined(undefined); // undefined
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
export declare
|
|
16
|
+
export declare const trimToUndefined: (value: string | undefined) => string | undefined;
|
|
17
17
|
/**
|
|
18
18
|
* Resolves a script URL from an optional override and a required fallback.
|
|
19
19
|
*
|
|
@@ -41,21 +41,21 @@ export declare function trimToUndefined(value: string | undefined): string | und
|
|
|
41
41
|
* // 'https://custom.com/script.js'
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
|
-
export declare
|
|
44
|
+
export declare const resolveScriptUrl: (override: string | undefined, fallback: string) => string;
|
|
45
45
|
/**
|
|
46
46
|
* Removes leading slash characters without using a regular expression.
|
|
47
47
|
*
|
|
48
48
|
* This helper is used on caller-controlled URL fragments, so it intentionally
|
|
49
49
|
* stays linear even for very long repeated slash input.
|
|
50
50
|
*/
|
|
51
|
-
export declare
|
|
51
|
+
export declare const stripLeadingSlashes: (value: string) => string;
|
|
52
52
|
/**
|
|
53
53
|
* Removes trailing slash characters without using a regular expression.
|
|
54
54
|
*
|
|
55
55
|
* This helper is used on caller-controlled URL fragments, so it intentionally
|
|
56
56
|
* stays linear even for very long repeated slash input.
|
|
57
57
|
*/
|
|
58
|
-
export declare
|
|
58
|
+
export declare const stripTrailingSlashes: (value: string) => string;
|
|
59
59
|
/**
|
|
60
60
|
* Joins a base URL and path with exactly one slash between them.
|
|
61
61
|
*
|
|
@@ -72,4 +72,4 @@ export declare function stripTrailingSlashes(value: string): string;
|
|
|
72
72
|
* // 'https://example.com/script.js'
|
|
73
73
|
* ```
|
|
74
74
|
*/
|
|
75
|
-
export declare
|
|
75
|
+
export declare const joinUrlPath: (base: string, path: string) => string;
|