Skip to content

Commit 569e21c

Browse files
authored
Merge pull request #788 from webiny/feat/wts-v3
Migrate from legacy wts client to @webiny/wts-client v3
2 parents bf85e8c + 767fd53 commit 569e21c

5 files changed

Lines changed: 44 additions & 141 deletions

File tree

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"@webiny/react-composition": "^5.44.0",
6161
"@webiny/react-properties": "^5.44.0",
6262
"@webiny/utils": "^5.44.0",
63+
"@webiny/wts-client": "^3.0.1",
6364
"autoprefixer": "^10.4.0",
6465
"babel-plugin-module-resolver": "^4.1.0",
6566
"brotli-size": "^4.0.0",
@@ -103,8 +104,7 @@
103104
"tinytime": "^0.2.6",
104105
"titlecase": "^1.1.3",
105106
"walk": "^2.3.15",
106-
"write-json-file": "^4.3.0",
107-
"wts": "https://github.com/webiny/wts#ae82e59470d79dc448a74239bf9d2328f4b93499"
107+
"write-json-file": "^4.3.0"
108108
},
109109
"devDependencies": {
110110
"@anthropic-ai/sdk": "^0.80.0",

src/components/Telemetry.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { useRouter } from "next/router";
2+
import { TelemetryProvider, useTrackPageView } from "@webiny/wts-client/react";
3+
4+
function PageViewTracker() {
5+
const router = useRouter();
6+
useTrackPageView(router.asPath);
7+
return null;
8+
}
9+
10+
/**
11+
* Wraps the app in the WTS telemetry provider and auto-tracks page-view events
12+
* on every route change. Posts to t.webiny.com.
13+
*/
14+
export function Telemetry({ children }) {
15+
return (
16+
<TelemetryProvider source="docs">
17+
<PageViewTracker />
18+
{children}
19+
</TelemetryProvider>
20+
);
21+
}

src/pages/_app.js

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import Router from "next/router";
33
import { NavigationProvider } from "@/components/page/Navigation";
44
import { Page } from "@/components/page/Page";
55
import { PageProvider } from "@/components/page/PageProvider";
6+
import { Telemetry } from "@/components/Telemetry";
67
import ProgressBar from "@badrap/bar-of-progress";
78
import { ResizeObserver } from "@juggle/resize-observer";
8-
import { WTS } from "wts/src/web";
99
import "../css/fonts.css";
1010
import "../css/main.css";
1111

@@ -31,34 +31,14 @@ Router.events.on("routeChangeStart", () => progress.start());
3131
Router.events.on("routeChangeComplete", () => progress.finish());
3232
Router.events.on("routeChangeError", () => progress.finish());
3333

34-
const isBrowser = typeof window !== "undefined";
35-
36-
if (isBrowser) {
37-
// For the first page load
38-
setTimeout(async () => {
39-
if (window.heap) {
40-
window.wts = new WTS();
41-
window.wts.identify();
42-
}
43-
}, 500);
44-
45-
// Subsequent route changes
46-
Router.onRouteChangeComplete = _url => {
47-
// Webiny Telemetry System
48-
// trigger telemetry when changing routes
49-
50-
if (window.wts) {
51-
window.wts.identify();
52-
}
53-
};
54-
}
55-
5634
export default function App({ Component, pageProps }) {
5735
return (
58-
<NavigationProvider>
59-
<PageProvider Component={Component} pageProps={pageProps}>
60-
<Page />
61-
</PageProvider>
62-
</NavigationProvider>
36+
<Telemetry>
37+
<NavigationProvider>
38+
<PageProvider Component={Component} pageProps={pageProps}>
39+
<Page />
40+
</PageProvider>
41+
</NavigationProvider>
42+
</Telemetry>
6343
);
6444
}

src/pages/_document.js

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -62,45 +62,6 @@ export default class Document extends NextDocument {
6262
}}
6363
/>
6464

