@c15t/scripts 2.2.0 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/AGENTS.md +74 -48
  2. package/README.md +3 -3
  3. package/dist/e2e-test-utils.js +60 -24
  4. package/dist/engine/compile.js +45 -45
  5. package/dist/engine/runtime.js +119 -119
  6. package/dist/registry.js +186 -176
  7. package/dist/resolve.js +12 -12
  8. package/dist/vendors/_shared/attributes.js +5 -5
  9. package/dist/vendors/_shared/google-consent.js +10 -10
  10. package/dist/vendors/_shared/install-builders.js +9 -9
  11. package/dist/vendors/_shared/script-url.js +12 -12
  12. package/dist/vendors/ads-and-pixels/linkedin-insights.js +16 -16
  13. package/dist/vendors/ads-and-pixels/meta-pixel.js +82 -82
  14. package/dist/vendors/ads-and-pixels/microsoft-uet.js +57 -57
  15. package/dist/vendors/ads-and-pixels/openai-pixel.js +88 -0
  16. package/dist/vendors/ads-and-pixels/reddit-pixel.js +39 -39
  17. package/dist/vendors/ads-and-pixels/snapchat-pixel.js +25 -25
  18. package/dist/vendors/ads-and-pixels/tiktok-pixel.js +31 -31
  19. package/dist/vendors/ads-and-pixels/x-pixel.js +17 -17
  20. package/dist/vendors/analytics/adobe-analytics.js +17 -17
  21. package/dist/vendors/analytics/ahrefs-analytics.js +8 -8
  22. package/dist/vendors/analytics/amplitude.js +39 -39
  23. package/dist/vendors/analytics/clearbit.js +11 -11
  24. package/dist/vendors/analytics/cloudflare-web-analytics.js +13 -13
  25. package/dist/vendors/analytics/databuddy.js +45 -45
  26. package/dist/vendors/analytics/fathom-analytics.js +15 -15
  27. package/dist/vendors/analytics/google-tag.js +23 -23
  28. package/dist/vendors/analytics/heap.js +37 -37
  29. package/dist/vendors/analytics/hightouch.js +30 -30
  30. package/dist/vendors/analytics/hotjar.js +14 -14
  31. package/dist/vendors/analytics/logrocket.js +24 -24
  32. package/dist/vendors/analytics/matomo-analytics.js +51 -51
  33. package/dist/vendors/analytics/microsoft-clarity.js +31 -31
  34. package/dist/vendors/analytics/mixpanel-analytics.js +31 -31
  35. package/dist/vendors/analytics/pirsch.js +27 -27
  36. package/dist/vendors/analytics/plausible-analytics.js +24 -24
  37. package/dist/vendors/analytics/posthog.js +84 -79
  38. package/dist/vendors/analytics/promptwatch.js +8 -8
  39. package/dist/vendors/analytics/rudderstack.js +50 -50
  40. package/dist/vendors/analytics/rybbit-analytics.js +30 -30
  41. package/dist/vendors/analytics/segment.js +16 -16
  42. package/dist/vendors/analytics/umami-analytics.js +16 -16
  43. package/dist/vendors/analytics/vercel-analytics.js +22 -22
  44. package/dist/vendors/functional/crisp.js +49 -51
  45. package/dist/vendors/functional/intercom.js +18 -18
  46. package/dist/vendors/tag-managers/google-tag-manager.js +20 -20
  47. package/dist-types/__tests__/helpers.d.ts +10 -10
  48. package/dist-types/engine/compile.d.ts +2 -2
  49. package/dist-types/engine/runtime.d.ts +3 -3
  50. package/dist-types/registry.d.ts +182 -173
  51. package/dist-types/resolve.d.ts +2 -2
  52. package/dist-types/types.d.ts +2 -2
  53. package/dist-types/vendors/_shared/attributes.d.ts +2 -2
  54. package/dist-types/vendors/_shared/google-consent.d.ts +2 -2
  55. package/dist-types/vendors/_shared/install-builders.d.ts +1 -1
  56. package/dist-types/vendors/_shared/script-url.d.ts +6 -6
  57. package/dist-types/vendors/ads-and-pixels/linkedin-insights.d.ts +14 -14
  58. package/dist-types/vendors/ads-and-pixels/meta-pixel.d.ts +27 -27
  59. package/dist-types/vendors/ads-and-pixels/microsoft-uet.d.ts +40 -40
  60. package/dist-types/vendors/ads-and-pixels/openai-pixel.d.ts +211 -0
  61. package/dist-types/vendors/ads-and-pixels/reddit-pixel.d.ts +28 -29
  62. package/dist-types/vendors/ads-and-pixels/snapchat-pixel.d.ts +23 -23
  63. package/dist-types/vendors/ads-and-pixels/tiktok-pixel.d.ts +22 -22
  64. package/dist-types/vendors/ads-and-pixels/x-pixel.d.ts +15 -15
  65. package/dist-types/vendors/analytics/adobe-analytics.d.ts +3 -3
  66. package/dist-types/vendors/analytics/ahrefs-analytics.d.ts +5 -5
  67. package/dist-types/vendors/analytics/amplitude.d.ts +24 -24
  68. package/dist-types/vendors/analytics/clearbit.d.ts +5 -5
  69. package/dist-types/vendors/analytics/cloudflare-web-analytics.d.ts +6 -6
  70. package/dist-types/vendors/analytics/databuddy.d.ts +34 -31
  71. package/dist-types/vendors/analytics/fathom-analytics.d.ts +8 -8
  72. package/dist-types/vendors/analytics/google-tag.d.ts +17 -17
  73. package/dist-types/vendors/analytics/heap.d.ts +17 -17
  74. package/dist-types/vendors/analytics/hightouch.d.ts +15 -15
  75. package/dist-types/vendors/analytics/hotjar.d.ts +9 -9
  76. package/dist-types/vendors/analytics/logrocket.d.ts +11 -11
  77. package/dist-types/vendors/analytics/matomo-analytics.d.ts +3 -3
  78. package/dist-types/vendors/analytics/microsoft-clarity.d.ts +12 -13
  79. package/dist-types/vendors/analytics/mixpanel-analytics.d.ts +20 -20
  80. package/dist-types/vendors/analytics/pirsch.d.ts +10 -10
  81. package/dist-types/vendors/analytics/plausible-analytics.d.ts +13 -13
  82. package/dist-types/vendors/analytics/posthog.d.ts +35 -32
  83. package/dist-types/vendors/analytics/promptwatch.d.ts +5 -5
  84. package/dist-types/vendors/analytics/rudderstack.d.ts +16 -16
  85. package/dist-types/vendors/analytics/rybbit-analytics.d.ts +15 -15
  86. package/dist-types/vendors/analytics/segment.d.ts +11 -11
  87. package/dist-types/vendors/analytics/umami-analytics.d.ts +9 -9
  88. package/dist-types/vendors/analytics/vercel-analytics.d.ts +13 -13
  89. package/dist-types/vendors/functional/crisp.d.ts +9 -9
  90. package/dist-types/vendors/functional/intercom.d.ts +12 -12
  91. package/dist-types/vendors/tag-managers/google-tag-manager.d.ts +16 -16
  92. package/docs/README.md +74 -48
  93. package/docs/assets/v3/brand-bar.png +0 -0
  94. package/docs/assets/v3/brand-card.png +0 -0
  95. package/docs/assets/v3/choice-wall.png +0 -0
  96. package/docs/assets/v3/mobile-card.png +0 -0
  97. package/docs/assets/v3/preferences.png +0 -0
  98. package/docs/customization/overview.md +45 -0
  99. package/docs/customization/recipes.md +79 -0
  100. package/docs/customization/slots.md +55 -0
  101. package/docs/customization/tokens.md +76 -0
  102. package/docs/customization/translations.md +49 -0
  103. package/docs/frameworks/javascript/script-loader.md +30 -339
  104. package/docs/frameworks/next/script-loader.md +134 -467
  105. package/docs/frameworks/react/script-loader.md +35 -535
  106. package/docs/guides/consent-state.md +60 -0
  107. package/docs/guides/data-fetching.md +163 -0
  108. package/docs/guides/deployment-modes.md +63 -0
  109. package/docs/guides/troubleshooting.md +68 -0
  110. package/docs/guides/verify-consent.md +62 -0
  111. package/docs/integrations/adobe-analytics.md +239 -105
  112. package/docs/integrations/ahrefs-analytics.md +238 -104
  113. package/docs/integrations/amplitude.md +219 -157
  114. package/docs/integrations/building-integrations.md +32 -224
  115. package/docs/integrations/clearbit.md +247 -86
  116. package/docs/integrations/cloudflare-web-analytics.md +250 -84
  117. package/docs/integrations/crisp.md +251 -97
  118. package/docs/integrations/databuddy.md +259 -153
  119. package/docs/integrations/fathom-analytics.md +239 -96
  120. package/docs/integrations/google-maps.md +328 -207
  121. package/docs/integrations/google-tag-manager.md +248 -96
  122. package/docs/integrations/google-tag.md +261 -90
  123. package/docs/integrations/heap.md +222 -149
  124. package/docs/integrations/hightouch.md +225 -131
  125. package/docs/integrations/hotjar.md +239 -90
  126. package/docs/integrations/intercom.md +239 -98
  127. package/docs/integrations/linkedin-insights.md +243 -113
  128. package/docs/integrations/logrocket.md +241 -123
  129. package/docs/integrations/matomo-analytics.md +256 -111
  130. package/docs/integrations/meta-pixel.md +197 -324
  131. package/docs/integrations/microsoft-clarity.md +233 -114
  132. package/docs/integrations/microsoft-uet.md +245 -110
  133. package/docs/integrations/mixpanel-analytics.md +252 -87
  134. package/docs/integrations/openai-pixel.md +441 -0
  135. package/docs/integrations/overview.md +95 -133
  136. package/docs/integrations/pirsch.md +249 -96
  137. package/docs/integrations/plausible-analytics.md +241 -100
  138. package/docs/integrations/posthog.md +353 -214
  139. package/docs/integrations/promptwatch.md +251 -81
  140. package/docs/integrations/reddit-pixel.md +226 -173
  141. package/docs/integrations/rudderstack.md +244 -187
  142. package/docs/integrations/rybbit-analytics.md +244 -91
  143. package/docs/integrations/segment.md +238 -92
  144. package/docs/integrations/snapchat-pixel.md +240 -110
  145. package/docs/integrations/tiktok-pixel.md +249 -81
  146. package/docs/integrations/umami-analytics.md +242 -95
  147. package/docs/integrations/vercel-analytics.md +242 -90
  148. package/docs/integrations/x-pixel.md +238 -104
  149. package/docs/integrations/youtube.md +354 -142
  150. package/docs/upgrade-v3.md +334 -0
  151. package/package.json +85 -78
  152. package/readme.json +2 -2
  153. package/dist/e2e-test-utils.cjs +0 -166
  154. package/dist/engine/compile.cjs +0 -130
  155. package/dist/engine/runtime.cjs +0 -475
  156. package/dist/registry.cjs +0 -423
  157. package/dist/resolve.cjs +0 -71
  158. package/dist/types.cjs +0 -69
  159. package/dist/vendors/_shared/attributes.cjs +0 -55
  160. package/dist/vendors/_shared/google-consent.cjs +0 -69
  161. package/dist/vendors/_shared/install-builders.cjs +0 -59
  162. package/dist/vendors/_shared/script-url.cjs +0 -78
  163. package/dist/vendors/ads-and-pixels/linkedin-insights.cjs +0 -89
  164. package/dist/vendors/ads-and-pixels/meta-pixel.cjs +0 -206
  165. package/dist/vendors/ads-and-pixels/microsoft-uet.cjs +0 -151
  166. package/dist/vendors/ads-and-pixels/reddit-pixel.cjs +0 -151
  167. package/dist/vendors/ads-and-pixels/snapchat-pixel.cjs +0 -131
  168. package/dist/vendors/ads-and-pixels/tiktok-pixel.cjs +0 -130
  169. package/dist/vendors/ads-and-pixels/x-pixel.cjs +0 -92
  170. package/dist/vendors/analytics/adobe-analytics.cjs +0 -90
  171. package/dist/vendors/analytics/ahrefs-analytics.cjs +0 -68
  172. package/dist/vendors/analytics/amplitude.cjs +0 -193
  173. package/dist/vendors/analytics/clearbit.cjs +0 -69
  174. package/dist/vendors/analytics/cloudflare-web-analytics.cjs +0 -73
  175. package/dist/vendors/analytics/databuddy.cjs +0 -144
  176. package/dist/vendors/analytics/fathom-analytics.cjs +0 -76
  177. package/dist/vendors/analytics/google-tag.cjs +0 -107
  178. package/dist/vendors/analytics/heap.cjs +0 -181
  179. package/dist/vendors/analytics/hightouch.cjs +0 -153
  180. package/dist/vendors/analytics/hotjar.cjs +0 -85
  181. package/dist/vendors/analytics/logrocket.cjs +0 -99
  182. package/dist/vendors/analytics/matomo-analytics.cjs +0 -232
  183. package/dist/vendors/analytics/microsoft-clarity.cjs +0 -138
  184. package/dist/vendors/analytics/mixpanel-analytics.cjs +0 -134
  185. package/dist/vendors/analytics/pirsch.cjs +0 -108
  186. package/dist/vendors/analytics/plausible-analytics.cjs +0 -122
  187. package/dist/vendors/analytics/posthog.cjs +0 -236
  188. package/dist/vendors/analytics/promptwatch.cjs +0 -70
  189. package/dist/vendors/analytics/rudderstack.cjs +0 -227
  190. package/dist/vendors/analytics/rybbit-analytics.cjs +0 -104
  191. package/dist/vendors/analytics/segment.cjs +0 -97
  192. package/dist/vendors/analytics/umami-analytics.cjs +0 -80
  193. package/dist/vendors/analytics/vercel-analytics.cjs +0 -94
  194. package/dist/vendors/functional/crisp.cjs +0 -143
  195. package/dist/vendors/functional/intercom.cjs +0 -89
  196. package/dist/vendors/tag-managers/google-tag-manager.cjs +0 -100
  197. package/docs/shared/react/guides/script-loader.md +0 -311
