From b81d70ce620153deb3bfad1a9742083810ad0179 Mon Sep 17 00:00:00 2001 From: ZiriSut Date: Fri, 5 Aug 2022 06:22:54 +0000 Subject: [PATCH 001/131] Pontoon: Update Kabyle (kab) localization of Firefox Profiler Co-authored-by: ZiriSut --- locales/kab/app.ftl | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/locales/kab/app.ftl b/locales/kab/app.ftl index 868c6ad554..b03a0d184c 100644 --- a/locales/kab/app.ftl +++ b/locales/kab/app.ftl @@ -113,10 +113,6 @@ FooterLinks--hide-button = ## The timeline component of the full view in the analysis UI at the top of the ## page. -FullTimeline--graph-type = Anaw n udfil: -FullTimeline--categories-with-cpu = taggayin s CPU -FullTimeline--categories = Taggayin -FullTimeline--stack-height = Teɣzi n tbursa # This string is used as the text of the track selection button. # Displays the ratio of visible tracks count to total tracks count in the timeline. # We have spans here to make the numbers bold. @@ -232,7 +228,6 @@ MenuButtons--index--profile-info-uploaded-actions = Kkes MenuButtons--index--metaInfo-subtitle = Talɣut n umaɣnu MenuButtons--metaInfo--symbols = Izamulen: MenuButtons--metaInfo--cpu = CPU: -MenuButtons--metaInfo--recording-started = Asekles yebda: MenuButtons--metaInfo--interval = Azilal: MenuButtons--metaInfo--buffer-capacity = Tazmert n uḥraz: MenuButtons--metaInfo--buffer-duration = Tanzgat n uḥraz: @@ -322,6 +317,19 @@ NumberFormat--short-date = { SHORTDATE($date) } ## Profile Delete Button +## Profile Delete Panel +## This panel is displayed when the user clicks on the Profile Delete Button, +## it's a confirmation dialog. + +ProfileDeletePanel--dialog-cancel-button = + .value = Sefsex +ProfileDeletePanel--dialog-delete-button = + .value = Kkes +# This is used inside the Delete button after the user has clicked it, as a cheap +# progress indicator. +ProfileDeletePanel--dialog-deleting-button = + .value = Tukksa... + ## ProfileFilterNavigator ## This is used at the top of the profile analysis UI. @@ -338,7 +346,6 @@ ProfileRootMessage--additional = Uɣal ɣer ugejdan ## This is the component responsible for handling the service worker installation ## and update. It appears at the top of the UI. -ServiceWorkerManager--installing-button = Asebded… ServiceWorkerManager--pending-button = Snes syen ales asali ServiceWorkerManager--installed-button = Ales asali n usnas ServiceWorkerManager--hide-notice-button = @@ -380,6 +387,13 @@ TrackContextMenu--hide-track = Ffer “{ $trackName }” TrackMemoryGraph--relative-memory-at-this-time = takatut tamassaɣt deg wakud-a +## TrackPowerGraph +## This is used to show the power used by the CPU and other chips in a computer, +## graphed over time. +## It's not displayed by default in the UI, but an example can be found at +## https://share.firefox.dev/3a1fiT7. + + ## TrackSearchField ## The component that is used for the search input in the track context menu. From 7267060e039f5dc84a5c015a02775402123d2784 Mon Sep 17 00:00:00 2001 From: "Francesco Lodolo [:flod]" Date: Sat, 6 Aug 2022 10:37:46 +0000 Subject: [PATCH 002/131] Pontoon: Update Kabyle (kab) localization of Firefox Profiler Co-authored-by: Francesco Lodolo [:flod] --- locales/kab/app.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/kab/app.ftl b/locales/kab/app.ftl index b03a0d184c..7293afe08e 100644 --- a/locales/kab/app.ftl +++ b/locales/kab/app.ftl @@ -328,7 +328,7 @@ ProfileDeletePanel--dialog-delete-button = # This is used inside the Delete button after the user has clicked it, as a cheap # progress indicator. ProfileDeletePanel--dialog-deleting-button = - .value = Tukksa... + .value = Tukksa… ## ProfileFilterNavigator ## This is used at the top of the profile analysis UI. From 088f334b25cd8d74fbad6a3426bb33c8366f758e Mon Sep 17 00:00:00 2001 From: Pin-guang Chen Date: Wed, 10 Aug 2022 08:33:17 +0000 Subject: [PATCH 003/131] Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Profiler Co-authored-by: Pin-guang Chen --- locales/zh-TW/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/zh-TW/app.ftl b/locales/zh-TW/app.ftl index 3629a1f1c1..b2071d2060 100644 --- a/locales/zh-TW/app.ftl +++ b/locales/zh-TW/app.ftl @@ -592,6 +592,12 @@ TrackContextMenu--hide-all-matching-tracks = 隱藏所有符合的軌道 # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = 找不到「{ $searchFilter }」的結果 +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = 隱藏軌道 +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = 隱藏處理程序 ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From 6cac22196d8132ba0fb8e65ee285d15da0b553df Mon Sep 17 00:00:00 2001 From: "Francesco Lodolo [:flod]" Date: Wed, 10 Aug 2022 09:52:13 +0000 Subject: [PATCH 004/131] Pontoon: Update Italian (it) localization of Firefox Profiler Co-authored-by: Francesco Lodolo [:flod] --- locales/it/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/it/app.ftl b/locales/it/app.ftl index fa0e597003..259d34c812 100644 --- a/locales/it/app.ftl +++ b/locales/it/app.ftl @@ -597,6 +597,12 @@ TrackContextMenu--hide-all-matching-tracks = Nascondi tutte le tracce corrispond # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Nessun risultato trovato per “{ $searchFilter }” +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Nascondi traccia +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Nascondi processo ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From 53dc4c88f5833171bc72b1bb6d2c6bdef4b39e36 Mon Sep 17 00:00:00 2001 From: Marcelo Ghelman Date: Wed, 10 Aug 2022 11:42:44 +0000 Subject: [PATCH 005/131] Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Profiler Co-authored-by: Marcelo Ghelman --- locales/pt-BR/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/pt-BR/app.ftl b/locales/pt-BR/app.ftl index 1884db664c..d9b8bdf4f7 100644 --- a/locales/pt-BR/app.ftl +++ b/locales/pt-BR/app.ftl @@ -604,6 +604,12 @@ TrackContextMenu--hide-all-matching-tracks = Ocultar todas as faixas corresponde # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Nenhum resultado encontrado de “{ $searchFilter }” +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Ocultar faixa +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Ocultar processo ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From 4c65af5b245c47d8b85df8b7d75e3bcd2d43cf44 Mon Sep 17 00:00:00 2001 From: robovoice Date: Wed, 10 Aug 2022 14:52:31 +0000 Subject: [PATCH 006/131] Pontoon: Update German (de) localization of Firefox Profiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: robovoice Co-authored-by: Michael Köhler --- locales/de/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/de/app.ftl b/locales/de/app.ftl index b1d33db182..8771b1ba4c 100644 --- a/locales/de/app.ftl +++ b/locales/de/app.ftl @@ -652,6 +652,12 @@ TrackContextMenu--hide-all-matching-tracks = Alle passenden Tracks ausblenden # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Kein Ergebnis für „{ $searchFilter }“ gefunden +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Track ausblenden +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Prozess ausblenden ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From f4f19ee72cefa62516a5d0a9fdaf5748353da409 Mon Sep 17 00:00:00 2001 From: Melo46 Date: Wed, 10 Aug 2022 19:09:40 +0000 Subject: [PATCH 007/131] Pontoon: Update Interlingua (ia) localization of Firefox Profiler Co-authored-by: Melo46 --- locales/ia/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/ia/app.ftl b/locales/ia/app.ftl index 7f4fdc1fa0..8a3990c26a 100644 --- a/locales/ia/app.ftl +++ b/locales/ia/app.ftl @@ -658,6 +658,12 @@ TrackContextMenu--hide-all-matching-tracks = Celar tote le tracias concordante # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Nulle resultatos trovate pro “{ $searchFilter }” +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Celar tracia +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Celar processo ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From c9b7a169f3111db2f6bae4966e33cc6274ec7937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=86hor=20Hordiichuk?= Date: Wed, 10 Aug 2022 19:21:28 +0000 Subject: [PATCH 008/131] Pontoon: Update Ukrainian (uk) localization of Firefox Profiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Іhor Hordiichuk --- locales/uk/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/uk/app.ftl b/locales/uk/app.ftl index 25e1f12fee..9a3c6c0ae6 100644 --- a/locales/uk/app.ftl +++ b/locales/uk/app.ftl @@ -669,6 +669,12 @@ TrackContextMenu--hide-all-matching-tracks = Сховати всі відпов # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Не знайдено результатів за запитом “{ $searchFilter }” +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Сховати доріжку +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Сховати процес ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From af94b64431342e54adfa634705a45e774ad94053 Mon Sep 17 00:00:00 2001 From: Ian Neal Date: Wed, 10 Aug 2022 21:06:00 +0000 Subject: [PATCH 009/131] Pontoon: Update English (Great Britain) (en-GB) localization of Firefox Profiler Co-authored-by: Ian Neal --- locales/en-GB/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/en-GB/app.ftl b/locales/en-GB/app.ftl index a9641522a3..11a18fbdc8 100644 --- a/locales/en-GB/app.ftl +++ b/locales/en-GB/app.ftl @@ -667,6 +667,12 @@ TrackContextMenu--hide-all-matching-tracks = Hide all matching tracks # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = No results found for “{ $searchFilter }” +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Hide track +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Hide process ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From 72d2f4483d4fc26b3070af3bf707d7f7cdade8d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E6=88=91=E7=9A=86=E5=87=A1=E4=BA=BA?= Date: Thu, 11 Aug 2022 08:18:18 +0000 Subject: [PATCH 010/131] Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Profiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Charlie Askew <15295879665@163.com> Co-authored-by: 你我皆凡人 --- locales/zh-CN/app.ftl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/locales/zh-CN/app.ftl b/locales/zh-CN/app.ftl index 4382a11373..bb1f0d46d2 100644 --- a/locales/zh-CN/app.ftl +++ b/locales/zh-CN/app.ftl @@ -160,10 +160,6 @@ FooterLinks--hide-button = ## The timeline component of the full view in the analysis UI at the top of the ## page. -FullTimeline--graph-type = 图标类型: -FullTimeline--categories-with-cpu = 含 CPU 的分类 -FullTimeline--categories = 分类 -FullTimeline--stack-height = 栈深度 # This string is used as the text of the track selection button. # Displays the ratio of visible tracks count to total tracks count in the timeline. # We have spans here to make the numbers bold. @@ -521,7 +517,7 @@ ProfileRootMessage--additional = 返回主页 ## This is the component responsible for handling the service worker installation ## and update. It appears at the top of the UI. -ServiceWorkerManager--installing-button = 正在安装… +ServiceWorkerManager--applying-button = 正在应用… ServiceWorkerManager--pending-button = 应用并重新加载 ServiceWorkerManager--installed-button = 重新加载应用程序 ServiceWorkerManager--updated-while-not-ready = @@ -596,6 +592,12 @@ TrackContextMenu--hide-all-matching-tracks = 隐藏所有匹配的轨道 # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = 找不到“{ $searchFilter }”的结果 +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = 隐藏轨道 +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = 隐藏进程 ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From 1280fb342200c898b288e5e540e335c94d986176 Mon Sep 17 00:00:00 2001 From: Jim Spentzos Date: Thu, 11 Aug 2022 16:13:12 +0000 Subject: [PATCH 011/131] Pontoon: Update Greek (el) localization of Firefox Profiler Co-authored-by: Jim Spentzos --- locales/el/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/el/app.ftl b/locales/el/app.ftl index 31ff2f4f61..d60f23988d 100644 --- a/locales/el/app.ftl +++ b/locales/el/app.ftl @@ -663,6 +663,12 @@ TrackContextMenu--hide-all-matching-tracks = Απόκρυψη όλων των α # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Δεν βρέθηκαν αποτελέσματα για «{ $searchFilter }» +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Απόκρυψη κομματιού +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Απόκρυψη διεργασίας ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From c333d5c558cb557f314dc13cfc55e9e8731a2ca0 Mon Sep 17 00:00:00 2001 From: ravmn Date: Thu, 11 Aug 2022 23:06:13 +0000 Subject: [PATCH 012/131] Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Profiler Co-authored-by: ravmn --- locales/es-CL/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/es-CL/app.ftl b/locales/es-CL/app.ftl index 959437bd39..8212d17fa6 100644 --- a/locales/es-CL/app.ftl +++ b/locales/es-CL/app.ftl @@ -602,6 +602,12 @@ TrackContextMenu--hide-all-matching-tracks = Ocultar todas las pistas coincident # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = No se encontraron resultados para "{ $searchFilter }" +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Ocultar pista +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Ocultar proceso ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From d9aba2844f3a91a2e9d5c90d7a733758b9ec9f07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Chevalier?= Date: Fri, 12 Aug 2022 14:23:13 +0000 Subject: [PATCH 013/131] Pontoon: Update French (fr) localization of Firefox Profiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Théo Chevalier --- locales/fr/app.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locales/fr/app.ftl b/locales/fr/app.ftl index a545a0be89..4188b2257b 100644 --- a/locales/fr/app.ftl +++ b/locales/fr/app.ftl @@ -598,6 +598,12 @@ TrackContextMenu--hide-all-matching-tracks = Masquer toutes les pistes correspon # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Aucun résultat pour « { $searchFilter } » +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Masquer la piste +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Masquer le processus ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From c1dd011b11558c0b292ad2f0ec7818c394e7b847 Mon Sep 17 00:00:00 2001 From: Pin-guang Chen Date: Wed, 17 Aug 2022 08:33:04 +0000 Subject: [PATCH 014/131] Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Profiler Co-authored-by: Pin-guang Chen --- locales/zh-TW/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/zh-TW/app.ftl b/locales/zh-TW/app.ftl index b2071d2060..ee90517fec 100644 --- a/locales/zh-TW/app.ftl +++ b/locales/zh-TW/app.ftl @@ -194,7 +194,7 @@ Home--profiler-motto = 捕捉效能檢測檔。分析、分享、讓網站運作 Home--additional-content-title = 載入現有檢測檔 Home--additional-content-content = 您可以將效能檢測檔拖曳到此處,或: Home--compare-recordings-info = 您也可以比較紀錄內容。開啟比較介面。 -Home--recent-uploaded-recordings-title = 近期上傳的紀錄 +Home--your-recent-uploaded-recordings-title = 您近期上傳的紀錄 ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -220,9 +220,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = 刪除 .title = 由於缺少授權資訊,無法刪除此效能檢測檔。 ListOfPublishedProfiles--uploaded-profile-information-list-empty = 還沒有上傳任何檢測檔! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = 檢視並管理您的所有紀錄檔(還有 { $profilesRestCount } 筆) # Depending on the number of uploaded profiles, the message is different. # Variables: From cf2e4c3d9e88ae0b50e5dc37ce13e44bee1310c7 Mon Sep 17 00:00:00 2001 From: "Francesco Lodolo [:flod]" Date: Wed, 17 Aug 2022 09:13:26 +0000 Subject: [PATCH 015/131] Pontoon: Update Italian (it) localization of Firefox Profiler Co-authored-by: Francesco Lodolo [:flod] --- locales/it/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/it/app.ftl b/locales/it/app.ftl index 259d34c812..0d772d0eda 100644 --- a/locales/it/app.ftl +++ b/locales/it/app.ftl @@ -194,7 +194,7 @@ Home--profiler-motto = Cattura un profilo delle prestazioni. Analizzalo. Condivi Home--additional-content-title = Carica profili esistenti Home--additional-content-content = È possibile trascinare e rilasciare qui un profilo per caricarlo, oppure: Home--compare-recordings-info = È anche possibile confrontare diverse registrazioni. Apri l’interfaccia per il confronto. -Home--recent-uploaded-recordings-title = Registrazioni caricate di recente +Home--your-recent-uploaded-recordings-title = Le tue registrazioni caricate di recente ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -220,9 +220,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Elimina .title = Non è possibile eliminare questo profilo in quanto mancano le informazioni di autorizzazione. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Non è stato ancora caricato alcun profilo. -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = { $profilesRestCount -> [one] Visualizza e gestisci tutte le tue registrazioni ({ $profilesRestCount } altra) From e38c51143a416ce2e16f82d7ada5c45f6a011778 Mon Sep 17 00:00:00 2001 From: Jim Spentzos Date: Wed, 17 Aug 2022 10:06:37 +0000 Subject: [PATCH 016/131] Pontoon: Update Greek (el) localization of Firefox Profiler Co-authored-by: Jim Spentzos --- locales/el/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/el/app.ftl b/locales/el/app.ftl index d60f23988d..515c9e533b 100644 --- a/locales/el/app.ftl +++ b/locales/el/app.ftl @@ -259,7 +259,7 @@ Home--profiler-motto = Καταγράψτε ένα προφίλ επιδόσεω Home--additional-content-title = Φόρτωση υπαρχόντων προφίλ Home--additional-content-content = Μπορείτε να σύρετε και να εναποθέσετε ένα αρχείο προφίλ εδώ για φόρτωση, ή: Home--compare-recordings-info = Μπορείτε επίσης να συγκρίνετε καταγραφές. Άνοιγμα περιβάλλοντος σύγκρισης. -Home--recent-uploaded-recordings-title = Πρόσφατα μεταφορτωμένες καταγραφές +Home--your-recent-uploaded-recordings-title = Πρόσφατα μεταφορτωμένες καταγραφές ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -285,9 +285,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Διαγραφή .title = Δεν είναι δυνατή η διαγραφή αυτού του προφίλ επειδή μας λείπουν πληροφορίες εξουσιοδότησης. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Δεν έχει μεταφορτωθεί ακόμη κανένα προφίλ! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Προβολή και διαχείριση όλων των καταγραφών σας ({ $profilesRestCount } ακόμη) # Depending on the number of uploaded profiles, the message is different. # Variables: From 741d20a3e852d81381156e80f3e55ea08be94551 Mon Sep 17 00:00:00 2001 From: Fjoerfoks Date: Wed, 17 Aug 2022 11:13:40 +0000 Subject: [PATCH 017/131] Pontoon: Update Frisian (fy-NL) localization of Firefox Profiler Co-authored-by: Fjoerfoks --- locales/fy-NL/app.ftl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/locales/fy-NL/app.ftl b/locales/fy-NL/app.ftl index 98b2a65d51..1aed390bd0 100644 --- a/locales/fy-NL/app.ftl +++ b/locales/fy-NL/app.ftl @@ -217,10 +217,6 @@ FooterLinks--hide-button = ## The timeline component of the full view in the analysis UI at the top of the ## page. -FullTimeline--graph-type = Grafyktype: -FullTimeline--categories-with-cpu = Kategoryen mei CPU -FullTimeline--categories = Kategoryen -FullTimeline--stack-height = Stackhichte # This string is used as the text of the track selection button. # Displays the ratio of visible tracks count to total tracks count in the timeline. # We have spans here to make the numbers bold. @@ -267,7 +263,7 @@ Home--profiler-motto = Lis in prestaasjeprofyl fêst. Analysearje it. Diel it. M Home--additional-content-title = Besteande profilen lade Home--additional-content-content = Jo kinne in profylbestân hjirhinne fersleepje om it te laden, of: Home--compare-recordings-info = Jo kinne ek opnamen fergelykje. De fergelikingsinterface iepenje. -Home--recent-uploaded-recordings-title = Resint opladen opnamen +Home--your-recent-uploaded-recordings-title = Jo resint opladen opnamen ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -293,9 +289,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Fuortsmite .title = Dit profyl kin net fuortsmiten wurde, omdat wy gjin autorisaasjegegevens hawwen. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Der is noch gjin profyl opladen! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Al jo opnamen besjen en beheare (noch { $profilesRestCount }) # Depending on the number of uploaded profiles, the message is different. # Variables: @@ -597,7 +593,7 @@ ProfileRootMessage--additional = Tebek nei startside ## This is the component responsible for handling the service worker installation ## and update. It appears at the top of the UI. -ServiceWorkerManager--installing-button = Ynstallearje… +ServiceWorkerManager--applying-button = Tapasse… ServiceWorkerManager--pending-button = Tapasse en opnij lade ServiceWorkerManager--installed-button = De tapassing opnij lade ServiceWorkerManager--updated-while-not-ready = @@ -671,6 +667,12 @@ TrackContextMenu--hide-all-matching-tracks = Alle oerienkommende tracks ferstopj # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Gjin resultaten fûn foar ‘{ $searchFilter }’ +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Track ferstopje +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Proses ferstopje ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From a1a78caa535039159223d406e5c390099bd0ea8c Mon Sep 17 00:00:00 2001 From: Marcelo Ghelman Date: Wed, 17 Aug 2022 11:13:42 +0000 Subject: [PATCH 018/131] Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Profiler Co-authored-by: Marcelo Ghelman --- locales/pt-BR/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/pt-BR/app.ftl b/locales/pt-BR/app.ftl index d9b8bdf4f7..36cd1dc1cb 100644 --- a/locales/pt-BR/app.ftl +++ b/locales/pt-BR/app.ftl @@ -200,7 +200,7 @@ Home--profiler-motto = Capture um profile de desempenho. Analise. Compartilhe. T Home--additional-content-title = Carregar profiles existentes Home--additional-content-content = Você pode arrastar e soltar aqui um arquivo de profile para carregar, ou: Home--compare-recordings-info = Você também pode comparar gravações. Abra a interface de comparação. -Home--recent-uploaded-recordings-title = Gravações enviadas recentemente +Home--your-recent-uploaded-recordings-title = Suas gravações enviadas recentemente ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -226,9 +226,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Excluir .title = Este profile não pode ser excluído por falta de informações de autorização. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Nenhum profile foi carregado ainda! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Veja e gerencie todas as suas gravações (mais { $profilesRestCount }) # Depending on the number of uploaded profiles, the message is different. # Variables: From 8743c81fca194df9f64c49c4522d4bd9b5ba310c Mon Sep 17 00:00:00 2001 From: robovoice Date: Wed, 17 Aug 2022 14:04:30 +0000 Subject: [PATCH 019/131] Pontoon: Update German (de) localization of Firefox Profiler Co-authored-by: robovoice --- locales/de/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/de/app.ftl b/locales/de/app.ftl index 8771b1ba4c..b11ed8f816 100644 --- a/locales/de/app.ftl +++ b/locales/de/app.ftl @@ -248,7 +248,7 @@ Home--profiler-motto = Zeichnen Sie ein Leistungsprofil auf. Analysieren Sie es. Home--additional-content-title = Bestehende Profile laden Home--additional-content-content = Sie können eine Profildatei per Ziehen und Ablegen hierher bewegen, um sie zu laden, oder: Home--compare-recordings-info = Sie können auch Aufnahmen vergleichen. Öffnen Sie die Vergleichsschnittstelle. -Home--recent-uploaded-recordings-title = Kürzlich hochgeladene Aufzeichnungen +Home--your-recent-uploaded-recordings-title = Ihre kürzlich hochgeladenen Aufzeichnungen ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -274,9 +274,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Löschen .title = Dieses Profil kann nicht gelöscht werden, weil die Berechtigung fehlt. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Es wurde noch kein Profil hochgeladen! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Sehen und verwalten Sie alle Ihre Aufzeichnungen ({ $profilesRestCount } weitere) # Depending on the number of uploaded profiles, the message is different. # Variables: From 6e1e394ca307de4d7ec9f6b530c2de72b7c04b5b Mon Sep 17 00:00:00 2001 From: Fjoerfoks Date: Wed, 17 Aug 2022 15:11:58 +0000 Subject: [PATCH 020/131] Pontoon: Update Dutch (nl) localization of Firefox Profiler Co-authored-by: Fjoerfoks --- locales/nl/app.ftl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/locales/nl/app.ftl b/locales/nl/app.ftl index e9acf19350..eb875cefe1 100644 --- a/locales/nl/app.ftl +++ b/locales/nl/app.ftl @@ -217,10 +217,6 @@ FooterLinks--hide-button = ## The timeline component of the full view in the analysis UI at the top of the ## page. -FullTimeline--graph-type = Grafiektype: -FullTimeline--categories-with-cpu = Categorieën met CPU -FullTimeline--categories = Categorieën -FullTimeline--stack-height = Stackhoogte # This string is used as the text of the track selection button. # Displays the ratio of visible tracks count to total tracks count in the timeline. # We have spans here to make the numbers bold. @@ -267,7 +263,7 @@ Home--profiler-motto = Leg een prestatieprofiel vast. Analyseer het. Deel het. M Home--additional-content-title = Bestaande profielen laden Home--additional-content-content = U kunt een profielbestand hierheen verslepen om het te laden, of: Home--compare-recordings-info = U kunt ook opnamen vergelijken. De vergelijkingsinterface openen. -Home--recent-uploaded-recordings-title = Onlangs geüploade opnamen +Home--your-recent-uploaded-recordings-title = Uw onlangs geüploade opnamen ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -293,9 +289,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Verwijderen .title = Dit profiel kan niet worden verwijderd, omdat we geen autorisatiegegevens hebben. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Er is nog geen profiel geüpload! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Al uw opnamen bekijken en beheren (nog { $profilesRestCount }) # Depending on the number of uploaded profiles, the message is different. # Variables: @@ -597,7 +593,7 @@ ProfileRootMessage--additional = Terug naar startpagina ## This is the component responsible for handling the service worker installation ## and update. It appears at the top of the UI. -ServiceWorkerManager--installing-button = Installeren… +ServiceWorkerManager--applying-button = Toepassen… ServiceWorkerManager--pending-button = Toepassen en opnieuw laden ServiceWorkerManager--installed-button = De toepassing opnieuw laden ServiceWorkerManager--updated-while-not-ready = @@ -671,6 +667,12 @@ TrackContextMenu--hide-all-matching-tracks = Alle overeenkomende tracks verberge # Variables: # $searchFilter (String) - The search filter string that user enters. TrackContextMenu--no-results-found = Geen resultaten gevonden voor ‘{ $searchFilter }’ +# This button appears when hovering a track name and is displayed as an X icon. +TrackNameButton--hide-track = + .title = Track verbergen +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Proces verbergen ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From d33df8a1100a50f45edc53b656d3a8599fe9e0e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=86hor=20Hordiichuk?= Date: Wed, 17 Aug 2022 16:53:43 +0000 Subject: [PATCH 021/131] Pontoon: Update Ukrainian (uk) localization of Firefox Profiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Іhor Hordiichuk --- locales/uk/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/uk/app.ftl b/locales/uk/app.ftl index 9a3c6c0ae6..8bf41780e6 100644 --- a/locales/uk/app.ftl +++ b/locales/uk/app.ftl @@ -259,7 +259,7 @@ Home--profiler-motto = Отримайте профіль швидкодії. П Home--additional-content-title = Завантажити наявні профілі Home--additional-content-content = Ви можете перетягнути файл профілю сюди, щоб завантажити його, або: Home--compare-recordings-info = Ви також можете порівняти записи. Відкрити інтерфейс порівняння. -Home--recent-uploaded-recordings-title = Останні завантаження +Home--your-recent-uploaded-recordings-title = Ваші недавно вивантажені записи ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -285,9 +285,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Видалити .title = Цей профіль не можна видалити оскільки ми не маємо інформації про авторизацію. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Жодного профілю ще не завантажено! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Переглянути всі свої записи та керувати ними (ще { $profilesRestCount }) # Depending on the number of uploaded profiles, the message is different. # Variables: From d8de3028dbcfe95660bd99464c35c6edba770997 Mon Sep 17 00:00:00 2001 From: Melo46 Date: Wed, 17 Aug 2022 23:53:26 +0000 Subject: [PATCH 022/131] Pontoon: Update Interlingua (ia) localization of Firefox Profiler Co-authored-by: Melo46 --- locales/ia/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/ia/app.ftl b/locales/ia/app.ftl index 8a3990c26a..9e46e5fd2f 100644 --- a/locales/ia/app.ftl +++ b/locales/ia/app.ftl @@ -256,7 +256,7 @@ Home--profiler-motto = Capturar un profilo de prestation. Analysar lo. Compartir Home--additional-content-title = Cargar profilos existente Home--additional-content-content = Tu pote traher e deponer hic un file profilo pro cargar lo, o: Home--compare-recordings-info = Tu pote alsi comparar registrationes. Aperir le interfacie de comparation. -Home--recent-uploaded-recordings-title = Registrationes cargate recentemente +Home--your-recent-uploaded-recordings-title = Tu registrationes cargate recentemente ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -282,9 +282,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Deler .title = Iste profilo non pote esser delite perque nos care de informationes de autorisation. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Nulle profilo ha essite cargate ancora! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Vide e gere tote tu ({ $profilesRestCount } restante registrationes) # Depending on the number of uploaded profiles, the message is different. # Variables: From 531ff950b93d262acc54dd93ae0aee3d16c8b0a3 Mon Sep 17 00:00:00 2001 From: ravmn Date: Thu, 18 Aug 2022 01:06:29 +0000 Subject: [PATCH 023/131] Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Profiler Co-authored-by: ravmn --- locales/es-CL/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/es-CL/app.ftl b/locales/es-CL/app.ftl index 8212d17fa6..59f9cfe78b 100644 --- a/locales/es-CL/app.ftl +++ b/locales/es-CL/app.ftl @@ -202,7 +202,7 @@ Home--profiler-motto = Captura un perfil de rendimiento. Analízalo. Compártelo Home--additional-content-title = Cargar perfiles existentes Home--additional-content-content = Puedes arrastrar y soltar un archivo de perfil aquí para cargarlo, o: Home--compare-recordings-info = También puedes comparar los registros. Abre la interfaz de comparación. -Home--recent-uploaded-recordings-title = Registros subidos recientemente +Home--your-recent-uploaded-recordings-title = Tus registros subidos recientemente ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -228,9 +228,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Borrar .title = Este perfil no puede ser eliminado porque no tenemos la información de autorización. ListOfPublishedProfiles--uploaded-profile-information-list-empty = ¡Aún no se ha subido ningún perfil! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Revisa y gestiona todos tus registros ({ $profilesRestCount } más) # Depending on the number of uploaded profiles, the message is different. # Variables: From bcf948774e699670ae3fc2e73115f407b242f8dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E6=88=91=E7=9A=86=E5=87=A1=E4=BA=BA?= Date: Thu, 18 Aug 2022 04:12:44 +0000 Subject: [PATCH 024/131] Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Profiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 你我皆凡人 --- locales/zh-CN/app.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/zh-CN/app.ftl b/locales/zh-CN/app.ftl index bb1f0d46d2..3c6eb08378 100644 --- a/locales/zh-CN/app.ftl +++ b/locales/zh-CN/app.ftl @@ -194,7 +194,7 @@ Home--profiler-motto = 捕捉性能分析记录。剖析、分享、让网站速 Home--additional-content-title = 加载现有分析记录 Home--additional-content-content = 您可以将分析记录拖放至此处,或: Home--compare-recordings-info = 您也可以比较记录内容。打开比较界面。 -Home--recent-uploaded-recordings-title = 近期上传的记录 +Home--your-recent-uploaded-recordings-title = 您最近上传的记录 ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -220,9 +220,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = 删除 .title = 由于缺少授权信息,无法删除此 Profile。 ListOfPublishedProfiles--uploaded-profile-information-list-empty = 还未上传任何分析记录! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = 查看并管理您的所有记录(还有 { $profilesRestCount } 条) # Depending on the number of uploaded profiles, the message is different. # Variables: From 04a39d4e17f96c9faa26d47eb1eec5131f289a67 Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Fri, 19 Aug 2022 12:02:50 +0200 Subject: [PATCH 025/131] Show the self time category breakdown in the sidebar --- src/components/sidebar/CallTreeSidebar.js | 16 +++ src/test/components/CallTreeSidebar.test.js | 6 +- .../CallTreeSidebar.test.js.snap | 120 ++++++++++++++++++ 3 files changed, 139 insertions(+), 3 deletions(-) diff --git a/src/components/sidebar/CallTreeSidebar.js b/src/components/sidebar/CallTreeSidebar.js index c164e77603..92ec03e96d 100644 --- a/src/components/sidebar/CallTreeSidebar.js +++ b/src/components/sidebar/CallTreeSidebar.js @@ -363,6 +363,7 @@ class CallTreeSidebarImpl extends React.PureComponent { const totalTimePercent = Math.round((totalTime.value / rootTime) * 100); const selfTimePercent = Math.round((selfTime.value / rootTime) * 100); const totalTimeBreakdownByCategory = totalTime.breakdownByCategory; + const selfTimeBreakdownByCategory = selfTime.breakdownByCategory; const totalTimeBreakdownByImplementation = totalTime.breakdownByImplementation; const selfTimeBreakdownByImplementation = @@ -437,6 +438,21 @@ class CallTreeSidebarImpl extends React.PureComponent { /> ) : null} + {selfTimeBreakdownByCategory ? ( + <> +

+
Categories
+
+ Self {getWeightTypeLabel(weightType)} +
+

+ + + ) : null} {totalTimeBreakdownByImplementation && totalTime.value ? (

diff --git a/src/test/components/CallTreeSidebar.test.js b/src/test/components/CallTreeSidebar.test.js index 1cbe6b1563..df107e8fd2 100644 --- a/src/test/components/CallTreeSidebar.test.js +++ b/src/test/components/CallTreeSidebar.test.js @@ -177,16 +177,16 @@ describe('CallTreeSidebar', function () { selectNode, container, queryByText, - getByText, + getAllByText, funcNamesDict: { A, B, C }, } = setup(getProfileWithSubCategories()); selectNode([A, B, C]); expect(queryByText('FakeSubCategoryC')).not.toBeInTheDocument(); - const layoutCategory = getByText('Layout'); + const layoutCategory = getAllByText('Layout')[0]; fireFullClick(layoutCategory); - expect(getByText('FakeSubCategoryC')).toBeInTheDocument(); + expect(getAllByText('FakeSubCategoryC')[0]).toBeInTheDocument(); expect(container.firstChild).toMatchSnapshot(); }); diff --git a/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap b/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap index 801964cf5b..e0362a6b4a 100644 --- a/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap +++ b/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap @@ -159,6 +159,50 @@ exports[`CallTreeSidebar can expand subcategories 1`] = ` > 1 +

+ + + + + + + + + + + + + + diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index 19f621c8a7..2cbda9809e 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -132,6 +132,13 @@ align-items: center; } +.treeViewHeaderColumn.sortAscending::before { + content: '▲ '; +} +.treeViewHeaderColumn.sortDescending::before { + content: '▼ '; +} + .treeViewRowColumn.total, .treeViewRowColumn.totalPercent, .treeViewRowColumn.self, diff --git a/src/components/shared/TreeView.js b/src/components/shared/TreeView.js index e8e01d8021..510f0e2309 100644 --- a/src/components/shared/TreeView.js +++ b/src/components/shared/TreeView.js @@ -56,37 +56,97 @@ export type Column = {| type TreeViewHeaderProps = {| +fixedColumns: Column[], +mainColumn: Column, + +onSort: (number) => void, + +columnSortDirections?: Array, |}; -const TreeViewHeader = ({ - fixedColumns, - mainColumn, -}: TreeViewHeaderProps) => { - if (fixedColumns.length === 0 && !mainColumn.titleL10nId) { - // If there is nothing to display in the header, do not render it. - return null; +// columns start at 1 +export class ColumnSortState { + sortedColumns: number[]; + + // -column: sort descending, +column: sort ascending, start by sorting last column + constructor(sortedColumns: number[]) { + this.sortedColumns = sortedColumns; + } + + _sortColumn(column: number) { + const sortedColumns = this.sortedColumns.filter( + (c) => c !== column && c !== -column + ); + sortedColumns.push(column); + return new ColumnSortState(sortedColumns); + } + + push(column: number) { + return this._sortColumn(-this._sortState(column)); + } + + _sortState(column: number) { + return this.sortedColumns + .filter((c) => c === column || c === -column) + .concat(-column)[0]; } - return ( -
- {fixedColumns.map((col) => ( + + getSortStateArr(sortableColumns: Set): Array { + const arr = new Array(Math.max(...sortableColumns) + 1).fill(null); + for (const column of sortableColumns) { + arr[column] = this._sortState(column) < 0; + } + return arr; + } +} + +class TreeViewHeader extends React.PureComponent< + TreeViewHeaderProps +> { + _onSort = (e: Event) => { + const { onSort } = this.props; + onSort(Number(e.target.getAttribute('data-column'))); + }; + + render() { + const { fixedColumns, mainColumn, columnSortDirections } = this.props; + if (fixedColumns.length === 0 && !mainColumn.titleL10nId) { + // If there is nothing to display in the header, do not render it. + return null; + } + return ( +
+ {fixedColumns.map((col, i) => { + let sortClass = ''; + if (columnSortDirections) { + if (columnSortDirections[i + 1] === true) { + sortClass = 'sortAscending'; + } else if (columnSortDirections[i + 1] === false) { + sortClass = 'sortDescending'; + } + } + return ( + + + + ); + })} - ))} - - - -
- ); -}; +
+ ); + } +} function reactStringWithHighlightedSubstrings( string: string, @@ -393,13 +453,31 @@ type TreeViewProps = {| +rowHeight: CssPixels, +indentWidth: CssPixels, +onKeyDown?: (SyntheticKeyboardEvent<>) => void, + // number: column number, -1: first larger, 0: same, 1: first smaller + +compareColumn?: (DisplayData, DisplayData, number) => number, + +initialSortedColumns?: ColumnSortState, + +onSort?: (ColumnSortState) => void, + +sortableColumns?: Set, +|}; + +type TreeViewState = {| + sortedColumns: ColumnSortState, |}; export class TreeView extends React.PureComponent< - TreeViewProps + TreeViewProps, + TreeViewState > { _list: VirtualList | null = null; _takeListRef = (list: VirtualList | null) => (this._list = list); + state = { sortedColumns: new ColumnSortState([]) }; + + constructor(props: TreeViewProps) { + super(props); + if (props.initialSortedColumns) { + this.state.sortedColumns = props.initialSortedColumns; + } + } // The tuple `specialItems` always contains 2 elements: the first element is // the selected node id (if any), and the second element is the right clicked @@ -422,19 +500,51 @@ export class TreeView extends React.PureComponent< ); _computeAllVisibleRowsMemoized = memoize( - (tree: Tree, expandedNodes: Set) => { + ( + tree: Tree, + expandedNodes: Set, + sortedColumns: ColumnSortState, + compareColumn: ?(DisplayData, DisplayData, number) => number + ) => { + function sortNodes(nodeIds: Array): Array { + if (!compareColumn) { + return nodeIds; + } + let sortedNodeIds = nodeIds; + for (let i = 0; i < sortedColumns.sortedColumns.length; i++) { + const column = sortedColumns.sortedColumns[i]; + const absColumn = Math.abs(column); + const sign = column < 0 ? -1 : 1; + sortedNodeIds = sortedNodeIds.sort((a, b) => { + return ( + sign * + ((compareColumn: any): ( + DisplayData, + DisplayData, + number + ) => number)( + tree.getDisplayData(a), + tree.getDisplayData(b), + absColumn + ) + ); + }); + } + return sortedNodeIds; + } + function _addVisibleRowsFromNode(tree, expandedNodes, arr, nodeId) { arr.push(nodeId); if (!expandedNodes.has(nodeId)) { return; } - const children = tree.getChildren(nodeId); + const children = sortNodes(tree.getChildren(nodeId)); for (let i = 0; i < children.length; i++) { _addVisibleRowsFromNode(tree, expandedNodes, arr, children[i]); } } - const roots = tree.getRoots(); + const roots = sortNodes(tree.getRoots()); const allRows = []; for (let i = 0; i < roots.length; i++) { _addVisibleRowsFromNode(tree, expandedNodes, allRows, roots[i]); @@ -458,7 +568,6 @@ export class TreeView extends React.PureComponent< _renderRow = (nodeId: NodeIndex, index: number, columnIndex: number) => { const { - tree, fixedColumns, mainColumn, appendageColumn, @@ -468,6 +577,7 @@ export class TreeView extends React.PureComponent< rowHeight, indentWidth, } = this.props; + const { tree } = this.props; const displayData = tree.getDisplayData(nodeId); // React converts height into 'px' values, while lineHeight is valid in // non-'px' units. @@ -518,8 +628,13 @@ export class TreeView extends React.PureComponent< } _getAllVisibleRows(): NodeIndex[] { - const { tree } = this.props; - return this._computeAllVisibleRowsMemoized(tree, this._getExpandedNodes()); + const { tree, compareColumn } = this.props; + return this._computeAllVisibleRowsMemoized( + tree, + this._getExpandedNodes(), + this.state.sortedColumns, + compareColumn + ); } _getSpecialItems(): [NodeIndex | void, NodeIndex | void] { @@ -591,7 +706,8 @@ export class TreeView extends React.PureComponent< _onCopy = (event: ClipboardEvent) => { event.preventDefault(); - const { tree, selectedNodeId, mainColumn } = this.props; + const { selectedNodeId, mainColumn } = this.props; + const { tree } = this.props; if (selectedNodeId) { const displayData = tree.getDisplayData(selectedNodeId); const clipboardData: DataTransfer = (event: any).clipboardData; @@ -732,6 +848,22 @@ export class TreeView extends React.PureComponent< } } + _onSort = (column: number) => { + if ( + !this.props.sortableColumns || + !this.props.sortableColumns.has(column) + ) { + return; + } + const newSortedColumns = this.state.sortedColumns.push(column); + this.setState({ + sortedColumns: newSortedColumns, + }); + if (this.props.onSort) { + this.props.onSort(newSortedColumns); + } + }; + render() { const { fixedColumns, @@ -742,10 +874,21 @@ export class TreeView extends React.PureComponent< maxNodeDepth, rowHeight, selectedNodeId, + sortableColumns, } = this.props; + const { sortedColumns } = this.state; + const columnSortDirections = + sortableColumns && sortedColumns + ? sortedColumns.getSortStateArr(sortableColumns) + : undefined; return (
- + Date: Wed, 24 Aug 2022 14:22:18 +0000 Subject: [PATCH 040/131] Pontoon: Update Kabyle (kab) localization of Firefox Profiler Co-authored-by: ZiriSut --- locales/kab/app.ftl | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/locales/kab/app.ftl b/locales/kab/app.ftl index 7293afe08e..40c32ed82e 100644 --- a/locales/kab/app.ftl +++ b/locales/kab/app.ftl @@ -136,7 +136,6 @@ Home--profiler-motto = Ṭṭef amaɣnu n temlellit. Sleḍ-it. Bḍu-t. Err web Home--additional-content-title = Sali imuɣna yellan Home--additional-content-content = Tzemreḍ ad tzuɣreḍ syen sers afaylu n umaɣnu da i usali-ines, neɣ: Home--compare-recordings-info = Tzemreḍ daɣen ad tsenmehleḍ iseklasen. Ldi agrudem n usnemhel. -Home--recent-uploaded-recordings-title = Iseklasen i d-ulin melmi kan ## IdleSearchField ## The component that is used for all the search inputs in the application. @@ -160,9 +159,9 @@ ListOfPublishedProfiles--published-profiles-link = ListOfPublishedProfiles--published-profiles-delete-button-disabled = Kkes .title = Amaɣnu-a ur yezmir ara ad yettwakkes acku ur nesɛi ara talɣut n usireg. ListOfPublishedProfiles--uploaded-profile-information-list-empty = Ulac ameɣnu i d-yettwasulin akka ar tura! -# This string is used below the 'Recent uploaded recordings' list section. +# This string is used below the 'Your recent uploaded recordings' list section. # Variables: -# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Recent uploaded recordings'. +# $profilesRestCount (Number) - Remaining numbers of the uploaded profiles which are not listed under 'Your recent uploaded recordings'. ListOfPublishedProfiles--uploaded-profile-information-label = Wali syen sefrek meṛṛa iseklasen-ik·im ({ $profilesRestCount } d wugar) # Depending on the number of uploaded profiles, the message is different. # Variables: @@ -228,6 +227,8 @@ MenuButtons--index--profile-info-uploaded-actions = Kkes MenuButtons--index--metaInfo-subtitle = Talɣut n umaɣnu MenuButtons--metaInfo--symbols = Izamulen: MenuButtons--metaInfo--cpu = CPU: +MenuButtons--metaInfo--main-process-started = Asesfer agejdan yebda: +MenuButtons--metaInfo--main-process-ended = Asesfer agejdan yekfa: MenuButtons--metaInfo--interval = Azilal: MenuButtons--metaInfo--buffer-capacity = Tazmert n uḥraz: MenuButtons--metaInfo--buffer-duration = Tanzgat n uḥraz: @@ -246,6 +247,7 @@ MenuButtons--metaInfo--name-and-version = Isem akked lqem: MenuButtons--metaInfo--update-channel = Leqqem abadu: MenuButtons--metaInfo--build-id = Asulay n lebni: MenuButtons--metaInfo--build-type = Anaw n lebni: +MenuButtons--metaInfo--arguments = Ifakulen: ## Strings refer to specific types of builds, and should be kept in English. @@ -262,6 +264,7 @@ MenuButtons--metaInfo--os = Anagraw n wammud: MenuButtons--metaInfo--abi = ABI: MenuButtons--metaInfo--speed-index = Amatar arurad: MenuButtons--metaInfo-renderRowOfList-label-features = Timahilin: +MenuButtons--metaInfo-renderRowOfList-label-threads-filter = Imsizdeg n usqerdec: MenuButtons--metaInfo-renderRowOfList-label-extensions = Isiɣzaf: ## Overhead refers to the additional resources used to run the profiler. @@ -280,9 +283,15 @@ MenuButtons--metaOverheadStatistics-statkeys-interval = Azilal ## Publish panel ## These strings are used in the publishing panel. +MenuButtons--publish--renderCheckbox-label-include-other-tabs = Seddu isefka seg waccaren-nniḍen MenuButtons--publish--renderCheckbox-label-include-screenshots = Seddu inegzumen +MenuButtons--publish--renderCheckbox-label-resource = Seddu URLs d yiberdan n tiɣbula MenuButtons--publish--renderCheckbox-label-extension = Seddu talɣut n usiɣzef MenuButtons--publish--renderCheckbox-label-preference = Seddu azalen n usmenyif +MenuButtons--publish--renderCheckbox-label-private-browsing = Seddu isefka seg yisfuyla n tunigin tusligt +MenuButtons--publish--renderCheckbox-label-private-browsing-warning-image = + .title = Amaɣnu-a yegber isefka n tunigin tusligt +MenuButtons--publish--reupload-performance-profile = Ales asali n umaɣnu n temlellit MenuButtons--publish--share-performance-profile = Bḍu amaɣnu n usmenyif MenuButtons--publish--info-description-default = S wudem amezwer, isefka-ik·im udmawanen ttwakksen. MenuButtons--publish--button-upload = Sali @@ -316,6 +325,12 @@ NumberFormat--short-date = { SHORTDATE($date) } ## Profile Delete Button +# This string is used on the tooltip of the published profile links delete button in uploaded recordings page. +# Variables: +# $smallProfileName (String) - Shortened name for the published Profile. +ProfileDeleteButton--delete-button = + .label = Kkes + .title = Sit dagi i tukksa n umaɣnu { $smallProfileName } ## Profile Delete Panel ## This panel is displayed when the user clicks on the Profile Delete Button, From f2cb0ff0bb6e4ba19053eb59cbbe46c909aa3c99 Mon Sep 17 00:00:00 2001 From: ZiriSut Date: Wed, 24 Aug 2022 14:32:37 +0000 Subject: [PATCH 041/131] Pontoon: Update Kabyle (kab) localization of Firefox Profiler Co-authored-by: ZiriSut --- locales/kab/app.ftl | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/locales/kab/app.ftl b/locales/kab/app.ftl index 40c32ed82e..e33701e6aa 100644 --- a/locales/kab/app.ftl +++ b/locales/kab/app.ftl @@ -336,6 +336,13 @@ ProfileDeleteButton--delete-button = ## This panel is displayed when the user clicks on the Profile Delete Button, ## it's a confirmation dialog. +# This string is used when there's an error while deleting a profile. The link +# will show the error message when hovering. +ProfileDeletePanel--delete-error = Tella-d tuccḍa lawan n tukksa n umaɣna-a Ɛeddi ɣef useɣwen-a i wakken ad teẓreḍ ugar +# This is the title of the dialog +# Variables: +# $profileName (string) - Some string that identifies the profile +ProfileDeletePanel--dialog-title = Kkes { $profileName } ProfileDeletePanel--dialog-cancel-button = .value = Sefsex ProfileDeletePanel--dialog-delete-button = @@ -344,6 +351,8 @@ ProfileDeletePanel--dialog-delete-button = # progress indicator. ProfileDeletePanel--dialog-deleting-button = .value = Tukksa… +# This message is displayed when a profile has been successfully deleted. +ProfileDeletePanel--message-success = Isefka i d-yulin ttwakksen akken iwata ## ProfileFilterNavigator ## This is used at the top of the profile analysis UI. @@ -351,6 +360,13 @@ ProfileDeletePanel--dialog-deleting-button = ## Profile Loader Animation +ProfileLoaderAnimation--loading-unpublished = Aktar n umaɣnu srid seg { -firefox-brand-name }… +ProfileLoaderAnimation--loading-from-file = Taɣuri n ufaylu d usesfer n umaɣnu… +ProfileLoaderAnimation--loading-local = Ur yettwasebded ara yakan. +ProfileLoaderAnimation--loading-public = Asader d usesfer n umaɣnu… +ProfileLoaderAnimation--loading-from-url = Asader d usesfer n umaɣnu… +ProfileLoaderAnimation--loading-compare = Taquri d usesfer n yimuɣna… +ProfileLoaderAnimation--loading-view-not-found = Ur tettwaf ara teskant ## ProfileRootMessage @@ -361,8 +377,10 @@ ProfileRootMessage--additional = Uɣal ɣer ugejdan ## This is the component responsible for handling the service worker installation ## and update. It appears at the top of the UI. +ServiceWorkerManager--applying-button = Asnas iteddu… ServiceWorkerManager--pending-button = Snes syen ales asali ServiceWorkerManager--installed-button = Ales asali n usnas +ServiceWorkerManager--new-version-is-ready = Lqem amaynut n usnas yettwasader, yewjed i useqqdec ServiceWorkerManager--hide-notice-button = .title = Ffer alɣu-a d-yulin i tikkelt-nniḍen .aria-label = Ffer alɣu-a d-yulin i tikkelt-nniḍen @@ -386,6 +404,7 @@ TabBar--network-tab = Aẓeṭṭa ## This is used as a context menu for timeline to organize the tracks in the ## analysis UI. +TrackContextMenu--only-show-this-process = Sken kan asesfer-a # This is used as the context menu item to show only the given track. # Variables: # $trackName (String) - Name of the selected track to isolate. @@ -394,6 +413,14 @@ TrackContextMenu--only-show-track = Sken kan “{ $trackName }” # Variables: # $trackName (String) - Name of the selected track to hide. TrackContextMenu--hide-track = Ffer “{ $trackName }” +# This is used in the tracks context menu when the search filter doesn't match +# any track. +# Variables: +# $searchFilter (String) - The search filter string that user enters. +TrackContextMenu--no-results-found = Ulac igmaḍ yettwafen i “{ $searchFilter }” +# This button appears when hovering a global track name and is displayed as an X icon. +TrackNameButton--hide-process = + .title = Ffer asesfer ## TrackMemoryGraph ## This is used to show the memory graph of that process in the timeline part of From 5f297e49f0a408554b1a167ec6c8cecd7b1c5530 Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Wed, 24 Aug 2022 17:25:28 +0200 Subject: [PATCH 042/131] Fix linter errors --- src/components/marker-table/index.js | 5 +++-- src/components/shared/TreeView.js | 24 +++++++++++++++--------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/components/marker-table/index.js b/src/components/marker-table/index.js index 6777593dc1..0345255113 100644 --- a/src/components/marker-table/index.js +++ b/src/components/marker-table/index.js @@ -231,8 +231,9 @@ class MarkerTableImpl extends PureComponent { } }; - _onSort = (sortedColumns: ColumnSortState) => - (this._sortedColumns = sortedColumns); + _onSort = (sortedColumns: ColumnSortState) => { + this._sortedColumns = sortedColumns; + }; render() { const { diff --git a/src/components/shared/TreeView.js b/src/components/shared/TreeView.js index 510f0e2309..9e906e89b0 100644 --- a/src/components/shared/TreeView.js +++ b/src/components/shared/TreeView.js @@ -99,9 +99,12 @@ export class ColumnSortState { class TreeViewHeader extends React.PureComponent< TreeViewHeaderProps > { - _onSort = (e: Event) => { + _onSort = (e: MouseEvent) => { const { onSort } = this.props; - onSort(Number(e.target.getAttribute('data-column'))); + const target = e.target; + if (target instanceof HTMLElement) { + onSort(Number(target.getAttribute('data-column'))); + } }; render() { @@ -129,7 +132,7 @@ class TreeViewHeader extends React.PureComponent< > @@ -855,13 +858,16 @@ export class TreeView extends React.PureComponent< ) { return; } - const newSortedColumns = this.state.sortedColumns.push(column); - this.setState({ - sortedColumns: newSortedColumns, + + this.setState((x) => { + const newSortedColumns = x.sortedColumns.push(column); + if (this.props.onSort) { + this.props.onSort(newSortedColumns); + } + return { + sortedColumns: newSortedColumns, + }; }); - if (this.props.onSort) { - this.props.onSort(newSortedColumns); - } }; render() { From de8d6a611b608cedc8d77106b606a28b717dac45 Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Wed, 24 Aug 2022 18:01:19 +0200 Subject: [PATCH 043/131] Add sorting to Call Tree view and tests --- src/components/calltree/CallTree.js | 29 +- src/components/shared/TreeView.css | 1 + src/profile-logic/call-tree.js | 2 + src/test/components/MarkerTable.test.js | 11 + .../components/ProfileCallTreeView.test.js | 11 + .../__snapshots__/MarkerTable.test.js.snap | 1293 ++++++++++- .../ProfileCallTreeView.test.js.snap | 2058 ++++++++++++++++- src/test/store/icons.test.js | 2 + src/test/unit/profile-tree.test.js | 6 + src/types/profile-derived.js | 3 + 10 files changed, 3356 insertions(+), 60 deletions(-) diff --git a/src/components/calltree/CallTree.js b/src/components/calltree/CallTree.js index a90ca3a250..ce972a6344 100644 --- a/src/components/calltree/CallTree.js +++ b/src/components/calltree/CallTree.js @@ -6,7 +6,10 @@ import React, { PureComponent } from 'react'; import memoize from 'memoize-immutable'; import explicitConnect from 'firefox-profiler/utils/connect'; -import { TreeView } from 'firefox-profiler/components/shared/TreeView'; +import { + TreeView, + ColumnSortState, +} from 'firefox-profiler/components/shared/TreeView'; import { CallTreeEmptyReasons } from './CallTreeEmptyReasons'; import { Icon } from 'firefox-profiler/components/shared/Icon'; import { getCallNodePathFromIndex } from 'firefox-profiler/profile-logic/profile-data'; @@ -85,6 +88,22 @@ class CallTreeImpl extends PureComponent { }; _treeView: TreeView | null = null; _takeTreeViewRef = (treeView) => (this._treeView = treeView); + _sortedColumns = new ColumnSortState([]); + + _compareColumn = ( + first: CallNodeDisplayData, + second: CallNodeDisplayData, + column: number + ) => { + switch (column) { + case 2: + return second.rawTotal - first.rawTotal; + case 3: + return second.rawSelf - first.rawSelf; + default: + throw new Error('Invalid column'); + } + }; /** * Call Trees can have different types of "weights" for the data. Choose the @@ -258,6 +277,10 @@ class CallTreeImpl extends PureComponent { } } + _onSort = (sortedColumns: ColumnSortState) => { + this._sortedColumns = sortedColumns; + }; + render() { const { tree, @@ -294,6 +317,10 @@ class CallTreeImpl extends PureComponent { onKeyDown={this._onKeyDown} onEnterKey={this._onEnterOrDoubleClick} onDoubleClick={this._onEnterOrDoubleClick} + initialSortedColumns={this._sortedColumns} + onSort={this._onSort} + compareColumn={this._compareColumn} + sortableColumns={new Set([2, 3])} /> ); } diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index 2cbda9809e..11ce311d42 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -135,6 +135,7 @@ .treeViewHeaderColumn.sortAscending::before { content: '▲ '; } + .treeViewHeaderColumn.sortDescending::before { content: '▼ '; } diff --git a/src/profile-logic/call-tree.js b/src/profile-logic/call-tree.js index 89fd02beb1..bdd31091dc 100644 --- a/src/profile-logic/call-tree.js +++ b/src/profile-logic/call-tree.js @@ -353,6 +353,8 @@ export class CallTree { iconSrc, icon, ariaLabel, + rawTotal: total, + rawSelf: self, }; this._displayDataByIndex.set(callNodeIndex, displayData); } diff --git a/src/test/components/MarkerTable.test.js b/src/test/components/MarkerTable.test.js index 58f6706602..efe8ae7b29 100644 --- a/src/test/components/MarkerTable.test.js +++ b/src/test/components/MarkerTable.test.js @@ -103,6 +103,17 @@ describe('MarkerTable', function () { expect(scrolledRows()).toHaveLength(2); }); + it('sorts when the start header and duration header is clicked', () => { + const { container, getByText } = setup(); + + fireFullClick(getByText('Start')); + expect(container).toMatchSnapshot(); + fireFullClick(getByText('Start')); + expect(container).toMatchSnapshot(); + fireFullClick(getByText('Duration')); + expect(container).toMatchSnapshot(); + }); + it('selects a row when left clicking', () => { const { getByText, getRowElement } = setup(); diff --git a/src/test/components/ProfileCallTreeView.test.js b/src/test/components/ProfileCallTreeView.test.js index 9e9ed6cf3a..7637d2dd45 100644 --- a/src/test/components/ProfileCallTreeView.test.js +++ b/src/test/components/ProfileCallTreeView.test.js @@ -292,6 +292,17 @@ describe('calltree/ProfileCallTreeView', function () { const { container } = setup(profile); expect(container.querySelector('.treeViewRow.isSelected')).toBeFalsy(); }); + + it('sorts when the total column header is clicked', () => { + const { container, getByText } = setup(); + + expect(container.firstChild).toMatchSnapshot(); + + fireFullClick(getByText('Total (samples)')); + expect(container.firstChild).toMatchSnapshot(); + fireFullClick(getByText('Total (samples)')); + expect(container.firstChild).toMatchSnapshot(); + }); }); describe('calltree/ProfileCallTreeView EmptyReasons', function () { diff --git a/src/test/components/__snapshots__/MarkerTable.test.js.snap b/src/test/components/__snapshots__/MarkerTable.test.js.snap index a46aaa6901..0f5b43d9f2 100644 --- a/src/test/components/__snapshots__/MarkerTable.test.js.snap +++ b/src/test/components/__snapshots__/MarkerTable.test.js.snap @@ -87,17 +87,20 @@ exports[`MarkerTable renders some basic markers and updates when needed 1`] = ` class="treeViewHeader" > Start Duration Type @@ -456,3 +459,1287 @@ exports[`MarkerTable renders some basic markers and updates when needed 1`] = `
`; + +exports[`MarkerTable sorts when the start header and duration header is clicked 1`] = ` +
+
+
+
+
+ +
+
+
+
+ + Start + + + Duration + + + Type + + + Description + +
+
+
+
+
+
+
+
+ + 0.162s + + + 1ms + + + FileIO + +
+
+ + 0.158s + + + + Log + +
+
+ + 0.153s + + + 584.00ns + + + Text + +
+
+ + 0.153s + + + 584.00ns + + + Text + +
+
+ + 0.108s + + + unknown + + + IPC + +
+
+ + 0.002s + + + + Paint + +
+
+ + 0.000s + + + 0s + + + UserTiming + +
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+`; + +exports[`MarkerTable sorts when the start header and duration header is clicked 2`] = ` +
+
+
+
+
+ +
+
+
+
+ + Start + + + Duration + + + Type + + + Description + +
+
+
+
+
+
+
+
+ + 0.000s + + + 0s + + + UserTiming + +
+
+ + 0.002s + + + + Paint + +
+
+ + 0.108s + + + unknown + + + IPC + +
+
+ + 0.153s + + + 584.00ns + + + Text + +
+
+ + 0.153s + + + 584.00ns + + + Text + +
+
+ + 0.158s + + + + Log + +
+
+ + 0.162s + + + 1ms + + + FileIO + +
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+`; + +exports[`MarkerTable sorts when the start header and duration header is clicked 3`] = ` +
+
+
+
+
+ +
+
+
+
+ + Start + + + Duration + + + Type + + + Description + +
+
+
+
+
+
+
+
+ + 0.158s + + + + Log + +
+
+ + 0.108s + + + unknown + + + IPC + +
+
+ + 0.002s + + + + Paint + +
+
+ + 0.162s + + + 1ms + + + FileIO + +
+
+ + 0.153s + + + 584.00ns + + + Text + +
+
+ + 0.153s + + + 584.00ns + + + Text + +
+
+ + 0.000s + + + 0s + + + UserTiming + +
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+`; diff --git a/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap b/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap index 53f3829e06..8bc7a49204 100644 --- a/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap +++ b/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap @@ -149,10 +149,12 @@ exports[`ProfileCallTreeView with JS Allocations matches the snapshot for JS all class="treeViewHeader" >
`; + +exports[`calltree/ProfileCallTreeView sorts when the total column header is clicked 1`] = ` +
+
+
    +
  • + + + +
  • +
  • + +
  • +
+
+ +
+
+
    +
  1. + + Complete “⁨Empty⁩” + +
  2. +
+
+
+ + + Total (samples) + + + Self + + + +
+
+
+
+
+
+
+
+ + 100% + + + 3 + + + — + + +
+ +
+
+ + 100% + + + 3 + + + — + + +
+ +
+
+ + 67% + + + 2 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + 1 + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+
+
+
+
+
+ + + + + A + + +
+
+ + + + + B + + +
+
+ + + + + C + + +
+
+ + + + + D + + +
+
+ +
+ + +
+
+
+
+
+
+
+`; + +exports[`calltree/ProfileCallTreeView sorts when the total column header is clicked 2`] = ` +
+
+
    +
  • + + + +
  • +
  • + +
  • +
+
+ +
+
+
    +
  1. + + Complete “⁨Empty⁩” + +
  2. +
+
+
+ + + Total (samples) + + + Self + + + +
+
+
+
+
+
+
+
+ + 100% + + + 3 + + + — + + +
+ +
+
+ + 100% + + + 3 + + + — + + +
+ +
+
+ + 67% + + + 2 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + 1 + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+
+
+
+
+
+ + + + + A + + +
+
+ + + + + B + + +
+
+ + + + + C + + +
+
+ + + + + D + + +
+
+ +
+ + +
+
+
+
+
+
+
+`; + +exports[`calltree/ProfileCallTreeView sorts when the total column header is clicked 3`] = ` +
+
+
    +
  • + + + +
  • +
  • + +
  • +
+
+ +
+
+
    +
  1. + + Complete “⁨Empty⁩” + +
  2. +
+
+
+ + + Total (samples) + + + Self + + + +
+
+
+
+
+
+
+
+ + 100% + + + 3 + + + — + + +
+ +
+
+ + 100% + + + 3 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+ + 67% + + + 2 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+ + 33% + + + 1 + + + 1 + + +
+ +
+
+ + 33% + + + 1 + + + — + + +
+ +
+
+
+
+
+
+
+ + + + + A + + +
+
+ + + + + B + + +
+ +
+ + + + + C + + +
+
+ + + + + D + + +
+
+ +
+ +
+
+
+
+
+
+
+`; diff --git a/src/test/store/icons.test.js b/src/test/store/icons.test.js index ff78a1397e..b3b6549444 100644 --- a/src/test/store/icons.test.js +++ b/src/test/store/icons.test.js @@ -48,6 +48,8 @@ describe('actions/icons', function () { icon, iconSrc: 'https://edition.cnn.com/favicon.ico', ariaLabel: 'fake aria label', + rawTotal: 0, + rawSelf: 0, }; } diff --git a/src/test/unit/profile-tree.test.js b/src/test/unit/profile-tree.test.js index 12a242ff21..a628cc032a 100644 --- a/src/test/unit/profile-tree.test.js +++ b/src/test/unit/profile-tree.test.js @@ -335,6 +335,9 @@ describe('unfiltered call tree', function () { totalPercent: '100%', categoryColor: 'grey', categoryName: 'Other', + rawSelf: 0, + rawTotal: 3, + badge: undefined, }); expect(callTree.getDisplayData(I)).toEqual({ ariaLabel: @@ -351,6 +354,9 @@ describe('unfiltered call tree', function () { totalPercent: '33%', categoryColor: 'grey', categoryName: 'Other', + rawSelf: 1, + rawTotal: 1, + badge: undefined, }); }); }); diff --git a/src/types/profile-derived.js b/src/types/profile-derived.js index aa9760b050..7aef94b0e0 100644 --- a/src/types/profile-derived.js +++ b/src/types/profile-derived.js @@ -219,6 +219,9 @@ export type CallNodeDisplayData = $Exact< badge?: ExtraBadgeInfo, icon: string | null, ariaLabel: string, + // just used for sorting + rawSelf: number, + rawTotal: number, }> >; From bb8b23b83706381382c313b02b9d8518c7ebc105 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 25 Aug 2022 11:33:27 +0200 Subject: [PATCH 044/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20@codemirr?= =?UTF-8?q?or/view=20to=20version=206.2.0=20(PR=20#4202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1292158955..6fdd433369 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@codemirror/lang-rust": "^6.0.0", "@codemirror/language": "^6.2.1", "@codemirror/state": "^6.1.1", - "@codemirror/view": "^6.1.2", + "@codemirror/view": "^6.2.0", "@firefox-devtools/react-contextmenu": "^5.0.0", "@fluent/bundle": "^0.17.1", "@fluent/langneg": "^0.6.2", diff --git a/yarn.lock b/yarn.lock index 42bffcd866..d5c5103cc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1114,10 +1114,10 @@ resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.1.1.tgz#4f512e5e34ea23a5e10b2c1fe43f6195e90417bb" integrity sha512-2s+aXsxmAwnR3Rd+JDHPG/1lw0YsA9PEwl7Re88gHJHGfxyfEzKBmsN4rr53RyPIR4lzbbhJX0DCq0WlqlBIRw== -"@codemirror/view@^6.0.0", "@codemirror/view@^6.1.2": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.1.2.tgz#22dd4f6867581aa09dc1d952253f655c1a44bd91" - integrity sha512-puUydfKwfmOo+ixtuB+uN/ZpcteEYSnpjHmMaow1sOQhNICsKtGBup3i9ybVqyzDagARRYzSHTWjbdeHqmn31w== +"@codemirror/view@^6.0.0", "@codemirror/view@^6.2.0": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.2.0.tgz#bae4c486a84174bd9656af9c9d2bd709d5b26c9f" + integrity sha512-3emW1symh+GoteFMBPsltjmF790U/trouLILATh3JodbF/z98HvcQh2g3+H6dfNIHx16uNonsAF4mNzVr1TJNA== dependencies: "@codemirror/state" "^6.0.0" style-mod "^4.0.0" From 6c371c3095d1d52bf54bed079f4ccf5768442381 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 10:20:08 +0200 Subject: [PATCH 045/131] Update all development Yarn dependencies (2022-08-29) (PR #4211) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 6fdd433369..a06230867d 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,7 @@ "stylelint": "^14.10.0", "stylelint-config-idiomatic-order": "^8.1.0", "stylelint-config-prettier": "^9.0.3", - "stylelint-config-standard": "^27.0.0", + "stylelint-config-standard": "^28.0.0", "stylelint-prettier": "^2.0.0", "webpack": "^4.44.2", "webpack-cli": "^3.3.12", diff --git a/yarn.lock b/yarn.lock index d5c5103cc3..d03933cad8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12905,10 +12905,10 @@ stylelint-config-recommended@^9.0.0: resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz#1c9e07536a8cd875405f8ecef7314916d94e7e40" integrity sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ== -stylelint-config-standard@^27.0.0: - version "27.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-27.0.0.tgz#d1c69082fc973dab7da1a6c89979e54a0758f389" - integrity sha512-J+wxyODWQCW2kgdhVzj51a4cFcJkglkMQrjPU/1Jo8w2oKSKK5ZRqHvDDWxEmjYWIYbMhhIMS5dOgVpGUMIACw== +stylelint-config-standard@^28.0.0: + version "28.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-28.0.0.tgz#7e1926c232631a8445eafee7b186d276d42d7b15" + integrity sha512-q/StuowDdDmFCravzGHAwgS9pjX0bdOQUEBBDIkIWsQuYGgYz/xsO8CM6eepmIQ1fc5bKdDVimlJZ6MoOUcJ5Q== dependencies: stylelint-config-recommended "^9.0.0" From f0c5451356d3383a95886e52605cf3dd83a9d70d Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Mon, 22 Aug 2022 15:12:33 +0200 Subject: [PATCH 046/131] Open the categories in the side bar by default --- src/components/sidebar/CallTreeSidebar.js | 12 +++++++ src/test/components/CallTreeSidebar.test.js | 2 +- .../CallTreeSidebar.test.js.snap | 32 +------------------ 3 files changed, 14 insertions(+), 32 deletions(-) diff --git a/src/components/sidebar/CallTreeSidebar.js b/src/components/sidebar/CallTreeSidebar.js index 92ec03e96d..f2b03848ef 100644 --- a/src/components/sidebar/CallTreeSidebar.js +++ b/src/components/sidebar/CallTreeSidebar.js @@ -148,6 +148,7 @@ type CategoryBreakdownProps = {| +breakdown: BreakdownByCategory, +categoryList: CategoryList, +number: (number) => string, + +openAllCategories: boolean, |}; type CategoryBreakdownState = {| @@ -162,6 +163,16 @@ class CategoryBreakdown extends React.PureComponent< openCategories: new Set(), }; + constructor(props) { + super(props); + const { openAllCategories, categoryList } = this.props; + if (openAllCategories) { + categoryList.forEach((category) => + this.state.openCategories.add(category.name) + ); + } + } + _toggleCategory = (event: SyntheticInputEvent<>) => { const { category } = event.target.dataset; if (typeof category !== 'string') { @@ -435,6 +446,7 @@ class CallTreeSidebarImpl extends React.PureComponent { breakdown={totalTimeBreakdownByCategory} categoryList={categoryList} number={number} + openAllCategories={true} /> ) : null} diff --git a/src/test/components/CallTreeSidebar.test.js b/src/test/components/CallTreeSidebar.test.js index df107e8fd2..31821d0304 100644 --- a/src/test/components/CallTreeSidebar.test.js +++ b/src/test/components/CallTreeSidebar.test.js @@ -181,7 +181,7 @@ describe('CallTreeSidebar', function () { funcNamesDict: { A, B, C }, } = setup(getProfileWithSubCategories()); selectNode([A, B, C]); - expect(queryByText('FakeSubCategoryC')).not.toBeInTheDocument(); + expect(getByText('FakeSubCategoryC')).toBeInTheDocument(); const layoutCategory = getAllByText('Layout')[0]; fireFullClick(layoutCategory); diff --git a/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap b/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap index e0362a6b4a..03cdc14f7f 100644 --- a/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap +++ b/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap @@ -104,7 +104,7 @@ exports[`CallTreeSidebar can expand subcategories 1`] = ` class="sidebar-label" >
- - - - - -
+ + + + + + + + ⁨1.8⁩ mW +
+ Power used in range + : +
+ ⁨0.000⁩ mWh
`; From 8ca762faf763b02465c6d6c506ae6b75a546686f Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 4 Aug 2022 15:01:53 +0200 Subject: [PATCH 061/131] Adjust tests --- src/test/components/TrackPower.test.js | 34 ++++++++++++++++--- .../__snapshots__/TrackPower.test.js.snap | 24 ++++++------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/src/test/components/TrackPower.test.js b/src/test/components/TrackPower.test.js index 7178b20e6f..f561f37663 100644 --- a/src/test/components/TrackPower.test.js +++ b/src/test/components/TrackPower.test.js @@ -11,6 +11,8 @@ import { Provider } from 'react-redux'; import { fireEvent } from '@testing-library/react'; import { render, screen } from 'firefox-profiler/test/fixtures/testing-library'; + +import { updatePreviewSelection } from 'firefox-profiler/actions/profile-view'; import { TrackPower } from '../../components/timeline/TrackPower'; import { ensureExists } from '../../utils/flow'; @@ -64,8 +66,8 @@ describe('TrackPower', function () { threadIndex, { time: thread.samples.time.slice(), - // Power usage numbers. - count: [100, 400, 500, 1000, 200, 500, 300, 100], + // Power usage numbers. They are pWh so they are pretty big. + count: [10000, 40000, 50000, 100000, 2000000, 5000000, 30000, 10000], length: SAMPLE_COUNT, }, 'SystemPower', @@ -148,6 +150,11 @@ describe('TrackPower', function () { const { moveMouseAtCounter, getTooltipContents } = setup(); // We are hovering exactly between 4th and 5th counter. That's why it should // show the 5th counter. + // Here are the values we'll get in the tooltip: + // 5th counter value is 5000000 pWh, that is 5 µWh. Over 1ms, this means + // 18W (5 * 1000 * 3600 / 1000^2). + // Over the full range, we get 7.240 µWh, therefore we'll see in the tooltip + // 0.007 mWh. moveMouseAtCounter(4, 0.5); expect(getTooltipContents()).toMatchSnapshot(); }); @@ -175,12 +182,29 @@ describe('TrackPower', function () { }); it('shows a tooltip with a Power: line and a power unit', function () { - const { moveMouseAtCounter } = setup(); + const { dispatch, moveMouseAtCounter } = setup(); + dispatch( + updatePreviewSelection({ + hasSelection: true, + isModifying: false, + selectionStart: 5, + selectionEnd: 6, + }) + ); moveMouseAtCounter(3, 0); - // 1000pWh spent over 1ms is 3.6mW + // 100000pWh spent over 1ms is 360mW // Note: Fluent adds isolation characters \u2068 and \u2069 around variables. expect(screen.getByText(/Power:/).nextSibling).toHaveTextContent( - '3.6\u2069 mW' + '360\u2069 mW' + ); + // Over the full range, we get 7.240 µWh, therefore we'll see in the tooltip + // 0.007 mWh. + expect(screen.getByText(/visible range:/).nextSibling).toHaveTextContent( + '0.007\u2069 mWh' ); + // Over the preview selection, we get 5 µWh which shows up as 0.005 mWh. + expect( + screen.getByText(/current selection:/).nextSibling + ).toHaveTextContent('0.005\u2069 mWh'); }); }); diff --git a/src/test/components/__snapshots__/TrackPower.test.js.snap b/src/test/components/__snapshots__/TrackPower.test.js.snap index 239383bff8..e7cc9f1787 100644 --- a/src/test/components/__snapshots__/TrackPower.test.js.snap +++ b/src/test/components/__snapshots__/TrackPower.test.js.snap @@ -3,7 +3,7 @@ exports[`TrackPower draws a dot that matches the snapshot 1`] = `
`; @@ -20,14 +20,14 @@ exports[`TrackPower has a tooltip that matches the snapshot 1`] = ` Power :
- ⁨1.8⁩ mW + ⁨18.0⁩ W
- Power used in range + Energy used in the visible range :
- ⁨0.000⁩ mWh + ⁨0.007⁩ mWh
`; @@ -64,42 +64,42 @@ Array [ Array [ "lineTo", 15, - 17.866666666666667, + 23.877333333333333, ], Array [ "lineTo", 20, - 1, + 23.54, ], Array [ "lineTo", 30, - 1, + 23.54, ], Array [ "lineTo", 40, - 19.4, + 14.799999999999999, ], Array [ "lineTo", 50, - 12.5, + 1, ], Array [ "lineTo", 60, - 17.1, + 23.862, ], Array [ "lineTo", 70, - 21.7, + 23.954, ], Array [ "lineTo", 80, - 21.7, + 23.954, ], Array [ "stroke", From 8b133d63d46234d0fdc72fd7ec795ab569b8c12b Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Fri, 2 Sep 2022 16:18:07 +0200 Subject: [PATCH 062/131] Handle total and self category times differently --- src/actions/app.js | 5 +++-- src/app-logic/url-handling.js | 11 ++++++----- src/components/sidebar/CallTreeSidebar.js | 15 +++++++++++---- src/reducers/url-state.js | 4 +++- src/selectors/url-state.js | 6 +++++- src/test/components/CallTreeSidebar.test.js | 15 +++++++++++++++ .../__snapshots__/CallTreeSidebar.test.js.snap | 17 +---------------- src/test/url-handling.test.js | 4 ++-- src/types/state.js | 10 ++-------- 9 files changed, 48 insertions(+), 39 deletions(-) diff --git a/src/actions/app.js b/src/actions/app.js index f10e066d05..ccd06a3047 100644 --- a/src/actions/app.js +++ b/src/actions/app.js @@ -419,10 +419,11 @@ export function updateBrowserConnectionStatus( } export function toggleOpenCategoryInSidebar( - category: IndexIntoCategoryList + category: IndexIntoCategoryList, + isTotal: boolean ): Action { return { type: 'TOGGLE_SIDEBAR_OPEN_CATEGORY', - category, + category: isTotal ? category : -category - 1, }; } diff --git a/src/app-logic/url-handling.js b/src/app-logic/url-handling.js index dcea8152fb..c2b4e6abfa 100644 --- a/src/app-logic/url-handling.js +++ b/src/app-logic/url-handling.js @@ -47,7 +47,7 @@ import { } from '../utils/uintarray-encoding'; import { tabSlugs } from '../app-logic/tabs-handling'; -export const CURRENT_URL_VERSION = 7; +export const CURRENT_URL_VERSION = 8; /** * This static piece of state might look like an anti-pattern, but it's a relatively @@ -376,9 +376,9 @@ export function getQueryStringFromUrlState(urlState: UrlState): string { const sidebarOpenCategories = urlState.profileSpecific.sidebarOpenCategories; if (sidebarOpenCategories.size > 0) { - baseQuery.sidebarOpenCategories = encodeUintSetForUrlComponent( - urlState.profileSpecific.sidebarOpenCategories - ); + baseQuery.sidebarOpenCategories = [ + ...urlState.profileSpecific.sidebarOpenCategories, + ].join('p'); } // Depending on which panel is active, also show tab-specific query parameters. @@ -648,7 +648,7 @@ export function stateFromLocation( }, sidebarOpenCategories: new Set( query.sidebarOpenCategories - ? decodeUintArrayFromUrlComponent(query.sidebarOpenCategories) + ? query.sidebarOpenCategories.split('p').map((x) => parseInt(x, 10)) : [] ), activeTab: { @@ -1119,6 +1119,7 @@ const _upgraders: {| break; } }, + [8]: ({ _ }: ProcessedLocationBeforeUpgrade) => {}, }; for (let destVersion = 1; destVersion <= CURRENT_URL_VERSION; destVersion++) { diff --git a/src/components/sidebar/CallTreeSidebar.js b/src/components/sidebar/CallTreeSidebar.js index 1080fd603d..f2ee0c77f0 100644 --- a/src/components/sidebar/CallTreeSidebar.js +++ b/src/components/sidebar/CallTreeSidebar.js @@ -151,6 +151,8 @@ class ImplementationBreakdown extends React.PureComponent string, @@ -172,10 +174,10 @@ type CategoryBreakdownAllProps = ConnectedProps< class CategoryBreakdownImpl extends React.PureComponent { _toggleCategory = (event: SyntheticInputEvent<>) => { - const { toggleOpenCategoryInSidebar } = this.props; + const { toggleOpenCategoryInSidebar, isTotal } = this.props; const { categoryIndex } = event.target.dataset; withHistoryReplaceStateSync(() => { - toggleOpenCategoryInSidebar(parseInt(categoryIndex, 10)); + toggleOpenCategoryInSidebar(parseInt(categoryIndex, 10), isTotal); }); }; @@ -275,9 +277,12 @@ export const CategoryBreakdown = explicitConnect< CategoryBreakdownStateProps, CategoryBreakdownDispatchProps >({ - mapStateToProps: (state) => { + mapStateToProps: (state, props) => { + const openCats = getSidebarOpenCategories(state); return { - sidebarOpenCategories: getSidebarOpenCategories(state), + sidebarOpenCategories: props.isTotal + ? openCats + : new Set([...openCats].filter((c) => c < 0).map((c) => -c - 1)), }; }, mapDispatchToProps: { toggleOpenCategoryInSidebar }, @@ -447,6 +452,7 @@ class CallTreeSidebarImpl extends React.PureComponent {
{
> = ( }; /** - * Signals which categories are opened by default in the sidebar + * Signals which categories are opened by default in the sidebar, + * if the index is negative then it is the index of the self time category -1, + * else the index of the total time category */ const sidebarOpenCategories: Reducer> = ( state: Set = new Set(), diff --git a/src/selectors/url-state.js b/src/selectors/url-state.js index df2f9bd694..c370d5371d 100644 --- a/src/selectors/url-state.js +++ b/src/selectors/url-state.js @@ -129,7 +129,11 @@ export const getFirstSelectedThreadIndex: Selector = (state) => export const getTimelineType: Selector = (state) => getProfileSpecificState(state).timelineType; -/** Returns the indexes of categories that are opened in the sidebar */ +/** + * Returns the indexes of categories that are opened in the sidebar, + * if the index is negative then it is the index of the self time category -1, + * else the index of the total time category + */ export const getSidebarOpenCategories: Selector> = (state) => getProfileSpecificState(state).sidebarOpenCategories; diff --git a/src/test/components/CallTreeSidebar.test.js b/src/test/components/CallTreeSidebar.test.js index 08f0dd3ac2..47381f98ac 100644 --- a/src/test/components/CallTreeSidebar.test.js +++ b/src/test/components/CallTreeSidebar.test.js @@ -208,7 +208,22 @@ describe('CallTreeSidebar', function () { ); expect(getAllByText('FakeSubCategoryC')[0]).toBeInTheDocument(); + // only the 'Layout' category for the total running samples is expanded, + // not the other one too + expect(getAllByText('FakeSubCategoryC').length).toBe(1); expect(container.firstChild).toMatchSnapshot(); + + const layoutCategory2 = getAllByText('Layout')[1]; + + fireFullClick(layoutCategory2); + rerenderContainer(); + + expect(getState().urlState.profileSpecific.sidebarOpenCategories).toEqual( + new Set([2, -3]) + ); + + expect(getAllByText('FakeSubCategoryC')[0]).toBeInTheDocument(); + expect(getAllByText('FakeSubCategoryC')[1]).toBeInTheDocument(); }); }); diff --git a/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap b/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap index 687ff68353..8007dd0daa 100644 --- a/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap +++ b/src/test/components/__snapshots__/CallTreeSidebar.test.js.snap @@ -423,7 +423,7 @@ exports[`CallTreeSidebar can expand subcategories 2`] = ` class="sidebar-label" >
- - -
{
= ( } }; +/** + * Signals which categories are opened by default in the sidebar per type + */ +const sidebarOpenCategories: Reducer>> = ( + openCats: Map> = new Map(), + action +) => { + switch (action.type) { + case 'TOGGLE_SIDEBAR_OPEN_CATEGORY': { + const newOpenCats = new Map(openCats); + let openCatSet = newOpenCats.get(action.kind); + if (openCatSet === undefined) { + openCatSet = new Set(); + } + if (openCatSet.has(action.category)) { + openCatSet.delete(action.category); + } else { + openCatSet.add(action.category); + } + newOpenCats.set(action.kind, openCatSet); + return newOpenCats; + } + default: + return openCats; + } +}; + const appStateReducer: Reducer = combineReducers({ view, urlSetupPhase, @@ -341,6 +368,7 @@ const appStateReducer: Reducer = combineReducers({ experimental, currentProfileUploadedInformation, browserConnectionStatus, + sidebarOpenCategories, }); export default appStateReducer; diff --git a/src/reducers/url-state.js b/src/reducers/url-state.js index 1dfb25897c..57de6ac7e7 100644 --- a/src/reducers/url-state.js +++ b/src/reducers/url-state.js @@ -497,30 +497,6 @@ const localTrackOrderChangedPids: Reducer> = ( } }; -/** - * Signals which categories are opened by default in the sidebar, - * if the index is negative then it is the index of the self time category -1, - * else the index of the total time category - */ -const sidebarOpenCategories: Reducer> = ( - state: Set = new Set(), - action -) => { - switch (action.type) { - case 'TOGGLE_SIDEBAR_OPEN_CATEGORY': { - const newState = new Set(state); - if (newState.has(action.category)) { - newState.delete(action.category); - } else { - newState.add(action.category); - } - return newState; - } - default: - return state; - } -}; - // If you update this reducer, please don't forget to update the profileName // reducer below as well. const pathInZipFile: Reducer = (state = null, action) => { @@ -681,7 +657,6 @@ const profileSpecific = combineReducers({ timelineType, full: fullProfileSpecific, activeTab: activeTabProfileSpecific, - sidebarOpenCategories, }); /** diff --git a/src/selectors/app.js b/src/selectors/app.js index 823d244b99..d15d283904 100644 --- a/src/selectors/app.js +++ b/src/selectors/app.js @@ -356,3 +356,10 @@ export const getTimelineMarginLeft: Selector = createSelector( } } ); + +/** + * Returns the indexes of categories that are opened in the sidebar, + * for every category + */ +export const getSidebarOpenCategories: Selector>> = + createSelector(getApp, (app) => app.sidebarOpenCategories); diff --git a/src/selectors/url-state.js b/src/selectors/url-state.js index c370d5371d..639ae387f6 100644 --- a/src/selectors/url-state.js +++ b/src/selectors/url-state.js @@ -129,14 +129,6 @@ export const getFirstSelectedThreadIndex: Selector = (state) => export const getTimelineType: Selector = (state) => getProfileSpecificState(state).timelineType; -/** - * Returns the indexes of categories that are opened in the sidebar, - * if the index is negative then it is the index of the self time category -1, - * else the index of the total time category - */ -export const getSidebarOpenCategories: Selector> = (state) => - getProfileSpecificState(state).sidebarOpenCategories; - /** * Simple selectors for tracks and track order. */ diff --git a/src/test/components/CallTreeSidebar.test.js b/src/test/components/CallTreeSidebar.test.js index 47381f98ac..ce0c34341d 100644 --- a/src/test/components/CallTreeSidebar.test.js +++ b/src/test/components/CallTreeSidebar.test.js @@ -188,25 +188,17 @@ describe('CallTreeSidebar', function () { queryByText, getAllByText, funcNamesDict: { A, B, C }, - getState, rerenderContainer, } = setup(getProfileWithSubCategories()); selectNode([A, B, C]); expect(queryByText('FakeSubCategoryC')).not.toBeInTheDocument(); expect(container.firstChild).toMatchSnapshot(); - expect(getState().urlState.profileSpecific.sidebarOpenCategories).toEqual( - new Set() - ); const layoutCategory = getAllByText('Layout')[0]; fireFullClick(layoutCategory); rerenderContainer(); - expect(getState().urlState.profileSpecific.sidebarOpenCategories).toEqual( - new Set([2]) - ); - expect(getAllByText('FakeSubCategoryC')[0]).toBeInTheDocument(); // only the 'Layout' category for the total running samples is expanded, // not the other one too @@ -219,10 +211,6 @@ describe('CallTreeSidebar', function () { fireFullClick(layoutCategory2); rerenderContainer(); - expect(getState().urlState.profileSpecific.sidebarOpenCategories).toEqual( - new Set([2, -3]) - ); - expect(getAllByText('FakeSubCategoryC')[0]).toBeInTheDocument(); expect(getAllByText('FakeSubCategoryC')[1]).toBeInTheDocument(); }); diff --git a/src/test/url-handling.test.js b/src/test/url-handling.test.js index 944c212d4b..ae455de173 100644 --- a/src/test/url-handling.test.js +++ b/src/test/url-handling.test.js @@ -19,11 +19,7 @@ import { commitRange, setDataSource, } from '../actions/profile-view'; -import { - changeSelectedTab, - changeProfilesToCompare, - toggleOpenCategoryInSidebar, -} from '../actions/app'; +import { changeSelectedTab, changeProfilesToCompare } from '../actions/app'; import { stateFromLocation, getQueryStringFromUrlState, @@ -1614,32 +1610,6 @@ describe('URL persistence of transform stacks for a combined thread (multi-threa }); }); -describe('URL persistence of open categories in sidebar', function () { - function setup() { - return _getStoreWithURL(); - } - - it('persists the URL state after roundtrips and toggles', function () { - const { dispatch, getState } = setup(); - - expect(urlStateSelectors.getSidebarOpenCategories(getState())).toEqual( - new Set() - ); - dispatch(toggleOpenCategoryInSidebar(0, true)); - - let newStore = _getStoreFromStateAfterUrlRoundtrip(getState()); - expect( - urlStateSelectors.getSidebarOpenCategories(newStore.getState()) - ).toEqual(new Set([0])); - - dispatch(toggleOpenCategoryInSidebar(0, true)); - newStore = _getStoreFromStateAfterUrlRoundtrip(getState()); - expect( - urlStateSelectors.getSidebarOpenCategories(newStore.getState()) - ).toEqual(new Set()); - }); -}); - describe('urlFromState', function () { it('outputs no default parameters besides the current URL version', function () { const pathname = diff --git a/src/types/actions.js b/src/types/actions.js index 1629e9cc89..b1b3bf0040 100644 --- a/src/types/actions.js +++ b/src/types/actions.js @@ -506,6 +506,7 @@ type UrlStateAction = |} | {| +type: 'TOGGLE_SIDEBAR_OPEN_CATEGORY', + +kind: string, +category: IndexIntoCategoryList, |}; diff --git a/src/types/state.js b/src/types/state.js index 1dee85d95c..9cd8fb2a23 100644 --- a/src/types/state.js +++ b/src/types/state.js @@ -185,6 +185,7 @@ export type AppState = {| +urlSetupPhase: UrlSetupPhase, +hasZoomedViaMousewheel: boolean, +isSidebarOpenPerPanel: IsOpenPerPanelState, + +sidebarOpenCategories: Map>, +panelLayoutGeneration: number, +lastVisibleThreadTabSlug: TabSlug, +trackThreadHeights: { @@ -313,7 +314,6 @@ export type ProfileSpecificUrlState = {| isBottomBoxOpenPerPanel: IsOpenPerPanelState, full: FullProfileSpecificUrlState, activeTab: ActiveTabSpecificProfileUrlState, - sidebarOpenCategories: Set, |}; /** diff --git a/src/utils/uintarray-encoding.js b/src/utils/uintarray-encoding.js index a8189cd00d..93ed7a9d8d 100644 --- a/src/utils/uintarray-encoding.js +++ b/src/utils/uintarray-encoding.js @@ -59,10 +59,6 @@ export function encodeUintSetForUrlComponent(numbers: Set): string { return encodeUintArrayForUrlComponent(array); } -export function decodeUintSetFromUrlComponent(s: string): Set { - return new Set(decodeUintArrayFromUrlComponent(s)); -} - export function encodeUintArrayForUrlComponent(numbers: number[]): string { let result = ''; for (let i = 0; i < numbers.length; i++) { From 680c6b94d5471b570d760300bc70063d5f1eca2e Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Tue, 6 Sep 2022 14:15:50 +0200 Subject: [PATCH 081/131] Remove the sha256 hashes for the addon scripts, because we don't use the add-on --- res/_headers | 11 ++--------- server.js | 2 -- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/res/_headers b/res/_headers index e1a377dcde..1d848b9ddf 100644 --- a/res/_headers +++ b/res/_headers @@ -14,14 +14,7 @@ Referrer-Policy: same-origin # 1. script-src - # a. The first hash is for the addon's content.js file being injected - # with WebExt's tabs.executeScript API. - # b. The second hash is for the addon's content-home.js being injected from - # the addon's manifest.json. - # You can generate these hashes using the website - # https://report-uri.io/home/hash after grabbing the script from the Inspector. - # NOTE: you can't use the script file directly as the API modifies it before injecting. - # c. We use Google Analytics to track the usage of the application. + # a. We use Google Analytics to track the usage of the application. # 2. style-src # a. `unsafe-inline` is necessary to support favicons. # b. Google Fonts are used in the docs. @@ -32,7 +25,7 @@ # 7. `frame-ancestors` is the same purpose as `X-Frame-Options` above. # 8. `form-action`prevents forms, we don't need this.` # 9. `frame-src` allows the embedding of YouTube videos in the docs. - Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-eRTCQnd2fhPykpATDzCv4gdVk/EOdDq+6yzFXaWgGEw=' 'sha256-vY1KJ1dyP9vvnuERKMiQAcoKKtMUXZUEWJ/dT1XqpKM=' https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src http: https: data:; object-src 'none'; connect-src *; frame-ancestors 'self'; form-action 'none'; frame-src www.youtube-nocookie.com + Content-Security-Policy: default-src 'self'; script-src 'self' https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src http: https: data:; object-src 'none'; connect-src *; frame-ancestors 'self'; form-action 'none'; frame-src www.youtube-nocookie.com # Set the correct MIME type for WebAssembly modules. /*.wasm diff --git a/server.js b/server.js index 0d5e8de2fa..5292db8816 100644 --- a/server.js +++ b/server.js @@ -38,8 +38,6 @@ const serverConfig = { default-src 'self'; script-src 'self' - 'sha256-eRTCQnd2fhPykpATDzCv4gdVk/EOdDq+6yzFXaWgGEw=' - 'sha256-vY1KJ1dyP9vvnuERKMiQAcoKKtMUXZUEWJ/dT1XqpKM=' https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; From 7ff65cce628907b48633b79c4de655f62cf6cd07 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Tue, 6 Sep 2022 14:20:17 +0200 Subject: [PATCH 082/131] Add wasm-unsafe-eval so that we can execute WASM code --- res/_headers | 5 +++-- server.js | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/res/_headers b/res/_headers index 1d848b9ddf..346c5bf8cc 100644 --- a/res/_headers +++ b/res/_headers @@ -14,7 +14,8 @@ Referrer-Policy: same-origin # 1. script-src - # a. We use Google Analytics to track the usage of the application. + # a. 'wasm-unsafe-eval' allows to execute wasm scripts without compromising the javascript CSP. + # b. We use Google Analytics to track the usage of the application. # 2. style-src # a. `unsafe-inline` is necessary to support favicons. # b. Google Fonts are used in the docs. @@ -25,7 +26,7 @@ # 7. `frame-ancestors` is the same purpose as `X-Frame-Options` above. # 8. `form-action`prevents forms, we don't need this.` # 9. `frame-src` allows the embedding of YouTube videos in the docs. - Content-Security-Policy: default-src 'self'; script-src 'self' https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src http: https: data:; object-src 'none'; connect-src *; frame-ancestors 'self'; form-action 'none'; frame-src www.youtube-nocookie.com + Content-Security-Policy: default-src 'self'; script-src 'self' 'wasm-unsafe-eval' https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src http: https: data:; object-src 'none'; connect-src *; frame-ancestors 'self'; form-action 'none'; frame-src www.youtube-nocookie.com # Set the correct MIME type for WebAssembly modules. /*.wasm diff --git a/server.js b/server.js index 5292db8816..bd3a9b092d 100644 --- a/server.js +++ b/server.js @@ -38,6 +38,7 @@ const serverConfig = { default-src 'self'; script-src 'self' + 'wasm-unsafe-eval' https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; From b90be9c6960f1caf51423a68a636f854ee0b96a7 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Tue, 6 Sep 2022 18:13:44 +0200 Subject: [PATCH 083/131] Remove the use of withHistoryReplaceStateSync --- src/components/sidebar/CallTreeSidebar.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/components/sidebar/CallTreeSidebar.js b/src/components/sidebar/CallTreeSidebar.js index b7d1f2e105..561c484924 100644 --- a/src/components/sidebar/CallTreeSidebar.js +++ b/src/components/sidebar/CallTreeSidebar.js @@ -15,7 +15,6 @@ import { selectedNodeSelectors, } from 'firefox-profiler/selectors/per-thread'; import { getSelectedThreadsKey } from 'firefox-profiler/selectors/url-state'; -import { withHistoryReplaceStateSync } from 'firefox-profiler/app-logic/url-handling'; import { toggleOpenCategoryInSidebar } from 'firefox-profiler/actions/app'; import { getSidebarOpenCategories } from 'firefox-profiler/selectors/app'; import { getCategories } from 'firefox-profiler/selectors/profile'; @@ -174,9 +173,7 @@ class CategoryBreakdownImpl extends React.PureComponent) => { const { toggleOpenCategoryInSidebar, kind } = this.props; const { categoryIndex } = event.target.dataset; - withHistoryReplaceStateSync(() => { - toggleOpenCategoryInSidebar(kind, parseInt(categoryIndex, 10)); - }); + toggleOpenCategoryInSidebar(kind, parseInt(categoryIndex, 10)); }; render() { From 81ccf5e4b7c6958893cb5906d3845479d2a4a2d2 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 8 Sep 2022 14:52:31 +0200 Subject: [PATCH 084/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20@codemirr?= =?UTF-8?q?or/view=20to=20version=206.2.2=20(PR=20#4223)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f1629fadf8..861bb01137 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@codemirror/lang-rust": "^6.0.0", "@codemirror/language": "^6.2.1", "@codemirror/state": "^6.1.1", - "@codemirror/view": "^6.2.0", + "@codemirror/view": "^6.2.2", "@firefox-devtools/react-contextmenu": "^5.0.0", "@fluent/bundle": "^0.17.1", "@fluent/langneg": "^0.6.2", diff --git a/yarn.lock b/yarn.lock index 8a35997edc..d3615a76d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1114,10 +1114,10 @@ resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.1.1.tgz#4f512e5e34ea23a5e10b2c1fe43f6195e90417bb" integrity sha512-2s+aXsxmAwnR3Rd+JDHPG/1lw0YsA9PEwl7Re88gHJHGfxyfEzKBmsN4rr53RyPIR4lzbbhJX0DCq0WlqlBIRw== -"@codemirror/view@^6.0.0", "@codemirror/view@^6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.2.0.tgz#bae4c486a84174bd9656af9c9d2bd709d5b26c9f" - integrity sha512-3emW1symh+GoteFMBPsltjmF790U/trouLILATh3JodbF/z98HvcQh2g3+H6dfNIHx16uNonsAF4mNzVr1TJNA== +"@codemirror/view@^6.0.0", "@codemirror/view@^6.2.2": + version "6.2.2" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.2.2.tgz#1198ee5c303fdd6b4384b8ea8bcc43378c7753b9" + integrity sha512-RwtFlBM/+xnv95urH1D8bVsX3KYLZGygGyZG2TZoXW2Q/GMrI+AuUXh7jBE1M38IOX3YnLTlp6RdgCx3Xo2jVA== dependencies: "@codemirror/state" "^6.0.0" style-mod "^4.0.0" From 859c42a529cb4db74e0259f62798ec2afe29f0c8 Mon Sep 17 00:00:00 2001 From: Khairul Azhar Kasmiran Date: Thu, 8 Sep 2022 22:04:33 +0800 Subject: [PATCH 085/131] Update Yarn install docs --- CONTRIBUTING.md | 13 +++---------- README.md | 11 ++--------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0b1addd24d..73cf558d6b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,16 +31,9 @@ We're friendly and we're on the [Mozilla Matrix instance](https://chat.mozilla.o [profiler.firefox.com](https://profiler.firefox.com) is a web application that loads in performance profiles for analysis. The profiles are loaded in from a variety of sources including directly imported from Firefox, online storage, and from local files. -You will need a recent enough version of [Yarn](http://yarnpkg.com/), -version 1.0.1 is known to work correctly. -You can install it into your home directory on Linux and probably OS X with: - -```bash -cd /tmp -wget https://yarnpkg.com/install.sh -chmod a+x install.sh -./install.sh -``` +You will need a recent enough version of [Yarn 1 (Classic)](https://classic.yarnpkg.com/), +version 1.10 is known to work correctly. +You can install it using `npm install -g yarn`. To get started clone the repo and get the web application started. diff --git a/README.md b/README.md index c73d847e81..c92f4b2833 100644 --- a/README.md +++ b/README.md @@ -27,16 +27,9 @@ If you would like to help us test on other assistive technologies or improve the ### Development -You will need a recent enough version of [Yarn](http://yarnpkg.com/), +You will need a recent enough version of [Yarn 1 (Classic)](https://classic.yarnpkg.com/), version 1.10 is known to work correctly. -You can install it into your home directory on Linux and probably OS X with: - -```bash -cd /tmp -wget https://yarnpkg.com/install.sh -chmod a+x install.sh -./install.sh -``` +You can install it using `npm install -g yarn`. To download and build the Firefox Profiler web app run: From b10247f002f817161c77f5ecb9efc60c9dae9fcb Mon Sep 17 00:00:00 2001 From: Khairul Azhar Kasmiran Date: Thu, 8 Sep 2022 23:36:51 +0800 Subject: [PATCH 086/131] Add link for other install procedures --- CONTRIBUTING.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 73cf558d6b..7ebeef2f11 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,7 @@ We're friendly and we're on the [Mozilla Matrix instance](https://chat.mozilla.o You will need a recent enough version of [Yarn 1 (Classic)](https://classic.yarnpkg.com/), version 1.10 is known to work correctly. -You can install it using `npm install -g yarn`. +You can install it using `npm install -g yarn`. Please refer to [its documentation](https://classic.yarnpkg.com/en/docs/install) for other possible install procedures. To get started clone the repo and get the web application started. diff --git a/README.md b/README.md index c92f4b2833..df2ebbd1cf 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ If you would like to help us test on other assistive technologies or improve the You will need a recent enough version of [Yarn 1 (Classic)](https://classic.yarnpkg.com/), version 1.10 is known to work correctly. -You can install it using `npm install -g yarn`. +You can install it using `npm install -g yarn`. Please refer to [its documentation](https://classic.yarnpkg.com/en/docs/install) for other possible install procedures. To download and build the Firefox Profiler web app run: From e21b076c8bfa73ff0eae04e52cb4a0c288962b13 Mon Sep 17 00:00:00 2001 From: Markus Stange Date: Thu, 18 Aug 2022 21:00:15 +0200 Subject: [PATCH 087/131] Make this comment more precise. --- src/profile-logic/line-timings.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/profile-logic/line-timings.js b/src/profile-logic/line-timings.js index ef9539f657..e412fbd838 100644 --- a/src/profile-logic/line-timings.js +++ b/src/profile-logic/line-timings.js @@ -289,7 +289,7 @@ export function getStackLineInfoForCallNode( * The following stacks all "collapse into" ("map to") call node 3: * stack 3, 4, 6 and 7. * Stack 8 maps to call node 4, which is a child of call node 3. - * All other stacks are outside the call path [A, B, C]. + * Stacks 1, 2, 5, 9 and 10 are outside the call path [A, B, C]. * * In this function, we only compute "line hits" that are contributed to * the given call node. @@ -298,7 +298,7 @@ export function getStackLineInfoForCallNode( * and 70, respectively. * Stack 8 also hits call node 3 at line 70, but does not contribute to * call node 3's "self time", it only contributes to its "total time". - * All other stacks don't contribute to call node 3's self or total time. + * Stacks 1, 2, 5, 9 and 10 don't contribute to call node 3's self or total time. * * All stacks can contribute no more than one line in the given call node. * This is different from the getStackLineInfo function above, where each From e260b54a0f613af278a55286e670de0d8d0dcf94 Mon Sep 17 00:00:00 2001 From: Markus Stange Date: Thu, 18 Aug 2022 21:03:44 +0200 Subject: [PATCH 088/131] Add support for [sym:...] in plain text profiles. --- .../fixtures/profiles/processed-profile.js | 87 +++++++++++++++---- 1 file changed, 71 insertions(+), 16 deletions(-) diff --git a/src/test/fixtures/profiles/processed-profile.js b/src/test/fixtures/profiles/processed-profile.js index 2ce4293e89..8fce5b9048 100644 --- a/src/test/fixtures/profiles/processed-profile.js +++ b/src/test/fixtures/profiles/processed-profile.js @@ -502,6 +502,7 @@ export function getProfileWithNamedThreads(threadNames: string[]): Profile { * - [line:*] - The line, affects frameTable.line * - [address:*] - The frame address, affects frameTable.address * - [inl:*] - The inline depth, affects frameTable.inlineDepth + * - [sym:*] - The native symbol, affects frameTable.nativeSymbol ```js // Execute the code below in the web console in the profiler to get a stack that's @@ -554,6 +555,7 @@ export function getProfileFromTextSamples(...allTextSamples: string[]): { profile: Profile, funcNamesPerThread: Array, funcNamesDictPerThread: Array<{ [funcName: string]: number }>, + nativeSymbolsDictPerThread: Array<{ [nativeSymbolName: string]: number }>, } { let profile = getEmptyProfile(); // Provide a useful marker schema, rather than an empty one. @@ -565,6 +567,7 @@ export function getProfileFromTextSamples(...allTextSamples: string[]): { const funcNamesPerThread = []; const funcNamesDictPerThread = []; + const nativeSymbolsDictPerThread = []; const globalDataCollector = new GlobalDataCollector(); @@ -604,26 +607,39 @@ export function getProfileFromTextSamples(...allTextSamples: string[]): { return result; }, {}); + // Turn this into a real thread. + const thread = _buildThreadFromTextOnlyStacks( + textOnlyStacks, + funcNames, + categories, + globalDataCollector, + sampleTimes + ); + + const nativeSymbolsDict = {}; + for (let i = 0; i < thread.nativeSymbols.length; i++) { + const name = thread.stringTable.getString(thread.nativeSymbols.name[i]); + nativeSymbolsDict[name] = i; + } + + // Make sure all threads have a unique tid + thread.tid = i; + funcNamesPerThread.push(funcNames); funcNamesDictPerThread.push(funcNamesDict); + nativeSymbolsDictPerThread.push(nativeSymbolsDict); - // Turn this into a real thread. - return { - ..._buildThreadFromTextOnlyStacks( - textOnlyStacks, - funcNames, - categories, - globalDataCollector, - sampleTimes - ), - // Make sure all threads have a unique tid - tid: i, - }; + return thread; }); profile = { ...profile, ...globalDataCollector.finish() }; - return { profile, funcNamesPerThread, funcNamesDictPerThread }; + return { + profile, + funcNamesPerThread, + funcNamesDictPerThread, + nativeSymbolsDictPerThread, + }; } function _getAllMatchRanges(regex, str): Array<{ start: number, end: number }> { @@ -806,6 +822,17 @@ function _findInlineDepthFromFuncName( return null; } +function _findNativeSymbolNameFromFuncName( + funcNameWithModifier: string +): string | null { + const findNativeSymbolResult = /\[sym:([^\]]+)\]/.exec(funcNameWithModifier); + if (findNativeSymbolResult) { + return findNativeSymbolResult[1]; + } + + return null; +} + function _buildThreadFromTextOnlyStacks( textOnlyStacks: Array, funcNames: Array, @@ -822,6 +849,7 @@ function _buildThreadFromTextOnlyStacks( stackTable, samples, resourceTable, + nativeSymbols, } = thread; // Create the FuncTable. @@ -855,10 +883,11 @@ function _buildThreadFromTextOnlyStacks( // Find the library name from the function name and create an entry if needed. const libraryName = _findLibNameFromFuncName(funcNameWithModifier); let resourceIndex = -1; + let libIndex = null; if (libraryName) { resourceIndex = resourceIndexCache[libraryName]; if (resourceIndex === undefined) { - const libIndex = globalDataCollector.indexForLib({ + libIndex = globalDataCollector.indexForLib({ arch: '', name: libraryName, path: '/path/to/' + libraryName, @@ -875,6 +904,8 @@ function _buildThreadFromTextOnlyStacks( resourceIndex = resourceTable.length++; resourceIndexCache[libraryName] = resourceIndex; + } else { + libIndex = resourceTable.lib[resourceIndex]; } } @@ -898,6 +929,29 @@ function _buildThreadFromTextOnlyStacks( const address = _findAddressFromFuncName(funcNameWithModifier) ?? (funcName.startsWith('0x') ? parseInt(funcName.substr(2), 16) : -1); + + let nativeSymbol = null; + const nativeSymbolName = + _findNativeSymbolNameFromFuncName(funcNameWithModifier); + if (nativeSymbolName) { + const nativeSymbolNameStringIndex = + stringTable.indexForString(nativeSymbolName); + const nativeSymbolIndex = nativeSymbols.name.indexOf( + nativeSymbolNameStringIndex + ); + if (nativeSymbolIndex !== -1) { + nativeSymbol = nativeSymbolIndex; + } else if (libIndex !== null) { + nativeSymbol = nativeSymbols.length++; + nativeSymbols.libIndex.push(libIndex); + nativeSymbols.address.push(0); // todo + nativeSymbols.name.push(nativeSymbolNameStringIndex); + } else { + throw new Error( + `[sym:] has to be used together with [lib:] - missing lib in "${funcNameWithModifier}"` + ); + } + } const inlineDepth = _findInlineDepthFromFuncName(funcNameWithModifier) ?? 0; @@ -911,7 +965,8 @@ function _buildThreadFromTextOnlyStacks( category === frameTable.category[i] && lineNumber === frameTable.line[i] && address === frameTable.address[i] && - inlineDepth === frameTable.inlineDepth[i] + inlineDepth === frameTable.inlineDepth[i] && + nativeSymbol === frameTable.nativeSymbol[i] ) { frameIndex = i; break; @@ -925,7 +980,7 @@ function _buildThreadFromTextOnlyStacks( frameTable.category.push(category); frameTable.subcategory.push(0); frameTable.innerWindowID.push(0); - frameTable.nativeSymbol.push(null); + frameTable.nativeSymbol.push(nativeSymbol); frameTable.implementation.push(jitTypeIndex); frameTable.line.push(lineNumber); frameTable.column.push(null); From 160ea678405597bdd2e8deeb45b099d69674fa3f Mon Sep 17 00:00:00 2001 From: Markus Stange Date: Thu, 18 Aug 2022 21:04:54 +0200 Subject: [PATCH 089/131] Add address-timings.js and tests. This is a first step on the path to an assembly view. It adds the ability to compute, per native symbol, the instructions addresses that we encountered during profiling, along with their total and self times. These sample counts will be shown in the assembly view gutter, similarly to the source view gutter. --- src/profile-logic/address-timings.js | 646 ++++++++++++++++++++++++++ src/test/unit/address-timings.test.js | 425 +++++++++++++++++ src/types/profile-derived.js | 25 + 3 files changed, 1096 insertions(+) create mode 100644 src/profile-logic/address-timings.js create mode 100644 src/test/unit/address-timings.test.js diff --git a/src/profile-logic/address-timings.js b/src/profile-logic/address-timings.js new file mode 100644 index 0000000000..f456d771ce --- /dev/null +++ b/src/profile-logic/address-timings.js @@ -0,0 +1,646 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// @flow + +/** + * In this file, "address" always means "instruction address", expressed as a + * byte offset into a given library ("relative address"). + * + * The functions in this file (address-timings.js) behave very similarly to the + * ones in line-timings.js. + * line-timings.js is for the source view, and address-timings.js is for the + * assembly view. + * + * The assembly view displays the instructions for one "native symbol", i.e. for + * a function that the compiler created, and which the compiler didn't inline + * away entirely. Every such function has a start address (the symbol address) + * and a size in bytes. This defines an address range. + * + * Since the assembly view only displays the assembly code for a single function + * at a time, address-timings.js always computes information only for a single + * native symbol. It would also be reasonable to compute information for a + * single library; we'll see over time what makes more sense. The computed + * result for a single native symbol is small, but needs to be recomputed any + * time a different native symbol is selected. The computed result for an entire + * library would be quite large (e.g. all address hits for libxul.so), but it + * would not need to be recomputed when a different function is selected. + */ + +/** + * Quick recap of the relationship between addresses, frames, funcs, and native + * symbols for native code: + * - There is one native symbol per "outer" (i.e. non-inlined) function. + * - There is one func per function name + file name pair. Funcs are used for + * both inlined and non-inlined calls. + * - Each frame has at least the following properties: + * address, nativeSymbol, func, inlineDepth + * - As a result, there is a different frame for each sampled instruction address. + * - Multiple frames can share the same func. + * - Multiple frames can share the same native symbol. + * + * When there's inlining at a given address, then we create a multiple frames + * for that address with different func and inlineDepth values, and all these + * frames share the same address and native symbol. + * + * Here's an example "stack" tree. + * + * Before symbolication: + * + * - address:0x123 + * - address:0x250 + * - address:0x307 + * - address:0x427 + * - address:0x129 + * - address:0x435 + * + * After symbolication: + * + * - func:A nativeSymbol:A address:0x123 + * - func:B nativeSymbol:B address:0x250 + * - func:C nativeSymbol:B address:0x250 (inlineDepth:1) + * - func:D nativeSymbol:B address:0x250 (inlineDepth:2) + * - func:E nativeSymbol:E address:0x307 + * - func:F nativeSymbol:F address:0x427 + * - func:A nativeSymbol:A address:0x129 + * - func:G nativeSymbol:A address:0x129 (inlineDepth:1) + * - func:F nativeSymbol:F address:0x435 + * - func:D nativeSymbol:F address:0x435 (inlineDepth:1) + */ + +import type { + FrameTable, + FuncTable, + StackTable, + SamplesLikeTable, + CallNodeInfo, + IndexIntoCallNodeTable, + IndexIntoNativeSymbolTable, + StackAddressInfo, + AddressTimings, + Address, +} from 'firefox-profiler/types'; + +/** + * For each stack in `stackTable`, and one specific native symbol, compute the + * sets of addresses for frames belonging to that native symbol that are hit by + * the stack. + * + * For each stack we answer the following question: + * - "Does this stack contribute to address X's self time?" + * Answer: result.selfAddress[stack] === X + * - "Does this stack contribute to address X's total time?" + * Answer: result.stackAddresses[stack].has(X) + */ +export function getStackAddressInfo( + stackTable: StackTable, + frameTable: FrameTable, + funcTable: FuncTable, + nativeSymbol: IndexIntoNativeSymbolTable, + isInvertedTree: boolean +): StackAddressInfo { + return isInvertedTree + ? getStackAddressInfoInverted( + stackTable, + frameTable, + funcTable, + nativeSymbol + ) + : getStackAddressInfoNonInverted( + stackTable, + frameTable, + funcTable, + nativeSymbol + ); +} + +/** + * This function handles the non-inverted case of getStackAddressInfo. + * + * Compute the sets of instruction addresses for the given native symbol that + * are hit by each stack. + * For each stack in the stack table and each address for the native symbol, we + * answer the questions "Does this stack contribute to address X's self time? + * Does it contribute to address X's total time?" + * Each stack can only contribute to one address's self time: the address of the + * stack's own frame. + * But each stack can contribute to the total time of multiple addresses for a + * single native symbol, if there's recursion and the same native symbol (outer + * function) is present in multiple places in the stack. + * E.g if function A calls into B which calls into A, the call path [A, B, A] + * will contribute to the total time of 2 addresses: + * 1. The address in function A which has the call instruction to B, + * 2. The address in function A that is being executed at that stack (stack.frame.address). + * And if the call to B has been inlined into A, then it'll still just be two + * addresses, because the inlined frame has the same address as its parent frame. + * But with more complicated recursion you could have more than two addresses + * from the same native symbol in the same stack. + * + * This last address in a stack is the stack's "self address". + * If there is recursion, and the same address is present in multiple frames in + * the same stack, the address is only counted once - the addresses are stored + * in a set. + * + * The returned StackAddressInfo is computed as follows: + * selfAddress[stack]: + * For stacks whose stack.frame.nativeSymbol is the given native symbol, + * this is stack.frame.address. + * For all other stacks this is null. + * stackAddresses[stack]: + * For stacks whose stack.frame.nativeSymbol is the given native symbol, + * this is the stackAddresses of its prefix stack, plus stack.frame.address + * added to the set. + * For all other stacks this is the same as the stackAddresses set of the + * stack's prefix. + */ +export function getStackAddressInfoNonInverted( + stackTable: StackTable, + frameTable: FrameTable, + funcTable: FuncTable, + nativeSymbol: IndexIntoNativeSymbolTable +): StackAddressInfo { + // "self address" == "the address which a stack's self time is contributed to" + const selfAddressForAllStacks = []; + // "total addresses" == "the set of addresses whose total time this stack contributes to" + const totalAddressesForAllStacks = []; + + // This loop takes advantage of the fact that the stack table is topologically ordered: + // Prefix stacks are always visited before their descendants. + // Each stack inherits the "total" addresses from its parent stack, and then adds its + // self address to that set. If the stack doesn't have a self address in the library, we just + // re-use the prefix's set object without copying it. + for (let stackIndex = 0; stackIndex < stackTable.length; stackIndex++) { + const frame = stackTable.frame[stackIndex]; + const prefixStack = stackTable.prefix[stackIndex]; + const nativeSymbolOfThisStack = frameTable.nativeSymbol[frame]; + + let selfAddress: Address | null = null; + let totalAddresses: Set
| null = + prefixStack !== null ? totalAddressesForAllStacks[prefixStack] : null; + + if (nativeSymbolOfThisStack === nativeSymbol) { + selfAddress = frameTable.address[frame]; + if (selfAddress !== -1) { + // Add this stack's address to this stack's totalAddresses. The rest of this stack's + // totalAddresses is the same as for the parent stack. + // We avoid creating new Set objects unless the new set is actually + // different. + if (totalAddresses === null) { + // None of the ancestor stack nodes have hit a address in the given library. + totalAddresses = new Set([selfAddress]); + } else if (!totalAddresses.has(selfAddress)) { + totalAddresses = new Set(totalAddresses); + totalAddresses.add(selfAddress); + } + } + } + + selfAddressForAllStacks.push(selfAddress); + totalAddressesForAllStacks.push(totalAddresses); + } + return { + selfAddress: selfAddressForAllStacks, + stackAddresses: totalAddressesForAllStacks, + }; +} + +/** + * This function handles the inverted case of getStackAddressInfo. + * + * The return value should exactly match what you'd get if you called + * `getStackAddressInfo` on the corresponding non-inverted thread. + * This function can probably be removed once we handle call tree inversion + * differently. + * + * Reminder about inverted threads: The self time is in the *root* nodes. Example: + * + * Stack node A, address 0x20 + * (called by) Stack node B, address 0x30 + * + * The inverted stack [A, B] contributes to the self time of address 0x20. + * + * The returned StackAddressInfo is computed as follows: + * selfAddress[stack]: + * For (inverted thread) root stack nodes whose stack.frame.nativeSymbol is + * the given native symbol, this is stack.frame.address. + * For (inverted thread) root stack nodes whose frame is in a different + * native symbol, this is null. + * For (inverted thread) *non-root* stack nodes, this is the same as the + * selfAddress of the stack's prefix. This way, the selfAddress is always + * inherited from the subtree root. + * stackAddresses[stack]: + * For stacks whose stack.frame.nativeSymbol is the given native symbol, + * this is the stackAddresses of its (inverted thread) prefix stack, plus + * stack.frame.address added to the set. + * For all other stacks this is the same as the stackAddresses set of the + * stack's prefix. + */ +export function getStackAddressInfoInverted( + stackTable: StackTable, + frameTable: FrameTable, + funcTable: FuncTable, + nativeSymbol: IndexIntoNativeSymbolTable +): StackAddressInfo { + // "self address" == "the address which a stack's self time is contributed to" + const selfAddressForAllStacks = []; + // "total addresses" == "the set of addresses whose total time this stack contributes to" + const totalAddressesForAllStacks = []; + + // This loop takes advantage of the fact that the stack table is topologically ordered: + // Prefix stacks are always visited before their descendants. + for (let stackIndex = 0; stackIndex < stackTable.length; stackIndex++) { + const frame = stackTable.frame[stackIndex]; + const prefixStack = stackTable.prefix[stackIndex]; + const nativeSymbolOfThisStack = frameTable.nativeSymbol[frame]; + + let selfAddress: Address | null = null; + let totalAddresses: Set
| null = null; + + if (prefixStack === null) { + // This stack node is a root of the inverted tree. That means that this stack's + // frame's address is where the self time is assigned, for the entire subtree of + // the inverted stack tree at this root. + if (nativeSymbolOfThisStack === nativeSymbol) { + selfAddress = frameTable.address[frame]; + if (selfAddress !== -1) { + totalAddresses = new Set([selfAddress]); + } + } + } else { + // This stack node has a prefix, which, in inverted mode, means that *this node + // calls someone else, and that's where the time is spent*. The prefix is the callee. + // So this stack node contributes its time to its root node's address. + // We inherit the prefix's self address. + selfAddress = selfAddressForAllStacks[prefixStack]; + + // Add this stack's address to the totalAddresses set. + totalAddresses = totalAddressesForAllStacks[prefixStack]; + if (nativeSymbolOfThisStack === nativeSymbol) { + const thisStackAddress = frameTable.address[frame]; + if (thisStackAddress !== -1) { + if (totalAddresses === null) { + totalAddresses = new Set([thisStackAddress]); + } else if (!totalAddresses.has(thisStackAddress)) { + totalAddresses = new Set(totalAddresses); + totalAddresses.add(thisStackAddress); + } + } + } + } + + selfAddressForAllStacks.push(selfAddress); + totalAddressesForAllStacks.push(totalAddresses); + } + return { + selfAddress: selfAddressForAllStacks, + stackAddresses: totalAddressesForAllStacks, + }; +} + +/** + * Gathers the addresses which are hit by a given call node. + * This is different from `getStackAddressInfo`: `getStackAddressInfo` counts + * address hits anywhere in the stack, and this function only counts hits *in + * the given call node*. + * + * This is useful when opening the assembly view from a call node: We can + * directly jump to the place in the assembly where *this particular call node* + * spends its time. + * + * Returns a StackAddressInfo object for the given stackTable and for the library + * which contains the call node's func. + */ +export function getStackAddressInfoForCallNode( + stackTable: StackTable, + frameTable: FrameTable, + callNodeIndex: IndexIntoCallNodeTable, + callNodeInfo: CallNodeInfo, + nativeSymbol: IndexIntoNativeSymbolTable, + isInvertedTree: boolean +): StackAddressInfo { + return isInvertedTree + ? getStackAddressInfoForCallNodeInverted( + stackTable, + frameTable, + callNodeIndex, + callNodeInfo, + nativeSymbol + ) + : getStackAddressInfoForCallNodeNonInverted( + stackTable, + frameTable, + callNodeIndex, + callNodeInfo, + nativeSymbol + ); +} + +/** + * This function handles the non-inverted case of getStackAddressInfoForCallNode. + * + * Gathers the addresses which are hit by a given call node in a given native + * symbol. + * + * This is best explained with an example. We first start with a case that does + * not have any inlining, because this is already complicated enough. + * + * Let the call node be the node for the call path [A, B, C]. + * Let the native symbol be C. + * Let every frame have inlineDepth:0. + * Let there be a native symbol for every func, with the same name as the func. + * Let this be the stack tree: + * + * - stack 1, func A + * - stack 2, func B + * - stack 3, func C, address 0x30 + * - stack 4, func C, address 0x40 + * - stack 5, func B + * - stack 6, func C, address 0x60 + * - stack 7, func C, address 0x70 + * - stack 8, func D + * - stack 9, func E + * - stack 10, func F + * + * This maps to the following call tree: + * + * - call node 1, func A + * - call node 2, func B + * - call node 3, func C + * - call node 4, func D + * - call node 5, func E + * - call node 6, func F + * + * The call path [A, B, C] uniquely identifies call node 3. + * The following stacks all "collapse into" ("map to") call node 3: + * stack 3, 4, 6 and 7. + * Stack 8 maps to call node 4, which is a child of call node 3. + * Stacks 1, 2, 5, 9 and 10 are outside the call path [A, B, C]. + * + * In this function, we only compute "address hits" that are contributed to + * the given call node. + * Stacks 3, 4, 6 and 7 all contribute their time both as "self time" + * and as "total time" to call node 3, at the addresses 0x30, 0x40, 0x60, + * and 0x70, respectively. + * Stack 8 also hits call node 3 at address 0x70, but does not contribute to + * call node 3's "self time", it only contributes to its "total time". + * Stacks 1, 2, 5, 9 and 10 don't contribute to call node 3's self or total time. + * + * Now here's an example *with* inlining. + * + * Let the call node be the node for the call path [A, B, C]. + * Let the native symbol be B. + * Let this be the stack tree: + * + * - stack 1, func A, nativeSymbol A + * - stack 2, func B, nativeSymbol B, address 0x40 + * - stack 3, func C, nativeSymbol B, address 0x40, inlineDepth 1 + * - stack 4, func B, nativeSymbol B, address 0x45 + * - stack 5, func C, nativeSymbol B, address 0x45, inlineDepth 1 + * - stack 6, func D, nativeSymbol D + * - stack 7, func E, nativeSymbol E + * - stack 8, func A, nativeSymbol A, address 0x30 + * - stack 9, func B, nativeSymbol A, address 0x30, inlineDepth 1 + * - stack 10, func C, nativeSymbol A, address 0x30, inlineDepth 2 + * + * This maps to the following call tree: + * + * - call node 1, func A + * - call node 2, func B + * - call node 3, func C + * - call node 4, func D + * - call node 5, func E + * + * The funky part here is that call node 3 has frames from two different native + * symbols: Two from native symbol B, and one from native symbol A. That's + * because B is present both as its own native symbol (separate outer function) + * and as an inlined call from A. In other words, C has been inlined both into + * a standalone B and also into another copy of B which was inlined into A. + * + * This means that, if the user double clicks call node 3, there are two + * different symbols for which we may want to display the assembly code. And + * depending on whether the assembly for A or for B is displayed, we want to + * call this function for a different native symbol. + * + * In this example, we call this function for native symbol B. + * + * The call path [A, B, C] uniquely identifies call node 3. + * The following stacks all "collapse into" ("map to") call node 3: + * stack 3, 5 and 10. However, only stacks 3 and 5 belong to native symbol B; + * stack 10 belongs to native symbol A. + * Stack 6 maps to call node 4, which is a child of call node 3. + * Stacks 1, 2, 4, 7, 8 and 9 are outside the call path [A, B, C]. + * + * Stacks 3 and 5 both contribute their time both as "self time" and as "total + * time" to call node 3 and native symbol B, at the addresses 0x40 and 0x45, + * respectively. Stack 10 has the right call node but the wrong native symbol, + * so it contributes to neither self nor total time. + * Stack 6 also hits call node 3 at address 0x45, but does not contribute to + * call node 3's "self time", it only contributes to its "total time". + * Stacks 1, 2, 4, 7, 8 and 9 don't contribute to call node 3's self or total time. + * + * --- + * + * All stacks can contribute no more than one address in the given call node. + * This is different from the getStackAddressInfo function above, where each + * stack can hit many addreses in the same library, because all of the ancestor + * stacks are taken into account, rather than just one of them. Concretely, + * this means that in the returned StackAddressInfo, each stackAddresses[stack] + * set will only contain at most one element. + * + * The returned StackAddressInfo is computed as follows: + * selfAddress[stack]: + * For stacks that map to the given call node and whose nativeSymbol is the + * given native symbol, this is stack.frame.address. + * For all other stacks this is null. + * stackAddresses[stack]: + * For stacks that map to the given call node or one of its descendant + * call nodes, and whose nativeSymbol is the given native symbol, this is a + * set containing one element, which is ancestorStack.frame.address, where + * ancestorStack maps to the given call node. + * For all other stacks, this is null. + */ +export function getStackAddressInfoForCallNodeNonInverted( + stackTable: StackTable, + frameTable: FrameTable, + callNodeIndex: IndexIntoCallNodeTable, + { stackIndexToCallNodeIndex }: CallNodeInfo, + nativeSymbol: IndexIntoNativeSymbolTable +): StackAddressInfo { + // "self address" == "the address which a stack's self time is contributed to" + const callNodeSelfAddressForAllStacks = []; + // "total addresses" == "the set of addresses whose total time this stack contributes to" + // Either null or a single-element set. + const callNodeTotalAddressesForAllStacks = []; + + // This loop takes advantage of the fact that the stack table is topologically ordered: + // Prefix stacks are always visited before their descendants. + for (let stackIndex = 0; stackIndex < stackTable.length; stackIndex++) { + let selfAddress: Address | null = null; + let totalAddresses: Set
| null = null; + const frame = stackTable.frame[stackIndex]; + + if ( + stackIndexToCallNodeIndex[stackIndex] === callNodeIndex && + frameTable.nativeSymbol[frame] === nativeSymbol + ) { + // This stack contributes to the call node's self time for the right + // native symbol. We needed to check both, because multiple stacks for the + // same call node can have different native symbols. + selfAddress = frameTable.address[frame]; + if (selfAddress !== -1) { + totalAddresses = new Set([selfAddress]); + } + } else { + // This stack does not map to the given call node or has the wrong native + // symbol. So this stack contributes no self time to the call node for the + // requested native symbol, and we leave selfAddress at null. + // As for totalTime, this stack contributes to the same address's totalTime + // as its parent stack: If it is a descendant of a stack X which maps to + // the given call node, then it contributes to stack X's address's totalTime, + // otherwise it contributes to no address's totalTime. + // In the example above, this is how stack 8 contributes to call node 3's + // totalTime. + const prefixStack = stackTable.prefix[stackIndex]; + totalAddresses = + prefixStack !== null + ? callNodeTotalAddressesForAllStacks[prefixStack] + : null; + } + + callNodeSelfAddressForAllStacks.push(selfAddress); + callNodeTotalAddressesForAllStacks.push(totalAddresses); + } + return { + selfAddress: callNodeSelfAddressForAllStacks, + stackAddresses: callNodeTotalAddressesForAllStacks, + }; +} + +/** + * This handles the inverted case of getStackAddressInfoForCallNode. + * + * The returned StackAddressInfo is computed as follows: + * selfAddress[stack]: + * For (inverted thread) root stack nodes that map to the given call node + * and whose stack.frame.nativeSymbol is the given library, this is stack.frame.address. + * For (inverted thread) root stack nodes whose frame is in a different library, + * or which don't map to the given call node, this is null. + * For (inverted thread) *non-root* stack nodes, this is the same as the selfAddress + * of the stack's prefix. This way, the selfAddress is always inherited from the + * subtree root. + * stackAddresses[stack]: + * For stacks that map to the given call node or one of its (inverted tree) + * descendant call nodes, this is a set containing one element, which is + * ancestorStack.frame.address, where ancestorStack maps to the given call + * node. + * For all other stacks, this is null. + */ +export function getStackAddressInfoForCallNodeInverted( + stackTable: StackTable, + frameTable: FrameTable, + callNodeIndex: IndexIntoCallNodeTable, + { stackIndexToCallNodeIndex }: CallNodeInfo, + nativeSymbol: IndexIntoNativeSymbolTable +): StackAddressInfo { + // "self address" == "the address which a stack's self time is contributed to" + const callNodeSelfAddressForAllStacks = []; + // "total addresses" == "the set of addresses whose total time this stack contributes to" + // Either null or a single-element set. + const callNodeTotalAddressesForAllStacks = []; + + // This loop takes advantage of the fact that the stack table is topologically ordered: + // Prefix stacks are always visited before their descendants. + for (let stackIndex = 0; stackIndex < stackTable.length; stackIndex++) { + let selfAddress: Address | null = null; + let totalAddresses: Set
| null = null; + + const prefixStack = stackTable.prefix[stackIndex]; + if ( + stackIndexToCallNodeIndex[stackIndex] === callNodeIndex && + frameTable.nativeSymbol[stackTable.frame[stackIndex]] === nativeSymbol + ) { + // This stack contributes to the call node's self time for the right + // native symbol. We needed to check both, because multiple stacks for the + // same call node can have different native symbols. + const frame = stackTable.frame[stackIndex]; + const address = frameTable.address[frame]; + if (address !== -1) { + totalAddresses = new Set([address]); + if (prefixStack === null) { + // This is a root of the inverted tree, and it is the given + // call node. That means that we have a self address. + selfAddress = address; + } else { + // This is not a root stack node, so no self time is spent + // in the given call node for this stack node. + } + } + } else { + if (prefixStack === null) { + // This is a root of the inverted tree, but it doesn't map + // to the given call node. It doesn't contribute to the call node's + // self time or total time. + } else { + // This is not a root stack node. Samples that hit this stack node + // spend their time in the root node of our subtree. If that root + // maps to the given call node, we may have self time. + // Inherit both self and total time contribution from the parent stack. + selfAddress = callNodeSelfAddressForAllStacks[prefixStack]; + totalAddresses = callNodeTotalAddressesForAllStacks[prefixStack]; + } + } + + callNodeSelfAddressForAllStacks.push(selfAddress); + callNodeTotalAddressesForAllStacks.push(totalAddresses); + } + return { + selfAddress: callNodeSelfAddressForAllStacks, + stackAddresses: callNodeTotalAddressesForAllStacks, + }; +} + +// An AddressTimings instance without any hits. +export const emptyAddressTimings: AddressTimings = { + totalAddressHits: new Map(), + selfAddressHits: new Map(), +}; + +// Compute the AddressTimings for the supplied samples with the help of StackAddressInfo. +// This is fast and can be done whenever the preview selection changes. +// The slow part was the computation of the StackAddressInfo, which is already done. +export function getAddressTimings( + stackAddressInfo: StackAddressInfo | null, + samples: SamplesLikeTable +): AddressTimings { + if (stackAddressInfo === null) { + return emptyAddressTimings; + } + const { selfAddress, stackAddresses } = stackAddressInfo; + const totalAddressHits: Map = new Map(); + const selfAddressHits: Map = new Map(); + + // Iterate over all the samples, and aggregate the sample's weight into the + // addresses which are hit by the sample's stack. + // TODO: Maybe aggregate sample count per stack first, and then visit each stack only once? + for (let sampleIndex = 0; sampleIndex < samples.length; sampleIndex++) { + const stackIndex = samples.stack[sampleIndex]; + if (stackIndex === null) { + continue; + } + const weight = samples.weight ? samples.weight[sampleIndex] : 1; + const setOfHitAddresses = stackAddresses[stackIndex]; + if (setOfHitAddresses !== null) { + for (const address of setOfHitAddresses) { + const oldHitCount = totalAddressHits.get(address) ?? 0; + totalAddressHits.set(address, oldHitCount + weight); + } + } + const address = selfAddress[stackIndex]; + if (address !== null) { + const oldHitCount = selfAddressHits.get(address) ?? 0; + selfAddressHits.set(address, oldHitCount + weight); + } + } + return { totalAddressHits, selfAddressHits }; +} diff --git a/src/test/unit/address-timings.test.js b/src/test/unit/address-timings.test.js new file mode 100644 index 0000000000..c787dfdf3f --- /dev/null +++ b/src/test/unit/address-timings.test.js @@ -0,0 +1,425 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// @flow + +import { getProfileFromTextSamples } from '../fixtures/profiles/processed-profile'; +import { + getStackAddressInfo, + getStackAddressInfoForCallNode, + getAddressTimings, +} from 'firefox-profiler/profile-logic/address-timings'; +import { + invertCallstack, + getCallNodeInfo, + getCallNodeIndexFromPath, +} from '../../profile-logic/profile-data'; +import { ensureExists } from 'firefox-profiler/utils/flow'; +import type { + CallNodePath, + Thread, + IndexIntoCategoryList, + IndexIntoNativeSymbolTable, +} from 'firefox-profiler/types'; + +describe('getStackAddressInfo', function () { + it('computes results for all stacks', function () { + const { profile, nativeSymbolsDictPerThread } = getProfileFromTextSamples(` + A[lib:one][address:0x20][sym:Asym] A[lib:one][address:0x21][sym:Asym] A[lib:one][address:0x20][sym:Asym] + B[lib:one][address:0x30][sym:Bsym] B[lib:one][address:0x30][sym:Bsym] B[lib:one][address:0x30][sym:Bsym] + C[lib:two][address:0x10][sym:Csym] C[lib:two][address:0x11][sym:Csym] D[lib:two][address:0x40][sym:Dsym] + B[lib:one][address:0x30][sym:Bsym] D[lib:two][address:0x40][sym:Dsym] + `); + const [thread] = profile.threads; + const [{ Asym }] = nativeSymbolsDictPerThread; + const { stackTable, frameTable, funcTable } = thread; + + const stackLineInfoOne = getStackAddressInfo( + stackTable, + frameTable, + funcTable, + Asym, + false + ); + + // Expect the returned arrays to have the same length as the stackTable. + expect(stackTable.length).toBe(9); + expect(stackLineInfoOne.selfAddress.length).toBe(9); + expect(stackLineInfoOne.stackAddresses.length).toBe(9); + }); +}); + +describe('getAddressTimings for getStackAddressInfo', function () { + function getTimings( + thread: Thread, + sym: IndexIntoNativeSymbolTable, + isInverted: boolean + ) { + const { stackTable, frameTable, funcTable, samples } = thread; + const stackLineInfo = getStackAddressInfo( + stackTable, + frameTable, + funcTable, + sym, + isInverted + ); + return getAddressTimings(stackLineInfo, samples); + } + + it('passes a basic test', function () { + // In this example, there's one self address hit at address 0x30. + // Both address 0x20 and address 0x30 have one total time hit. + const { profile, nativeSymbolsDictPerThread } = getProfileFromTextSamples(` + A[lib:file][address:0x20][sym:Asym] + A[lib:file][address:0x30][sym:Asym] + `); + const [thread] = profile.threads; + const [{ Asym }] = nativeSymbolsDictPerThread; + const addressTimings = getTimings(thread, Asym, false); + expect(addressTimings.totalAddressHits.get(0x20)).toBe(1); + expect(addressTimings.totalAddressHits.get(0x30)).toBe(1); + expect(addressTimings.totalAddressHits.size).toBe(2); // no other hits + expect(addressTimings.selfAddressHits.get(0x20)).toBe(undefined); + expect(addressTimings.selfAddressHits.get(0x30)).toBe(1); + expect(addressTimings.selfAddressHits.size).toBe(1); // no other hits + }); + + it('passes a test with inlining', function () { + // In this example, there's one self address hit at address 0x30. + // Both address 0x20 and address 0x30 have one total time hit. + const { profile, nativeSymbolsDictPerThread } = getProfileFromTextSamples(` + A[lib:file][address:0x20][sym:Asym] + B[lib:file][address:0x20][sym:Asym][inl:1] + C[lib:file][address:0x20][sym:Asym][inl:2] + A[lib:file][address:0x30][sym:Asym] + `); + const [thread] = profile.threads; + const [{ Asym }] = nativeSymbolsDictPerThread; + const addressTimings = getTimings(thread, Asym, false); + expect(addressTimings.totalAddressHits.get(0x20)).toBe(1); + expect(addressTimings.totalAddressHits.get(0x30)).toBe(1); + expect(addressTimings.totalAddressHits.size).toBe(2); // no other hits + expect(addressTimings.selfAddressHits.get(0x20)).toBe(undefined); + expect(addressTimings.selfAddressHits.get(0x30)).toBe(1); + expect(addressTimings.selfAddressHits.size).toBe(1); // no other hits + }); + + it('passes a test with two files and recursion', function () { + const { profile, nativeSymbolsDictPerThread } = getProfileFromTextSamples(` + A[lib:one][address:0x20][sym:Asym] A[lib:one][address:0x21][sym:Asym] A[lib:one][address:0x20][sym:Asym] + B[lib:one][address:0x30][sym:Bsym] B[lib:one][address:0x30][sym:Bsym] B[lib:one][address:0x30][sym:Bsym] + C[lib:two][address:0x10][sym:Csym] C[lib:two][address:0x11][sym:Csym] D[lib:two][address:0x40][sym:Dsym] + B[lib:one][address:0x30][sym:Bsym] D[lib:two][address:0x40][sym:Dsym] + `); + const [thread] = profile.threads; + const [{ Asym, Bsym, Csym, Dsym }] = nativeSymbolsDictPerThread; + + const addressTimingsA = getTimings(thread, Asym, false); + expect(addressTimingsA.totalAddressHits.get(0x20)).toBe(2); + expect(addressTimingsA.totalAddressHits.get(0x21)).toBe(1); + // 0x30 is in the righ lib (one) but in the wrong native symbol (B instead + // of A), so we should not see any hits on it. + expect(addressTimingsA.totalAddressHits.get(0x30)).toBe(undefined); + expect(addressTimingsA.totalAddressHits.size).toBe(2); // no other hits + // There is no self address hit for Asym. + expect(addressTimingsA.selfAddressHits.get(0x20)).toBe(undefined); + expect(addressTimingsA.selfAddressHits.get(0x21)).toBe(undefined); + expect(addressTimingsA.selfAddressHits.get(0x30)).toBe(undefined); + expect(addressTimingsA.selfAddressHits.size).toBe(0); // no other hits + + const addressTimingsB = getTimings(thread, Bsym, false); + // Address 0x30 was hit in every sample, twice in the first sample + // (due to recursion) but that still only counts as one sample + expect(addressTimingsB.totalAddressHits.get(0x30)).toBe(3); + expect(addressTimingsB.totalAddressHits.size).toBe(1); // no other hits + // There is only one self address hit for Bsym: 0x30 in the first sample. + expect(addressTimingsB.selfAddressHits.get(0x20)).toBe(undefined); + expect(addressTimingsB.selfAddressHits.get(0x21)).toBe(undefined); + expect(addressTimingsB.selfAddressHits.get(0x30)).toBe(1); + expect(addressTimingsB.selfAddressHits.size).toBe(1); // no other hits + + const addressTimingsC = getTimings(thread, Csym, false); + expect(addressTimingsC.totalAddressHits.get(0x10)).toBe(1); + expect(addressTimingsC.totalAddressHits.get(0x11)).toBe(1); + expect(addressTimingsC.totalAddressHits.size).toBe(2); // no other hits + expect(addressTimingsC.selfAddressHits.get(0x10)).toBe(undefined); + expect(addressTimingsC.selfAddressHits.get(0x11)).toBe(1); + expect(addressTimingsC.selfAddressHits.size).toBe(1); // no other hits + + const addressTimingsD = getTimings(thread, Dsym, false); + expect(addressTimingsD.totalAddressHits.get(0x40)).toBe(1); + expect(addressTimingsD.totalAddressHits.size).toBe(1); // no other hits + // Dsym's address 0x40 recursed but should only be counted as 1 sample + expect(addressTimingsD.selfAddressHits.get(0x40)).toBe(1); + expect(addressTimingsD.selfAddressHits.size).toBe(1); // no other hits + }); + + it('computes the same values on an inverted thread', function () { + const { profile, nativeSymbolsDictPerThread } = getProfileFromTextSamples(` + A[lib:one][address:0x20][sym:Asym] A[lib:one][address:0x21][sym:Asym] A[lib:one][address:0x20][sym:Asym] + B[lib:one][address:0x30][sym:Bsym] B[lib:one][address:0x30][sym:Bsym] B[lib:one][address:0x30][sym:Bsym] + C[lib:two][address:0x10][sym:Csym] C[lib:two][address:0x11][sym:Csym] D[lib:two][address:0x40][sym:Dsym] + B[lib:one][address:0x30][sym:Bsym] D[lib:two][address:0x40][sym:Dsym] + `); + const categories = ensureExists( + profile.meta.categories, + 'Expected to find categories' + ); + + const [thread] = profile.threads; + const [{ Asym, Bsym, Csym, Dsym }] = nativeSymbolsDictPerThread; + const defaultCategory = categories.findIndex((c) => c.color === 'grey'); + const invertedThread = invertCallstack(thread, defaultCategory); + + const addressTimingsA = getTimings(thread, Asym, false); + const addressTimingsInvertedA = getTimings(invertedThread, Asym, true); + expect(addressTimingsInvertedA).toEqual(addressTimingsA); + + const addressTimingsB = getTimings(thread, Bsym, false); + const addressTimingsInvertedB = getTimings(invertedThread, Bsym, true); + expect(addressTimingsInvertedB).toEqual(addressTimingsB); + + const addressTimingsC = getTimings(thread, Csym, false); + const addressTimingsInvertedC = getTimings(invertedThread, Csym, true); + expect(addressTimingsInvertedC).toEqual(addressTimingsC); + + const addressTimingsD = getTimings(thread, Dsym, false); + const addressTimingsInvertedD = getTimings(invertedThread, Dsym, true); + expect(addressTimingsInvertedD).toEqual(addressTimingsD); + }); +}); + +describe('getAddressTimings for getStackAddressInfoForCallNode', function () { + function getTimings( + thread: Thread, + callNodePath: CallNodePath, + defaultCat: IndexIntoCategoryList, + nativeSymbol: IndexIntoNativeSymbolTable, + isInverted: boolean + ) { + const { stackTable, frameTable, funcTable, samples } = thread; + const callNodeInfo = getCallNodeInfo( + stackTable, + frameTable, + funcTable, + defaultCat + ); + const callNodeIndex = ensureExists( + getCallNodeIndexFromPath(callNodePath, callNodeInfo.callNodeTable), + 'invalid call node path' + ); + const stackLineInfo = getStackAddressInfoForCallNode( + stackTable, + frameTable, + callNodeIndex, + callNodeInfo, + nativeSymbol, + isInverted + ); + return getAddressTimings(stackLineInfo, samples); + } + + it('passes a basic test', function () { + const { profile, funcNamesDictPerThread, nativeSymbolsDictPerThread } = + getProfileFromTextSamples(` + A[lib:file][address:0x20][sym:Asym] + B[lib:file][address:0x30][sym:Bsym] + `); + const categories = ensureExists( + profile.meta.categories, + 'Expected to find categories' + ); + const defaultCat = categories.findIndex((c) => c.color === 'grey'); + + const [{ A, B }] = funcNamesDictPerThread; + const [{ Asym, Bsym }] = nativeSymbolsDictPerThread; + const [thread] = profile.threads; + + // Compute the address timings for the root call node. + // No self address hit, one total address hit at address 0x20. + const addressTimingsRoot = getTimings(thread, [A], defaultCat, Asym, false); + expect(addressTimingsRoot.totalAddressHits.get(0x20)).toBe(1); + expect(addressTimingsRoot.totalAddressHits.size).toBe(1); // no other hits + expect(addressTimingsRoot.selfAddressHits.size).toBe(0); // no self hits + + // Compute the address timings for the child call node. + // One self address hit at address 0x30, which is also the only total address hit. + const addressTimingsChild = getTimings( + thread, + [A, B], + defaultCat, + Bsym, + false + ); + expect(addressTimingsChild.totalAddressHits.get(0x30)).toBe(1); + expect(addressTimingsChild.totalAddressHits.size).toBe(1); // no other hits + expect(addressTimingsChild.selfAddressHits.get(0x30)).toBe(1); + expect(addressTimingsChild.selfAddressHits.size).toBe(1); // no other hits + }); + + it('passes a basic test with recursion', function () { + const { profile, funcNamesDictPerThread, nativeSymbolsDictPerThread } = + getProfileFromTextSamples(` + A[lib:file][address:0x20][sym:Asym] + B[lib:file][address:0x30][sym:Bsym] + A[lib:file][address:0x21][sym:Asym] + `); + const categories = ensureExists( + profile.meta.categories, + 'Expected to find categories' + ); + const defaultCat = categories.findIndex((c) => c.color === 'grey'); + + const [{ A, B }] = funcNamesDictPerThread; + const [{ Asym }] = nativeSymbolsDictPerThread; + const [thread] = profile.threads; + + // Compute the address timings for the root call node. + // No self address hit, one total address hit at address 0x20. + const addressTimingsRoot = getTimings(thread, [A], defaultCat, Asym, false); + expect(addressTimingsRoot.totalAddressHits.get(0x20)).toBe(1); + expect(addressTimingsRoot.totalAddressHits.size).toBe(1); // no other hits + expect(addressTimingsRoot.selfAddressHits.size).toBe(0); // no self hits + + // Compute the address timings for the leaf call node. + // One self address hit at address 0x21, which is also the only total address hit. + // In particular, we shouldn't record a hit for line 20, even though + // the hit at line 20 is also in A. But it's in the wrong call node. + const addressTimingsChild = getTimings( + thread, + [A, B, A], + defaultCat, + Asym, + false + ); + expect(addressTimingsChild.totalAddressHits.get(0x21)).toBe(1); + expect(addressTimingsChild.totalAddressHits.size).toBe(1); // no other hits + expect(addressTimingsChild.selfAddressHits.get(0x21)).toBe(1); + expect(addressTimingsChild.selfAddressHits.size).toBe(1); // no other hits + }); + + it('passes a test where the same function is called via different call paths', function () { + const { profile, funcNamesDictPerThread, nativeSymbolsDictPerThread } = + getProfileFromTextSamples(` + A[lib:one][address:0x20][sym:Asym] A[lib:one][address:0x21][sym:Asym] A[lib:one][address:0x20][sym:Asym] + B[lib:one][address:0x30][sym:Bsym] D[lib:one][address:0x50][sym:Dsym] B[lib:one][address:0x31][sym:Bsym] + C[lib:two][address:0x10][sym:Csym] C[lib:two][address:0x11][sym:Csym] C[lib:two][address:0x12][sym:Csym] + D[lib:one][address:0x51][sym:Dsym] + `); + const categories = ensureExists( + profile.meta.categories, + 'Expected to find categories' + ); + const defaultCat = categories.findIndex((c) => c.color === 'grey'); + + const [{ A, B, C }] = funcNamesDictPerThread; + const [{ Csym }] = nativeSymbolsDictPerThread; + const [thread] = profile.threads; + + const addressTimingsABC = getTimings( + thread, + [A, B, C], + defaultCat, + Csym, + false + ); + expect(addressTimingsABC.totalAddressHits.get(0x10)).toBe(1); + expect(addressTimingsABC.totalAddressHits.get(0x12)).toBe(1); + expect(addressTimingsABC.totalAddressHits.size).toBe(2); // no other hits + expect(addressTimingsABC.selfAddressHits.get(0x10)).toBe(1); + expect(addressTimingsABC.selfAddressHits.size).toBe(1); // no other hits + }); + + it('passes a test with an inverted thread', function () { + const { profile, funcNamesDictPerThread, nativeSymbolsDictPerThread } = + getProfileFromTextSamples(` + A[lib:one][address:0x20][sym:Asym] A[lib:one][address:0x21][sym:Asym] A[lib:one][address:0x20][sym:Asym] + B[lib:one][address:0x30][sym:Bsym] D[lib:one][address:0x50][sym:Dsym] B[lib:one][address:0x31][sym:Bsym] + D[lib:one][address:0x51][sym:Dsym] D[lib:one][address:0x52][sym:Dsym] C[lib:two][address:0x12][sym:Csym] + D[lib:one][address:0x51][sym:Dsym] + `); + const categories = ensureExists( + profile.meta.categories, + 'Expected to find categories' + ); + const defaultCat = categories.findIndex((c) => c.color === 'grey'); + + const [{ C, D }] = funcNamesDictPerThread; + const [{ Csym, Dsym }] = nativeSymbolsDictPerThread; + const [thread] = profile.threads; + const invertedThread = invertCallstack(thread, defaultCat); + + // For the root D of the inverted tree, we have 3 self address hits. + const addressTimingsD = getTimings( + invertedThread, + [D], + defaultCat, + Dsym, + true + ); + expect(addressTimingsD.totalAddressHits.get(0x51)).toBe(2); + expect(addressTimingsD.totalAddressHits.get(0x52)).toBe(1); + expect(addressTimingsD.totalAddressHits.size).toBe(2); // no other hits + expect(addressTimingsD.selfAddressHits.get(0x51)).toBe(2); + expect(addressTimingsD.selfAddressHits.get(0x52)).toBe(1); + expect(addressTimingsD.selfAddressHits.size).toBe(2); // no other hits + + // For the C call node which is a child (direct caller) of D, we have + // no self address hit and one hit at address 0x12. + const addressTimingsDC = getTimings( + invertedThread, + [D, C], + defaultCat, + Csym, + true + ); + expect(addressTimingsDC.totalAddressHits.get(0x12)).toBe(1); + expect(addressTimingsDC.totalAddressHits.size).toBe(1); // no other hits + expect(addressTimingsDC.selfAddressHits.size).toBe(0); // no self address hits + }); + + it('passes a test where a function is present in two different native symbols', function () { + // The funky part here is that the targeted call node has frames from two different native + // symbols: Two from native symbol Bsym, and one from native symbol Asym. That's + // because B is present both as its own native symbol (separate outer function) + // and as an inlined call from A. In other words, C has been inlined both into + // a standalone B and also into another copy of B which was inlined into A. + // + // This means that, if the user double clicks call node [A, B, C], there are two + // different symbols for which we may want to display the assembly code. And + // depending on whether the assembly for Asym or for Bsym is displayed, we want to + // call this function for a different native symbol. + // + // In this test, we compute the timings for native symbol Bsym. + const { profile, funcNamesDictPerThread, nativeSymbolsDictPerThread } = + getProfileFromTextSamples(` + A[lib:one][address:0x20][sym:Asym] A[lib:one][address:0x30][sym:Asym] A[lib:one][address:0x20][sym:Asym] A[lib:one][address:0x20][sym:Asym] + B[lib:one][address:0x40][sym:Bsym] B[lib:one][address:0x30][sym:Asym][inl:1] B[lib:one][address:0x45][sym:Bsym] E[lib:one][address:0x31][sym:Esym] + C[lib:one][address:0x40][sym:Bsym][inl:1] C[lib:one][address:0x30][sym:Asym][inl:2] C[lib:one][address:0x45][sym:Bsym] + D[lib:one][address:0x51][sym:Dsym] + `); + const categories = ensureExists( + profile.meta.categories, + 'Expected to find categories' + ); + const defaultCat = categories.findIndex((c) => c.color === 'grey'); + + const [{ A, B, C }] = funcNamesDictPerThread; + const [{ Bsym }] = nativeSymbolsDictPerThread; + const [thread] = profile.threads; + + const addressTimingsABCForBsym = getTimings( + thread, + [A, B, C], + defaultCat, + Bsym, + false + ); + expect(addressTimingsABCForBsym.totalAddressHits.get(0x40)).toBe(1); + expect(addressTimingsABCForBsym.totalAddressHits.get(0x45)).toBe(1); + expect(addressTimingsABCForBsym.totalAddressHits.size).toBe(2); // no other hits + expect(addressTimingsABCForBsym.selfAddressHits.get(0x40)).toBe(1); + expect(addressTimingsABCForBsym.selfAddressHits.size).toBe(1); // no other hits + }); +}); diff --git a/src/types/profile-derived.js b/src/types/profile-derived.js index aa9760b050..2b86b325a6 100644 --- a/src/types/profile-derived.js +++ b/src/types/profile-derived.js @@ -99,6 +99,31 @@ export type LineTimings = {| selfLineHits: Map, |}; +// Stores, for all stacks of a thread and for one specific file, the addresses +// in that file that are hit by each stack. +// This can be computed once for a filtered thread, and then queried cheaply +// as the preview selection changes. +// The order of these arrays is the same as the order of thread.stackTable; +// the array index is a stackIndex. +export type StackAddressInfo = {| + // An array that contains, for each stack, the address that this stack + // spends its self time in, in this library, or null if the self time of the + // stack is in a different library or if the address is not known. + selfAddress: Array
, + // An array that contains, for each stack, all the addresses that the frames + // in this stack hit in this library, or null if this stack does not hit any + // address in the given library. + stackAddresses: Array | null>, +|}; + +// Stores, for all addresses of one specific library, how many times each +// address is hit by samples in a thread. The maps only contain non-zero values. +// So map.get(address) === undefined should be treated as zero. +export type AddressTimings = {| + totalAddressHits: Map, + selfAddressHits: Map, +|}; + // Stores the information that's needed to prove to the symbolication API that // we are authorized to request the source code for a specific file. // This "address proof" makes it easy for the browser (or local symbol server) From 8bbd5cb3087991301e4a7bb5b172e3a4785d7597 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 12 Sep 2022 14:29:09 +0200 Subject: [PATCH 090/131] Update all development Yarn dependencies (2022-09-12) (PR #4229) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 8 ++-- yarn.lock | 111 +++++++++++++++++---------------------------------- 2 files changed, 41 insertions(+), 78 deletions(-) diff --git a/package.json b/package.json index 861bb01137..bec1504618 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@babel/preset-react": "^7.18.6", "@testing-library/dom": "^8.17.1", "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^13.3.0", + "@testing-library/react": "^13.4.0", "alex": "^10.0.0", "autoprefixer": "^10.4.8", "babel-jest": "^29.0.1", @@ -139,7 +139,7 @@ "husky": "^4.3.8", "jest": "^29.0.1", "jest-environment-jsdom": "^29.0.1", - "jest-extended": "^3.0.2", + "jest-extended": "^3.1.0", "json-loader": "^0.5.7", "local-web-server": "^4.2.1", "lockfile-lint": "^4.8.0", @@ -152,14 +152,14 @@ "raw-loader": "^4.0.2", "rimraf": "^3.0.2", "style-loader": "^2.0.0", - "stylelint": "^14.10.0", + "stylelint": "^14.11.0", "stylelint-config-idiomatic-order": "^8.1.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^28.0.0", "stylelint-prettier": "^2.0.0", "webpack": "^4.44.2", "webpack-cli": "^3.3.12", - "webpack-dev-server": "^4.10.0", + "webpack-dev-server": "^4.10.1", "workbox-webpack-plugin": "^6.5.4" }, "jest": { diff --git a/yarn.lock b/yarn.lock index d3615a76d0..539399fdc9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1337,13 +1337,6 @@ terminal-link "^2.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== - dependencies: - "@sinclair/typebox" "^0.24.1" - "@jest/schemas@^29.0.0": version "29.0.0" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" @@ -1781,10 +1774,10 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/react@^13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.3.0.tgz#bf298bfbc5589326bbcc8052b211f3bb097a97c5" - integrity sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ== +"@testing-library/react@^13.4.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" + integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== dependencies: "@babel/runtime" "^7.12.5" "@testing-library/dom" "^8.5.0" @@ -3887,10 +3880,10 @@ color@^3.1.1: color-convert "^1.9.1" color-string "^1.5.4" -colord@^2.9.2: - version "2.9.2" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" - integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== +colord@^2.9.3: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== colorette@^2.0.10: version "2.0.12" @@ -4721,11 +4714,6 @@ diff-sequences@^26.6.2: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== -diff-sequences@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" - integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== - diff-sequences@^29.0.0: version "29.0.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f" @@ -7659,25 +7647,15 @@ jest-diff@^26.0.0: jest-get-type "^26.3.0" pretty-format "^26.6.2" -jest-diff@^28.0.0: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== - dependencies: - chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - -jest-diff@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.0.2.tgz#1a99419efda66f9ee72f91e580e774df95de5ddc" - integrity sha512-b9l9970sa1rMXH1owp2Woprmy42qIwwll/htsw4Gf7+WuSp5bZxNhkKHDuCGKL+HoHn1KhcC+tNEeAPYBkD2Jg== +jest-diff@^29.0.0, jest-diff@^29.0.2: + version "29.0.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.0.3.tgz#41cc02409ad1458ae1bf7684129a3da2856341ac" + integrity sha512-+X/AIF5G/vX9fWK+Db9bi9BQas7M9oBME7egU7psbn4jlszLFCu0dW63UgeE6cs/GANq4fLaT+8sGHQQ0eCUfg== dependencies: chalk "^4.0.0" diff-sequences "^29.0.0" jest-get-type "^29.0.0" - pretty-format "^29.0.2" + pretty-format "^29.0.3" jest-docblock@^29.0.0: version "29.0.0" @@ -7723,24 +7701,19 @@ jest-environment-node@^29.0.2: jest-mock "^29.0.2" jest-util "^29.0.2" -jest-extended@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jest-extended/-/jest-extended-3.0.2.tgz#f74ae82bdf280536552752b502f57f71e7d2fcf1" - integrity sha512-LnVZvwWLRV9AL8J7f4frKu0KHuTrbIFK15IqrvSwbFCYxalkuC5l7HfcofsksePrvlEJ2WAcfYNnu1+bEGvInA== +jest-extended@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jest-extended/-/jest-extended-3.1.0.tgz#7998699751f3b5d9207d212b39c1837f59c7fecc" + integrity sha512-BbuAVUb2dchgwm7euayVt/7hYlkKaknQItKyzie7Li8fmXCglgf21XJeRIdOITZ/cMOTTj5Oh5IjQOxQOe/hfQ== dependencies: - jest-diff "^28.0.0" - jest-get-type "^28.0.0" + jest-diff "^29.0.0" + jest-get-type "^29.0.0" jest-get-type@^26.3.0: version "26.3.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-get-type@^28.0.0, jest-get-type@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== - jest-get-type@^29.0.0: version "29.0.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.0.0.tgz#843f6c50a1b778f7325df1129a0fd7aa713aef80" @@ -11011,20 +10984,10 @@ pretty-format@^27.0.2: ansi-styles "^5.0.0" react-is "^17.0.1" -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== - dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.0.2.tgz#7f7666a7bf05ba2bcacde61be81c6db64f6f3be6" - integrity sha512-wp3CdtUa3cSJVFn3Miu5a1+pxc1iPIQTenOAn+x5erXeN1+ryTcLesV5pbK/rlW5EKwp27x38MoYfNGaNXDDhg== +pretty-format@^29.0.2, pretty-format@^29.0.3: + version "29.0.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.0.3.tgz#23d5f8cabc9cbf209a77d49409d093d61166a811" + integrity sha512-cHudsvQr1K5vNVLbvYF/nv3Qy/F/BcEKxGuIeMiVMRHxPOO1RxXooP8g/ZrwAp7Dx+KdMZoOc7NxLHhMrP2f9Q== dependencies: "@jest/schemas" "^29.0.0" ansi-styles "^5.0.0" @@ -12982,14 +12945,14 @@ stylelint-prettier@^2.0.0: dependencies: prettier-linter-helpers "^1.0.0" -stylelint@^14.10.0: - version "14.10.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.10.0.tgz#c588f5cd47cd214cf1acee5bc165961b6a3ad836" - integrity sha512-VAmyKrEK+wNFh9R8mNqoxEFzaa4gsHGhcT4xgkQDuOA5cjF6CaNS8loYV7gpi4tIZBPUyXesotPXzJAMN8VLOQ== +stylelint@^14.11.0: + version "14.11.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.11.0.tgz#e2ecb28bbacab05e1fbeb84cbba23883b27499cc" + integrity sha512-OTLjLPxpvGtojEfpESWM8Ir64Z01E89xsisaBMUP/ngOx1+4VG2DPRcUyCCiin9Rd3kPXPsh/uwHd9eqnvhsYA== dependencies: "@csstools/selector-specificity" "^2.0.2" balanced-match "^2.0.0" - colord "^2.9.2" + colord "^2.9.3" cosmiconfig "^7.0.1" css-functions-list "^3.1.0" debug "^4.3.4" @@ -13024,7 +12987,7 @@ stylelint@^14.10.0: svg-tags "^1.0.0" table "^6.8.0" v8-compile-cache "^2.3.0" - write-file-atomic "^4.0.1" + write-file-atomic "^4.0.2" supports-color@^0.2.0: version "0.2.0" @@ -14221,10 +14184,10 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.10.0.tgz#de270d0009eba050546912be90116e7fd740a9ca" - integrity sha512-7dezwAs+k6yXVFZ+MaL8VnE+APobiO3zvpp3rBHe/HmWQ+avwh0Q3d0xxacOiBybZZ3syTZw9HXzpa3YNbAZDQ== +webpack-dev-server@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz#124ac9ac261e75303d74d95ab6712b4aec3e12ed" + integrity sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -14626,10 +14589,10 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write-file-atomic@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" - integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== +write-file-atomic@^4.0.1, write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" From 78e2d53dc187e3e41b72a34f08cc375c8a6d45d4 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 8 Sep 2022 18:16:17 +0200 Subject: [PATCH 091/131] Move component-specific CSS out of the shared file for TreeView --- src/components/calltree/CallTree.css | 49 +++++++++++++++++++++++++ src/components/calltree/CallTree.js | 2 ++ src/components/marker-table/index.css | 5 +++ src/components/shared/TreeView.css | 51 --------------------------- 4 files changed, 56 insertions(+), 51 deletions(-) create mode 100644 src/components/calltree/CallTree.css diff --git a/src/components/calltree/CallTree.css b/src/components/calltree/CallTree.css new file mode 100644 index 0000000000..b74edca50e --- /dev/null +++ b/src/components/calltree/CallTree.css @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +.treeViewHeaderColumn.total, +.treeViewHeaderColumn.self { + text-align: right; +} + +.treeViewFixedColumn.total { + left: 0; + width: 70px; +} + +.treeViewFixedColumn.totalPercent { + left: 70px; + width: 50px; + border-right: none; +} + +.treeViewFixedColumn.self { + left: 120px; + width: 70px; +} + +.treeViewHeaderColumn.total { + width: 120px; +} + +.treeViewFixedColumn.icon { + left: 190px; + display: flex; + width: 19px; + flex-flow: column nowrap; + align-items: center; +} + +.treeViewRowColumn.total, +.treeViewRowColumn.totalPercent, +.treeViewRowColumn.self, +.treeViewRowColumn.timestamp { + padding-right: 5px; + text-align: right; +} + +.treeBadge.inlined, +.treeBadge.divergent-inlining { + background: url(../../../res/img/svg/inlined-icon.svg); +} diff --git a/src/components/calltree/CallTree.js b/src/components/calltree/CallTree.js index a90ca3a250..cdfbda64eb 100644 --- a/src/components/calltree/CallTree.js +++ b/src/components/calltree/CallTree.js @@ -46,6 +46,8 @@ import type { CallTree as CallTreeType } from 'firefox-profiler/profile-logic/ca import type { Column } from 'firefox-profiler/components/shared/TreeView'; import type { ConnectedProps } from 'firefox-profiler/utils/connect'; +import './CallTree.css'; + type StateProps = {| +threadsKey: ThreadsKey, +scrollToSelectionGeneration: number, diff --git a/src/components/marker-table/index.css b/src/components/marker-table/index.css index 99e620f024..92e2f06c5c 100644 --- a/src/components/marker-table/index.css +++ b/src/components/marker-table/index.css @@ -30,6 +30,11 @@ width: 80px; } +.treeViewRowColumn.type { + padding-left: 5px; + text-align: left; +} + .treeViewMainColumn.name { left: 255px; } diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index 19f621c8a7..e3cca66340 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -92,11 +92,6 @@ content: ''; } -.treeViewHeaderColumn.total, -.treeViewHeaderColumn.self { - text-align: right; -} - .treeViewRowColumn.treeViewFixedColumn { overflow: hidden; box-sizing: border-box; @@ -104,47 +99,6 @@ text-overflow: ellipsis; } -.treeViewFixedColumn.total { - left: 0; - width: 70px; -} - -.treeViewFixedColumn.totalPercent { - left: 70px; - width: 50px; - border-right: none; -} - -.treeViewFixedColumn.self { - left: 120px; - width: 70px; -} - -.treeViewHeaderColumn.total { - width: 120px; -} - -.treeViewFixedColumn.icon { - left: 190px; - display: flex; - width: 19px; - flex-flow: column nowrap; - align-items: center; -} - -.treeViewRowColumn.total, -.treeViewRowColumn.totalPercent, -.treeViewRowColumn.self, -.treeViewRowColumn.timestamp { - padding-right: 5px; - text-align: right; -} - -.treeViewRowColumn.type { - padding-left: 5px; - text-align: left; -} - .treeBadge { display: inline-block; overflow: hidden; @@ -155,11 +109,6 @@ vertical-align: -2px; } -.treeBadge.inlined, -.treeBadge.divergent-inlining { - background: url(../../../res/img/svg/inlined-icon.svg); -} - .treeRowIndentSpacer { flex-shrink: 0; } From cdbfc439da930d6151a4245453e646f151568184 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 8 Sep 2022 17:25:33 +0200 Subject: [PATCH 092/131] Use display: flex for the TreeView headers --- src/components/calltree/CallTree.css | 18 +++++++------- src/components/marker-table/index.css | 11 ++++----- src/components/shared/TreeView.css | 34 +++++++++++++++------------ 3 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/components/calltree/CallTree.css b/src/components/calltree/CallTree.css index b74edca50e..c6980eb114 100644 --- a/src/components/calltree/CallTree.css +++ b/src/components/calltree/CallTree.css @@ -8,27 +8,29 @@ } .treeViewFixedColumn.total { - left: 0; width: 70px; } +/* The header for the total column spans both totalPercent and total columns */ +.treeViewHeaderColumn.total { + width: 120px; +} + .treeViewFixedColumn.totalPercent { - left: 70px; width: 50px; border-right: none; } -.treeViewFixedColumn.self { - left: 120px; - width: 70px; +/* The header for the totalPercent column is not visible */ +.treeViewHeaderColumn.totalPercent { + display: none; } -.treeViewHeaderColumn.total { - width: 120px; +.treeViewFixedColumn.self { + width: 70px; } .treeViewFixedColumn.icon { - left: 190px; display: flex; width: 19px; flex-flow: column nowrap; diff --git a/src/components/marker-table/index.css b/src/components/marker-table/index.css index 92e2f06c5c..14c28da795 100644 --- a/src/components/marker-table/index.css +++ b/src/components/marker-table/index.css @@ -11,22 +11,23 @@ } .treeViewFixedColumn.start { - left: 0; width: 80px; padding-right: 5px; text-align: right; } .treeViewFixedColumn.duration { - left: 80px; width: 80px; padding-right: 5px; border-right: none; text-align: right; } +.treeViewHeaderColumn.name { + padding-left: 20px; +} + .treeViewFixedColumn.type { - left: 160px; width: 80px; } @@ -34,7 +35,3 @@ padding-left: 5px; text-align: left; } - -.treeViewMainColumn.name { - left: 255px; -} diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index e3cca66340..357419aded 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -11,9 +11,20 @@ user-select: none; } +.treeViewRow, .treeViewHeader { - position: relative; - height: 16px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + white-space: nowrap; +} + +.treeViewRowScrolledColumns { + align-items: center; +} + +.treeViewHeader { + height: 17px; padding: 1px 0; border-bottom: 1px solid var(--grey-30); background: white; @@ -64,24 +75,19 @@ background: white; } -.treeViewRow { - display: flex; - flex-flow: row nowrap; - align-items: center; - justify-content: flex-start; - white-space: nowrap; -} - .treeViewHeaderColumn { - position: absolute; - top: 0; - bottom: 0; + position: relative; box-sizing: border-box; padding: 1px 5px; line-height: 15px; white-space: nowrap; } +.treeViewFixedColumn { + overflow: hidden; + text-overflow: ellipsis; +} + .treeViewHeaderColumn.treeViewFixedColumn::after { position: absolute; top: 3px; @@ -93,10 +99,8 @@ } .treeViewRowColumn.treeViewFixedColumn { - overflow: hidden; box-sizing: border-box; border-right: 1px solid var(--grey-30); - text-overflow: ellipsis; } .treeBadge { From 40e1d9faf12613e4e15b32e9f07422ead8a7715e Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 8 Sep 2022 19:33:39 +0200 Subject: [PATCH 093/131] Change how the header's border is done, and add a border for the marker table's duration column --- src/components/marker-table/index.css | 1 - src/components/shared/TreeView.css | 16 +++++----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/components/marker-table/index.css b/src/components/marker-table/index.css index 14c28da795..8cc888a36c 100644 --- a/src/components/marker-table/index.css +++ b/src/components/marker-table/index.css @@ -19,7 +19,6 @@ .treeViewFixedColumn.duration { width: 80px; padding-right: 5px; - border-right: none; text-align: right; } diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index 357419aded..e748d49e81 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -24,8 +24,8 @@ } .treeViewHeader { - height: 17px; - padding: 1px 0; + height: 15px; + padding: 4px 0; border-bottom: 1px solid var(--grey-30); background: white; } @@ -78,7 +78,7 @@ .treeViewHeaderColumn { position: relative; box-sizing: border-box; - padding: 1px 5px; + padding: 0 5px; line-height: 15px; white-space: nowrap; } @@ -88,14 +88,8 @@ text-overflow: ellipsis; } -.treeViewHeaderColumn.treeViewFixedColumn::after { - position: absolute; - top: 3px; - right: 0; - bottom: 3px; - width: 1px; - background: #e5e5e5; - content: ''; +.treeViewHeaderColumn.treeViewFixedColumn { + border-right: 1px solid #e2e2e2; } .treeViewRowColumn.treeViewFixedColumn { From 476fd83c428ca16bfaeeeb8664195b0b519b0c0a Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 8 Sep 2022 19:50:41 +0200 Subject: [PATCH 094/131] Make the padding RTL friendly --- src/components/calltree/CallTree.css | 1 - src/components/marker-table/index.css | 5 +---- src/components/shared/TreeView.css | 1 + 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/components/calltree/CallTree.css b/src/components/calltree/CallTree.css index c6980eb114..7134a4daa8 100644 --- a/src/components/calltree/CallTree.css +++ b/src/components/calltree/CallTree.css @@ -41,7 +41,6 @@ .treeViewRowColumn.totalPercent, .treeViewRowColumn.self, .treeViewRowColumn.timestamp { - padding-right: 5px; text-align: right; } diff --git a/src/components/marker-table/index.css b/src/components/marker-table/index.css index 8cc888a36c..014f88b6c5 100644 --- a/src/components/marker-table/index.css +++ b/src/components/marker-table/index.css @@ -12,18 +12,16 @@ .treeViewFixedColumn.start { width: 80px; - padding-right: 5px; text-align: right; } .treeViewFixedColumn.duration { width: 80px; - padding-right: 5px; text-align: right; } .treeViewHeaderColumn.name { - padding-left: 20px; + padding: 0 20px; } .treeViewFixedColumn.type { @@ -31,6 +29,5 @@ } .treeViewRowColumn.type { - padding-left: 5px; text-align: left; } diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index e748d49e81..6791d0ced4 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -85,6 +85,7 @@ .treeViewFixedColumn { overflow: hidden; + padding: 0 5px; text-overflow: ellipsis; } From cb23e93a813f7a310e3599ca49e0ba34f895ac11 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 8 Sep 2022 19:51:54 +0200 Subject: [PATCH 095/131] Give some more width to the marker table's type column --- src/components/marker-table/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/marker-table/index.css b/src/components/marker-table/index.css index 014f88b6c5..b2c2eab337 100644 --- a/src/components/marker-table/index.css +++ b/src/components/marker-table/index.css @@ -25,7 +25,7 @@ } .treeViewFixedColumn.type { - width: 80px; + width: 100px; } .treeViewRowColumn.type { From 8b5a6f804085c72b4584b39f8ff9082d8954919e Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Mon, 12 Sep 2022 15:04:02 +0200 Subject: [PATCH 096/131] Make sure that the column don't shrink --- src/components/shared/TreeView.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index 6791d0ced4..831c8c86a3 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -90,6 +90,10 @@ } .treeViewHeaderColumn.treeViewFixedColumn { + /* The fixed columns in the row don't shrink because they're positioning using + * position: sticky, therefore we prevent shrinking for the columns in the + * header too. */ + flex: none; border-right: 1px solid #e2e2e2; } From 2e6405a3d479e2148d26b6bc400fc2bfbd2f3e89 Mon Sep 17 00:00:00 2001 From: Khairul Azhar Kasmiran Date: Tue, 13 Sep 2022 17:16:07 +0800 Subject: [PATCH 097/131] (Chrome Importer) Add and use `Native` category instead of `DOM` (PR #4228) --- src/profile-logic/import/chrome.js | 14 +- .../profile-conversion.test.js.snap | 552 ++++++++---------- 2 files changed, 266 insertions(+), 300 deletions(-) diff --git a/src/profile-logic/import/chrome.js b/src/profile-logic/import/chrome.js index 22148e63d1..f9bcc6e735 100644 --- a/src/profile-logic/import/chrome.js +++ b/src/profile-logic/import/chrome.js @@ -424,13 +424,13 @@ type FunctionInfo = { function makeFunctionInfoFinder(categories) { const jsCat = categories.findIndex((c) => c.name === 'JavaScript'); const gcCat = categories.findIndex((c) => c.name === 'GC / CC'); - const domCat = categories.findIndex((c) => c.name === 'DOM'); + const nativeCat = categories.findIndex((c) => c.name === 'Native'); const otherCat = categories.findIndex((c) => c.name === 'Other'); const idleCat = categories.findIndex((c) => c.name === 'Idle'); if ( jsCat === -1 || gcCat === -1 || - domCat === -1 || + nativeCat === -1 || otherCat === -1 || idleCat === -1 ) { @@ -460,7 +460,7 @@ function makeFunctionInfoFinder(categories) { functionName !== '' && functionName !== '(unresolved function)' ) { - return { category: domCat, isJS: false, relevantForJS: true }; + return { category: nativeCat, isJS: false, relevantForJS: true }; } return { category: jsCat, isJS: true, relevantForJS: false }; } @@ -471,6 +471,14 @@ async function processTracingEvents( eventsByName: Map ): Promise { const profile = getEmptyProfile(); + profile.meta.categories = [ + { name: 'Other', color: 'grey', subcategories: ['Other'] }, + { name: 'Idle', color: 'transparent', subcategories: ['Other'] }, + { name: 'JavaScript', color: 'yellow', subcategories: ['Other'] }, + { name: 'GC / CC', color: 'orange', subcategories: ['Other'] }, + { name: 'Graphics', color: 'green', subcategories: ['Other'] }, + { name: 'Native', color: 'blue', subcategories: ['Other'] }, + ]; profile.meta.product = 'Chrome Trace'; profile.meta.importedFrom = 'Chrome Trace'; diff --git a/src/test/unit/__snapshots__/profile-conversion.test.js.snap b/src/test/unit/__snapshots__/profile-conversion.test.js.snap index 2a11fe2fa1..0eb40cf93d 100644 --- a/src/test/unit/__snapshots__/profile-conversion.test.js.snap +++ b/src/test/unit/__snapshots__/profile-conversion.test.js.snap @@ -390064,13 +390064,6 @@ Object { "Other", ], }, - Object { - "color": "purple", - "name": "Layout", - "subcategories": Array [ - "Other", - ], - }, Object { "color": "yellow", "name": "JavaScript", @@ -390085,13 +390078,6 @@ Object { "Other", ], }, - Object { - "color": "lightblue", - "name": "Network", - "subcategories": Array [ - "Other", - ], - }, Object { "color": "green", "name": "Graphics", @@ -390101,7 +390087,7 @@ Object { }, Object { "color": "blue", - "name": "DOM", + "name": "Native", "subcategories": Array [ "Other", ], @@ -390160,36 +390146,36 @@ Object { }, "markers": Object { "category": Array [ - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, 0, 0, 0, @@ -402625,31 +402611,31 @@ Object { ], "category": Array [ 0, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, 0, 1, - 3, - 3, - 3, - 3, - 7, - 3, - 7, - 3, - 3, - 3, - 7, + 2, + 2, + 2, + 2, + 5, + 2, + 5, + 2, + 2, + 2, + 5, ], "column": Array [ null, @@ -414553,31 +414539,31 @@ Object { "stackTable": Object { "category": Array [ 0, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, 0, 1, - 3, - 3, - 3, - 3, - 7, - 3, - 7, - 3, - 3, - 3, - 7, + 2, + 2, + 2, + 2, + 5, + 2, + 5, + 2, + 2, + 2, + 5, ], "frame": Array [ 0, @@ -443976,13 +443962,6 @@ Object { "Other", ], }, - Object { - "color": "purple", - "name": "Layout", - "subcategories": Array [ - "Other", - ], - }, Object { "color": "yellow", "name": "JavaScript", @@ -443997,13 +443976,6 @@ Object { "Other", ], }, - Object { - "color": "lightblue", - "name": "Network", - "subcategories": Array [ - "Other", - ], - }, Object { "color": "green", "name": "Graphics", @@ -444013,7 +443985,7 @@ Object { }, Object { "color": "blue", - "name": "DOM", + "name": "Native", "subcategories": Array [ "Other", ], @@ -444099,51 +444071,51 @@ Object { "category": Array [ 0, 0, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 7, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 5, ], "column": Array [ null, @@ -446234,51 +446206,51 @@ Object { "category": Array [ 0, 0, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 5, 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 7, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, ], "frame": Array [ 0, @@ -447020,13 +446992,6 @@ Object { "Other", ], }, - Object { - "color": "purple", - "name": "Layout", - "subcategories": Array [ - "Other", - ], - }, Object { "color": "yellow", "name": "JavaScript", @@ -447041,13 +447006,6 @@ Object { "Other", ], }, - Object { - "color": "lightblue", - "name": "Network", - "subcategories": Array [ - "Other", - ], - }, Object { "color": "green", "name": "Graphics", @@ -447057,7 +447015,7 @@ Object { }, Object { "color": "blue", - "name": "DOM", + "name": "Native", "subcategories": Array [ "Other", ], @@ -447143,51 +447101,51 @@ Object { "category": Array [ 0, 0, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 7, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 5, ], "column": Array [ null, @@ -448000,51 +447958,51 @@ Object { "category": Array [ 0, 0, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 5, 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 7, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 7, - 3, - 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 2, + 2, ], "frame": Array [ 0, From 3ef5bcd986bc17d6c292273a2f8b7fa92173ad36 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Mon, 5 Sep 2022 16:28:11 +0200 Subject: [PATCH 098/131] Upgrade webpack and related packages to latest v4 version --- yarn.lock | 1976 +++++++++++++++++++++++++---------------------------- 1 file changed, 943 insertions(+), 1033 deletions(-) diff --git a/yarn.lock b/yarn.lock index 539399fdc9..21977dc93e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1174,6 +1174,11 @@ resolved "https://registry.yarnpkg.com/@fluent/sequence/-/sequence-0.7.0.tgz#2fbfa872e87293cca209ba4a586d1a8fbaa2e5c4" integrity sha512-aH1xMwX8DFvKOQSKUKpB3zMsnJ2rRKt7MajLNnx/r3V3DWDo2nzEfm21d7UyOgwEckPIjPmhxdW1MEmsGUxYIw== +"@gar/promisify@^1.0.1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + "@humanwhocodes/config-array@^0.10.4": version "0.10.4" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" @@ -1465,9 +1470,9 @@ vary "^1.1.2" "@leichtgewicht/ip-codec@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz#0300943770e04231041a51bd39f0439b5c7ab4f0" - integrity sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== "@lezer/common@^1.0.0": version "1.0.0" @@ -1538,12 +1543,21 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + "@npmcli/move-file@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" - integrity sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== dependencies: mkdirp "^1.0.4" + rimraf "^3.0.2" "@octokit/auth-token@^2.4.4": version "2.5.0" @@ -1793,10 +1807,10 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"@trysound/sax@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.1.1.tgz#3348564048e7a2d7398c935d466c0414ebb6a669" - integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow== +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/acorn@^4.0.0": version "4.0.6" @@ -1805,11 +1819,6 @@ dependencies: "@types/estree" "*" -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - "@types/aria-query@^4.2.0": version "4.2.0" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.0.tgz#14264692a9d6e2fa4db3df5e56e94b5e25647ac0" @@ -1873,11 +1882,6 @@ "@types/node" "*" "@types/responselike" "*" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/concat-stream@^1.0.0": version "1.6.1" resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" @@ -1925,18 +1929,18 @@ integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.27" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz#7a776191e47295d2a05962ecbb3a4ce97e38b401" - integrity sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA== + version "4.17.31" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" + integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + version "4.17.14" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" + integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -1966,9 +1970,9 @@ hoist-non-react-statics "^3.3.0" "@types/html-minifier-terser@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" - integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" + integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== "@types/http-cache-semantics@*": version "4.0.0" @@ -1976,9 +1980,9 @@ integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== "@types/http-proxy@^1.17.8": - version "1.17.8" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" - integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA== + version "1.17.9" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a" + integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== dependencies: "@types/node" "*" @@ -2029,9 +2033,9 @@ parse5 "^7.0.0" "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json5@^0.0.29": version "0.0.29" @@ -2052,10 +2056,10 @@ dependencies: "@types/unist" "*" -"@types/mime@^1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== +"@types/mime@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== "@types/minimist@^1.2.0", "@types/minimist@^1.2.2": version "1.2.2" @@ -2074,7 +2078,12 @@ dependencies: "@types/unist" "*" -"@types/node@*", "@types/node@^16.0.0": +"@types/node@*": + version "18.7.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" + integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== + +"@types/node@^16.0.0": version "16.11.6" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== @@ -2149,10 +2158,10 @@ dependencies: "@types/node" "*" -"@types/retry@^0.12.0": - version "0.12.1" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" - integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/scheduler@*": version "0.16.1" @@ -2167,11 +2176,11 @@ "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.13.10" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" - integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + version "1.15.0" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" + integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== dependencies: - "@types/mime" "^1" + "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": @@ -2196,10 +2205,10 @@ resolved "https://registry.yarnpkg.com/@types/supports-color/-/supports-color-8.1.1.tgz#1b44b1b096479273adf7f93c75fc4ecc40a61ee4" integrity sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw== -"@types/tapable@*", "@types/tapable@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" - integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== +"@types/tapable@^1", "@types/tapable@^1.0.5": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" + integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/testing-library__jest-dom@^5.9.1": version "5.9.5" @@ -2219,9 +2228,9 @@ integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== "@types/uglify-js@*": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.3.tgz#d94ed608e295bc5424c9600e6b8565407b6b4b6b" - integrity sha512-KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w== + version "3.17.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.0.tgz#95271e7abe0bf7094c60284f76ee43232aef43b9" + integrity sha512-3HO6rm0y+/cqvOyA8xcYLweF0TKXlAxmQASjbOi49Co51A1N4nR4bEwBgRoD9kNM+rqFGArjKr654SLp2CoGmQ== dependencies: source-map "^0.6.1" @@ -2236,24 +2245,24 @@ integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== "@types/webpack-sources@*": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-1.4.2.tgz#5d3d4dea04008a779a90135ff96fb5c0c9e6292c" - integrity sha512-77T++JyKow4BQB/m9O96n9d/UUHWLQHlcqXb9Vsf4F1+wKNrrlWNFPDLKNT92RJnCSL6CieTc+NDXtCVZswdTw== + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" + integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@^4.41.8": - version "4.41.21" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee" - integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA== + version "4.41.32" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" + integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== dependencies: - "@types/anymatch" "*" "@types/node" "*" - "@types/tapable" "*" + "@types/tapable" "^1" "@types/uglify-js" "*" "@types/webpack-sources" "*" + anymatch "^3.0.0" source-map "^0.6.0" "@types/ws@^8.5.1": @@ -2536,9 +2545,9 @@ acorn-walk@^7.1.1: integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== acorn@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== acorn@^7.1.1: version "7.4.0" @@ -2558,9 +2567,9 @@ agent-base@6: debug "4" aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" @@ -2636,11 +2645,6 @@ alex@^10.0.0: vfile-reporter "^7.0.0" vfile-sort "^3.0.0" -alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -2675,7 +2679,7 @@ ansi-regex@^0.2.0, ansi-regex@^0.2.1: ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^4.1.0: version "4.1.0" @@ -2705,11 +2709,10 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" ansi-styles@^5.0.0: @@ -2730,7 +2733,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -2768,7 +2771,7 @@ aria-query@^5.0.0: arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== arr-flatten@^1.1.0: version "1.1.0" @@ -2778,7 +2781,7 @@ arr-flatten@^1.1.0: arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== array-back@^3.0.1: version "3.1.0" @@ -2793,7 +2796,7 @@ array-back@^4.0.0, array-back@^4.0.1: array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-flatten@^2.1.2: version "2.1.2" @@ -2834,7 +2837,7 @@ array-union@^2.1.0: array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== array.prototype.find@^2.0.4: version "2.1.1" @@ -2863,6 +2866,17 @@ array.prototype.flatmap@^1.3.0: es-abstract "^1.19.2" es-shim-unscopables "^1.0.0" +array.prototype.reduce@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f" + integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -2873,14 +2887,15 @@ asap@^2.0.0: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" assert@^1.1.1: version "1.5.0" @@ -2893,7 +2908,7 @@ assert@^1.1.1: assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== astral-regex@^1.0.0: version "1.0.0" @@ -2931,12 +2946,12 @@ atob@^2.1.2: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^10.4.8: - version "10.4.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" - integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== + version "10.4.10" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.10.tgz#a1d8891d1516155eb13a772b1289efdc61de14ef" + integrity sha512-nMaiDARyp1e74c8IeAXkr+BmFKa8By4Zak7tyaNPF09Iu39WFpNXOWrVirmXjKr+5cOyERwvtbMOLYz6iBJYgQ== dependencies: browserslist "^4.21.3" - caniuse-lite "^1.0.30001373" + caniuse-lite "^1.0.30001399" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -3087,9 +3102,9 @@ base64-arraybuffer-es6@0.5.0: integrity sha512-UCIPaDJrNNj5jG2ZL+nzJ7czvZV/ZYX6LaIRgfVU1k1edJOQg7dkbiSKzwHkNp6aHEHER/PhlFBrMYnlvJJQEw== base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -3114,7 +3129,7 @@ basic-auth@^2.0.1, basic-auth@~2.0.1: batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== before-after-hook@^2.2.0: version "2.2.2" @@ -3132,9 +3147,9 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bindings@^1.5.0: version "1.5.0" @@ -3148,41 +3163,48 @@ bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -body-parser@1.19.2: - version "1.19.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== dependencies: bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" type-is "~1.6.18" + unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.11.tgz#5418e5c1ac91c89a406f853a942e7892829c0d89" - integrity sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA== + version "1.0.14" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.14.tgz#c346f5bc84e87802d08f8d5a60b93f758e514ee7" + integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== dependencies: array-flatten "^2.1.2" dns-equal "^1.0.0" fast-deep-equal "^3.1.3" - multicast-dns "^7.2.4" + multicast-dns "^7.2.5" boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== boxen@^5.0.0: version "5.1.2" @@ -3239,7 +3261,7 @@ braces@^3.0.2, braces@~3.0.2: brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== browser-process-hrtime@^1.0.0: version "1.0.0" @@ -3277,26 +3299,28 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" browserify-zlib@^0.2.0: version "0.2.0" @@ -3305,7 +3329,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.16.0, browserslist@^4.20.2, browserslist@^4.21.1, browserslist@^4.21.2, browserslist@^4.21.3: +browserslist@^4.0.0, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.1, browserslist@^4.21.2, browserslist@^4.21.3: version "4.21.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== @@ -3343,7 +3367,7 @@ buffer-from@^1.0.0: buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== buffer@^4.3.0: version "4.9.2" @@ -3362,7 +3386,7 @@ builtin-modules@^3.1.0: builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== builtins@^4.0.0: version "4.0.0" @@ -3379,7 +3403,7 @@ byte-size@^6.2.0: bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== bytes@3.1.2, bytes@^3.0.0: version "3.1.2" @@ -3408,10 +3432,11 @@ cacache@^12.0.2: y18n "^4.0.0" cacache@^15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: + "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" fs-minipass "^2.0.0" @@ -3426,7 +3451,7 @@ cacache@^15.0.5: p-map "^4.0.0" promise-inflight "^1.0.1" rimraf "^3.0.2" - ssri "^8.0.0" + ssri "^8.0.1" tar "^6.0.2" unique-filename "^1.1.1" @@ -3503,12 +3528,12 @@ callsites@^3.0.0: integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" - integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: - pascal-case "^3.1.1" - tslib "^1.10.0" + pascal-case "^3.1.2" + tslib "^2.0.3" camelcase-keys@^6.2.2: version "6.2.2" @@ -3549,10 +3574,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001359, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001374" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz#3dab138e3f5485ba2e74bd13eca7fe1037ce6f57" - integrity sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001359, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001399: + version "1.0.30001399" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz#1bf994ca375d7f33f8d01ce03b7d5139e8587873" + integrity sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA== ccount@^2.0.0: version "2.0.1" @@ -3675,11 +3700,9 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^2.0.0: version "2.0.0" @@ -3700,9 +3723,9 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: safe-buffer "^5.0.1" circular-dependency-plugin@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.1.tgz#5219f004b57c78360f262aefefd37b91c6298962" - integrity sha512-lQDLdd/JpAnWWSzqpsEe9X4tKDsWccGrJ15/VdQ8C/5EoyaUeKVS9HwsuMUMNkfxb9rdDwGmzuQvwtzyHoNr6Q== + version "5.2.2" + resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" + integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== cjs-module-lexer@^1.0.0: version "1.2.1" @@ -3730,9 +3753,9 @@ classnames@^2.3.1: integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== dependencies: source-map "~0.6.0" @@ -3835,12 +3858,12 @@ collect-v8-coverage@^1.0.0: collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== dependencies: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0, color-convert@^1.9.1: +color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -3857,38 +3880,22 @@ color-convert@^2.0.1: color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@^1.0.0, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" - integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" - -colord@^2.9.3: +colord@^2.9.1, colord@^2.9.3: version "2.9.3" resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== colorette@^2.0.10: - version "2.0.12" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.12.tgz#7938ab254e7bb1bba29b0fd1b4cc168889ca4d74" - integrity sha512-lHID0PU+NtFzeNCwTL6JzUKdb6kDpyEjrwTD1H0cDZswTbsjLh2wTV2Eo2sNZLc0oSg0a5W1AI4Nj7bX4iIdjA== + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== colors@1.4.0, colors@^1.0.3: version "1.4.0" @@ -3942,7 +3949,7 @@ commander@^5.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^7.1.0: +commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== @@ -3960,7 +3967,7 @@ common-tags@^1.8.0, common-tags@^1.8.2: commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== compare-versions@^3.6.0: version "3.6.0" @@ -3995,7 +4002,7 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.5.0: version "1.6.2" @@ -4042,7 +4049,7 @@ console-browserify@^1.1.0: constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== content-disposition@0.5.4, content-disposition@~0.5.2: version "0.5.4" @@ -4066,12 +4073,12 @@ convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== cookies@~0.8.0: version "0.8.0" @@ -4096,7 +4103,7 @@ copy-concurrently@^1.0.0: copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== copy-to-clipboard@^3.3.2: version "3.3.2" @@ -4111,9 +4118,9 @@ copy-to@^2.0.1: integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= copy-webpack-plugin@^6.3.2: - version "6.3.2" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz#0e920a6c181a5052aa6e2861b164bda03f83afeb" - integrity sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA== + version "6.4.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz#138cd9b436dbca0a6d071720d5414848992ec47e" + integrity sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA== dependencies: cacache "^15.0.5" fast-glob "^3.2.4" @@ -4146,9 +4153,9 @@ core-js@^3.0.0, core-js@^3.25.0: integrity sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA== core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^6.0.0: version "6.0.0" @@ -4173,14 +4180,14 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: yaml "^1.10.0" create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" -create-hash@^1.1.0, create-hash@^1.1.2: +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -4191,7 +4198,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -4267,22 +4274,15 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-color-names@^0.0.4, css-color-names@~0.0.3: +css-color-names@~0.0.3: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= -css-color-names@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67" - integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== - -css-declaration-sorter@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.0.0.tgz#eb21f75860078627e9e3cc6f5535ccfcea445817" - integrity sha512-S0TE4E0ha5+tBHdLWPc5n+S8E4dFBS5xScPvgHkLNZwWvX4ISoFGhGeerLC9uS1cKA/sC+K2wHq6qEbcagT/fg== - dependencies: - timsort "^0.3.0" +css-declaration-sorter@^6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" + integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== css-functions-list@^3.1.0: version "3.1.0" @@ -4310,16 +4310,6 @@ css-select-base-adapter@^0.1.1: resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - css-select@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" @@ -4330,16 +4320,16 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-select@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-3.1.2.tgz#d52cbdc6fee379fba97fb0d3925abbd18af2d9d8" - integrity sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" - css-what "^4.0.0" - domhandler "^4.0.0" - domutils "^2.4.3" - nth-check "^2.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" @@ -4349,7 +4339,7 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-tree@^1.1.2: +css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== @@ -4357,20 +4347,15 @@ css-tree@^1.1.2: mdn-data "2.0.14" source-map "^0.6.1" -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - css-what@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== -css-what@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233" - integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== css.escape@^1.5.1: version "1.5.1" @@ -4382,54 +4367,54 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.0.1.tgz#76adc00f7aae36ae80552b8356e21bec4b233ca2" - integrity sha512-cfmfThYODGqhpQKDq9H0MTAqkMvZ3dGbOUTBKw0xWZiIycMqHid22LsJXJl4r1qX4qzDeKxcSyQ/Xb5Mu3Z//Q== - dependencies: - css-declaration-sorter "6.0.0" - cssnano-utils "^2.0.0" - postcss-calc "^8.0.0" - postcss-colormin "^5.0.0" - postcss-convert-values "^5.0.0" - postcss-discard-comments "^5.0.0" - postcss-discard-duplicates "^5.0.0" - postcss-discard-empty "^5.0.0" - postcss-discard-overridden "^5.0.0" - postcss-merge-longhand "^5.0.1" - postcss-merge-rules "^5.0.0" - postcss-minify-font-values "^5.0.0" - postcss-minify-gradients "^5.0.0" - postcss-minify-params "^5.0.0" - postcss-minify-selectors "^5.0.0" - postcss-normalize-charset "^5.0.0" - postcss-normalize-display-values "^5.0.0" - postcss-normalize-positions "^5.0.0" - postcss-normalize-repeat-style "^5.0.0" - postcss-normalize-string "^5.0.0" - postcss-normalize-timing-functions "^5.0.0" - postcss-normalize-unicode "^5.0.0" - postcss-normalize-url "^5.0.0" - postcss-normalize-whitespace "^5.0.0" - postcss-ordered-values "^5.0.0" - postcss-reduce-initial "^5.0.0" - postcss-reduce-transforms "^5.0.0" - postcss-svgo "^5.0.0" - postcss-unique-selectors "^5.0.0" - -cssnano-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.0.tgz#b04baaa312aa3dd5a854b7f61d76b9d94be07f74" - integrity sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA== +cssnano-preset-default@^5.2.12: + version "5.2.12" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz#ebe6596ec7030e62c3eb2b3c09f533c0644a9a97" + integrity sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew== + dependencies: + css-declaration-sorter "^6.3.0" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.0" + postcss-convert-values "^5.1.2" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.6" + postcss-merge-rules "^5.1.2" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.3" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.0" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.0" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.2.tgz#3f6de4fd5ecb7b5fb636c1a606de5f38cd241493" - integrity sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q== + version "5.1.13" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.13.tgz#83d0926e72955332dc4802a7070296e6258efc0a" + integrity sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ== dependencies: - cosmiconfig "^7.0.0" - cssnano-preset-default "^5.0.1" - is-resolvable "^1.1.0" + cssnano-preset-default "^5.2.12" + lilconfig "^2.0.3" + yaml "^1.10.2" csso@^4.0.2, csso@^4.2.0: version "4.2.0" @@ -4468,7 +4453,7 @@ cuss@^2.0.0: cyclist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== data-urls@^3.0.2: version "3.0.2" @@ -4538,7 +4523,7 @@ decimal.js@^10.3.1: decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== decompress-response@^3.3.0: version "3.3.0" @@ -4617,14 +4602,14 @@ define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4: define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== dependencies: is-descriptor "^1.0.0" @@ -4646,16 +4631,16 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= -depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - deprecation@^2.0.0, deprecation@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" @@ -4674,10 +4659,10 @@ des.js@^1.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -destroy@^1.0.4, destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +destroy@1.2.0, destroy@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-file@^1.0.0: version "1.0.0" @@ -4690,9 +4675,9 @@ detect-newline@^3.0.0: integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== devtools-license-check@^0.9.0: version "0.9.0" @@ -4743,12 +4728,12 @@ dir-glob@^3.0.1: dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== dns-packet@^5.2.2: - version "5.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.3.1.tgz#eb94413789daec0f0ebe2fcc230bdc9d7c91b43d" - integrity sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw== + version "5.4.0" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" + integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" @@ -4771,7 +4756,7 @@ dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz#caa6d08f60388d0bb4539dd75fe458a9a1d0014c" integrity sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g== -dom-converter@^0.2: +dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== @@ -4795,12 +4780,12 @@ dom-serializer@0: entities "^2.0.0" dom-serializer@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.1.tgz#d845a1565d7c041a95e5dab62184ab41e3a519be" - integrity sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q== + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" - domhandler "^4.0.0" + domhandler "^4.2.0" entities "^2.0.0" domain-browser@^1.1.1: @@ -4808,15 +4793,15 @@ domain-browser@^1.1.1: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domelementtype@1, domelementtype@^1.3.1: +domelementtype@1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domexception@^1.0.1: version "1.0.1" @@ -4832,29 +4817,14 @@ domexception@^4.0.0: dependencies: webidl-conversions "^7.0.0" -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domhandler@^4.0.0, domhandler@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" - integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: +domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -4862,27 +4832,27 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.4.3: - version "2.6.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7" - integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA== +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" domhandler "^4.2.0" -dot-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" - integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: - no-case "^3.0.3" - tslib "^1.10.0" + no-case "^3.0.4" + tslib "^2.0.3" dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" @@ -4919,7 +4889,7 @@ eastasianwidth@^0.1.0: ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== ejs@^3.1.6: version "3.1.8" @@ -4929,11 +4899,11 @@ ejs@^3.1.6: jake "^10.8.5" electron-to-chromium@^1.4.202: - version "1.4.211" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz#afaa8b58313807501312d598d99b953568d60f91" - integrity sha512-BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A== + version "1.4.249" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.249.tgz#49c34336c742ee65453dbddf4c84355e59b96e2c" + integrity sha512-GMCxR3p2HQvIw47A599crTKYZprqihoBL4lDSAUmr7IYekXFK5t/WgEBrGJDCa2HWIZFQEkGuMqPCi05ceYqPQ== -elliptic@^6.0.0: +elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -4983,24 +4953,19 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== +enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== entities@^4.4.0: version "4.4.0" @@ -5008,9 +4973,9 @@ entities@^4.4.0: integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" @@ -5021,16 +4986,16 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" - integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== +es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1: + version "1.20.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.2.tgz#8495a07bc56d342a3b8ea3ab01bd986700c2ccb3" + integrity sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" + get-intrinsic "^1.1.2" get-symbol-description "^1.0.0" has "^1.0.3" has-property-descriptors "^1.0.0" @@ -5042,14 +5007,19 @@ es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstrac is-shared-array-buffer "^1.0.2" is-string "^1.0.7" is-weakref "^1.0.2" - object-inspect "^1.12.0" + object-inspect "^1.12.2" object-keys "^1.1.1" - object.assign "^4.1.2" + object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" string.prototype.trimend "^1.0.5" string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -5084,7 +5054,7 @@ escape-html@^1.0.3, escape-html@~1.0.3: escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" @@ -5461,9 +5431,9 @@ eventemitter3@^4.0.0: integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -5496,7 +5466,7 @@ exit@^0.1.2: expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -5525,37 +5495,38 @@ expect@^29.0.2: jest-util "^29.0.2" express@^4.17.3: - version "4.17.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== + version "4.18.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.2" + body-parser "1.20.0" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.2" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.9.7" + qs "6.10.3" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" + send "0.18.0" + serve-static "1.15.0" setprototypeof "1.2.0" - statuses "~1.5.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" @@ -5563,14 +5534,14 @@ express@^4.17.3: extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" @@ -5621,9 +5592,9 @@ fast-diff@^1.1.2: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.2.11, fast-glob@^3.2.4, fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -5654,9 +5625,9 @@ fastest-levenshtein@^1.0.16: integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.12.0.tgz#ed7b6ab5d62393fb2cc591c853652a5c318bf794" - integrity sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg== + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" @@ -5668,9 +5639,9 @@ fault@^2.0.0: format "^0.2.0" faye-websocket@^0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" @@ -5753,7 +5724,7 @@ filelist@^1.0.1: fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -5772,17 +5743,17 @@ filter-obj@^1.1.0: resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" - statuses "~1.5.0" + statuses "2.0.1" unpipe "~1.0.0" find-babel-config@^1.2.0: @@ -5803,9 +5774,9 @@ find-cache-dir@^2.1.0: pkg-dir "^3.0.0" find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" make-dir "^3.0.2" @@ -5986,14 +5957,14 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0: - version "1.14.8" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" - integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== form-data@^4.0.0: version "4.0.0" @@ -6022,7 +5993,7 @@ fraction.js@^4.2.0: fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== dependencies: map-cache "^0.2.2" @@ -6034,7 +6005,7 @@ fresh@0.5.2, fresh@~0.5.2: from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== dependencies: inherits "^2.0.1" readable-stream "^2.0.0" @@ -6070,7 +6041,7 @@ fs-minipass@^2.0.0: dependencies: minipass "^3.0.0" -fs-monkey@1.0.3: +fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== @@ -6083,7 +6054,7 @@ fs-readdir-recursive@^1.1.0: fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== dependencies: graceful-fs "^4.1.2" iferr "^0.1.5" @@ -6093,12 +6064,12 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^1.2.7: - version "1.2.12" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.12.tgz#db7e0d8ec3b0b45724fd4d83d43554a8f1f0de5c" - integrity sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q== + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: bindings "^1.5.0" nan "^2.12.1" @@ -6148,14 +6119,14 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" @@ -6192,7 +6163,7 @@ get-symbol-description@^1.0.0: get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== git-diff-tree@^1.0.0: version "1.1.0" @@ -6215,7 +6186,7 @@ git-spawned-stream@1.0.1: glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" @@ -6388,9 +6359,9 @@ got@^9.6.0: url-parse-lax "^3.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== grapheme-splitter@^1.0.4: version "1.0.4" @@ -6414,7 +6385,7 @@ has-ansi@^0.1.0: dependencies: ansi-regex "^0.2.0" -has-bigints@^1.0.2: +has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== @@ -6422,7 +6393,7 @@ has-bigints@^1.0.2: has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" @@ -6456,7 +6427,7 @@ has-tostringtag@^1.0.0: has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -6465,7 +6436,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -6474,12 +6445,12 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== has-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== dependencies: is-number "^3.0.0" kind-of "^4.0.0" @@ -6497,12 +6468,13 @@ has@^1.0.3: function-bind "^1.1.1" hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" @@ -6627,15 +6599,10 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" @@ -6670,23 +6637,13 @@ hosted-git-info@^4.0.1: hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" obuf "^1.0.0" readable-stream "^2.0.1" wbuf "^1.1.0" -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - html-encoding-sniffer@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" @@ -6695,9 +6652,9 @@ html-encoding-sniffer@^3.0.0: whatwg-encoding "^2.0.0" html-entities@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" - integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== + version "2.3.3" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" + integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== html-escaper@^2.0.0: version "2.0.2" @@ -6723,9 +6680,9 @@ html-tags@^3.2.0: integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg== html-webpack-plugin@^4.5.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz#40aaf1b5cb78f2f23a83333999625c20929cda65" - integrity sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg== + version "4.5.2" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" + integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== dependencies: "@types/html-minifier-terser" "^5.0.0" "@types/tapable" "^1.0.5" @@ -6737,17 +6694,15 @@ html-webpack-plugin@^4.5.1: tapable "^1.1.3" util.promisify "1.0.0" -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" http-assert@^1.3.0: version "1.4.1" @@ -6765,9 +6720,20 @@ http-cache-semantics@^4.0.0: http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@1.8.1, http-errors@^1.6.3, http-errors@^1.7.3: +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@^1.6.3, http-errors@^1.7.3: version "1.8.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== @@ -6781,7 +6747,7 @@ http-errors@1.8.1, http-errors@^1.6.3, http-errors@^1.7.3: http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" inherits "2.0.3" @@ -6800,9 +6766,9 @@ http-errors@~1.7.2: toidentifier "1.0.0" http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: version "4.0.1" @@ -6823,9 +6789,9 @@ http-proxy-agent@^5.0.0: debug "4" http-proxy-middleware@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a" - integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg== + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -6853,7 +6819,7 @@ http2-wrapper@^1.0.0-beta.5.2: https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: version "5.0.1" @@ -6909,14 +6875,14 @@ idb@^7.0.1, idb@^7.0.2: integrity sha512-jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg== ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== ignore-walk@3.0.4: version "3.0.4" @@ -6941,9 +6907,9 @@ immediate@~3.0.5: integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -6984,7 +6950,7 @@ import-meta-resolve@^1.0.0: imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" @@ -6996,11 +6962,6 @@ indent-string@^5.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -7014,7 +6975,7 @@ inflation@^2.0.0: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" @@ -7027,12 +6988,12 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@2.0.0: version "2.0.0" @@ -7087,15 +7048,10 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== dependencies: kind-of "^3.0.2" @@ -7122,22 +7078,19 @@ is-alphanumerical@^2.0.0: is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" - integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== dependencies: binary-extensions "^1.0.0" @@ -7149,11 +7102,12 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" - integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.6" @@ -7166,9 +7120,9 @@ is-buffer@^2.0.0: integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + version "1.2.5" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.5.tgz#6123e0b1fef5d7591514b371bb018204892f1a2b" + integrity sha512-ZIWRujF6MvYGkEuHMYtFRkL2wAtFw89EHfKlXrkPkjQZZRWeh9L1q3SV13NIfHnqxugjLvAOkEHx9mb1zcMnEw== is-ci@^2.0.0: version "2.0.0" @@ -7177,18 +7131,6 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-color-stop@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" @@ -7199,7 +7141,7 @@ is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-mod is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== dependencies: kind-of "^3.0.2" @@ -7211,9 +7153,11 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + 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@^2.0.0: version "2.0.0" @@ -7251,7 +7195,7 @@ is-empty@^1.0.0: is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extendable@^1.0.1: version "1.0.1" @@ -7263,7 +7207,7 @@ is-extendable@^1.0.1: is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^2.0.0: version "2.0.0" @@ -7293,7 +7237,7 @@ is-generator-function@^1.0.7: is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== dependencies: is-extglob "^2.1.0" @@ -7333,14 +7277,16 @@ is-npm@^5.0.0: integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== is-number-object@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== dependencies: kind-of "^3.0.2" @@ -7409,11 +7355,6 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== -is-resolvable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -7422,9 +7363,9 @@ is-shared-array-buffer@^1.0.2: call-bind "^1.0.2" is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" @@ -7439,11 +7380,11 @@ is-subset@^0.1.1: integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-typedarray@^1.0.0: version "1.0.0" @@ -7465,7 +7406,7 @@ is-windows@^1.0.1, is-windows@^1.0.2: is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" @@ -7487,24 +7428,24 @@ isarray@0.0.1: isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" @@ -8161,14 +8102,14 @@ keyv@^4.0.0: kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== dependencies: is-buffer "^1.1.5" @@ -8193,9 +8134,9 @@ kleur@^4.0.3: integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== klona@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== known-css-properties@^0.25.0: version "0.25.0" @@ -8392,15 +8333,20 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" +lilconfig@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + limit-spawn@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/limit-spawn/-/limit-spawn-0.0.3.tgz#cc09c24467a0f0a1ed10a5196dba597cad3f65dc" integrity sha1-zAnCRGeg8KHtEKUZbbpZfK0/Zdw= lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== load-json-file@^4.0.0: version "4.0.0" @@ -8449,9 +8395,9 @@ loader-utils@^1.2.3, loader-utils@^1.4.0: json5 "^1.0.1" loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -8551,7 +8497,7 @@ lodash.isequal@^4.5.0: lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.merge@^4.6.2: version "4.6.2" @@ -8576,7 +8522,7 @@ lodash.truncate@^4.4.2: lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" @@ -8595,12 +8541,12 @@ loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lower-case@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" - integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: - tslib "^1.10.0" + tslib "^2.0.3" lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" @@ -8799,7 +8745,7 @@ makeerror@1.0.12: map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== map-obj@^1.0.0: version "1.0.1" @@ -8819,7 +8765,7 @@ map-stream@~0.1.0: map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== dependencies: object-visit "^1.0.0" @@ -9031,14 +8977,14 @@ mdn-data@2.0.4: media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -memfs@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" - integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== +memfs@^3.4.3: + version "3.4.7" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" + integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== dependencies: - fs-monkey "1.0.3" + fs-monkey "^1.0.3" memoize-immutable@^3.0.0: version "3.0.0" @@ -9060,7 +9006,7 @@ memoize-one@^6.0.0: memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== dependencies: errno "^0.1.3" readable-stream "^2.0.1" @@ -9117,7 +9063,7 @@ meow@^9.0.0: merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-stream@^2.0.0: version "2.0.0" @@ -9586,7 +9532,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" @@ -9611,7 +9557,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== @@ -9638,9 +9584,9 @@ minipass-pipeline@^1.2.2: minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + version "3.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" + integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== dependencies: yallist "^4.0.0" @@ -9687,11 +9633,11 @@ mkdirp@^0.3.5: integrity sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc= 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#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - minimist "^1.2.5" + minimist "^1.2.6" mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" @@ -9712,7 +9658,7 @@ morgan@^1.6.1: move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== dependencies: aproba "^1.1.1" copy-concurrently "^1.0.0" @@ -9729,7 +9675,7 @@ mri@^1.1.0: ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" @@ -9741,10 +9687,10 @@ ms@2.1.3, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multicast-dns@^7.2.4: - version "7.2.4" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.4.tgz#cf0b115c31e922aeb20b64e6556cbeb34cf0dd19" - integrity sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw== +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== dependencies: dns-packet "^5.2.2" thunky "^1.0.2" @@ -9806,9 +9752,9 @@ negotiator@0.6.3: integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nice-try@^1.0.4: version "1.0.5" @@ -9855,13 +9801,13 @@ nlcst-to-string@^3.0.0: dependencies: "@types/nlcst" "^1.0.0" -no-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" - integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: - lower-case "^2.0.1" - tslib "^1.10.0" + lower-case "^2.0.2" + tslib "^2.0.3" node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" @@ -9956,7 +9902,7 @@ normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== dependencies: remove-trailing-separator "^1.0.1" @@ -9968,9 +9914,9 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== -normalize-url@^4.1.0, normalize-url@^4.5.0: +normalize-url@^4.1.0: version "4.5.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== @@ -10007,17 +9953,17 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nth-check@^1.0.2, nth-check@~1.0.1: +nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" -nth-check@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" - integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" @@ -10034,7 +9980,7 @@ object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" @@ -10045,7 +9991,7 @@ object-hash@^2.0.1: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== -object-inspect@^1.12.0, object-inspect@^1.9.0: +object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== @@ -10063,18 +10009,18 @@ object-keys@~0.4.0: object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== dependencies: isobject "^3.0.0" -object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== +object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" object-keys "^1.1.1" object.entries@^1.1.5: @@ -10096,12 +10042,14 @@ object.fromentries@^2.0.5: es-abstract "^1.19.1" object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + version "2.1.4" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" + integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + array.prototype.reduce "^1.0.4" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.1" object.hasown@^1.1.1: version "1.1.1" @@ -10114,7 +10062,7 @@ object.hasown@^1.1.1: object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== dependencies: isobject "^3.0.1" @@ -10132,7 +10080,14 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@^2.3.0, on-finished@~2.3.0: +on-finished@2.4.1, on-finished@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= @@ -10147,7 +10102,7 @@ on-headers@~1.0.2: once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -10172,9 +10127,9 @@ open@^7.0.4: is-wsl "^2.1.1" open@^8.0.9: - version "8.2.1" - resolved "https://registry.yarnpkg.com/open/-/open-8.2.1.tgz#82de42da0ccbf429bc12d099dad2e0975e14e8af" - integrity sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ== + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== dependencies: define-lazy-prop "^2.0.0" is-docker "^2.1.1" @@ -10212,7 +10167,7 @@ optionator@^0.9.1: os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== os-tmpdir@~1.0.2: version "1.0.2" @@ -10286,11 +10241,11 @@ p-map@^4.0.0: aggregate-error "^3.0.0" p-retry@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.1.tgz#8fcddd5cdf7a67a0911a9cf2ef0e5df7f602316c" - integrity sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA== + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: - "@types/retry" "^0.12.0" + "@types/retry" "0.12.0" retry "^0.13.1" p-try@^1.0.0: @@ -10328,12 +10283,12 @@ parallel-transform@^1.1.0: readable-stream "^2.1.5" param-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" - integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: - dot-case "^3.0.3" - tslib "^1.10.0" + dot-case "^3.0.4" + tslib "^2.0.3" parent-module@^1.0.0: version "1.0.1" @@ -10342,14 +10297,13 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -10426,18 +10380,18 @@ parseurl@^1.3.2, parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascal-case@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" - integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: - no-case "^3.0.3" - tslib "^1.10.0" + no-case "^3.0.4" + tslib "^2.0.3" pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== path-browserify@0.0.1: version "0.0.1" @@ -10447,12 +10401,12 @@ path-browserify@0.0.1: path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" @@ -10462,7 +10416,7 @@ path-exists@^4.0.0: path-is-absolute@1.0.1, path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.1: version "2.0.1" @@ -10482,7 +10436,7 @@ path-parse@^1.0.6, path-parse@^1.0.7: path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-to-regexp@^1.2.0: version "1.8.0" @@ -10521,9 +10475,9 @@ pause-stream@0.0.11: through "~2.3" pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -10609,56 +10563,58 @@ pluralize@^8.0.0: posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== -postcss-calc@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" - integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== dependencies: - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" -postcss-colormin@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.0.0.tgz#283b8934c8bdbc531e7648aeb0970107f6d06d0e" - integrity sha512-Yt84+5V6CgS/AhK7d7MA58vG8dSZ7+ytlRtWLaQhag3HXOncTfmYpuUOX4cDoXjvLfw1sHRCHMiBjYhc35CymQ== +postcss-colormin@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" + integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== dependencies: - browserslist "^4.16.0" - color "^3.1.1" - postcss-value-parser "^4.1.0" + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" -postcss-convert-values@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.0.tgz#cd77e1d23ebe8fcf508640551eed08e232784cba" - integrity sha512-V5kmYm4xoBAjNs+eHY/6XzXJkkGeg4kwNf2ocfqhLb1WBPEa4oaSmoi1fnVO7Dkblqvus9h+AenDvhCKUCK7uQ== +postcss-convert-values@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz#31586df4e184c2e8890e8b34a0b9355313f503ab" + integrity sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g== dependencies: - postcss-value-parser "^4.1.0" + browserslist "^4.20.3" + postcss-value-parser "^4.2.0" -postcss-discard-comments@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.0.tgz#6c27310e0657c0b9e38a6175ad001b5aa28964bc" - integrity sha512-Umig6Gxs8m20RihiXY6QkePd6mp4FxkA1Dg+f/Kd6uw0gEMfKRjDeQOyFkLibexbJJGHpE3lrN/Q0R9SMrUMbQ== +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== -postcss-discard-duplicates@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.0.tgz#6a2c4f779e8d20da6781e90730f234f9e650c51c" - integrity sha512-vEJJ+Y3pFUnO1FyCBA6PSisGjHtnphL3V6GsNvkASq/VkP3OX5/No5RYXXLxHa2QegStNzg6HYrYdo71uR4caQ== +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== -postcss-discard-empty@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.0.tgz#0f0a9baee415f5f7be4ae046ba235e98626ba821" - integrity sha512-+wigy099Y1xZxG36WG5L1f2zeH1oicntkJEW4TDIqKKDO2g9XVB3OhoiHTu08rDEjLnbcab4rw0BAccwi2VjiQ== +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== -postcss-discard-overridden@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.0.tgz#ac00f695a60001eda52135a11fac87376b8da9ee" - integrity sha512-hybnScTaZM2iEA6kzVQ6Spozy7kVdLw+lGw8hftLlBEzt93uzXoltkYp9u0tI8xbfhxDLTOOzHsHQCkYdmzRUg== +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== postcss-loader@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.2.0.tgz#f6993ea3e0f46600fb3ee49bbd010448123a7db4" - integrity sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.3.0.tgz#2c4de9657cd4f07af5ab42bd60a673004da1b8cc" + integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q== dependencies: cosmiconfig "^7.0.0" klona "^2.0.4" @@ -10671,60 +10627,55 @@ postcss-media-query-parser@^0.2.3: resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= -postcss-merge-longhand@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.1.tgz#1a008ff72d14cd3e2f3d32accc2ad37948bcabf4" - integrity sha512-H1RO8le5deFGumQzuhJjuL0bIXPRysa+w7xtk5KrHe38oiaSS9ksPXDo24+IOS3SETPhip0J5+1uCOW+ALs3Yw== +postcss-merge-longhand@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz#f378a8a7e55766b7b644f48e5d8c789ed7ed51ce" + integrity sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw== dependencies: - css-color-names "^1.0.1" - postcss-value-parser "^4.1.0" - stylehacks "^5.0.0" + postcss-value-parser "^4.2.0" + stylehacks "^5.1.0" -postcss-merge-rules@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.0.tgz#e0d0c0d45c98376f4adb49eb1f1dfe2aebfd7048" - integrity sha512-TfsXbKjNYCGfUPEXGIGPySnMiJbdS+3gcVeV8gwmJP4RajyKZHW8E0FYDL1WmggTj3hi+m+WUCAvqRpX2ut4Kg== +postcss-merge-rules@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz#7049a14d4211045412116d79b751def4484473a5" + integrity sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ== dependencies: - browserslist "^4.16.0" + browserslist "^4.16.6" caniuse-api "^3.0.0" - cssnano-utils "^2.0.0" - postcss-selector-parser "^6.0.4" - vendors "^1.0.3" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" -postcss-minify-font-values@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.0.tgz#fee5d0fa192fae8757cb744870a0ad02be5f402e" - integrity sha512-zi2JhFaMOcIaNxhndX5uhsqSY1rexKDp23wV8EOmC9XERqzLbHsoRye3aYF716Zm+hkcR4loqKDt8LZlmihwAg== +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-minify-gradients@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.0.tgz#95dbe61567a45c0cd7ab897d78fb65d5096844ed" - integrity sha512-/jPtNgs6JySMwgsE5dPOq8a2xEopWTW3RyqoB9fLqxgR+mDUNLSi7joKd+N1z7FXWgVkc4l/dEBMXHgNAaUbvg== +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== dependencies: - cssnano-utils "^2.0.0" - is-color-stop "^1.1.0" - postcss-value-parser "^4.1.0" + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -postcss-minify-params@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.0.tgz#12c7f75d69b0b4827fafbd6649970a53784a9c24" - integrity sha512-KvZYIxTPBVKjdd+XgObq9A+Sfv8lMkXTpbZTsjhr42XbfWIeLaTItMlygsDWfjArEc3muUfDaUFgNSeDiJ5jug== +postcss-minify-params@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz#ac41a6465be2db735099bbd1798d85079a6dc1f9" + integrity sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg== dependencies: - alphanum-sort "^1.0.2" - browserslist "^4.16.0" - cssnano-utils "^2.0.0" - postcss-value-parser "^4.1.0" - uniqs "^2.0.0" + browserslist "^4.16.6" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -postcss-minify-selectors@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.0.0.tgz#d3e43d97fd0ba83ba0010950fc5acfa420f7caa9" - integrity sha512-cEM0O0eWwFIvmo6nfB0lH0vO/XFwgqIvymODbfPXZ1gTA3i76FKnb7TGUrEpiTxaXH6tgYQ6DcTHwRiRS+YQLQ== +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^3.1.2" + postcss-selector-parser "^6.0.5" postcss-modules-extract-imports@^3.0.0: version "3.0.0" @@ -10754,96 +10705,91 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-normalize-charset@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.0.tgz#59e1fe2094fb2e3371cc5b054cbc39828a41a710" - integrity sha512-pqsCkgo9KmQP0ew6DqSA+uP9YN6EfsW20pQ3JU5JoQge09Z6Too4qU0TNDsTNWuEaP8SWsMp+19l15210MsDZQ== +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== -postcss-normalize-display-values@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.0.tgz#4ff2d3b3b5146a366de28ec9e24131a1868f1933" - integrity sha512-t4f2d//gH1f7Ns0Jq3eNdnWuPT7TeLuISZ6RQx4j8gpl5XrhkdshdNcOnlrEK48YU6Tcb6jqK7dorME3N4oOGA== +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: - cssnano-utils "^2.0.0" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-positions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.0.tgz#fe1d9a8122dd385b9c6908bd2008140dea17750d" - integrity sha512-0o6/qU5ky74X/eWYj/tv4iiKCm3YqJnrhmVADpIMNXxzFZywsSQxl8F7cKs8jQEtF3VrJBgcDHTexZy1zgDoYg== +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-repeat-style@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.0.tgz#e11d88fbf63f89179c6a7391853b2fe7f46e589d" - integrity sha512-KRT14JbrXKcFMYuc4q7lh8lvv8u22wLyMrq+UpHKLtbx2H/LOjvWXYdoDxmNrrrJzomAWL+ViEXr48/IhSUJnQ== +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: - cssnano-utils "^2.0.0" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-string@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.0.tgz#2ea08ff4cb8817ce160755e9fdc7e6ef6d495002" - integrity sha512-wSO4pf7GNcDZpmelREWYADF1+XZWrAcbFLQCOqoE92ZwYgaP/RLumkUTaamEzdT2YKRZAH8eLLKGWotU/7FNPw== +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-timing-functions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.0.tgz#380eb1c9b179f96efc307c659a8049116f16f381" - integrity sha512-TwPaDX+wl9wO3MUm23lzGmOzGCGKnpk+rSDgzB2INpakD5dgWR3L6bJq1P1LQYzBAvz8fRIj2NWdnZdV4EV98Q== +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: - cssnano-utils "^2.0.0" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-unicode@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.0.tgz#aa46a89c86ae51a01cbca13e73c1ed7b0b38807e" - integrity sha512-2CpVoz/67rXU5s9tsPZDxG1YGS9OFHwoY9gsLAzrURrCxTAb0H7Vp87/62LvVPgRWTa5ZmvgmqTp2rL8tlm72A== +postcss-normalize-unicode@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" + integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== dependencies: - browserslist "^4.16.0" - postcss-value-parser "^4.1.0" + browserslist "^4.16.6" + postcss-value-parser "^4.2.0" -postcss-normalize-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.0.tgz#626a4c7d30007f94466cdf245e7ed9f253f1dbd9" - integrity sha512-ICDaGFBqLgA3dlrCIRuhblLl80D13YtgEV9NJPTYJtgR72vu61KgxAHv+z/lKMs1EbwfSQa3ALjOFLSmXiE34A== +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: - is-absolute-url "^3.0.3" - normalize-url "^4.5.0" - postcss-value-parser "^4.1.0" + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" -postcss-normalize-whitespace@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.0.tgz#1faf147a4f8d3d93a3c75109d120b4eefa00589b" - integrity sha512-KRnxQvQAVkJfaeXSz7JlnD9nBN9sFZF9lrk9452Q2uRoqrRSkinqifF8Iex7wZGei2DZVG/qpmDFDmRvbNAOGA== +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-ordered-values@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.0.tgz#a50f224c5f40c566b338b0663655478737dcebee" - integrity sha512-dPr+SRObiHueCIc4IUaG0aOGQmYkuNu50wQvdXTGKy+rzi2mjmPsbeDsheLk5WPb9Zyf2tp8E+I+h40cnivm6g== +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: - cssnano-utils "^2.0.0" - postcss-value-parser "^4.1.0" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -postcss-reduce-initial@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.0.tgz#c724e5513b0ae7f3d7bff16f0fc82133fb2f820a" - integrity sha512-wR6pXUaFbSMG1oCKx8pKVA+rnSXCHlca5jMrlmkmif+uig0HNUTV9oGN5kjKsM3mATQAldv2PF9Tbl2vqLFjnA== +postcss-reduce-initial@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" + integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== dependencies: - browserslist "^4.16.0" + browserslist "^4.16.6" caniuse-api "^3.0.0" -postcss-reduce-transforms@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.0.tgz#5c820f71fbd4eec82b323523642b7b2d1c7d29ef" - integrity sha512-iHdGODW4YzM3WjVecBhPQt6fpJC4lGQZxJKjkBNHpp2b8dzmvj0ogKThqya+IRodQEFzjfXgYeESkf172FH5Lw== +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== dependencies: - cssnano-utils "^2.0.0" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" postcss-resolve-nested-selector@^0.1.1: version "0.1.1" @@ -10855,16 +10801,7 @@ postcss-safe-parser@^6.0.0: resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== -postcss-selector-parser@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: version "6.0.10" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== @@ -10880,24 +10817,22 @@ postcss-sorting@^5.0.1: lodash "^4.17.14" postcss "^7.0.17" -postcss-svgo@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.0.tgz#c8d806e573394ab24f1e233cac5be4c199e9f1b2" - integrity sha512-M3/VS4sFI1Yp9g0bPL+xzzCNz5iLdRUztoFaugMit5a8sMfkVzzhwqbsOlD8IFFymCdJDmXmh31waYHWw1K4BA== +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: - postcss-value-parser "^4.1.0" - svgo "^2.3.0" + postcss-value-parser "^4.2.0" + svgo "^2.7.0" -postcss-unique-selectors@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.0.tgz#17856278f6c38d024defc9694d568bb09dd7f771" - integrity sha512-o9l4pF8SRn7aCMTmzb/kNv/kjV7wPZpZ8Nlb1Gq8v/Qvw969K1wanz1RVA0ehHzWe9+wHXaC2DvZlak/gdMJ5w== +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.2" - uniqs "^2.0.0" + postcss-selector-parser "^6.0.5" -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== @@ -10958,12 +10893,12 @@ pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: - renderkid "^2.0.1" - utila "~0.4" + lodash "^4.17.20" + renderkid "^2.0.4" pretty-format@^26.0.0, pretty-format@^26.6.2: version "26.6.2" @@ -11006,7 +10941,7 @@ process-nextick-args@~2.0.0: process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== progress@^2.0.0: version "2.0.3" @@ -11016,7 +10951,7 @@ progress@^2.0.0: promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== prompts@^2.0.1: version "2.3.2" @@ -11051,7 +10986,7 @@ proxy-addr@~2.0.7: prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== psl@^1.1.33: version "1.8.0" @@ -11144,10 +11079,12 @@ qrcode-terminal@^0.12.0: resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== -qs@6.9.7, qs@^6.5.2: - version "6.9.7" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== +qs@6.10.3, qs@^6.5.2: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" query-string@^7.1.1: version "7.1.1" @@ -11162,7 +11099,7 @@ query-string@^7.1.1: querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== querystring@0.2.0: version "0.2.0" @@ -11214,13 +11151,13 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.3, raw-body@^2.3.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== +raw-body@2.5.1, raw-body@^2.3.3: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" - http-errors "1.8.1" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" @@ -11409,7 +11346,7 @@ read-pkg@^6.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1: +readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11640,7 +11577,7 @@ rehype-retext@^3.0.0: relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-frontmatter@^4.0.0: version "4.0.1" @@ -11703,28 +11640,28 @@ remark-retext@^5.0.0: remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== require-directory@^2.1.1: version "2.1.1" @@ -11749,7 +11686,7 @@ requireindex@^1.2.0: requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== reselect@^4.0.0, reselect@^4.1.6: version "4.1.6" @@ -11809,7 +11746,7 @@ resolve-path@^1.4.0: resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== resolve.exports@^1.1.0: version "1.1.0" @@ -11910,16 +11847,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - rimraf@2.6.3, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -11981,7 +11908,7 @@ run-parallel@^1.1.9: run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== dependencies: aproba "^1.1.1" @@ -12004,7 +11931,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -12012,11 +11939,11 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -12088,12 +12015,12 @@ schema-utils@^4.0.0: select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selfsigned@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" - integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== dependencies: node-forge "^1" @@ -12135,30 +12062,30 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.0.0, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "1.8.1" + http-errors "2.0.0" mime "1.6.0" ms "2.1.3" - on-finished "~2.3.0" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" + statuses "2.0.1" serialize-javascript@^4.0.0: version "4.0.0" @@ -12190,7 +12117,7 @@ serve-index-75lb@^2.0.1: serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" batch "0.6.1" @@ -12200,15 +12127,15 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.2" + send "0.18.0" set-blocking@^2.0.0: version "2.0.0" @@ -12305,13 +12232,6 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - sisteransi@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -12432,14 +12352,14 @@ source-map-support@~0.5.12, source-map-support@~0.5.20: source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" @@ -12447,9 +12367,9 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== source-map@^0.8.0-beta.0: version "0.8.0-beta.0" @@ -12565,7 +12485,7 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -ssri@^8.0.0: +ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== @@ -12587,12 +12507,17 @@ stack-utils@^2.0.3: static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== dependencies: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.0.0, statuses@^1.5.0, statuses@~1.5.0: +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.0.0, statuses@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -12802,10 +12727,10 @@ strip-ansi@^0.3.0: dependencies: ansi-regex "^0.2.1" -strip-ansi@^3.0.0: +strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" @@ -12897,12 +12822,12 @@ style-search@^0.1.0: resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= -stylehacks@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.0.tgz#c49b0b2cf9917fe37dc030b96a4c34698b932933" - integrity sha512-QOWm6XivDLb+fqffTZP8jrmPmPITVChl2KCY2R05nsCWwLi3VGhCdVc3IVGNwd1zzTt1jPd67zIKjpQfxzQZeA== +stylehacks@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" + integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== dependencies: - browserslist "^4.16.0" + browserslist "^4.16.6" postcss-selector-parser "^6.0.4" stylelint-config-idiomatic-order@^8.1.0: @@ -13009,9 +12934,9 @@ supports-color@^6.1.0: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" @@ -13066,17 +12991,17 @@ svgo@^1.1.1: unquote "~1.1.1" util.promisify "~1.0.0" -svgo@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.3.0.tgz#6b3af81d0cbd1e19c83f5f63cec2cb98c70b5373" - integrity sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q== +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: - "@trysound/sax" "0.1.1" - chalk "^4.1.0" - commander "^7.1.0" - css-select "^3.1.2" - css-tree "^1.1.2" + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" csso "^4.2.0" + picocolors "^1.0.0" stable "^0.1.8" symbol-tree@^3.2.4: @@ -13278,17 +13203,12 @@ thunky@^1.0.2: integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -13304,7 +13224,7 @@ tmpl@1.0.5: to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== to-fast-properties@^2.0.0: version "2.0.0" @@ -13314,7 +13234,7 @@ to-fast-properties@^2.0.0: to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== dependencies: kind-of "^3.0.2" @@ -13326,7 +13246,7 @@ to-readable-stream@^1.0.0: to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== dependencies: is-number "^3.0.0" repeat-string "^1.6.1" @@ -13434,11 +13354,16 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.3: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" @@ -13454,7 +13379,7 @@ tsutils@^3.21.0: tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== tuplemap@^1.0.2: version "1.0.2" @@ -13533,7 +13458,7 @@ typedarray-to-buffer@^3.1.5: typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript-compiler@^1.4.1-2: version "1.4.1-2" @@ -13684,16 +13609,6 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -13818,7 +13733,7 @@ universalify@^2.0.0: unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unquote@~1.1.1: version "1.1.1" @@ -13828,7 +13743,7 @@ unquote@~1.1.1: unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== dependencies: has-value "^0.3.1" isobject "^3.0.0" @@ -13839,9 +13754,9 @@ upath@^1.1.1, upath@^1.2.0: integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== update-browserslist-db@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" - integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== + version "1.0.9" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" + integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -13867,16 +13782,16 @@ update-notifier@^5.0.0: xdg-basedir "^4.0.0" uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== url-parse-lax@^3.0.0: version "3.0.0" @@ -13913,7 +13828,7 @@ use@^3.1.0: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util-extend@^1.0.1: version "1.0.3" @@ -13941,7 +13856,7 @@ util.promisify@~1.0.0: util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== dependencies: inherits "2.0.1" @@ -13952,15 +13867,15 @@ util@^0.11.0: dependencies: inherits "2.0.3" -utila@^0.4.0, utila@~0.4: +utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@^8.0.0, uuid@^8.3.2: version "8.3.2" @@ -14005,11 +13920,6 @@ vary@^1.1.2, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vendors@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== - vfile-find-up@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/vfile-find-up/-/vfile-find-up-6.0.0.tgz#51a9ae3abd41bd739bc10f91922e3e26aee12508" @@ -14106,23 +14016,23 @@ walker@^1.0.8: dependencies: makeerror "1.0.12" -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -14174,20 +14084,20 @@ webpack-cli@^3.3.12: yargs "^13.3.2" webpack-dev-middleware@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" - integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== dependencies: colorette "^2.0.10" - memfs "^3.4.1" + memfs "^3.4.3" mime-types "^2.1.31" range-parser "^1.2.1" schema-utils "^4.0.0" webpack-dev-server@^4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz#124ac9ac261e75303d74d95ab6712b4aec3e12ed" - integrity sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw== + version "4.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz#290ee594765cd8260adfe83b2d18115ea04484e7" + integrity sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -14228,9 +14138,9 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: source-map "~0.6.1" webpack@^4.44.2: - version "4.44.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== + version "4.46.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" @@ -14240,7 +14150,7 @@ webpack@^4.44.2: ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.3.0" + enhanced-resolve "^4.5.0" eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" loader-runner "^2.4.0" @@ -14577,7 +14487,7 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" @@ -14637,9 +14547,9 @@ xtend@~2.1.1: object-keys "~0.4.0" y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: version "5.0.5" @@ -14656,10 +14566,10 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@^13.1.2: version "13.1.2" From 5e49eb5d463eecffad615515142fd61b51d870b7 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Mon, 5 Sep 2022 16:35:02 +0200 Subject: [PATCH 099/131] Upgrade webpack and its plugins to v5 --- package.json | 14 +- yarn.lock | 2586 +++++++++----------------------------------------- 2 files changed, 471 insertions(+), 2129 deletions(-) diff --git a/package.json b/package.json index bec1504618..a1c6896109 100644 --- a/package.json +++ b/package.json @@ -112,9 +112,9 @@ "caniuse-lite": "^1.0.30001359", "circular-dependency-plugin": "^5.2.1", "codecov": "^3.8.3", - "copy-webpack-plugin": "^6.3.2", + "copy-webpack-plugin": "^11.0.0", "cross-env": "^7.0.3", - "css-loader": "^5.2.7", + "css-loader": "^6.7.1", "cssnano": "^5.0.2", "devtools-license-check": "^0.9.0", "eslint": "^8.23.0", @@ -135,7 +135,7 @@ "flow-coverage-report": "^0.8.0", "flow-typed": "^3.8.0", "glob": "^8.0.3", - "html-webpack-plugin": "^4.5.1", + "html-webpack-plugin": "^5.5.0", "husky": "^4.3.8", "jest": "^29.0.1", "jest-environment-jsdom": "^29.0.1", @@ -147,18 +147,18 @@ "node-fetch": "^2.6.7", "npm-run-all": "^4.1.5", "postcss": "^8.4.16", - "postcss-loader": "^4.2.0", + "postcss-loader": "^7.0.1", "prettier": "^2.7.1", "raw-loader": "^4.0.2", "rimraf": "^3.0.2", - "style-loader": "^2.0.0", + "style-loader": "^3.3.1", "stylelint": "^14.11.0", "stylelint-config-idiomatic-order": "^8.1.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^28.0.0", "stylelint-prettier": "^2.0.0", - "webpack": "^4.44.2", - "webpack-cli": "^3.3.12", + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.10.1", "workbox-webpack-plugin": "^6.5.4" }, diff --git a/yarn.lock b/yarn.lock index 21977dc93e..828162ede2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1128,6 +1128,11 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + "@eslint/eslintrc@^1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" @@ -1174,11 +1179,6 @@ resolved "https://registry.yarnpkg.com/@fluent/sequence/-/sequence-0.7.0.tgz#2fbfa872e87293cca209ba4a586d1a8fbaa2e5c4" integrity sha512-aH1xMwX8DFvKOQSKUKpB3zMsnJ2rRKt7MajLNnx/r3V3DWDo2nzEfm21d7UyOgwEckPIjPmhxdW1MEmsGUxYIw== -"@gar/promisify@^1.0.1": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - "@humanwhocodes/config-array@^0.10.4": version "0.10.4" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" @@ -1454,7 +1454,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== -"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.8", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.8", "@jridgewell/trace-mapping@^0.3.9": version "0.3.15" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== @@ -1543,22 +1543,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - "@octokit/auth-token@^2.4.4": version "2.5.0" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" @@ -1911,6 +1895,22 @@ dependencies: "@types/ms" "*" +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.4.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" + integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + "@types/estree-jsx@^0.0.1": version "0.0.1" resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-0.0.1.tgz#c36d7a1afeb47a95a8ee0b7bc8bc705db38f919d" @@ -1918,16 +1918,21 @@ dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/estree@*", "@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@^0.0.50": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": version "4.17.31" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" @@ -1969,10 +1974,10 @@ "@types/react" "*" hoist-non-react-statics "^3.3.0" -"@types/html-minifier-terser@^5.0.0": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" - integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-cache-semantics@*": version "4.0.0" @@ -2032,7 +2037,7 @@ "@types/tough-cookie" "*" parse5 "^7.0.0" -"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== @@ -2190,11 +2195,6 @@ dependencies: "@types/node" "*" -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - "@types/stack-utils@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" @@ -2205,11 +2205,6 @@ resolved "https://registry.yarnpkg.com/@types/supports-color/-/supports-color-8.1.1.tgz#1b44b1b096479273adf7f93c75fc4ecc40a61ee4" integrity sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw== -"@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" - integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== - "@types/testing-library__jest-dom@^5.9.1": version "5.9.5" resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz#5bf25c91ad2d7b38f264b12275e5c92a66d849b0" @@ -2227,13 +2222,6 @@ resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== -"@types/uglify-js@*": - version "3.17.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.0.tgz#95271e7abe0bf7094c60284f76ee43232aef43b9" - integrity sha512-3HO6rm0y+/cqvOyA8xcYLweF0TKXlAxmQASjbOi49Co51A1N4nR4bEwBgRoD9kNM+rqFGArjKr654SLp2CoGmQ== - dependencies: - source-map "^0.6.1" - "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.6": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" @@ -2244,27 +2232,6 @@ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== -"@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4.41.8": - version "4.41.32" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" - integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - "@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" @@ -2337,150 +2304,143 @@ "@typescript-eslint/types" "5.14.0" eslint-visitor-keys "^3.0.0" -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== + +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" + envinfo "^7.7.3" + +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -2534,6 +2494,11 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + acorn-jsx@^5.0.0, acorn-jsx@^5.2.0, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -2544,11 +2509,6 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - acorn@^7.1.1: version "7.4.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" @@ -2566,19 +2526,6 @@ agent-base@6: dependencies: debug "4" -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -2586,7 +2533,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -2598,7 +2545,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2676,11 +2623,6 @@ ansi-regex@^0.2.0, ansi-regex@^0.2.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" @@ -2725,15 +2667,7 @@ any-promise@^1.0.0, any-promise@^1.1.0: resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -2741,11 +2675,6 @@ anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - argparse@^1.0.7, argparse@^1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2768,21 +2697,6 @@ aria-query@^5.0.0: resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c" integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - array-back@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" @@ -2834,11 +2748,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - array.prototype.find@^2.0.4: version "2.1.1" resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz#3baca26108ca7affb08db06bf0be6cb3115a969c" @@ -2887,29 +2796,6 @@ asap@^2.0.0: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" @@ -2920,11 +2806,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - async@^3.2.3: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -2940,11 +2821,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - autoprefixer@^10.4.8: version "10.4.10" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.10.tgz#a1d8891d1516155eb13a772b1289efdc61de14ef" @@ -3101,24 +2977,6 @@ base64-arraybuffer-es6@0.5.0: resolved "https://registry.yarnpkg.com/base64-arraybuffer-es6/-/base64-arraybuffer-es6-0.5.0.tgz#27877d01148bcfb3919c17ecf64ea163d9bdba62" integrity sha512-UCIPaDJrNNj5jG2ZL+nzJ7czvZV/ZYX6LaIRgfVU1k1edJOQg7dkbiSKzwHkNp6aHEHER/PhlFBrMYnlvJJQEw== -base64-js@^1.0.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - basic-auth@^2.0.1, basic-auth@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" @@ -3141,38 +2999,11 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - body-parser@1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" @@ -3235,22 +3066,6 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -3258,78 +3073,12 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.1, browserslist@^4.21.2, browserslist@^4.21.3: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.1, browserslist@^4.21.2, browserslist@^4.21.3: version "4.21.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== @@ -3364,30 +3113,11 @@ 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== -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - builtin-modules@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - builtins@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/builtins/-/builtins-4.0.0.tgz#a8345420de82068fdc4d6559d0456403a8fb1905" @@ -3410,66 +3140,6 @@ bytes@3.1.2, bytes@^3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^15.0.5: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - cache-content-type@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" @@ -3527,7 +3197,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^4.1.1: +camel-case@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== @@ -3655,26 +3325,7 @@ charenc@~0.0.1: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: +chokidar@^3.4.0, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -3689,16 +3340,6 @@ chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -3714,14 +3355,6 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - circular-dependency-plugin@^5.2.1: version "5.2.2" resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" @@ -3737,33 +3370,18 @@ clamp@^1.0.1: resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634" integrity sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ= -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - classnames@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -clean-css@^4.2.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" - integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== +clean-css@^5.2.2: + version "5.3.1" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.1.tgz#d0610b0b90d125196a2894d35366f734e5d7aa32" + integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== dependencies: source-map "~0.6.0" -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - cli-boxes@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" @@ -3781,15 +3399,6 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -3808,6 +3417,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -3855,14 +3473,6 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -3892,7 +3502,7 @@ colord@^2.9.1, colord@^2.9.3: resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== -colorette@^2.0.10: +colorette@^2.0.10, colorette@^2.0.14: version "2.0.19" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== @@ -3939,7 +3549,7 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.0.1, commander@^4.1.1: +commander@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== @@ -3949,11 +3559,16 @@ commander@^5.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^7.2.0: +commander@^7.0.0, commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + common-log-format@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/common-log-format/-/common-log-format-1.0.0.tgz#0ecfb959ca637b44a9c3e6e08a3bee3e9db67f3f" @@ -3974,11 +3589,6 @@ compare-versions@^3.6.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - compressible@^2.0.0, compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -4004,16 +3614,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - concat-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" @@ -4041,16 +3641,6 @@ connect-history-api-fallback@^2.0.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - content-disposition@0.5.4, content-disposition@~0.5.2: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -4088,23 +3678,6 @@ cookies@~0.8.0: depd "~2.0.0" keygrip "~1.1.0" -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - copy-to-clipboard@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz#5b263ec2366224b100181dded7ce0579b340c107" @@ -4117,22 +3690,17 @@ copy-to@^2.0.1: resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= -copy-webpack-plugin@^6.3.2: - version "6.4.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz#138cd9b436dbca0a6d071720d5414848992ec47e" - integrity sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA== +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== dependencies: - cacache "^15.0.5" - fast-glob "^3.2.4" - find-cache-dir "^3.3.1" - glob-parent "^5.1.1" - globby "^11.0.1" - loader-utils "^2.0.0" + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" normalize-path "^3.0.0" - p-limit "^3.0.2" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - webpack-sources "^1.4.3" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: version "3.23.4" @@ -4179,37 +3747,6 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - create-mixin@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/create-mixin/-/create-mixin-3.0.0.tgz#11d0f4878f5c6f41230f4c8f7d72b7255258217c" @@ -4252,23 +3789,6 @@ crypt@~0.0.1: resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -4289,20 +3809,18 @@ css-functions-list@^3.1.0: resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b" integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w== -css-loader@^5.2.7: - version "5.2.7" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" - integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== +css-loader@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" + integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== dependencies: icss-utils "^5.1.0" - loader-utils "^2.0.0" - postcss "^8.2.15" + postcss "^8.4.7" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^3.0.0" + postcss-value-parser "^4.2.0" semver "^7.3.5" css-select-base-adapter@^0.1.1: @@ -4450,11 +3968,6 @@ cuss@^2.0.0: resolved "https://registry.yarnpkg.com/cuss/-/cuss-2.0.0.tgz#7f88210a9dfe3cd60834f1d82af97b62be44f89f" integrity sha512-EHbh7F4GHvgyuakXeic9wtfeEYves17MxLpgIsljCbaDil6auJVsTTLV/qwkZ58+Gu+NKmMHVQm81J3BcEqwUg== -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== - data-urls@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" @@ -4471,7 +3984,7 @@ debug@*, debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@ dependencies: ms "2.1.2" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4591,7 +4104,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4: +define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== @@ -4599,28 +4112,6 @@ define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4: 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#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -4651,24 +4142,11 @@ dequal@^2.0.0: resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - destroy@1.2.0, destroy@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -4709,15 +4187,6 @@ diff@^5.0.0: resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -4788,11 +4257,6 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - domelementtype@1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -4871,16 +4335,6 @@ duplexer@~0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - eastasianwidth@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.1.1.tgz#44d656de9da415694467335365fb3147b8572b7c" @@ -4903,19 +4357,6 @@ electron-to-chromium@^1.4.202: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.249.tgz#49c34336c742ee65453dbddf4c84355e59b96e2c" integrity sha512-GMCxR3p2HQvIw47A599crTKYZprqihoBL4lDSAUmr7IYekXFK5t/WgEBrGJDCa2HWIZFQEkGuMqPCi05ceYqPQ== -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - emittery@^0.10.2: version "0.10.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" @@ -4946,21 +4387,20 @@ encodeurl@^1.0.2, encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== +enhanced-resolve@^5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" + graceful-fs "^4.2.4" + tapable "^2.2.0" entities@^2.0.0: version "2.2.0" @@ -4972,12 +4412,10 @@ entities@^4.4.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== error-ex@^1.3.1: version "1.3.2" @@ -5020,6 +4458,11 @@ 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#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -5196,15 +4639,7 @@ eslint-rule-composer@^0.3.0: resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0, eslint-scope@^5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -5367,7 +4802,7 @@ esquery@^1.0.1, esquery@^1.4.0: dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0, esrecurse@^4.3.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -5430,19 +4865,11 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.0.0: +events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -5463,19 +4890,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -5529,22 +4943,7 @@ express@^4.17.3: statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" + vary "~1.1.2" extend@^3.0.0: version "3.0.2" @@ -5560,20 +4959,6 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - fake-indexeddb@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/fake-indexeddb/-/fake-indexeddb-3.1.8.tgz#229e3cff6fa7355aebb3f147b908d2efa4605d70" @@ -5591,7 +4976,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.2.11, fast-glob@^3.2.4, fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== @@ -5619,7 +5004,7 @@ fast-url-parser@^1.1.3: dependencies: punycode "^1.3.2" -fastest-levenshtein@^1.0.16: +fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== @@ -5709,11 +5094,6 @@ file-loader@^6.2.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - filelist@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" @@ -5721,16 +5101,6 @@ filelist@^1.0.1: dependencies: minimatch "^5.0.1" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -5764,15 +5134,6 @@ find-babel-config@^1.2.0: json5 "^0.5.1" path-exists "^3.0.0" -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - find-cache-dir@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" @@ -5840,16 +5201,6 @@ find-versions@^4.0.0: dependencies: semver-regex "^3.1.2" -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -5948,24 +5299,11 @@ flowgen@^1.10.0: typescript "^3.4" typescript-compiler "^1.4.1-2" -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - follow-redirects@^1.0.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -5990,26 +5328,11 @@ fraction.js@^4.2.0: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - fresh@0.5.2, fresh@~0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" @@ -6034,13 +5357,6 @@ fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" @@ -6051,29 +5367,11 @@ fs-readdir-recursive@^1.1.0: resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" @@ -6160,11 +5458,6 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - git-diff-tree@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/git-diff-tree/-/git-diff-tree-1.1.0.tgz#05cd0b2fa9ebf1630ba643fe89d8ccbb2635f7bb" @@ -6183,15 +5476,7 @@ git-spawned-stream@1.0.1: debug "^4.1.0" spawn-to-readstream "~0.1.3" -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -6205,7 +5490,7 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob-to-regexp@^0.4.0: +glob-to-regexp@^0.4.0, glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== @@ -6307,7 +5592,7 @@ globals@^13.15.0: dependencies: type-fest "^0.20.2" -globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: +globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -6319,6 +5604,17 @@ globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +globby@^13.1.1: + version "13.1.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.2.tgz#29047105582427ab6eca4f905200667b056da515" + integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + globjoin@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" @@ -6358,7 +5654,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -6424,37 +5720,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -6467,23 +5732,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hast-util-embedded@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hast-util-embedded/-/hast-util-embedded-2.0.0.tgz#877f4261044854743fc2621f728930ca61c8376f" @@ -6599,15 +5847,6 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -6661,38 +5900,34 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" he "^1.2.0" - param-case "^3.0.3" + param-case "^3.0.4" relateurl "^0.2.7" - terser "^4.6.3" + terser "^5.10.0" html-tags@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.2.0.tgz#dbb3518d20b726524e4dd43de397eb0a95726961" integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg== -html-webpack-plugin@^4.5.1: - version "4.5.2" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" - integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== +html-webpack-plugin@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" + integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.20" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" htmlparser2@^6.1.0: version "6.1.0" @@ -6816,11 +6051,6 @@ http2-wrapper@^1.0.0-beta.5.2: quick-lru "^5.1.1" resolve-alpn "^1.0.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -6874,16 +6104,6 @@ idb@^7.0.1, idb@^7.0.2: resolved "https://registry.yarnpkg.com/idb/-/idb-7.0.2.tgz#7a067e20dd16539938e456814b7d714ba8db3892" integrity sha512-jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg== -ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== - ignore-walk@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" @@ -6924,14 +6144,6 @@ import-lazy@^4.0.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - import-local@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" @@ -6962,11 +6174,6 @@ indent-string@^5.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - inflation@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" @@ -6980,16 +6187,11 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== - inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -7033,11 +6235,16 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -interpret@^1.0.0, interpret@^1.4.0: +interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -7048,20 +6255,6 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-alphabetical@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.0.tgz#ef6e2caea57c63450fffc7abb6cbdafc5eb96e96" @@ -7087,13 +6280,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -7109,16 +6295,16 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^1.1.5, is-buffer@~1.1.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-buffer@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== +is-buffer@~1.1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.5.tgz#6123e0b1fef5d7591514b371bb018204892f1a2b" @@ -7138,20 +6324,6 @@ is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-mod dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -7164,24 +6336,6 @@ is-decimal@^2.0.0: resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.0.tgz#db1140337809fd043a056ae40a9bd1cdc563034c" integrity sha512-QfrfjQV0LjoWQ1K1XSoEZkTAzSa14RKVMa5zg3SdAfzEmQzRM4+tbSFWb78creCeA9rNBzaZal92opi1TwPWZw== -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" @@ -7192,19 +6346,7 @@ is-empty@^1.0.0: resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b" integrity sha1-3pu1snhzigWgsJpX4ftNSjQan2s= -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== @@ -7234,13 +6376,6 @@ is-generator-function@^1.0.7: resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -7283,13 +6418,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -7325,7 +6453,7 @@ is-plain-obj@^4.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22" integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== @@ -7398,16 +6526,11 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" -is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -7425,7 +6548,7 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== @@ -7435,14 +6558,7 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: +isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== @@ -7885,6 +7001,15 @@ jest-worker@^26.2.1: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest-worker@^29.0.2: version "29.0.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.0.2.tgz#46c9f2cb9a19663d22babbacf998e4b5d7c46574" @@ -7982,12 +7107,12 @@ json-loader@^0.5.7: resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.3.0: +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== @@ -8099,26 +7224,7 @@ keyv@^4.0.0: dependencies: json-buffer "3.0.1" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -8133,7 +7239,7 @@ kleur@^4.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== -klona@^2.0.4: +klona@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== @@ -8380,19 +7486,10 @@ load-plugin@^4.0.0: import-meta-resolve "^1.0.0" libnpmconfig "^1.0.0" -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^2.0.0: version "2.0.2" @@ -8558,13 +7655,6 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -8720,7 +7810,7 @@ magic-string@^0.25.0, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" -make-dir@^2.0.0, make-dir@^2.1.0: +make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -8742,11 +7832,6 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -8762,13 +7847,6 @@ map-stream@~0.1.0: resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - markdown-table@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.1.tgz#88c48957aaf2a8014ccb2ba026776a1d736fe3dc" @@ -8779,15 +7857,6 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - md5@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" @@ -9003,22 +8072,6 @@ memoize-one@^6.0.0: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -9452,25 +8505,6 @@ micromark@^3.0.0: parse-entities "^3.0.0" uvu "^0.5.0" -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -9479,20 +8513,12 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -9524,16 +8550,11 @@ min-indent@^1.0.0, min-indent@^1.0.1: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: +minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -9562,77 +8583,17 @@ minimist@^1.2.0, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.3.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" - integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - mixedtuplemap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mixedtuplemap/-/mixedtuplemap-1.0.0.tgz#3bdad4a14a5478b9a3972aae56092772a759cfc4" integrity sha1-O9rUoUpUeLmjlyquVgkncqdZz8Q= -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - mkdirp@^0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7" integrity sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc= -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -9655,18 +8616,6 @@ morgan@^1.6.1: on-finished "~2.3.0" on-headers "~1.0.2" -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - mri@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -9714,33 +8663,11 @@ namedtuplemap@^1.0.0: resolved "https://registry.yarnpkg.com/namedtuplemap/-/namedtuplemap-1.0.0.tgz#c231789c5b7b47b4b3a3e73317f03ddde1ebcb34" integrity sha1-wjF4nFt7R7Szo+czF/A93eHryzQ= -nan@^2.12.1: - version "2.16.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" - integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== - nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -9751,7 +8678,7 @@ negotiator@0.6.3: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.5.0, neo-async@^2.6.1: +neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -9826,35 +8753,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-releases@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" @@ -9899,13 +8797,6 @@ normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: semver "^7.3.4" validate-npm-package-license "^3.0.1" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -9977,15 +8868,6 @@ object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-hash@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" @@ -10006,13 +8888,6 @@ object-keys@~0.4.0: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" @@ -10041,7 +8916,7 @@ object.fromentries@^2.0.5: define-properties "^1.1.3" es-abstract "^1.19.1" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: +object.getownpropertydescriptors@^2.1.0: version "2.1.4" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== @@ -10059,13 +8934,6 @@ object.hasown@^1.1.1: define-properties "^1.1.4" es-abstract "^1.19.5" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - object.values@^1.1.0, object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" @@ -10164,11 +9032,6 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -10233,13 +9096,6 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-retry@^4.5.0: version "4.6.2" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" @@ -10268,21 +9124,12 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pako@~1.0.2, pako@~1.0.5: +pako@~1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^3.0.3: +param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== @@ -10297,17 +9144,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-english@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/parse-english/-/parse-english-5.0.0.tgz#baea1a4d2cba9fde9e49f51ea5b5f95df9d3f6b4" @@ -10382,26 +9218,11 @@ parseurl@^1.3.2, parseurl@~1.3.2, parseurl@~1.3.3: pascal-case@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" path-exists@^3.0.0: version "3.0.0" @@ -10474,17 +9295,6 @@ pause-stream@0.0.11: dependencies: through "~2.3" -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - photon-colors@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/photon-colors/-/photon-colors-3.3.2.tgz#eaf2e5a8ba9368fcdee0607cc86a9f613e6d3417" @@ -10520,13 +9330,6 @@ pirates@^4.0.4: resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw== -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -10560,11 +9363,6 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - postcss-calc@^8.2.3: version "8.2.4" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" @@ -10611,16 +9409,14 @@ postcss-discard-overridden@^5.1.0: resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== -postcss-loader@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.3.0.tgz#2c4de9657cd4f07af5ab42bd60a673004da1b8cc" - integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q== +postcss-loader@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.1.tgz#4c883cc0a1b2bfe2074377b7a74c1cd805684395" + integrity sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ== dependencies: cosmiconfig "^7.0.0" - klona "^2.0.4" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - semver "^7.3.4" + klona "^2.0.5" + semver "^7.3.7" postcss-media-query-parser@^0.2.3: version "0.2.3" @@ -10846,7 +9642,7 @@ postcss@^7.0.17: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^8.2.15, postcss@^8.4.16: +postcss@^8.4.16, postcss@^8.4.7: version "8.4.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== @@ -10892,13 +9688,13 @@ pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" - renderkid "^2.0.4" + renderkid "^3.0.0" pretty-format@^26.0.0, pretty-format@^26.6.2: version "26.6.2" @@ -10938,21 +9734,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - prompts@^2.0.1: version "2.3.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" @@ -10983,28 +9769,11 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - pump-chain@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pump-chain/-/pump-chain-1.0.0.tgz#7d57d8d9ad8181ea808f5413c4f2bc1e786a5e37" @@ -11022,14 +9791,6 @@ pump@^1.0.1: end-of-stream "^1.1.0" once "^1.3.1" -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -11038,21 +9799,12 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4, punycode@^1.3.2: +punycode@^1.3.2: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= @@ -11096,11 +9848,6 @@ query-string@^7.1.1: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -11131,21 +9878,13 @@ quotation@^2.0.0: resolved "https://registry.yarnpkg.com/quotation/-/quotation-2.0.1.tgz#74b09a26aec9563674625beac5fc03265336b2d0" integrity sha512-a+Z+GmpL5W1rJqmltBJmQhIvlnEuXvNUsPJYHXV6TmfDYZZga268utV1/0fr09ICz3dqlJmd+Etdlqxo9iuASQ== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -11333,7 +10072,7 @@ read-pkg@^6.0.0: parse-json "^5.2.0" type-fest "^1.0.1" -"readable-stream@1 || 2", readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +readable-stream@2, readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -11346,7 +10085,7 @@ read-pkg@^6.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.6.0: +readable-stream@^3.0.2, readable-stream@^3.0.6: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11387,15 +10126,6 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -11420,6 +10150,13 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -11489,14 +10226,6 @@ regenerator-transform@^0.15.0: dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - 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" @@ -11637,31 +10366,16 @@ remark-retext@^5.0.0: mdast-util-to-nlcst "^5.0.0" unified "^10.0.0" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: css-select "^4.1.3" dom-converter "^0.2.0" htmlparser2 "^6.1.0" lodash "^4.17.21" - strip-ansi "^3.0.1" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + strip-ansi "^6.0.1" require-directory@^2.1.1: version "2.1.1" @@ -11698,13 +10412,6 @@ resolve-alpn@^1.0.0: resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== -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= - dependencies: - resolve-from "^3.0.0" - resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -11720,11 +10427,6 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1: expand-tilde "^2.0.0" global-modules "^1.0.0" -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -11743,17 +10445,12 @@ resolve-path@^1.4.0: http-errors "~1.6.2" path-is-absolute "1.0.1" -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - resolve.exports@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.9.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -11792,11 +10489,6 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - retext-english@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/retext-english/-/retext-english-4.1.0.tgz#4d4b4047a262feba316fe03537a0a00a56bfc1d4" @@ -11854,13 +10546,6 @@ rimraf@2.6.3, rimraf@~2.6.2: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -11868,14 +10553,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - rollup-plugin-terser@^7.0.0: version "7.0.2" resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" @@ -11905,13 +10582,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== - dependencies: - aproba "^1.1.1" - rxjs@^6.6.0: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" @@ -11931,19 +10601,12 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -11975,15 +10638,6 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" @@ -11993,7 +10647,7 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0: +schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== @@ -12061,7 +10715,7 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.0.0, semver@^7.3.4, semver@^7.3.5: +semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -12094,10 +10748,10 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: randombytes "^2.1.0" @@ -12142,17 +10796,7 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -12172,13 +10816,12 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + kind-of "^6.0.2" shebang-command@^1.2.0: version "1.2.0" @@ -12247,6 +10890,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" @@ -12275,36 +10923,6 @@ slide@~1.1.3: resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - sockjs@^0.3.24: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" @@ -12324,17 +10942,6 @@ source-map-js@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - source-map-support@0.5.13: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -12343,7 +10950,7 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -12351,26 +10958,11 @@ source-map-support@~0.5.12, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - source-map@^0.8.0-beta.0: version "0.8.0-beta.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" @@ -12450,13 +11042,6 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - split-transform-stream@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/split-transform-stream/-/split-transform-stream-0.1.1.tgz#825236a78d52a18ff912a631ad3034c15ded5fe3" @@ -12478,20 +11063,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - -ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -12504,14 +11075,6 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -12522,14 +11085,6 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -12537,14 +11092,6 @@ stream-combiner@~0.0.4: dependencies: duplexer "~0.1.1" -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - stream-events@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" @@ -12552,17 +11099,6 @@ stream-events@^1.0.5: dependencies: stubs "^3.0.0" -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - stream-log-stats@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/stream-log-stats/-/stream-log-stats-3.0.2.tgz#405872ca30ffa02966774c7eb0663a257b06bd76" @@ -12576,11 +11112,6 @@ stream-log-stats@^3.0.2: stream-via "^1.0.4" table-layout "~1.0.0" -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - stream-slice@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/stream-slice/-/stream-slice-0.1.2.tgz#2dc4f4e1b936fb13f3eb39a2def1932798d07a4b" @@ -12617,7 +11148,7 @@ string-natural-compare@^3.0.1: resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== -string-width@^3.0.0, string-width@^3.1.0: +string-width@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -12684,7 +11215,7 @@ string.prototype.trimstart@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -12727,14 +11258,7 @@ strip-ansi@^0.3.0: dependencies: ansi-regex "^0.2.1" -strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: +strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -12804,13 +11328,10 @@ stubs@^3.0.0: resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= -style-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" - integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" +style-loader@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" + integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== style-mod@^4.0.0: version "4.0.0" @@ -13040,22 +11561,10 @@ table@^6.7.3, table@^6.8.0: string-width "^4.2.3" strip-ansi "^6.0.1" -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^6.0.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== teeny-request@7.1.1: version "7.1.1" @@ -13106,34 +11615,21 @@ terminal-table@^0.0.12: colors "^1.0.3" eastasianwidth "^0.1.0" -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== +terser-webpack-plugin@^5.1.3: + version "5.3.6" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" + integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2, terser@^4.6.3: - version "4.8.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" - integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" + "@jridgewell/trace-mapping" "^0.3.14" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + terser "^5.14.1" -terser@^5.0.0: - version "5.14.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" - integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== +terser@^5.0.0, terser@^5.10.0, terser@^5.14.1: + version "5.15.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" + integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -13176,14 +11672,6 @@ through2@2.0.0: readable-stream "~2.0.0" xtend "~4.0.0" -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - through2@~0.4.1, through2@~0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" @@ -13202,13 +11690,6 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -13221,36 +11702,16 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - to-readable-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -13258,16 +11719,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - to-vfile@^7.0.0: version "7.2.2" resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-7.2.2.tgz#5976568397ef664bc8df210676d082478822afbf" @@ -13376,11 +11827,6 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== - tuplemap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/tuplemap/-/tuplemap-1.0.2.tgz#d95695820988f124d80a3680f65f0e63292a673d" @@ -13599,30 +12045,6 @@ unified@^10.0.0: trough "^2.0.0" vfile "^5.0.0" -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -13740,15 +12162,7 @@ unquote@~1.1.1: resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1, upath@^1.2.0: +upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== @@ -13788,11 +12202,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -13820,11 +12229,6 @@ use-sync-external-store@^1.0.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.1.0.tgz#3343c3fe7f7e404db70f8c687adf5c1652d34e82" integrity sha512-SEnieB2FPKEVne66NpXPd1Np4R1lTNKfjuy3XdIoPQKYBAFdzbzSZlSn1KJZUiihQLQC5Znot4SBz1EOTBwQAQ== -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -13835,14 +12239,6 @@ util-extend@^1.0.1: resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8= -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" @@ -13853,20 +12249,6 @@ util.promisify@~1.0.0: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.0" -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -13893,7 +12275,7 @@ uvu@^0.5.0: sade "^1.7.3" totalist "^2.0.0" -v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1, v8-compile-cache@^2.3.0: +v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -13980,11 +12362,6 @@ vfile@^5.0.0, vfile@^5.1.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -14016,23 +12393,13 @@ walker@^1.0.8: dependencies: makeerror "1.0.12" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: + glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -14066,22 +12433,23 @@ webidl-conversions@^7.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== -webpack-cli@^3.3.12: - version "3.3.12" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" - integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== - dependencies: - chalk "^2.4.2" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.1" - findup-sync "^3.0.0" - global-modules "^2.0.0" - import-local "^2.0.0" - interpret "^1.4.0" - loader-utils "^1.4.0" - supports-color "^6.1.0" - v8-compile-cache "^2.1.1" - yargs "^13.3.2" +webpack-cli@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" + colorette "^2.0.14" + commander "^7.0.0" + cross-spawn "^7.0.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" webpack-dev-middleware@^5.3.1: version "5.3.3" @@ -14129,7 +12497,15 @@ webpack-dev-server@^4.10.1: webpack-dev-middleware "^5.3.1" ws "^8.4.2" -webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: +webpack-merge@^5.7.3: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== @@ -14137,34 +12513,40 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.44.2: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.74.0: + version "5.74.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.7.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" + enhanced-resolve "^5.10.0" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.4.0" + webpack-sources "^3.2.3" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" @@ -14268,6 +12650,11 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -14450,22 +12837,6 @@ workbox-window@6.5.4, workbox-window@^6.5.4: "@types/trusted-types" "^2.0.2" workbox-core "6.5.4" -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -14534,11 +12905,6 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - xtend@~2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" @@ -14546,6 +12912,11 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" +xtend@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" @@ -14556,11 +12927,6 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" @@ -14571,14 +12937,6 @@ yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -14597,22 +12955,6 @@ yargs-parser@^21.0.0: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@^15.1.0: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" From e3942e2091b4c23b9952d6bde0d82a9251988e02 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Mon, 5 Sep 2022 17:39:59 +0200 Subject: [PATCH 100/131] Update webpack config file --- res/photon/webpack.config.js | 7 +++---- webpack.config.js | 23 +++++++++++------------ 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/res/photon/webpack.config.js b/res/photon/webpack.config.js index 5055b77d1e..4af73d9501 100644 --- a/res/photon/webpack.config.js +++ b/res/photon/webpack.config.js @@ -10,7 +10,7 @@ module.exports = { rules: [ { test: /\.css?$/, - loaders: ['style-loader', 'css-loader'], + use: ['style-loader', 'css-loader'], include: [ path.join(projectRoot, 'src'), path.join(projectRoot, 'res'), @@ -19,7 +19,7 @@ module.exports = { }, { test: /\.(svg|png|jpg)$/, - loader: 'file-loader', + type: 'asset/resource', }, ], }, @@ -35,8 +35,7 @@ module.exports = { entry: './res/photon/index.js', output: { path: path.join(projectRoot, 'dist/photon'), - filename: '[hash].bundle.js', - chunkFilename: '[id].[hash].bundle.js', + filename: '[name].[contenthash].bundle.js', publicPath: '/photon/', }, }; diff --git a/webpack.config.js b/webpack.config.js index b10c25d23e..4bf8849db4 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -21,10 +21,8 @@ const availableStagingLocales = process.env.L10N : JSON.stringify(undefined); const config = { - entry: './src/index', output: { - path: path.join(__dirname, 'dist'), - filename: '[name].[hash].bundle.js', + filename: '[name].[contenthash].bundle.js', publicPath: '/', }, mode: process.env.NODE_ENV, @@ -40,17 +38,17 @@ const config = { rules: [ { test: /\.js$/, - loaders: ['babel-loader'], + use: ['babel-loader'], include: includes.concat(es6modulePaths), }, { test: /\.json$/, - loaders: ['json-loader'], + use: ['json-loader'], include: includes, }, { test: /\.css?$/, - loaders: [ + use: [ 'style-loader', { loader: 'css-loader', options: { importLoaders: 1 } }, 'postcss-loader', @@ -63,21 +61,18 @@ const config = { }, { test: /\.jpg$/, - loader: 'file-loader', + type: 'asset/resource', }, { test: /\.png$/, - loader: 'file-loader', + type: 'asset/resource', }, { test: /\.svg$/, - loader: 'file-loader', + type: 'asset/resource', }, ], }, - node: { - process: false, - }, plugins: [ new CircularDependencyPlugin({ // exclude node_modules @@ -111,6 +106,10 @@ const config = { ], }), ], + experiments: { + // Make WebAssembly work just like in webpack v4 + syncWebAssembly: true, + }, }; if (config.mode === 'production') { From 35b474b999f77a2e75c2356450dd83cfb3b021f9 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Mon, 5 Sep 2022 18:16:08 +0200 Subject: [PATCH 101/131] Adjust the browserslist so that webpack can decide automatically what it should output --- .browserslistrc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.browserslistrc b/.browserslistrc index 7a90e53304..2011bc6298 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,4 +1,12 @@ -current node +[development] last 2 chrome versions last 2 firefox versions last 2 safari versions + +[production] +last 2 chrome versions +last 2 firefox versions +last 2 safari versions + +[test] +current node From 0030b9db833635758a6036b1e1871b98854974e9 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Mon, 5 Sep 2022 18:16:42 +0200 Subject: [PATCH 102/131] Remove the babel transformation for the nullish coalescing operator --- .babelrc | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.babelrc b/.babelrc index 703832f257..d98f1d0f82 100644 --- a/.babelrc +++ b/.babelrc @@ -61,17 +61,6 @@ "loose": true } ], - [ - // This plugin is configured by preset-env when needed... however because - // Webpack v4 doesn't understand this new syntaxe we need to - // unconditionally transpile it even for platforms that don't support it. - "@babel/plugin-proposal-nullish-coalescing-operator", - { - // The loose operation is when assuming that we don't use document.all. - // We should probably use the "assumptions" object in preset-env. - "loose": true - } - ], [ "module-resolver", { From 2c765d9e0905651e3ffabe942fbce9419f1f6f07 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Wed, 14 Sep 2022 14:42:05 +0200 Subject: [PATCH 103/131] Remove the direct dependency for @babel/plugin-proposal-nullish-coalescing-operator --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index a1c6896109..21ea19d235 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,6 @@ "@babel/eslint-parser": "^7.18.9", "@babel/eslint-plugin": "^7.18.10", "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/preset-env": "^7.18.10", "@babel/preset-flow": "^7.18.6", "@babel/preset-react": "^7.18.6", From 4526e72f35e71b0efd7b2838bd25ed473e138408 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 15 Sep 2022 10:20:48 +0200 Subject: [PATCH 104/131] Update postcss v7 to latest v7 version --- yarn.lock | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index 828162ede2..55d9ef171f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9300,6 +9300,11 @@ photon-colors@^3.3.2: resolved "https://registry.yarnpkg.com/photon-colors/-/photon-colors-3.3.2.tgz#eaf2e5a8ba9368fcdee0607cc86a9f613e6d3417" integrity sha512-xCeL7J2F8cjM00zQZEZawHAGnrSOM509RbanL4c8hvrV8n19V/wwdzydX6rSUEtLYj4nx4OvhmKC4/vujo9f/Q== +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -9634,13 +9639,12 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^7.0.17: - version "7.0.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: - chalk "^2.4.2" + picocolors "^0.2.1" source-map "^0.6.1" - supports-color "^6.1.0" postcss@^8.4.16, postcss@^8.4.7: version "8.4.16" @@ -11447,13 +11451,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" From 136c66d3bef7e555a254bedb4f79c36bec761f8e Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 15 Sep 2022 10:22:09 +0200 Subject: [PATCH 105/131] Update ansi-regex to latest v4 version --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 55d9ef171f..0893dbbee1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2621,12 +2621,12 @@ ansi-html-community@^0.0.8: ansi-regex@^0.2.0, ansi-regex@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" - integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= + integrity sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA== ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== ansi-regex@^5.0.0, ansi-regex@^5.0.1: version "5.0.1" From 7002c0f4b3c566500b1b39e210c75e151746b28e Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 15 Sep 2022 10:22:58 +0200 Subject: [PATCH 106/131] Upgrade thenify to latest v3 version --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0893dbbee1..02255edede 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11655,9 +11655,9 @@ thenify-all@^1.0.0: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" From aa8ae11c43618b5431018ac6139e6992916e52f5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 16:30:55 +0200 Subject: [PATCH 107/131] Update all development Yarn dependencies (2022-09-19) (PR #4233) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 8 +- yarn.lock | 533 +++++++++++++++++++++++++-------------------------- 2 files changed, 269 insertions(+), 272 deletions(-) diff --git a/package.json b/package.json index 21ea19d235..217a7e1838 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "@babel/eslint-parser": "^7.18.9", "@babel/eslint-plugin": "^7.18.10", "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/preset-env": "^7.18.10", + "@babel/preset-env": "^7.19.0", "@babel/preset-flow": "^7.18.6", "@babel/preset-react": "^7.18.6", "@testing-library/dom": "^8.17.1", @@ -121,12 +121,12 @@ "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^26.8.3", + "eslint-plugin-jest": "^26.9.0", "eslint-plugin-jest-dom": "^4.0.2", "eslint-plugin-jest-formatting": "^3.1.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.31.1", - "eslint-plugin-testing-library": "^5.6.0", + "eslint-plugin-testing-library": "^5.6.4", "fake-indexeddb": "^3.1.8", "fetch-mock-jest": "^1.5.1", "file-loader": "^6.2.0", @@ -140,7 +140,7 @@ "jest-environment-jsdom": "^29.0.1", "jest-extended": "^3.1.0", "json-loader": "^0.5.7", - "local-web-server": "^4.2.1", + "local-web-server": "^5.2.1", "lockfile-lint": "^4.8.0", "mkdirp": "^1.0.4", "node-fetch": "^2.6.7", diff --git a/yarn.lock b/yarn.lock index 02255edede..2013316587 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,14 @@ # yarn lockfile v1 +"@75lb/deep-merge@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@75lb/deep-merge/-/deep-merge-1.1.1.tgz#3b06155b90d34f5f8cc2107d796f1853ba02fd6d" + integrity sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw== + dependencies: + lodash.assignwith "^4.2.0" + typical "^7.1.1" + "@adobe/css-tools@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" @@ -46,10 +54,10 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" - integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0", "@babel/compat-data@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" + integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== "@babel/core@^7.0.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.13": version "7.18.13" @@ -88,12 +96,12 @@ dependencies: eslint-rule-composer "^0.3.0" -"@babel/generator@^7.18.13", "@babel/generator@^7.7.2": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" - integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== +"@babel/generator@^7.18.13", "@babel/generator@^7.19.0", "@babel/generator@^7.7.2": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" + integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== dependencies: - "@babel/types" "^7.18.13" + "@babel/types" "^7.19.0" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -112,14 +120,14 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" - integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz#7f630911d83b408b76fe584831c98e5395d7a17c" + integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== dependencies: - "@babel/compat-data" "^7.18.8" + "@babel/compat-data" "^7.19.1" "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" + browserslist "^4.21.3" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6": @@ -135,10 +143,10 @@ "@babel/helper-replace-supers" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" - integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" + integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.1.0" @@ -167,13 +175,13 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.18.6", "@babel/helper-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" - integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== +"@babel/helper-function-name@^7.18.6", "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" @@ -196,19 +204,19 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" - integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9", "@babel/helper-module-transforms@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" + integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" "@babel/helper-simple-access" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -217,10 +225,10 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" - integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" @@ -307,10 +315,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.7.0": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" - integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.19.1", "@babel/parser@^7.7.0": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" + integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -328,13 +336,13 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952" - integrity sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew== +"@babel/plugin-proposal-async-generator-functions@^7.19.0": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" + integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -627,16 +635,17 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" - integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== +"@babel/plugin-transform-classes@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" + integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.19.0" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-replace-supers" "^7.18.9" "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" @@ -648,10 +657,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" - integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== +"@babel/plugin-transform-destructuring@^7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" + integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== dependencies: "@babel/helper-plugin-utils" "^7.18.9" @@ -735,14 +744,14 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" - integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== +"@babel/plugin-transform-modules-systemjs@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" + integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== dependencies: "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-identifier" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" @@ -754,13 +763,13 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" - integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" + integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" @@ -846,12 +855,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" - integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== +"@babel/plugin-transform-spread@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" + integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-transform-sticky-regex@^7.18.6": @@ -890,18 +899,18 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.10.tgz#83b8dfe70d7eea1aae5a10635ab0a5fe60dfc0f4" - integrity sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA== +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7" + integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ== dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/compat-data" "^7.19.0" + "@babel/helper-compilation-targets" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.18.10" + "@babel/plugin-proposal-async-generator-functions" "^7.19.0" "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6" @@ -935,9 +944,9 @@ "@babel/plugin-transform-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions" "^7.18.6" "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.18.9" + "@babel/plugin-transform-classes" "^7.19.0" "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.13" "@babel/plugin-transform-dotall-regex" "^7.18.6" "@babel/plugin-transform-duplicate-keys" "^7.18.9" "@babel/plugin-transform-exponentiation-operator" "^7.18.6" @@ -947,9 +956,9 @@ "@babel/plugin-transform-member-expression-literals" "^7.18.6" "@babel/plugin-transform-modules-amd" "^7.18.6" "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.9" + "@babel/plugin-transform-modules-systemjs" "^7.19.0" "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0" "@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6" "@babel/plugin-transform-parameters" "^7.18.8" @@ -957,14 +966,14 @@ "@babel/plugin-transform-regenerator" "^7.18.6" "@babel/plugin-transform-reserved-words" "^7.18.6" "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.9" + "@babel/plugin-transform-spread" "^7.19.0" "@babel/plugin-transform-sticky-regex" "^7.18.6" "@babel/plugin-transform-template-literals" "^7.18.9" "@babel/plugin-transform-typeof-symbol" "^7.18.9" "@babel/plugin-transform-unicode-escapes" "^7.18.10" "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.10" + "@babel/types" "^7.19.0" babel-plugin-polyfill-corejs2 "^0.3.2" babel-plugin-polyfill-corejs3 "^0.5.3" babel-plugin-polyfill-regenerator "^0.4.0" @@ -1019,26 +1028,26 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" - integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== +"@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.1.tgz#0fafe100a8c2a603b4718b1d9bf2568d1d193347" + integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" + "@babel/generator" "^7.19.0" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.13" - "@babel/types" "^7.18.13" + "@babel/parser" "^7.19.1" + "@babel/types" "^7.19.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" - integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" + integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== dependencies: "@babel/helper-string-parser" "^7.18.10" "@babel/helper-validator-identifier" "^7.18.6" @@ -1462,10 +1471,10 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@koa/cors@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.1.0.tgz#618bb073438cfdbd3ebd0e648a76e33b84f3a3b2" - integrity sha512-7ulRC1da/rBa6kj6P4g2aJfnET3z8Uf3SWu60cjbtxTA5g8lxRdX/Bd2P92EagGwwAhANeNw8T8if99rJliR6Q== +"@koa/cors@^3.2.0": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.4.1.tgz#ddd5c6ff07a1e60831e1281411a3b9fdb95a5b26" + integrity sha512-/sG9NlpGZ/aBpnRamIlGs+wX+C/IJ5DodNK7iPQIVCG4eUQdGeshGhWQ6JCi7tpnD9sCtFXcS04iTimuaJfh4Q== dependencies: vary "^1.1.2" @@ -2606,6 +2615,13 @@ ansi-escape-sequences@^5.1.2: dependencies: array-back "^4.0.0" +ansi-escape-sequences@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-6.2.1.tgz#6127d70b55f6f49af8b6f8968921ce9a39f1f2ad" + integrity sha512-0gK95MrLXv+Vy5h4eKGvSX1yXopBqSYBi3/w4hekUxs/hHakF6asH9Gg7UXbb7IH9weAlVIrUzVOITNBr8Imag== + dependencies: + array-back "^6.2.2" + ansi-escapes@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" @@ -2662,7 +2678,7 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -any-promise@^1.0.0, any-promise@^1.1.0: +any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= @@ -2697,15 +2713,20 @@ aria-query@^5.0.0: resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c" integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== -array-back@^3.0.1: +array-back@^3.0.1, array-back@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== -array-back@^4.0.0, array-back@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" - integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== +array-back@^4.0.0, array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + +array-back@^6.2.0, array-back@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-6.2.2.tgz#f567d99e9af88a6d3d2f9dfcc21db6f9ba9fd157" + integrity sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw== array-flatten@1.1.1: version "1.1.1" @@ -3078,7 +3099,7 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.1, browserslist@^4.21.2, browserslist@^4.21.3: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.20.3, browserslist@^4.21.1, browserslist@^4.21.2, browserslist@^4.21.3: version "4.21.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== @@ -3130,6 +3151,11 @@ byte-size@^6.2.0: resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-6.2.0.tgz#39fd52adedbbf7e8c3b3f7dea05e441549375c28" integrity sha512-6EspYUCAPMc7E2rltBgKwhG+Cmk0pDm9zDtF1Awe2dczNUL3YpZ8mTs/dueOTS1hqGWBOatqef4jYMGjln7WmA== +byte-size@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-8.1.0.tgz#6353d0bc14ab7a69abcefbf11f8db0145a862cb5" + integrity sha512-FkgMTAg44I0JtEaUAvuZTtU2a2YDmBRbQxdsQNSMtLCjhG0hMcF5b1IMN9UjSCJaU4nvlj/GER7B9sI4nKdCgA== + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -3524,24 +3550,24 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98" integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg== -command-line-args@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.1.1.tgz#88e793e5bb3ceb30754a86863f0401ac92fd369a" - integrity sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg== +command-line-args@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== dependencies: - array-back "^3.0.1" + array-back "^3.1.0" find-replace "^3.0.0" lodash.camelcase "^4.3.0" typical "^4.0.0" -command-line-usage@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.0.tgz#f28376a3da3361ff3d36cfd31c3c22c9a64c7cb6" - integrity sha512-Ew1clU4pkUeo6AFVDFxCbnN7GIZfXl48HIOQeFQnkO3oOqvpI7wdqtLRwv9iOCZ/7A+z4csVZeiDdEcj8g6Wiw== +command-line-usage@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== dependencies: - array-back "^4.0.0" + array-back "^4.0.2" chalk "^2.4.2" - table-layout "^1.0.0" + table-layout "^1.0.2" typical "^5.2.0" commander@^2.20.0: @@ -3963,6 +3989,11 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8" integrity sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag== +current-module-paths@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/current-module-paths/-/current-module-paths-1.1.0.tgz#5d5bf214281d80aea264e642f028e672098238f6" + integrity sha512-HGhLUszcgprjKmzvQoCQda8iEWsQn3sWVzPdttyJVR5cjfVDYcoyozQA5D1YXgab9v84SPMpSuD+YrPX6i1IMQ== + cuss@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/cuss/-/cuss-2.0.0.tgz#7f88210a9dfe3cd60834f1d82af97b62be44f89f" @@ -3998,13 +4029,6 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -4122,12 +4146,12 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= -depd@2.0.0, depd@~2.0.0: +depd@2.0.0, depd@^2.0.0, depd@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -depd@^1.1.2, depd@~1.1.2: +depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= @@ -4593,10 +4617,10 @@ eslint-plugin-jest-formatting@^3.1.0: resolved "https://registry.yarnpkg.com/eslint-plugin-jest-formatting/-/eslint-plugin-jest-formatting-3.1.0.tgz#b26dd5a40f432b642dcc880021a771bb1c93dcd2" integrity sha512-XyysraZ1JSgGbLSDxjj5HzKKh0glgWf+7CkqxbTqb7zEhW7X2WHo5SBQ8cGhnszKN+2Lj3/oevBlHNbHezoc/A== -eslint-plugin-jest@^26.8.3: - version "26.8.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.8.3.tgz#f5d9bb162636491c8f6f0cd2743fe67c86569338" - integrity sha512-2roWu1MkEiihQ/qEszPPoaoqVI1x2D8Jtadk5AmoXTdEeNVPMu01Dtz7jIuTOAmdW3L+tSkPZOtEtQroYJDt0A== +eslint-plugin-jest@^26.9.0: + version "26.9.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz#7931c31000b1c19e57dbfb71bbf71b817d1bf949" + integrity sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -4627,10 +4651,10 @@ eslint-plugin-react@^7.31.1: semver "^6.3.0" string.prototype.matchall "^4.0.7" -eslint-plugin-testing-library@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.6.0.tgz#91e810ecb838f86decc9b5202876c87e42d73ea7" - integrity sha512-y63TRzPhGCMNsnUwMGJU1MFWc/3GvYw+nzobp9QiyNTTKsgAt5RKAOT1I34+XqVBpX1lC8bScoOjCkP7iRv0Mw== +eslint-plugin-testing-library@^5.6.4: + version "5.6.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.6.4.tgz#9dffd9feafbb08a36240f88156357685b56f0b8a" + integrity sha512-0oW3tC5NNT2WexmJ3848a/utawOymw4ibl3/NkwywndVAz2hT9+ab70imA7ccg3RaScQgMvJT60OL00hpmJvrg== dependencies: "@typescript-eslint/utils" "^5.13.0" @@ -5968,7 +5992,7 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@^1.6.3, http-errors@^1.7.3: +http-errors@^1.6.3, http-errors@^1.7.3, http-errors@^1.8.0: version "1.8.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== @@ -6531,7 +6555,7 @@ is-windows@^1.0.1: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^2.1.1, is-wsl@^2.2.0: +is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -7249,7 +7273,7 @@ known-css-properties@^0.25.0: resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.25.0.tgz#6ebc4d4b412f602e5cfbeb4086bd544e34c0a776" integrity sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA== -koa-bodyparser@^4.2.1: +koa-bodyparser@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz#274c778555ff48fa221ee7f36a9fbdbace22759a" integrity sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw== @@ -7257,40 +7281,34 @@ koa-bodyparser@^4.2.1: co-body "^6.0.0" copy-to "^2.0.1" -koa-compose@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= - dependencies: - any-promise "^1.1.0" - koa-compose@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== -koa-compress@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/koa-compress/-/koa-compress-3.1.0.tgz#00fb0af695dc4661c6de261a18da669626ea3ca1" - integrity sha512-0m24/yS/GbhWI+g9FqtvStY+yJwTObwoxOvPok6itVjRen7PBWkjsJ8pre76m+99YybXLKhOJ62mJ268qyBFMQ== +koa-compress@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/koa-compress/-/koa-compress-5.1.0.tgz#7b9fe24f4c1b28d9cae90864597da472c2fcf701" + integrity sha512-G3Ppo9jrUwlchp6qdoRgQNMiGZtM0TAHkxRZQ7EoVvIG8E47J4nAsMJxXHAUQ+0oc7t0MDxSdONWTFcbzX7/Bg== dependencies: bytes "^3.0.0" compressible "^2.0.0" + http-errors "^1.8.0" koa-is-json "^1.0.0" - statuses "^1.0.0" + statuses "^2.0.1" koa-conditional-get@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/koa-conditional-get/-/koa-conditional-get-2.0.0.tgz#a43f3723c1d014b730a34ece8adf30b93c8233f2" integrity sha1-pD83I8HQFLcwo07Oit8wuTyCM/I= -koa-convert@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= +koa-convert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-2.0.0.tgz#86a0c44d81d40551bae22fee6709904573eea4f5" + integrity sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA== dependencies: co "^4.6.0" - koa-compose "^3.0.0" + koa-compose "^4.1.0" koa-etag@^3.0.0: version "3.0.0" @@ -7336,7 +7354,7 @@ koa-route@^3.2.0: methods "~1.1.0" path-to-regexp "^1.2.0" -koa-send@^5.0.0: +koa-send@^5.0.0, koa-send@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== @@ -7353,19 +7371,19 @@ koa-static@^5.0.0: debug "^3.1.0" koa-send "^5.0.0" -koa@^2.11.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.0.tgz#25217e05efd3358a7e5ddec00f0a380c9b71b501" - integrity sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ== +koa@^2.13.4: + version "2.13.4" + resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.4.tgz#ee5b0cb39e0b8069c38d115139c774833d32462e" + integrity sha512-43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g== dependencies: accepts "^1.3.5" cache-content-type "^1.0.0" content-disposition "~0.5.2" content-type "^1.0.4" cookies "~0.8.0" - debug "~3.1.0" + debug "^4.3.2" delegates "^1.0.0" - depd "^1.1.2" + depd "^2.0.0" destroy "^1.0.4" encodeurl "^1.0.2" escape-html "^1.0.3" @@ -7374,7 +7392,7 @@ koa@^2.11.0: http-errors "^1.6.3" is-generator-function "^1.0.7" koa-compose "^4.1.0" - koa-convert "^1.2.0" + koa-convert "^2.0.0" on-finished "^2.3.0" only "~0.0.2" parseurl "^1.3.2" @@ -7464,12 +7482,12 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -load-module@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/load-module/-/load-module-3.0.0.tgz#aeb73b13eb9c5c7e89cc5cebd1164f72f8f874b5" - integrity sha512-ZqprfrTx4vfH5+1mgpspPh5JYsNyA193NkMUdb3GwpmVqMczOh8cUDJgZBmEZVlSR42JBGYTUxlBAX9LHIBtIA== +load-module@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/load-module/-/load-module-4.2.1.tgz#3b596a4ddee52c59106d38160aa631a0ded68867" + integrity sha512-Sbfg6R4LjvyThJpqUoADHMjyoI2+cL4msbCQeZ9kkY/CqP/TT2938eftKm7x4I2gd4/A+DEe6nePkbfWYbXwSw== dependencies: - array-back "^4.0.1" + array-back "^6.2.0" load-pkg@^4.0.0: version "4.0.0" @@ -7500,28 +7518,28 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -local-web-server@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/local-web-server/-/local-web-server-4.2.1.tgz#61e6d3357fee37cb90e34302578e7159f771db3d" - integrity sha512-v71LZool2w7uYA+tDP5HhfjzUxz5SFfcrPPB/zC98yFFawt7A6fcmAr2MR4Q9AHk/A8oyd/wrhEJBJLndwHxNQ== +local-web-server@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/local-web-server/-/local-web-server-5.2.1.tgz#b8eb3aeda2c95c832a6a784531d03d2d2484bb7a" + integrity sha512-5mavcBfGxtzaWEYpZvjHMf2WV6TWAVl0NShvtRudf0poBF129oahUHAbVZqlWq+aYd6mSqip+B9y6bd6Smce+w== dependencies: - lws "^3.1.0" + current-module-paths "^1.1.0" + lws "^4.1.2" lws-basic-auth "^2.0.0" lws-blacklist "^3.0.0" - lws-body-parser "^2.0.0" - lws-compress "^2.0.0" + lws-body-parser "^3.0.0" + lws-compress "^3.1.0" lws-conditional-get "^2.0.0" - lws-cors "^3.0.0" - lws-index "^2.0.0" + lws-cors "^4.1.2" + lws-index "^3.1.0" lws-json "^2.0.0" lws-log "^2.0.0" lws-mime "^2.0.0" - lws-range "^3.0.0" + lws-range "^4.0.1" lws-request-monitor "^2.0.0" lws-rewrite "^3.1.1" - lws-spa "^3.0.0" - lws-static "^2.0.0" - node-version-matches "^2.0.1" + lws-spa "^4.1.0" + lws-static "^3.1.0" locate-path@^2.0.0: version "2.0.0" @@ -7682,19 +7700,19 @@ lws-blacklist@^3.0.0: array-back "^4.0.1" path-to-regexp "^6.1.0" -lws-body-parser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lws-body-parser/-/lws-body-parser-2.0.0.tgz#f30bcd2aa4c5abd602c65b867fefb6434fb9e057" - integrity sha512-QFDzln3sSdKWL9fVNWy2+ZmrKy/XaYRO0/FFB0MBrDCsNnzepeCD4I7rOOfyuphLn42yR8XUpWdcJ3Ii5aauRA== +lws-body-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lws-body-parser/-/lws-body-parser-3.0.0.tgz#0f6be7c593e8bab26ddcfb2a35b34789fca7a8b0" + integrity sha512-led36Um61ppeQoMTG7yvphn+NQPMbzuFuGUYD09eEx1UT7e8bsaLw1gkBZB9vAIkeTlXRbXjPmOqlm26eUzhfg== dependencies: - koa-bodyparser "^4.2.1" + koa-bodyparser "^4.3.0" -lws-compress@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lws-compress/-/lws-compress-2.0.0.tgz#230842ff1441b218d35f3c423f8c84eb7ba555c5" - integrity sha512-5qDXI9pukVYWm07WjAOfpItLXKtL8lCHvjmW4RiXULhTRJj1qqBjNcmqReyk8L7NLUKhc+8eqoDDJFKURQEp0w== +lws-compress@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lws-compress/-/lws-compress-3.1.0.tgz#41feffd20e64fba46c70e4efbfe0d5d1ce4135c3" + integrity sha512-uBlpYFNBUD3FuQjXbtwasvD90w3HH6GRivknvbibSSsDQf1MtIM8WZ5fS4795n1ozTYnQD+Ai8T+Cpy0q0xuhA== dependencies: - koa-compress "^3.0.0" + koa-compress "^5.0.1" lws-conditional-get@^2.0.0: version "2.0.0" @@ -7704,17 +7722,17 @@ lws-conditional-get@^2.0.0: koa-conditional-get "^2.0.0" koa-etag "^3.0.0" -lws-cors@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lws-cors/-/lws-cors-3.0.0.tgz#a089195fafcd6aac2e816159725a20d3624db738" - integrity sha512-diUkoyVZyzLB8LamdtUYYAfJdPAyu/+IjE3ZUcdnNQz9koECe4O2x3SWD7LSV43pd3CKgyiwwSxWJ4hTBZFIvQ== +lws-cors@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lws-cors/-/lws-cors-4.1.2.tgz#2fe71139170d74d0751a833297bd6e0f4ed0990a" + integrity sha512-9vUkfL9qYfT+26QYMu+P158KufGGOYwbqsaB8q4QXSFLGWwtgqq0CR7YLw88ZJiRrse5c4gaMwTyG1O8Jbbxlw== dependencies: - "@koa/cors" "^3.0.0" + "@koa/cors" "^3.2.0" -lws-index@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lws-index/-/lws-index-2.0.0.tgz#a35592f3b36a6e691d7f5ceb449971f4912d3dc1" - integrity sha512-qfkeQmKYnd13LmQubzI5LtFV2N8PJQG4QvgSoefoiB3dWre9k2T4C7ajjOTKO8mgSzYpUEREduNcQcLyt62n0g== +lws-index@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lws-index/-/lws-index-3.1.1.tgz#a97931587cdea8b973acb7ecbe9d82648cffc356" + integrity sha512-f1rjsCkrKHVbSe03lm6xQ1GNnqzq/tL5f0ge8kXJFRorpS8Sv7WDXzUsGswmGAgxPPvDj8L7E6zwD+BCjQRU8w== dependencies: serve-index-75lb "^2.0.1" @@ -7738,10 +7756,10 @@ lws-mime@^2.0.0: resolved "https://registry.yarnpkg.com/lws-mime/-/lws-mime-2.0.0.tgz#59bf7ab0b7f68118bfc6b6ada806cfcd203af8d9" integrity sha512-mfrAgRQ5+hkQ7LJ6EAgwnUeymNeYxwLXZY3UQ6C2hSTr7BqMSzm9k5O0C8wWP2dzdhChzITYKwzWbUnAYVBwtA== -lws-range@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lws-range/-/lws-range-3.0.0.tgz#25b92111c2a8123912893fe9adcf9615247cf138" - integrity sha512-7ZhA/LqQnKjolKBo/2BFj9DyDDXcJGY3v05TwYRD0qDGrxW4vuatEjluC3SV7ZO/k4PxDLdxuk+RCgL5t3ThtQ== +lws-range@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lws-range/-/lws-range-4.0.1.tgz#93b9c5946685ee75866eeb98dcf9f06994f1ef65" + integrity sha512-rUkHpsRv5Ixr+8/E4cDCz6jUi6En6hnEaDZhPb0a1GU1vasOHhGcW0qilkgf0dtS0xDJzdKixdfcCW40ankIeQ== dependencies: koa-range "^0.3.0" @@ -7763,40 +7781,39 @@ lws-rewrite@^3.1.1: koa-route "^3.2.0" path-to-regexp "^6.1.0" -lws-spa@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lws-spa/-/lws-spa-3.0.0.tgz#55381e3f164592f557f2f0efd8d0c323b883cc43" - integrity sha512-Tz10LfuOTUsRG6z+OCJ/vBN+4LQWoAGIJ1R02CFPrDk0pY3rHezM7/cCpq6Z6dXD+ipdNE8alkVn4zL2M+eVGg== +lws-spa@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lws-spa/-/lws-spa-4.1.0.tgz#b73989347aa79b582d4111f7915994f3f1d5e1ee" + integrity sha512-B1YhxAY02EYu7J9dKBQMpYRwOd4iOtKK3TDdUR2GnJ4nsnvoxsJnMUpg8yxGmWZ6NI8itdUdQJlwqKg/Gji/vQ== dependencies: - koa-send "^5.0.0" + koa-send "^5.0.1" -lws-static@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lws-static/-/lws-static-2.0.0.tgz#9febaa8ef672f6aece910f7f455d18cd4c265a76" - integrity sha512-P25A0+IXdkB6Y6gZAG7X0mnaa+FJ8aTiWLUgM5kazaWmruRO7lyhSjitsA3y5TLI3DpPCZn0mWE4SRREujUZLg== +lws-static@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lws-static/-/lws-static-3.1.0.tgz#6b1841a958ba42bc610a3e4d351e559900409a21" + integrity sha512-0fWZRluPda0raMEzTd2mY/REWsa5LxDz03j+Zer8yhFfbicJGaocTK1jOlRo/H5UEDImBdfSDZGlrmzMaF9Xcg== dependencies: koa-static "^5.0.0" -lws@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lws/-/lws-3.1.0.tgz#e1e06c2f7229f0c2cc6b399801ef0239dd4906ae" - integrity sha512-I8rTgZxz8OJL0hjdlDxs6WpcVG7WSyalVHPQXXK+WPNVjm3KhkT5gV0Qmsgm2FRLbRUp15tso80xmDxMsyt7zA== - dependencies: - ansi-escape-sequences "^5.1.2" - array-back "^4.0.1" - byte-size "^6.2.0" - command-line-args "^5.1.1" - command-line-usage "^6.1.0" +lws@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lws/-/lws-4.1.2.tgz#48eaa9748d86a1df534d86f85211fb133b35429c" + integrity sha512-hm6mlYa5ZM+iLbFIEiifGnXJWbNRQL80DZ5gXfkdgBJSMIvjnVyVIPpw1fCU/IMcgHBvn1iCrFc391FP12NguQ== + dependencies: + "@75lb/deep-merge" "^1.1.1" + ansi-escape-sequences "^6.2.1" + array-back "^6.2.2" + byte-size "^8.1.0" + command-line-args "^5.2.1" + command-line-usage "^6.1.3" create-mixin "^3.0.0" - koa "^2.11.0" - load-module "^3.0.0" - lodash.assignwith "^4.2.0" - node-version-matches "^2.0.1" - open "^7.0.4" + current-module-paths "^1.1.0" + koa "^2.13.4" + load-module "^4.2.1" + open "^8.4.0" qrcode-terminal "^0.12.0" - reduce-flatten "^3.0.0" - typical "^6.0.0" - walk-back "^4.0.0" + typical "^7.1.1" + walk-back "^5.1.0" lz-string@^1.4.4: version "1.4.4" @@ -8763,13 +8780,6 @@ node-stream-zip@^1.15.0: resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== -node-version-matches@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-version-matches/-/node-version-matches-2.0.1.tgz#9dde43d39c20d1068635b3cc01a8b460eb5ef533" - integrity sha512-oqk6+05FC0dNVY5NuXuhPEMq+m1b9ZjS9SIhVE9EjwCHZspnmjSO8npbKAEieinR8GeEgbecoQcYIvI/Kwcf6Q== - dependencies: - semver "^6.3.0" - nopt@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.2.1.tgz#2aa09b7d1768487b3b89a9c5aa52335bff0baea7" @@ -8986,15 +8996,7 @@ only@~0.0.2: resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= -open@^7.0.4: - version "7.2.1" - resolved "https://registry.yarnpkg.com/open/-/open-7.2.1.tgz#07b0ade11a43f2a8ce718480bdf3d7563a095195" - integrity sha512-xbYCJib4spUdmcs0g/2mK1nKo/jO2T7INClWd/beL7PFkXRWgr8B23ssDHX/USPn2M2IjDR5UdpYs6I67SnTSA== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -open@^8.0.9: +open@^8.0.9, open@^8.4.0: version "8.4.0" resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== @@ -10182,11 +10184,6 @@ reduce-flatten@^2.0.0: resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== -reduce-flatten@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-3.0.0.tgz#da477d68453fd9510f9a5fbef86e0fa04b4fd315" - integrity sha512-eczl8wAYBxJ6Egl6I1ECIF+8z6sHu+KE7BzaEDZTpPXKXfy9SUDQlVYwkRcNTjJLC3Iakxbhss50KuT/R6SYfg== - redux-logger@^3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-3.0.6.tgz#f7555966f3098f3c88604c449cf0baf5778274bf" @@ -11079,12 +11076,12 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" -statuses@2.0.1: +statuses@2.0.1, statuses@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.0.0, statuses@^1.5.0: +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -11527,10 +11524,10 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table-layout@^1.0.0, table-layout@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.1.tgz#8411181ee951278ad0638aea2f779a9ce42894f9" - integrity sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q== +table-layout@^1.0.2, table-layout@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== dependencies: array-back "^4.0.1" deep-extend "~0.6.0" @@ -11937,10 +11934,10 @@ typical@^5.0.0, typical@^5.2.0: resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== -typical@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/typical/-/typical-6.0.1.tgz#89bd1a6aa5e5e96fa907fb6b7579223bff558a06" - integrity sha512-+g3NEp7fJLe9DPa1TArHm9QAA7YciZmWnfAqEaFrBihQ7epOv9i99rjtgb6Iz0wh3WuQDjsCTDfgRoGnmHN81A== +typical@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/typical/-/typical-7.1.1.tgz#ba177ab7ab103b78534463ffa4c0c9754523ac1f" + integrity sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA== unbox-primitive@^1.0.2: version "1.0.2" @@ -12378,10 +12375,10 @@ w3c-xmlserializer@^3.0.0: dependencies: xml-name-validator "^4.0.0" -walk-back@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-4.0.0.tgz#9e4ad2bd72038f3beed2d83180f9fd40b233bfab" - integrity sha512-kudCA8PXVQfrqv2mFTG72vDBRi8BKWxGgFLwPpzHcpZnSwZk93WMwUDVcLHWNsnm+Y0AC4Vb6MUNRgaHfyV2DQ== +walk-back@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-5.1.0.tgz#486d6f29e67f56ab89b952d987028bbb1a4e956c" + integrity sha512-Uhxps5yZcVNbLEAnb+xaEEMdgTXl9qAQDzKYejG2AZ7qPwRQ81lozY9ECDbjLPNWm7YsO1IK5rsP1KoQzXAcGA== walker@^1.0.8: version "1.0.8" From e549ec394c5584bf70e54450a5a7f2dc5106d04c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 20 Sep 2022 11:21:14 +0200 Subject: [PATCH 108/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20classname?= =?UTF-8?q?s=20to=20version=202.3.2=20(PR=20#4234)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 217a7e1838..559ae8acc2 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "array-move": "^3.0.1", "array-range": "^1.0.1", "clamp": "^1.0.1", - "classnames": "^2.3.1", + "classnames": "^2.3.2", "common-tags": "^1.8.2", "copy-to-clipboard": "^3.3.2", "core-js": "^3.25.0", diff --git a/yarn.lock b/yarn.lock index 2013316587..7ce42ca850 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3396,10 +3396,10 @@ clamp@^1.0.1: resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634" integrity sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ= -classnames@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== +classnames@^2.3.1, classnames@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== clean-css@^5.2.2: version "5.3.1" From d7a29c324a483c50d163785b101d8b530f714151 Mon Sep 17 00:00:00 2001 From: Amila Welihinda Date: Tue, 20 Sep 2022 15:28:07 -0700 Subject: [PATCH 109/131] add syntax highlighting support for .mjs ext --- src/components/shared/SourceView-codemirror.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/shared/SourceView-codemirror.js b/src/components/shared/SourceView-codemirror.js index e5e862675a..a3ac66a09b 100644 --- a/src/components/shared/SourceView-codemirror.js +++ b/src/components/shared/SourceView-codemirror.js @@ -63,6 +63,7 @@ function _languageExtForPath( path.endsWith('.js') || path.endsWith('.jsm') || path.endsWith('.jsx') || + path.endsWith('.mjs') || path.endsWith('.ts') || path.endsWith('.tsx') ) { From 703de7fe3c2adca3545aa259e35750789a3b2463 Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Fri, 23 Sep 2022 11:15:42 +0200 Subject: [PATCH 110/131] Check localhost for local data source too when displaying the upload button (PR #4238) Co-authored-by: Julien Wajsberg --- src/components/app/MenuButtons/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/app/MenuButtons/index.js b/src/components/app/MenuButtons/index.js index b3bb5c445b..6e4ae23462 100644 --- a/src/components/app/MenuButtons/index.js +++ b/src/components/app/MenuButtons/index.js @@ -109,7 +109,10 @@ class MenuButtonsImpl extends React.PureComponent { case 'local': return 'local'; case 'from-url': - return profileUrl.startsWith('http://127.0.0.1') ? 'local' : 'uploaded'; + return profileUrl.startsWith('http://127.0.0.1') || + profileUrl.startsWith('http://localhost') + ? 'local' + : 'uploaded'; case 'none': case 'uploaded-recordings': throw new Error(`The datasource ${dataSource} shouldn't happen here.`); From ce8b9844f51dabcd513d8381e631a3df3adaa588 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 11:20:33 +0200 Subject: [PATCH 111/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20core-js?= =?UTF-8?q?=20to=20version=203.25.2=20(PR=20#4244)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 559ae8acc2..98b25d5861 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "classnames": "^2.3.2", "common-tags": "^1.8.2", "copy-to-clipboard": "^3.3.2", - "core-js": "^3.25.0", + "core-js": "^3.25.2", "escape-string-regexp": "^4.0.0", "gecko-profiler-demangle": "^0.3.3", "idb": "^7.0.2", diff --git a/yarn.lock b/yarn.lock index 7ce42ca850..b7bcab6c31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3741,10 +3741,10 @@ core-js@^2.5.3: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== -core-js@^3.0.0, core-js@^3.25.0: - version "3.25.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.0.tgz#be71d9e0dd648ffd70c44a7ec2319d039357eceb" - integrity sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA== +core-js@^3.0.0, core-js@^3.25.2: + version "3.25.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.2.tgz#2d3670c1455432b53fa780300a6fc1bd8304932c" + integrity sha512-YB4IAT1bjEfxTJ1XYy11hJAKskO+qmhuDBM8/guIfMz4JvdsAQAqvyb97zXX7JgSrfPLG5mRGFWJwJD39ruq2A== core-util-is@~1.0.0: version "1.0.3" From 1bcee49f8ade15e32b61af2b05f5df1d5b5e4a2d Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Mon, 26 Sep 2022 11:47:56 +0200 Subject: [PATCH 112/131] Squashed more types commits --- src/components/sidebar/MarkerSidebar.js | 1 + src/components/tooltip/Marker.js | 15 +- src/profile-logic/marker-schema.js | 122 +++++- .../__snapshots__/marker-schema.test.js.snap | 372 ++++++++++++++++++ src/test/unit/marker-schema.test.js | 52 +++ src/types/markers.js | 15 +- 6 files changed, 572 insertions(+), 5 deletions(-) diff --git a/src/components/sidebar/MarkerSidebar.js b/src/components/sidebar/MarkerSidebar.js index 3117c24952..099ec09010 100644 --- a/src/components/sidebar/MarkerSidebar.js +++ b/src/components/sidebar/MarkerSidebar.js @@ -47,6 +47,7 @@ class MarkerSidebarImpl extends React.PureComponent { marker={marker} threadsKey={selectedThreadsKey} restrictHeightWidth={false} + supportsInteraction={true} />
diff --git a/src/components/tooltip/Marker.js b/src/components/tooltip/Marker.js index f7b49ce383..0587f44c9e 100644 --- a/src/components/tooltip/Marker.js +++ b/src/components/tooltip/Marker.js @@ -35,7 +35,7 @@ import { import { Backtrace } from 'firefox-profiler/components/shared/Backtrace'; import { - formatFromMarkerSchema, + formatDOMFromMarkerSchema, getSchemaFromMarker, } from 'firefox-profiler/profile-logic/marker-schema'; import { computeScreenshotSize } from 'firefox-profiler/profile-logic/marker-data'; @@ -81,6 +81,7 @@ type OwnProps = {| // the layout to be huge. This option when set to true will restrict the // height of things like stacks, and the width of long things like URLs. +restrictHeightWidth: boolean, + +supportsInteraction?: boolean, |}; type StateProps = {| @@ -94,6 +95,7 @@ type StateProps = {| +markerSchemaByName: MarkerSchemaByName, +getMarkerLabel: (MarkerIndex) => string, +categories: CategoryList, + +supportsInteraction: boolean, |}; type Props = ConnectedProps; @@ -222,7 +224,8 @@ class MarkerTooltipContents extends React.PureComponent { * properties that are difficult to represent with the Schema. */ _renderMarkerDetails(): TooltipDetailComponent[] { - const { marker, markerSchemaByName, thread } = this.props; + const { marker, markerSchemaByName, thread, supportsInteraction } = + this.props; const data = marker.data; const details: TooltipDetailComponent[] = []; @@ -245,7 +248,12 @@ class MarkerTooltipContents extends React.PureComponent { key={schema.name + '-' + key} label={label || key} > - {formatFromMarkerSchema(schema.name, format, value)} + {formatDOMFromMarkerSchema( + schema.name, + format, + value, + supportsInteraction + )} ); } @@ -493,6 +501,7 @@ export const TooltipMarker = explicitConnect({ markerSchemaByName: getMarkerSchemaByName(state), getMarkerLabel: selectors.getMarkerTooltipLabelGetter(state), categories: getCategories(state), + supportsInteraction: props.supportsInteraction || false, }; }, component: MarkerTooltipContents, diff --git a/src/profile-logic/marker-schema.js b/src/profile-logic/marker-schema.js index 3c28eaa4d0..92af32ea2e 100644 --- a/src/profile-logic/marker-schema.js +++ b/src/profile-logic/marker-schema.js @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // @flow +import React from 'react'; import { oneLine } from 'common-tags'; import { formatNumber, @@ -364,6 +365,15 @@ export function formatFromMarkerSchema( format: MarkerFormatType, value: any ): string { + if ( + (value === undefined || value === null) && + format !== 'string' && + format !== 'url' && + format !== 'file-path' + ) { + throw new Error("Can't format undefined or null"); + } + switch (format) { case 'url': case 'file-path': @@ -394,8 +404,118 @@ export function formatFromMarkerSchema( return formatPercent(value); default: console.error( - `A marker schema of type "${markerType}" had an unknown format "${(format: empty)}"` + `A marker schema of type "${markerType}" had an unknown format ${JSON.stringify( + format + )}` ); return value; } } + +export function isDOMRenderingFormat(format: MarkerFormatType): boolean { + return format === 'url' || typeof format === 'object' || format === 'list'; +} + +function _formatDOMFromMarkerSchema( + markerType: string, + format: MarkerFormatType, + value: any, + // add elements that allow interaction (like clickable urls) + supportsInteraction: boolean +) { + if (!isDOMRenderingFormat(format)) { + return <>{formatFromMarkerSchema(markerType, format, value)}; + } + if (typeof format === 'object') { + switch (format.type) { + case 'table': { + const { columns } = format; + if (!(value instanceof Array)) { + throw new Error('Expected an array for table type'); + } + const hasHeader = columns.some((column) => column.label); + return ( + + {hasHeader ? ( + + {columns.map((col, i) => ( + + ))} + + ) : null} + {value.map((row, i) => { + if (!(row instanceof Array)) { + throw new Error('Expected an array for table row'); + } + + if (row.length !== columns.length) { + throw new Error( + "Row length doesn't match column count (row: " + + row.length + + ', cols: ' + + columns.length + + ')' + ); + } + return ( + + {row.map((cell, i) => { + return ( + + ); + })} + + ); + })} +
{col.label || ''}
+ {_formatDOMFromMarkerSchema( + markerType, + columns[i].type || 'string', + cell, + supportsInteraction + )} +
+ ); + } + default: + throw new Error(`Unknown format type ${JSON.stringify(format)}`); + } + } + switch (format) { + case 'list': + if (!(value instanceof Array)) { + throw new Error('Expected an array for list format'); + } + return value.map((entry, i) => ( +
  • + {formatFromMarkerSchema(markerType, 'string', value[i])} +
  • + )); + case 'url': + if (supportsInteraction) { + return ( + + {formatFromMarkerSchema(markerType, 'string', value)} + + ); + } + return <>value; + default: + throw new Error(`Unknown format type ${JSON.stringify(format)}`); + } +} + +export function formatDOMFromMarkerSchema( + markerType: string, + format: MarkerFormatType, + value: any, + // add elements that allow interaction (like clickable urls) + supportsInteraction: boolean +) { + return _formatDOMFromMarkerSchema( + markerType, + format, + value, + supportsInteraction + ); +} diff --git a/src/test/unit/__snapshots__/marker-schema.test.js.snap b/src/test/unit/__snapshots__/marker-schema.test.js.snap index 760592ac67..3a3b589323 100644 --- a/src/test/unit/__snapshots__/marker-schema.test.js.snap +++ b/src/test/unit/__snapshots__/marker-schema.test.js.snap @@ -1,5 +1,377 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`marker schema formatting supports complex formats 1`] = ` +Array [ + Array [ + "url", + "http://example.com", + + value + , + + http://example.com + , + ], + Array [ + "file-path", + "/Users/me/gecko", + + /Users/me/gecko + , + + /Users/me/gecko + , + ], + Array [ + "file-path", + null, + + (empty) + , + + (empty) + , + ], + Array [ + "file-path", + undefined, + + (empty) + , + + (empty) + , + ], + Array [ + "duration", + 0, + + 0s + , + + 0s + , + ], + Array [ + "duration", + 10, + + 10ms + , + + 10ms + , + ], + Array [ + "duration", + 12.3456789, + + 12.346ms + , + + 12.346ms + , + ], + Array [ + Object { + "columns": Array [ + Object { + "type": "string", + }, + Object { + "type": "integer", + }, + ], + "type": "table", + }, + Array [ + Array [ + "a", + 1, + ], + Array [ + "b", + 2, + ], + ], + + + + + + + + + +
    + + a + + + + 1 + +
    + + b + + + + 2 + +
    , + + + + + + + + + +
    + + a + + + + 1 + +
    + + b + + + + 2 + +
    , + ], + Array [ + Object { + "columns": Array [ + Object { + "label": "a", + "type": "string", + }, + Object { + "label": "b", + "type": "integer", + }, + ], + "type": "table", + }, + Array [ + Array [ + "b", + 2, + ], + ], + + + + + + + + + +
    + a + + b +
    + + b + + + + 2 + +
    , + + + + + + + + + +
    + a + + b +
    + + b + + + + 2 + +
    , + ], + Array [ + Object { + "columns": Array [ + Object { + "label": "a", + "type": "string", + }, + Object { + "type": "integer", + }, + ], + "type": "table", + }, + Array [ + Array [ + "b", + 2, + ], + ], + + + + + + + + + +
    + a + + +
    + + b + + + + 2 + +
    , + + + + + + + + + +
    + a + + +
    + + b + + + + 2 + +
    , + ], + Array [ + Object { + "columns": Array [ + Object { + "label": "a", + "type": "string", + }, + Object {}, + ], + "type": "table", + }, + Array [ + Array [ + "b", + 2, + ], + ], + + + + + + + + + +
    + a + + +
    + + b + + + + 2 + +
    , + + + + + + + + + +
    + a + + +
    + + b + + + + 2 + +
    , + ], + Array [ + "list", + Array [], + Array [], + Array [], + ], + Array [ + "list", + Array [ + "a", + "b", + ], + Array [ +
  • + a +
  • , +
  • + b +
  • , + ], + Array [ +
  • + a +
  • , +
  • + b +
  • , + ], + ], +] +`; + exports[`marker schema labels parseErrors errors if looking up into a part of the marker that does not exist 1`] = ` Array [ Array [ diff --git a/src/test/unit/marker-schema.test.js b/src/test/unit/marker-schema.test.js index f92974a982..ec06d1278e 100644 --- a/src/test/unit/marker-schema.test.js +++ b/src/test/unit/marker-schema.test.js @@ -4,6 +4,7 @@ // @flow import { formatFromMarkerSchema, + formatDOMFromMarkerSchema, parseLabel, markerSchemaFrontEndOnly, } from '../../profile-logic/marker-schema'; @@ -291,6 +292,57 @@ describe('marker schema formatting', function () { ] `); }); + + it('supports complex formats', function () { + const entries = [ + ['url', 'http://example.com'], + ['file-path', '/Users/me/gecko'], + ['file-path', null], + ['file-path', undefined], + ['duration', 0], + ['duration', 10], + ['duration', 12.3456789], + [ + { type: 'table', columns: [{ type: 'string' }, { type: 'integer' }] }, + [ + ['a', 1], + ['b', 2], + ], + ], + [ + { + type: 'table', + columns: [ + { type: 'string', label: 'a' }, + { type: 'integer', label: 'b' }, + ], + }, + [['b', 2]], + ], + [ + { + type: 'table', + columns: [{ type: 'string', label: 'a' }, { type: 'integer' }], + }, + [['b', 2]], + ], + [ + { type: 'table', columns: [{ type: 'string', label: 'a' }, {}] }, + [['b', 2]], + ], + ['list', []], + ['list', ['a', 'b']], + ]; + + expect( + entries.map(([format, value]) => [ + format, + value, + formatDOMFromMarkerSchema('none', format, value, false), + formatDOMFromMarkerSchema('none', format, value, true), + ]) + ).toMatchSnapshot(); + }); }); describe('getMarkerSchema', function () { diff --git a/src/types/markers.js b/src/types/markers.js index ef50242eeb..f137af7c27 100644 --- a/src/types/markers.js +++ b/src/types/markers.js @@ -14,7 +14,9 @@ import type { import type { ObjectMap } from './utils'; // Provide different formatting options for strings. -export type MarkerFormatType = +export type MarkerFormatType = BasicMarkerFormatType | ComplexMarkerFormatType; + +export type BasicMarkerFormatType = // ---------------------------------------------------- // String types. @@ -60,6 +62,17 @@ export type MarkerFormatType = // "Label: 52.23, 0.0054, 123,456.78" | 'decimal'; +type ComplexMarkerFormatType = + | 'list' + | {| type: 'table', columns: TableColumnFormat[] |}; + +type TableColumnFormat = {| + // type for formatting, default is string + type?: BasicMarkerFormatType, + // header column label + label?: string, +|}; + // A list of all the valid locations to surface this marker. // We can be free to add more UI areas. export type MarkerDisplayLocation = From 15918211e65e91e643bf3e1cc8332269dd1e22e6 Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Mon, 26 Sep 2022 12:48:21 +0200 Subject: [PATCH 113/131] Improve formatting new types --- src/components/sidebar/MarkerSidebar.js | 1 - src/components/sidebar/sidebar.css | 10 + src/components/tooltip/Marker.js | 15 +- src/profile-logic/marker-schema.js | 153 ++++----- .../__snapshots__/marker-schema.test.js.snap | 319 ++++++------------ src/test/unit/marker-schema.test.js | 5 +- 6 files changed, 183 insertions(+), 320 deletions(-) diff --git a/src/components/sidebar/MarkerSidebar.js b/src/components/sidebar/MarkerSidebar.js index 099ec09010..3117c24952 100644 --- a/src/components/sidebar/MarkerSidebar.js +++ b/src/components/sidebar/MarkerSidebar.js @@ -47,7 +47,6 @@ class MarkerSidebarImpl extends React.PureComponent { marker={marker} threadsKey={selectedThreadsKey} restrictHeightWidth={false} - supportsInteraction={true} />
    diff --git a/src/components/sidebar/sidebar.css b/src/components/sidebar/sidebar.css index c86c8fecc1..3589ee1bb7 100644 --- a/src/components/sidebar/sidebar.css +++ b/src/components/sidebar/sidebar.css @@ -187,3 +187,13 @@ margin-top: 3px; margin-inline-start: -12px; } + +.sidebar ul.marker-value { + padding-left: 25px; + margin-top: 5px; + margin-bottom: 5px; +} + +.sidebar table.marker-value th { + text-align: left; +} diff --git a/src/components/tooltip/Marker.js b/src/components/tooltip/Marker.js index 0587f44c9e..28dd93e3e0 100644 --- a/src/components/tooltip/Marker.js +++ b/src/components/tooltip/Marker.js @@ -35,7 +35,7 @@ import { import { Backtrace } from 'firefox-profiler/components/shared/Backtrace'; import { - formatDOMFromMarkerSchema, + formatMarkupFromMarkerSchema, getSchemaFromMarker, } from 'firefox-profiler/profile-logic/marker-schema'; import { computeScreenshotSize } from 'firefox-profiler/profile-logic/marker-data'; @@ -81,7 +81,6 @@ type OwnProps = {| // the layout to be huge. This option when set to true will restrict the // height of things like stacks, and the width of long things like URLs. +restrictHeightWidth: boolean, - +supportsInteraction?: boolean, |}; type StateProps = {| @@ -95,7 +94,6 @@ type StateProps = {| +markerSchemaByName: MarkerSchemaByName, +getMarkerLabel: (MarkerIndex) => string, +categories: CategoryList, - +supportsInteraction: boolean, |}; type Props = ConnectedProps; @@ -224,8 +222,7 @@ class MarkerTooltipContents extends React.PureComponent { * properties that are difficult to represent with the Schema. */ _renderMarkerDetails(): TooltipDetailComponent[] { - const { marker, markerSchemaByName, thread, supportsInteraction } = - this.props; + const { marker, markerSchemaByName, thread } = this.props; const data = marker.data; const details: TooltipDetailComponent[] = []; @@ -248,12 +245,7 @@ class MarkerTooltipContents extends React.PureComponent { key={schema.name + '-' + key} label={label || key} > - {formatDOMFromMarkerSchema( - schema.name, - format, - value, - supportsInteraction - )} + {formatMarkupFromMarkerSchema(schema.name, format, value)} ); } @@ -501,7 +493,6 @@ export const TooltipMarker = explicitConnect({ markerSchemaByName: getMarkerSchemaByName(state), getMarkerLabel: selectors.getMarkerTooltipLabelGetter(state), categories: getCategories(state), - supportsInteraction: props.supportsInteraction || false, }; }, component: MarkerTooltipContents, diff --git a/src/profile-logic/marker-schema.js b/src/profile-logic/marker-schema.js index 92af32ea2e..61427b3614 100644 --- a/src/profile-logic/marker-schema.js +++ b/src/profile-logic/marker-schema.js @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // @flow -import React from 'react'; +import * as React from 'react'; import { oneLine } from 'common-tags'; import { formatNumber, @@ -365,23 +365,16 @@ export function formatFromMarkerSchema( format: MarkerFormatType, value: any ): string { - if ( - (value === undefined || value === null) && - format !== 'string' && - format !== 'url' && - format !== 'file-path' - ) { - throw new Error("Can't format undefined or null"); + if (value === undefined || value === null) { + console.warn(`Formatting ${value} for ${markerType}`); + return '(empty)'; } - switch (format) { case 'url': case 'file-path': case 'string': // Make sure a non-empty string is returned here. - if (value === undefined || value === null) { - return '(empty)'; - } + return String(value) || '(empty)'; case 'duration': case 'time': @@ -416,15 +409,17 @@ export function isDOMRenderingFormat(format: MarkerFormatType): boolean { return format === 'url' || typeof format === 'object' || format === 'list'; } -function _formatDOMFromMarkerSchema( +export function formatMarkupFromMarkerSchema( markerType: string, format: MarkerFormatType, - value: any, - // add elements that allow interaction (like clickable urls) - supportsInteraction: boolean -) { + value: any +): React.Element | string { + if (value === undefined || value === null) { + console.warn(`Formatting ${value} for ${JSON.stringify(markerType)}`); + return '(empty)'; + } if (!isDOMRenderingFormat(format)) { - return <>{formatFromMarkerSchema(markerType, format, value)}; + return formatFromMarkerSchema(markerType, format, value); } if (typeof format === 'object') { switch (format.type) { @@ -435,45 +430,48 @@ function _formatDOMFromMarkerSchema( } const hasHeader = columns.some((column) => column.label); return ( - +
    {hasHeader ? ( - - {columns.map((col, i) => ( - - ))} - + + + {columns.map((col, i) => ( + + ))} + + ) : null} - {value.map((row, i) => { - if (!(row instanceof Array)) { - throw new Error('Expected an array for table row'); - } - - if (row.length !== columns.length) { - throw new Error( - "Row length doesn't match column count (row: " + - row.length + - ', cols: ' + - columns.length + - ')' + + {value.map((row, i) => { + if (!(row instanceof Array)) { + throw new Error('Expected an array for table row'); + } + + if (row.length !== columns.length) { + throw new Error( + "Row length doesn't match column count (row: " + + row.length + + ', cols: ' + + columns.length + + ')' + ); + } + return ( + + {row.map((cell, i) => { + return ( + + ); + })} + ); - } - return ( - - {row.map((cell, i) => { - return ( - - ); - })} - - ); - })} + })} +
    {col.label || ''}
    {col.label || ''}
    + {formatMarkupFromMarkerSchema( + markerType, + columns[i].type || 'string', + cell + )} +
    - {_formatDOMFromMarkerSchema( - markerType, - columns[i].type || 'string', - cell, - supportsInteraction - )} -
    ); } @@ -486,36 +484,27 @@ function _formatDOMFromMarkerSchema( if (!(value instanceof Array)) { throw new Error('Expected an array for list format'); } - return value.map((entry, i) => ( -
  • - {formatFromMarkerSchema(markerType, 'string', value[i])} -
  • - )); + return ( +
      + {value.map((entry, i) => ( +
    • + {formatFromMarkerSchema(markerType, 'string', value[i])} +
    • + ))} +
    + ); case 'url': - if (supportsInteraction) { - return ( - - {formatFromMarkerSchema(markerType, 'string', value)} - - ); - } - return <>value; + return ( + + {formatFromMarkerSchema(markerType, 'string', value)} + + ); default: throw new Error(`Unknown format type ${JSON.stringify(format)}`); } } - -export function formatDOMFromMarkerSchema( - markerType: string, - format: MarkerFormatType, - value: any, - // add elements that allow interaction (like clickable urls) - supportsInteraction: boolean -) { - return _formatDOMFromMarkerSchema( - markerType, - format, - value, - supportsInteraction - ); -} diff --git a/src/test/unit/__snapshots__/marker-schema.test.js.snap b/src/test/unit/__snapshots__/marker-schema.test.js.snap index 3a3b589323..c4032411f2 100644 --- a/src/test/unit/__snapshots__/marker-schema.test.js.snap +++ b/src/test/unit/__snapshots__/marker-schema.test.js.snap @@ -5,11 +5,11 @@ Array [ Array [ "url", "http://example.com", - - value - , http://example.com , @@ -17,62 +17,32 @@ Array [ Array [ "file-path", "/Users/me/gecko", - - /Users/me/gecko - , - - /Users/me/gecko - , + "/Users/me/gecko", ], Array [ "file-path", null, - - (empty) - , - - (empty) - , + "(empty)", ], Array [ "file-path", undefined, - - (empty) - , - - (empty) - , + "(empty)", ], Array [ "duration", 0, - - 0s - , - - 0s - , + "0s", ], Array [ "duration", 10, - - 10ms - , - - 10ms - , + "10ms", ], Array [ "duration", 12.3456789, - - 12.346ms - , - - 12.346ms - , + "12.346ms", ], Array [ Object { @@ -96,57 +66,27 @@ Array [ 2, ], ], - - - - - - - - - -
    - - a - - - - 1 - -
    - - b - - - - 2 - -
    , - - -
    - + + + + - + - - - + + + - + - + + +
    a - - - + 1 - -
    - +
    b - - - + 2 - -
    , ], Array [ @@ -169,49 +109,29 @@ Array [ 2, ], ], - - - - - - -
    - a - - b -
    - + + + + + - -
    + a + b - - - - - 2 - -
    , - - - - - - - + + + + - + - + + +
    - a - - b -
    - + +
    b - - - + 2 - -
    , ], Array [ @@ -233,49 +153,29 @@ Array [ 2, ], ], - - - - - - - - - -
    - a - - -
    - - b - - - - 2 - -
    , - - - - - - -
    - a - - -
    - + + + + + + + + + + - + - + + +
    + a + + +
    b - - - + 2 - -
    , ], Array [ @@ -295,56 +195,37 @@ Array [ 2, ], ], - - - - - - - - - -
    - a - - -
    - - b - - - - 2 - -
    , - - - - - - -
    - a - - -
    - + + + + + + + + + + - + - + + +
    + a + + +
    b - - - + 2 - -
    , ], Array [ "list", Array [], - Array [], - Array [], +
      , ], Array [ "list", @@ -352,22 +233,16 @@ Array [ "a", "b", ], - Array [ -
    • - a -
    • , -
    • - b -
    • , - ], - Array [ +
      • a -
      • , +
      • b -
      • , - ], + +
      , ], ] `; diff --git a/src/test/unit/marker-schema.test.js b/src/test/unit/marker-schema.test.js index ec06d1278e..4a34cfb459 100644 --- a/src/test/unit/marker-schema.test.js +++ b/src/test/unit/marker-schema.test.js @@ -4,7 +4,7 @@ // @flow import { formatFromMarkerSchema, - formatDOMFromMarkerSchema, + formatMarkupFromMarkerSchema, parseLabel, markerSchemaFrontEndOnly, } from '../../profile-logic/marker-schema'; @@ -338,8 +338,7 @@ describe('marker schema formatting', function () { entries.map(([format, value]) => [ format, value, - formatDOMFromMarkerSchema('none', format, value, false), - formatDOMFromMarkerSchema('none', format, value, true), + formatMarkupFromMarkerSchema('none', format, value), ]) ).toMatchSnapshot(); }); From 66974c73cb2a3911d10bb3c119abce9dadb2e0ef Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Mon, 26 Sep 2022 13:06:17 +0200 Subject: [PATCH 114/131] Small fixes --- src/profile-logic/marker-schema.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/profile-logic/marker-schema.js b/src/profile-logic/marker-schema.js index 61427b3614..b2d4811c5d 100644 --- a/src/profile-logic/marker-schema.js +++ b/src/profile-logic/marker-schema.js @@ -405,10 +405,6 @@ export function formatFromMarkerSchema( } } -export function isDOMRenderingFormat(format: MarkerFormatType): boolean { - return format === 'url' || typeof format === 'object' || format === 'list'; -} - export function formatMarkupFromMarkerSchema( markerType: string, format: MarkerFormatType, @@ -418,7 +414,7 @@ export function formatMarkupFromMarkerSchema( console.warn(`Formatting ${value} for ${JSON.stringify(markerType)}`); return '(empty)'; } - if (!isDOMRenderingFormat(format)) { + if (format !== 'url' && typeof format !== 'object' && format !== 'list') { return formatFromMarkerSchema(markerType, format, value); } if (typeof format === 'object') { From cd14bd925adc21b2010cd2b94bf86d1fdaca03d9 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 14:15:42 +0200 Subject: [PATCH 115/131] Update all development Yarn dependencies (2022-09-26) (PR #4245) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 14 ++--- yarn.lock | 148 ++++++++++++++++++++++++++++----------------------- 2 files changed, 87 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index 98b25d5861..390ec67a6a 100644 --- a/package.json +++ b/package.json @@ -92,22 +92,22 @@ }, "devDependencies": { "@babel/cli": "^7.18.10", - "@babel/core": "^7.18.13", - "@babel/eslint-parser": "^7.18.9", - "@babel/eslint-plugin": "^7.18.10", + "@babel/core": "^7.19.1", + "@babel/eslint-parser": "^7.19.1", + "@babel/eslint-plugin": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/preset-env": "^7.19.0", "@babel/preset-flow": "^7.18.6", "@babel/preset-react": "^7.18.6", - "@testing-library/dom": "^8.17.1", + "@testing-library/dom": "^8.18.1", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "alex": "^10.0.0", - "autoprefixer": "^10.4.8", + "autoprefixer": "^10.4.11", "babel-jest": "^29.0.1", "babel-loader": "^8.2.5", "babel-plugin-module-resolver": "^4.1.0", - "browserslist": "^4.21.2", + "browserslist": "^4.21.4", "caniuse-lite": "^1.0.30001359", "circular-dependency-plugin": "^5.2.1", "codecov": "^3.8.3", @@ -116,7 +116,7 @@ "css-loader": "^6.7.1", "cssnano": "^5.0.2", "devtools-license-check": "^0.9.0", - "eslint": "^8.23.0", + "eslint": "^8.23.1", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-flowtype": "^8.0.3", diff --git a/yarn.lock b/yarn.lock index b7bcab6c31..e0168deb23 100644 --- a/yarn.lock +++ b/yarn.lock @@ -59,44 +59,44 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== -"@babel/core@^7.0.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" - integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== +"@babel/core@^7.0.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.1.tgz#c8fa615c5e88e272564ace3d42fbc8b17bfeb22b" + integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.13" + "@babel/generator" "^7.19.0" + "@babel/helper-compilation-targets" "^7.19.1" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helpers" "^7.19.0" + "@babel/parser" "^7.19.1" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.13" - "@babel/types" "^7.18.13" + "@babel/traverse" "^7.19.1" + "@babel/types" "^7.19.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.1" semver "^6.3.0" -"@babel/eslint-parser@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz#255a63796819a97b7578751bb08ab9f2a375a031" - integrity sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ== +"@babel/eslint-parser@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4" + integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ== dependencies: - eslint-scope "^5.1.1" + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.0" -"@babel/eslint-plugin@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.18.10.tgz#11f454b5d1aa64c42fcfd64abe93071c15ebea3c" - integrity sha512-iV1OZj/7eg4wZIcsVEkXS3MUWdhmpLsu2h+9Zr2ppywKWdCRs6VfjxbRzmHHYeurTizrrnaJ9ZkbO8KOv4lauQ== +"@babel/eslint-plugin@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.19.1.tgz#8bfde4b6e4380ea038e7947a765fe536c3057a4c" + integrity sha512-ElGPkQPapKMa3zVqXHkZYzuL7I5LbRw9UWBUArgWsdWDDb9XcACqOpBib5tRPA9XvbVZYrFUkoQPbiJ4BFvu4w== dependencies: eslint-rule-composer "^0.3.0" -"@babel/generator@^7.18.13", "@babel/generator@^7.19.0", "@babel/generator@^7.7.2": +"@babel/generator@^7.19.0", "@babel/generator@^7.7.2": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== @@ -120,7 +120,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0": +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz#7f630911d83b408b76fe584831c98e5395d7a17c" integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== @@ -204,7 +204,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9", "@babel/helper-module-transforms@^7.19.0": +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== @@ -297,14 +297,14 @@ "@babel/traverse" "^7.18.11" "@babel/types" "^7.18.10" -"@babel/helpers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" - integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== +"@babel/helpers@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" + integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== dependencies: - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" "@babel/highlight@^7.18.6", "@babel/highlight@^7.9.0": version "7.18.6" @@ -315,7 +315,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.19.1", "@babel/parser@^7.7.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.1", "@babel/parser@^7.7.0": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== @@ -1019,7 +1019,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3": +"@babel/template@^7.18.10", "@babel/template@^7.3.3": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== @@ -1028,7 +1028,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": +"@babel/traverse@^7.18.11", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.1.tgz#0fafe100a8c2a603b4718b1d9bf2568d1d193347" integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== @@ -1044,7 +1044,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== @@ -1142,10 +1142,10 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@eslint/eslintrc@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" - integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== +"@eslint/eslintrc@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" + integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1531,6 +1531,13 @@ resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1752,10 +1759,10 @@ dependencies: defer-to-connect "^2.0.0" -"@testing-library/dom@^8.11.1", "@testing-library/dom@^8.17.1", "@testing-library/dom@^8.5.0": - version "8.17.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.17.1.tgz#2d7af4ff6dad8d837630fecd08835aee08320ad7" - integrity sha512-KnH2MnJUzmFNPW6RIKfd+zf2Wue8mEKX0M3cpX6aKl5ZXrJM1/c/Pc8c2xDNYQCnJO48Sm5ITbMXgqTr3h4jxQ== +"@testing-library/dom@^8.11.1", "@testing-library/dom@^8.18.1", "@testing-library/dom@^8.5.0": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.18.1.tgz#80f91be02bc171fe5a3a7003f88207be31ac2cf3" + integrity sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" @@ -2842,10 +2849,10 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.8: - version "10.4.10" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.10.tgz#a1d8891d1516155eb13a772b1289efdc61de14ef" - integrity sha512-nMaiDARyp1e74c8IeAXkr+BmFKa8By4Zak7tyaNPF09Iu39WFpNXOWrVirmXjKr+5cOyERwvtbMOLYz6iBJYgQ== +autoprefixer@^10.4.11: + version "10.4.11" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.11.tgz#835136aff1d9cd43640151e0d2dba00f8eac7c1c" + integrity sha512-5lHp6DgRodxlBLSkzHOTcufWFflH1ewfy2hvFQyjrblBFlP/0Yh4O/Wrg4ow8WRlN3AAUFFLAQwX8hTptzqVHg== dependencies: browserslist "^4.21.3" caniuse-lite "^1.0.30001399" @@ -3099,15 +3106,15 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.20.3, browserslist@^4.21.1, browserslist@^4.21.2, browserslist@^4.21.3: - version "4.21.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" - integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.20.3, browserslist@^4.21.1, browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== dependencies: - caniuse-lite "^1.0.30001370" - electron-to-chromium "^1.4.202" + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" node-releases "^2.0.6" - update-browserslist-db "^1.0.5" + update-browserslist-db "^1.0.9" bser@2.1.1: version "2.1.1" @@ -3270,10 +3277,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001359, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001399: - version "1.0.30001399" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz#1bf994ca375d7f33f8d01ce03b7d5139e8587873" - integrity sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001359, caniuse-lite@^1.0.30001399, caniuse-lite@^1.0.30001400: + version "1.0.30001412" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz#30f67d55a865da43e0aeec003f073ea8764d5d7c" + integrity sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA== ccount@^2.0.0: version "2.0.1" @@ -4376,10 +4383,10 @@ ejs@^3.1.6: dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.202: - version "1.4.249" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.249.tgz#49c34336c742ee65453dbddf4c84355e59b96e2c" - integrity sha512-GMCxR3p2HQvIw47A599crTKYZprqihoBL4lDSAUmr7IYekXFK5t/WgEBrGJDCa2HWIZFQEkGuMqPCi05ceYqPQ== +electron-to-chromium@^1.4.251: + version "1.4.262" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.262.tgz#25715dfbae4c2e0640517cba184715241ecd8e63" + integrity sha512-Ckn5haqmGh/xS8IbcgK3dnwAVnhDyo/WQnklWn6yaMucYTq7NNxwlGE8ElzEOnonzRLzUCo2Ot3vUb2GYUF2Hw== emittery@^0.10.2: version "0.10.2" @@ -4751,12 +4758,12 @@ eslint@^6.0.1: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^8.23.0: - version "8.23.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" - integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== +eslint@^8.23.1: + version "8.23.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.1.tgz#cfd7b3f7fdd07db8d16b4ac0516a29c8d8dca5dc" + integrity sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg== dependencies: - "@eslint/eslintrc" "^1.3.1" + "@eslint/eslintrc" "^1.3.2" "@humanwhocodes/config-array" "^0.10.4" "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" "@humanwhocodes/module-importer" "^1.0.1" @@ -4775,7 +4782,6 @@ eslint@^8.23.0: fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" globals "^13.15.0" globby "^11.1.0" @@ -4784,6 +4790,7 @@ eslint@^8.23.0: import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -7053,6 +7060,11 @@ jest@^29.0.1: import-local "^3.0.2" jest-cli "^29.0.1" +js-sdsl@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" + integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -12161,7 +12173,7 @@ upath@^1.2.0: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-browserslist-db@^1.0.5: +update-browserslist-db@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== From dc47a7472c8756f517aa9e91a7285b5fafed9276 Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Mon, 26 Sep 2022 18:36:38 +0200 Subject: [PATCH 116/131] Support list and table in formatFromMarkerSchema --- src/profile-logic/marker-schema.js | 53 +++++++++++++++++-- .../__snapshots__/marker-schema.test.js.snap | 13 +++++ src/test/unit/marker-schema.test.js | 6 ++- src/types/markers.js | 9 ++-- 4 files changed, 71 insertions(+), 10 deletions(-) diff --git a/src/profile-logic/marker-schema.js b/src/profile-logic/marker-schema.js index b2d4811c5d..27a894631e 100644 --- a/src/profile-logic/marker-schema.js +++ b/src/profile-logic/marker-schema.js @@ -366,15 +366,55 @@ export function formatFromMarkerSchema( value: any ): string { if (value === undefined || value === null) { - console.warn(`Formatting ${value} for ${markerType}`); + console.warn( + `Formatting ${value} for ${markerType} with format ${JSON.stringify( + format + )}` + ); return '(empty)'; } + if (typeof format === 'object') { + switch (format.type) { + case 'table': { + const { columns } = format; + if (!(value instanceof Array)) { + throw new Error('Expected an array for table type'); + } + const hasHeader = columns.some((column) => column.label); + const headerRows = hasHeader + ? [columns.map((x) => x.label || '(empty)')] + : []; + const cellRows = value.map((row) => { + if (!(row instanceof Array)) { + throw new Error('Expected an array for table row'); + } + + if (row.length !== columns.length) { + throw new Error( + "Row length doesn't match column count (row: " + + row.length + + ', cols: ' + + columns.length + + ')' + ); + } + return row.map((cell, j) => { + const { format } = columns[j]; + return formatFromMarkerSchema(markerType, format || 'string', cell); + }); + }); + const rows = headerRows.concat(cellRows); + return rows.map((r) => `(${r.join(', ')})`).join(','); + } + default: + throw new Error(`Unknown format type ${JSON.stringify(format)}`); + } + } switch (format) { case 'url': case 'file-path': case 'string': // Make sure a non-empty string is returned here. - return String(value) || '(empty)'; case 'duration': case 'time': @@ -395,8 +435,15 @@ export function formatFromMarkerSchema( return formatNumber(value); case 'percentage': return formatPercent(value); + case 'list': + if (!(value instanceof Array)) { + throw new Error('Expected an array for list format'); + } + return value + .map((v) => formatFromMarkerSchema(markerType, 'string', v)) + .join(', '); default: - console.error( + console.warn( `A marker schema of type "${markerType}" had an unknown format ${JSON.stringify( format )}` diff --git a/src/test/unit/__snapshots__/marker-schema.test.js.snap b/src/test/unit/__snapshots__/marker-schema.test.js.snap index c4032411f2..ac36ad9651 100644 --- a/src/test/unit/__snapshots__/marker-schema.test.js.snap +++ b/src/test/unit/__snapshots__/marker-schema.test.js.snap @@ -13,36 +13,43 @@ Array [ > http://example.com , + "http://example.com", ], Array [ "file-path", "/Users/me/gecko", "/Users/me/gecko", + "/Users/me/gecko", ], Array [ "file-path", null, "(empty)", + "(empty)", ], Array [ "file-path", undefined, "(empty)", + "(empty)", ], Array [ "duration", 0, "0s", + "0s", ], Array [ "duration", 10, "10ms", + "10ms", ], Array [ "duration", 12.3456789, "12.346ms", + "12.346ms", ], Array [ Object { @@ -88,6 +95,7 @@ Array [
    , + "(a, 1),(b, 2)", ], Array [ Object { @@ -133,6 +141,7 @@ Array [
    , + "(a, b),(b, 2)", ], Array [ Object { @@ -177,6 +186,7 @@ Array [
    , + "(a, (empty)),(b, 2)", ], Array [ Object { @@ -219,6 +229,7 @@ Array [
    , + "(a, (empty)),(b, 2)", ], Array [ "list", @@ -226,6 +237,7 @@ Array [
      , + "", ], Array [ "list", @@ -243,6 +255,7 @@ Array [ b
    , + "a, b", ], ] `; diff --git a/src/test/unit/marker-schema.test.js b/src/test/unit/marker-schema.test.js index 4a34cfb459..a2721048d1 100644 --- a/src/test/unit/marker-schema.test.js +++ b/src/test/unit/marker-schema.test.js @@ -178,6 +178,10 @@ describe('marker schema labels', function () { }); describe('marker schema formatting', function () { + beforeEach(() => { + jest.spyOn(console, 'warn').mockImplementation(() => {}); + }); + it('can apply a variety of formats', function () { const entries = [ ['url', 'http://example.com'], @@ -333,12 +337,12 @@ describe('marker schema formatting', function () { ['list', []], ['list', ['a', 'b']], ]; - expect( entries.map(([format, value]) => [ format, value, formatMarkupFromMarkerSchema('none', format, value), + formatFromMarkerSchema('none', format, value), ]) ).toMatchSnapshot(); }); diff --git a/src/types/markers.js b/src/types/markers.js index f137af7c27..0fc0c48185 100644 --- a/src/types/markers.js +++ b/src/types/markers.js @@ -14,9 +14,8 @@ import type { import type { ObjectMap } from './utils'; // Provide different formatting options for strings. -export type MarkerFormatType = BasicMarkerFormatType | ComplexMarkerFormatType; -export type BasicMarkerFormatType = +export type MarkerFormatType = // ---------------------------------------------------- // String types. @@ -60,15 +59,13 @@ export type BasicMarkerFormatType = // The decimal should be used for generic representations of numbers. Do not // use it for time information. // "Label: 52.23, 0.0054, 123,456.78" - | 'decimal'; - -type ComplexMarkerFormatType = + | 'decimal' | 'list' | {| type: 'table', columns: TableColumnFormat[] |}; type TableColumnFormat = {| // type for formatting, default is string - type?: BasicMarkerFormatType, + type?: MarkerFormatType, // header column label label?: string, |}; From ffe52a35310f3debacf4e686a2ccdaca86b9c80e Mon Sep 17 00:00:00 2001 From: fqueze Date: Tue, 27 Sep 2022 14:43:36 +0200 Subject: [PATCH 117/131] =?UTF-8?q?Add=20support=20for=20the=20=C2=B5Wh=20?= =?UTF-8?q?unit=20in=20tooltips=20showing=20energy=20amounts.=20(PR=20#424?= =?UTF-8?q?6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/en-US/app.ftl | 14 ++++++++++++++ src/components/tooltip/TrackPower.js | 16 +++++++++++++--- src/test/components/TrackPower.test.js | 8 ++++---- .../__snapshots__/TrackPower.test.js.snap | 2 +- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/locales/en-US/app.ftl b/locales/en-US/app.ftl index 1fca268904..5437beb387 100644 --- a/locales/en-US/app.ftl +++ b/locales/en-US/app.ftl @@ -770,6 +770,13 @@ TrackPower--tooltip-energy-used-in-range-watthour = { $value } Wh TrackPower--tooltip-energy-used-in-range-milliwatthour = { $value } mWh .label = Energy used in the visible range +# This is used in the tooltip when the energy used in the current range uses the +# microwatt-hour unit. +# Variables: +# $value (String) - the energy value for this range +TrackPower--tooltip-energy-used-in-range-microwatthour = { $value } µWh + .label = Energy used in the visible range + # This is used in the tooltip when the energy used in the current preview # selection uses the watt-hour unit. # Variables: @@ -784,6 +791,13 @@ TrackPower--tooltip-energy-used-in-preview-watthour = { $value } Wh TrackPower--tooltip-energy-used-in-preview-milliwatthour = { $value } mWh .label = Energy used in the current selection +# This is used in the tooltip when the energy used in the current preview +# selection uses the microwatt-hour unit. +# Variables: +# $value (String) - the energy value for this range +TrackPower--tooltip-energy-used-in-preview-microwatthour = { $value } µWh + .label = Energy used in the current selection + ## TrackSearchField ## The component that is used for the search input in the track context menu. diff --git a/src/components/tooltip/TrackPower.js b/src/components/tooltip/TrackPower.js index ec329bfe2d..cf7ee8fe71 100644 --- a/src/components/tooltip/TrackPower.js +++ b/src/components/tooltip/TrackPower.js @@ -79,7 +79,12 @@ class TooltipTrackPowerImpl extends React.PureComponent { }): number => this._computePowerSumForRange(selectionStart, selectionEnd) ); - _formatPowerValue(power: number, l10nIdUnit, l10nIdMilliUnit): Localized { + _formatPowerValue( + power: number, + l10nIdUnit, + l10nIdMilliUnit, + l10nIdMicroUnit + ): Localized { let value, l10nId; if (power > 1) { value = formatNumber(power, 3); @@ -87,6 +92,9 @@ class TooltipTrackPowerImpl extends React.PureComponent { } else if (power === 0) { value = 0; l10nId = l10nIdUnit; + } else if (power < 0.001 && l10nIdMicroUnit) { + value = formatNumber(power * 1000000); + l10nId = l10nIdMicroUnit; } else { value = formatNumber(power * 1000); l10nId = l10nIdMilliUnit; @@ -132,13 +140,15 @@ class TooltipTrackPowerImpl extends React.PureComponent { ? this._formatPowerValue( this._computePowerSumForPreviewRange(previewSelection), 'TrackPower--tooltip-energy-used-in-preview-watthour', - 'TrackPower--tooltip-energy-used-in-preview-milliwatthour' + 'TrackPower--tooltip-energy-used-in-preview-milliwatthour', + 'TrackPower--tooltip-energy-used-in-preview-microwatthour' ) : null} {this._formatPowerValue( this._computePowerSumForCommittedRange(committedRange), 'TrackPower--tooltip-energy-used-in-range-watthour', - 'TrackPower--tooltip-energy-used-in-range-milliwatthour' + 'TrackPower--tooltip-energy-used-in-range-milliwatthour', + 'TrackPower--tooltip-energy-used-in-range-microwatthour' )}
    diff --git a/src/test/components/TrackPower.test.js b/src/test/components/TrackPower.test.js index f561f37663..afa609f3b5 100644 --- a/src/test/components/TrackPower.test.js +++ b/src/test/components/TrackPower.test.js @@ -198,13 +198,13 @@ describe('TrackPower', function () { '360\u2069 mW' ); // Over the full range, we get 7.240 µWh, therefore we'll see in the tooltip - // 0.007 mWh. + // 7.2 µWh. expect(screen.getByText(/visible range:/).nextSibling).toHaveTextContent( - '0.007\u2069 mWh' + '7.2\u2069 µWh' ); - // Over the preview selection, we get 5 µWh which shows up as 0.005 mWh. + // Over the preview selection, we get 5 µWh which shows up as 5.0 µWh. expect( screen.getByText(/current selection:/).nextSibling - ).toHaveTextContent('0.005\u2069 mWh'); + ).toHaveTextContent('5.0\u2069 µWh'); }); }); diff --git a/src/test/components/__snapshots__/TrackPower.test.js.snap b/src/test/components/__snapshots__/TrackPower.test.js.snap index e7cc9f1787..baeb177d6c 100644 --- a/src/test/components/__snapshots__/TrackPower.test.js.snap +++ b/src/test/components/__snapshots__/TrackPower.test.js.snap @@ -27,7 +27,7 @@ exports[`TrackPower has a tooltip that matches the snapshot 1`] = ` Energy used in the visible range :
    - ⁨0.007⁩ mWh + ⁨7.2⁩ µWh
    `; From baf7965409cb8d4d25a078de2a29009aec94fc46 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 27 Sep 2022 15:04:55 +0200 Subject: [PATCH 118/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20@codemirr?= =?UTF-8?q?or/lang-javascript=20to=20version=206.1.0=20(PR=20#4248)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 390ec67a6a..cbb56936da 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ }, "dependencies": { "@codemirror/lang-cpp": "^6.0.1", - "@codemirror/lang-javascript": "^6.0.2", + "@codemirror/lang-javascript": "^6.1.0", "@codemirror/lang-rust": "^6.0.0", "@codemirror/language": "^6.2.1", "@codemirror/state": "^6.1.1", diff --git a/yarn.lock b/yarn.lock index e0168deb23..5c23b62ab0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1076,10 +1076,10 @@ "@codemirror/language" "^6.0.0" "@lezer/cpp" "^1.0.0" -"@codemirror/lang-javascript@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.0.2.tgz#1468de7898c2fd477cfdd24207e62c7af822d234" - integrity sha512-BZRJ9u/zl16hLkSpDAWm73mrfIR7HJrr0lvnhoSOCQVea5BglguWI/slxexhvUb0CB5cXgKWuo2bM+N9EhIaZw== +"@codemirror/lang-javascript@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.1.0.tgz#3b3ddfed59c5fb39b210c13f1e0e8e5a65f009f3" + integrity sha512-wAWEY1Wdis2cKDy9A5q/rUmzLHFbZgoupJBcGaeMMsDPi68Rm90NsmzAEODE5kW8mYdRKFhQ157WJghOZ3yYdg== dependencies: "@codemirror/autocomplete" "^6.0.0" "@codemirror/language" "^6.0.0" From d06ec1f2498d69d1c6f190d3d9319de190f6d552 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 27 Sep 2022 15:11:20 +0200 Subject: [PATCH 119/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20@lezer/hi?= =?UTF-8?q?ghlight=20to=20version=201.1.1=20(PR=20#4247)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cbb56936da..4375b01c6b 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@fluent/bundle": "^0.17.1", "@fluent/langneg": "^0.6.2", "@fluent/react": "^0.14.1", - "@lezer/highlight": "^1.0.0", + "@lezer/highlight": "^1.1.1", "array-move": "^3.0.1", "array-range": "^1.0.1", "clamp": "^1.0.1", diff --git a/yarn.lock b/yarn.lock index 5c23b62ab0..00d8762071 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1496,10 +1496,10 @@ "@lezer/highlight" "^1.0.0" "@lezer/lr" "^1.0.0" -"@lezer/highlight@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.0.0.tgz#1dc82300f5d39fbd67ae1194b5519b4c381878d3" - integrity sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA== +"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.1.1.tgz#1f4f12f21320d7de102b46a5416eff49fdf3c695" + integrity sha512-duv9D23O9ghEDnnUDmxu+L8pJy4nYo4AbCOHIudUhscrLSazqeJeK1V50EU6ZufWF1zv0KJwu/frFRyZWXxHBQ== dependencies: "@lezer/common" "^1.0.0" From 79ac1c922b5c72ec9caea3e417ae790b0ebf7394 Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Thu, 29 Sep 2022 10:39:56 +0200 Subject: [PATCH 120/131] Use equal sized numbers Fixes #4253 --- res/css/style.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/res/css/style.css b/res/css/style.css index 8f0e933afc..b157f1bc94 100644 --- a/res/css/style.css +++ b/res/css/style.css @@ -21,6 +21,9 @@ body { Oxygen-Sans, Ubuntu, 'Noto Sans', 'Liberation Sans', Cantarell, 'Helvetica Neue', sans-serif; font-size: 11px; + + /* equal size all numbers, so that longer numbers are larger */ + font-variant-numeric: tabular-nums; /* Disable the "rubberband" overscrolling effect in Chrome. This happens when * using the charts and the scroll wheel. */ From 17d4437f09417dc906913536f39312297c33d51d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 29 Sep 2022 15:44:17 +0200 Subject: [PATCH 121/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20idb=20to?= =?UTF-8?q?=20version=207.1.0=20(PR=20#4252)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4375b01c6b..fbc294b9a2 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "core-js": "^3.25.2", "escape-string-regexp": "^4.0.0", "gecko-profiler-demangle": "^0.3.3", - "idb": "^7.0.2", + "idb": "^7.1.0", "jszip": "^3.10.1", "memoize-immutable": "^3.0.0", "memoize-one": "^6.0.0", diff --git a/yarn.lock b/yarn.lock index 00d8762071..fdec62da86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6130,10 +6130,10 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -idb@^7.0.1, idb@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/idb/-/idb-7.0.2.tgz#7a067e20dd16539938e456814b7d714ba8db3892" - integrity sha512-jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg== +idb@^7.0.1, idb@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.0.tgz#2cc886be57738419e57f9aab58f647e5e2160270" + integrity sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg== ignore-walk@3.0.4: version "3.0.4" From 0a544dc3e17bf61a63f9d2b477447d5b9f59eeab Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 29 Sep 2022 15:55:17 +0200 Subject: [PATCH 122/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20@codemirr?= =?UTF-8?q?or/state=20to=20version=206.1.2=20(PR=20#4251)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index fbc294b9a2..cb2e2f6cb7 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@codemirror/lang-javascript": "^6.1.0", "@codemirror/lang-rust": "^6.0.0", "@codemirror/language": "^6.2.1", - "@codemirror/state": "^6.1.1", + "@codemirror/state": "^6.1.2", "@codemirror/view": "^6.2.2", "@firefox-devtools/react-contextmenu": "^5.0.0", "@fluent/bundle": "^0.17.1", diff --git a/yarn.lock b/yarn.lock index fdec62da86..054fe5d740 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1118,10 +1118,10 @@ "@codemirror/view" "^6.0.0" crelt "^1.0.5" -"@codemirror/state@^6.0.0", "@codemirror/state@^6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.1.1.tgz#4f512e5e34ea23a5e10b2c1fe43f6195e90417bb" - integrity sha512-2s+aXsxmAwnR3Rd+JDHPG/1lw0YsA9PEwl7Re88gHJHGfxyfEzKBmsN4rr53RyPIR4lzbbhJX0DCq0WlqlBIRw== +"@codemirror/state@^6.0.0", "@codemirror/state@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.1.2.tgz#182d46eabcc17c95508984d6add5a5a641dcd517" + integrity sha512-Mxff85Hp5va+zuj+H748KbubXjrinX/k28lj43H14T2D0+4kuvEFIEIO7hCEcvBT8ubZyIelt9yGOjj2MWOEQA== "@codemirror/view@^6.0.0", "@codemirror/view@^6.2.2": version "6.2.2" From 8297bd63692473cc74390a0bb81e8a09bc403b12 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 29 Sep 2022 15:55:18 +0200 Subject: [PATCH 123/131] Fix linting issues --- res/css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/css/style.css b/res/css/style.css index b157f1bc94..03e8dea49e 100644 --- a/res/css/style.css +++ b/res/css/style.css @@ -21,7 +21,7 @@ body { Oxygen-Sans, Ubuntu, 'Noto Sans', 'Liberation Sans', Cantarell, 'Helvetica Neue', sans-serif; font-size: 11px; - + /* equal size all numbers, so that longer numbers are larger */ font-variant-numeric: tabular-nums; From e1ee179d981da800e4192cc896b72aacd5f225bd Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 29 Sep 2022 17:16:21 +0200 Subject: [PATCH 124/131] Small changes to make the code clearer and more maintainable --- src/profile-logic/marker-schema.js | 47 ++++++++++++++++++------------ 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/src/profile-logic/marker-schema.js b/src/profile-logic/marker-schema.js index 27a894631e..e9eeee2d0e 100644 --- a/src/profile-logic/marker-schema.js +++ b/src/profile-logic/marker-schema.js @@ -360,6 +360,11 @@ export function getLabelGetter( }; } +/** + * This function formats a string from a marker type and a value. + * If you wish to get markup instead, have a look at + * formatMarkupFromMarkerSchema below. + */ export function formatFromMarkerSchema( markerType: string, format: MarkerFormatType, @@ -381,21 +386,17 @@ export function formatFromMarkerSchema( throw new Error('Expected an array for table type'); } const hasHeader = columns.some((column) => column.label); - const headerRows = hasHeader + const rows = hasHeader ? [columns.map((x) => x.label || '(empty)')] : []; - const cellRows = value.map((row) => { + const cellRows = value.map((row, i) => { if (!(row instanceof Array)) { throw new Error('Expected an array for table row'); } if (row.length !== columns.length) { throw new Error( - "Row length doesn't match column count (row: " + - row.length + - ', cols: ' + - columns.length + - ')' + `Row ${i} length doesn't match column count (row: ${row.length}, cols: ${columns.length})` ); } return row.map((cell, j) => { @@ -403,11 +404,13 @@ export function formatFromMarkerSchema( return formatFromMarkerSchema(markerType, format || 'string', cell); }); }); - const rows = headerRows.concat(cellRows); - return rows.map((r) => `(${r.join(', ')})`).join(','); + rows.push(...cellRows); + return rows.map((row) => `(${row.join(', ')})`).join(','); } default: - throw new Error(`Unknown format type ${JSON.stringify(format)}`); + throw new Error( + `Unknown format type ${JSON.stringify((format.type: empty))}` + ); } } switch (format) { @@ -445,13 +448,18 @@ export function formatFromMarkerSchema( default: console.warn( `A marker schema of type "${markerType}" had an unknown format ${JSON.stringify( - format + (format: empty) )}` ); return value; } } +/** + * This function may return structured markup for some types suchs as table, + * list, or urls. For other types this falls back to formatFromMarkerSchema + * above. + */ export function formatMarkupFromMarkerSchema( markerType: string, format: MarkerFormatType, @@ -491,11 +499,7 @@ export function formatMarkupFromMarkerSchema( if (row.length !== columns.length) { throw new Error( - "Row length doesn't match column count (row: " + - row.length + - ', cols: ' + - columns.length + - ')' + `Row ${i} length doesn't match column count (row: ${row.length}, cols: ${columns.length})` ); } return ( @@ -519,7 +523,9 @@ export function formatMarkupFromMarkerSchema( ); } default: - throw new Error(`Unknown format type ${JSON.stringify(format)}`); + throw new Error( + `Unknown format type ${JSON.stringify((format: empty))}` + ); } } switch (format) { @@ -537,6 +543,9 @@ export function formatMarkupFromMarkerSchema( ); case 'url': + if (!value.startsWith('http:') && !value.startsWith('https:')) { + return value; + } return ( - {formatFromMarkerSchema(markerType, 'string', value)} + {value} ); default: - throw new Error(`Unknown format type ${JSON.stringify(format)}`); + throw new Error(`Unknown format type ${JSON.stringify((format: empty))}`); } } From c8a30d360796bb8a493cc854e59b72dfbcc058f8 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Thu, 29 Sep 2022 17:35:45 +0200 Subject: [PATCH 125/131] Adjust CSS to make it more maintainable, RTL-friendly, and apply to the tooltip as well as the sidebar --- src/components/sidebar/sidebar.css | 10 ---------- src/components/tooltip/Marker.css | 18 ++++++++++++++++++ src/components/tooltip/Marker.js | 2 ++ src/profile-logic/marker-schema.js | 6 +++--- .../__snapshots__/marker-schema.test.js.snap | 14 +++++++------- 5 files changed, 30 insertions(+), 20 deletions(-) create mode 100644 src/components/tooltip/Marker.css diff --git a/src/components/sidebar/sidebar.css b/src/components/sidebar/sidebar.css index 3589ee1bb7..c86c8fecc1 100644 --- a/src/components/sidebar/sidebar.css +++ b/src/components/sidebar/sidebar.css @@ -187,13 +187,3 @@ margin-top: 3px; margin-inline-start: -12px; } - -.sidebar ul.marker-value { - padding-left: 25px; - margin-top: 5px; - margin-bottom: 5px; -} - -.sidebar table.marker-value th { - text-align: left; -} diff --git a/src/components/tooltip/Marker.css b/src/components/tooltip/Marker.css new file mode 100644 index 0000000000..ccbcfad6ad --- /dev/null +++ b/src/components/tooltip/Marker.css @@ -0,0 +1,18 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +.marker-list-value { + margin: 0; + padding-inline-start: 25px; +} + +/* These styles are useful to make the table well-aligned with its labels in tooltips. */ +.marker-table-value { + border-collapse: collapse; + margin-block-start: -1px; +} + +.marker-table-value th { + text-align: start; +} diff --git a/src/components/tooltip/Marker.js b/src/components/tooltip/Marker.js index 28dd93e3e0..5a769a7a97 100644 --- a/src/components/tooltip/Marker.js +++ b/src/components/tooltip/Marker.js @@ -62,6 +62,8 @@ import { getGCSliceDetails, } from './GCMarker'; +import './Marker.css'; + function _maybeFormatDuration( start: number | void, end: number | void diff --git a/src/profile-logic/marker-schema.js b/src/profile-logic/marker-schema.js index e9eeee2d0e..9966b60f08 100644 --- a/src/profile-logic/marker-schema.js +++ b/src/profile-logic/marker-schema.js @@ -481,7 +481,7 @@ export function formatMarkupFromMarkerSchema( } const hasHeader = columns.some((column) => column.label); return ( - +
    {hasHeader ? ( @@ -534,7 +534,7 @@ export function formatMarkupFromMarkerSchema( throw new Error('Expected an array for list format'); } return ( -
      +
        {value.map((entry, i) => (
      • {formatFromMarkerSchema(markerType, 'string', value[i])} @@ -551,7 +551,7 @@ export function formatMarkupFromMarkerSchema( href={value} target="_blank" rel="noreferrer" - className="marker-value" + className="marker-link-value" > {value} diff --git a/src/test/unit/__snapshots__/marker-schema.test.js.snap b/src/test/unit/__snapshots__/marker-schema.test.js.snap index ac36ad9651..786ecf3c6c 100644 --- a/src/test/unit/__snapshots__/marker-schema.test.js.snap +++ b/src/test/unit/__snapshots__/marker-schema.test.js.snap @@ -6,7 +6,7 @@ Array [ "url", "http://example.com",
    @@ -118,7 +118,7 @@ Array [ ], ],
    @@ -163,7 +163,7 @@ Array [ ], ],
    @@ -206,7 +206,7 @@ Array [ ], ],
    @@ -235,7 +235,7 @@ Array [ "list", Array [],
      , "", ], @@ -246,7 +246,7 @@ Array [ "b", ],
      • a From 79f7f6aa20215dc49183a912108bd9f9b05dbeb1 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Fri, 30 Sep 2022 09:23:03 +0200 Subject: [PATCH 126/131] Remove the scheme from formatted URLs --- src/profile-logic/marker-schema.js | 10 +++++++--- src/test/unit/__snapshots__/marker-schema.test.js.snap | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/profile-logic/marker-schema.js b/src/profile-logic/marker-schema.js index 9966b60f08..9235ee5d3a 100644 --- a/src/profile-logic/marker-schema.js +++ b/src/profile-logic/marker-schema.js @@ -455,6 +455,9 @@ export function formatFromMarkerSchema( } } +// This regexp is used to test for URLs and remove their scheme for display. +const URL_SCHEME_REGEXP = /^http(s?):\/\//; + /** * This function may return structured markup for some types suchs as table, * list, or urls. For other types this falls back to formatFromMarkerSchema @@ -542,8 +545,8 @@ export function formatMarkupFromMarkerSchema( ))}
      ); - case 'url': - if (!value.startsWith('http:') && !value.startsWith('https:')) { + case 'url': { + if (!URL_SCHEME_REGEXP.test(value)) { return value; } return ( @@ -553,9 +556,10 @@ export function formatMarkupFromMarkerSchema( rel="noreferrer" className="marker-link-value" > - {value} + {value.replace(URL_SCHEME_REGEXP, '')}
      ); + } default: throw new Error(`Unknown format type ${JSON.stringify((format: empty))}`); } diff --git a/src/test/unit/__snapshots__/marker-schema.test.js.snap b/src/test/unit/__snapshots__/marker-schema.test.js.snap index 786ecf3c6c..ddd50244fd 100644 --- a/src/test/unit/__snapshots__/marker-schema.test.js.snap +++ b/src/test/unit/__snapshots__/marker-schema.test.js.snap @@ -11,7 +11,7 @@ Array [ rel="noreferrer" target="_blank" > - http://example.com + example.com , "http://example.com", ], From 4147848946a58bac0545c3be11abde2c6cd5ca97 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 30 Sep 2022 10:57:20 +0200 Subject: [PATCH 127/131] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20react-red?= =?UTF-8?q?ux=20to=20version=208.0.4=20(PR=20#4255)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cb2e2f6cb7..f3fb7646cc 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-intersection-observer": "^9.4.0", - "react-redux": "^8.0.2", + "react-redux": "^8.0.4", "react-splitter-layout": "^4.0.0", "react-transition-group": "^4.4.5", "redux": "^4.2.0", diff --git a/yarn.lock b/yarn.lock index 054fe5d740..b6be25ae68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9974,10 +9974,10 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67" integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg== -react-redux@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.2.tgz#bc2a304bb21e79c6808e3e47c50fe1caf62f7aad" - integrity sha512-nBwiscMw3NoP59NFCXFf02f8xdo+vSHT/uZ1ldDwF7XaTpzm+Phk97VT4urYBl5TYAPNVaFm12UHAEyzkpNzRA== +react-redux@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.4.tgz#80c31dffa8af9526967c4267022ae1525ff0e36a" + integrity sha512-yMfQ7mX6bWuicz2fids6cR1YT59VTuT8MKyyE310wJQlINKENCeT1UcPdEiX6znI5tF8zXyJ/VYvDgeGuaaNwQ== dependencies: "@babel/runtime" "^7.12.1" "@types/hoist-non-react-statics" "^3.3.1" From 3b9a1e9152519b65877111b6015401b0db7ceb27 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 06:36:59 +0000 Subject: [PATCH 128/131] Update all development Yarn dependencies (2022-10-03) --- package.json | 6 ++-- yarn.lock | 89 +++++++++++++++++++++------------------------------- 2 files changed, 39 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index f3fb7646cc..bdef3eedd9 100644 --- a/package.json +++ b/package.json @@ -151,14 +151,14 @@ "raw-loader": "^4.0.2", "rimraf": "^3.0.2", "style-loader": "^3.3.1", - "stylelint": "^14.11.0", - "stylelint-config-idiomatic-order": "^8.1.0", + "stylelint": "^14.12.1", + "stylelint-config-idiomatic-order": "^9.0.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^28.0.0", "stylelint-prettier": "^2.0.0", "webpack": "^5.74.0", "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.10.1", + "webpack-dev-server": "^4.11.1", "workbox-webpack-plugin": "^6.5.4" }, "jest": { diff --git a/yarn.lock b/yarn.lock index b6be25ae68..90f40b702b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5007,7 +5007,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.2.11, fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== @@ -9314,11 +9314,6 @@ photon-colors@^3.3.2: resolved "https://registry.yarnpkg.com/photon-colors/-/photon-colors-3.3.2.tgz#eaf2e5a8ba9368fcdee0607cc86a9f613e6d3417" integrity sha512-xCeL7J2F8cjM00zQZEZawHAGnrSOM509RbanL4c8hvrV8n19V/wwdzydX6rSUEtLYj4nx4OvhmKC4/vujo9f/Q== -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -9624,13 +9619,10 @@ postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selecto cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-sorting@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-5.0.1.tgz#10d5d0059eea8334dacc820c0121864035bc3f11" - integrity sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA== - dependencies: - lodash "^4.17.14" - postcss "^7.0.17" +postcss-sorting@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-7.0.1.tgz#923b5268451cf2d93ebf8835e17a6537757049a5" + integrity sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g== postcss-svgo@^5.1.0: version "5.1.0" @@ -9652,18 +9644,10 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^7.0.17: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.4.16, postcss@^8.4.7: - version "8.4.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" - integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== +postcss@^8.3.11, postcss@^8.4.16, postcss@^8.4.7: + version "8.4.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" + integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" @@ -10684,7 +10668,7 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== -selfsigned@^2.0.1: +selfsigned@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== @@ -11364,12 +11348,12 @@ stylehacks@^5.1.0: browserslist "^4.16.6" postcss-selector-parser "^6.0.4" -stylelint-config-idiomatic-order@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/stylelint-config-idiomatic-order/-/stylelint-config-idiomatic-order-8.1.0.tgz#7ca7fa92eb79369948dd4977499466c844ace21d" - integrity sha512-iTPY6JjbkIdzy+21x3a1xi/tG33zKhLJb6lZl1xg6jZrXjgIYelnRZ5xVtbcEP9rElxZq/Zu1eGthfvI+ri+YQ== +stylelint-config-idiomatic-order@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-idiomatic-order/-/stylelint-config-idiomatic-order-9.0.0.tgz#8c04761ad41f234eb489f758d9b0b0d8743f7dd8" + integrity sha512-+LtfPycY1Paayf1MaERyh6BzVPnZxemX5NtzdUPqi4u8hyAR7859f/4EL02+Kr9va76iX7mbYC4HendocXKJZQ== dependencies: - stylelint-order "^3.1.1" + stylelint-order "^5.0.0" stylelint-config-prettier@^9.0.3: version "9.0.3" @@ -11388,14 +11372,13 @@ stylelint-config-standard@^28.0.0: dependencies: stylelint-config-recommended "^9.0.0" -stylelint-order@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-3.1.1.tgz#ba9ea6844d1482f97f31204e7c9605c7b792c294" - integrity sha512-4gP/r8j/6JGZ/LL41b2sYtQqfwZl4VSqTp7WeIwI67v/OXNQ08dnn64BGXNwAUSgb2+YIvIOxQaMzqMyQMzoyQ== +stylelint-order@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-5.0.0.tgz#abd20f6b85ac640774cbe40e70d3fe9c6fdf4400" + integrity sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw== dependencies: - lodash "^4.17.15" - postcss "^7.0.17" - postcss-sorting "^5.0.1" + postcss "^8.3.11" + postcss-sorting "^7.0.1" stylelint-prettier@^2.0.0: version "2.0.0" @@ -11404,10 +11387,10 @@ stylelint-prettier@^2.0.0: dependencies: prettier-linter-helpers "^1.0.0" -stylelint@^14.11.0: - version "14.11.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.11.0.tgz#e2ecb28bbacab05e1fbeb84cbba23883b27499cc" - integrity sha512-OTLjLPxpvGtojEfpESWM8Ir64Z01E89xsisaBMUP/ngOx1+4VG2DPRcUyCCiin9Rd3kPXPsh/uwHd9eqnvhsYA== +stylelint@^14.12.1: + version "14.12.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.12.1.tgz#7fac1578662ca12330c32a61c8583be7fad4a530" + integrity sha512-ZEM4TuksChMBfuPadQsHUkbOoRySAT9QMfDvvYxdAchOJl0p+csTMBXOu6ORAAxKhwBmxqJiep8V88bXfNs3EQ== dependencies: "@csstools/selector-specificity" "^2.0.2" balanced-match "^2.0.0" @@ -11415,7 +11398,7 @@ stylelint@^14.11.0: cosmiconfig "^7.0.1" css-functions-list "^3.1.0" debug "^4.3.4" - fast-glob "^3.2.11" + fast-glob "^3.2.12" fastest-levenshtein "^1.0.16" file-entry-cache "^6.0.1" global-modules "^2.0.0" @@ -11442,7 +11425,7 @@ stylelint@^14.11.0: string-width "^4.2.3" strip-ansi "^6.0.1" style-search "^0.1.0" - supports-hyperlinks "^2.2.0" + supports-hyperlinks "^2.3.0" svg-tags "^1.0.0" table "^6.8.0" v8-compile-cache "^2.3.0" @@ -11481,10 +11464,10 @@ supports-color@^9.0.0: dependencies: has-flag "^5.0.0" -supports-hyperlinks@^2.0.0, supports-hyperlinks@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== +supports-hyperlinks@^2.0.0, supports-hyperlinks@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -12468,10 +12451,10 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.10.1: - version "4.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz#290ee594765cd8260adfe83b2d18115ea04484e7" - integrity sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw== +webpack-dev-server@^4.11.1: + version "4.11.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" + integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -12496,7 +12479,7 @@ webpack-dev-server@^4.10.1: p-retry "^4.5.0" rimraf "^3.0.2" schema-utils "^4.0.0" - selfsigned "^2.0.1" + selfsigned "^2.1.1" serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" From be80d291f7480a37099aafeefe302795f9cd9ae5 Mon Sep 17 00:00:00 2001 From: Julien Wajsberg Date: Mon, 3 Oct 2022 10:43:18 +0200 Subject: [PATCH 129/131] Fix new stylelint violations --- res/css/photon/button.css | 2 +- res/css/photon/checkbox.css | 2 +- res/css/photon/message-bar.css | 2 +- res/css/photon/radio-button.css | 2 +- src/components/app/BottomBox.css | 2 +- src/components/app/CompareHome.css | 2 +- src/components/app/ErrorBoundary.css | 2 +- src/components/app/Home.css | 6 +++--- src/components/app/KeyboardShortcut.css | 6 +++--- src/components/app/MenuButtons/Publish.css | 4 ++-- src/components/app/ProfileName.css | 2 +- src/components/app/ProfileRootMessage.css | 4 ++-- src/components/app/ProfileViewer.css | 2 +- src/components/app/SymbolicationStatusOverlay.css | 2 +- src/components/app/UploadedRecordingsHome.css | 2 +- src/components/app/ZipFileViewer.css | 4 ++-- src/components/network-chart/index.css | 2 +- src/components/shared/ButtonWithPanel/ArrowPanel.css | 2 +- src/components/shared/CallNodeContextMenu.css | 2 +- src/components/shared/ContextMenu.css | 2 +- src/components/shared/TreeView.css | 2 +- src/components/shared/chart/Viewport.css | 4 ++-- src/components/timeline/Selection.css | 6 +++--- src/components/timeline/Track.css | 2 +- src/components/timeline/TrackEventDelay.css | 2 +- src/components/timeline/TrackMemory.css | 2 +- src/components/timeline/TrackPower.css | 2 +- src/components/timeline/TrackProcessCPU.css | 2 +- src/components/timeline/TrackVisualProgress.css | 2 +- src/components/tooltip/CallNode.css | 6 +++--- 30 files changed, 42 insertions(+), 42 deletions(-) diff --git a/res/css/photon/button.css b/res/css/photon/button.css index e81d53ba75..21ae58569b 100644 --- a/res/css/photon/button.css +++ b/res/css/photon/button.css @@ -6,6 +6,7 @@ .photon-button { padding: 0 8px; border: none; + border-radius: 2px; margin: 0; /* reset default styles */ @@ -13,7 +14,6 @@ /* photon styles */ background-color: var(--grey-90-a10); - border-radius: 2px; color: var(--grey-90); font: inherit; } diff --git a/res/css/photon/checkbox.css b/res/css/photon/checkbox.css index 4c9524afa2..5db0c2b9b4 100644 --- a/res/css/photon/checkbox.css +++ b/res/css/photon/checkbox.css @@ -6,9 +6,9 @@ position: relative; padding: 0; border: 1px solid var(--grey-90-a30); + border-radius: 2px; appearance: none; background-color: var(--grey-90-a10); - border-radius: 2px; } /* Remove the border, as it compets with box-shadow styles applied with focus.css */ diff --git a/res/css/photon/message-bar.css b/res/css/photon/message-bar.css index f2a67d6ce7..181a4f8b9d 100644 --- a/res/css/photon/message-bar.css +++ b/res/css/photon/message-bar.css @@ -13,13 +13,13 @@ * for the icon) + 16px (icon width) + 4px (right padding for the icon) + 4px * (space between icon and text) */ padding: 4px 4px 4px 32px; + border-radius: 4px; /* Note: 8px is: 4px (left padding for the message bar) + 4px (left padding * for the icon). And same for the top positioning, because we want the icon * to stick at the top when the text is multiline */ background: url(../../img/svg/info-icon.svg) no-repeat 8px 8px / 16px 16px var(--grey-20); - border-radius: 4px; color: var(--grey-90); font-size: 13px; font-weight: 400; diff --git a/res/css/photon/radio-button.css b/res/css/photon/radio-button.css index 214bd50bb9..5fc657c366 100644 --- a/res/css/photon/radio-button.css +++ b/res/css/photon/radio-button.css @@ -4,10 +4,10 @@ .photon-radio { border: 1px solid var(--grey-90-a30); + border-radius: 8px; appearance: none; background: none; background-color: var(--grey-90-a10); - border-radius: 8px; } /* Use this class with the photon-radio for the canonical photon styling. */ diff --git a/src/components/app/BottomBox.css b/src/components/app/BottomBox.css index b77da63251..15caca382f 100644 --- a/src/components/app/BottomBox.css +++ b/src/components/app/BottomBox.css @@ -62,9 +62,9 @@ flex-flow: row; align-items: center; padding: 15px; + border-radius: 10px; margin: auto; background-color: rgb(240 240 240 / 0.8); - border-radius: 10px; gap: 15px; word-break: break-word; } diff --git a/src/components/app/CompareHome.css b/src/components/app/CompareHome.css index 1be44c5118..2b9d036069 100644 --- a/src/components/app/CompareHome.css +++ b/src/components/app/CompareHome.css @@ -5,11 +5,11 @@ /* Box */ padding: 8em; border: 1px solid #ccc; + border-radius: 3px; margin: auto; /* Other */ background: #fff; - border-radius: 3px; box-shadow: 0 5px 25px #0b1f50; font-size: 130%; } diff --git a/src/components/app/ErrorBoundary.css b/src/components/app/ErrorBoundary.css index 29dac7c6d0..decb5e59bd 100644 --- a/src/components/app/ErrorBoundary.css +++ b/src/components/app/ErrorBoundary.css @@ -25,9 +25,9 @@ .appErrorBoundaryDetails { padding: 25px; + border-radius: 4px; margin: 12px 0; background: #fff; - border-radius: 4px; box-shadow: 0 0 10px rgb(0 0 0 / 0.1); color: var(--grey-70); font-family: monospace; diff --git a/src/components/app/Home.css b/src/components/app/Home.css index 89056df043..3b113d7885 100644 --- a/src/components/app/Home.css +++ b/src/components/app/Home.css @@ -15,9 +15,9 @@ .homeSpecialMessage { padding: 8px 16px; border: 1px solid #000; + border-radius: 3px; margin: 17px 0; background-color: #798fc8; - border-radius: 3px; color: #fff; } @@ -29,8 +29,8 @@ box-sizing: border-box; padding: 4em 8em; border: 1px solid #ccc; - background-color: #fff; border-radius: 3px; + background-color: #fff; box-shadow: 0 5px 25px #0b1f50; font-size: 130%; } @@ -39,9 +39,9 @@ display: inline-block; padding: 0 0.5em; border: 1px solid #ccc; + border-radius: 0.2em; margin: 0 0.2em; background-color: #f6f6f6; - border-radius: 0.2em; box-shadow: 0.1em 0.1em 0 #bbb; } diff --git a/src/components/app/KeyboardShortcut.css b/src/components/app/KeyboardShortcut.css index 21e8db4600..cb2772af4b 100644 --- a/src/components/app/KeyboardShortcut.css +++ b/src/components/app/KeyboardShortcut.css @@ -26,10 +26,10 @@ /* appKeyboardShortcuts margin top + bottom = 40px */ max-height: calc(100% - 40px); + border-radius: 5px; margin: 0 auto; animation: arrowPanelAppear 0.2s cubic-bezier(0.07, 0.95, 0, 1); background: #fff; - border-radius: 5px; filter: drop-shadow(0 0 0.5px rgb(0 0 0 / 0.4)) drop-shadow(0 4px 5px rgb(0 0 0 / 0.4)); } @@ -54,8 +54,8 @@ display: inline-flex; align-items: center; padding: 0 5px; - background: rgb(222 222 227 / 0.79); border-radius: 3px; + background: rgb(222 222 227 / 0.79); box-shadow: 1px 1px rgb(0 0 0 / 0.27); color: #000; margin-inline-start: 6px; @@ -91,12 +91,12 @@ .appKeyboardShortcutsHeaderClose { padding: 6px 6px 6px 30px; border: 0; + border-radius: 3px; /* Allow for the photon focus ring to fit in the space by using a 4px margin. */ margin: 4px; background: url(../../../res/img/svg/searchfield-cancel.svg) 10px center no-repeat; - border-radius: 3px; cursor: pointer; font-size: inherit; } diff --git a/src/components/app/MenuButtons/Publish.css b/src/components/app/MenuButtons/Publish.css index ddfa09113c..0f9fa96f90 100644 --- a/src/components/app/MenuButtons/Publish.css +++ b/src/components/app/MenuButtons/Publish.css @@ -141,14 +141,15 @@ .menuButtonsPublishUploadBar { overflow: hidden; height: 5px; - background-color: var(--grey-40); border-radius: 2px; + background-color: var(--grey-40); } .menuButtonsPublishUploadBarInner { position: absolute; top: 0; height: 3px; + border-radius: 0 2px 2px 0; animation: animate-stripes 1s linear infinite; background-color: var(--blue-50); background-image: linear-gradient( @@ -163,7 +164,6 @@ transparent 80% ); background-size: 21px 20px, 100% 100%, 100% 100%; - border-radius: 0 2px 2px 0; } @keyframes animate-stripes { diff --git a/src/components/app/ProfileName.css b/src/components/app/ProfileName.css index 5839e91cdb..d8c0944069 100644 --- a/src/components/app/ProfileName.css +++ b/src/components/app/ProfileName.css @@ -6,8 +6,8 @@ height: 17px; padding: 0 6px; border: none; - margin: 4px; border-radius: 1px; + margin: 4px; color: var(--grey-60); font: inherit; font-weight: 700; diff --git a/src/components/app/ProfileRootMessage.css b/src/components/app/ProfileRootMessage.css index fde52de4e9..cd3314ab61 100644 --- a/src/components/app/ProfileRootMessage.css +++ b/src/components/app/ProfileRootMessage.css @@ -20,8 +20,8 @@ box-sizing: border-box; padding: 3em; border: 1px solid #ccc; - background-color: #fff; border-radius: 3px; + background-color: #fff; box-shadow: 0 5px 25px #0b1f50; font-size: 130%; } @@ -52,10 +52,10 @@ .loading-div { position: absolute; height: 8px; + border-radius: 2px; animation-duration: 4000ms; animation-iteration-count: infinite; animation-name: loadingdiv; - border-radius: 2px; } .loading-row-1 { diff --git a/src/components/app/ProfileViewer.css b/src/components/app/ProfileViewer.css index 8e650a18b5..e59a7ccdca 100644 --- a/src/components/app/ProfileViewer.css +++ b/src/components/app/ProfileViewer.css @@ -76,12 +76,12 @@ flex: none; padding: 0; border: 1px solid var(--green-60); + border-radius: 3px; margin: 3px 0 3px 3px; /* Other */ background: var(--green-50) url(../../../res/img/svg/back-arrow.svg) center center no-repeat; - border-radius: 3px; color: #000; } diff --git a/src/components/app/SymbolicationStatusOverlay.css b/src/components/app/SymbolicationStatusOverlay.css index 1dc3dc29a4..1fbc0b1adc 100644 --- a/src/components/app/SymbolicationStatusOverlay.css +++ b/src/components/app/SymbolicationStatusOverlay.css @@ -12,8 +12,8 @@ padding-top: 8px; padding-right: 10px; padding-left: 10px; - background: var(--grey-20); border-radius: 0 0 5px 5px; + background: var(--grey-20); box-shadow: 0 0 0 0.5px rgb(0 0 0 / 0.1), 0 2px 4px rgb(0 0 0 / 0.1); line-height: 20px; text-align: center; diff --git a/src/components/app/UploadedRecordingsHome.css b/src/components/app/UploadedRecordingsHome.css index a1bb9cb5d4..9d9f48f335 100644 --- a/src/components/app/UploadedRecordingsHome.css +++ b/src/components/app/UploadedRecordingsHome.css @@ -9,11 +9,11 @@ box-sizing: border-box; padding: 3em 1em; border: 1px solid #ccc; + border-radius: 3px; margin: auto; /* Other */ background: #fff; - border-radius: 3px; box-shadow: 0 5px 25px #0b1f50; font-size: 13px; line-height: 1.5; diff --git a/src/components/app/ZipFileViewer.css b/src/components/app/ZipFileViewer.css index 953f7da48c..1e4a1b0e9d 100644 --- a/src/components/app/ZipFileViewer.css +++ b/src/components/app/ZipFileViewer.css @@ -29,10 +29,10 @@ box-sizing: border-box; flex-direction: column; border: 1px solid #ccc; + border-radius: 3px; /* Other */ background-color: #fff; - border-radius: 3px; box-shadow: 0 5px 25px #0b1f50; } @@ -72,8 +72,8 @@ */ max-width: 70%; padding: 0 5px; - background-color: var(--grey-30); border-radius: 3px; + background-color: var(--grey-30); font-family: monospace; text-overflow: ellipsis; } diff --git a/src/components/network-chart/index.css b/src/components/network-chart/index.css index 5ceb016cc4..79e96c5c98 100644 --- a/src/components/network-chart/index.css +++ b/src/components/network-chart/index.css @@ -54,11 +54,11 @@ display: inline-block; overflow: hidden; /* This clips this element's children using its border-radius */ height: 14px; + border-radius: 2px; margin: 1px 0; /* Because the line's height is 16px, this margin vertically centers the bar */ /* styling properties */ background-color: var(--grey-20); - border-radius: 2px; box-shadow: 0 0 0 1px inset var(--marker-color); opacity: 0.7; } diff --git a/src/components/shared/ButtonWithPanel/ArrowPanel.css b/src/components/shared/ButtonWithPanel/ArrowPanel.css index ef5544961f..995a927ccc 100644 --- a/src/components/shared/ButtonWithPanel/ArrowPanel.css +++ b/src/components/shared/ButtonWithPanel/ArrowPanel.css @@ -19,8 +19,8 @@ top: var(--internal-offset-from-top); right: calc(var(--internal-offset-from-right) * -1); min-width: var(--internal-width); - background: hsl(0deg 0% 97% / 0.95); border-radius: 5px; + background: hsl(0deg 0% 97% / 0.95); color: black; filter: drop-shadow(0 0 0.5px rgb(0 0 0 / 0.4)) drop-shadow(0 4px 5px rgb(0 0 0 / 0.4)); diff --git a/src/components/shared/CallNodeContextMenu.css b/src/components/shared/CallNodeContextMenu.css index 94f3682b63..3698c40b3a 100644 --- a/src/components/shared/CallNodeContextMenu.css +++ b/src/components/shared/CallNodeContextMenu.css @@ -33,11 +33,11 @@ .callNodeContextMenuShortcut { padding: 0 5px; + border-radius: 3px; /* This color is based off of photon grey, but adjusted to have a nice visual look when hovering. */ background: #dedee3c9; - border-radius: 3px; box-shadow: 1px 1px #0004; /* Override the hover color. */ diff --git a/src/components/shared/ContextMenu.css b/src/components/shared/ContextMenu.css index cf56fa883f..130b8a1986 100644 --- a/src/components/shared/ContextMenu.css +++ b/src/components/shared/ContextMenu.css @@ -8,9 +8,9 @@ min-width: 160px; max-width: 600px; padding: 5px 0; + border-radius: 3px; margin: 2px 0 0; background-color: #fff; - border-radius: 3px; box-shadow: 0 0 0 0.5px rgb(0 0 0 / 0.1), 0 10px 12px rgb(0 0 0 / 0.3); color: #000; font-size: 12px; diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index 831c8c86a3..dda999b6ad 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -165,13 +165,13 @@ .treeViewHighlighting { padding: 1px 0; + border-radius: 2px; /* This negative margin enlarges the background to the top, so that it fully * covers the underlying background. There's an underlying background when the * line is selected. */ margin: -1px 0; background: #cbe8fe; - border-radius: 2px; box-shadow: 0 0 0 0.5px rgb(0 0 0 / 0.05), 0 1px 1px rgb(0 0 0 / 0.3); color: #000; } diff --git a/src/components/shared/chart/Viewport.css b/src/components/shared/chart/Viewport.css index 2ded46c804..e58853a182 100644 --- a/src/components/shared/chart/Viewport.css +++ b/src/components/shared/chart/Viewport.css @@ -40,8 +40,8 @@ left: 0; overflow: hidden; padding: 3px 10px; - background: rgb(0 0 0 / 0.07); border-radius: 0 5px 0 0; + background: rgb(0 0 0 / 0.07); box-shadow: 0 0 0 0.5px rgb(0 0 0 / 0.1), 0 2px 4px rgb(0 0 0 / 0.1); line-height: 20px; opacity: 1; @@ -63,9 +63,9 @@ display: inline-block; padding: 0 0.5em; border: 1px solid #ccc; + border-radius: 0.2em; margin: 0 0.2em; background-color: #f6f6f6; - border-radius: 0.2em; box-shadow: -0.1em 0.1em 0 #bbb; color: #000; } diff --git a/src/components/timeline/Selection.css b/src/components/timeline/Selection.css index 5601efb6a5..0be94c0c6f 100644 --- a/src/components/timeline/Selection.css +++ b/src/components/timeline/Selection.css @@ -78,9 +78,9 @@ width: 0; padding: 3px; border: 1px solid white; + border-radius: 5px; margin: 0 -4px; background: #aaa; - border-radius: 5px; cursor: ew-resize; } @@ -113,8 +113,8 @@ position: absolute; top: 20px; padding: 4px 8px; - background-color: var(--blue-50); border-radius: 0 0 4px 4px; + background-color: var(--blue-50); box-shadow: 0 2px 2px rgb(0 0 0 / 0.2); color: #fff; opacity: 1; @@ -132,10 +132,10 @@ height: 30px; box-sizing: border-box; border: 1px solid rgb(0 0 0 / 0.2); + border-radius: 100%; margin: -15px; background: url(../../../res/img/svg/zoom-icon.svg) center center no-repeat rgb(255 255 255 / 0.6); - border-radius: 100%; opacity: 0.5; pointer-events: auto; transition: opacity 200ms ease-in-out; diff --git a/src/components/timeline/Track.css b/src/components/timeline/Track.css index f9f43a4a58..d1640fff99 100644 --- a/src/components/timeline/Track.css +++ b/src/components/timeline/Track.css @@ -69,10 +69,10 @@ flex-shrink: 0; padding: 1px; border: 0; + border-radius: 2px; background: url(../../../res/img/svg/close-dark.svg) no-repeat center; background-origin: content-box; background-size: contain; - border-radius: 2px; color: transparent; margin-inline-end: 2px; -moz-user-focus: ignore; diff --git a/src/components/timeline/TrackEventDelay.css b/src/components/timeline/TrackEventDelay.css index 858ebd0fb1..498da075a8 100644 --- a/src/components/timeline/TrackEventDelay.css +++ b/src/components/timeline/TrackEventDelay.css @@ -18,10 +18,10 @@ position: absolute; width: 6px; height: 6px; + border-radius: 3px; margin-top: -3px; margin-left: -3px; background-color: var(--orange-60); - border-radius: 3px; pointer-events: none; } diff --git a/src/components/timeline/TrackMemory.css b/src/components/timeline/TrackMemory.css index 46ce68c7d4..b51b182c9d 100644 --- a/src/components/timeline/TrackMemory.css +++ b/src/components/timeline/TrackMemory.css @@ -18,10 +18,10 @@ position: absolute; width: 6px; height: 6px; + border-radius: 3px; margin-top: -3px; margin-left: -3px; background-color: var(--orange-60); - border-radius: 3px; pointer-events: none; } diff --git a/src/components/timeline/TrackPower.css b/src/components/timeline/TrackPower.css index 8f07a950df..7ecd677585 100644 --- a/src/components/timeline/TrackPower.css +++ b/src/components/timeline/TrackPower.css @@ -18,9 +18,9 @@ position: absolute; width: 6px; height: 6px; + border-radius: 3px; margin-top: -3px; margin-left: -3px; background-color: var(--grey-50); - border-radius: 3px; pointer-events: none; } diff --git a/src/components/timeline/TrackProcessCPU.css b/src/components/timeline/TrackProcessCPU.css index 233e4b19bb..f834f41728 100644 --- a/src/components/timeline/TrackProcessCPU.css +++ b/src/components/timeline/TrackProcessCPU.css @@ -18,10 +18,10 @@ position: absolute; width: 6px; height: 6px; + border-radius: 3px; margin-top: -3px; margin-left: -3px; background-color: var(--grey-50); - border-radius: 3px; pointer-events: none; } diff --git a/src/components/timeline/TrackVisualProgress.css b/src/components/timeline/TrackVisualProgress.css index 85deec266b..a666104e06 100644 --- a/src/components/timeline/TrackVisualProgress.css +++ b/src/components/timeline/TrackVisualProgress.css @@ -18,10 +18,10 @@ position: absolute; width: 6px; height: 6px; + border-radius: 3px; margin-top: -3px; margin-left: -3px; background-color: var(--dot-color); - border-radius: 3px; pointer-events: none; } diff --git a/src/components/tooltip/CallNode.css b/src/components/tooltip/CallNode.css index 2b05e780f6..5d7fde20d3 100644 --- a/src/components/tooltip/CallNode.css +++ b/src/components/tooltip/CallNode.css @@ -26,15 +26,15 @@ position: relative; width: var(--graph-width); height: var(--graph-height); + border-radius: 2px; margin-top: 2px; background-color: var(--grey-30); - border-radius: 2px; } .tooltipCallNodeImplementationGraphRunning { height: var(--graph-height); - background-color: var(--blue-40); border-radius: 2px; + background-color: var(--blue-40); } .tooltipCallNodeImplementationGraphSelf { @@ -42,8 +42,8 @@ top: 0; left: 0; height: var(--graph-height); - background-color: var(--blue-60); border-radius: 2px; + background-color: var(--blue-60); } .tooltipCallNodeImplementationTiming { From 884bd9786fae3edf780e337988b90a7332de4798 Mon Sep 17 00:00:00 2001 From: Markus Stange Date: Thu, 8 Sep 2022 15:25:23 -0400 Subject: [PATCH 130/131] Add nativeSymbols functionSize column. In order to know how much assembly code to display for a native symbol in the assembly view, we need to know how large the function is, i.e. how many bytes of machine code in contains. In the assembly view we want to display the entire function, not just the assembly code up until the highest instruction address that we've seen for that function. The symbolication API now gives us this information, as of https://github.com/mstange/profiler-get-symbols/commit/e8649bf0cf571cfc4844a9ae7f29e61f79afbe65 . So we can have this information for local builds and when using samply. The Mozilla symbolication API does not return this information yet, so we need to support "null" values with some kind of fallback. This commit gets the information from the symbolication result, if present, and forwards it into the nativeSymbols table. We also bump the processed profile version and add an upgrader. --- src/app-logic/constants.js | 2 +- src/profile-logic/data-structures.js | 2 + src/profile-logic/merge-compare.js | 2 + .../mozilla-symbolication-api.js | 25 +++ .../processed-profile-versioning.js | 8 + src/profile-logic/symbol-store.js | 9 + src/profile-logic/symbolication.js | 10 +- .../fixtures/profiles/processed-profile.js | 1 + .../__snapshots__/profile-view.test.js.snap | 12 +- .../profile-conversion.test.js.snap | 164 ++++++++++++++++-- .../profile-upgrading.test.js.snap | 60 ++++++- src/test/unit/merge-compare.test.js | 2 + src/test/unit/symbol-store.test.js | 4 + src/types/profile.js | 6 +- 14 files changed, 283 insertions(+), 24 deletions(-) diff --git a/src/app-logic/constants.js b/src/app-logic/constants.js index a792e7dbbf..924538302a 100644 --- a/src/app-logic/constants.js +++ b/src/app-logic/constants.js @@ -10,7 +10,7 @@ import type { MarkerPhase } from 'firefox-profiler/types'; export const GECKO_PROFILE_VERSION = 25; // The current version of the "processed" profile format. -export const PROCESSED_PROFILE_VERSION = 41; +export const PROCESSED_PROFILE_VERSION = 42; // The following are the margin sizes for the left and right of the timeline. Independent // components need to share these values. diff --git a/src/profile-logic/data-structures.js b/src/profile-logic/data-structures.js index 8ac0b3dfe4..4ae4914e17 100644 --- a/src/profile-logic/data-structures.js +++ b/src/profile-logic/data-structures.js @@ -172,6 +172,7 @@ export function shallowCloneNativeSymbolTable( libIndex: nativeSymbols.libIndex.slice(), address: nativeSymbols.address.slice(), name: nativeSymbols.name.slice(), + functionSize: nativeSymbols.functionSize.slice(), length: nativeSymbols.length, }; } @@ -199,6 +200,7 @@ export function getEmptyNativeSymbolTable(): NativeSymbolTable { libIndex: [], address: [], name: [], + functionSize: [], length: 0, }; } diff --git a/src/profile-logic/merge-compare.js b/src/profile-logic/merge-compare.js index eeb0d0c720..b27f173638 100644 --- a/src/profile-logic/merge-compare.js +++ b/src/profile-logic/merge-compare.js @@ -561,6 +561,7 @@ function combineNativeSymbolTables( const nameIndex = nativeSymbols.name[i]; const newName = stringTable.getString(nameIndex); const address = nativeSymbols.address[i]; + const functionSize = nativeSymbols.functionSize[i]; // Duplicate search. const nativeSymbolKey = [newName, address].join('#'); @@ -577,6 +578,7 @@ function combineNativeSymbolTables( newNativeSymbols.libIndex.push(libIndex); newNativeSymbols.name.push(newStringTable.indexForString(newName)); newNativeSymbols.address.push(address); + newNativeSymbols.functionSize.push(functionSize); newNativeSymbols.length++; } diff --git a/src/profile-logic/mozilla-symbolication-api.js b/src/profile-logic/mozilla-symbolication-api.js index b9f64829b8..8ae096bfc1 100644 --- a/src/profile-logic/mozilla-symbolication-api.js +++ b/src/profile-logic/mozilla-symbolication-api.js @@ -61,6 +61,9 @@ type APIFrameInfoV5 = { // The hex offset between the requested address and the start of the function, // e.g. "0x3c". function_offset?: string, + // An optional size, in bytes, of the machine code of the outer function that + // this address belongs to, as a hex string, e.g. "0x270". + function_size?: string, // The path of the file that contains the function this frame was in, optional. // As of June 2021, this is only supported on the staging symbolication server // ("Eliot") but not on the implementation that's currently in production ("Tecken"). @@ -140,6 +143,22 @@ function _ensureIsAPIResultV5(result: MixedObject): APIResultV5 { if ('line' in frameInfo && typeof frameInfo.line !== 'number') { throw new Error('Expected frameInfo.line to be a number, if present'); } + if ( + 'function_offset' in frameInfo && + typeof frameInfo.function_offset !== 'string' + ) { + throw new Error( + 'Expected frameInfo.function_offset to be a string, if present' + ); + } + if ( + 'function_size' in frameInfo && + typeof frameInfo.function_size !== 'string' + ) { + throw new Error( + 'Expected frameInfo.function_size to be a string, if present' + ); + } if ('inlines' in frameInfo) { const inlines = frameInfo.inlines; if (!Array.isArray(inlines)) { @@ -206,12 +225,18 @@ function getV5ResultForLibRequest( }); } + let functionSize; + if (info.function_size !== undefined) { + functionSize = parseInt(info.function_size.substr(2), 16); + } + addressResult = { name, symbolAddress: address - functionOffset, file: info.file, line: info.line, inlines, + functionSize, }; } else { // This can happen if the address is between functions, or before the first diff --git a/src/profile-logic/processed-profile-versioning.js b/src/profile-logic/processed-profile-versioning.js index 594785604f..3e115d7491 100644 --- a/src/profile-logic/processed-profile-versioning.js +++ b/src/profile-logic/processed-profile-versioning.js @@ -2130,5 +2130,13 @@ const _upgraders = { } profile.libs = libs; }, + [42]: (profile) => { + // The nativeSymbols table now has a new column: functionSize. + // Its values can be null. + for (const thread of profile.threads) { + const { nativeSymbols } = thread; + nativeSymbols.functionSize = Array(nativeSymbols.length).fill(null); + } + }, }; /* eslint-enable no-useless-computed-key */ diff --git a/src/profile-logic/symbol-store.js b/src/profile-logic/symbol-store.js index 3607baeb1c..f7320fb29a 100644 --- a/src/profile-logic/symbol-store.js +++ b/src/profile-logic/symbol-store.js @@ -49,6 +49,9 @@ export type AddressResult = {| // addressResult.name calls addressResult.inlines[inlines.length - 1].function, which // calls addressResult.inlines[inlines.length - 2].function etc. inlines?: Array, + // An optional size, in bytes, of the machine code of the outer function that + // this address belongs to. + functionSize?: number, |}; export type AddressInlineFrame = {| @@ -106,6 +109,7 @@ export function readSymbolsFromSymbolTable( const results = new Map(); let currentSymbolIndex = undefined; let currentSymbol = ''; + let currentSymbolFunctionSize = undefined; for (let i = 0; i < addressArray.length; i++) { const address = addressArray[i]; @@ -131,11 +135,16 @@ export function readSymbolsFromSymbolTable( // C++ or rust symbols in the symbol table may have mangled names. // Demangle them here. currentSymbol = demangleCallback(decoder.decode(subarray)); + currentSymbolFunctionSize = + symbolIndex < symbolTableAddrs.length - 1 + ? symbolTableAddrs[symbolIndex + 1] - symbolTableAddrs[symbolIndex] + : undefined; currentSymbolIndex = symbolIndex; } results.set(address, { symbolAddress: symbolTableAddrs[symbolIndex], name: currentSymbol, + functionSize: currentSymbolFunctionSize, }); } else { results.set(address, { diff --git a/src/profile-logic/symbolication.js b/src/profile-logic/symbolication.js index ede47499f6..49583bd44a 100644 --- a/src/profile-logic/symbolication.js +++ b/src/profile-logic/symbolication.js @@ -546,7 +546,7 @@ export function applySymbolicationStep( allNativeSymbolsForThisLib ); const frameToSymbolAddressMap: Map = new Map(); - const symbolAddressToNameMap: Map = new Map(); + const symbolAddressToInfoMap: Map = new Map(); const symbolAddressToCanonicalSymbolIndexMap: Map< Address, IndexIntoNativeSymbolTable @@ -607,7 +607,7 @@ export function applySymbolicationStep( // offset. const symbolAddress = addressResult.symbolAddress; frameToSymbolAddressMap.set(frameIndex, symbolAddress); - symbolAddressToNameMap.set(symbolAddress, addressResult.name); + symbolAddressToInfoMap.set(symbolAddress, addressResult); if (oldFrameSymbol !== null) { // Opportunistically match up symbolAddress with oldFrameSymbol. @@ -653,8 +653,8 @@ export function applySymbolicationStep( // and give the canonical symbol the right address and symbol. const availableNativeSymbolIterator = availableNativeSymbols.values(); const nativeSymbols = shallowCloneNativeSymbolTable(oldNativeSymbols); - for (const [symbolAddress, symbolName] of symbolAddressToNameMap) { - const symbolStringIndex = stringTable.indexForString(symbolName); + for (const [symbolAddress, addressResult] of symbolAddressToInfoMap) { + const symbolStringIndex = stringTable.indexForString(addressResult.name); let symbolIndex = symbolAddressToCanonicalSymbolIndexMap.get(symbolAddress); if (symbolIndex === undefined) { // Repurpose a symbol from availableNativeSymbols as the canonical symbol for this @@ -672,6 +672,8 @@ export function applySymbolicationStep( // Update the symbol properties. nativeSymbols.address[symbolIndex] = symbolAddress; nativeSymbols.name[symbolIndex] = symbolStringIndex; + nativeSymbols.functionSize[symbolIndex] = + addressResult.functionSize ?? null; } // Now we have a canonical symbol for every symbolAddress. diff --git a/src/test/fixtures/profiles/processed-profile.js b/src/test/fixtures/profiles/processed-profile.js index 8fce5b9048..1e23911375 100644 --- a/src/test/fixtures/profiles/processed-profile.js +++ b/src/test/fixtures/profiles/processed-profile.js @@ -946,6 +946,7 @@ function _buildThreadFromTextOnlyStacks( nativeSymbols.libIndex.push(libIndex); nativeSymbols.address.push(0); // todo nativeSymbols.name.push(nativeSymbolNameStringIndex); + nativeSymbols.functionSize.push(null); } else { throw new Error( `[sym:] has to be used together with [lib:] - missing lib in "${funcNameWithModifier}"` diff --git a/src/test/store/__snapshots__/profile-view.test.js.snap b/src/test/store/__snapshots__/profile-view.test.js.snap index 3d7c2f40f2..827a5cee43 100644 --- a/src/test/store/__snapshots__/profile-view.test.js.snap +++ b/src/test/store/__snapshots__/profile-view.test.js.snap @@ -402,7 +402,7 @@ Object { "oscpu": "", "physicalCPUs": 0, "platform": "", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "sourceURL": "", @@ -638,6 +638,7 @@ Object { "name": "Thread with samples", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -1048,6 +1049,7 @@ Object { "name": "Thread with markers", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -1328,6 +1330,7 @@ Array [ "name": "Thread with samples", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -1738,6 +1741,7 @@ Array [ "name": "Thread with markers", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -2579,6 +2583,7 @@ CallTree { "_jsOnly": false, "_nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -2838,6 +2843,7 @@ Object { "name": "Thread with samples", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -3248,6 +3254,7 @@ Object { "name": "Thread with samples", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -3572,6 +3579,7 @@ Object { "name": "Thread with samples", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -3902,6 +3910,7 @@ Object { "name": "Thread with samples", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -4236,6 +4245,7 @@ Object { "name": "Thread with samples", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], diff --git a/src/test/unit/__snapshots__/profile-conversion.test.js.snap b/src/test/unit/__snapshots__/profile-conversion.test.js.snap index 0eb40cf93d..434f4f2503 100644 --- a/src/test/unit/__snapshots__/profile-conversion.test.js.snap +++ b/src/test/unit/__snapshots__/profile-conversion.test.js.snap @@ -449,7 +449,7 @@ Object { "oscpu": undefined, "physicalCPUs": undefined, "platform": undefined, - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "ART Trace (Android)", "sampleUnits": undefined, @@ -25780,6 +25780,7 @@ Object { "name": "main", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -42806,6 +42807,7 @@ Object { "name": "ReferenceQueueDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -43695,6 +43697,7 @@ Object { "name": "FinalizerDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -44531,6 +44534,7 @@ Object { "name": "FinalizerWatchdogDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -44757,6 +44761,7 @@ Object { "name": "HeapTaskDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -45069,6 +45074,7 @@ Object { "name": "pool-2-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -45417,6 +45423,7 @@ Object { "name": "pool-2-thread-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -46547,6 +46554,7 @@ Object { "name": "GleanAPIPool", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -51600,6 +51608,7 @@ Object { "name": "DefaultDispatcher-worker-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -55081,6 +55090,7 @@ Object { "name": "DefaultDispatcher-worker-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -57663,6 +57673,7 @@ Object { "name": "DefaultDispatcher-worker-3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -59862,6 +59873,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -62639,6 +62651,7 @@ Object { "name": "GeckoBackgroundThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -62836,6 +62849,7 @@ Object { "name": "glean.MetricsPingScheduler", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -63936,6 +63950,7 @@ Object { "name": "DefaultDispatcher-worker-4", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -67649,6 +67664,7 @@ Object { "name": "DefaultDispatcher-worker-5", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -72125,6 +72141,7 @@ Object { "name": "DefaultDispatcher-worker-6", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -77717,6 +77734,7 @@ Object { "name": "pool-3-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -81084,6 +81102,7 @@ Object { "name": "kotlinx.coroutines.DefaultExecutor", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -83721,6 +83740,7 @@ Object { "name": "ConnectivityThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -84044,6 +84064,7 @@ Object { "name": "pool-8-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -84289,6 +84310,7 @@ Object { "name": "queued-work-looper", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -84619,6 +84641,7 @@ Object { "name": "launcher", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -85413,6 +85436,7 @@ Object { "name": "pool-2-thread-3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -86812,6 +86836,7 @@ Object { "name": "pool-11-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -87461,6 +87486,7 @@ Object { "name": "SharedPreferencesImpl-load", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -87785,6 +87811,7 @@ Object { "name": "pool-2-thread-4", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -89599,6 +89626,7 @@ Object { "name": "pool-12-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -92244,6 +92272,7 @@ Object { "name": "DefaultDispatcher-worker-7", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -94168,6 +94197,7 @@ Object { "name": "DefaultDispatcher-worker-8", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -95699,6 +95729,7 @@ Object { "name": "DefaultDispatcher-worker-9", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -97346,6 +97377,7 @@ Object { "name": "DefaultDispatcher-worker-10", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -99406,6 +99438,7 @@ Object { "name": "DefaultDispatcher-worker-11", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -99777,6 +99810,7 @@ Object { "name": "DefaultDispatcher-worker-12", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -100032,6 +100066,7 @@ Object { "name": "DefaultDispatcher-worker-13", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -100260,6 +100295,7 @@ Object { "name": "DefaultDispatcher-worker-14", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -100488,6 +100524,7 @@ Object { "name": "DefaultDispatcher-worker-15", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -100680,6 +100717,7 @@ Object { "name": "Binder:21491_3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -101612,6 +101650,7 @@ Object { "name": "pool-4-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -102283,6 +102322,7 @@ Object { "name": "SharedPreferencesImpl-load", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -102866,7 +102906,7 @@ Object { "oscpu": undefined, "physicalCPUs": undefined, "platform": undefined, - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "ART Trace (Android)", "sampleUnits": undefined, @@ -156568,6 +156608,7 @@ Object { "name": "main", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -201173,6 +201214,7 @@ Object { "name": "ReferenceQueueDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -201395,6 +201437,7 @@ Object { "name": "FinalizerWatchdogDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -201605,6 +201648,7 @@ Object { "name": "HeapTaskDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -201849,6 +201893,7 @@ Object { "name": "FinalizerDaemon", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -202177,6 +202222,7 @@ Object { "name": "pool-2-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -202417,6 +202463,7 @@ Object { "name": "LeakCanary-Heap-Dump", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -202729,6 +202776,7 @@ Object { "name": "pool-2-thread-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -203459,6 +203507,7 @@ Object { "name": "GleanAPIPool", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -218353,6 +218402,7 @@ Object { "name": "DefaultDispatcher-worker-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -231863,6 +231913,7 @@ Object { "name": "DefaultDispatcher-worker-3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -242143,6 +242194,7 @@ Object { "name": "glean.MetricsPingScheduler", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -242310,6 +242362,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -242502,6 +242555,7 @@ Object { "name": "GeckoBackgroundThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -242814,6 +242868,7 @@ Object { "name": "pool-2-thread-3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -243162,6 +243217,7 @@ Object { "name": "pool-2-thread-4", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -243568,6 +243624,7 @@ Object { "name": "Java Sampler", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -260699,6 +260756,7 @@ Object { "name": "queued-work-looper", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -261011,6 +261069,7 @@ Object { "name": "pool-5-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -261323,6 +261382,7 @@ Object { "name": "DefaultDispatcher-worker-4", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -263655,6 +263715,7 @@ Object { "name": "DefaultDispatcher-worker-6", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -274105,6 +274166,7 @@ Object { "name": "DefaultDispatcher-worker-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -274405,6 +274467,7 @@ Object { "name": "DefaultDispatcher-worker-7", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -274705,6 +274768,7 @@ Object { "name": "DefaultDispatcher-worker-5", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -275005,6 +275069,7 @@ Object { "name": "DefaultDispatcher-worker-8", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -275233,6 +275298,7 @@ Object { "name": "ConnectivityThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -275473,6 +275539,7 @@ Object { "name": "kotlinx.coroutines.DefaultExecutor", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -275797,6 +275864,7 @@ Object { "name": "pool-3-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -276581,6 +276649,7 @@ Object { "name": "pool-8-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -283710,6 +283779,7 @@ Object { "name": "pool-6-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -284058,6 +284128,7 @@ Object { "name": "arch_disk_io_0", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -284406,6 +284477,7 @@ Object { "name": "arch_disk_io_1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -284754,6 +284826,7 @@ Object { "name": "pool-7-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -285102,6 +285175,7 @@ Object { "name": "arch_disk_io_2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -285450,6 +285524,7 @@ Object { "name": "arch_disk_io_3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -289584,6 +289659,7 @@ Object { "name": "pool-4-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -302139,6 +302215,7 @@ Object { "name": "pool-4-thread-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -314319,6 +314396,7 @@ Object { "name": "pool-4-thread-3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -323286,6 +323364,7 @@ Object { "name": "pool-7-thread-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -323670,6 +323749,7 @@ Object { "name": "pool-13-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -333330,6 +333410,7 @@ Object { "name": "pool-15-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -333678,6 +333759,7 @@ Object { "name": "pool-17-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -335110,6 +335192,7 @@ Object { "name": "pool-19-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -339978,6 +340061,7 @@ Object { "name": "pool-21-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -346719,6 +346803,7 @@ Object { "name": "pool-20-thread-1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -356171,6 +356256,7 @@ Object { "name": "Binder:15983_4", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -372450,6 +372536,7 @@ Object { "name": "pool-21-thread-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -374489,6 +374576,7 @@ Object { "name": "pool-21-thread-3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -378113,6 +378201,7 @@ Object { "name": "pool-20-thread-2", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -385284,6 +385373,7 @@ Object { "name": "pool-20-thread-3", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -389750,6 +389840,7 @@ Object { "name": "Binder:15983_5", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -389957,6 +390048,7 @@ Object { "name": "hwuiTask1", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -390107,7 +390199,7 @@ Object { "oscpu": "", "physicalCPUs": 0, "platform": "", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Chrome Trace", "sourceURL": "", @@ -395063,6 +395155,7 @@ Object { "name": "GeckoMain", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -402108,6 +402201,7 @@ Object { "name": "Chrome_IOThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -402299,6 +402393,7 @@ Object { "name": "Chrome_DevToolsADBThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -402398,6 +402493,7 @@ Object { "name": "TaskSchedulerForegroundBlockingWorker", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -402535,6 +402631,7 @@ Object { "name": "TaskSchedulerBackgroundBlockingWorker", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -411784,6 +411881,7 @@ Object { "name": "GeckoMain", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -416781,6 +416879,7 @@ Object { "name": "Chrome_ChildIOThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -423002,6 +423101,7 @@ Object { "name": "Compositor", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -423109,6 +423209,7 @@ Object { "name": "TaskSchedulerForegroundWorker", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -423436,6 +423537,7 @@ Object { "name": "CompositorTileWorker4/24835", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -423763,6 +423865,7 @@ Object { "name": "CompositorTileWorker1/23299", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -424090,6 +424193,7 @@ Object { "name": "CompositorTileWorker2/23811", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -424387,6 +424491,7 @@ Object { "name": "CompositorTileWorker3/24579", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -436000,6 +436105,7 @@ Object { "name": "GeckoMain", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -443889,6 +443995,7 @@ Object { "name": "Chrome_ChildIOThread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -444005,7 +444112,7 @@ Object { "oscpu": "", "physicalCPUs": 0, "platform": "", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Chrome Trace", "sourceURL": "", @@ -446105,6 +446212,7 @@ Object { "name": "GeckoMain", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -446913,6 +447021,7 @@ Object { "name": "GeckoMain", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -447035,7 +447144,7 @@ Object { "oscpu": "", "physicalCPUs": 0, "platform": "", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Chrome Trace", "sourceURL": "", @@ -447858,6 +447967,7 @@ Object { "name": "Chrome Thread", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -448279,7 +448389,7 @@ Object { "oscpu": undefined, "physicalCPUs": undefined, "platform": undefined, - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "sampleUnits": undefined, @@ -448497,6 +448607,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -448786,6 +448897,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -449003,6 +449115,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -449418,6 +449531,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -449766,6 +449880,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -450071,6 +450186,7 @@ Object { "name": "gdbus", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -450333,6 +450449,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -450536,6 +450653,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -450751,6 +450869,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -450970,6 +451089,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -451203,6 +451323,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -451982,6 +452103,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -452971,6 +453093,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -453960,6 +454083,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -454953,6 +455077,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -455730,6 +455855,7 @@ Object { "name": "FS Broker 5906", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -456005,7 +456131,7 @@ Object { "oscpu": undefined, "physicalCPUs": undefined, "platform": undefined, - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "sampleUnits": undefined, @@ -467059,6 +467185,7 @@ Object { "name": "dot", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -476027,7 +476154,7 @@ Object { "oscpu": undefined, "physicalCPUs": undefined, "platform": undefined, - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "sampleUnits": undefined, @@ -480223,6 +480350,7 @@ Object { "name": "gzip", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -483773,7 +483901,7 @@ Object { "oscpu": undefined, "physicalCPUs": undefined, "platform": undefined, - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "sampleUnits": undefined, @@ -487807,6 +487935,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -491381,6 +491510,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -493636,6 +493766,7 @@ Object { "name": "roidJUnitRunner", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -497397,6 +497528,7 @@ Object { "name": "org.mozilla.geckoview_example", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -500723,6 +500855,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -502670,6 +502803,7 @@ Object { "name": "Web Content", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -503977,6 +504111,7 @@ Object { "name": "Espresso Remote", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -505088,6 +505223,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -505751,6 +505887,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -506293,6 +506430,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -506793,6 +506931,7 @@ Object { "name": "Gecko", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -507662,6 +507801,7 @@ Object { "name": "Jit thread pool", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -508174,7 +508314,7 @@ Object { "oscpu": "", "physicalCPUs": 0, "platform": "", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "target/debug/examples/work_log (dhat)", "sourceURL": "", @@ -513318,6 +513458,7 @@ Object { }, "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -521054,6 +521195,7 @@ Object { }, "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -528790,6 +528932,7 @@ Object { }, "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -536526,6 +536669,7 @@ Object { }, "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], diff --git a/src/test/unit/__snapshots__/profile-upgrading.test.js.snap b/src/test/unit/__snapshots__/profile-upgrading.test.js.snap index a5d5ff20fd..31c06a922c 100644 --- a/src/test/unit/__snapshots__/profile-upgrading.test.js.snap +++ b/src/test/unit/__snapshots__/profile-upgrading.test.js.snap @@ -39,7 +39,7 @@ Object { "oscpu": undefined, "physicalCPUs": undefined, "platform": undefined, - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "sampleUnits": undefined, @@ -257,6 +257,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -546,6 +547,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -763,6 +765,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -1178,6 +1181,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -1526,6 +1530,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -1831,6 +1836,7 @@ Object { "name": "gdbus", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -2093,6 +2099,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -2296,6 +2303,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -2511,6 +2519,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -2730,6 +2739,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -2963,6 +2973,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -3742,6 +3753,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -4731,6 +4743,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -5720,6 +5733,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -6713,6 +6727,7 @@ Object { "name": "firefox", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -7490,6 +7505,7 @@ Object { "name": "FS Broker 5906", "nativeSymbols": Object { "address": Array [], + "functionSize": Array [], "length": 0, "libIndex": Array [], "name": Array [], @@ -11126,7 +11142,7 @@ Object { "misc": "rv:48.0", "oscpu": "Intel Mac OS X 10.11", "platform": "Macintosh", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "stackwalk": 1, @@ -11394,6 +11410,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 0, @@ -11801,6 +11821,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 0, @@ -12208,6 +12232,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 1, @@ -12773,7 +12801,7 @@ Object { "misc": "rv:48.0", "oscpu": "Intel Mac OS X 10.11", "platform": "Macintosh", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "stackwalk": 1, @@ -13065,6 +13093,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 0, @@ -13475,6 +13507,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 0, @@ -13943,6 +13979,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 1, @@ -14570,7 +14610,7 @@ Object { "misc": "rv:48.0", "oscpu": "Intel Mac OS X 10.11", "platform": "Macintosh", - "preprocessedProfileVersion": 41, + "preprocessedProfileVersion": 42, "processType": 0, "product": "Firefox", "stackwalk": 1, @@ -14900,6 +14940,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 0, @@ -15313,6 +15357,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 0, @@ -15783,6 +15831,10 @@ Object { 3972, 6725, ], + "functionSize": Array [ + null, + null, + ], "length": 2, "libIndex": Array [ 1, diff --git a/src/test/unit/merge-compare.test.js b/src/test/unit/merge-compare.test.js index 9df3612bba..57fd303484 100644 --- a/src/test/unit/merge-compare.test.js +++ b/src/test/unit/merge-compare.test.js @@ -190,6 +190,7 @@ describe('mergeProfilesForDiffing function', function () { ], address: [0x20, 0x50], libIndex: [0, 0], + functionSize: [null, null], }; threadB.nativeSymbols = { @@ -200,6 +201,7 @@ describe('mergeProfilesForDiffing function', function () { ], address: [0x25, 0x45], libIndex: [0, 0], + functionSize: [null, null], }; const profileState = stateFromLocation({ diff --git a/src/test/unit/symbol-store.test.js b/src/test/unit/symbol-store.test.js index a3de690430..ec8e3786e6 100644 --- a/src/test/unit/symbol-store.test.js +++ b/src/test/unit/symbol-store.test.js @@ -90,10 +90,12 @@ describe('SymbolStore', function () { expect(secondAndThirdSymbol.get(0xf01)).toEqual({ name: 'second symbol', symbolAddress: 0xf00, + functionSize: 0xb00, }); expect(secondAndThirdSymbol.get(0x1a50)).toEqual({ name: 'third symbol', symbolAddress: 0x1a00, + functionSize: 0x600, }); const lib2 = { debugName: 'firefox2', breakpadId: 'dont-care2' }; @@ -113,6 +115,7 @@ describe('SymbolStore', function () { expect(firstAndLastSymbol.get(0x33)).toEqual({ name: 'first symbol', symbolAddress: 0, + functionSize: 0xf00, }); expect(firstAndLastSymbol.get(0x2000)).toEqual({ name: 'last symbol', @@ -289,6 +292,7 @@ describe('SymbolStore', function () { expect(lib2Symbols.get(0x33)).toEqual({ name: 'first symbol', symbolAddress: 0, + functionSize: 0xf00, }); expect(lib2Symbols.get(0x2000)).toEqual({ name: 'last symbol', diff --git a/src/types/profile.js b/src/types/profile.js index 44ad29cbbd..16ab7cfe79 100644 --- a/src/types/profile.js +++ b/src/types/profile.js @@ -399,10 +399,8 @@ export type NativeSymbolTable = {| address: Array
      , // The symbol name, demangled. name: Array, - - // This would be a good spot for a "size" field. But the symbolication API does - // not give us information about the size of a function. - // https://github.com/mstange/profiler-get-symbols/issues/17 + // The size of the function's machine code (if known), in bytes. + functionSize: Array, length: number, |}; From 7f0f3a7199f4602f072334e39626cbfc2316d02b Mon Sep 17 00:00:00 2001 From: Johannes Bechberger Date: Wed, 5 Oct 2022 16:59:54 +0200 Subject: [PATCH 131/131] Incorporate the suggested changes --- src/components/calltree/CallTree.js | 11 +- src/components/marker-table/index.js | 21 +- src/components/shared/TreeView.css | 9 +- src/components/shared/TreeView.js | 108 ++--- .../__snapshots__/MarkerTable.test.js.snap | 42 +- .../ProfileCallTreeView.test.js.snap | 368 +++++++++--------- 6 files changed, 288 insertions(+), 271 deletions(-) diff --git a/src/components/calltree/CallTree.js b/src/components/calltree/CallTree.js index 84c24d229d..c787e8612a 100644 --- a/src/components/calltree/CallTree.js +++ b/src/components/calltree/CallTree.js @@ -90,20 +90,21 @@ class CallTreeImpl extends PureComponent { }; _treeView: TreeView | null = null; _takeTreeViewRef = (treeView) => (this._treeView = treeView); + _sortableColumns = new Set(['self', 'total']); _sortedColumns = new ColumnSortState([]); _compareColumn = ( first: CallNodeDisplayData, second: CallNodeDisplayData, - column: number + column: string ) => { switch (column) { - case 2: + case 'total': return second.rawTotal - first.rawTotal; - case 3: + case 'self': return second.rawSelf - first.rawSelf; default: - throw new Error('Invalid column'); + throw new Error('Invalid column ' + column); } }; @@ -322,7 +323,7 @@ class CallTreeImpl extends PureComponent { initialSortedColumns={this._sortedColumns} onSort={this._onSort} compareColumn={this._compareColumn} - sortableColumns={new Set([2, 3])} + sortableColumns={this._sortableColumns} /> ); } diff --git a/src/components/marker-table/index.js b/src/components/marker-table/index.js index 0345255113..895f7f3ad4 100644 --- a/src/components/marker-table/index.js +++ b/src/components/marker-table/index.js @@ -116,12 +116,12 @@ class MarkerTree { let duration = null; let rawDuration: number | null = null; + const markerEnd = marker.end; if (marker.incomplete) { duration = 'unknown'; - } else if (marker.end !== null) { - duration = formatTimestamp(marker.end - marker.start); - // $FlowFixMe - rawDuration = marker.end - marker.start; + } else if (markerEnd !== null) { + duration = formatTimestamp(markerEnd - marker.start); + rawDuration = markerEnd - marker.start; } displayData = { @@ -167,6 +167,7 @@ class MarkerTableImpl extends PureComponent { { propName: 'duration', titleL10nId: 'MarkerTable--duration' }, { propName: 'type', titleL10nId: 'MarkerTable--type' }, ]; + _sortableColumns = new Set(['start', 'duration', 'type', 'name']); _mainColumn = { propName: 'name', titleL10nId: 'MarkerTable--description' }; _expandedNodeIds: Array = []; _onExpandedNodeIdsChange = () => {}; @@ -211,12 +212,12 @@ class MarkerTableImpl extends PureComponent { _compareColumn = ( first: MarkerDisplayData, second: MarkerDisplayData, - column: number + column: string ) => { switch (column) { - case 1: + case 'start': return second.rawStart - first.rawStart; - case 2: + case 'duration': if (first.rawDuration === null) { return -1; } @@ -224,10 +225,10 @@ class MarkerTableImpl extends PureComponent { return 1; } return second.rawDuration - first.rawDuration; - case 3: + case 'type': return first.type.localeCompare(second.type); default: - throw new Error('Invalid column'); + throw new Error('Invalid column ' + column); } }; @@ -281,7 +282,7 @@ class MarkerTableImpl extends PureComponent { initialSortedColumns={this._sortedColumns} onSort={this._onSort} compareColumn={this._compareColumn} - sortableColumns={new Set([1, 2, 3])} + sortableColumns={this._sortableColumns} /> )} diff --git a/src/components/shared/TreeView.css b/src/components/shared/TreeView.css index 9f4dcd51cd..373ef83b1d 100644 --- a/src/components/shared/TreeView.css +++ b/src/components/shared/TreeView.css @@ -102,12 +102,17 @@ border-right: 1px solid var(--grey-30); } +.treeViewHeaderColumn.sortInactive::after { + content: " ▲"; + opacity: 0; +} + .treeViewHeaderColumn.sortAscending::after { - content: '▲ '; + content: ' ▲'; } .treeViewHeaderColumn.sortDescending::after { - content: '▼ '; + content: ' ▼ '; } .treeBadge { diff --git a/src/components/shared/TreeView.js b/src/components/shared/TreeView.js index 9e906e89b0..114df69ebd 100644 --- a/src/components/shared/TreeView.js +++ b/src/components/shared/TreeView.js @@ -53,46 +53,57 @@ export type Column = {| |}>, |}; +type SingleColumnSortState = {| + column: string, + ascending: boolean, +|}; + type TreeViewHeaderProps = {| +fixedColumns: Column[], +mainColumn: Column, - +onSort: (number) => void, - +columnSortDirections?: Array, + +onSort: (string) => void, + +currentSortedColumn: SingleColumnSortState | null, |}; -// columns start at 1 export class ColumnSortState { - sortedColumns: number[]; + sortedColumns: SingleColumnSortState[]; - // -column: sort descending, +column: sort ascending, start by sorting last column - constructor(sortedColumns: number[]) { + // start by sorting last column + constructor(sortedColumns: SingleColumnSortState[]) { this.sortedColumns = sortedColumns; } - _sortColumn(column: number) { - const sortedColumns = this.sortedColumns.filter( - (c) => c !== column && c !== -column - ); - sortedColumns.push(column); + sortColumn(column: string, ascending: boolean | null = null) { + const current = this.getStateForColumn(column); + const sortedColumns = this.sortedColumns.filter((c) => c.column !== column); + if (ascending === true || current === null) { + sortedColumns.push({ column, ascending: true }); + } else { + sortedColumns.push(this._invertSortState(current)); + } return new ColumnSortState(sortedColumns); } - push(column: number) { - return this._sortColumn(-this._sortState(column)); + _invertSortState(state: SingleColumnSortState): SingleColumnSortState { + return { column: state.column, ascending: !state.ascending }; } - _sortState(column: number) { + getStateForColumn(column: string): SingleColumnSortState | null { return this.sortedColumns - .filter((c) => c === column || c === -column) - .concat(-column)[0]; + .filter((c) => c.column === column) + .concat(null)[0]; } - getSortStateArr(sortableColumns: Set): Array { - const arr = new Array(Math.max(...sortableColumns) + 1).fill(null); - for (const column of sortableColumns) { - arr[column] = this._sortState(column) < 0; - } - return arr; + getStateForColumnOrDefault(column: string): SingleColumnSortState { + return this.sortedColumns + .filter((c) => c.column === column) + .concat({ column: column, ascending: true })[0]; + } + + current(): SingleColumnSortState | null { + return this.sortedColumns.length > 0 + ? this.sortedColumns[this.sortedColumns.length - 1] + : null; } } @@ -103,26 +114,31 @@ class TreeViewHeader extends React.PureComponent< const { onSort } = this.props; const target = e.target; if (target instanceof HTMLElement) { - onSort(Number(target.getAttribute('data-column'))); + onSort(String(target.getAttribute('data-column'))); } }; render() { - const { fixedColumns, mainColumn, columnSortDirections } = this.props; + const { fixedColumns, mainColumn, currentSortedColumn } = this.props; if (fixedColumns.length === 0 && !mainColumn.titleL10nId) { // If there is nothing to display in the header, do not render it. return null; } return (
      - {fixedColumns.map((col, i) => { + {fixedColumns.map((col) => { let sortClass = ''; - if (columnSortDirections) { - if (columnSortDirections[i + 1] === true) { - sortClass = 'sortAscending'; - } else if (columnSortDirections[i + 1] === false) { + if ( + currentSortedColumn && + currentSortedColumn.column === col.propName + ) { + if (currentSortedColumn.ascending) { sortClass = 'sortDescending'; + } else { + sortClass = 'sortAscending'; } + } else { + sortClass = 'sortInactive'; } return ( extends React.PureComponent< > @@ -457,10 +473,10 @@ type TreeViewProps = {| +indentWidth: CssPixels, +onKeyDown?: (SyntheticKeyboardEvent<>) => void, // number: column number, -1: first larger, 0: same, 1: first smaller - +compareColumn?: (DisplayData, DisplayData, number) => number, + +compareColumn?: (DisplayData, DisplayData, string) => number, +initialSortedColumns?: ColumnSortState, +onSort?: (ColumnSortState) => void, - +sortableColumns?: Set, + +sortableColumns?: Set, |}; type TreeViewState = {| @@ -507,28 +523,26 @@ export class TreeView extends React.PureComponent< tree: Tree, expandedNodes: Set, sortedColumns: ColumnSortState, - compareColumn: ?(DisplayData, DisplayData, number) => number + compareColumn: ?(DisplayData, DisplayData, string) => number ) => { function sortNodes(nodeIds: Array): Array { if (!compareColumn) { return nodeIds; } let sortedNodeIds = nodeIds; - for (let i = 0; i < sortedColumns.sortedColumns.length; i++) { - const column = sortedColumns.sortedColumns[i]; - const absColumn = Math.abs(column); - const sign = column < 0 ? -1 : 1; + for (const { column, ascending } of sortedColumns.sortedColumns) { + const sign = ascending ? 1 : -1; sortedNodeIds = sortedNodeIds.sort((a, b) => { return ( sign * ((compareColumn: any): ( DisplayData, DisplayData, - number + string ) => number)( tree.getDisplayData(a), tree.getDisplayData(b), - absColumn + column ) ); }); @@ -541,12 +555,12 @@ export class TreeView extends React.PureComponent< if (!expandedNodes.has(nodeId)) { return; } - const children = sortNodes(tree.getChildren(nodeId)); + const children = tree.getChildren(nodeId); for (let i = 0; i < children.length; i++) { _addVisibleRowsFromNode(tree, expandedNodes, arr, children[i]); } } - + // we only sort the root nodes for now const roots = sortNodes(tree.getRoots()); const allRows = []; for (let i = 0; i < roots.length; i++) { @@ -851,7 +865,7 @@ export class TreeView extends React.PureComponent< } } - _onSort = (column: number) => { + _onSort = (column: string) => { if ( !this.props.sortableColumns || !this.props.sortableColumns.has(column) @@ -860,7 +874,7 @@ export class TreeView extends React.PureComponent< } this.setState((x) => { - const newSortedColumns = x.sortedColumns.push(column); + const newSortedColumns = x.sortedColumns.sortColumn(column); if (this.props.onSort) { this.props.onSort(newSortedColumns); } @@ -880,20 +894,16 @@ export class TreeView extends React.PureComponent< maxNodeDepth, rowHeight, selectedNodeId, - sortableColumns, } = this.props; const { sortedColumns } = this.state; - const columnSortDirections = - sortableColumns && sortedColumns - ? sortedColumns.getSortStateArr(sortableColumns) - : undefined; + const currentSortedColumn = sortedColumns.current(); return (
      Start Duration Type @@ -515,19 +515,19 @@ exports[`MarkerTable sorts when the start header and duration header is clicked > Start Duration Type @@ -943,19 +943,19 @@ exports[`MarkerTable sorts when the start header and duration header is clicked > Start Duration Type @@ -1370,20 +1370,20 @@ exports[`MarkerTable sorts when the start header and duration header is clicked class="treeViewHeader" > Start Duration Type diff --git a/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap b/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap index 8bc7a49204..1c6bf14958 100644 --- a/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap +++ b/src/test/components/__snapshots__/ProfileCallTreeView.test.js.snap @@ -149,12 +149,12 @@ exports[`ProfileCallTreeView with JS Allocations matches the snapshot for JS all class="treeViewHeader" > - 33% + 67% - 1 + 2 - 67% + 33% - 2 + 1
      - — + 1
      - 1 + —
      -
      +