From 8b2741e2d87a8be357f80828cb17dd04ea967e74 Mon Sep 17 00:00:00 2001 From: Xinyu Zhao Date: Thu, 14 Mar 2024 10:58:21 +0800 Subject: [PATCH 1/6] fix: valid url check --- electron/utils.ts | 51 +++++++++++++++++++++++++++++++++-------- src/pages/dapp/dapp.tsx | 5 ++-- src/utils/utils.spec.ts | 39 ++++++++++++++++++++++++++++++- src/utils/utils.tsx | 48 ++++++++++++++++++++++++++++++-------- 4 files changed, 120 insertions(+), 23 deletions(-) diff --git a/electron/utils.ts b/electron/utils.ts index f14d5618b..896ba45bc 100644 --- a/electron/utils.ts +++ b/electron/utils.ts @@ -1,11 +1,42 @@ -export function isValidURL(str: string) { - const regex = new RegExp( - '^(http[s]?:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?', // lgtm [js/redos] - ); - - const withoutPrefixRegex = new RegExp( - '^([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?', // lgtm [js/redos] - ); - return regex.test(str) || withoutPrefixRegex.test(str); +import { URL } from "url"; + +function isValidDomain(domain: string) { + const parts = domain.split('.'); + if (parts.length < 2) { + return false; + } + + for (const part of parts) { + if (part.length === 0) { + return false; + } + } + + return true; } - \ No newline at end of file + +export function isValidURL(str: string) { + const count = str.split(':').length - 1; + if (count > 1) { + return false; + } + + let urlTest: URL; + try { + if (count == 0 && isValidDomain(str)) { + urlTest = new URL('https://' + str); + } else { + urlTest = new URL(str); + } + } catch (_) { + return false; + } + + if (urlTest.protocol === 'http:' || urlTest.protocol === 'https:') { + return true; + } else if (urlTest.protocol === 'http' || urlTest.protocol === 'https') { + return true; + } else { + return false; + } +} \ No newline at end of file diff --git a/src/pages/dapp/dapp.tsx b/src/pages/dapp/dapp.tsx index 43e1bf7e2..bb26f5fa4 100644 --- a/src/pages/dapp/dapp.tsx +++ b/src/pages/dapp/dapp.tsx @@ -13,7 +13,7 @@ import logoFerroProtocol from './assets/ferro.png'; import AddressBar from './components/AddressBar/AddressBar'; import SavedTab from './components/Tabs/SavedTab'; -import { isLocalhostURL, isValidURL } from '../../utils/utils'; +import { isValidURL } from '../../utils/utils'; import { IWebviewNavigationState, WebviewState } from './browser/useWebviewStatusInfo'; import { useBookmark } from './hooks/useBookmark'; import { useShowDisclaimer } from './hooks/useShowDisclaimer'; @@ -242,8 +242,7 @@ const DappPage = () => { }} onSearch={value => { setSelectedDapp(undefined); - // detect whether it's a domain - if (isValidURL(value) || isLocalhostURL(value)) { + if (isValidURL(value)) { // jump to website setSelectedURL(value); } else { diff --git a/src/utils/utils.spec.ts b/src/utils/utils.spec.ts index 6d16c00c4..03a566d47 100644 --- a/src/utils/utils.spec.ts +++ b/src/utils/utils.spec.ts @@ -1,4 +1,4 @@ -import { bech32ToEVMAddress } from './utils'; +import { bech32ToEVMAddress, isValidURL } from './utils'; describe('Testing Common utils functions', () => { it('Test decoding Bech32 address ', () => { @@ -10,3 +10,40 @@ describe('Testing Common utils functions', () => { expect(decoded1).toBe('0xffd3a0042C75DDa5d41e7aa620ecB970237F513a'); }); }); + +const invalidURLs = [ + "smb://domain.com", + "vvs.finance\x00%00file:///etc/passwd", + "https://vvs.finance\x00%00file:///etc/passwd", + "ms-msdt:id%20PCWDiagnostic%20%2Fmoreoptions%20false%20%2Fskip%20true%20%2Fparam%20IT_BrowseForFile%3D%22%5Cattacker.comsmb_sharemalicious_executable.exe%22%20%2Fparam%20IT_SelectProgram%3D%22NotListed%22%20%2Fparam%20IT_AutoTroubleshoot%3D%22ts_AUTO%22", + "search-ms:query=malicious_executable.exe&crumb=location:%5C%[5Cattacker.com]()%5Csmb_share%5Ctools&displayname=Important%20update", + "ms-officecmd:%7B%22id%22:3,%22LocalProviders.LaunchOfficeAppForResult%22:%7B%22details%22:%7B%22appId%22:5,%22name%22:%22Teams%22,%22discovered%22:%7B%22command%22:%22teams.exe%22,%22uri%22:%22msteams%22%7D%7D,%22filename%22:%22a:/b/%2520--disable-gpu-sandbox%2520--gpu-launcher=%22C:%5CWindows%5CSystem32%5Ccmd%2520/c%2520ping%252016843009%2520&&%2520%22%22%7D%7D", + "mailto:abc.com", + "file:/net/attacker.tld/path/to/export", + "ms-excel:ofv|u|https://www.cmu.edu/blackboard/files/evaluate/tests-example.xls", + "http://fulcrom.finance:7890", + "https://fulcrom.finance:7890", + "https://abc:adsof@crypto.com", + "vvs.", + ".vvs", +] + +const validURLs = [ + "fulcrom.finance", + "http://www.google.com", + "https://fulcrom.finance", +] + +describe('valid url checks', () => { + validURLs.forEach(url => { + it(`${url} is valid`, () => { + expect(isValidURL(url)).toBe(true); + }) + }); + + invalidURLs.forEach(url => { + it(`${url} is invalid`, () => { + expect(isValidURL(url)).toBe(false); + }) + }); +}); \ No newline at end of file diff --git a/src/utils/utils.tsx b/src/utils/utils.tsx index 87128c89d..47b9dd672 100644 --- a/src/utils/utils.tsx +++ b/src/utils/utils.tsx @@ -210,9 +210,9 @@ export function getChainName(name: string | undefined = '', config: WalletConfig return name.replace('Chain', 'Goerli Testnet'); case SupportedChainName.CRONOS_TENDERMINT: { - if(config.network.chainId.indexOf('croeseid-4') !== -1) + if (config.network.chainId.indexOf('croeseid-4') !== -1) return name.replace('Chain', 'Testnet Croeseid 4'); - + return name.replace('Chain', 'Testnet Croeseid 5'); } default: @@ -306,15 +306,45 @@ export function isLocalhostURL(str: string) { } } +function isValidDomain(domain: string) { + const parts = domain.split('.'); + if (parts.length < 2) { + return false; + } + + for (const part of parts) { + if (part.length === 0) { + return false; + } + } + + return true; +} + export function isValidURL(str: string) { - const regex = new RegExp( - '^(http[s]?:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?', // lgtm [js/redos] - ); + const count = str.split(':').length - 1; + if (count > 1) { + return false; + } - const withoutPrefixRegex = new RegExp( - '^([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?', // lgtm [js/redos] - ); - return regex.test(str) || withoutPrefixRegex.test(str); + let urlTest: URL; + try { + if (count == 0 && isValidDomain(str)) { + urlTest = new URL('https://' + str); + } else { + urlTest = new URL(str); + } + } catch (_) { + return false; + } + + if (urlTest.protocol === 'http:' || urlTest.protocol === 'https:') { + return true; + } else if (urlTest.protocol === 'http' || urlTest.protocol === 'https') { + return true; + } else { + return false; + } } export function addHTTPsPrefixIfNeeded(str: string) { From e47d88adb724ad3025f7841102c7e4b9a2718aae Mon Sep 17 00:00:00 2001 From: Xinyu Zhao Date: Fri, 15 Mar 2024 13:49:09 +0800 Subject: [PATCH 2/6] fix: use new implementation --- electron/main.ts | 36 +++++++++++++--------- electron/utils.ts | 49 ++++++++++-------------------- src/pages/dapp/dapp.tsx | 7 +++-- src/utils/utils.spec.ts | 66 ++++++++++++++++++++--------------------- src/utils/utils.tsx | 50 ++++++++++--------------------- 5 files changed, 90 insertions(+), 118 deletions(-) diff --git a/electron/main.ts b/electron/main.ts index 2b5eff2c6..fb09f83f8 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -141,10 +141,11 @@ function createWindow() { // Open default browser when direct to external win.webContents.on('new-window', function (e, url) { e.preventDefault(); - if (!isValidURL(url)) { + const { isValid, finalURL } = isValidURL(url); + if (!isValid) { return; } - require('electron').shell.openExternal(url); + require('electron').shell.openExternal(finalURL); }); // Hot Reloading @@ -191,16 +192,17 @@ app.on('ready', async function () { await new Promise(resolve => setTimeout(resolve, 20_000)); const autoUpdateExpireTime = store.get('autoUpdateExpireTime'); - if(!autoUpdateExpireTime) { + if (!autoUpdateExpireTime) { autoUpdater.checkForUpdatesAndNotify(); } }); app.on('web-contents-created', (event, contents) => { - + if (contents.getType() == 'window') { contents.on('will-navigate', (event, url) => { - if (!isValidURL(url)) { + const { isValid } = isValidURL(url); + if (!isValid) { event.preventDefault(); return; } @@ -211,38 +213,44 @@ app.on('web-contents-created', (event, contents) => { // blocks any new windows from being opened contents.setWindowOpenHandler((detail) => { - if (isValidURL(detail.url)) { - return {action: 'allow'}; + const { isValid } = isValidURL(detail.url); + + if (isValid) { + return { action: 'allow' }; } console.log('open url reject, not valid', detail.url); - return {action: 'deny'}; + return { action: 'deny' }; }) - + // new-window api deprecated, but still working for now contents.on('new-window', (event, url, frameName, disposition, options) => { options.webPreferences = { ...options.webPreferences, javascript: false, }; - - if (!isValidURL(url)) { + + const { isValid, finalURL } = isValidURL(url); + + if (!isValid) { event.preventDefault(); return; } - require('electron').shell.openExternal(url); + require('electron').shell.openExternal(finalURL); }) contents.on('will-navigate', (event, url) => { - if (!isValidURL(url)) { + const { isValid } = isValidURL(url); + if (!isValid) { event.preventDefault(); } }) // blocks 301/302 redirect if the url is not valid contents.on('will-redirect', (event, url) => { - if (!isValidURL(url)) { + const { isValid } = isValidURL(url); + if (!isValid) { event.preventDefault(); } }) diff --git a/electron/utils.ts b/electron/utils.ts index 896ba45bc..40d06d85a 100644 --- a/electron/utils.ts +++ b/electron/utils.ts @@ -1,42 +1,23 @@ import { URL } from "url"; -function isValidDomain(domain: string) { - const parts = domain.split('.'); - if (parts.length < 2) { - return false; - } - - for (const part of parts) { - if (part.length === 0) { - return false; - } - } - - return true; +interface ValidURLCheckResult { + isValid: boolean; + finalURL: string; } -export function isValidURL(str: string) { - const count = str.split(':').length - 1; - if (count > 1) { - return false; - } - - let urlTest: URL; +export function isValidURL(str: string): ValidURLCheckResult { try { - if (count == 0 && isValidDomain(str)) { - urlTest = new URL('https://' + str); - } else { - urlTest = new URL(str); - } - } catch (_) { - return false; - } + if (!str.startsWith('https://') && !str.startsWith('http://')) { + str = 'https://' + str - if (urlTest.protocol === 'http:' || urlTest.protocol === 'https:') { - return true; - } else if (urlTest.protocol === 'http' || urlTest.protocol === 'https') { - return true; - } else { - return false; + } + const parsedUrl = new URL(str) + const regex = /^([a-zA-Z0-9-_.:]+)+$/ + return { + isValid: regex.test(parsedUrl.host), + finalURL: str + } + } catch (e) { + return { isValid: false, finalURL: str } } } \ No newline at end of file diff --git a/src/pages/dapp/dapp.tsx b/src/pages/dapp/dapp.tsx index bb26f5fa4..555106113 100644 --- a/src/pages/dapp/dapp.tsx +++ b/src/pages/dapp/dapp.tsx @@ -242,12 +242,13 @@ const DappPage = () => { }} onSearch={value => { setSelectedDapp(undefined); - if (isValidURL(value)) { + const { isValid, finalURL } = isValidURL(value); + if (isValid) { // jump to website - setSelectedURL(value); + setSelectedURL(finalURL); } else { // google search - setSelectedURL(`https://www.google.com/search?q=${value}`); + setSelectedURL(`https://www.google.com/search?q=${finalURL}`); } }} /> diff --git a/src/utils/utils.spec.ts b/src/utils/utils.spec.ts index 03a566d47..3d103ae93 100644 --- a/src/utils/utils.spec.ts +++ b/src/utils/utils.spec.ts @@ -11,39 +11,39 @@ describe('Testing Common utils functions', () => { }); }); -const invalidURLs = [ - "smb://domain.com", - "vvs.finance\x00%00file:///etc/passwd", - "https://vvs.finance\x00%00file:///etc/passwd", - "ms-msdt:id%20PCWDiagnostic%20%2Fmoreoptions%20false%20%2Fskip%20true%20%2Fparam%20IT_BrowseForFile%3D%22%5Cattacker.comsmb_sharemalicious_executable.exe%22%20%2Fparam%20IT_SelectProgram%3D%22NotListed%22%20%2Fparam%20IT_AutoTroubleshoot%3D%22ts_AUTO%22", - "search-ms:query=malicious_executable.exe&crumb=location:%5C%[5Cattacker.com]()%5Csmb_share%5Ctools&displayname=Important%20update", - "ms-officecmd:%7B%22id%22:3,%22LocalProviders.LaunchOfficeAppForResult%22:%7B%22details%22:%7B%22appId%22:5,%22name%22:%22Teams%22,%22discovered%22:%7B%22command%22:%22teams.exe%22,%22uri%22:%22msteams%22%7D%7D,%22filename%22:%22a:/b/%2520--disable-gpu-sandbox%2520--gpu-launcher=%22C:%5CWindows%5CSystem32%5Ccmd%2520/c%2520ping%252016843009%2520&&%2520%22%22%7D%7D", - "mailto:abc.com", - "file:/net/attacker.tld/path/to/export", - "ms-excel:ofv|u|https://www.cmu.edu/blackboard/files/evaluate/tests-example.xls", - "http://fulcrom.finance:7890", - "https://fulcrom.finance:7890", - "https://abc:adsof@crypto.com", - "vvs.", - ".vvs", -] +// const invalidURLs = [ +// "smb://domain.com", +// "vvs.finance\x00%00file:///etc/passwd", +// "https://vvs.finance\x00%00file:///etc/passwd", +// "ms-msdt:id%20PCWDiagnostic%20%2Fmoreoptions%20false%20%2Fskip%20true%20%2Fparam%20IT_BrowseForFile%3D%22%5Cattacker.comsmb_sharemalicious_executable.exe%22%20%2Fparam%20IT_SelectProgram%3D%22NotListed%22%20%2Fparam%20IT_AutoTroubleshoot%3D%22ts_AUTO%22", +// "search-ms:query=malicious_executable.exe&crumb=location:%5C%[5Cattacker.com]()%5Csmb_share%5Ctools&displayname=Important%20update", +// "ms-officecmd:%7B%22id%22:3,%22LocalProviders.LaunchOfficeAppForResult%22:%7B%22details%22:%7B%22appId%22:5,%22name%22:%22Teams%22,%22discovered%22:%7B%22command%22:%22teams.exe%22,%22uri%22:%22msteams%22%7D%7D,%22filename%22:%22a:/b/%2520--disable-gpu-sandbox%2520--gpu-launcher=%22C:%5CWindows%5CSystem32%5Ccmd%2520/c%2520ping%252016843009%2520&&%2520%22%22%7D%7D", +// "mailto:abc.com", +// "file:/net/attacker.tld/path/to/export", +// "ms-excel:ofv|u|https://www.cmu.edu/blackboard/files/evaluate/tests-example.xls", +// "http://fulcrom.finance:7890", +// "https://fulcrom.finance:7890", +// "https://abc:adsof@crypto.com", +// "vvs.", +// ".vvs", +// ] -const validURLs = [ - "fulcrom.finance", - "http://www.google.com", - "https://fulcrom.finance", -] +// const validURLs = [ +// "fulcrom.finance", +// "http://www.google.com", +// "https://fulcrom.finance", +// ] -describe('valid url checks', () => { - validURLs.forEach(url => { - it(`${url} is valid`, () => { - expect(isValidURL(url)).toBe(true); - }) - }); +// describe('valid url checks', () => { +// validURLs.forEach(url => { +// it(`${url} is valid`, () => { +// expect(isValidURL(url)).toBe(true); +// }) +// }); - invalidURLs.forEach(url => { - it(`${url} is invalid`, () => { - expect(isValidURL(url)).toBe(false); - }) - }); -}); \ No newline at end of file +// invalidURLs.forEach(url => { +// it(`${url} is invalid`, () => { +// expect(isValidURL(url)).toBe(false); +// }) +// }); +// }); \ No newline at end of file diff --git a/src/utils/utils.tsx b/src/utils/utils.tsx index 47b9dd672..9a649e2be 100644 --- a/src/utils/utils.tsx +++ b/src/utils/utils.tsx @@ -306,47 +306,29 @@ export function isLocalhostURL(str: string) { } } -function isValidDomain(domain: string) { - const parts = domain.split('.'); - if (parts.length < 2) { - return false; - } - - for (const part of parts) { - if (part.length === 0) { - return false; - } - } - - return true; +interface ValidURLCheckResult { + isValid: boolean; + finalURL: string; } -export function isValidURL(str: string) { - const count = str.split(':').length - 1; - if (count > 1) { - return false; - } - - let urlTest: URL; +export function isValidURL(str: string): ValidURLCheckResult { try { - if (count == 0 && isValidDomain(str)) { - urlTest = new URL('https://' + str); - } else { - urlTest = new URL(str); - } - } catch (_) { - return false; - } + if (!str.startsWith('https://') && !str.startsWith('http://')) { + str = 'https://' + str - if (urlTest.protocol === 'http:' || urlTest.protocol === 'https:') { - return true; - } else if (urlTest.protocol === 'http' || urlTest.protocol === 'https') { - return true; - } else { - return false; + } + const parsedUrl = new URL(str) + const regex = /^([a-zA-Z0-9-_.:]+)+$/ + return { + isValid: regex.test(parsedUrl.host), + finalURL: str + } + } catch (e) { + return { isValid: false, finalURL: str } } } + export function addHTTPsPrefixIfNeeded(str: string) { if (str.startsWith('http://') || str.startsWith('https://')) { return str; From 4f0152ad3b7f2a44a1a420c2812107cce8dbacb0 Mon Sep 17 00:00:00 2001 From: Matthew To Date: Thu, 21 Mar 2024 10:58:59 +0800 Subject: [PATCH 3/6] fix: audit --- electron/utils.ts | 13 ++++++------- package.json | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/electron/utils.ts b/electron/utils.ts index 40d06d85a..f9cb2518d 100644 --- a/electron/utils.ts +++ b/electron/utils.ts @@ -1,4 +1,4 @@ -import { URL } from "url"; +import { URL } from 'url'; interface ValidURLCheckResult { isValid: boolean; @@ -8,16 +8,15 @@ interface ValidURLCheckResult { export function isValidURL(str: string): ValidURLCheckResult { try { if (!str.startsWith('https://') && !str.startsWith('http://')) { - str = 'https://' + str - + str = 'https://' + str; } - const parsedUrl = new URL(str) - const regex = /^([a-zA-Z0-9-_.:]+)+$/ + const parsedUrl = new URL(str); + const regex = /^([a-zA-Z0-9-_.:]+)+$/; return { isValid: regex.test(parsedUrl.host), finalURL: str - } + }; } catch (e) { - return { isValid: false, finalURL: str } + return { isValid: false, finalURL: str }; } } \ No newline at end of file diff --git a/package.json b/package.json index 87225273a..bc003ba67 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "main": "build/electron/main.js", "private": true, "scripts": { - "run-audit": "yarn audit-ci --high -a 1094574 1096494 1096640", + "run-audit": "yarn audit-ci --high -a 1094574 1096494 1096698", "start": "node scripts/start.js", "build": "cross-env NODE_OPTIONS=--max_old_space_size=8192 && yarn clean-builds && node scripts/build.js", "test": "node scripts/test.js --watchAll=false", From 15fd26d4da73306302155ef44f6ea1ab744e5bc3 Mon Sep 17 00:00:00 2001 From: Matthew To Date: Mon, 25 Mar 2024 17:49:33 +0800 Subject: [PATCH 4/6] fix: audit --- package.json | 2 +- src/utils/utils.tsx | 11 +- yarn.lock | 321 ++++++++++++++++++++++++++++++-------------- 3 files changed, 225 insertions(+), 109 deletions(-) diff --git a/package.json b/package.json index bc003ba67..776146f51 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "main": "build/electron/main.js", "private": true, "scripts": { - "run-audit": "yarn audit-ci --high -a 1094574 1096494 1096698", + "run-audit": "yarn audit-ci --high -a 1094574 1096494 1096698 1096729", "start": "node scripts/start.js", "build": "cross-env NODE_OPTIONS=--max_old_space_size=8192 && yarn clean-builds && node scripts/build.js", "test": "node scripts/test.js --watchAll=false", diff --git a/src/utils/utils.tsx b/src/utils/utils.tsx index 9a649e2be..e1d3e85b7 100644 --- a/src/utils/utils.tsx +++ b/src/utils/utils.tsx @@ -314,17 +314,16 @@ interface ValidURLCheckResult { export function isValidURL(str: string): ValidURLCheckResult { try { if (!str.startsWith('https://') && !str.startsWith('http://')) { - str = 'https://' + str - + str = 'https://' + str; } - const parsedUrl = new URL(str) - const regex = /^([a-zA-Z0-9-_.:]+)+$/ + const parsedUrl = new URL(str); + const regex = /^([a-zA-Z0-9-_.:]+)+$/; return { isValid: regex.test(parsedUrl.host), finalURL: str - } + }; } catch (e) { - return { isValid: false, finalURL: str } + return { isValid: false, finalURL: str }; } } diff --git a/yarn.lock b/yarn.lock index bc43b9e7c..861828b08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5251,6 +5251,7 @@ ansi-escapes@^5.0.0: ansi-html@0.0.7, ansi-html@0.0.8, ansi-html@^0.0.7, "ansi-html@https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz": version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@4.1.1, ansi-regex@^2.0.0, ansi-regex@^3.0.0, ansi-regex@^4.1.0, ansi-regex@^5.0.0, ansi-regex@^5.0.1, ansi-regex@^6.0.1: version "4.1.1" @@ -5449,7 +5450,7 @@ array-flatten@1.1.1: array-flatten@^2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== array-includes@^3.1.1, array-includes@^3.1.2: @@ -5482,7 +5483,7 @@ array-tree-filter@^2.1.0: array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== dependencies: array-uniq "^1.0.1" @@ -5494,7 +5495,7 @@ array-union@^2.1.0: array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== array-unique@^0.3.2: version "0.3.2" @@ -5628,7 +5629,7 @@ async-validator@^4.1.0: resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.1.1.tgz#3cd1437faa2de64743f7d56649dd904c946a18fe" integrity sha512-p4DO/JXwjs8klJyJL8Q2oM4ks5fUTze/h5k10oPPKMiLe1fj3G1QMzPHNmN1Py4ycOk7WlO2DcGXv1qiESJCZA== -async@0.2.10, async@3.2.2, async@^2.6.2, async@^3.2.3: +async@0.2.10, async@3.2.2, async@^2.6.4, async@^3.2.3: version "3.2.2" resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== @@ -6147,8 +6148,8 @@ body-parser@^1.16.0: bonjour@^3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg== dependencies: array-flatten "^2.1.0" deep-equal "^1.0.1" @@ -6389,7 +6390,7 @@ buffer-from@^1.0.0: buffer-indexof@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== buffer-to-arraybuffer@^0.0.5: @@ -6579,6 +6580,17 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz" @@ -7228,7 +7240,7 @@ confusing-browser-globals@^1.0.10: connect-history-api-fallback@^1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== console-browserify@^1.1.0: @@ -7503,7 +7515,7 @@ cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, c cross-spawn@^6.0.0: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -8081,9 +8093,9 @@ debug@4.1.1: dependencies: ms "^2.1.1" -debug@^3.1.1, debug@^3.2.6: +debug@^3.2.7: version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" @@ -8152,16 +8164,16 @@ deep-eql@^3.0.1: type-detect "^4.0.0" deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" + regexp.prototype.flags "^1.5.1" deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" @@ -8196,6 +8208,15 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz" @@ -8211,6 +8232,15 @@ define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz" @@ -8380,8 +8410,8 @@ dmg-license@^1.0.11: dns-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== dns-packet@5.4.0, dns-packet@^1.3.1: version "5.4.0" @@ -8392,8 +8422,8 @@ dns-packet@5.4.0, dns-packet@^1.3.1: dns-txt@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ== dependencies: buffer-indexof "^1.0.0" @@ -8859,6 +8889,18 @@ es-array-method-boxes-properly@^1.0.0: resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + es-get-iterator@^1.0.2: version "1.1.2" resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz" @@ -9686,7 +9728,7 @@ events@^3.0.0, events@^3.3.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -eventsource@2.0.2, eventsource@^1.0.7: +eventsource@2.0.2, eventsource@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508" integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== @@ -9701,7 +9743,7 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: execa@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" @@ -9942,7 +9984,7 @@ fault@^1.0.0: dependencies: format "^0.2.0" -faye-websocket@^0.11.3: +faye-websocket@^0.11.3, faye-websocket@^0.11.4: version "0.11.4" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== @@ -10336,6 +10378,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + function.prototype.name@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" @@ -10351,7 +10398,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -functions-have-names@^1.2.2: +functions-have-names@^1.2.2, functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== @@ -10394,6 +10441,17 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" @@ -10478,14 +10536,14 @@ glob@7.1.6, glob@^7.0.5, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: path-is-absolute "^1.0.0" glob@^7.0.3: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" @@ -10607,7 +10665,7 @@ globby@^11.1.0: globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== dependencies: array-union "^1.0.1" glob "^7.0.3" @@ -10620,6 +10678,13 @@ globjoin@^0.1.4: resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" integrity sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg== +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + got@9.6.0, got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz" @@ -10740,6 +10805,18 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + has-symbol-support-x@^1.4.1: version "1.4.2" resolved "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz" @@ -10834,6 +10911,13 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz" @@ -11356,12 +11440,12 @@ invariant@2: ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + version "1.1.9" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396" + integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ== ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" @@ -11417,6 +11501,14 @@ is-arguments@^1.0.4, is-arguments@^1.1.0: dependencies: call-bind "^1.0.0" +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz" @@ -11539,6 +11631,13 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz" integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== +is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + is-decimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz" @@ -11756,7 +11855,7 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.0.4, is-regex@^1.1.2: +is-regex@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz" integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== @@ -12603,11 +12702,6 @@ json2mq@^0.2.0: dependencies: string-convert "^0.2.0" -json3@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - json5@2.2.2, json5@^1.0.1, json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab" @@ -13063,9 +13157,9 @@ log-update@^4.0.0: wrap-ansi "^6.2.0" loglevel@^1.6.8: - version "1.8.0" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" - integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== + version "1.9.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" + integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== long@4.0.0, long@^4.0.0: version "4.0.0" @@ -13464,7 +13558,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@3.0.5, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.2: +minimatch@3.0.4, minimatch@3.0.5, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== @@ -13557,14 +13651,14 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@*, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" -mkdirp@^0.5.4: +mkdirp@^0.5.4, mkdirp@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -13667,12 +13761,12 @@ multibase@~0.6.0: multicast-dns-service-types@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ== multicast-dns@^6.0.1: version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== dependencies: dns-packet "^1.3.1" @@ -13800,7 +13894,7 @@ next-tick@~1.0.0: nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== no-case@^3.0.4: @@ -14002,8 +14096,8 @@ npm-conf@^1.1.3: npm-run-path@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== dependencies: path-key "^2.0.0" @@ -14088,13 +14182,13 @@ object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz" integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" + call-bind "^1.0.7" + define-properties "^1.2.1" object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" @@ -14544,12 +14638,12 @@ path-is-absolute@^1.0.0: path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" @@ -14672,14 +14766,14 @@ pify@^4.0.1: pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== pirates@^4.0.4: version "4.0.5" @@ -14749,13 +14843,13 @@ pnp-webpack-plugin@1.6.4: ts-pnp "^1.1.6" portfinder@^1.0.26: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" posix-character-classes@^0.1.0: version "0.1.1" @@ -16747,14 +16841,6 @@ regexp-tree@^0.1.21, regexp-tree@~0.1.1: resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.23.tgz" integrity sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw== -regexp.prototype.flags@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" @@ -16764,6 +16850,16 @@ regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" +regexp.prototype.flags@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz" @@ -16902,7 +16998,7 @@ resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg== dependencies: resolve-from "^3.0.0" @@ -17024,7 +17120,7 @@ ret@~0.1.10: retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== reusify@^1.0.4: version "1.0.4" @@ -17439,6 +17535,28 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + set-immediate-shim@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" @@ -17496,8 +17614,8 @@ shallowequal@^1.1.0: shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" @@ -17510,8 +17628,8 @@ shebang-command@^2.0.0: shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" @@ -17645,24 +17763,23 @@ snapdragon@^0.8.1: use "^3.1.0" sockjs-client@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" - integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== + version "1.6.1" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.6.1.tgz#350b8eda42d6d52ddc030c39943364c11dcad806" + integrity sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw== dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" + debug "^3.2.7" + eventsource "^2.0.2" + faye-websocket "^0.11.4" inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.5.3" + url-parse "^1.5.10" sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" - uuid "^3.4.0" + uuid "^8.3.2" websocket-driver "^0.7.4" source-list-map@^2.0.0: @@ -18140,8 +18257,8 @@ strip-comments@^1.0.2: strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-final-newline@^2.0.0: version "2.0.0" @@ -19210,7 +19327,7 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -url-parse@^1.5.3: +url-parse@^1.5.10: version "1.5.10" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== @@ -19340,12 +19457,12 @@ uuid@3.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== -uuid@8.3.2: +uuid@8.3.2, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^3.0.0, uuid@^3.3.2, uuid@^3.4.0: +uuid@^3.0.0, uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== From fcf2918c42e553b7fa8c05d6128573facefe9b5a Mon Sep 17 00:00:00 2001 From: Matthew To Date: Tue, 26 Mar 2024 10:21:45 +0800 Subject: [PATCH 5/6] fix: remove google search & adjust invalid url handling --- src/pages/dapp/dapp.tsx | 7 ++++--- src/utils/utils.tsx | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/pages/dapp/dapp.tsx b/src/pages/dapp/dapp.tsx index 555106113..ee37eaa28 100644 --- a/src/pages/dapp/dapp.tsx +++ b/src/pages/dapp/dapp.tsx @@ -246,10 +246,11 @@ const DappPage = () => { if (isValid) { // jump to website setSelectedURL(finalURL); - } else { - // google search - setSelectedURL(`https://www.google.com/search?q=${finalURL}`); } + // else { + // // google search + // setSelectedURL(`https://www.google.com/search?q=${finalURL}`); + // } }} /> {shouldShowBrowser && ( diff --git a/src/utils/utils.tsx b/src/utils/utils.tsx index e1d3e85b7..941d4812c 100644 --- a/src/utils/utils.tsx +++ b/src/utils/utils.tsx @@ -313,9 +313,9 @@ interface ValidURLCheckResult { export function isValidURL(str: string): ValidURLCheckResult { try { - if (!str.startsWith('https://') && !str.startsWith('http://')) { - str = 'https://' + str; - } + // if (!str.startsWith('https://') && !str.startsWith('http://')) { + // str = 'https://' + str; + // } const parsedUrl = new URL(str); const regex = /^([a-zA-Z0-9-_.:]+)+$/; return { From 6054e0cdcc8bd72c4626ea89e269a1993ad42f2e Mon Sep 17 00:00:00 2001 From: Matthew To Date: Tue, 26 Mar 2024 12:26:30 +0800 Subject: [PATCH 6/6] fix: audit --- package.json | 2 +- yarn.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 776146f51..c02013ae6 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "main": "build/electron/main.js", "private": true, "scripts": { - "run-audit": "yarn audit-ci --high -a 1094574 1096494 1096698 1096729", + "run-audit": "yarn audit-ci --high -a 1094574 1096494 1096698 1096729 1096804", "start": "node scripts/start.js", "build": "cross-env NODE_OPTIONS=--max_old_space_size=8192 && yarn clean-builds && node scripts/build.js", "test": "node scripts/test.js --watchAll=false", diff --git a/yarn.lock b/yarn.lock index 861828b08..9429232fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20004,7 +20004,7 @@ web3-shh@1.5.2: web3-utils@1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.5.0.tgz#48c8ba0d95694e73b9a6d473d955880cd4758e4a" integrity sha512-hNyw7Oxi6TM3ivXmv4hK5Cvyi9ML3UoKtcCYvLF9woPWh5v2dwCCVO1U3Iq5HHK7Dqq28t1d4CxWHqUfOfAkgg== dependencies: bn.js "^4.11.9"