diff --git a/web-app/package.json b/web-app/package.json index 4d863002d5..63a51477a4 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -28,8 +28,7 @@ "recharts": "^2.10.3", "styled-components": "^5.3.11", "superagent": "^8.0.8", - "tinycolor2": "^1.6.0", - "websocket": "^1.0.31" + "tinycolor2": "^1.6.0" }, "scripts": { "start": "PORT=5005 react-scripts start", @@ -76,7 +75,6 @@ "@types/recharts": "^1.8.29", "@types/superagent": "^4.1.24", "@types/webpack-env": "^1.18.2", - "@types/websocket": "^1.0.10", "babel-plugin-istanbul": "^6.1.1", "customize-cra": "^1.0.0", "minio": "^7.1.3", @@ -103,7 +101,6 @@ "react-scripts/**/json5": "^2.2.2", "react-scripts/**/debug": "^3.1.0", "recharts/**/d3-color": "^3.1.0", - "websocket/debug": "^3.1.0", "fast-xml-parser": "^4.3.4", "semver": "^7.5.2", "testcafe/**/tough-cookie": "^4.1.3", diff --git a/web-app/src/screens/Console/HealthInfo/HealthInfo.tsx b/web-app/src/screens/Console/HealthInfo/HealthInfo.tsx index 875300ed61..21aab41535 100644 --- a/web-app/src/screens/Console/HealthInfo/HealthInfo.tsx +++ b/web-app/src/screens/Console/HealthInfo/HealthInfo.tsx @@ -14,11 +14,6 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import { - ICloseEvent, - IMessageEvent, - w3cwebsocket as W3CWebSocket, -} from "websocket"; import { useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; import { Box, Button, Grid, HelpBox, InfoIcon, Loader, PageLayout } from "mds"; @@ -139,28 +134,25 @@ const HealthInfo = () => { const baseLocation = new URL(document.baseURI); const baseUrl = baseLocation.pathname; - const c = new W3CWebSocket( + const socket = new WebSocket( `${wsProt}://${url.hostname}:${port}${baseUrl}ws/health-info?deadline=1h`, ); let interval: any | null = null; - if (c !== null) { - c.onopen = () => { + if (socket !== null) { + socket.onopen = () => { console.log("WebSocket Client Connected"); - c.send("ok"); + socket.send("ok"); interval = setInterval(() => { - c.send("ok"); + socket.send("ok"); }, 10 * 1000); setMessage( "Health Report started. Please do not refresh page during diagnosis.", ); dispatch(setServerDiagStat(DiagStatInProgress)); }; - c.onmessage = (message: IMessageEvent) => { + socket.onmessage = (message: MessageEvent) => { let m: ReportMessage = JSON.parse(message.data.toString()); if (m.serverHealthInfo) { - m.serverHealthInfo.timestamp = new Date( - m.serverHealthInfo.timestamp.toString(), - ); dispatch(healthInfoMessageReceived(m.serverHealthInfo)); } if (m.encoded !== "") { @@ -170,13 +162,13 @@ const HealthInfo = () => { setSubnetResponse(m.subnetResponse); } }; - c.onerror = (error: Error) => { - console.log("error closing websocket:", error.message); - c.close(1000); + socket.onerror = (error) => { + console.error("error closing websocket:", error); + socket.close(1000); clearInterval(interval); dispatch(setServerDiagStat(DiagStatError)); }; - c.onclose = (event: ICloseEvent) => { + socket.onclose = (event: CloseEvent) => { clearInterval(interval); if ( event.code === WSCloseInternalServerErr || diff --git a/web-app/src/screens/Console/HealthInfo/types.ts b/web-app/src/screens/Console/HealthInfo/types.ts index ef3b518d9d..ef25229536 100644 --- a/web-app/src/screens/Console/HealthInfo/types.ts +++ b/web-app/src/screens/Console/HealthInfo/types.ts @@ -19,7 +19,7 @@ export const DiagStatSuccess = "success"; export const DiagStatInProgress = "inProgress"; export interface HealthInfoMessage { - timestamp: Date; + timestamp: string; error: string; perf: perfInfo; minio: minioHealthInfo; diff --git a/web-app/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx b/web-app/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx index 87df7c9c82..640f93b6d9 100644 --- a/web-app/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx +++ b/web-app/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx @@ -15,7 +15,6 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; import { Box, Button, Grid, PageLayout, Select, Table, TableBody } from "mds"; import { useSelector } from "react-redux"; import { ErrorResponseHandler } from "../../../../common/types"; @@ -33,7 +32,7 @@ import LogLine from "./LogLine"; import PageHeaderWrapper from "../../Common/PageHeaderWrapper/PageHeaderWrapper"; import HelpMenu from "../../HelpMenu"; -var c: any = null; +var socket: any = null; const ErrorLogs = () => { const dispatch = useAppDispatch(); @@ -61,7 +60,7 @@ const ErrorLogs = () => { const baseLocation = new URL(document.baseURI); const baseUrl = baseLocation.pathname; - c = new W3CWebSocket( + socket = new WebSocket( `${wsProt}://${ url.hostname }:${port}${baseUrl}ws/console/?logType=${logType}&node=${ @@ -69,16 +68,16 @@ const ErrorLogs = () => { }`, ); let interval: any | null = null; - if (c !== null) { - c.onopen = () => { + if (socket !== null) { + socket.onopen = () => { console.log("WebSocket Client Connected"); dispatch(setLogsStarted(true)); - c.send("ok"); + socket.send("ok"); interval = setInterval(() => { - c.send("ok"); + socket.send("ok"); }, 10 * 1000); }; - c.onmessage = (message: IMessageEvent) => { + socket.onmessage = (message: MessageEvent) => { // console.log(message.data.toString()) // FORMAT: 00:35:17 UTC 01/01/2021 @@ -104,13 +103,13 @@ const ErrorLogs = () => { dispatch(logMessageReceived(m)); } }; - c.onclose = () => { + socket.onclose = () => { clearInterval(interval); console.log("connection closed by server"); dispatch(setLogsStarted(false)); }; return () => { - c.close(1000); + socket.close(1000); clearInterval(interval); console.log("closing websockets"); dispatch(setLogsStarted(false)); @@ -119,8 +118,8 @@ const ErrorLogs = () => { }; const stopLogs = () => { - if (c !== null && c !== undefined) { - c.close(1000); + if (socket !== null && socket !== undefined) { + socket.close(1000); dispatch(setLogsStarted(false)); } }; diff --git a/web-app/src/screens/Console/Speedtest/Speedtest.tsx b/web-app/src/screens/Console/Speedtest/Speedtest.tsx index 5c868567ed..3d91bf2146 100644 --- a/web-app/src/screens/Console/Speedtest/Speedtest.tsx +++ b/web-app/src/screens/Console/Speedtest/Speedtest.tsx @@ -16,7 +16,6 @@ import React, { Fragment, useEffect, useState } from "react"; import { useSelector } from "react-redux"; -import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; import { useNavigate } from "react-router-dom"; import { Box, @@ -77,7 +76,7 @@ const Speedtest = () => { const baseUrl = baseLocation.pathname; const wsProt = wsProtocol(url.protocol); - const c = new W3CWebSocket( + const socket = new WebSocket( `${wsProt}://${url.hostname}:${port}${baseUrl}ws/speedtest?&size=${size}${sizeUnit}&duration=${duration}s`, ); @@ -95,15 +94,15 @@ const Speedtest = () => { setTotalSeconds(totalSeconds); let interval: any | null = null; - if (c !== null) { - c.onopen = () => { + if (socket !== null) { + socket.onopen = () => { console.log("WebSocket Client Connected"); - c.send("ok"); + socket.send("ok"); interval = setInterval(() => { - c.send("ok"); + socket.send("ok"); }, 10 * 1000); }; - c.onmessage = (message: IMessageEvent) => { + socket.onmessage = (message: MessageEvent) => { const data: SpeedTestResponse = JSON.parse(message.data.toString()); setCurrStatus((prevStatus) => { @@ -119,7 +118,7 @@ const Speedtest = () => { const currTime = DateTime.now().toUnixInteger() / 1000; setCurrentValue(currTime); }; - c.onclose = () => { + socket.onclose = () => { clearInterval(interval); console.log("connection closed by server"); // reset start status @@ -127,7 +126,7 @@ const Speedtest = () => { }; return () => { // close websocket on useEffect cleanup - c.close(1000); + socket.close(1000); clearInterval(interval); console.log("closing websockets"); }; diff --git a/web-app/src/screens/Console/Support/Profile.tsx b/web-app/src/screens/Console/Support/Profile.tsx index 50416cc75c..69199a7ffc 100644 --- a/web-app/src/screens/Console/Support/Profile.tsx +++ b/web-app/src/screens/Console/Support/Profile.tsx @@ -15,7 +15,6 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; import { Button, PageLayout, FormLayout, Box, Checkbox, InputLabel } from "mds"; import { wsProtocol } from "../../../utils/wsUtils"; import { useNavigate } from "react-router-dom"; @@ -26,7 +25,7 @@ import RegisterCluster from "./RegisterCluster"; import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper"; import HelpMenu from "../HelpMenu"; -var c: any = null; +var socket: any = null; const Profile = () => { const navigate = useNavigate(); @@ -70,16 +69,16 @@ const Profile = () => { const baseUrl = baseLocation.pathname; const wsProt = wsProtocol(url.protocol); - c = new W3CWebSocket( + socket = new WebSocket( `${wsProt}://${url.hostname}:${port}${baseUrl}ws/profile?types=${typeString}`, ); - if (c !== null) { - c.onopen = () => { + if (socket !== null) { + socket.onopen = () => { setProfilingStarted(true); - c.send("ok"); + socket.send("ok"); }; - c.onmessage = (message: IMessageEvent) => { + socket.onmessage = (message: MessageEvent) => { // process received message let response = new Blob([message.data], { type: "application/zip" }); let filename = "profile.zip"; @@ -91,12 +90,12 @@ const Profile = () => { link.click(); document.body.removeChild(link); }; - c.onclose = () => { + socket.onclose = () => { console.log("connection closed by server"); setProfilingStarted(false); }; return () => { - c.close(1000); + socket.close(1000); console.log("closing websockets"); setProfilingStarted(false); }; @@ -104,7 +103,7 @@ const Profile = () => { }; const stopProfiling = () => { - c.close(1000); + socket.close(1000); setProfilingStarted(false); }; diff --git a/web-app/src/screens/Console/Trace/Trace.tsx b/web-app/src/screens/Console/Trace/Trace.tsx index a213c86ea5..4bc7528f7c 100644 --- a/web-app/src/screens/Console/Trace/Trace.tsx +++ b/web-app/src/screens/Console/Trace/Trace.tsx @@ -17,7 +17,6 @@ import React, { Fragment, useEffect, useState } from "react"; import { DateTime } from "luxon"; import { useSelector } from "react-redux"; -import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; import { Box, breakPoints, @@ -43,7 +42,7 @@ import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper"; import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper"; import HelpMenu from "../HelpMenu"; -var c: any = null; +var socket: any = null; const Trace = () => { const dispatch = useAppDispatch(); @@ -85,7 +84,7 @@ const Trace = () => { const baseUrl = baseLocation.pathname; const wsProt = wsProtocol(url.protocol); - c = new W3CWebSocket( + socket = new WebSocket( `${wsProt}://${ url.hostname }:${port}${baseUrl}ws/trace?calls=${calls}&threshold=${threshold}&onlyErrors=${ @@ -94,29 +93,29 @@ const Trace = () => { ); let interval: any | null = null; - if (c !== null) { - c.onopen = () => { + if (socket !== null) { + socket.onopen = () => { console.log("WebSocket Client Connected"); dispatch(setTraceStarted(true)); - c.send("ok"); + socket.send("ok"); interval = setInterval(() => { - c.send("ok"); + socket.send("ok"); }, 10 * 1000); }; - c.onmessage = (message: IMessageEvent) => { + socket.onmessage = (message: MessageEvent) => { let m: TraceMessage = JSON.parse(message.data.toString()); m.ptime = DateTime.fromISO(m.time).toJSDate(); m.key = Math.random(); dispatch(traceMessageReceived(m)); }; - c.onclose = () => { + socket.onclose = () => { clearInterval(interval); console.log("connection closed by server"); dispatch(setTraceStarted(false)); }; return () => { - c.close(1000); + socket.close(1000); clearInterval(interval); console.log("closing websockets"); setTraceStarted(false); @@ -125,7 +124,7 @@ const Trace = () => { }; const stopTrace = () => { - c.close(1000); + socket.close(1000); dispatch(setTraceStarted(false)); }; diff --git a/web-app/src/screens/Console/Watch/Watch.tsx b/web-app/src/screens/Console/Watch/Watch.tsx index 58771c9f57..71efd1f6a6 100644 --- a/web-app/src/screens/Console/Watch/Watch.tsx +++ b/web-app/src/screens/Console/Watch/Watch.tsx @@ -15,7 +15,6 @@ // along with this program. If not, see . import React, { useEffect, useState, Fragment } from "react"; -import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; import { useSelector } from "react-redux"; import { Box, @@ -79,26 +78,26 @@ const Watch = () => { const baseUrl = baseLocation.pathname; const wsProt = wsProtocol(url.protocol); - const c = new W3CWebSocket( + const socket = new WebSocket( `${wsProt}://${url.hostname}:${port}${baseUrl}ws/watch/${bucketName}?prefix=${prefix}&suffix=${suffix}`, ); let interval: any | null = null; - if (c !== null) { - c.onopen = () => { + if (socket !== null) { + socket.onopen = () => { console.log("WebSocket Client Connected"); - c.send("ok"); + socket.send("ok"); interval = setInterval(() => { - c.send("ok"); + socket.send("ok"); }, 10 * 1000); }; - c.onmessage = (message: IMessageEvent) => { + socket.onmessage = (message: MessageEvent) => { let m: EventInfo = JSON.parse(message.data.toString()); m.Time = new Date(m.Time.toString()); m.key = Math.random(); dispatch(watchMessageReceived(m)); }; - c.onclose = () => { + socket.onclose = () => { clearInterval(interval); console.log("connection closed by server"); // reset start status @@ -106,7 +105,7 @@ const Watch = () => { }; return () => { // close websocket on useEffect cleanup - c.close(1000); + socket.close(1000); clearInterval(interval); console.log("closing websockets"); }; diff --git a/web-app/yarn.lock b/web-app/yarn.lock index 4830175a41..6f607b40f0 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -2571,13 +2571,6 @@ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.4.tgz#62879b0a9c653f9b1172d403b882f2045ecce032" integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== -"@types/websocket@^1.0.10": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.10.tgz#804b1a02780da522f5742bc184a6d16a2eb78c7c" - integrity sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww== - dependencies: - "@types/node" "*" - "@types/ws@^8.5.5": version "8.5.10" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" @@ -3626,13 +3619,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== - dependencies: - node-gyp-build "^4.3.0" - builtin-modules@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" @@ -4512,14 +4498,6 @@ d3-timer@^3.0.1: resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -4534,7 +4512,7 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@2.6.9, debug@^2.2.0, debug@^2.6.0, debug@^3.1.0, debug@^3.2.7, debug@^4.3.2: +debug@2.6.9, debug@^2.6.0, debug@^3.1.0, debug@^3.2.7, debug@^4.3.2: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -5153,37 +5131,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - es6-error@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - escalade@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" @@ -5623,13 +5575,6 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -8788,11 +8733,6 @@ neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - no-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -8813,11 +8753,6 @@ node-forge@^1, node-forge@^1.3.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -node-gyp-build@^4.3.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" - integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -12279,16 +12214,6 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - typed-array-buffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz#0608ffe6bca71bf15a45bff0ca2604107a1325f5" @@ -12574,13 +12499,6 @@ use-sync-external-store@^1.0.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - utf8-byte-length@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" @@ -12931,18 +12849,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -websocket@^1.0.31: - version "1.0.34" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -13342,11 +13248,6 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"