decentraland-dapps 29.7.1 → 29.8.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/README.md CHANGED
@@ -895,7 +895,18 @@ const analyticsMiddleware = createAnalyticsMiddleware('SEGMENT WRITE KEY', {
895
895
 
896
896
  `analytics.js` fetches its settings from the origin of that URL. Pass `cdnUrl` as well when the proxy serves them from a different host.
897
897
 
898
- Both decide where a third party script is loaded from, so they are meant to be trusted URLs that come from the build configuration of the dapp, never from user input. Values that are not valid URLs, or that are not served over HTTPS unless they belong to the dapp's own origin, are ignored with a warning and the bundle keeps loading from Segment's CDN.
898
+ The events themselves keep being delivered to Segment's ingestion endpoint, which the same filter lists drop. Pass `apiHost` to deliver them through the proxy too:
899
+
900
+ ```ts
901
+ const analyticsMiddleware = createAnalyticsMiddleware('SEGMENT WRITE KEY', {
902
+ analyticsUrl: 'https://analytics.example.org/aPath/aBundle.min.js',
903
+ apiHost: 'api.example.org/v1'
904
+ })
905
+ ```
906
+
907
+ `apiHost` takes no protocol: `analytics.js` prepends it and appends the method path (`/t`, `/i`, `/p`), so the value is shaped `host/basePath`. A value that carries a protocol is accepted and stripped.
908
+
909
+ The three of them decide where a third party script is loaded from and where every event is delivered, so they are meant to be trusted values that come from the build configuration of the dapp, never from user input. Values that are not valid URLs, or that are not served over HTTPS unless they belong to the dapp's own origin, are ignored with a warning and analytics degrades to Segment's own CDN and ingestion.
899
910
 
900
911
  **Saga**:
901
912
 
@@ -1,4 +1,4 @@
1
- import { configureAnalyticsSnippet } from './snippet';
1
+ import { configureAnalyticsSnippet, getAnalyticsLoadOptions } from './snippet';
2
2
  import { getAnalytics, track } from './utils';
3
3
  const disabledMiddleware = _ => next => action => {
4
4
  next(action);
@@ -14,7 +14,9 @@ export function createAnalyticsMiddleware(apiKey, options) {
14
14
  return disabledMiddleware;
15
15
  }
16
16
  configureAnalyticsSnippet(options);
17
- analytics.load(apiKey);
17
+ // Passed explicitly because analytics.js may already be on the page, in which case `load` is its own and not the
18
+ // snippet's, so it reads nothing from the options configured above
19
+ analytics.load(apiKey, getAnalyticsLoadOptions());
18
20
  return _ => next => action => {
19
21
  track(action);
20
22
  next(action);
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/modules/analytics/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,kBAAkB,GAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;IAC/D,IAAI,CAAC,MAAM,CAAC,CAAA;AACd,CAAC,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAc,EAAE,OAAiC;IACzF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;QACrE,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAA;QACxF,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAED,yBAAyB,CAAC,OAAO,CAAC,CAAA;IAClC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEtB,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QAC3B,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,MAAM,CAAC,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/modules/analytics/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACvG,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,kBAAkB,GAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;IAC/D,IAAI,CAAC,MAAM,CAAC,CAAA;AACd,CAAC,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAc,EAAE,OAAiC;IACzF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;QACrE,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAA;QACxF,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAED,yBAAyB,CAAC,OAAO,CAAC,CAAA;IAClC,iHAAiH;IACjH,mEAAmE;IACnE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAA;IAEjD,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QAC3B,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,MAAM,CAAC,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
@@ -9,7 +9,26 @@ export type AnalyticsSnippetOptions = {
9
9
  * serving both the bundle and the settings needs.
10
10
  */
11
11
  cdnUrl?: string;
12
+ /**
13
+ * Host the events are delivered to, without a protocol (`host/basePath`). Defaults to Segment's ingestion endpoint,
14
+ * which ad blockers drop just like its CDN, so dapps can point it at a first party proxy instead. Example:
15
+ * `api.example.com/v1`.
16
+ *
17
+ * analytics.js prepends the protocol and appends the method path (`/t`, `/i`, `/p`), it takes neither of them here.
18
+ */
19
+ apiHost?: string;
20
+ };
21
+ type SegmentIntegrationSettings = boolean | Record<string, unknown>;
22
+ export type AnalyticsLoadOptions = {
23
+ integrations?: Record<string, SegmentIntegrationSettings>;
24
+ [key: string]: unknown;
12
25
  };
26
+ /**
27
+ * Merges the configured first party ingestion host into the given load options, keeping the rest of them and the other
28
+ * integrations untouched, and returns them as they came when there is none so Segment's own ingestion stays in place.
29
+ * Exported for dapps that call `analytics.load` themselves instead of going through the analytics middleware.
30
+ */
31
+ export declare function getAnalyticsLoadOptions(loadOptions?: AnalyticsLoadOptions): AnalyticsLoadOptions | undefined;
13
32
  /**
14
33
  * Points the snippet at a different analytics.js bundle. Takes effect on the next `analytics.load` call, so it must
15
34
  * run before the analytics middleware is created.
@@ -19,3 +38,4 @@ export declare function configureAnalyticsSnippet(newOptions?: AnalyticsSnippetO
19
38
  * Installs Segment's snippet, which queues every call made before analytics.js is loaded and replays them once it is.
20
39
  */
21
40
  export declare function installAnalyticsSnippet(): void;
41
+ export {};
@@ -1,5 +1,9 @@
1
1
  const GLOBAL_ANALYTICS_KEY = 'analytics';
2
2
  const SNIPPET_VERSION = '5.2.0';
3
+ // Name of the analytics.js integration that delivers the events to Segment, the one carrying the ingestion host
4
+ const SEGMENT_IO = 'Segment.io';
5
+ const PROTOCOL_PREFIX = /^[a-z][a-z0-9+.-]*:\/\//i;
6
+ const TRAILING_SLASHES = /\/+$/;
3
7
  // Methods stubbed by the snippet, so calls made before analytics.js loads are queued and replayed afterwards
4
8
  const METHODS = [
5
9
  'trackSubmit',
@@ -52,6 +56,34 @@ function resolveUrl(name, url) {
52
56
  }
53
57
  return resolved;
54
58
  }
59
+ /**
60
+ * Normalizes the host the events are delivered to. analytics.js takes it without a protocol (`host/basePath`) and
61
+ * prepends one, so a value that carries it is accepted and stripped instead of producing `https://https://host`.
62
+ */
63
+ function resolveApiHost(apiHost) {
64
+ const resolved = resolveUrl('api host', PROTOCOL_PREFIX.test(apiHost) ? apiHost : `https://${apiHost}`);
65
+ return resolved && `${resolved.host}${resolved.pathname}`.replace(TRAILING_SLASHES, '');
66
+ }
67
+ /**
68
+ * Merges the configured first party ingestion host into the given load options, keeping the rest of them and the other
69
+ * integrations untouched, and returns them as they came when there is none so Segment's own ingestion stays in place.
70
+ * Exported for dapps that call `analytics.load` themselves instead of going through the analytics middleware.
71
+ */
72
+ export function getAnalyticsLoadOptions(loadOptions) {
73
+ if (!options.apiHost)
74
+ return loadOptions;
75
+ const segmentIo = loadOptions?.integrations?.[SEGMENT_IO];
76
+ return {
77
+ ...loadOptions,
78
+ integrations: {
79
+ ...loadOptions?.integrations,
80
+ [SEGMENT_IO]: {
81
+ ...(typeof segmentIo === 'object' ? segmentIo : undefined),
82
+ apiHost: options.apiHost
83
+ }
84
+ }
85
+ };
86
+ }
55
87
  /**
56
88
  * Points the snippet at a different analytics.js bundle. Takes effect on the next `analytics.load` call, so it must
57
89
  * run before the analytics middleware is created.
@@ -63,6 +95,7 @@ export function configureAnalyticsSnippet(newOptions = {}) {
63
95
  const cdnUrl = newOptions.cdnUrl ? resolveUrl('cdn url', newOptions.cdnUrl) : undefined;
64
96
  options.analyticsUrl = analyticsUrl?.href;
65
97
  options.cdnUrl = cdnUrl ? newOptions.cdnUrl : analyticsUrl?.origin;
98
+ options.apiHost = newOptions.apiHost ? resolveApiHost(newOptions.apiHost) : undefined;
66
99
  const analytics = window.analytics;
67
100
  // analytics.js resolves the settings endpoint from here, it can't infer it from a proxied bundle path
68
101
  if (analytics) {
@@ -137,7 +170,10 @@ export function installAnalyticsSnippet() {
137
170
  document.head.appendChild(script);
138
171
  }
139
172
  analytics._writeKey = writeKey;
140
- analytics._loadOptions = loadOptions;
173
+ // analytics.js reads the ingestion host from here once the bundle it just injected boots. Applied even
174
+ // though the analytics middleware already applied it to what it passes: callers that load the snippet
175
+ // themselves never go through it, and merging the same host twice yields the same options.
176
+ analytics._loadOptions = getAnalyticsLoadOptions(loadOptions);
141
177
  };
142
178
  if (options.cdnUrl) {
143
179
  analytics._cdn = options.cdnUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/modules/analytics/snippet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/modules/analytics/snippet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decentraland-dapps",
3
- "version": "29.7.1",
3
+ "version": "29.8.0",
4
4
  "description": "Common modules for Decentraland dApps",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -135,5 +135,5 @@
135
135
  "publishConfig": {
136
136
  "provenance": true
137
137
  },
138
- "commit": "f00d245bade04befee16db13fd00022e0b18a980"
138
+ "commit": "2ae742790935a362ec025018ede6ad9d6de44679"
139
139
  }