@c15t/scripts 2.2.0 → 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +74 -48
- package/README.md +3 -3
- package/dist/e2e-test-utils.js +60 -24
- package/dist/engine/compile.js +45 -45
- package/dist/engine/runtime.js +119 -119
- package/dist/registry.js +186 -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 +31 -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/google-tag-manager.js +20 -20
- package/dist-types/__tests__/helpers.d.ts +10 -10
- package/dist-types/engine/compile.d.ts +2 -2
- package/dist-types/engine/runtime.d.ts +3 -3
- package/dist-types/registry.d.ts +182 -173
- package/dist-types/resolve.d.ts +2 -2
- 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 +1 -1
- 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/google-tag-manager.d.ts +16 -16
- package/docs/README.md +74 -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 +30 -339
- package/docs/frameworks/next/script-loader.md +134 -467
- package/docs/frameworks/react/script-loader.md +35 -535
- package/docs/guides/consent-state.md +60 -0
- package/docs/guides/data-fetching.md +163 -0
- package/docs/guides/deployment-modes.md +63 -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 +32 -224
- package/docs/integrations/clearbit.md +247 -86
- package/docs/integrations/cloudflare-web-analytics.md +250 -84
- 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/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 +95 -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 +354 -142
- package/docs/upgrade-v3.md +334 -0
- package/package.json +85 -78
- package/readme.json +2 -2
- 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/dist-types/registry.d.ts
CHANGED
|
@@ -77,311 +77,320 @@ 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: 'google-tag-manager';
|
|
82
|
+
readonly hint: 'GTM container script';
|
|
83
|
+
readonly integrationCategory: 'tag-manager';
|
|
80
84
|
readonly key: 'googleTagManager';
|
|
81
|
-
readonly vendor: 'google-tag-manager';
|
|
82
85
|
readonly label: 'Google Tag Manager';
|
|
83
|
-
readonly hint: 'GTM container script';
|
|
84
|
-
readonly docsSlug: 'google-tag-manager';
|
|
85
86
|
readonly packageSubpath: 'google-tag-manager';
|
|
86
|
-
readonly
|
|
87
|
-
readonly consentCategory: 'necessary';
|
|
87
|
+
readonly vendor: 'google-tag-manager';
|
|
88
88
|
}, {
|
|
89
|
+
readonly consentCategory: 'measurement';
|
|
90
|
+
readonly docsSlug: 'google-tag';
|
|
91
|
+
readonly hint: 'Google Analytics 4';
|
|
92
|
+
readonly integrationCategory: 'analytics';
|
|
89
93
|
readonly key: 'gtag';
|
|
90
|
-
readonly vendor: 'gtag';
|
|
91
94
|
readonly label: 'Google Tag (gtag.js)';
|
|
92
|
-
readonly hint: 'Google Analytics 4';
|
|
93
|
-
readonly docsSlug: 'google-tag';
|
|
94
95
|
readonly packageSubpath: 'google-tag';
|
|
95
|
-
readonly
|
|
96
|
-
readonly consentCategory: 'measurement';
|
|
96
|
+
readonly vendor: 'gtag';
|
|
97
97
|
}, {
|
|
98
|
+
readonly consentCategory: 'measurement';
|
|
99
|
+
readonly docsSlug: 'ahrefs-analytics';
|
|
100
|
+
readonly hint: 'Cookieless web analytics from Ahrefs';
|
|
101
|
+
readonly integrationCategory: 'analytics';
|
|
98
102
|
readonly key: 'ahrefsAnalytics';
|
|
99
|
-
readonly vendor: 'ahrefs-analytics';
|
|
100
103
|
readonly label: 'Ahrefs Analytics';
|
|
101
|
-
readonly hint: 'Cookieless web analytics from Ahrefs';
|
|
102
|
-
readonly docsSlug: 'ahrefs-analytics';
|
|
103
104
|
readonly packageSubpath: 'ahrefs-analytics';
|
|
104
|
-
readonly
|
|
105
|
-
readonly consentCategory: 'measurement';
|
|
105
|
+
readonly vendor: 'ahrefs-analytics';
|
|
106
106
|
}, {
|
|
107
|
+
readonly consentCategory: 'measurement';
|
|
108
|
+
readonly docsSlug: 'adobe-analytics';
|
|
109
|
+
readonly hint: 'Adobe Experience Platform tags';
|
|
110
|
+
readonly integrationCategory: 'analytics';
|
|
107
111
|
readonly key: 'adobeAnalytics';
|
|
108
|
-
readonly vendor: 'adobe-analytics';
|
|
109
112
|
readonly label: 'Adobe Analytics';
|
|
110
|
-
readonly hint: 'Adobe Experience Platform tags';
|
|
111
|
-
readonly docsSlug: 'adobe-analytics';
|
|
112
113
|
readonly packageSubpath: 'adobe-analytics';
|
|
113
|
-
readonly
|
|
114
|
-
readonly consentCategory: 'measurement';
|
|
114
|
+
readonly vendor: 'adobe-analytics';
|
|
115
115
|
}, {
|
|
116
|
+
readonly consentCategory: 'measurement';
|
|
117
|
+
readonly docsSlug: 'amplitude';
|
|
118
|
+
readonly hint: 'Product analytics';
|
|
119
|
+
readonly integrationCategory: 'analytics';
|
|
116
120
|
readonly key: 'amplitude';
|
|
117
|
-
readonly vendor: 'amplitude';
|
|
118
121
|
readonly label: 'Amplitude';
|
|
119
|
-
readonly hint: 'Product analytics';
|
|
120
|
-
readonly docsSlug: 'amplitude';
|
|
121
122
|
readonly packageSubpath: 'amplitude';
|
|
122
|
-
readonly
|
|
123
|
-
readonly consentCategory: 'measurement';
|
|
123
|
+
readonly vendor: 'amplitude';
|
|
124
124
|
}, {
|
|
125
|
+
readonly consentCategory: 'measurement';
|
|
126
|
+
readonly docsSlug: 'cloudflare-web-analytics';
|
|
127
|
+
readonly hint: 'Cookieless analytics from Cloudflare';
|
|
128
|
+
readonly integrationCategory: 'analytics';
|
|
125
129
|
readonly key: 'cloudflareWebAnalytics';
|
|
126
|
-
readonly vendor: 'cloudflare-web-analytics';
|
|
127
130
|
readonly label: 'Cloudflare Web Analytics';
|
|
128
|
-
readonly hint: 'Cookieless analytics from Cloudflare';
|
|
129
|
-
readonly docsSlug: 'cloudflare-web-analytics';
|
|
130
131
|
readonly packageSubpath: 'cloudflare-web-analytics';
|
|
131
|
-
readonly
|
|
132
|
-
readonly consentCategory: 'measurement';
|
|
132
|
+
readonly vendor: 'cloudflare-web-analytics';
|
|
133
133
|
}, {
|
|
134
|
+
readonly consentCategory: 'marketing';
|
|
135
|
+
readonly docsSlug: 'clearbit';
|
|
136
|
+
readonly hint: 'Visitor and company enrichment';
|
|
137
|
+
readonly integrationCategory: 'analytics';
|
|
134
138
|
readonly key: 'clearbit';
|
|
135
|
-
readonly vendor: 'clearbit';
|
|
136
139
|
readonly label: 'Clearbit';
|
|
137
|
-
readonly hint: 'Visitor and company enrichment';
|
|
138
|
-
readonly docsSlug: 'clearbit';
|
|
139
140
|
readonly packageSubpath: 'clearbit';
|
|
140
|
-
readonly
|
|
141
|
-
readonly consentCategory: 'marketing';
|
|
141
|
+
readonly vendor: 'clearbit';
|
|
142
142
|
}, {
|
|
143
|
+
readonly consentCategory: 'measurement';
|
|
144
|
+
readonly docsSlug: 'microsoft-clarity';
|
|
145
|
+
readonly hint: 'Session replay and heatmaps';
|
|
146
|
+
readonly integrationCategory: 'analytics';
|
|
143
147
|
readonly key: 'microsoft-clarity';
|
|
144
|
-
readonly vendor: 'microsoft-clarity';
|
|
145
148
|
readonly label: 'Microsoft Clarity';
|
|
146
|
-
readonly hint: 'Session replay and heatmaps';
|
|
147
|
-
readonly docsSlug: 'microsoft-clarity';
|
|
148
149
|
readonly packageSubpath: 'microsoft-clarity';
|
|
149
|
-
readonly
|
|
150
|
-
readonly consentCategory: 'measurement';
|
|
150
|
+
readonly vendor: 'microsoft-clarity';
|
|
151
151
|
}, {
|
|
152
|
+
readonly consentCategory: 'measurement';
|
|
153
|
+
readonly docsSlug: 'databuddy';
|
|
154
|
+
readonly hint: 'Data collection';
|
|
155
|
+
readonly integrationCategory: 'analytics';
|
|
152
156
|
readonly key: 'databuddy';
|
|
153
|
-
readonly vendor: 'databuddy';
|
|
154
157
|
readonly label: 'Databuddy';
|
|
155
|
-
readonly hint: 'Data collection';
|
|
156
|
-
readonly docsSlug: 'databuddy';
|
|
157
158
|
readonly packageSubpath: 'databuddy';
|
|
158
|
-
readonly
|
|
159
|
-
readonly consentCategory: 'measurement';
|
|
159
|
+
readonly vendor: 'databuddy';
|
|
160
160
|
}, {
|
|
161
|
+
readonly consentCategory: 'measurement';
|
|
162
|
+
readonly docsSlug: 'fathom-analytics';
|
|
163
|
+
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
164
|
+
readonly integrationCategory: 'analytics';
|
|
161
165
|
readonly key: 'fathomAnalytics';
|
|
162
|
-
readonly vendor: 'fathom-analytics';
|
|
163
166
|
readonly label: 'Fathom Analytics';
|
|
164
|
-
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
165
|
-
readonly docsSlug: 'fathom-analytics';
|
|
166
167
|
readonly packageSubpath: 'fathom-analytics';
|
|
167
|
-
readonly
|
|
168
|
-
readonly consentCategory: 'measurement';
|
|
168
|
+
readonly vendor: 'fathom-analytics';
|
|
169
169
|
}, {
|
|
170
|
+
readonly consentCategory: 'measurement';
|
|
171
|
+
readonly docsSlug: 'heap';
|
|
172
|
+
readonly hint: 'Autocapture product analytics';
|
|
173
|
+
readonly integrationCategory: 'analytics';
|
|
170
174
|
readonly key: 'heap';
|
|
171
|
-
readonly vendor: 'heap';
|
|
172
175
|
readonly label: 'Heap';
|
|
173
|
-
readonly hint: 'Autocapture product analytics';
|
|
174
|
-
readonly docsSlug: 'heap';
|
|
175
176
|
readonly packageSubpath: 'heap';
|
|
176
|
-
readonly
|
|
177
|
-
readonly consentCategory: 'measurement';
|
|
177
|
+
readonly vendor: 'heap';
|
|
178
178
|
}, {
|
|
179
|
+
readonly consentCategory: 'measurement';
|
|
180
|
+
readonly docsSlug: 'mixpanel-analytics';
|
|
181
|
+
readonly hint: 'Product analytics and funnels';
|
|
182
|
+
readonly integrationCategory: 'analytics';
|
|
179
183
|
readonly key: 'mixpanelAnalytics';
|
|
180
|
-
readonly vendor: 'mixpanel-analytics';
|
|
181
184
|
readonly label: 'Mixpanel Analytics';
|
|
182
|
-
readonly hint: 'Product analytics and funnels';
|
|
183
|
-
readonly docsSlug: 'mixpanel-analytics';
|
|
184
185
|
readonly packageSubpath: 'mixpanel-analytics';
|
|
185
|
-
readonly
|
|
186
|
-
readonly consentCategory: 'measurement';
|
|
186
|
+
readonly vendor: 'mixpanel-analytics';
|
|
187
187
|
}, {
|
|
188
|
+
readonly consentCategory: 'measurement';
|
|
189
|
+
readonly docsSlug: 'hotjar';
|
|
190
|
+
readonly hint: 'Heatmaps and session recordings';
|
|
191
|
+
readonly integrationCategory: 'analytics';
|
|
188
192
|
readonly key: 'hotjar';
|
|
189
|
-
readonly vendor: 'hotjar';
|
|
190
193
|
readonly label: 'Hotjar';
|
|
191
|
-
readonly hint: 'Heatmaps and session recordings';
|
|
192
|
-
readonly docsSlug: 'hotjar';
|
|
193
194
|
readonly packageSubpath: 'hotjar';
|
|
194
|
-
readonly
|
|
195
|
-
readonly consentCategory: 'measurement';
|
|
195
|
+
readonly vendor: 'hotjar';
|
|
196
196
|
}, {
|
|
197
|
+
readonly consentCategory: 'measurement';
|
|
198
|
+
readonly docsSlug: 'hightouch';
|
|
199
|
+
readonly hint: 'Customer data platform events';
|
|
200
|
+
readonly integrationCategory: 'analytics';
|
|
197
201
|
readonly key: 'hightouch';
|
|
198
|
-
readonly vendor: 'hightouch';
|
|
199
202
|
readonly label: 'Hightouch';
|
|
200
|
-
readonly hint: 'Customer data platform events';
|
|
201
|
-
readonly docsSlug: 'hightouch';
|
|
202
203
|
readonly packageSubpath: 'hightouch';
|
|
203
|
-
readonly
|
|
204
|
-
readonly consentCategory: 'measurement';
|
|
204
|
+
readonly vendor: 'hightouch';
|
|
205
205
|
}, {
|
|
206
|
+
readonly consentCategory: 'measurement';
|
|
207
|
+
readonly docsSlug: 'rudderstack';
|
|
208
|
+
readonly hint: 'Customer data platform events';
|
|
209
|
+
readonly integrationCategory: 'analytics';
|
|
206
210
|
readonly key: 'rudderstack';
|
|
207
|
-
readonly vendor: 'rudderstack';
|
|
208
211
|
readonly label: 'RudderStack';
|
|
209
|
-
readonly hint: 'Customer data platform events';
|
|
210
|
-
readonly docsSlug: 'rudderstack';
|
|
211
212
|
readonly packageSubpath: 'rudderstack';
|
|
212
|
-
readonly
|
|
213
|
-
readonly consentCategory: 'measurement';
|
|
213
|
+
readonly vendor: 'rudderstack';
|
|
214
214
|
}, {
|
|
215
|
+
readonly consentCategory: 'measurement';
|
|
216
|
+
readonly docsSlug: 'logrocket';
|
|
217
|
+
readonly hint: 'Session replay and monitoring';
|
|
218
|
+
readonly integrationCategory: 'analytics';
|
|
215
219
|
readonly key: 'logRocket';
|
|
216
|
-
readonly vendor: 'logrocket';
|
|
217
220
|
readonly label: 'LogRocket';
|
|
218
|
-
readonly hint: 'Session replay and monitoring';
|
|
219
|
-
readonly docsSlug: 'logrocket';
|
|
220
221
|
readonly packageSubpath: 'logrocket';
|
|
221
|
-
readonly
|
|
222
|
-
readonly consentCategory: 'measurement';
|
|
222
|
+
readonly vendor: 'logrocket';
|
|
223
223
|
}, {
|
|
224
|
+
readonly consentCategory: 'measurement';
|
|
225
|
+
readonly docsSlug: 'matomo-analytics';
|
|
226
|
+
readonly hint: 'Self-hosted privacy analytics';
|
|
227
|
+
readonly integrationCategory: 'analytics';
|
|
224
228
|
readonly key: 'matomoAnalytics';
|
|
225
|
-
readonly vendor: 'matomo-analytics';
|
|
226
229
|
readonly label: 'Matomo Analytics';
|
|
227
|
-
readonly hint: 'Self-hosted privacy analytics';
|
|
228
|
-
readonly docsSlug: 'matomo-analytics';
|
|
229
230
|
readonly packageSubpath: 'matomo-analytics';
|
|
230
|
-
readonly
|
|
231
|
-
readonly consentCategory: 'measurement';
|
|
231
|
+
readonly vendor: 'matomo-analytics';
|
|
232
232
|
}, {
|
|
233
|
+
readonly consentCategory: 'measurement';
|
|
234
|
+
readonly docsSlug: 'posthog';
|
|
235
|
+
readonly hint: 'Product analytics';
|
|
236
|
+
readonly integrationCategory: 'analytics';
|
|
233
237
|
readonly key: 'posthog';
|
|
234
|
-
readonly vendor: 'posthog';
|
|
235
238
|
readonly label: 'PostHog';
|
|
236
|
-
readonly hint: 'Product analytics';
|
|
237
|
-
readonly docsSlug: 'posthog';
|
|
238
239
|
readonly packageSubpath: 'posthog';
|
|
239
|
-
readonly
|
|
240
|
-
readonly consentCategory: 'measurement';
|
|
240
|
+
readonly vendor: 'posthog';
|
|
241
241
|
}, {
|
|
242
|
+
readonly consentCategory: 'measurement';
|
|
243
|
+
readonly docsSlug: 'promptwatch';
|
|
244
|
+
readonly hint: 'AI traffic analytics';
|
|
245
|
+
readonly integrationCategory: 'analytics';
|
|
242
246
|
readonly key: 'promptwatch';
|
|
243
|
-
readonly vendor: 'promptwatch';
|
|
244
247
|
readonly label: 'Promptwatch';
|
|
245
|
-
readonly hint: 'AI traffic analytics';
|
|
246
|
-
readonly docsSlug: 'promptwatch';
|
|
247
248
|
readonly packageSubpath: 'promptwatch';
|
|
248
|
-
readonly
|
|
249
|
-
readonly consentCategory: 'measurement';
|
|
249
|
+
readonly vendor: 'promptwatch';
|
|
250
250
|
}, {
|
|
251
|
+
readonly consentCategory: 'measurement';
|
|
252
|
+
readonly docsSlug: 'pirsch';
|
|
253
|
+
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
254
|
+
readonly integrationCategory: 'analytics';
|
|
251
255
|
readonly key: 'pirsch';
|
|
252
|
-
readonly vendor: 'pirsch';
|
|
253
256
|
readonly label: 'Pirsch';
|
|
254
|
-
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
255
|
-
readonly docsSlug: 'pirsch';
|
|
256
257
|
readonly packageSubpath: 'pirsch';
|
|
257
|
-
readonly
|
|
258
|
-
readonly consentCategory: 'measurement';
|
|
258
|
+
readonly vendor: 'pirsch';
|
|
259
259
|
}, {
|
|
260
|
+
readonly consentCategory: 'measurement';
|
|
261
|
+
readonly docsSlug: 'segment';
|
|
262
|
+
readonly hint: 'Customer data platform';
|
|
263
|
+
readonly integrationCategory: 'analytics';
|
|
260
264
|
readonly key: 'segment';
|
|
261
|
-
readonly vendor: 'segment';
|
|
262
265
|
readonly label: 'Segment';
|
|
263
|
-
readonly hint: 'Customer data platform';
|
|
264
|
-
readonly docsSlug: 'segment';
|
|
265
266
|
readonly packageSubpath: 'segment';
|
|
266
|
-
readonly
|
|
267
|
-
readonly consentCategory: 'measurement';
|
|
267
|
+
readonly vendor: 'segment';
|
|
268
268
|
}, {
|
|
269
|
+
readonly consentCategory: 'measurement';
|
|
270
|
+
readonly docsSlug: 'rybbit-analytics';
|
|
271
|
+
readonly hint: 'Privacy-friendly web analytics';
|
|
272
|
+
readonly integrationCategory: 'analytics';
|
|
269
273
|
readonly key: 'rybbitAnalytics';
|
|
270
|
-
readonly vendor: 'rybbit-analytics';
|
|
271
274
|
readonly label: 'Rybbit Analytics';
|
|
272
|
-
readonly hint: 'Privacy-friendly web analytics';
|
|
273
|
-
readonly docsSlug: 'rybbit-analytics';
|
|
274
275
|
readonly packageSubpath: 'rybbit-analytics';
|
|
275
|
-
readonly
|
|
276
|
-
readonly consentCategory: 'measurement';
|
|
276
|
+
readonly vendor: 'rybbit-analytics';
|
|
277
277
|
}, {
|
|
278
|
+
readonly consentCategory: 'measurement';
|
|
279
|
+
readonly docsSlug: 'plausible-analytics';
|
|
280
|
+
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
281
|
+
readonly integrationCategory: 'analytics';
|
|
278
282
|
readonly key: 'plausibleAnalytics';
|
|
279
|
-
readonly vendor: 'plausible-analytics';
|
|
280
283
|
readonly label: 'Plausible Analytics';
|
|
281
|
-
readonly hint: 'Privacy-friendly cookieless analytics';
|
|
282
|
-
readonly docsSlug: 'plausible-analytics';
|
|
283
284
|
readonly packageSubpath: 'plausible-analytics';
|
|
284
|
-
readonly
|
|
285
|
-
readonly consentCategory: 'measurement';
|
|
285
|
+
readonly vendor: 'plausible-analytics';
|
|
286
286
|
}, {
|
|
287
|
+
readonly consentCategory: 'measurement';
|
|
288
|
+
readonly docsSlug: 'umami-analytics';
|
|
289
|
+
readonly hint: 'Open-source cookieless analytics';
|
|
290
|
+
readonly integrationCategory: 'analytics';
|
|
287
291
|
readonly key: 'umamiAnalytics';
|
|
288
|
-
readonly vendor: 'umami-analytics';
|
|
289
292
|
readonly label: 'Umami Analytics';
|
|
290
|
-
readonly hint: 'Open-source cookieless analytics';
|
|
291
|
-
readonly docsSlug: 'umami-analytics';
|
|
292
293
|
readonly packageSubpath: 'umami-analytics';
|
|
293
|
-
readonly
|
|
294
|
-
readonly consentCategory: 'measurement';
|
|
294
|
+
readonly vendor: 'umami-analytics';
|
|
295
295
|
}, {
|
|
296
|
+
readonly consentCategory: 'measurement';
|
|
297
|
+
readonly docsSlug: 'vercel-analytics';
|
|
298
|
+
readonly hint: 'Vercel web analytics';
|
|
299
|
+
readonly integrationCategory: 'analytics';
|
|
296
300
|
readonly key: 'vercelAnalytics';
|
|
297
|
-
readonly vendor: 'vercel-analytics';
|
|
298
301
|
readonly label: 'Vercel Analytics';
|
|
299
|
-
readonly hint: 'Vercel web analytics';
|
|
300
|
-
readonly docsSlug: 'vercel-analytics';
|
|
301
302
|
readonly packageSubpath: 'vercel-analytics';
|
|
302
|
-
readonly
|
|
303
|
-
readonly consentCategory: 'measurement';
|
|
303
|
+
readonly vendor: 'vercel-analytics';
|
|
304
304
|
}, {
|
|
305
|
+
readonly consentCategory: 'functionality';
|
|
306
|
+
readonly docsSlug: 'crisp';
|
|
307
|
+
readonly hint: 'Live chat widget';
|
|
308
|
+
readonly integrationCategory: 'functional';
|
|
305
309
|
readonly key: 'crisp';
|
|
306
|
-
readonly vendor: 'crisp';
|
|
307
310
|
readonly label: 'Crisp';
|
|
308
|
-
readonly hint: 'Live chat widget';
|
|
309
|
-
readonly docsSlug: 'crisp';
|
|
310
311
|
readonly packageSubpath: 'crisp';
|
|
311
|
-
readonly
|
|
312
|
-
readonly consentCategory: 'functionality';
|
|
312
|
+
readonly vendor: 'crisp';
|
|
313
313
|
}, {
|
|
314
|
+
readonly consentCategory: 'functionality';
|
|
315
|
+
readonly docsSlug: 'intercom';
|
|
316
|
+
readonly hint: 'Messenger and live chat widget';
|
|
317
|
+
readonly integrationCategory: 'functional';
|
|
314
318
|
readonly key: 'intercom';
|
|
315
|
-
readonly vendor: 'intercom';
|
|
316
319
|
readonly label: 'Intercom';
|
|
317
|
-
readonly hint: 'Messenger and live chat widget';
|
|
318
|
-
readonly docsSlug: 'intercom';
|
|
319
320
|
readonly packageSubpath: 'intercom';
|
|
320
|
-
readonly
|
|
321
|
-
readonly consentCategory: 'functionality';
|
|
321
|
+
readonly vendor: 'intercom';
|
|
322
322
|
}, {
|
|
323
|
+
readonly consentCategory: 'marketing';
|
|
324
|
+
readonly docsSlug: 'meta-pixel';
|
|
325
|
+
readonly hint: 'Facebook/Instagram tracking';
|
|
326
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
323
327
|
readonly key: 'metaPixel';
|
|
324
|
-
readonly vendor: 'meta-pixel';
|
|
325
328
|
readonly label: 'Meta Pixel';
|
|
326
|
-
readonly hint: 'Facebook/Instagram tracking';
|
|
327
|
-
readonly docsSlug: 'meta-pixel';
|
|
328
329
|
readonly packageSubpath: 'meta-pixel';
|
|
329
|
-
readonly
|
|
330
|
+
readonly vendor: 'meta-pixel';
|
|
331
|
+
}, {
|
|
330
332
|
readonly consentCategory: 'marketing';
|
|
333
|
+
readonly docsSlug: 'openai-pixel';
|
|
334
|
+
readonly hint: 'ChatGPT Ads conversion measurement';
|
|
335
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
336
|
+
readonly key: 'openaiPixel';
|
|
337
|
+
readonly label: 'OpenAI Pixel (ChatGPT Ads)';
|
|
338
|
+
readonly packageSubpath: 'openai-pixel';
|
|
339
|
+
readonly vendor: 'openai-pixel';
|
|
331
340
|
}, {
|
|
341
|
+
readonly consentCategory: 'marketing';
|
|
342
|
+
readonly docsSlug: 'reddit-pixel';
|
|
343
|
+
readonly hint: 'Reddit ads tracking';
|
|
344
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
332
345
|
readonly key: 'redditPixel';
|
|
333
|
-
readonly vendor: 'reddit-pixel';
|
|
334
346
|
readonly label: 'Reddit Pixel';
|
|
335
|
-
readonly hint: 'Reddit ads tracking';
|
|
336
|
-
readonly docsSlug: 'reddit-pixel';
|
|
337
347
|
readonly packageSubpath: 'reddit-pixel';
|
|
338
|
-
readonly
|
|
339
|
-
readonly consentCategory: 'marketing';
|
|
348
|
+
readonly vendor: 'reddit-pixel';
|
|
340
349
|
}, {
|
|
350
|
+
readonly consentCategory: 'marketing';
|
|
351
|
+
readonly docsSlug: 'tiktok-pixel';
|
|
352
|
+
readonly hint: 'TikTok ads tracking';
|
|
353
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
341
354
|
readonly key: 'tiktokPixel';
|
|
342
|
-
readonly vendor: 'tiktok-pixel';
|
|
343
355
|
readonly label: 'TikTok Pixel';
|
|
344
|
-
readonly hint: 'TikTok ads tracking';
|
|
345
|
-
readonly docsSlug: 'tiktok-pixel';
|
|
346
356
|
readonly packageSubpath: 'tiktok-pixel';
|
|
347
|
-
readonly
|
|
348
|
-
readonly consentCategory: 'marketing';
|
|
357
|
+
readonly vendor: 'tiktok-pixel';
|
|
349
358
|
}, {
|
|
359
|
+
readonly consentCategory: 'marketing';
|
|
360
|
+
readonly docsSlug: 'linkedin-insights';
|
|
361
|
+
readonly hint: 'LinkedIn conversion tracking';
|
|
362
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
350
363
|
readonly key: 'linkedinInsights';
|
|
351
|
-
readonly vendor: 'linkedin-insights';
|
|
352
364
|
readonly label: 'LinkedIn Insight Tag';
|
|
353
|
-
readonly hint: 'LinkedIn conversion tracking';
|
|
354
|
-
readonly docsSlug: 'linkedin-insights';
|
|
355
365
|
readonly packageSubpath: 'linkedin-insights';
|
|
356
|
-
readonly
|
|
357
|
-
readonly consentCategory: 'marketing';
|
|
366
|
+
readonly vendor: 'linkedin-insights';
|
|
358
367
|
}, {
|
|
368
|
+
readonly consentCategory: 'marketing';
|
|
369
|
+
readonly docsSlug: 'microsoft-uet';
|
|
370
|
+
readonly hint: 'Bing Ads tracking';
|
|
371
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
359
372
|
readonly key: 'microsoftUet';
|
|
360
|
-
readonly vendor: 'microsoft-uet';
|
|
361
373
|
readonly label: 'Microsoft UET';
|
|
362
|
-
readonly hint: 'Bing Ads tracking';
|
|
363
|
-
readonly docsSlug: 'microsoft-uet';
|
|
364
374
|
readonly packageSubpath: 'microsoft-uet';
|
|
365
|
-
readonly
|
|
366
|
-
readonly consentCategory: 'marketing';
|
|
375
|
+
readonly vendor: 'microsoft-uet';
|
|
367
376
|
}, {
|
|
377
|
+
readonly consentCategory: 'marketing';
|
|
378
|
+
readonly docsSlug: 'snapchat-pixel';
|
|
379
|
+
readonly hint: 'Snapchat ads tracking';
|
|
380
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
368
381
|
readonly key: 'snapchatPixel';
|
|
369
|
-
readonly vendor: 'snapchat-pixel';
|
|
370
382
|
readonly label: 'Snapchat Pixel';
|
|
371
|
-
readonly hint: 'Snapchat ads tracking';
|
|
372
|
-
readonly docsSlug: 'snapchat-pixel';
|
|
373
383
|
readonly packageSubpath: 'snapchat-pixel';
|
|
374
|
-
readonly
|
|
375
|
-
readonly consentCategory: 'marketing';
|
|
384
|
+
readonly vendor: 'snapchat-pixel';
|
|
376
385
|
}, {
|
|
386
|
+
readonly consentCategory: 'marketing';
|
|
387
|
+
readonly docsSlug: 'x-pixel';
|
|
388
|
+
readonly hint: 'X/Twitter conversion tracking';
|
|
389
|
+
readonly integrationCategory: 'ads-and-pixels';
|
|
377
390
|
readonly key: 'xPixel';
|
|
378
|
-
readonly vendor: 'x-pixel';
|
|
379
391
|
readonly label: 'X (Twitter) Pixel';
|
|
380
|
-
readonly hint: 'X/Twitter conversion tracking';
|
|
381
|
-
readonly docsSlug: 'x-pixel';
|
|
382
392
|
readonly packageSubpath: 'x-pixel';
|
|
383
|
-
readonly
|
|
384
|
-
readonly consentCategory: 'marketing';
|
|
393
|
+
readonly vendor: 'x-pixel';
|
|
385
394
|
}];
|
|
386
395
|
/**
|
|
387
396
|
* Concrete registry entry type inferred from `builtInScriptIntegrations`.
|
|
@@ -400,7 +409,7 @@ export type BuiltInScriptIntegrationSubpath = BuiltInScriptIntegration['packageS
|
|
|
400
409
|
*
|
|
401
410
|
* @param key - Stable integration key.
|
|
402
411
|
* @returns The matching built-in integration entry.
|
|
403
|
-
* @throws
|
|
412
|
+
* @throws {Error}("Unknown built-in script integration: <key>")` when the key is
|
|
404
413
|
* not present. Catch this when accepting untrusted or user-provided keys.
|
|
405
414
|
*
|
|
406
415
|
* @example
|
|
@@ -409,7 +418,7 @@ export type BuiltInScriptIntegrationSubpath = BuiltInScriptIntegration['packageS
|
|
|
409
418
|
* console.log(integration.packageSubpath); // "meta-pixel"
|
|
410
419
|
* ```
|
|
411
420
|
*/
|
|
412
|
-
export declare
|
|
421
|
+
export declare const getBuiltInScriptIntegration: (key: BuiltInScriptIntegrationKey) => BuiltInScriptIntegration;
|
|
413
422
|
/**
|
|
414
423
|
* Finds a built-in integration by its public package subpath.
|
|
415
424
|
*
|
|
@@ -422,7 +431,7 @@ export declare function getBuiltInScriptIntegration(key: BuiltInScriptIntegratio
|
|
|
422
431
|
* console.log(integration?.label); // "Meta Pixel"
|
|
423
432
|
* ```
|
|
424
433
|
*/
|
|
425
|
-
export declare
|
|
434
|
+
export declare const getBuiltInScriptIntegrationBySubpath: (subpath: string) => BuiltInScriptIntegration | undefined;
|
|
426
435
|
/**
|
|
427
436
|
* Finds a built-in integration by the emitted script vendor id.
|
|
428
437
|
*
|
|
@@ -437,4 +446,4 @@ export declare function getBuiltInScriptIntegrationBySubpath(subpath: string): B
|
|
|
437
446
|
* console.log(integration?.label); // "Google Tag Manager"
|
|
438
447
|
* ```
|
|
439
448
|
*/
|
|
440
|
-
export declare
|
|
449
|
+
export declare const getBuiltInScriptIntegrationByVendor: (vendor: string) => BuiltInScriptIntegration | undefined;
|
package/dist-types/resolve.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Script } from 'c15t';
|
|
1
|
+
import type { Script } from '@c15t/core';
|
|
2
2
|
import type { VendorManifest } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Compiles a `VendorManifest` + config into a `Script` object.
|
|
@@ -6,4 +6,4 @@ import type { VendorManifest } from './types';
|
|
|
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;
|
|
@@ -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;
|