@jmp-technologies/analytics 0.1.35 → 0.1.37
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/README.md +1 -1
- package/dist/astro/client.cjs +82 -42
- package/dist/astro/client.cjs.map +1 -1
- package/dist/astro/client.d.cts +18 -0
- package/dist/astro/client.d.ts +18 -0
- package/dist/astro/client.js +2 -2
- package/dist/astro/content.cjs +99 -69
- package/dist/astro/content.cjs.map +1 -1
- package/dist/astro/content.d.cts +53 -0
- package/dist/astro/content.d.ts +53 -0
- package/dist/astro/content.js +3 -3
- package/dist/astro/integration.cjs +100 -66
- package/dist/astro/integration.cjs.map +1 -1
- package/dist/astro/integration.d.cts +36 -0
- package/dist/astro/integration.d.ts +36 -0
- package/dist/astro/integration.js +3 -3
- package/dist/astro/middleware.cjs +93 -66
- package/dist/astro/middleware.cjs.map +1 -1
- package/dist/astro/middleware.d.cts +19 -0
- package/dist/astro/middleware.d.ts +19 -0
- package/dist/astro/middleware.js +2 -2
- package/dist/astro/register.cjs +100 -66
- package/dist/astro/register.cjs.map +1 -1
- package/dist/astro/register.d.cts +7 -0
- package/dist/astro/register.d.ts +7 -0
- package/dist/astro/register.js +3 -3
- package/dist/{chunk-VUCOCFVE.js → chunk-D43AEUXU.js} +3 -3
- package/dist/{chunk-AIFJ7DVO.js → chunk-EMZXL6VF.js} +193 -105
- package/dist/chunk-EMZXL6VF.js.map +1 -0
- package/dist/{chunk-HFLU7HQE.js → chunk-PTXPNIMF.js} +2 -2
- package/dist/{chunk-6SMPRPQ3.js → chunk-RT2YYDCK.js} +12 -8
- package/dist/chunk-RT2YYDCK.js.map +1 -0
- package/dist/{chunk-4ZUW24F6.js → chunk-TN6PGIB5.js} +2 -2
- package/dist/{chunk-3ET7F6MZ.js → chunk-UHXWHKHJ.js} +3 -3
- package/dist/chunk-UHXWHKHJ.js.map +1 -0
- package/dist/{chunk-G322JCI3.js → chunk-VQF6QYLR.js} +3 -3
- package/dist/create-jmp-analytics-Bz0-K0Af.d.cts +69 -0
- package/dist/create-jmp-analytics-DRjrlWUn.d.ts +69 -0
- package/dist/env-public-B6Y0DG68.d.cts +14 -0
- package/dist/env-public-B6Y0DG68.d.ts +14 -0
- package/dist/index.cjs +105 -75
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +110 -0
- package/dist/index.d.ts +110 -0
- package/dist/index.js +2 -2
- package/dist/landing-capture-C8pyZWuF.d.cts +4 -0
- package/dist/landing-capture-C8pyZWuF.d.ts +4 -0
- package/dist/next/content.cjs +99 -69
- package/dist/next/content.cjs.map +1 -1
- package/dist/next/content.d.cts +23 -0
- package/dist/next/content.d.ts +23 -0
- package/dist/next/content.js +3 -3
- package/dist/next/google-tag.d.cts +17 -0
- package/dist/next/google-tag.d.ts +17 -0
- package/dist/next/instrumentation.cjs +100 -66
- package/dist/next/instrumentation.cjs.map +1 -1
- package/dist/next/instrumentation.d.cts +7 -0
- package/dist/next/instrumentation.d.ts +7 -0
- package/dist/next/instrumentation.js +2 -2
- package/dist/next/landing-capture-script-server.d.cts +14 -0
- package/dist/next/landing-capture-script-server.d.ts +14 -0
- package/dist/next/landing-pages.cjs +151 -129
- package/dist/next/landing-pages.cjs.map +1 -1
- package/dist/next/landing-pages.d.cts +92 -0
- package/dist/next/landing-pages.d.ts +92 -0
- package/dist/next/landing-pages.js +7 -8
- package/dist/next/landing-pages.js.map +1 -1
- package/dist/next/locations.cjs +110 -88
- package/dist/next/locations.cjs.map +1 -1
- package/dist/next/locations.d.cts +55 -0
- package/dist/next/locations.d.ts +55 -0
- package/dist/next/locations.js +7 -8
- package/dist/next/locations.js.map +1 -1
- package/dist/next/middleware.cjs +93 -66
- package/dist/next/middleware.cjs.map +1 -1
- package/dist/next/middleware.d.cts +10 -0
- package/dist/next/middleware.d.ts +10 -0
- package/dist/next/middleware.js +2 -2
- package/dist/next/site-root-server.cjs +99 -69
- package/dist/next/site-root-server.cjs.map +1 -1
- package/dist/next/site-root-server.d.cts +24 -0
- package/dist/next/site-root-server.d.ts +24 -0
- package/dist/next/site-root-server.js +4 -4
- package/dist/next.cjs +36 -2
- package/dist/next.cjs.map +1 -1
- package/dist/next.d.cts +50 -0
- package/dist/next.d.ts +50 -0
- package/dist/next.js +4 -4
- package/dist/react.cjs +87 -53
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +22 -0
- package/dist/react.d.ts +22 -0
- package/dist/react.js +3 -3
- package/dist/site-config-BxEmJxBB.d.ts +74 -0
- package/dist/site-config-Cgq67uQ1.d.cts +74 -0
- package/dist/track-page-view-74Su6lQY.d.ts +12 -0
- package/dist/track-page-view-BCX1Dsfk.d.cts +12 -0
- package/dist/types-yNgoakwk.d.cts +397 -0
- package/dist/types-yNgoakwk.d.ts +397 -0
- package/dist/utils-BLoWWfSw.d.ts +15 -0
- package/dist/utils-UPTIdK1D.d.cts +15 -0
- package/package.json +3 -2
- package/dist/chunk-3ET7F6MZ.js.map +0 -1
- package/dist/chunk-6SMPRPQ3.js.map +0 -1
- package/dist/chunk-AIFJ7DVO.js.map +0 -1
- package/dist/chunk-RI3KKDPX.js +0 -75
- package/dist/chunk-RI3KKDPX.js.map +0 -1
- /package/dist/{chunk-VUCOCFVE.js.map → chunk-D43AEUXU.js.map} +0 -0
- /package/dist/{chunk-HFLU7HQE.js.map → chunk-PTXPNIMF.js.map} +0 -0
- /package/dist/{chunk-4ZUW24F6.js.map → chunk-TN6PGIB5.js.map} +0 -0
- /package/dist/{chunk-G322JCI3.js.map → chunk-VQF6QYLR.js.map} +0 -0
package/dist/next.d.cts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { p as JmpAnalyticsConfig } from './types-yNgoakwk.cjs';
|
|
4
|
+
export { b as buildLandingCaptureInlineScript } from './landing-capture-C8pyZWuF.cjs';
|
|
5
|
+
import { J as JmpAnalytics } from './create-jmp-analytics-Bz0-K0Af.cjs';
|
|
6
|
+
export { i as isJmpTrackingConsentGranted, s as setJmpTrackingConsent, a as subscribeJmpTrackingConsent } from './create-jmp-analytics-Bz0-K0Af.cjs';
|
|
7
|
+
export { r as readJmpPublicEnvFromProcess } from './env-public-B6Y0DG68.cjs';
|
|
8
|
+
export { JmpTrackedMailtoLink, JmpTrackedTelLink } from './react.cjs';
|
|
9
|
+
export { JmpGoogleTag } from './next/google-tag.cjs';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Browser singleton for Next.js sites — ensures contact auto-track defaults apply
|
|
13
|
+
* on the first `getOrCreate` call (page views, tracked links, delegated clicks).
|
|
14
|
+
*/
|
|
15
|
+
declare function getOrCreateJmpAnalyticsForNextApp(overrides?: Partial<JmpAnalyticsConfig>): JmpAnalytics | null;
|
|
16
|
+
|
|
17
|
+
declare function useJmpAnalytics(): JmpAnalytics | null;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* App Router: `page_view` on first paint and client navigations.
|
|
21
|
+
*/
|
|
22
|
+
declare function JmpNextPageViewTracker({ configOverrides, }: {
|
|
23
|
+
configOverrides?: Partial<JmpAnalyticsConfig>;
|
|
24
|
+
}): react_jsx_runtime.JSX.Element;
|
|
25
|
+
type JmpNextAnalyticsProps = {
|
|
26
|
+
/**
|
|
27
|
+
* When true (or `NEXT_PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT=true`), scripts stay
|
|
28
|
+
* off until {@link setJmpTrackingConsent}(true) from your cookie banner.
|
|
29
|
+
*/
|
|
30
|
+
deferUntilConsent?: boolean;
|
|
31
|
+
/** From {@link JmpSiteRootServer} — ensures the client bundle can reach the portal. */
|
|
32
|
+
analyticsUrl?: string;
|
|
33
|
+
trackingKey?: string;
|
|
34
|
+
};
|
|
35
|
+
/** Client route tracking + analytics bootstrap — landing capture is SSR-only via {@link JmpLandingCaptureScriptServer}. */
|
|
36
|
+
declare function JmpNextAnalytics({ deferUntilConsent, analyticsUrl, trackingKey, }?: JmpNextAnalyticsProps): react_jsx_runtime.JSX.Element | null;
|
|
37
|
+
type JmpSiteRootProps = {
|
|
38
|
+
children: ReactNode;
|
|
39
|
+
deferUntilConsent?: boolean;
|
|
40
|
+
/** Prefer {@link JmpSiteRootServer} in layout — pass-through from server env. */
|
|
41
|
+
analyticsUrl?: string;
|
|
42
|
+
trackingKey?: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Root layout wrapper: App Router page views + children.
|
|
46
|
+
* Put {@link JmpLandingCaptureScriptServer} in layout `<head>` (or use {@link JmpSiteRootServer}).
|
|
47
|
+
*/
|
|
48
|
+
declare function JmpSiteRoot({ children, deferUntilConsent, analyticsUrl, trackingKey, }: JmpSiteRootProps): react_jsx_runtime.JSX.Element;
|
|
49
|
+
|
|
50
|
+
export { JmpNextAnalytics, JmpNextPageViewTracker, JmpSiteRoot, getOrCreateJmpAnalyticsForNextApp, useJmpAnalytics };
|
package/dist/next.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { p as JmpAnalyticsConfig } from './types-yNgoakwk.js';
|
|
4
|
+
export { b as buildLandingCaptureInlineScript } from './landing-capture-C8pyZWuF.js';
|
|
5
|
+
import { J as JmpAnalytics } from './create-jmp-analytics-DRjrlWUn.js';
|
|
6
|
+
export { i as isJmpTrackingConsentGranted, s as setJmpTrackingConsent, a as subscribeJmpTrackingConsent } from './create-jmp-analytics-DRjrlWUn.js';
|
|
7
|
+
export { r as readJmpPublicEnvFromProcess } from './env-public-B6Y0DG68.js';
|
|
8
|
+
export { JmpTrackedMailtoLink, JmpTrackedTelLink } from './react.js';
|
|
9
|
+
export { JmpGoogleTag } from './next/google-tag.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Browser singleton for Next.js sites — ensures contact auto-track defaults apply
|
|
13
|
+
* on the first `getOrCreate` call (page views, tracked links, delegated clicks).
|
|
14
|
+
*/
|
|
15
|
+
declare function getOrCreateJmpAnalyticsForNextApp(overrides?: Partial<JmpAnalyticsConfig>): JmpAnalytics | null;
|
|
16
|
+
|
|
17
|
+
declare function useJmpAnalytics(): JmpAnalytics | null;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* App Router: `page_view` on first paint and client navigations.
|
|
21
|
+
*/
|
|
22
|
+
declare function JmpNextPageViewTracker({ configOverrides, }: {
|
|
23
|
+
configOverrides?: Partial<JmpAnalyticsConfig>;
|
|
24
|
+
}): react_jsx_runtime.JSX.Element;
|
|
25
|
+
type JmpNextAnalyticsProps = {
|
|
26
|
+
/**
|
|
27
|
+
* When true (or `NEXT_PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT=true`), scripts stay
|
|
28
|
+
* off until {@link setJmpTrackingConsent}(true) from your cookie banner.
|
|
29
|
+
*/
|
|
30
|
+
deferUntilConsent?: boolean;
|
|
31
|
+
/** From {@link JmpSiteRootServer} — ensures the client bundle can reach the portal. */
|
|
32
|
+
analyticsUrl?: string;
|
|
33
|
+
trackingKey?: string;
|
|
34
|
+
};
|
|
35
|
+
/** Client route tracking + analytics bootstrap — landing capture is SSR-only via {@link JmpLandingCaptureScriptServer}. */
|
|
36
|
+
declare function JmpNextAnalytics({ deferUntilConsent, analyticsUrl, trackingKey, }?: JmpNextAnalyticsProps): react_jsx_runtime.JSX.Element | null;
|
|
37
|
+
type JmpSiteRootProps = {
|
|
38
|
+
children: ReactNode;
|
|
39
|
+
deferUntilConsent?: boolean;
|
|
40
|
+
/** Prefer {@link JmpSiteRootServer} in layout — pass-through from server env. */
|
|
41
|
+
analyticsUrl?: string;
|
|
42
|
+
trackingKey?: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Root layout wrapper: App Router page views + children.
|
|
46
|
+
* Put {@link JmpLandingCaptureScriptServer} in layout `<head>` (or use {@link JmpSiteRootServer}).
|
|
47
|
+
*/
|
|
48
|
+
declare function JmpSiteRoot({ children, deferUntilConsent, analyticsUrl, trackingKey, }: JmpSiteRootProps): react_jsx_runtime.JSX.Element;
|
|
49
|
+
|
|
50
|
+
export { JmpNextAnalytics, JmpNextPageViewTracker, JmpSiteRoot, getOrCreateJmpAnalyticsForNextApp, useJmpAnalytics };
|
package/dist/next.js
CHANGED
|
@@ -5,25 +5,25 @@ import {
|
|
|
5
5
|
JmpSiteRoot,
|
|
6
6
|
getOrCreateJmpAnalyticsForNextApp,
|
|
7
7
|
useJmpAnalytics
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-D43AEUXU.js";
|
|
9
9
|
import {
|
|
10
10
|
JmpGoogleTag
|
|
11
11
|
} from "./chunk-2KAGOVRZ.js";
|
|
12
12
|
import {
|
|
13
13
|
JmpTrackedMailtoLink,
|
|
14
14
|
JmpTrackedTelLink
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TN6PGIB5.js";
|
|
16
16
|
import {
|
|
17
17
|
isJmpTrackingConsentGranted,
|
|
18
18
|
setJmpTrackingConsent,
|
|
19
19
|
subscribeJmpTrackingConsent
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-RT2YYDCK.js";
|
|
21
21
|
import {
|
|
22
22
|
buildLandingCaptureInlineScript
|
|
23
23
|
} from "./chunk-TCZ6TC2L.js";
|
|
24
24
|
import {
|
|
25
25
|
readJmpPublicEnvFromProcess
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-EMZXL6VF.js";
|
|
27
27
|
export {
|
|
28
28
|
JmpGoogleTag,
|
|
29
29
|
JmpNextAnalytics,
|
package/dist/react.cjs
CHANGED
|
@@ -306,7 +306,7 @@ function getOrCreateSessionIdFromStorage() {
|
|
|
306
306
|
}
|
|
307
307
|
|
|
308
308
|
// package.json
|
|
309
|
-
var version = "0.1.
|
|
309
|
+
var version = "0.1.37";
|
|
310
310
|
|
|
311
311
|
// src/constants.ts
|
|
312
312
|
var JMP_ANALYTICS_SDK_VERSION = version;
|
|
@@ -784,6 +784,84 @@ function createJmpAnalytics(config) {
|
|
|
784
784
|
};
|
|
785
785
|
}
|
|
786
786
|
|
|
787
|
+
// src/env-public.ts
|
|
788
|
+
function firstDefined(...values) {
|
|
789
|
+
for (const v of values) {
|
|
790
|
+
if (v) return v;
|
|
791
|
+
}
|
|
792
|
+
return void 0;
|
|
793
|
+
}
|
|
794
|
+
function readJmpPublicEnvFromProcessEnv() {
|
|
795
|
+
if (typeof process === "undefined" || !process.env) {
|
|
796
|
+
return {};
|
|
797
|
+
}
|
|
798
|
+
const { env } = process;
|
|
799
|
+
const analyticsUrl = firstDefined(
|
|
800
|
+
env.NEXT_PUBLIC_JMP_ANALYTICS_URL,
|
|
801
|
+
env.PUBLIC_JMP_ANALYTICS_URL
|
|
802
|
+
);
|
|
803
|
+
const trackingKey = firstDefined(
|
|
804
|
+
env.NEXT_PUBLIC_JMP_TRACKING_KEY,
|
|
805
|
+
env.PUBLIC_JMP_TRACKING_KEY
|
|
806
|
+
);
|
|
807
|
+
const requireConsentRaw = firstDefined(
|
|
808
|
+
env.NEXT_PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT,
|
|
809
|
+
env.PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT
|
|
810
|
+
);
|
|
811
|
+
const autoContactRaw = firstDefined(
|
|
812
|
+
env.NEXT_PUBLIC_JMP_AUTO_CONTACT_LINKS,
|
|
813
|
+
env.PUBLIC_JMP_AUTO_CONTACT_LINKS
|
|
814
|
+
);
|
|
815
|
+
return {
|
|
816
|
+
analyticsUrl,
|
|
817
|
+
trackingKey,
|
|
818
|
+
requireConsent: requireConsentRaw === "true",
|
|
819
|
+
autoContactLinks: autoContactRaw === "true"
|
|
820
|
+
};
|
|
821
|
+
}
|
|
822
|
+
function readJmpPublicEnvFromProcess(overrides) {
|
|
823
|
+
const fromEnv = readJmpPublicEnvFromProcessEnv();
|
|
824
|
+
return {
|
|
825
|
+
analyticsUrl: firstDefined(overrides?.analyticsUrl, fromEnv.analyticsUrl),
|
|
826
|
+
trackingKey: firstDefined(overrides?.trackingKey, fromEnv.trackingKey),
|
|
827
|
+
requireConsent: overrides?.requireConsent ?? fromEnv.requireConsent,
|
|
828
|
+
autoContactLinks: overrides?.autoContactLinks ?? fromEnv.autoContactLinks
|
|
829
|
+
};
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
// src/site-config.ts
|
|
833
|
+
var registeredSite = null;
|
|
834
|
+
function getJmpSiteDefinition() {
|
|
835
|
+
return registeredSite;
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
// src/landing-pages/utils.ts
|
|
839
|
+
function resolveJmpSiteUrl(override) {
|
|
840
|
+
const fromArg = override?.trim().replace(/\/$/, "");
|
|
841
|
+
if (fromArg) return fromArg;
|
|
842
|
+
const fromConfig = getJmpSiteDefinition()?.siteUrl?.trim().replace(/\/$/, "");
|
|
843
|
+
return fromConfig || null;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
// src/request-origin.ts
|
|
847
|
+
function resolveJmpRequestOrigin() {
|
|
848
|
+
const fromSite = resolveJmpSiteUrl();
|
|
849
|
+
if (fromSite) {
|
|
850
|
+
return fromSite;
|
|
851
|
+
}
|
|
852
|
+
if (typeof process === "undefined") {
|
|
853
|
+
return null;
|
|
854
|
+
}
|
|
855
|
+
return process.env.NEXT_PUBLIC_SITE_URL?.trim().replace(/\/$/, "") || null;
|
|
856
|
+
}
|
|
857
|
+
function withJmpOriginHeader(headers) {
|
|
858
|
+
const origin = resolveJmpRequestOrigin();
|
|
859
|
+
if (!origin) {
|
|
860
|
+
return headers;
|
|
861
|
+
}
|
|
862
|
+
return { ...headers, Origin: origin };
|
|
863
|
+
}
|
|
864
|
+
|
|
787
865
|
// src/content/manifest.ts
|
|
788
866
|
var JMP_CONTENT_MANIFEST_VERSION = 1;
|
|
789
867
|
var TRUST_SECTIONS = /* @__PURE__ */ new Set([
|
|
@@ -987,6 +1065,13 @@ function inferWrapperSlotsFromManifest(manifest) {
|
|
|
987
1065
|
return [...slots];
|
|
988
1066
|
}
|
|
989
1067
|
|
|
1068
|
+
// src/content/fetch.ts
|
|
1069
|
+
function jmpContentRequestHeaders(config) {
|
|
1070
|
+
return withJmpOriginHeader({
|
|
1071
|
+
"X-JMP-Tracking-Key": config.trackingKey
|
|
1072
|
+
});
|
|
1073
|
+
}
|
|
1074
|
+
|
|
990
1075
|
// src/content/wrapper-discovery.ts
|
|
991
1076
|
var WRAPPER_SLOT_ORDER = [
|
|
992
1077
|
"blog",
|
|
@@ -1081,7 +1166,7 @@ async function registerJmpContentWrappers(config) {
|
|
|
1081
1166
|
method: "POST",
|
|
1082
1167
|
headers: {
|
|
1083
1168
|
"Content-Type": "application/json",
|
|
1084
|
-
|
|
1169
|
+
...jmpContentRequestHeaders(config)
|
|
1085
1170
|
},
|
|
1086
1171
|
body: JSON.stringify(body)
|
|
1087
1172
|
});
|
|
@@ -1103,57 +1188,6 @@ async function registerJmpContentWrappers(config) {
|
|
|
1103
1188
|
}
|
|
1104
1189
|
setContentWrapperSyncHandler(registerJmpContentWrappers);
|
|
1105
1190
|
|
|
1106
|
-
// src/env-public.ts
|
|
1107
|
-
function firstDefined(...values) {
|
|
1108
|
-
for (const v of values) {
|
|
1109
|
-
if (v) return v;
|
|
1110
|
-
}
|
|
1111
|
-
return void 0;
|
|
1112
|
-
}
|
|
1113
|
-
function readJmpPublicEnvFromProcessEnv() {
|
|
1114
|
-
if (typeof process === "undefined" || !process.env) {
|
|
1115
|
-
return {};
|
|
1116
|
-
}
|
|
1117
|
-
const { env } = process;
|
|
1118
|
-
const analyticsUrl = firstDefined(
|
|
1119
|
-
env.NEXT_PUBLIC_JMP_ANALYTICS_URL,
|
|
1120
|
-
env.PUBLIC_JMP_ANALYTICS_URL
|
|
1121
|
-
);
|
|
1122
|
-
const trackingKey = firstDefined(
|
|
1123
|
-
env.NEXT_PUBLIC_JMP_TRACKING_KEY,
|
|
1124
|
-
env.PUBLIC_JMP_TRACKING_KEY
|
|
1125
|
-
);
|
|
1126
|
-
const requireConsentRaw = firstDefined(
|
|
1127
|
-
env.NEXT_PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT,
|
|
1128
|
-
env.PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT
|
|
1129
|
-
);
|
|
1130
|
-
const autoContactRaw = firstDefined(
|
|
1131
|
-
env.NEXT_PUBLIC_JMP_AUTO_CONTACT_LINKS,
|
|
1132
|
-
env.PUBLIC_JMP_AUTO_CONTACT_LINKS
|
|
1133
|
-
);
|
|
1134
|
-
return {
|
|
1135
|
-
analyticsUrl,
|
|
1136
|
-
trackingKey,
|
|
1137
|
-
requireConsent: requireConsentRaw === "true",
|
|
1138
|
-
autoContactLinks: autoContactRaw === "true"
|
|
1139
|
-
};
|
|
1140
|
-
}
|
|
1141
|
-
function readJmpPublicEnvFromProcess(overrides) {
|
|
1142
|
-
const fromEnv = readJmpPublicEnvFromProcessEnv();
|
|
1143
|
-
return {
|
|
1144
|
-
analyticsUrl: firstDefined(overrides?.analyticsUrl, fromEnv.analyticsUrl),
|
|
1145
|
-
trackingKey: firstDefined(overrides?.trackingKey, fromEnv.trackingKey),
|
|
1146
|
-
requireConsent: overrides?.requireConsent ?? fromEnv.requireConsent,
|
|
1147
|
-
autoContactLinks: overrides?.autoContactLinks ?? fromEnv.autoContactLinks
|
|
1148
|
-
};
|
|
1149
|
-
}
|
|
1150
|
-
|
|
1151
|
-
// src/site-config.ts
|
|
1152
|
-
var registeredSite = null;
|
|
1153
|
-
function getJmpSiteDefinition() {
|
|
1154
|
-
return registeredSite;
|
|
1155
|
-
}
|
|
1156
|
-
|
|
1157
1191
|
// src/env/browser.ts
|
|
1158
1192
|
function getJmpBrowserAnalyticsConfigFromEnv(overrides) {
|
|
1159
1193
|
const pub = readJmpPublicEnvFromProcess();
|