@jmp-technologies/analytics 0.1.36 → 0.1.38

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 (97) hide show
  1. package/README.md +1 -1
  2. package/dist/astro/client.cjs +83 -42
  3. package/dist/astro/client.cjs.map +1 -1
  4. package/dist/astro/client.d.cts +2 -2
  5. package/dist/astro/client.d.ts +2 -2
  6. package/dist/astro/client.js +2 -2
  7. package/dist/astro/content.cjs +137 -70
  8. package/dist/astro/content.cjs.map +1 -1
  9. package/dist/astro/content.d.cts +5 -4
  10. package/dist/astro/content.d.ts +5 -4
  11. package/dist/astro/content.js +5 -3
  12. package/dist/astro/integration.cjs +104 -66
  13. package/dist/astro/integration.cjs.map +1 -1
  14. package/dist/astro/integration.js +3 -3
  15. package/dist/astro/middleware.cjs +96 -66
  16. package/dist/astro/middleware.cjs.map +1 -1
  17. package/dist/astro/middleware.d.cts +2 -2
  18. package/dist/astro/middleware.d.ts +2 -2
  19. package/dist/astro/middleware.js +2 -2
  20. package/dist/astro/register.cjs +104 -66
  21. package/dist/astro/register.cjs.map +1 -1
  22. package/dist/astro/register.js +3 -3
  23. package/dist/{chunk-AIFJ7DVO.js → chunk-6WQMWPEY.js} +196 -105
  24. package/dist/chunk-6WQMWPEY.js.map +1 -0
  25. package/dist/{chunk-YFG3AQ35.js → chunk-EBU4DKHW.js} +47 -9
  26. package/dist/chunk-EBU4DKHW.js.map +1 -0
  27. package/dist/{chunk-AGGLRTUQ.js → chunk-JVFN7MF2.js} +2 -2
  28. package/dist/{chunk-3ZEMXII6.js → chunk-NCF3J4HV.js} +3 -3
  29. package/dist/{chunk-HFLU7HQE.js → chunk-ONIPLMOY.js} +2 -2
  30. package/dist/{chunk-NAQU6RAE.js → chunk-PQOTEV6O.js} +3 -3
  31. package/dist/{chunk-RNZTKIC6.js → chunk-WHUHCTBQ.js} +16 -3
  32. package/dist/chunk-WHUHCTBQ.js.map +1 -0
  33. package/dist/{create-jmp-analytics-Bz0-K0Af.d.cts → create-jmp-analytics-DMSXmVIH.d.cts} +1 -1
  34. package/dist/{create-jmp-analytics-DRjrlWUn.d.ts → create-jmp-analytics-JZ3pqNBQ.d.ts} +1 -1
  35. package/dist/index.cjs +145 -76
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.cts +10 -6
  38. package/dist/index.d.ts +10 -6
  39. package/dist/index.js +6 -2
  40. package/dist/next/content.cjs +138 -70
  41. package/dist/next/content.cjs.map +1 -1
  42. package/dist/next/content.d.cts +5 -4
  43. package/dist/next/content.d.ts +5 -4
  44. package/dist/next/content.js +6 -3
  45. package/dist/next/content.js.map +1 -1
  46. package/dist/next/instrumentation.cjs +104 -66
  47. package/dist/next/instrumentation.cjs.map +1 -1
  48. package/dist/next/instrumentation.js +2 -2
  49. package/dist/next/landing-pages.cjs +155 -129
  50. package/dist/next/landing-pages.cjs.map +1 -1
  51. package/dist/next/landing-pages.d.cts +2 -2
  52. package/dist/next/landing-pages.d.ts +2 -2
  53. package/dist/next/landing-pages.js +7 -8
  54. package/dist/next/landing-pages.js.map +1 -1
  55. package/dist/next/locations.cjs +114 -88
  56. package/dist/next/locations.cjs.map +1 -1
  57. package/dist/next/locations.d.cts +2 -2
  58. package/dist/next/locations.d.ts +2 -2
  59. package/dist/next/locations.js +7 -8
  60. package/dist/next/locations.js.map +1 -1
  61. package/dist/next/middleware.cjs +96 -66
  62. package/dist/next/middleware.cjs.map +1 -1
  63. package/dist/next/middleware.d.cts +2 -2
  64. package/dist/next/middleware.d.ts +2 -2
  65. package/dist/next/middleware.js +2 -2
  66. package/dist/next/site-root-server.cjs +103 -69
  67. package/dist/next/site-root-server.cjs.map +1 -1
  68. package/dist/next/site-root-server.js +4 -4
  69. package/dist/next.cjs +37 -2
  70. package/dist/next.cjs.map +1 -1
  71. package/dist/next.d.cts +3 -3
  72. package/dist/next.d.ts +3 -3
  73. package/dist/next.js +4 -4
  74. package/dist/react.cjs +88 -53
  75. package/dist/react.cjs.map +1 -1
  76. package/dist/react.d.cts +2 -2
  77. package/dist/react.d.ts +2 -2
  78. package/dist/react.js +3 -3
  79. package/dist/{site-config-Cgq67uQ1.d.cts → site-config-BLnwuRC2.d.ts} +9 -3
  80. package/dist/{site-config-BxEmJxBB.d.ts → site-config-BZJS8Hp_.d.cts} +9 -3
  81. package/dist/{track-page-view-BCX1Dsfk.d.cts → track-page-view-BJQqn2Bg.d.cts} +1 -1
  82. package/dist/{track-page-view-74Su6lQY.d.ts → track-page-view-DGKRUIxm.d.ts} +1 -1
  83. package/dist/{types-yNgoakwk.d.ts → types-CYrgEwUF.d.cts} +16 -2
  84. package/dist/{types-yNgoakwk.d.cts → types-CYrgEwUF.d.ts} +16 -2
  85. package/dist/{utils-BLoWWfSw.d.ts → utils-B1Nt3sBU.d.ts} +1 -1
  86. package/dist/{utils-UPTIdK1D.d.cts → utils-U6TGMIAB.d.cts} +1 -1
  87. package/docs/legal-and-privacy.md +2 -2
  88. package/package.json +1 -1
  89. package/dist/chunk-AIFJ7DVO.js.map +0 -1
  90. package/dist/chunk-RI3KKDPX.js +0 -75
  91. package/dist/chunk-RI3KKDPX.js.map +0 -1
  92. package/dist/chunk-RNZTKIC6.js.map +0 -1
  93. package/dist/chunk-YFG3AQ35.js.map +0 -1
  94. /package/dist/{chunk-AGGLRTUQ.js.map → chunk-JVFN7MF2.js.map} +0 -0
  95. /package/dist/{chunk-3ZEMXII6.js.map → chunk-NCF3J4HV.js.map} +0 -0
  96. /package/dist/{chunk-HFLU7HQE.js.map → chunk-ONIPLMOY.js.map} +0 -0
  97. /package/dist/{chunk-NAQU6RAE.js.map → chunk-PQOTEV6O.js.map} +0 -0