@@ -1,122 +0,0 @@
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
- __webpack_require__.d(__webpack_exports__, {
31
- plausibleAnalytics: ()=>plausibleAnalytics,
32
- plausibleAnalyticsManifest: ()=>plausibleAnalyticsManifest
33
- });
34
- const external_resolve_cjs_namespaceObject = require("../../resolve.cjs");
35
- const external_types_cjs_namespaceObject = require("../../types.cjs");
36
- function buildPlausibleScriptUrl(options) {
37
- if (options.scriptId) return `https://plausible.io/js/pa-${options.scriptId}.js`;
38
- if (options.extension) {
39
- let extensions;
40
- extensions = Array.isArray(options.extension) ? options.extension.join('.') : options.extension;
41
- return `https://plausible.io/js/script.${extensions}.js`;
42
- }
43
- return "https://plausible.io/js/script.js";
44
- }
45
- function buildPlausibleInitOptions(options) {
46
- const initOptions = {};
47
- if (options.customProperties) initOptions.customProperties = options.customProperties;
48
- if (options.endpoint) initOptions.endpoint = options.endpoint;
49
- if (options.fileDownloads) initOptions.fileDownloads = options.fileDownloads;
50
- if (void 0 !== options.hashBasedRouting) initOptions.hashBasedRouting = options.hashBasedRouting;
51
- if (void 0 !== options.autoCapturePageviews) initOptions.autoCapturePageviews = options.autoCapturePageviews;
52
- if (void 0 !== options.captureOnLocalhost) initOptions.captureOnLocalhost = options.captureOnLocalhost;
53
- return initOptions;
54
- }
55
- const plausibleAnalyticsManifest = {
56
- ...external_types_cjs_namespaceObject.vendorManifestContract,
57
- vendor: 'plausible-analytics',
58
- category: 'measurement',
59
- bootstrap: [
60
- {
61
- type: 'defineStubFunction',
62
- name: 'plausible',
63
- queue: {
64
- property: 'q'
65
- },
66
- queueFormat: 'array',
67
- properties: {
68
- o: '{{initOptions}}'
69
- },
70
- ifUndefined: true
71
- }
72
- ],
73
- install: [
74
- {
75
- type: 'loadScript',
76
- src: "{{scriptUrl}}",
77
- defer: true,
78
- attributes: {
79
- 'data-domain': '{{domain}}',
80
- 'data-api': '{{apiAttribute}}'
81
- }
82
- }
83
- ]
84
- };
85
- function plausibleAnalytics(options) {
86
- let scriptId;
87
- if (options.scriptId) scriptId = options.scriptId.trim();
88
- let domain;
89
- if (options.domain) domain = options.domain.trim();
90
- if (!scriptId && !domain) throw new Error("plausibleAnalytics: missing scriptId or domain");
91
- const normalizedOptions = {
92
- ...options
93
- };
94
- if (scriptId) normalizedOptions.scriptId = scriptId;
95
- else delete normalizedOptions.scriptId;
96
- if (domain) normalizedOptions.domain = domain;
97
- else delete normalizedOptions.domain;
98
- const manifestOptions = {
99
- scriptUrl: normalizedOptions.scriptUrl ?? buildPlausibleScriptUrl(normalizedOptions),
100
- domain: void 0,
101
- apiAttribute: void 0,
102
- initOptions: buildPlausibleInitOptions(normalizedOptions)
103
- };
104
- if (scriptId) {
105
- manifestOptions.domain = void 0;
106
- manifestOptions.apiAttribute = void 0;
107
- } else {
108
- manifestOptions.domain = domain;
109
- manifestOptions.apiAttribute = normalizedOptions.endpoint;
110
- }
111
- const resolved = (0, external_resolve_cjs_namespaceObject.resolveManifest)(plausibleAnalyticsManifest, manifestOptions);
112
- return resolved;
113
- }
114
- exports.plausibleAnalytics = __webpack_exports__.plausibleAnalytics;
115
- exports.plausibleAnalyticsManifest = __webpack_exports__.plausibleAnalyticsManifest;
116
- for(var __rspack_i in __webpack_exports__)if (-1 === [
117
- "plausibleAnalytics",
118
- "plausibleAnalyticsManifest"
119
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
120
- Object.defineProperty(exports, '__esModule', {
121
- value: true
122
- });
@@ -1,236 +0,0 @@
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
- __webpack_require__.d(__webpack_exports__, {
31
- posthog: ()=>posthog,
32
- posthogManifest: ()=>posthogManifest
33
- });
34
- const external_resolve_cjs_namespaceObject = require("../../resolve.cjs");
35
- const external_types_cjs_namespaceObject = require("../../types.cjs");
36
- const script_url_cjs_namespaceObject = require("../_shared/script-url.cjs");
37
- const DEFAULT_API_HOST = 'https://eu.i.posthog.com';
38
- const DEFAULT_SCRIPT_URL = 'https://eu-assets.i.posthog.com/static/array.js';
39
- const DEFAULT_UI_HOST = 'https://eu.posthog.com';
40
- const DEFAULTS_DATE = '2026-01-30';
41
- const REGION_HOSTS = {
42
- eu: {
43
- apiHost: DEFAULT_API_HOST,
44
- uiHost: DEFAULT_UI_HOST,
45
- scriptUrl: DEFAULT_SCRIPT_URL
46
- },
47
- us: {
48
- apiHost: 'https://us.i.posthog.com',
49
- uiHost: 'https://us.posthog.com',
50
- scriptUrl: 'https://us-assets.i.posthog.com/static/array.js'
51
- }
52
- };
53
- function normalizeHost(host) {
54
- return (0, script_url_cjs_namespaceObject.stripTrailingSlashes)(host);
55
- }
56
- function regionFromHost(host) {
57
- const normalized = normalizeHost(host);
58
- if (/^https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com$/i.test(normalized)) return 'us';
59
- if (/^https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com$/i.test(normalized)) return 'eu';
60
- }
61
- function deriveScriptUrlFromApiHost(apiHost) {
62
- const normalized = normalizeHost(apiHost);
63
- const region = regionFromHost(normalized);
64
- if (region) return REGION_HOSTS[region].scriptUrl;
65
- return `${normalized}/static/array.js`;
66
- }
67
- function resolvePosthogHosts(options) {
68
- const regionDefaults = REGION_HOSTS[options.region ?? 'eu'];
69
- const apiHost = normalizeHost(options.apiHost ?? regionDefaults.apiHost);
70
- const inferredRegion = regionFromHost(apiHost);
71
- let uiHost;
72
- uiHost = void 0 !== options.uiHost ? options.uiHost : inferredRegion ? REGION_HOSTS[inferredRegion].uiHost : void 0 !== options.region ? REGION_HOSTS[options.region].uiHost : apiHost;
73
- let scriptUrl;
74
- scriptUrl = void 0 !== options.scriptUrl ? options.scriptUrl : void 0 !== options.apiHost ? deriveScriptUrlFromApiHost(apiHost) : regionDefaults.scriptUrl;
75
- return {
76
- apiHost,
77
- uiHost: normalizeHost(uiHost),
78
- scriptUrl
79
- };
80
- }
81
- const posthogManifest = {
82
- ...external_types_cjs_namespaceObject.vendorManifestContract,
83
- vendor: 'posthog',
84
- category: 'measurement',
85
- alwaysLoad: true,
86
- bootstrap: [
87
- {
88
- type: 'setGlobal',
89
- name: 'posthog',
90
- value: [],
91
- ifUndefined: true
92
- },
93
- {
94
- type: 'setGlobalPath',
95
- path: [
96
- 'posthog',
97
- '_i'
98
- ],
99
- value: [
100
- [
101
- '{{id}}',
102
- '{{initOptions}}',
103
- 'posthog'
104
- ]
105
- ],
106
- ifGlobalIsQueue: true
107
- },
108
- {
109
- type: 'setGlobalPath',
110
- path: [
111
- 'posthog',
112
- 'people'
113
- ],
114
- value: [],
115
- ifGlobalIsQueue: true
116
- },
117
- {
118
- type: 'defineQueueMethods',
119
- target: 'posthog',
120
- methods: [
121
- 'capture',
122
- 'opt_in_capturing',
123
- 'opt_out_capturing'
124
- ]
125
- },
126
- {
127
- type: 'defineGlobalMethods',
128
- target: 'posthog',
129
- ifGlobalIsQueue: true,
130
- methods: [
131
- {
132
- name: 'init',
133
- behavior: 'noop'
134
- },
135
- {
136
- name: 'get_explicit_consent_status',
137
- behavior: 'return',
138
- value: 'pending'
139
- }
140
- ]
141
- }
142
- ],
143
- install: [
144
- {
145
- type: 'loadScript',
146
- src: "{{scriptUrl}}",
147
- async: true,
148
- attributes: {
149
- crossorigin: 'anonymous',
150
- 'data-api-host': '{{apiHost}}',
151
- 'data-ui-host': '{{uiHost}}'
152
- }
153
- }
154
- ],
155
- onBeforeLoadGranted: [
156
- {
157
- type: 'pushToQueue',
158
- queue: 'posthog',
159
- value: [
160
- 'opt_in_capturing',
161
- {
162
- captureEventName: null
163
- }
164
- ]
165
- }
166
- ],
167
- onBeforeLoadDenied: [
168
- {
169
- type: 'pushToQueue',
170
- queue: 'posthog',
171
- value: [
172
- 'opt_out_capturing'
173
- ]
174
- }
175
- ],
176
- onLoadGranted: [
177
- {
178
- type: 'callGlobal',
179
- global: 'posthog',
180
- method: 'opt_in_capturing'
181
- }
182
- ],
183
- onLoadDenied: [
184
- {
185
- type: 'callGlobal',
186
- global: 'posthog',
187
- method: 'opt_out_capturing'
188
- }
189
- ],
190
- onConsentGranted: [
191
- {
192
- type: 'callGlobal',
193
- global: 'posthog',
194
- method: 'opt_in_capturing'
195
- }
196
- ],
197
- onConsentDenied: [
198
- {
199
- type: 'callGlobal',
200
- global: 'posthog',
201
- method: 'opt_out_capturing'
202
- }
203
- ]
204
- };
205
- function posthog(options) {
206
- if ('disabled' === options.loadMode) return {
207
- id: 'posthog',
208
- category: 'measurement',
209
- callbackOnly: true
210
- };
211
- const { apiHost, uiHost, scriptUrl } = resolvePosthogHosts(options);
212
- const resolved = (0, external_resolve_cjs_namespaceObject.resolveManifest)(posthogManifest, {
213
- id: options.id,
214
- apiHost,
215
- uiHost,
216
- scriptUrl,
217
- initOptions: {
218
- defaults: DEFAULTS_DATE,
219
- cookieless_mode: 'on_reject',
220
- ...options.initOptions,
221
- api_host: apiHost,
222
- ui_host: uiHost
223
- }
224
- });
225
- if ('after-consent' === options.loadMode) resolved.alwaysLoad = void 0;
226
- return resolved;
227
- }
228
- exports.posthog = __webpack_exports__.posthog;
229
- exports.posthogManifest = __webpack_exports__.posthogManifest;
230
- for(var __rspack_i in __webpack_exports__)if (-1 === [
231
- "posthog",
232
- "posthogManifest"
233
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
234
- Object.defineProperty(exports, '__esModule', {
235
- value: true
236
- });
@@ -1,70 +0,0 @@
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
- __webpack_require__.d(__webpack_exports__, {
31
- promptwatch: ()=>promptwatch,
32
- promptwatchManifest: ()=>promptwatchManifest
33
- });
34
- const external_resolve_cjs_namespaceObject = require("../../resolve.cjs");
35
- const external_types_cjs_namespaceObject = require("../../types.cjs");
36
- const script_url_cjs_namespaceObject = require("../_shared/script-url.cjs");
37
- const promptwatchManifest = {
38
- ...external_types_cjs_namespaceObject.vendorManifestContract,
39
- vendor: 'promptwatch',
40
- category: 'measurement',
41
- install: [
42
- {
43
- type: 'loadScript',
44
- src: "{{scriptUrl}}",
45
- async: true,
46
- attributes: {
47
- 'data-project-id': '{{projectId}}'
48
- }
49
- }
50
- ]
51
- };
52
- function promptwatch({ projectId, scriptUrl }) {
53
- const normalizedProjectId = projectId.trim();
54
- if (0 === normalizedProjectId.length) throw new Error('promptwatch: invalid projectId - must be a non-empty string');
55
- const defaultScriptUrl = 'https://ingest.promptwatch.com/js/client.min.js';
56
- const normalizedScriptUrl = (0, script_url_cjs_namespaceObject.resolveScriptUrl)((0, script_url_cjs_namespaceObject.trimToUndefined)(scriptUrl), defaultScriptUrl);
57
- return (0, external_resolve_cjs_namespaceObject.resolveManifest)(promptwatchManifest, {
58
- projectId: normalizedProjectId,
59
- scriptUrl: normalizedScriptUrl
60
- });
61
- }
62
- exports.promptwatch = __webpack_exports__.promptwatch;
63
- exports.promptwatchManifest = __webpack_exports__.promptwatchManifest;
64
- for(var __rspack_i in __webpack_exports__)if (-1 === [
65
- "promptwatch",
66
- "promptwatchManifest"
67
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
68
- Object.defineProperty(exports, '__esModule', {
69
- value: true
70
- });
@@ -1,227 +0,0 @@
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
- __webpack_require__.d(__webpack_exports__, {
31
- RUDDERSTACK_QUEUE_METHODS: ()=>RUDDERSTACK_QUEUE_METHODS,
32
- rudderstack: ()=>rudderstack,
33
- rudderstackManifest: ()=>rudderstackManifest
34
- });
35
- const external_resolve_cjs_namespaceObject = require("../../resolve.cjs");
36
- const external_types_cjs_namespaceObject = require("../../types.cjs");
37
- const script_url_cjs_namespaceObject = require("../_shared/script-url.cjs");
38
- const DEFAULT_RUDDERSTACK_SCRIPT_URL = 'https://cdn.rudderlabs.com/v3/modern/rsa.min.js';
39
- const RUDDERSTACK_QUEUE_METHODS = [
40
- 'setDefaultInstanceKey',
41
- 'load',
42
- 'ready',
43
- 'page',
44
- 'track',
45
- 'identify',
46
- 'alias',
47
- 'group',
48
- 'reset',
49
- 'setAnonymousId',
50
- 'startSession',
51
- 'endSession',
52
- 'consent',
53
- 'addCustomIntegration'
54
- ];
55
- const rudderstackManifest = {
56
- ...external_types_cjs_namespaceObject.vendorManifestContract,
57
- vendor: 'rudderstack',
58
- category: 'measurement',
59
- bootstrap: [
60
- {
61
- type: 'setGlobal',
62
- name: 'rudderanalytics',
63
- value: [],
64
- ifUndefined: true
65
- },
66
- {
67
- type: 'setGlobal',
68
- name: 'RudderSnippetVersion',
69
- value: '3.0.32'
70
- },
71
- {
72
- type: 'setGlobal',
73
- name: 'rudderAnalyticsBuildType',
74
- value: 'modern'
75
- },
76
- {
77
- type: 'setGlobalPath',
78
- path: [
79
- 'rudderanalytics',
80
- 'snippetExecuted'
81
- ],
82
- value: true
83
- },
84
- {
85
- type: 'defineQueueMethods',
86
- target: 'rudderanalytics',
87
- methods: [
88
- ...RUDDERSTACK_QUEUE_METHODS
89
- ]
90
- }
91
- ],
92
- install: [
93
- {
94
- type: 'callGlobal',
95
- global: 'rudderanalytics',
96
- method: 'load',
97
- args: [
98
- '{{writeKey}}',
99
- '{{dataPlaneUrl}}',
100
- '{{loadOptions}}'
101
- ]
102
- },
103
- {
104
- type: 'callGlobal',
105
- global: 'rudderanalytics',
106
- method: 'page'
107
- },
108
- {
109
- type: 'loadScript',
110
- src: "{{scriptUrl}}",
111
- async: true,
112
- attributes: {
113
- 'data-loader': 'RS_JS_SDK',
114
- 'data-rsa-write-key': '{{writeKey}}'
115
- }
116
- }
117
- ]
118
- };
119
- function validateRequiredString(value, label) {
120
- const normalized = 'string' == typeof value ? value.trim() : '';
121
- if (0 === normalized.length) throw new Error(`rudderstack: missing or invalid ${label}`);
122
- return normalized;
123
- }
124
- function validateOptionalHttpsScriptUrl(scriptUrl) {
125
- if (void 0 === scriptUrl) return;
126
- let parsed;
127
- try {
128
- parsed = new URL(scriptUrl);
129
- } catch {
130
- throw new Error("rudderstack: scriptUrl must be a valid https URL");
131
- }
132
- if ('https:' !== parsed.protocol) throw new Error("rudderstack: scriptUrl must be a valid https URL");
133
- return scriptUrl;
134
- }
135
- function isJsonObjectValue(value) {
136
- return 'object' == typeof value && null !== value && !Array.isArray(value);
137
- }
138
- function validateConsentMapping(consentManagement) {
139
- const normalized = {};
140
- for (const [category, ids] of Object.entries(consentManagement.mapping)){
141
- if (!Array.isArray(ids)) throw new Error(`rudderstack: consentManagement.mapping.${category} must be an array of consent IDs`);
142
- const trimmed = ids.map((id)=>{
143
- if ('string' == typeof id) return id.trim();
144
- return '';
145
- }).filter((id)=>id.length > 0);
146
- if (0 === trimmed.length) throw new Error(`rudderstack: consentManagement.mapping.${category} is declared but contains no valid consent IDs`);
147
- normalized[category] = trimmed;
148
- }
149
- if (0 === Object.keys(normalized).length) throw new Error('rudderstack: consentManagement.mapping must map at least one c15t category to a non-empty list of RudderStack consent IDs');
150
- return normalized;
151
- }
152
- function buildPreConsentLoadOptions(loadOptions) {
153
- let userConsentManagement = {};
154
- if (isJsonObjectValue(loadOptions.consentManagement)) userConsentManagement = loadOptions.consentManagement;
155
- let userPreConsent = {};
156
- if (isJsonObjectValue(loadOptions.preConsent)) userPreConsent = loadOptions.preConsent;
157
- let storage = {
158
- strategy: 'none'
159
- };
160
- if (isJsonObjectValue(userPreConsent.storage)) storage = userPreConsent.storage;
161
- return {
162
- ...loadOptions,
163
- preConsent: {
164
- ...userPreConsent,
165
- enabled: true,
166
- storage,
167
- events: {
168
- delivery: 'buffer'
169
- }
170
- },
171
- consentManagement: {
172
- ...userConsentManagement,
173
- enabled: true,
174
- provider: 'custom'
175
- }
176
- };
177
- }
178
- function validateDataPlaneUrl(dataPlaneUrl) {
179
- const normalized = validateRequiredString(dataPlaneUrl, 'dataPlaneUrl');
180
- let parsed;
181
- try {
182
- parsed = new URL(normalized);
183
- } catch {
184
- throw new Error('rudderstack: dataPlaneUrl must be a valid https URL');
185
- }
186
- if ('https:' !== parsed.protocol) throw new Error('rudderstack: dataPlaneUrl must be a valid https URL');
187
- return normalized;
188
- }
189
- function rudderstack({ writeKey, dataPlaneUrl, consentManagement, loadOptions = {}, trackPageView = true, scriptUrl }) {
190
- const normalizedWriteKey = validateRequiredString(writeKey, 'writeKey');
191
- const normalizedDataPlaneUrl = validateDataPlaneUrl(dataPlaneUrl);
192
- let manifest = rudderstackManifest;
193
- let resolvedLoadOptions = loadOptions;
194
- if (consentManagement) {
195
- const consentMapping = validateConsentMapping(consentManagement);
196
- manifest = {
197
- ...manifest,
198
- alwaysLoad: true,
199
- persistAfterConsentRevoked: true,
200
- consentMapping,
201
- consentSignal: 'rudderstack',
202
- consentSignalTarget: 'rudderanalytics'
203
- };
204
- resolvedLoadOptions = buildPreConsentLoadOptions(loadOptions);
205
- }
206
- if (!trackPageView) manifest = {
207
- ...manifest,
208
- install: manifest.install.filter((step)=>!('callGlobal' === step.type && 'rudderanalytics' === step.global && 'page' === step.method))
209
- };
210
- return (0, external_resolve_cjs_namespaceObject.resolveManifest)(manifest, {
211
- dataPlaneUrl: normalizedDataPlaneUrl,
212
- loadOptions: resolvedLoadOptions,
213
- writeKey: normalizedWriteKey,
214
- scriptUrl: (0, script_url_cjs_namespaceObject.resolveScriptUrl)(validateOptionalHttpsScriptUrl((0, script_url_cjs_namespaceObject.trimToUndefined)(scriptUrl)), DEFAULT_RUDDERSTACK_SCRIPT_URL)
215
- });
216
- }
217
- exports.RUDDERSTACK_QUEUE_METHODS = __webpack_exports__.RUDDERSTACK_QUEUE_METHODS;
218
- exports.rudderstack = __webpack_exports__.rudderstack;
219
- exports.rudderstackManifest = __webpack_exports__.rudderstackManifest;
220
- for(var __rspack_i in __webpack_exports__)if (-1 === [
221
- "RUDDERSTACK_QUEUE_METHODS",
222
- "rudderstack",
223
- "rudderstackManifest"
224
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
225
- Object.defineProperty(exports, '__esModule', {
226
- value: true
227
- });