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 +12 -1
- package/dist/modules/analytics/middleware.js +4 -2
- package/dist/modules/analytics/middleware.js.map +1 -1
- package/dist/modules/analytics/snippet.d.ts +20 -0
- package/dist/modules/analytics/snippet.js +37 -1
- package/dist/modules/analytics/snippet.js.map +1 -1
- package/package.json +2 -2
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
|
-
|
|
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
|
|
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;
|
|
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.
|
|
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":"
|
|
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.
|
|
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": "
|
|
138
|
+
"commit": "2ae742790935a362ec025018ede6ad9d6de44679"
|
|
139
139
|
}
|