65-
<script
66-
type="text/javascript"
67-
dangerouslySetInnerHTML={{
68-
__html: `
69-
(window.heap = window.heap || []),
70-
(heap.load = function(e, t) {
71-
(window.heap.appid = e), (window.heap.config = t = t || {});
72-
var r = document.createElement("script");
73-
(r.type = "text/javascript"),
74-
(r.async = !0),
75-
(r.src = "https://cdn.heapanalytics.com/js/heap-" + e + ".js");
76-
var a = document.getElementsByTagName("script")[0];
77-
a.parentNode.insertBefore(r, a);
78-
for (
79-
var n = function(e) {
80-
return function() {
81-
heap.push([e].concat(Array.prototype.slice.call(arguments, 0)));
82-
};
83-
},
84-
p = [
85-
"addEventProperties",
86-
"addUserProperties",
87-
"clearEventProperties",
88-
"identify",
89-
"resetIdentity",
90-
"removeEventProperty",
91-
"setEventProperties",
92-
"track",
93-
"unsetEventProperty"
94-
],
95-
o = 0;
96-
o < p.length;
97-
o++
98-
)
99-
heap[p[o]] = n(p[o]);
100-
});
101-
`
102-
}}
103-
/>
10465
{/* Google Tag Manager */}
10566
<script
10667
type="text/javascript"
@@ -112,12 +73,6 @@ export default class Document extends NextDocument {
11273
})(window,document,'script','dataLayer','GTM-5TG2W9G');`
11374
}}
11475
/>
115-
<script
116-
defer
117-
site="MZFYOTYQ"
118-
src="https://banquet-golden-years.webiny.com/script.js"
119-
></script>
120-
12176
<script
12277
async
12378
src="https://widget.kapa.ai/kapa-widget.bundle.js"

yarn.lock

Lines changed: 13 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -3668,6 +3668,18 @@ __metadata:
36683668
languageName: node
36693669
linkType: hard
36703670

3671+
"@webiny/wts-client@npm:^3.0.1":
3672+
version: 3.0.1
3673+
resolution: "@webiny/wts-client@npm:3.0.1"
3674+
peerDependencies:
3675+
react: ">=18"
3676+
peerDependenciesMeta:
3677+
react:
3678+
optional: true
3679+
checksum: 349de188ee72bb571c43aaf3797c64ec4d02b68be257979539b3b70aa63cecc344d2f7208df05b6db77828f1d98477535757039888628350d73d379569355a56
3680+
languageName: node
3681+
linkType: hard
3682+
36713683
"abab@npm:^2.0.6":
36723684
version: 2.0.6
36733685
resolution: "abab@npm:2.0.6"
@@ -4555,15 +4567,6 @@ __metadata:
45554567
languageName: node
45564568
linkType: hard
45574569

4558-
"btoa@npm:^1.2.1":
4559-
version: 1.2.1
4560-
resolution: "btoa@npm:1.2.1"
4561-
bin:
4562-
btoa: bin/btoa.js
4563-
checksum: afbf004fb1b1d530e053ffa66ef5bd3878b101c59d808ac947fcff96810b4452abba2b54be687adadea2ba9efc7af48b04228742789bf824ef93f103767e690c
4564-
languageName: node
4565-
linkType: hard
4566-
45674570
"buffer-from@npm:^1.0.0":
45684571
version: 1.1.2
45694572
resolution: "buffer-from@npm:1.1.2"
@@ -8367,13 +8370,6 @@ __metadata:
83678370
languageName: node
83688371
linkType: hard
83698372

8370-
"js-cookie@npm:^2.2.1":
8371-
version: 2.2.1
8372-
resolution: "js-cookie@npm:2.2.1"
8373-
checksum: 9b1fb980a1c5e624fd4b28ea4867bb30c71e04c4484bb3a42766344c533faa684de9498e443425479ec68609e96e27b60614bfe354877c449c631529b6d932f2
8374-
languageName: node
8375-
linkType: hard
8376-
83778373
"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
83788374
version: 4.0.0
83798375
resolution: "js-tokens@npm:4.0.0"
@@ -9367,20 +9363,6 @@ __metadata:
93679363
languageName: node
93689364
linkType: hard
93699365

9370-
"node-fetch@npm:^2.6.1":
9371-
version: 2.7.0
9372-
resolution: "node-fetch@npm:2.7.0"
9373-
dependencies:
9374-
whatwg-url: ^5.0.0
9375-
peerDependencies:
9376-
encoding: ^0.1.0
9377-
peerDependenciesMeta:
9378-
encoding:
9379-
optional: true
9380-
checksum: d76d2f5edb451a3f05b15115ec89fc6be39de37c6089f1b6368df03b91e1633fd379a7e01b7ab05089a25034b2023d959b47e59759cb38d88341b2459e89d6e5
9381-
languageName: node
9382-
linkType: hard
9383-
93849366
"node-gyp@npm:^9.0.0":
93859367
version: 9.4.1
93869368
resolution: "node-gyp@npm:9.4.1"
@@ -10907,6 +10889,7 @@ __metadata:
1090710889
"@webiny/react-composition": ^5.44.0
1090810890
"@webiny/react-properties": ^5.44.0
1090910891
"@webiny/utils": ^5.44.0
10892+
"@webiny/wts-client": ^3.0.1
1091010893
autoprefixer: ^10.4.0
1091110894
babel-eslint: 10.x
1091210895
babel-plugin-module-resolver: ^4.1.0
@@ -10969,7 +10952,6 @@ __metadata:
1096910952
tsx: ^4.21.0
1097010953
walk: ^2.3.15
1097110954
write-json-file: ^4.3.0
10972-
wts: "https://github.com/webiny/wts#ae82e59470d79dc448a74239bf9d2328f4b93499"
1097310955
languageName: unknown
1097410956
linkType: soft
1097510957

@@ -12045,13 +12027,6 @@ __metadata:
1204512027
languageName: node
1204612028
linkType: hard
1204712029

12048-
"tr46@npm:~0.0.3":
12049-
version: 0.0.3
12050-
resolution: "tr46@npm:0.0.3"
12051-
checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3
12052-
languageName: node
12053-
linkType: hard
12054-
1205512030
"tree-kill@npm:^1.2.2":
1205612031
version: 1.2.2
1205712032
resolution: "tree-kill@npm:1.2.2"
@@ -12811,13 +12786,6 @@ __metadata:
1281112786
languageName: node
1281212787
linkType: hard
1281312788

12814-
"webidl-conversions@npm:^3.0.0":
12815-
version: 3.0.1
12816-
resolution: "webidl-conversions@npm:3.0.1"
12817-
checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c
12818-
languageName: node
12819-
linkType: hard
12820-
1282112789
"webidl-conversions@npm:^7.0.0":
1282212790
version: 7.0.0
1282312791
resolution: "webidl-conversions@npm:7.0.0"
@@ -12874,16 +12842,6 @@ __metadata:
1287412842
languageName: node
1287512843
linkType: hard
1287612844

12877-
"whatwg-url@npm:^5.0.0":
12878-
version: 5.0.0
12879-
resolution: "whatwg-url@npm:5.0.0"
12880-
dependencies:
12881-
tr46: ~0.0.3
12882-
webidl-conversions: ^3.0.0
12883-
checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c
12884-
languageName: node
12885-
linkType: hard
12886-
1288712845
"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1":
1288812846
version: 1.1.1
1288912847
resolution: "which-boxed-primitive@npm:1.1.1"
@@ -13079,17 +13037,6 @@ __metadata:
1307913037
languageName: node
1308013038
linkType: hard
1308113039

13082-
"wts@https://github.com/webiny/wts#ae82e59470d79dc448a74239bf9d2328f4b93499":
13083-
version: 2.0.0
13084-
resolution: "wts@https://github.com/webiny/wts.git#commit=ae82e59470d79dc448a74239bf9d2328f4b93499"
13085-
dependencies:
13086-
btoa: ^1.2.1
13087-
js-cookie: ^2.2.1
13088-
node-fetch: ^2.6.1
13089-
checksum: 03c68d77c24b9f97b481749db372932295c90f6df1194be2aa67e8c60feafa10d02640990479d6ae63684f481bd3b08bd3c41c1c663ff85b73de063a774c8793
13090-
languageName: node
13091-
linkType: hard
13092-
1309313040
"xml-name-validator@npm:^4.0.0":
1309413041
version: 4.0.0
1309513042
resolution: "xml-name-validator@npm:4.0.0"

0 commit comments

Comments
 (0)