package/README.md CHANGED
@@ -355,6 +355,6 @@ After publish, on client sites:
355
355
  npm install @jmp-technologies/analytics@latest
356
356
  ```
357
357
 
358
- Use **≥ 0.1.8** for `getJmpSiteProfile` / `extras`. Use **≥ 0.1.10** for `email_click` tracking and `JmpTrackedMailtoLink`.
358
+ Use **≥ 0.1.8** for `getJmpSiteProfile` / `extras`. Use **≥ 0.1.10** for `email_click` tracking and `JmpTrackedMailtoLink`. Use **≥ 0.1.37** so server content fetches and server page views send `Origin` from `siteUrl` / `NEXT_PUBLIC_SITE_URL` (required for capabilities writes after the matching dashboard deploy). Use **≥ 0.1.38** so `contentManifest.routes` with wrapper `legal` or `pages` reports page URLs to the dashboard Pages tab.
359
359
 
360
360
  Ensure the **dashboard** is deployed with migrations **020** and **021** and `/api/content/site` is live before relying on `getJmpSiteProfile` in production.
@@ -308,7 +308,7 @@ function extractMailtoTarget(href) {
308
308
  }
309
309
 
310
310
  // package.json
311
- var version = "0.1.36";
311
+ var version = "0.1.38";
312
312
 
313
313
  // src/constants.ts
314
314
  var JMP_ANALYTICS_SDK_VERSION = version;
@@ -786,6 +786,79 @@ function createJmpAnalytics(config) {
786
786
  };
787
787
  }
788
788
 
789
+ // src/env-public.ts
790
+ function firstDefined(...values) {
791
+ for (const v of values) {
792
+ if (v) return v;
793
+ }
794
+ return void 0;
795
+ }
796
+ function readJmpPublicEnvFromImportMeta(meta, overrides) {
797
+ const get = (key) => {
798
+ const v = meta?.[key];
799
+ return typeof v === "string" && v.length > 0 ? v : void 0;
800
+ };
801
+ const analyticsUrl = firstDefined(
802
+ overrides?.analyticsUrl,
803
+ get("PUBLIC_JMP_ANALYTICS_URL"),
804
+ get("NEXT_PUBLIC_JMP_ANALYTICS_URL")
805
+ );
806
+ const trackingKey = firstDefined(
807
+ overrides?.trackingKey,
808
+ get("PUBLIC_JMP_TRACKING_KEY"),
809
+ get("NEXT_PUBLIC_JMP_TRACKING_KEY")
810
+ );
811
+ const requireConsentRaw = firstDefined(
812
+ overrides?.requireConsent !== void 0 ? String(overrides.requireConsent) : void 0,
813
+ get("PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT"),
814
+ get("NEXT_PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT")
815
+ );
816
+ const autoContactRaw = firstDefined(
817
+ overrides?.autoContactLinks !== void 0 ? String(overrides.autoContactLinks) : void 0,
818
+ get("PUBLIC_JMP_AUTO_CONTACT_LINKS"),
819
+ get("NEXT_PUBLIC_JMP_AUTO_CONTACT_LINKS")
820
+ );
821
+ return {
822
+ analyticsUrl,
823
+ trackingKey,
824
+ requireConsent: requireConsentRaw === "true",
825
+ autoContactLinks: autoContactRaw === "true"
826
+ };
827
+ }
828
+
829
+ // src/site-config.ts
830
+ var registeredSite = null;
831
+ function getJmpSiteDefinition() {
832
+ return registeredSite;
833
+ }
834
+
835
+ // src/landing-pages/utils.ts
836
+ function resolveJmpSiteUrl(override) {
837
+ const fromArg = override?.trim().replace(/\/$/, "");
838
+ if (fromArg) return fromArg;
839
+ const fromConfig = getJmpSiteDefinition()?.siteUrl?.trim().replace(/\/$/, "");
840
+ return fromConfig || null;
841
+ }
842
+
843
+ // src/request-origin.ts
844
+ function resolveJmpRequestOrigin() {
845
+ const fromSite = resolveJmpSiteUrl();
846
+ if (fromSite) {
847
+ return fromSite;
848
+ }
849
+ if (typeof process === "undefined") {
850
+ return null;
851
+ }
852
+ return process.env.NEXT_PUBLIC_SITE_URL?.trim().replace(/\/$/, "") || null;
853
+ }
854
+ function withJmpOriginHeader(headers) {
855
+ const origin = resolveJmpRequestOrigin();
856
+ if (!origin) {
857
+ return headers;
858
+ }
859
+ return { ...headers, Origin: origin };
860
+ }
861
+
789
862
  // src/content/manifest.ts
790
863
  var JMP_CONTENT_MANIFEST_VERSION = 1;
791
864
  var TRUST_SECTIONS = /* @__PURE__ */ new Set([
@@ -989,11 +1062,19 @@ function inferWrapperSlotsFromManifest(manifest) {
989
1062
  return [...slots];
990
1063
  }
991
1064
 
1065
+ // src/content/fetch.ts
1066
+ function jmpContentRequestHeaders(config) {
1067
+ return withJmpOriginHeader({
1068
+ "X-JMP-Tracking-Key": config.trackingKey
1069
+ });
1070
+ }
1071
+
992
1072
  // src/content/wrapper-discovery.ts
993
1073
  var WRAPPER_SLOT_ORDER = [
994
1074
  "blog",
995
1075
  "faq",
996
1076
  "contact",
1077
+ "legal",
997
1078
  "trust",
998
1079
  "trust.summary",
999
1080
  "trust.testimonials",
@@ -1083,7 +1164,7 @@ async function registerJmpContentWrappers(config) {
1083
1164
  method: "POST",
1084
1165
  headers: {
1085
1166
  "Content-Type": "application/json",
1086
- "X-JMP-Tracking-Key": config.trackingKey
1167
+ ...jmpContentRequestHeaders(config)
1087
1168
  },
1088
1169
  body: JSON.stringify(body)
1089
1170
  });
@@ -1105,46 +1186,6 @@ async function registerJmpContentWrappers(config) {
1105
1186
  }
1106
1187
  setContentWrapperSyncHandler(registerJmpContentWrappers);
1107
1188
 
1108
- // src/env-public.ts
1109
- function firstDefined(...values) {
1110
- for (const v of values) {
1111
- if (v) return v;
1112
- }
1113
- return void 0;
1114
- }
1115
- function readJmpPublicEnvFromImportMeta(meta, overrides) {
1116
- const get = (key) => {
1117
- const v = meta?.[key];
1118
- return typeof v === "string" && v.length > 0 ? v : void 0;
1119
- };
1120
- const analyticsUrl = firstDefined(
1121
- overrides?.analyticsUrl,
1122
- get("PUBLIC_JMP_ANALYTICS_URL"),
1123
- get("NEXT_PUBLIC_JMP_ANALYTICS_URL")
1124
- );
1125
- const trackingKey = firstDefined(
1126
- overrides?.trackingKey,
1127
- get("PUBLIC_JMP_TRACKING_KEY"),
1128
- get("NEXT_PUBLIC_JMP_TRACKING_KEY")
1129
- );
1130
- const requireConsentRaw = firstDefined(
1131
- overrides?.requireConsent !== void 0 ? String(overrides.requireConsent) : void 0,
1132
- get("PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT"),
1133
- get("NEXT_PUBLIC_JMP_ANALYTICS_REQUIRE_CONSENT")
1134
- );
1135
- const autoContactRaw = firstDefined(
1136
- overrides?.autoContactLinks !== void 0 ? String(overrides.autoContactLinks) : void 0,
1137
- get("PUBLIC_JMP_AUTO_CONTACT_LINKS"),
1138
- get("NEXT_PUBLIC_JMP_AUTO_CONTACT_LINKS")
1139
- );
1140
- return {
1141
- analyticsUrl,
1142
- trackingKey,
1143
- requireConsent: requireConsentRaw === "true",
1144
- autoContactLinks: autoContactRaw === "true"
1145
- };
1146
- }
1147
-
1148
1189
  // src/astro/client.ts
1149
1190
  var import_meta = {};
1150
1191
  var jmpAnalyticsSingleton = null;