From fb1c8543167090a70930ccd3ed0e51b2d1c61249 Mon Sep 17 00:00:00 2001 From: Meryll Blanchet Date: Wed, 17 Jan 2024 20:47:15 +0100 Subject: [PATCH 001/135] Updated AEM Franklin with branding and scripts --- src/technologies/a.json | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index 51bc0e842..80a18ac59 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1537,16 +1537,19 @@ "scripts": "aem-(?:GridColumn|apps/)", "website": "https://www.adobe.com/marketing/experience-manager.html" }, - "Adobe Experience Manager Franklin": { + "Adobe Experience Manager Edge Delivery services": { "cats": [ 1 ], "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", - "description": "Adobe Experience Manager Franklin, also known as Project Helix or Composability, is a new way to publish AEM pages using Google Drive or Microsoft Office via Sharepoint. Instead of components, Franklin uses blocks to build pages. Blocks are pieces of a document that will be transformed into web page content.", - "icon": "Adobe Experience Manager Franklin.svg", + "description": "Edge Delivery services is a composable set of services that allows for a high degree of flexibility in how you author content on your website. As mentioned previously,you can use both AEM content management with Universal Editor authoring as well as document-based authoring.", + "icon": "Adobe Experience Platform.svg", "excludes": "Adobe Experience Manager", - "scriptSrc": "^.+/scripts/lib-franklin\\.js$", - "website": "https://www.hlx.live" + "scriptSrc": [ + "^.+/scripts/lib-franklin\\.js$", + "^.+/scripts/aem\\.js$" + ], + "website": "https://www.aem.live" }, "Adobe Experience Platform Identity Service": { "cats": [ From 7fc444dbd47a4710ac4a5300b87742e119034b56 Mon Sep 17 00:00:00 2001 From: Meryll Blanchet Date: Wed, 17 Jan 2024 20:47:47 +0100 Subject: [PATCH 002/135] Adobe Experience Manager Edge Delivery services --- .../icons/Adobe Experience Manager Franklin.svg | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 src/images/icons/Adobe Experience Manager Franklin.svg diff --git a/src/images/icons/Adobe Experience Manager Franklin.svg b/src/images/icons/Adobe Experience Manager Franklin.svg deleted file mode 100644 index 3d2a43585..000000000 --- a/src/images/icons/Adobe Experience Manager Franklin.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - From fdcc55820e25c88cc74f53e00cf94585a5bf9cdc Mon Sep 17 00:00:00 2001 From: Meryll Blanchet Date: Wed, 17 Jan 2024 21:02:23 +0100 Subject: [PATCH 003/135] AEM Edge Delivery services: exclude preview env --- src/technologies/a.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index 80a18ac59..1365320ee 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1537,6 +1537,16 @@ "scripts": "aem-(?:GridColumn|apps/)", "website": "https://www.adobe.com/marketing/experience-manager.html" }, + "Adobe Experience Manager Edge Delivery services preview": { + "cats": [ + 1 + ], + "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", + "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service with document-based authoring (Preview)", + "icon": "Adobe Experience Platform.svg", + "url": "https.+\\.(aem|hlx)\\.(page|live)", + "website": "https://www.aem.live" + }, "Adobe Experience Manager Edge Delivery services": { "cats": [ 1 @@ -1544,7 +1554,10 @@ "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", "description": "Edge Delivery services is a composable set of services that allows for a high degree of flexibility in how you author content on your website. As mentioned previously,you can use both AEM content management with Universal Editor authoring as well as document-based authoring.", "icon": "Adobe Experience Platform.svg", - "excludes": "Adobe Experience Manager", + "excludes": [ + "Adobe Experience Manager", + "Adobe Experience Manager Edge Delivery services preview" + ], "scriptSrc": [ "^.+/scripts/lib-franklin\\.js$", "^.+/scripts/aem\\.js$" From e529d6aa5eded3ef80be39ba4b98f643f23cc975 Mon Sep 17 00:00:00 2001 From: Meryll Blanchet Date: Wed, 17 Jan 2024 21:20:33 +0100 Subject: [PATCH 004/135] Typos and rephrasing --- src/technologies/a.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index 1365320ee..d7448f128 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1537,23 +1537,25 @@ "scripts": "aem-(?:GridColumn|apps/)", "website": "https://www.adobe.com/marketing/experience-manager.html" }, - "Adobe Experience Manager Edge Delivery services preview": { + "Adobe Experience Manager with Edge Delivery Services preview": { "cats": [ 1 ], "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", - "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service with document-based authoring (Preview)", + "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service (Preview)", "icon": "Adobe Experience Platform.svg", + "saas": "true", "url": "https.+\\.(aem|hlx)\\.(page|live)", "website": "https://www.aem.live" }, - "Adobe Experience Manager Edge Delivery services": { + "Adobe Experience Manager Edge Delivery Services": { "cats": [ 1 ], "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", - "description": "Edge Delivery services is a composable set of services that allows for a high degree of flexibility in how you author content on your website. As mentioned previously,you can use both AEM content management with Universal Editor authoring as well as document-based authoring.", + "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service, also know as Helix, Franklin, Next-Generation Composability is a fast and lightweight content management system from Adobe.", "icon": "Adobe Experience Platform.svg", + "saas": "true", "excludes": [ "Adobe Experience Manager", "Adobe Experience Manager Edge Delivery services preview" From f649287f6616ef381ffad2890a7498cdc1ab4e39 Mon Sep 17 00:00:00 2001 From: Meryll Blanchet Date: Wed, 17 Jan 2024 21:22:12 +0100 Subject: [PATCH 005/135] Capitalized "Services" --- src/technologies/a.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index d7448f128..b560fe164 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1558,7 +1558,7 @@ "saas": "true", "excludes": [ "Adobe Experience Manager", - "Adobe Experience Manager Edge Delivery services preview" + "Adobe Experience Manager Edge Delivery Services preview" ], "scriptSrc": [ "^.+/scripts/lib-franklin\\.js$", From 06d2528730f1c34ba6649d1d34dbb34f491c9fb0 Mon Sep 17 00:00:00 2001 From: Anh Tran Date: Mon, 8 Apr 2024 09:16:59 +0700 Subject: [PATCH 006/135] Add Slim SEO (WordPress plugin) --- src/images/icons/Slim SEO.svg | 1 + src/technologies/s.json | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 src/images/icons/Slim SEO.svg diff --git a/src/images/icons/Slim SEO.svg b/src/images/icons/Slim SEO.svg new file mode 100644 index 000000000..586a56ac3 --- /dev/null +++ b/src/images/icons/Slim SEO.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/s.json b/src/technologies/s.json index 91034ecad..de544d2df 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -4138,6 +4138,18 @@ "scriptSrc": "/wp-content/plugins/revslider/", "website": "https://www.sliderrevolution.com" }, + "Slim SEO": { + "cats": [ + 87 + ], + "description": "Slim SEO is a full-featured SEO plugin for WordPress that's lightweight, blazing fast with minimum configuration.", + "pricing": ["low", "freemium", "onetime", "recurring"], + "dom": "#slim-seo-schema", + "icon": "Slim SEO.svg", + "oss": true, + "requires": "WordPress", + "website": "https://wpslimseo.com" + }, "Slimbox": { "cats": [ 59 From 8670666d1858046182012bb63af33699b2a15060 Mon Sep 17 00:00:00 2001 From: Meryll Blanchet Date: Wed, 10 Apr 2024 15:30:30 +0200 Subject: [PATCH 007/135] Removed Adobe Experience Manager Edge Delivery Services Preview --- src/technologies/a.json | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index b560fe164..4f379f1a3 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1537,17 +1537,6 @@ "scripts": "aem-(?:GridColumn|apps/)", "website": "https://www.adobe.com/marketing/experience-manager.html" }, - "Adobe Experience Manager with Edge Delivery Services preview": { - "cats": [ - 1 - ], - "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", - "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service (Preview)", - "icon": "Adobe Experience Platform.svg", - "saas": "true", - "url": "https.+\\.(aem|hlx)\\.(page|live)", - "website": "https://www.aem.live" - }, "Adobe Experience Manager Edge Delivery Services": { "cats": [ 1 @@ -1557,8 +1546,7 @@ "icon": "Adobe Experience Platform.svg", "saas": "true", "excludes": [ - "Adobe Experience Manager", - "Adobe Experience Manager Edge Delivery Services preview" + "Adobe Experience Manager" ], "scriptSrc": [ "^.+/scripts/lib-franklin\\.js$", @@ -5313,4 +5301,4 @@ "scriptSrc": "@tarekraafat/autocomplete\\.js@([\\d\\.]+)/\\;version:\\1", "website": "https://tarekraafat.github.io/autoComplete.js" } -} \ No newline at end of file +} From e8593d967ff2915a57c1003005b1a0adbf9ee0c2 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Wed, 10 Apr 2024 10:41:09 -0600 Subject: [PATCH 008/135] remove __googlefc from funding choices detection --- src/technologies/f.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/technologies/f.json b/src/technologies/f.json index 8bee05866..7e55ea293 100644 --- a/src/technologies/f.json +++ b/src/technologies/f.json @@ -2237,9 +2237,6 @@ }, "dom": ".fc-consent-root, iframe[name='googlefcLoaded'], iframe[name='googlefcPresent'], .fc-dialog, .fc-choice-dialog", "icon": "Google.svg", - "js": { - "__googlefc": "" - }, "scriptSrc": "fundingchoicesmessages\\.google\\.com", "website": "https://developers.google.com/funding-choices" }, From 5d6db35589ae67d4b74784d6648ebc014ee0f8f0 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Wed, 10 Apr 2024 17:58:32 +0100 Subject: [PATCH 009/135] Update src/technologies/a.json --- src/technologies/a.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index f213ff5dc..5bfee3bcb 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1544,7 +1544,7 @@ "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service, also know as Helix, Franklin, Next-Generation Composability is a fast and lightweight content management system from Adobe.", "icon": "Adobe Experience Platform.svg", - "saas": "true", + "saas": true, "excludes": [ "Adobe Experience Manager" ], From cc20ff892f3c7c95885e98245a00ed1086a8917b Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Wed, 10 Apr 2024 18:14:41 +0100 Subject: [PATCH 010/135] Rename Slim SEO.svg to Slim-SEO.svg --- src/images/icons/{Slim SEO.svg => Slim-SEO.svg} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/images/icons/{Slim SEO.svg => Slim-SEO.svg} (99%) diff --git a/src/images/icons/Slim SEO.svg b/src/images/icons/Slim-SEO.svg similarity index 99% rename from src/images/icons/Slim SEO.svg rename to src/images/icons/Slim-SEO.svg index 586a56ac3..30d58bcff 100644 --- a/src/images/icons/Slim SEO.svg +++ b/src/images/icons/Slim-SEO.svg @@ -1 +1 @@ - \ No newline at end of file + From e058a68e60829d0a45177937c4ee7613bbacf6a6 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Wed, 10 Apr 2024 18:15:06 +0100 Subject: [PATCH 011/135] Update s.json --- src/technologies/s.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/s.json b/src/technologies/s.json index de544d2df..bbb3c491a 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -4145,7 +4145,7 @@ "description": "Slim SEO is a full-featured SEO plugin for WordPress that's lightweight, blazing fast with minimum configuration.", "pricing": ["low", "freemium", "onetime", "recurring"], "dom": "#slim-seo-schema", - "icon": "Slim SEO.svg", + "icon": "Slim-SEO.svg", "oss": true, "requires": "WordPress", "website": "https://wpslimseo.com" From 57464ed8551ce8ba426cd753089152b90057371d Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Sat, 13 Apr 2024 13:23:11 -0500 Subject: [PATCH 012/135] Fix invalid regex for Judge.me --- src/technologies/j.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/j.json b/src/technologies/j.json index 175a18bef..ee8c10e69 100644 --- a/src/technologies/j.json +++ b/src/technologies/j.json @@ -638,7 +638,7 @@ "recurring" ], "saas": true, - "scriptSrc": "*\\.judge\\.me", + "scriptSrc": ".*\\.judge\\.me", "website": "https://judge.me" }, "JuicyAds": { From 343b0cf3880aac13ad0c8443c665e8badbab8807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20Gro=C3=9F?= Date: Thu, 25 Apr 2024 11:00:55 +0200 Subject: [PATCH 013/135] framer: update technologies --- src/technologies/f.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/technologies/f.json b/src/technologies/f.json index 8bee05866..d571e5770 100644 --- a/src/technologies/f.json +++ b/src/technologies/f.json @@ -1687,7 +1687,10 @@ "cats": [ 51 ], - "description": "Framer is primarily a design and prototyping tool. It allows you to design interactive prototypes of websites and applications using production components and real data.", + "description": "Framer is a no-code web design platform for designing and publishing responsive websites.", + "headers": { + "server": "^Framer/", + }, "icon": "Framer Sites.svg", "implies": "React", "js": { @@ -1704,7 +1707,8 @@ ], "saas": true, "scriptSrc": "framerusercontent\\.com", - "website": "https://framer.com/sites" + "generator": "^Framer", + "website": "https://www.framer.com" }, "Frames": { "cats": [ From ed6482ca980a30537a3fb3186171f615b4822bdf Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Sun, 5 May 2024 21:18:39 +0100 Subject: [PATCH 014/135] Update src/technologies/j.json --- src/technologies/j.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/j.json b/src/technologies/j.json index ee8c10e69..422ba7e7a 100644 --- a/src/technologies/j.json +++ b/src/technologies/j.json @@ -638,7 +638,7 @@ "recurring" ], "saas": true, - "scriptSrc": ".*\\.judge\\.me", + "scriptSrc": "\\.judge\\.me", "website": "https://judge.me" }, "JuicyAds": { From bde58b8b926630123ab85c4d805f9960c7500db4 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Sun, 5 May 2024 21:23:52 +0100 Subject: [PATCH 015/135] Update src/technologies/f.json --- src/technologies/f.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/f.json b/src/technologies/f.json index a64c4197c..7130a8f8d 100644 --- a/src/technologies/f.json +++ b/src/technologies/f.json @@ -1689,7 +1689,7 @@ ], "description": "Framer is a no-code web design platform for designing and publishing responsive websites.", "headers": { - "server": "^Framer/", + "server": "^Framer/" }, "icon": "Framer Sites.svg", "implies": "React", From 48f5a4400238ea5c0fb34a87b77f63ec86d1290d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20Gro=C3=9F?= Date: Tue, 7 May 2024 13:17:56 +0200 Subject: [PATCH 016/135] fix meta & sort --- src/technologies/f.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/technologies/f.json b/src/technologies/f.json index 7130a8f8d..796b2c866 100644 --- a/src/technologies/f.json +++ b/src/technologies/f.json @@ -1699,6 +1699,9 @@ "Framer.version": "([\\d\\.]+)\\;version:\\1\\;confidence:0", "__framer_importFromPackage": "" }, + "meta": { + "generator": "^Framer", + } "oss": false, "pricing": [ "low", @@ -1707,7 +1710,6 @@ ], "saas": true, "scriptSrc": "framerusercontent\\.com", - "generator": "^Framer", "website": "https://www.framer.com" }, "Frames": { From 3f5ac0ce1396521542cf5ede6c9fa4ce51e237cf Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Tue, 7 May 2024 18:33:20 +0100 Subject: [PATCH 017/135] Apply suggestions from code review --- src/technologies/f.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/technologies/f.json b/src/technologies/f.json index 796b2c866..dfe7dbfd0 100644 --- a/src/technologies/f.json +++ b/src/technologies/f.json @@ -1700,8 +1700,8 @@ "__framer_importFromPackage": "" }, "meta": { - "generator": "^Framer", - } + "generator": "^Framer" + }, "oss": false, "pricing": [ "low", From f8899dc95c81831e6dd6c980231c76fb840e35bf Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Tue, 7 May 2024 18:38:04 +0100 Subject: [PATCH 018/135] Fix linting sort issues --- src/technologies/a.json | 4 ++-- src/technologies/c.json | 4 ++-- src/technologies/g.json | 10 +++++----- src/technologies/r.json | 32 ++++++++++++++++---------------- src/technologies/s.json | 7 ++++++- src/technologies/w.json | 24 ++++++++++++------------ 6 files changed, 43 insertions(+), 38 deletions(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index 5bfee3bcb..4f69e7b2b 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1543,11 +1543,11 @@ ], "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service, also know as Helix, Franklin, Next-Generation Composability is a fast and lightweight content management system from Adobe.", - "icon": "Adobe Experience Platform.svg", - "saas": true, "excludes": [ "Adobe Experience Manager" ], + "icon": "Adobe Experience Platform.svg", + "saas": true, "scriptSrc": [ "^.+/scripts/lib-franklin\\.js$", "^.+/scripts/aem\\.js$" diff --git a/src/technologies/c.json b/src/technologies/c.json index 88ea7859c..f4c427596 100644 --- a/src/technologies/c.json +++ b/src/technologies/c.json @@ -3113,8 +3113,8 @@ "description": "Constructor.io is a site search and merchandising platform designed to help ecommerce.", "icon": "ConstructorIO.png", "js": { - "constructorio": "", - "ConstructorioClient": "" + "ConstructorioClient": "", + "constructorio": "" }, "pricing": [ "high", diff --git a/src/technologies/g.json b/src/technologies/g.json index cd8a2a715..6a49b9f8b 100644 --- a/src/technologies/g.json +++ b/src/technologies/g.json @@ -1033,18 +1033,18 @@ 106 ], "cookies": { + "GLBE_SESS_ID": "", "GlobalE_CT_Data": "", + "GlobalE_Consent": "", "GlobalE_Data": "", - "GlobalE_SupportThirdPartCookies": "", - "GLBE_SESS_ID": "", - "GlobalE_Consent": "" + "GlobalE_SupportThirdPartCookies": "" }, "description": "Global-e is a provider of cross-border ecommerce solutions.", "icon": "Global-e.svg", "js": { + "GLBE_PARAMS": "", "GLOBALE_ENGINE_CONFIG": "", - "GlobalE": "", - "GLBE_PARAMS": "" + "GlobalE": "" }, "pricing": [ "poa" diff --git a/src/technologies/r.json b/src/technologies/r.json index 87277449f..dcc38b622 100644 --- a/src/technologies/r.json +++ b/src/technologies/r.json @@ -52,21 +52,6 @@ }, "website": "https://github.com/ruby/rdoc" }, - "Really Simple SSL & Security": { - "cats": [ - 16 - ], - "description": "Really Simple SSL & Security is an easy to install and performant security solution for WordPress.", - "icon": "really-simple-ssl.png", - "dom": "body[data-rsssl]", - "pricing": [ - "freemium", - "recurring" - ], - "requires": "WordPress", - "saas": true, - "website": "https://really-simple-ssl.com" - }, "REDAXO": { "cats": [ 1 @@ -750,6 +735,21 @@ "requires": "WordPress", "website": "https://wordpress.org/plugins/really-simple-captcha" }, + "Really Simple SSL & Security": { + "cats": [ + 16 + ], + "description": "Really Simple SSL & Security is an easy to install and performant security solution for WordPress.", + "dom": "body[data-rsssl]", + "icon": "really-simple-ssl.png", + "pricing": [ + "freemium", + "recurring" + ], + "requires": "WordPress", + "saas": true, + "website": "https://really-simple-ssl.com" + }, "RebelMouse": { "cats": [ 1 @@ -2344,7 +2344,7 @@ "icon": "route.png", "js": { "Routeapp": "", - "routeWidgetInitialized": "" + "routeWidgetInitialized": "" }, "scriptSrc": [ "cdn\\.routeapp\\.io", diff --git a/src/technologies/s.json b/src/technologies/s.json index c4b478c04..e69ce2cc1 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -4156,10 +4156,15 @@ 87 ], "description": "Slim SEO is a full-featured SEO plugin for WordPress that's lightweight, blazing fast with minimum configuration.", - "pricing": ["low", "freemium", "onetime", "recurring"], "dom": "#slim-seo-schema", "icon": "Slim-SEO.svg", "oss": true, + "pricing": [ + "low", + "freemium", + "onetime", + "recurring" + ], "requires": "WordPress", "website": "https://wpslimseo.com" }, diff --git a/src/technologies/w.json b/src/technologies/w.json index dd5fda9c3..e6fb66a15 100644 --- a/src/technologies/w.json +++ b/src/technologies/w.json @@ -516,18 +516,6 @@ "oss": true, "website": "https://wagtail.org" }, - "Wake": { - "cats": [ - 6 - ], - "description": "Wake is an ecommerce software with integrated digital solutions to manage online stores.", - "headers": { - "X-Powered-By": "Wake" - }, - "icon": "wakecommerce.svg", - "saas": true, - "website": "https://wake.tech/" - }, "Wair": { "cats": [ 76, @@ -577,6 +565,18 @@ "scriptSrc": "rum\\.wakav\\.ir/", "website": "https://www.wakav.ir" }, + "Wake": { + "cats": [ + 6 + ], + "description": "Wake is an ecommerce software with integrated digital solutions to manage online stores.", + "headers": { + "X-Powered-By": "Wake" + }, + "icon": "wakecommerce.svg", + "saas": true, + "website": "https://wake.tech/" + }, "WalkMe": { "cats": [ 58 From 1107d03ecf4a138813e556014dbc17feb748772f Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Fri, 10 May 2024 00:59:54 +0200 Subject: [PATCH 019/135] workflow --- .github/workflows/wpt-test.yml | 96 ++++++++++++++++++++++++++++++++++ tests/unit-tests.test.js | 12 +++++ tests/wpt.js | 58 ++++++++++++++++++++ 3 files changed, 166 insertions(+) create mode 100644 .github/workflows/wpt-test.yml create mode 100644 tests/unit-tests.test.js create mode 100644 tests/wpt.js diff --git a/.github/workflows/wpt-test.yml b/.github/workflows/wpt-test.yml new file mode 100644 index 000000000..e3225dbd2 --- /dev/null +++ b/.github/workflows/wpt-test.yml @@ -0,0 +1,96 @@ +name: Tests + +on: + pull_request: + branches: + - main + paths: + - "src/technologies/*.json" + - "src/categories.json" + - "src/groups.json" + - "tests/*.js" + workflow_dispatch: + +jobs: + test: + name: WebPageTest Test Cases + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + + - name: Install dependencies + run: npm install + + - name: Lint + run: npm run lint + + - name: Run WebPageTest with unit tests + env: + WPT_SERVER: "webpagetest.httparchive.org" + WPT_API_KEY: ${{ secrets.HA_API_KEY }} + PR_NUMBER: ${{ github.event.pull_request.number }} + if: ${{ env.WPT_API_KEY != '' }} + run: | + echo "::group::Unit tests" + npm test + echo "::endgroup::" + + - name: Run WebPageTest for more websites + env: + WPT_SERVER: "webpagetest.httparchive.org" + WPT_API_KEY: ${{ secrets.HA_API_KEY }} + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + # Get the PR body + PR_BODY="$(cat <<'EOF' + ${{ github.event.pull_request.body }} + EOF + )" + + # Read PR body into an array, removing line breaks and carriage returns + declare -a lines + while IFS= read -r line; do + lines+=("${line//[$'\r\n']}") + done <<< "$PR_BODY" + + # Find the index of the line after "**Test websites**:" + start_index=-1 + for ((i=0; i<${#lines[@]}; i++)); do + if [[ "${lines[$i]}" == *"**Test websites**:"* ]]; then + start_index=$((i + 1)) + break + fi + done + + # If the index is valid, then parse the URLs + if [ $start_index -gt -1 ]; then + # Initialize an array for URLs + declare -a URLS + url_pattern="((http|https|ftp):\/\/[a-zA-Z0-9.-]+(\.[a-zA-Z]{2,4})(\/[a-zA-Z0-9_.-]+)*(\/?)(\?[a-zA-Z0-9_.-]+=[a-zA-Z0-9%_.-]+)*(\#?)([a-zA-Z0-9%_.-=]+)*)" + + for ((i=start_index; i<${#lines[@]}; i++)); do + if [[ ${lines[$i]} =~ $url_pattern ]]; then + URLS+=("${BASH_REMATCH[1]}") + fi + done + + # Run WebPageTest for each URL + for TEST_WEBSITE in "${URLS[@]}"; do + echo "::group::Detecting technologies for $TEST_WEBSITE" + node tests/wpt.js "$TEST_WEBSITE" + echo "::endgroup::" + done + else + echo "No websites found." + fi + + - name: Add comment with results + uses: mshick/add-pr-comment@v2 + if: always() + with: + refresh-message-position: true + message-path: test-results.md diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js new file mode 100644 index 000000000..9a00a43d4 --- /dev/null +++ b/tests/unit-tests.test.js @@ -0,0 +1,12 @@ +const assert = require('assert') +const { runWPTTest } = require('./wpt.js') +const testWebsite = 'https://almanac.httparchive.org/en/2022/' + +let responseData +beforeAll(async () => { + responseData = await runWPTTest(testWebsite) +}, 400000) + +test('wappalyzer successful', () => { + assert.ok(responseData.runs['1'].firstView.wappalyzer_failed === 0) +}) diff --git a/tests/wpt.js b/tests/wpt.js new file mode 100644 index 000000000..8df450383 --- /dev/null +++ b/tests/wpt.js @@ -0,0 +1,58 @@ +const fs = require('fs') +const { argv } = require('node:process') +const WebPageTest = require('webpagetest') + +const isDirectRun = require.main === module + +const wptServer = process.env.WPT_SERVER +const wptApiKey = process.env.WPT_API_KEY +const PRnumber = parseInt(process.env.PR_NUMBER) +const wpt = new WebPageTest(wptServer, wptApiKey) + +/** + * Runs a WebPageTest (WPT) test for a given URL. + * + * @param {string} url - The URL to run the test on. + * @returns {Promise} A promise that resolves with an object containing the custom metrics. + * @throws {Error} If the test run fails or the response status code is not 200. + */ +function runWPTTest(url) { + const options = { key: wptApiKey, wappalyzerpr: PRnumber } + + return new Promise((resolve, reject) => { + wpt.runTestAndWait(url, options, (error, response) => { + if (error || response.statusCode !== 200) { + reject(error || response) + } else { + const technologies = { + detected: response.data.runs['1'].firstView.detected, + detected_apps: response.data.runs['1'].firstView.detected_apps, + detected_technologies: + response.data.runs['1'].firstView.detected_technologies, + detected_raw: response.data.runs['1'].firstView.detected_raw, + } + + fs.appendFileSync( + 'test-results.md', + '
\n' + + `Custom metrics for ${url}\n\n` + + `WPT test run results: ${response.data.summary}\n` + + (isDirectRun + ? 'Changed custom metrics values:\n' + + `\`\`\`json\n${JSON.stringify(technologies, null, 4)}\n\`\`\`\n` + : '') + + '
\n' + ) + + resolve(response.data) + } + }) + }) +} + +if (isDirectRun) { + const url = argv[2] + runWPTTest(url) +} + +module.exports = { runWPTTest } From ffc92a22eb462f99ad3b21d6ccede49dca2aa2c3 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Fri, 10 May 2024 01:01:55 +0200 Subject: [PATCH 020/135] yarn to npm --- .eslintrc.js | 7 +- .github/pull_request_template.md | 10 + .prettierrc | 3 +- package.json | 45 +- yarn.lock | 3305 ------------------------------ 5 files changed, 46 insertions(+), 3324 deletions(-) create mode 100644 .github/pull_request_template.md delete mode 100644 yarn.lock diff --git a/.eslintrc.js b/.eslintrc.js index f91394cce..0cb4dfcaf 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,16 +4,19 @@ module.exports = { browser: true, node: true, }, + parser: '@babel/eslint-parser', parserOptions: { - parser: 'babel-eslint', + requireConfigFile: false, }, extends: [ '@nuxtjs', 'prettier', - 'prettier/vue', 'plugin:prettier/recommended', 'plugin:nuxt/recommended', 'plugin:json/recommended', ], plugins: ['prettier'], + rules: { + 'array-callback-return': 'off', + }, } diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..3aa58daf3 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,10 @@ + +Resolves \#1 + +Description of the changes... + +--- + +**Test websites**: + +- https://example.com/ diff --git a/.prettierrc b/.prettierrc index 59639c50d..0e72982a0 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,6 @@ { "semi": false, "arrowParens": "always", - "singleQuote": true + "singleQuote": true, + "trailingComma": "es5" } diff --git a/package.json b/package.json index 4ce4e74ca..2d2a61cfa 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,41 @@ { "dependencies": { "@prantlf/jsonlint": "^14.0.3", - "adm-zip": "^0.4.16", - "convert-svg-to-png": "^0.5.0" + "adm-zip": "^0.5.12", + "convert-svg-to-png": "^0.6.4" }, "devDependencies": { - "@nuxtjs/eslint-config": "^3.1.0", - "@nuxtjs/eslint-module": "^2.0.0", - "babel-eslint": "^10.1.0", - "eslint": "^7.13.0", - "eslint-config-prettier": "^6.15.0", - "eslint-plugin-json": "^2.1.2", - "eslint-plugin-nuxt": "^1.0.0", - "eslint-plugin-prettier": "^3.1.4", - "prettier": "^2.1.2", - "terminal-overwrite": "^2.0.1" + "@nuxtjs/eslint-config": "^12.0.0", + "@nuxtjs/eslint-module": "^4.1.0", + "@babel/eslint-parser": "^7.24.5", + "eslint": "^8.23.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-json": "^3.1.0", + "eslint-plugin-nuxt": "^4.0.0", + "eslint-plugin-prettier": "^5.1.3", + "jest": "^29.7.0", + "prettier": "^3.2.5", + "terminal-overwrite": "^2.0.1", + "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" }, "scripts": { "lint": "eslint src/**/*.{js,json} && jsonlint -jsV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -js --trim-trailing-commas --enforce-double-quotes ./src/categories.json", "lint:fix": "eslint --fix src/**/*.{js,json} && jsonlint -isV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -is --trim-trailing-commas --enforce-double-quotes ./src/categories.json", - "validate": "yarn run lint && node ./bin/validate.js", + "validate": "npm run lint && node ./bin/validate.js", + "test": "jest", "convert": "node --no-warnings ./bin/convert.js", - "build": "yarn run validate && yarn run prettify && yarn run convert && node ./bin/build.js", - "build:safari": "xcrun safari-web-extension-converter --swift --project-location build --force src", - "manifest": "node ./bin/manifest.js" + "prettify": "jsonlint -si --trim-trailing-commas --enforce-double-quotes ./src/categories.json ./src/technologies/*.json", + "build": "npm run validate && npm run prettify && npm run convert && node ./bin/build.js" + }, + "jest": { + "reporters": [ + "default", + [ + "github-actions", + { + "silent": false + } + ] + ] } } diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 24dd344cd..000000000 --- a/yarn.lock +++ /dev/null @@ -1,3305 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz" - integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== - dependencies: - "@babel/highlight" "^7.22.10" - chalk "^2.4.2" - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.22.9": - version "7.22.9" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz" - integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== - -"@babel/core@^7.0.0", "@babel/core@^7.11.0", "@babel/core@^7.12.16": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz" - integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-compilation-targets" "^7.22.10" - "@babel/helper-module-transforms" "^7.22.9" - "@babel/helpers" "^7.22.10" - "@babel/parser" "^7.22.10" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.10" - "@babel/types" "^7.22.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.1" - -"@babel/eslint-parser@^7.12.16": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz" - integrity sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg== - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.1" - -"@babel/generator@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz" - integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== - dependencies: - "@babel/types" "^7.22.10" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz" - integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.5" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== - -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== - dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz" - integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-transforms@^7.22.9": - version "7.22.9" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz" - integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== - -"@babel/helper-validator-option@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" - integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== - -"@babel/helpers@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz" - integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw== - dependencies: - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.10" - "@babel/types" "^7.22.10" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz" - integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.22.10", "@babel/parser@^7.22.5", "@babel/parser@^7.7.0": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz" - integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== - -"@babel/template@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/traverse@^7.22.10", "@babel/traverse@^7.7.0": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz" - integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== - dependencies: - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.10" - "@babel/types" "^7.22.10" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.7.0": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz" - integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - to-fast-properties "^2.0.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.22" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" - 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.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nuxtjs/eslint-config@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@nuxtjs/eslint-config/-/eslint-config-3.1.0.tgz" - integrity sha512-/6hDCt4nmlgmSFmJMLyZoopJ9iEfUVL5gpvr0uCzAYBjBl49ldsmu+SmsT13zosEnCIWCosBIevuaeCDKKBbJA== - dependencies: - eslint-config-standard "^14.1.1" - eslint-plugin-import "2.22.0" - eslint-plugin-jest "^23.18.2" - eslint-plugin-node "^11.1.0" - eslint-plugin-promise "^4.2.1" - eslint-plugin-standard "^4.0.1" - eslint-plugin-unicorn "^21.0.0" - eslint-plugin-vue "^6.2.2" - -"@nuxtjs/eslint-module@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@nuxtjs/eslint-module/-/eslint-module-2.0.0.tgz" - integrity sha512-uL3prMRwSBcxy583O11nMiUtfA2fxF7lZgCCUCsq4FNCqv320euJ7XE3KNZT6IVs/QJ1vaUNLC8tL4SZS99Tjw== - dependencies: - consola "^2.11.3" - eslint-loader "^4.0.2" - -"@prantlf/jsonlint@^14.0.3": - version "14.0.3" - resolved "https://registry.npmjs.org/@prantlf/jsonlint/-/jsonlint-14.0.3.tgz" - integrity sha512-Z9FrZd+cqCiqB6r/EHb4evj8HUqMgPvi7RVBQhFHYOJ292K7XmnKprNTngTqiUclCFn5MFqeZv20Jo5ZzlOCqw== - dependencies: - ajv "8.12.0" - ajv-draft-04 "1.0.0" - cosmiconfig "8.1.3" - diff "5.1.0" - fast-glob "3.2.12" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.56.2" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz" - integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": - version "7.0.12" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/node@*": - version "20.11.13" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.13.tgz" - integrity sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg== - dependencies: - undici-types "~5.26.4" - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@typescript-eslint/experimental-utils@^2.5.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8, acorn@^8.7.1: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -acorn@^8.8.2: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -adm-zip@^0.4.16: - version "0.4.16" - resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz" - integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== - -agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - -ajv-draft-04@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz" - integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.10.0, ajv@^6.9.1: - version "6.10.2" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^8.5.0, ajv@8.12.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.1: - version "3.1.6" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - -array.prototype.flat@^1.2.3: - version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -arraybuffer.prototype.slice@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz" - integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -babel-eslint@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.10, browserslist@^4.21.9, "browserslist@>= 4.21.0": - version "4.21.10" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz" - integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== - dependencies: - caniuse-lite "^1.0.30001517" - electron-to-chromium "^1.4.477" - node-releases "^2.0.13" - update-browserslist-db "^1.0.11" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001517: - version "1.0.30001521" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz" - integrity sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ== - -chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -clean-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" - integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== - dependencies: - escape-string-regexp "^1.0.5" - -cli-cursor@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== - dependencies: - restore-cursor "^2.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -commander@^2.19.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.6.2: - version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -consola@^2.11.3: - version "2.15.3" - resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz" - integrity sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg== - -convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-svg-core@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/convert-svg-core/-/convert-svg-core-0.5.0.tgz" - integrity sha512-V30vm5h4sHjmjyAr7o/gYAEmdEIsi0sLKKbDigSxplovCzMHTERXSikIOgA8xSllHh0c4gHYP55Pxwgtu9O+3w== - dependencies: - chalk "^2.4.1" - commander "^2.19.0" - file-url "^2.0.2" - get-stdin "^6.0.0" - glob "^7.1.3" - lodash.omit "^4.5.0" - lodash.pick "^4.4.0" - pollock "^0.2.0" - puppeteer "^1.10.0" - tmp "0.0.33" - -convert-svg-to-png@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/convert-svg-to-png/-/convert-svg-to-png-0.5.0.tgz" - integrity sha512-Pzg2IEirPdN/VXovG9NY8H5Ww3PUEohMcyu9a11E0G0/oVcbPLWQYE3/S6mxpjidqzYr1i5iKLTKCiU9hctKFQ== - dependencies: - convert-svg-core "^0.5.0" - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@8.1.3: - version "8.1.3" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz" - integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== - dependencies: - import-fresh "^3.2.1" - js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -diff@5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" - integrity sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg== - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -electron-to-chromium@^1.4.477: - version "1.4.495" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz" - integrity sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.5: - version "2.4.1" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.22.1" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz" - integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.1" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.1" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.0" - safe-array-concat "^1.0.0" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.10" - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-ast-utils@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz" - integrity sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA== - dependencies: - lodash.get "^4.4.2" - lodash.zip "^4.2.0" - -eslint-config-prettier@^6.15.0: - version "6.15.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" - -eslint-config-standard@^14.1.1: - version "14.1.1" - resolved "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz" - integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg== - -eslint-import-resolver-node@^0.3.3: - version "0.3.9" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-loader@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz" - integrity sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw== - dependencies: - find-cache-dir "^3.3.1" - fs-extra "^8.1.0" - loader-utils "^2.0.0" - object-hash "^2.0.3" - schema-utils "^2.6.5" - -eslint-module-utils@^2.6.0: - version "2.8.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@>=2.18.0, eslint-plugin-import@2.22.0: - version "2.22.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz" - integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.3" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-jest@^23.18.2: - version "23.20.0" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz" - integrity sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw== - dependencies: - "@typescript-eslint/experimental-utils" "^2.5.0" - -eslint-plugin-json@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.2.tgz" - integrity sha512-isM/fsUxS4wN1+nLsWoV5T4gLgBQnsql3nMTr8u+cEls1bL8rRQO5CP5GtxJxaOfbcKqnz401styw+H/P+e78Q== - dependencies: - lodash "^4.17.19" - vscode-json-languageservice "^3.7.0" - -eslint-plugin-node@^11.1.0, eslint-plugin-node@>=9.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-nuxt@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-nuxt/-/eslint-plugin-nuxt-1.0.0.tgz" - integrity sha512-/wStWT367UXimakvNkYmG66dlP+O4CIEDS7Kg8BrwSlLX/ubQRZowVT3oJqspJJvR6jqJPMdGym5PBYd5iE+xg== - dependencies: - eslint-plugin-vue "^6.2.2" - semver "^7.3.2" - vue-eslint-parser "^7.0.0" - -eslint-plugin-prettier@^3.1.4: - version "3.4.1" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-promise@^4.2.1, eslint-plugin-promise@>=4.2.1: - version "4.3.1" - resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-standard@^4.0.1, eslint-plugin-standard@>=4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz" - integrity sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ== - -eslint-plugin-unicorn@^21.0.0: - version "21.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-21.0.0.tgz" - integrity sha512-S8v7+v4gZTQPj4pKKvexhgSUaLQSyItvxW2SVZDaX9Iu5IjlAmF2eni+L6w8a2aqshxgU8Lle4FIAVDtuejSKQ== - dependencies: - ci-info "^2.0.0" - clean-regexp "^1.0.0" - eslint-ast-utils "^1.1.0" - eslint-template-visitor "^2.0.0" - eslint-utils "^2.1.0" - import-modules "^2.0.0" - lodash "^4.17.15" - pluralize "^8.0.0" - read-pkg-up "^7.0.1" - regexp-tree "^0.1.21" - reserved-words "^0.1.2" - safe-regex "^2.1.1" - semver "^7.3.2" - -eslint-plugin-vue@^6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz" - integrity sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ== - dependencies: - natural-compare "^1.4.0" - semver "^5.6.0" - vue-eslint-parser "^7.0.0" - -eslint-scope@^5.0.0, eslint-scope@^5.1.1, eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-template-visitor@^2.0.0: - version "2.3.2" - resolved "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz" - integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA== - dependencies: - "@babel/core" "^7.12.16" - "@babel/eslint-parser" "^7.12.16" - eslint-visitor-keys "^2.0.0" - esquery "^1.3.1" - multimap "^1.1.0" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^5.0.0 || ^6.0.0", "eslint@^6.0.0 || ^7.0.0", eslint@^7.13.0, eslint@^7.5.0, "eslint@^7.5.0 || ^8.0.0", "eslint@>= 4.12.1", eslint@>=3.14.1, eslint@>=4.19.1, eslint@>=5, eslint@>=5.0.0, eslint@>=5.16.0, eslint@>=6, eslint@>=6.2.2, eslint@>=7.0.0, eslint@>=7.3.0: - version "7.32.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.3.1, esquery@^1.4.0: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -extract-zip@^1.6.6: - version "1.7.0" - resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" - integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== - dependencies: - concat-stream "^1.6.2" - debug "^2.6.9" - mkdirp "^0.5.4" - yauzl "^2.10.0" - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" - integrity sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w== - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@3.2.12: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.17.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz" - integrity sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w== - dependencies: - reusify "^1.0.4" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-url@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/file-url/-/file-url-2.0.2.tgz" - integrity sha512-x3989K8a1jM6vulMigE8VngH7C5nci0Ks5d9kVjUXmNF28gmiZUNujk5HjwaS8dAzN2QmUfX56riJKgN00dNRw== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - -functions-have-names@^1.2.2, functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.6.0: - version "13.21.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz" - integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== - dependencies: - type-fest "^0.20.2" - -globals@^13.9.0: - version "13.21.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz" - integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -https-proxy-agent@^2.2.1: - version "2.2.4" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-modules@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz" - integrity sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@^2.0.3, inherits@~2.0.3, inherits@2: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0: - version "2.13.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz" - integrity sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ== - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.omit@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz" - integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== - -lodash.pick@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" - integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash.zip@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz" - integrity sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg== - -lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.27: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@^2.0.3: - version "2.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -minimatch@^3.0.4, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@^0.5.4: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -ms@^2.1.1, ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -multimap@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz" - integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -object-hash@^2.0.3: - version "2.2.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.values@^1.1.1: - version "1.1.6" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== - dependencies: - mimic-fn "^1.0.0" - -optionator@^0.9.1: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== - dependencies: - error-ex "^1.2.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" - integrity sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ== - dependencies: - pify "^2.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -pollock@^0.2.0: - version "0.2.1" - resolved "https://registry.npmjs.org/pollock/-/pollock-0.2.1.tgz" - integrity sha512-2Xy6LImSXm0ANKv9BKSVuCa6Z4ACbK7oUrl9gtUgqLkekL7n9C0mlWsOGYYuGbCG8xT0x3Q4F31C3ZMyVQjwsg== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.1.2, prettier@>=1.13.0: - version "2.8.8" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@^2.0.0, progress@^2.0.1: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -proxy-from-env@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -puppeteer@^1.10.0: - version "1.20.0" - resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz" - integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== - dependencies: - debug "^4.1.0" - extract-zip "^1.6.6" - https-proxy-agent "^2.2.1" - mime "^2.0.3" - progress "^2.0.1" - proxy-from-env "^1.0.0" - rimraf "^2.6.1" - ws "^6.1.0" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" - integrity sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w== - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz" - integrity sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA== - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^2.2.2: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -regexp-tree@^0.1.21, regexp-tree@~0.1.1: - version "0.1.27" - resolved "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz" - integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== - -regexp.prototype.flags@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -reserved-words@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz" - integrity sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.22.4: - version "1.22.4" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz" - integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^2.6.1: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -safe-regex@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz" - integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== - dependencies: - regexp-tree "~0.1.1" - -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.1.1: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -semver@^5.6.0: - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^6.1.0: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^6.3.0: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.2.1, semver@^7.3.2: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.13" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -table@^6.0.9: - version "6.8.1" - resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terminal-overwrite@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/terminal-overwrite/-/terminal-overwrite-2.0.1.tgz" - integrity sha512-CP8KtcHQjSlKtaXIZTJt4I4II8oEdXyGJtx54gXVVys9plYIaK4ahiXPD6XxZ2efrqayH1B7uR/5Wr7N2cTgFA== - dependencies: - cli-cursor "^2.0.0" - string-width "^2.0.0" - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.26.0: - version "5.27.0" - resolved "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz" - integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -tmp@0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tsconfig-paths@^3.9.0: - version "3.14.2" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.17.1: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -"typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": - version "5.3.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -v8-compile-cache@^2.0.3: - version "2.4.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz" - integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vscode-json-languageservice@^3.7.0: - version "3.11.0" - resolved "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.11.0.tgz" - integrity sha512-QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA== - dependencies: - jsonc-parser "^3.0.0" - vscode-languageserver-textdocument "^1.0.1" - vscode-languageserver-types "3.16.0-next.2" - vscode-nls "^5.0.0" - vscode-uri "^2.1.2" - -vscode-languageserver-textdocument@^1.0.1: - version "1.0.8" - resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz" - integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q== - -vscode-languageserver-types@3.16.0-next.2: - version "3.16.0-next.2" - resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz" - integrity sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q== - -vscode-nls@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz" - integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== - -vscode-uri@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz" - integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A== - -vue-eslint-parser@^7.0.0: - version "7.11.0" - resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz" - integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== - dependencies: - debug "^4.1.1" - eslint-scope "^5.1.1" - eslint-visitor-keys "^1.1.0" - espree "^6.2.1" - esquery "^1.4.0" - lodash "^4.17.21" - semver "^6.3.0" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -"webpack@^4.0.0 || ^5.0.0", webpack@^5.1.0: - version "5.90.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz" - integrity sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - 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.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.10, which-typed-array@^1.1.11: - version "1.1.11" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@^6.1.0: - version "6.2.2" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" - integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== - dependencies: - async-limiter "~1.0.0" - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" From c80514785c7b8bb1c35d116fbcb7a55f965a5ab5 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Fri, 10 May 2024 01:07:13 +0200 Subject: [PATCH 021/135] lint --- src/js/content.js | 12 +++++------- src/js/index.js | 9 ++++----- src/js/popup.js | 13 +++++++------ src/js/utils.js | 5 ++--- src/technologies/a.json | 4 ++-- src/technologies/c.json | 4 ++-- src/technologies/g.json | 10 +++++----- src/technologies/r.json | 32 ++++++++++++++++---------------- src/technologies/s.json | 7 ++++++- src/technologies/w.json | 24 ++++++++++++------------ 10 files changed, 61 insertions(+), 59 deletions(-) diff --git a/src/js/content.js b/src/js/content.js index 46798e0c8..b6adc115e 100644 --- a/src/js/content.js +++ b/src/js/content.js @@ -95,7 +95,6 @@ async function getDom(technologies) { } if (text) { - // eslint-disable-next-line unicorn/prefer-text-content const value = (node.innerText ? node.innerText.trim() : '').slice( 0, 1000000 @@ -245,7 +244,7 @@ const Content = { ) // Text - // eslint-disable-next-line unicorn/prefer-text-content + const text = document.body.innerText.replace(/\s+/g, ' ').slice(0, 25000) // CSS rules @@ -332,7 +331,6 @@ const Content = { .split('/') .shift()}`, - // eslint-disable-next-line unicorn/prefer-text-content `https://${ad.innerText.split('\n').pop()}`, ]), ] @@ -402,10 +400,10 @@ const Content = { args instanceof Error ? [args.toString()] : args - ? Array.isArray(args) - ? args - : [args] - : [], + ? Array.isArray(args) + ? args + : [args] + : [], }, (response) => { chrome.runtime.lastError diff --git a/src/js/index.js b/src/js/index.js index 364d90b6e..858819b76 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -33,10 +33,10 @@ function getRequiredTechnologies(name, categoryId) { return name ? Wappalyzer.requires.find(({ name: _name }) => _name === name).technologies : categoryId - ? Wappalyzer.categoryRequires.find( - ({ categoryId: _categoryId }) => _categoryId === categoryId - ).technologies - : undefined + ? Wappalyzer.categoryRequires.find( + ({ categoryId: _categoryId }) => _categoryId === categoryId + ).technologies + : undefined } function isSimilarUrl(a, b) { @@ -942,7 +942,6 @@ const Driver = { return urls } - // eslint-disable-next-line standard/computed-property-even-spacing const { language, detections, hits, https } = Driver.cache.hostnames[hostname] diff --git a/src/js/popup.js b/src/js/popup.js index 73f9bf5da..4f909d8e3 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -219,12 +219,12 @@ function getTechnologySpend(technologies) { const spend = totals.xhigh ? 'Very high' : totals.high - ? 'High' - : totals.mid - ? 'Medium' - : totals.low - ? 'Low' - : 'Very low' + ? 'High' + : totals.mid + ? 'Medium' + : totals.low + ? 'Low' + : 'Very low' return spend } @@ -748,6 +748,7 @@ const Popup = { const data = await response.json() if (!response.ok) { + // eslint-disable-next-line unicorn/error-message const error = new Error() error.data = data diff --git a/src/js/utils.js b/src/js/utils.js index 777a74c50..521310a2d 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -7,13 +7,12 @@ if (chrome.runtime.getManifest().manifest_version === 2) { chrome.action = chrome.browserAction } -// eslint-disable-next-line no-unused-vars const Utils = { agent: chrome.runtime.getURL('/').startsWith('moz-') ? 'firefox' : chrome.runtime.getURL('/').startsWith('safari-') - ? 'safari' - : 'chrome', + ? 'safari' + : 'chrome', /** * Use promises instead of callbacks diff --git a/src/technologies/a.json b/src/technologies/a.json index 5bfee3bcb..4f69e7b2b 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -1543,11 +1543,11 @@ ], "cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*", "description": "Edge Delivery Services in Adobe Experience Manager Sites as a Cloud Service, also know as Helix, Franklin, Next-Generation Composability is a fast and lightweight content management system from Adobe.", - "icon": "Adobe Experience Platform.svg", - "saas": true, "excludes": [ "Adobe Experience Manager" ], + "icon": "Adobe Experience Platform.svg", + "saas": true, "scriptSrc": [ "^.+/scripts/lib-franklin\\.js$", "^.+/scripts/aem\\.js$" diff --git a/src/technologies/c.json b/src/technologies/c.json index 88ea7859c..f4c427596 100644 --- a/src/technologies/c.json +++ b/src/technologies/c.json @@ -3113,8 +3113,8 @@ "description": "Constructor.io is a site search and merchandising platform designed to help ecommerce.", "icon": "ConstructorIO.png", "js": { - "constructorio": "", - "ConstructorioClient": "" + "ConstructorioClient": "", + "constructorio": "" }, "pricing": [ "high", diff --git a/src/technologies/g.json b/src/technologies/g.json index cd8a2a715..6a49b9f8b 100644 --- a/src/technologies/g.json +++ b/src/technologies/g.json @@ -1033,18 +1033,18 @@ 106 ], "cookies": { + "GLBE_SESS_ID": "", "GlobalE_CT_Data": "", + "GlobalE_Consent": "", "GlobalE_Data": "", - "GlobalE_SupportThirdPartCookies": "", - "GLBE_SESS_ID": "", - "GlobalE_Consent": "" + "GlobalE_SupportThirdPartCookies": "" }, "description": "Global-e is a provider of cross-border ecommerce solutions.", "icon": "Global-e.svg", "js": { + "GLBE_PARAMS": "", "GLOBALE_ENGINE_CONFIG": "", - "GlobalE": "", - "GLBE_PARAMS": "" + "GlobalE": "" }, "pricing": [ "poa" diff --git a/src/technologies/r.json b/src/technologies/r.json index 87277449f..dcc38b622 100644 --- a/src/technologies/r.json +++ b/src/technologies/r.json @@ -52,21 +52,6 @@ }, "website": "https://github.com/ruby/rdoc" }, - "Really Simple SSL & Security": { - "cats": [ - 16 - ], - "description": "Really Simple SSL & Security is an easy to install and performant security solution for WordPress.", - "icon": "really-simple-ssl.png", - "dom": "body[data-rsssl]", - "pricing": [ - "freemium", - "recurring" - ], - "requires": "WordPress", - "saas": true, - "website": "https://really-simple-ssl.com" - }, "REDAXO": { "cats": [ 1 @@ -750,6 +735,21 @@ "requires": "WordPress", "website": "https://wordpress.org/plugins/really-simple-captcha" }, + "Really Simple SSL & Security": { + "cats": [ + 16 + ], + "description": "Really Simple SSL & Security is an easy to install and performant security solution for WordPress.", + "dom": "body[data-rsssl]", + "icon": "really-simple-ssl.png", + "pricing": [ + "freemium", + "recurring" + ], + "requires": "WordPress", + "saas": true, + "website": "https://really-simple-ssl.com" + }, "RebelMouse": { "cats": [ 1 @@ -2344,7 +2344,7 @@ "icon": "route.png", "js": { "Routeapp": "", - "routeWidgetInitialized": "" + "routeWidgetInitialized": "" }, "scriptSrc": [ "cdn\\.routeapp\\.io", diff --git a/src/technologies/s.json b/src/technologies/s.json index c4b478c04..e69ce2cc1 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -4156,10 +4156,15 @@ 87 ], "description": "Slim SEO is a full-featured SEO plugin for WordPress that's lightweight, blazing fast with minimum configuration.", - "pricing": ["low", "freemium", "onetime", "recurring"], "dom": "#slim-seo-schema", "icon": "Slim-SEO.svg", "oss": true, + "pricing": [ + "low", + "freemium", + "onetime", + "recurring" + ], "requires": "WordPress", "website": "https://wpslimseo.com" }, diff --git a/src/technologies/w.json b/src/technologies/w.json index dd5fda9c3..e6fb66a15 100644 --- a/src/technologies/w.json +++ b/src/technologies/w.json @@ -516,18 +516,6 @@ "oss": true, "website": "https://wagtail.org" }, - "Wake": { - "cats": [ - 6 - ], - "description": "Wake is an ecommerce software with integrated digital solutions to manage online stores.", - "headers": { - "X-Powered-By": "Wake" - }, - "icon": "wakecommerce.svg", - "saas": true, - "website": "https://wake.tech/" - }, "Wair": { "cats": [ 76, @@ -577,6 +565,18 @@ "scriptSrc": "rum\\.wakav\\.ir/", "website": "https://www.wakav.ir" }, + "Wake": { + "cats": [ + 6 + ], + "description": "Wake is an ecommerce software with integrated digital solutions to manage online stores.", + "headers": { + "X-Powered-By": "Wake" + }, + "icon": "wakecommerce.svg", + "saas": true, + "website": "https://wake.tech/" + }, "WalkMe": { "cats": [ 58 From 4689e09cbe8d400192c6bb2dcc3d6778dce322be Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Fri, 10 May 2024 01:11:13 +0200 Subject: [PATCH 022/135] merged pipelines --- .github/workflows/{wpt-test.yml => test.yml} | 4 +-- .github/workflows/validate.yml | 30 -------------------- 2 files changed, 2 insertions(+), 32 deletions(-) rename .github/workflows/{wpt-test.yml => test.yml} (98%) delete mode 100644 .github/workflows/validate.yml diff --git a/.github/workflows/wpt-test.yml b/.github/workflows/test.yml similarity index 98% rename from .github/workflows/wpt-test.yml rename to .github/workflows/test.yml index e3225dbd2..6c9538a0e 100644 --- a/.github/workflows/wpt-test.yml +++ b/.github/workflows/test.yml @@ -25,8 +25,8 @@ jobs: - name: Install dependencies run: npm install - - name: Lint - run: npm run lint + - name: Validate + run: npm run validate - name: Run WebPageTest with unit tests env: diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml deleted file mode 100644 index ddba686f9..000000000 --- a/.github/workflows/validate.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Validate -on: - push: - branches: - - main - pull_request: - -permissions: - contents: read # to fetch code (actions/checkout) - -jobs: - validate: - name: Validate - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2.3.3 - - uses: actions/setup-node@v2.1.2 - with: - node-version: '14' - - name: Restore npm cache - uses: actions/cache@v2 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: Install dependencies - run: npm install - - name: Validate - run: npm run validate From fcae489c7cec8eea1bfec8adc5fa293ef1b082cb Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Fri, 10 May 2024 01:14:38 +0200 Subject: [PATCH 023/135] require all steps --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6c9538a0e..37d1fc9da 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,6 @@ jobs: WPT_SERVER: "webpagetest.httparchive.org" WPT_API_KEY: ${{ secrets.HA_API_KEY }} PR_NUMBER: ${{ github.event.pull_request.number }} - if: ${{ env.WPT_API_KEY != '' }} run: | echo "::group::Unit tests" npm test From 81b67fab56b2b2204d54c4c97611e4f846d4a442 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Fri, 10 May 2024 22:44:59 +0200 Subject: [PATCH 024/135] adex --- src/images/icons/ADEX.png | Bin 0 -> 3021 bytes src/technologies/a.json | 12 ++++++++++++ 2 files changed, 12 insertions(+) create mode 100644 src/images/icons/ADEX.png diff --git a/src/images/icons/ADEX.png b/src/images/icons/ADEX.png new file mode 100644 index 0000000000000000000000000000000000000000..e240e342ba32a7c6409bff897cb7006e8d6349d6 GIT binary patch literal 3021 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 Date: Sun, 19 May 2024 13:40:31 +0200 Subject: [PATCH 025/135] src cleanup --- .github/ISSUE_TEMPLATE/technology-request.md | 2 +- .gitignore | 12 - README.md | 19 +- bin/build.js | 22 +- bin/manifest.js | 12 - src/_locales/ca/messages.json | 220 ------ src/_locales/de/messages.json | 220 ------ src/_locales/el/messages.json | 214 ------ src/_locales/en/messages.json | 94 +-- src/_locales/es/messages.json | 220 ------ src/_locales/fa/messages.json | 220 ------ src/_locales/fr/messages.json | 220 ------ src/_locales/gl_ES/messages.json | 219 ------ src/_locales/gr/messages.json | 216 ------ src/_locales/id/messages.json | 220 ------ src/_locales/it/messages.json | 220 ------ src/_locales/ja/messages.json | 218 ------ src/_locales/kk/messages.json | 218 ------ src/_locales/ko/messages.json | 218 ------ src/_locales/nl/messages.json | 220 ------ src/_locales/pl/messages.json | 220 ------ src/_locales/pt/messages.json | 220 ------ src/_locales/pt_BR/messages.json | 220 ------ src/_locales/ro/messages.json | 220 ------ src/_locales/ru/messages.json | 218 ------ src/_locales/sk/messages.json | 220 ------ src/_locales/tr/messages.json | 220 ------ src/_locales/uk/messages.json | 220 ------ src/_locales/uz/messages.json | 219 ------ src/_locales/vi/messages.json | 213 ------ src/_locales/zh_CN/messages.json | 218 ------ src/_locales/zh_TW/messages.json | 219 ------ src/css/styles.css | 446 +----------- src/html/options.html | 18 - src/html/popup.html | 179 +---- src/images/safari.svg | Bin 789 -> 0 bytes src/js/content.js | 48 +- src/js/index.js | 191 ++--- src/js/js.js | 2 +- src/js/options.js | 28 +- src/js/popup.js | 709 +------------------ src/js/tictactoe.js | 210 ------ src/js/utils.js | 18 +- src/js/wappalyzer.js | 50 +- src/manifest-safari.json | 79 --- src/manifest-v2.json | 77 -- src/{manifest-v3.json => manifest.json} | 8 +- src/schema.json | 10 - 48 files changed, 133 insertions(+), 7791 deletions(-) delete mode 100755 bin/manifest.js delete mode 100644 src/_locales/ca/messages.json delete mode 100644 src/_locales/de/messages.json delete mode 100644 src/_locales/el/messages.json delete mode 100644 src/_locales/es/messages.json delete mode 100644 src/_locales/fa/messages.json delete mode 100644 src/_locales/fr/messages.json delete mode 100644 src/_locales/gl_ES/messages.json delete mode 100644 src/_locales/gr/messages.json delete mode 100644 src/_locales/id/messages.json delete mode 100644 src/_locales/it/messages.json delete mode 100644 src/_locales/ja/messages.json delete mode 100644 src/_locales/kk/messages.json delete mode 100644 src/_locales/ko/messages.json delete mode 100644 src/_locales/nl/messages.json delete mode 100644 src/_locales/pl/messages.json delete mode 100644 src/_locales/pt/messages.json delete mode 100644 src/_locales/pt_BR/messages.json delete mode 100644 src/_locales/ro/messages.json delete mode 100644 src/_locales/ru/messages.json delete mode 100644 src/_locales/sk/messages.json delete mode 100644 src/_locales/tr/messages.json delete mode 100644 src/_locales/uk/messages.json delete mode 100644 src/_locales/uz/messages.json delete mode 100644 src/_locales/vi/messages.json delete mode 100644 src/_locales/zh_CN/messages.json delete mode 100644 src/_locales/zh_TW/messages.json delete mode 100644 src/images/safari.svg delete mode 100644 src/js/tictactoe.js delete mode 100644 src/manifest-safari.json delete mode 100644 src/manifest-v2.json rename src/{manifest-v3.json => manifest.json} (94%) delete mode 100644 src/schema.json diff --git a/.github/ISSUE_TEMPLATE/technology-request.md b/.github/ISSUE_TEMPLATE/technology-request.md index e2c4aa1bf..da6658569 100644 --- a/.github/ISSUE_TEMPLATE/technology-request.md +++ b/.github/ISSUE_TEMPLATE/technology-request.md @@ -7,4 +7,4 @@ assignees: '' --- -You may request a new technology to be added but chances of having it included are greatly improved if you submit a pull request. Please refer to the [contributing guide](https://github.com/AliasIO/wappalyzer/blob/master/CONTRIBUTING.md). +You may request a new technology to be added but chances of having it included are greatly improved if you submit a pull request. Please refer to the [contributing guide](https://github.com/HTTPArchive/wappalyzer/blob/main/CONTRIBUTING.md). diff --git a/.gitignore b/.gitignore index 97f83b858..d8acc0c0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,10 @@ /build/* /src/images/icons/converted/* -/src/manifest.json -/src/manifest.bak.json - node_modules package-lock.json - -!.gitkeep - Thumbs.db Desktop.ini *.DS_Store *.log ._* -tags -tags.* .idea -/nbproject/private/ -src/out.json - -keys.json diff --git a/README.md b/README.md index e307ddf9d..45a891b27 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Validate](https://github.com/wappalyzer/wappalyzer/actions/workflows/validate.yml/badge.svg)](https://github.com/wappalyzer/wappalyzer/actions/workflows/validate.yml) +[![Validate](https://github.com/HTTPArchive/wappalyzer/actions/workflows/validate.yml/badge.svg)](https://github.com/HTTPArchive/wappalyzer/actions/workflows/validate.yml) [![Github Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/AliasIO)](https://github.com/sponsors/AliasIO) Wappalyzer @@ -13,12 +13,11 @@ - [Git](https://git-scm.com) - [Node.js](https://nodejs.org) version 14 or higher -- [Yarn](https://yarnpkg.com) ## Quick start ```sh -git clone https://github.com/wappalyzer/wappalyzer.git +git clone https://github.com/HTTPArchive/wappalyzer.git cd wappalyzer yarn install ``` @@ -27,24 +26,18 @@ yarn install ### Chrome extension -- Go to `about:extensions` +- Go to `chrome:extensions` - Enable 'Developer mode' - Click 'Load unpacked' - Select `src` -### Firefox extension - -- Go to `about:debugging#/runtime/this-firefox` -- Click 'Load Temporary Add-on' -- Select `src/manifest.json` - ## Specification A long list of [regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) is used to identify technologies on web pages. Wappalyzer inspects HTML code, as well as JavaScript variables, response headers and more. -Patterns (regular expressions) are kept in [`src/technologies/`](https://github.com/wappalyzer/wappalyzer/blob/master/src/technologies). The following is an example of an application fingerprint. +Patterns (regular expressions) are kept in [`src/technologies/`](https://github.com/HTTPArchive/wappalyzer/tree/main/src/technologies). The following is an example of an application fingerprint. -#### Example +### Example ```json "Example": { @@ -104,7 +97,7 @@ Patterns (regular expressions) are kept in [`src/technologies/`](https://github. ## JSON fields -Find the JSON schema at [`schema.json`](https://github.com/wappalyzer/wappalyzer/blob/master/schema.json). +Find the JSON schema at [`schema.json`](https://github.com/HTTPArchive/wappalyzer/blob/main/schema.json). ### Required properties diff --git a/bin/build.js b/bin/build.js index 04f62203f..d7ce3c54c 100755 --- a/bin/build.js +++ b/bin/build.js @@ -2,7 +2,7 @@ const fs = require('fs') const Zip = require('adm-zip') const currentVersion = JSON.parse( - fs.readFileSync('./src/manifest-v3.json') + fs.readFileSync('./src/manifest.json') ).version const version = process.argv[2] @@ -16,7 +16,7 @@ if (!version) { process.exit(1) } -;['./src/manifest-v2.json', './src/manifest-v3.json'].forEach((file) => { +;['./src/manifest.json'].forEach((file) => { const json = JSON.parse(fs.readFileSync(file)) json.version = version @@ -24,22 +24,8 @@ if (!version) { fs.writeFileSync(file, JSON.stringify(json, null, 2)) }) -fs.copyFileSync(`./src/manifest.json`, './src/manifest.bak.json') - -fs.copyFileSync(`./src/manifest-v2.json`, './src/manifest.json') - -let zip = new Zip() - -zip.addLocalFolder('./src', '') - -zip.writeZip('./build/webextension-v2.zip') - -fs.copyFileSync(`./src/manifest-v3.json`, './src/manifest.json') - -zip = new Zip() +const zip = new Zip() zip.addLocalFolder('./src', '') -zip.writeZip('./build/webextension-v3.zip') - -fs.copyFileSync(`./src/manifest.bak.json`, './src/manifest.json') +zip.writeZip('./build/webextension.zip') diff --git a/bin/manifest.js b/bin/manifest.js deleted file mode 100755 index 58fc6c224..000000000 --- a/bin/manifest.js +++ /dev/null @@ -1,12 +0,0 @@ -const fs = require('fs') - -const version = process.argv[2] - -if (!version) { - // eslint-disable-next-line no-console - console.error(`No manifest version specified.`) - - process.exit(1) -} - -fs.copyFileSync(`./src/manifest-${version}.json`, './src/manifest.json') diff --git a/src/_locales/ca/messages.json b/src/_locales/ca/messages.json deleted file mode 100644 index ff471b4f6..000000000 --- a/src/_locales/ca/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Bifurcar Wappalyzer a GitHub" }, - "twitter": { "message": "Seguir Wappalyzer a Twitter" }, - "website": { "message": "Anar a wappalyzer.com" }, - "options": { "message": "Opcions" }, - "optionsSave": { "message": "Desar opcions" }, - "optionsSaved": { "message": "Desat" }, - "optionUpgradeMessage": { "message": "Notificar les actualitzacions disponibles" }, - "optionDynamicIcon": { "message": "Utilitzar la icona de la tecnologia enlloc del logotip de Wappalyzer" }, - "optionTracking": { "message": "Enviar les tecnologies identificades de forma anònima a wappalyzer.com" }, - "optionThemeMode": { "message": "Habilitar la compatibilitat de l'aspecte fosc" }, - "optionBadge": { "message": "Mostrar el nombre de tecnologies identificades en la icona" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Desactivar en aquest web" }, - "clearCache": { "message": "Esborrar la memòria cau de les deteccions" }, - "nothingToDo": { "message": "Res a fer aquí." }, - "noAppsDetected": { "message": "No s'ha detectat cap tecnologia." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Mostrar sempre la icona" }, - "termsAccept": { "message": "M'està bé" }, - "termsDecline": { "message": "Desactivar" }, - "termsContent": { "message": "Aquesta extensió envia informació anònima sobre els llocs web que visiteu, inclosos el nom de domini i les tecnologies identificades a wappalyzer.com. Això pot desactivar-se a Opcions." }, - "privacyPolicy": { "message": "Política de privadesa" }, - "createAlert": { "message": "Crear una alerta per aquest web" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Taulers de missatgeria" }, - "categoryName3": { "message": "Gestor de bases de dades" }, - "categoryName4": { "message": "Eines de documentació" }, - "categoryName5": { "message": "Ginys" }, - "categoryName6": { "message": "Comerç electrònic" }, - "categoryName7": { "message": "Galeries de fotos" }, - "categoryName8": { "message": "Wikis" }, - "categoryName9": { "message": "Panells d'allotjament" }, - "categoryName10": { "message": "Analítíques" }, - "categoryName11": { "message": "Blocs" }, - "categoryName12": { "message": "Marcs JavaScript" }, - "categoryName13": { "message": "Rastrejadors d'incidències" }, - "categoryName14": { "message": "Reproductors de vídeo" }, - "categoryName15": { "message": "Sistemes de comentaris" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Tipografies" }, - "categoryName18": { "message": "Marcs web" }, - "categoryName19": { "message": "Miscel·lània" }, - "categoryName20": { "message": "Editors" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Servidors web" }, - "categoryName23": { "message": "Eines de memòria cau" }, - "categoryName24": { "message": "Editors de text enriquit" }, - "categoryName25": { "message": "Gràfics JavaScript" }, - "categoryName26": { "message": "Marcs mòbils" }, - "categoryName27": { "message": "Llenguatges de programació" }, - "categoryName28": { "message": "Sistemes operatius" }, - "categoryName29": { "message": "Motors de cerca" }, - "categoryName30": { "message": "Correu web" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Automatitzacions de màrqueting" }, - "categoryName33": { "message": "Extensions del servidor web" }, - "categoryName34": { "message": "Bases de dades" }, - "categoryName35": { "message": "Mapes" }, - "categoryName36": { "message": "Xarxes de publicitat" }, - "categoryName37": { "message": "Serveis de xarxa" }, - "categoryName38": { "message": "Servidors multimèdia" }, - "categoryName39": { "message": "Càmeres web" }, - "categoryName40": { "message": "Impressores" }, - "categoryName41": { "message": "Processadors de pagament" }, - "categoryName42": { "message": "Gestors d'etiquetes" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Sistemes Build/CI" }, - "categoryName45": { "message": "Sistemes SCADA" }, - "categoryName46": { "message": "Accessos remots" }, - "categoryName47": { "message": "Eines de desenvolupament" }, - "categoryName48": { "message": "Emmagatzematge de xarxa" }, - "categoryName49": { "message": "Lectors de canals" }, - "categoryName50": { "message": "Sistemes de gestió de documents" }, - "categoryName51": { "message": "Creadors de pàgines d'inici" }, - "categoryName52": { "message": "Xats en directe" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Comptabilitat" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Generadors de llocs estàtics" }, - "categoryName58": { "message": "Incorporacions d'usuaris" }, - "categoryName59": { "message": "Llibreries JavaScript" }, - "categoryName60": { "message": "Contenidors" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Proxys invers" }, - "categoryName65": { "message": "Balanceigs de càrrega" }, - "categoryName66": { "message": "Marcs UI" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accesibilitat" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "Autoritats de certificació SSL/TLS" }, - "categoryName71": { "message": "Programes d'afiliació" }, - "categoryName72": { "message": "Programacions de cites" }, - "categoryName73": { "message": "Enquestes" }, - "categoryName74": { "message": "Testeigs A/B" }, - "categoryName75": { "message": "Correus electrònics" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json deleted file mode 100644 index 783588462..000000000 --- a/src/_locales/de/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Forke Wappalyzer bei GitHub!" }, - "twitter": { "message": "Folge Wappalyzer bei Twitter" }, - "website": { "message": "Gehe zu wappalyzer.com" }, - "options": { "message": "Optionen" }, - "optionsSave": { "message": "Optionen speichern" }, - "optionsSaved": { "message": "Gespeichert" }, - "optionUpgradeMessage": { "message": "Benachrichtige mich bei Upgrades" }, - "optionDynamicIcon": { "message": "Applikations Icon anstatt des Wappalyzer Icons verwenden" }, - "optionTracking": { "message": "Anonyme Statistiken an wappalyzer.com übermitteln" }, - "optionThemeMode": { "message": "Dunkel-Modus aktivieren" }, - "optionBadge": { "message": "Anzahl der identifizierten Optionen am Icon anzeigen" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Auf dieser Website deaktivieren" }, - "clearCache": { "message": "Cache leeren" }, - "nothingToDo": { "message": "Nichts zu tun." }, - "noAppsDetected": { "message": "Keine Applikationen gefunden" }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Icon immer anzeigen" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "Diese Erweiterung sendet anonyme Informationen über Websites, die Sie besuchen, einschließlich der Domain und der identifizierten Technologien, an wappalyzer.com. Dies kann in den Einstellungen deaktiviert werden." }, - "privacyPolicy": { "message": "Datenschutzerklärung" }, - "createAlert": { "message": "Alarm für diese Website erstellen" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Nachrichten Board" }, - "categoryName3": { "message": "Datenbankverwaltung" }, - "categoryName4": { "message": "Dokumentations Tool" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "E-Commerce" }, - "categoryName7": { "message": "Fotogalerien" }, - "categoryName8": { "message": "Wikis" }, - "categoryName9": { "message": "Hosting-Panels" }, - "categoryName10": { "message": "Statistiken" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "JavaScript Frameworks" }, - "categoryName13": { "message": "Ticketsysteme" }, - "categoryName14": { "message": "Videoplayer" }, - "categoryName15": { "message": "Kommentarsystem" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Schrift Script" }, - "categoryName18": { "message": "Web Frameworks" }, - "categoryName19": { "message": "Sonstiges" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Web Server" }, - "categoryName23": { "message": "Cache Tool" }, - "categoryName24": { "message": "Rich Text Editor" }, - "categoryName25": { "message": "JavaScript Graphics" }, - "categoryName26": { "message": "Mobile Framework" }, - "categoryName27": { "message": "Programmiersprache" }, - "categoryName28": { "message": "Betriebssysteme" }, - "categoryName29": { "message": "Suchmaschinen" }, - "categoryName30": { "message": "Webmail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Marketing Automation" }, - "categoryName33": { "message": "Web Server Erweiterungen" }, - "categoryName34": { "message": "Datenbanken" }, - "categoryName35": { "message": "Karten" }, - "categoryName36": { "message": "Werbenetzwerke" }, - "categoryName37": { "message": "Netzwerkdienste" }, - "categoryName38": { "message": "Medienserver" }, - "categoryName39": { "message": "Web-Kameras" }, - "categoryName40": { "message": "Drucker" }, - "categoryName41": { "message": "Zahlungsverarbeiter" }, - "categoryName42": { "message": "Tag Manager" }, - "categoryName43": { "message": "Bezahlblockade" }, - "categoryName44": { "message": "CI-Systeme" }, - "categoryName45": { "message": "SCADA System" }, - "categoryName46": { "message": "Fernzugriff" }, - "categoryName47": { "message": "Entwicklungswerkzeuge" }, - "categoryName48": { "message": "Netzwerkspeicher" }, - "categoryName49": { "message": "Feedleser" }, - "categoryName50": { "message": "Dokumentmanagementsysteme" }, - "categoryName51": { "message": "Website Baukästen" }, - "categoryName52": { "message": "Live-Chat" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Buchhaltung" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Statischer Seitengenerator" }, - "categoryName58": { "message": "Benutzer-Onboarding" }, - "categoryName59": { "message": "JavaScript Bibliotheken" }, - "categoryName60": { "message": "Container" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxies" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Barrierefreiheit" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authority" }, - "categoryName71": { "message": "Partnerprogram" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/el/messages.json b/src/_locales/el/messages.json deleted file mode 100644 index 8af1cc562..000000000 --- a/src/_locales/el/messages.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "github": { "message": "Κάνε fork το Wappalyzer στο GitHub!" }, - "twitter": { "message": "Ακολούθησε το Wappalyzer στο Twitter" }, - "website": { "message": "Πήγαινε στο wappalyzer.com" }, - "options": { "message": "Ρυθμίσεις Wappalyzer" }, - "optionsSave": { "message": "Ρυθμίσεις αποθήκευσης" }, - "optionsSaved": { "message": "Αποθηκεύτηκε" }, - "optionUpgradeMessage": { "message": "Ενημερώστε με για αναβαθμίσεις" }, - "optionDynamicIcon": { "message": "Use application icon instead of Wappalyzer logo" }, - "optionTracking": { "message": "Ανώνυμη αποστολή αναφορών για εντοπισμένες εφαρμογές στο wappalyzer.com για έρευνα" }, - "optionThemeMode": { "message": "Ενεργοποίηση συμβατότητας σκοτεινό τρόπο." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Καμία ενέργεια." }, - "noAppsDetected": { "message": "Δεν ανιχνεύθηκαν εφαρμογές." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Διαδικτυακό Φόρουμ" }, - "categoryName3": { "message": "Διαχειριστής Βάσης Δεδομένων" }, - "categoryName4": { "message": "Εργαλείο Τεκμηρίωσης" }, - "categoryName5": { "message": "Widget" }, - "categoryName10": { "message": "Analytics" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework της JavaScript" }, - "categoryName13": { "message": "Issue Tracker" }, - "categoryName14": { "message": "Πρόγραμμα αναπαραγωγής Βίντεο" }, - "categoryName15": { "message": "Σύστημα Σχολίων" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Script Γραμματοσειράς" }, - "categoryName18": { "message": "Framework Διαδικτύου" }, - "categoryName19": { "message": "Διάφορα" }, - "categoryName20": { "message": "Επεξεργαστής Κειμένου" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Διακομιστής Διαδικτύου" }, - "categoryName23": { "message": "Εργαλείο Μνήμης Cache" }, - "categoryName24": { "message": "Επεξεργαστής Εμπλουτισμένου Κειμένου" }, - "categoryName25": { "message": "Γραφικά JavaScript" }, - "categoryName26": { "message": "Framework για Κινητά" }, - "categoryName27": { "message": "Γλώσσα Προγραμματισμού" }, - "categoryName28": { "message": "Λειτουργικό Σύστημα" }, - "categoryName29": { "message": "Μηχανή Αναζήτησης" }, - "categoryName30": { "message": "Web Mail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Αυτοματοποίηση Marketing" }, - "categoryName33": { "message": "Επέκταση Διακομιστή Διαδικτύου" }, - "categoryName34": { "message": "Βάση Δεδομένων" }, - "categoryName35": { "message": "Χάρτης" }, - "categoryName36": { "message": "Δίκτυο Διαφημίσεων" }, - "categoryName37": { "message": "Υπηρεσία Δικτύου" }, - "categoryName38": { "message": "Διακομιστής Πολυμέσων" }, - "categoryName39": { "message": "Διαδικτυακή κάμερα" }, - "categoryName40": { "message": "Εκτυπωτής" }, - "categoryName41": { "message": "Σύστημα Επεξεργασίας Πληρωμών" }, - "categoryName42": { "message": "Σύστημα Διαχείρισης Tags" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Σύστημα Build/CI" }, - "categoryName45": { "message": "Σύστημα SCADA" }, - "categoryName46": { "message": "Απομακρυσμένη Πρόσβαση" }, - "categoryName47": { "message": "Εργαλείο Ανάπτυξης" }, - "categoryName48": { "message": "Δικτυακός Αποθηκευτικός Χώρος" }, - "categoryName49": { "message": "Feed Readers" }, - "categoryName50": { "message": "Συστήματα Διαχειρίσης Εγγράφων" }, - "categoryName51": { "message": "Σύστημα Κατασκευής Σελίδων Υποδοχής" }, - "categoryName52": { "message": "Live Chat" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 10d34fd96..6677bbb9d 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -1,111 +1,19 @@ { - "github": { "message": "Fork Wappalyzer on GitHub!" }, - "twitter": { "message": "Follow Wappalyzer on Twitter" }, - "website": { "message": "Go to wappalyzer.com" }, "options": { "message": "Options" }, "optionsSave": { "message": "Save options" }, "optionsSaved": { "message": "Saved" }, - "optionUpgradeMessage": { "message": "Tell me about upgrades" }, "optionDynamicIcon": { "message": "Use technology icon instead of Wappalyzer logo" }, - "optionTracking": { "message": "Anonymously send identified technologies to wappalyzer.com" }, - "optionThemeMode": { "message": "Enable dark mode compatibility" }, "optionBadge": { "message": "Show the number of identified technologies on the icon" }, "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, "disableOnDomain": { "message": "Disable on this website" }, "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Nothing to do here." }, "noAppsDetected": { "message": "No technologies detected." }, "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, "issue": { "message": "Something wrong or missing?" }, - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - "categoryName1": { "message": "CMS" }, "categoryName2": { "message": "Message boards" }, "categoryName3": { "message": "Database managers" }, @@ -157,7 +65,7 @@ "categoryName51": { "message": "Page builder" }, "categoryName52": { "message": "Live chat" }, "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, + "categoryName54": { "message": "SEO" }, "categoryName55": { "message": "Accounting" }, "categoryName56": { "message": "Cryptominers" }, "categoryName57": { "message": "Static site generators" }, diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json deleted file mode 100644 index 5c43d2e4f..000000000 --- a/src/_locales/es/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "¡Forkea Wappalyzer en GitHub!" }, - "twitter": { "message": "Sigue Wappalyzer en Twitter" }, - "website": { "message": "Ir a wappalyzer.com" }, - "options": { "message": "Opciones" }, - "optionsSave": { "message": "Guardar opciones" }, - "optionsSaved": { "message": "Guardado" }, - "optionUpgradeMessage": { "message": "Indicarme actualizaciones" }, - "optionDynamicIcon": { "message": "Usa el icono de la aplicación en lugar del logo de Wappalyzer" }, - "optionTracking": { "message": "Enviar informes anónimos sobre las aplicaciones detectadas a wappalyzer.com para análisis" }, - "optionThemeMode": { "message": "Habilitar la compatibilidad del modo oscuro." }, - "optionBadge": { "message": "Mostrar la cantidad de tecnologías identificadas en el icono" }, - "optionShowCached": { "message": "Incluir detecciones cacheadas en los resultados" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "obtiene tu API key" }, - "disableOnDomain": { "message": "Deshabilitar para este sitio" }, - "clearCache": { "message": "Limpiar detecciones cacheadas" }, - "nothingToDo": { "message": "Nada que hacer aquí." }, - "noAppsDetected": { "message": "Aplicaciones no detectadas." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Siempre mostrar icono" }, - "termsAccept": { "message": "Estoy bien con eso" }, - "termsDecline": { "message": "Deshabilitar" }, - "termsContent": { "message": "Esta extensión envía informacion anónima sobre los sitios que visitas, inluyendo el nombre de dominio y las tecnologías identificadas, a wappalyzer.com. Esto puede deshabilitarse en las opciones." }, - "privacyPolicy": { "message": "Política de privacidad" }, - "createAlert": { "message": "Crear una alerta para este sitio" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Tecnologías" }, - "tabPlus": { "message": "Más información" }, - "creditBalance": { "message": "Créditos:" }, - "plusMessageHeading": { "message": "Obtiene Plus por $$10/mo" }, - "plusMessage": { "message": "Con Plus, los datos de contacto de los sitios que visitas se muestran aquí." }, - "plusButton": { "message": "Regístrate" }, - "plusEmpty": { "message": "No se encontraron resultados." }, - "plusCrawl": { "message": "No se encontraron resultados, intente más tarde." }, - "formSave": { "message": "Guardar" }, - "issue": { "message": "¿Algo funciona mal o falta?" }, - - "setCompany": { "message": "Información de la empresa" }, - "setKeywords": { "message": "Palabras clave" }, - "setEmail": { "message": "Direcciones de correo electrónico" }, - "setPhone": { "message": "Números de teléfono" }, - "setAddress": { "message": "Direcciones" }, - "setContact": { "message": "Datos de contacto" }, - "setSocial": { "message": "Cuentas de redes sociales" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Seguridad" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP país" }, - "attributeIpRegion": { "message": "IP región" }, - "attributeLanguage": { "message": "Lenguaje" }, - "attributeEmail": { "message": "Dirección de correo" }, - "attributeVerifiedEmail": { "message": "Dirección de correo (verificada)" }, - "attributeSafeEmail": { "message": "Dirección de correo (segura)" }, - "attributePhone": { "message": "Número telefónico" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Nombre de empresa inferido" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Nombre de la empresa" }, - "attributeIndustry": { "message": "Industria" }, - "attributeAbout": { "message": "Acerca de" }, - "attributeLocations": { "message": "Ubicaciones" }, - "attributeCompanySize": { "message": "Tamaño de la empresa" }, - "attributeCompanyType": { "message": "Tipo de empresa" }, - "attributeCompanyFounded": { "message": "Empresa fundada" }, - "attributeKeywords": { "message": "Palabras clave" }, - "attributeEmployees": { "message": "Personas" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "Gestor de Contenido" }, - "categoryName2": { "message": "Foro" }, - "categoryName3": { "message": "Gestor de Bases de Datos" }, - "categoryName4": { "message": "Herramienta de Documentación" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Tienda Web" }, - "categoryName7": { "message": "Galería fotográfica" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Panel de Hosting" }, - "categoryName10": { "message": "Analítica" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework JavaScript" }, - "categoryName13": { "message": "Gestor de Incidencias" }, - "categoryName14": { "message": "Reproductor de Vídeo" }, - "categoryName15": { "message": "Sistema de Comentarios" }, - "categoryName16": { "message": "Seguridad" }, - "categoryName17": { "message": "Tipografía" }, - "categoryName18": { "message": "Framework Web" }, - "categoryName19": { "message": "Miscelánea" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Servidor Web" }, - "categoryName23": { "message": "Herramienta de Cache" }, - "categoryName24": { "message": "Editor de Texto Enriquecido" }, - "categoryName25": { "message": "Gráficos JavaScript" }, - "categoryName26": { "message": "Framework Móvil" }, - "categoryName27": { "message": "Lenguaje de programación" }, - "categoryName28": { "message": "Sistema Operativo" }, - "categoryName29": { "message": "Motor de Búsqueda" }, - "categoryName30": { "message": "Correo Web" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Automatización de Marketing" }, - "categoryName33": { "message": "Extensión de Servidor Web" }, - "categoryName34": { "message": "Base de Datos" }, - "categoryName35": { "message": "Mapa" }, - "categoryName36": { "message": "Red de Publicidad" }, - "categoryName37": { "message": "Servicio de red" }, - "categoryName38": { "message": "Servidor multimedia" }, - "categoryName39": { "message": "Cámara web" }, - "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "Procesador de pagos" }, - "categoryName42": { "message": "Tag Manager" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Build/CI System" }, - "categoryName45": { "message": "SCADA System" }, - "categoryName46": { "message": "Acceso remoto" }, - "categoryName47": { "message": "Herramienta de desarrollo" }, - "categoryName48": { "message": "Almacenamiento de red" }, - "categoryName49": { "message": "Lectores de feed" }, - "categoryName50": { "message": "Sistema de gestión de documentos" }, - "categoryName51": { "message": "Landing Page Builder" }, - "categoryName52": { "message": "Chat en vivo" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Contabilidad" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Generador de sitios estáticos" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "Librerías JavaScript" }, - "categoryName60": { "message": "Contenedores" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Proxy reverso" }, - "categoryName65": { "message": "Balanceador de carga" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accesibilidad" }, - "categoryName69": { "message": "Autenticación" }, - "categoryName70": { "message": "Autoridades certificadoras SSL/TLS" }, - "categoryName71": { "message": "Marketing de afiliación" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Encuestas" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalización" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocalización" }, - "categoryName80": { "message": "Temas de WordPress" }, - "categoryName81": { "message": "Temas de Shopify" }, - "categoryName82": { "message": "Temas de Drupal" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentación" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Traductor" }, - "categoryName90": { "message": "Reseñas" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservas y delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Abandono de carritos" }, - "categoryName99": { "message": "Transportistas" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Transmisiónes en vivo" }, - "categoryName104": { "message": "Reserva de entradas" }, - "categoryName105": { "message": "Realidad aumentada" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/fa/messages.json b/src/_locales/fa/messages.json deleted file mode 100644 index 6d781941e..000000000 --- a/src/_locales/fa/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "چنگال زدن Wappalyzer در گیت‌هاب!" }, - "twitter": { "message": "دنبال کردن Wappalyzer در توییتر" }, - "website": { "message": "رفتن به wappalyzer.com" }, - "options": { "message": "گزینه‌ها" }, - "optionsSave": { "message": "ذخیره گزینه‌ها" }, - "optionsSaved": { "message": "ذخیره شد" }, - "optionUpgradeMessage": { "message": "من را از بروزرسانی‌ها با خبر کن" }, - "optionDynamicIcon": { "message": "از نماد فن آوری به جای علامت Wappalyzer استفاده شود" }, - "optionTracking": { "message": "ارسال فن آوری های شناسایی شده به صورت ناشناس به wappalyzer.com" }, - "optionThemeMode": { "message": "فعال کردن حالت سازگاری تاریک." }, - "optionBadge": { "message": "نمایش تعداد فناوری های شناسایی شده روی آیکون" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "غیرفعال کردن در این وبسایت" }, - "clearCache": { "message": "پاکسازی شناسایی های کش شده" }, - "nothingToDo": { "message": "هیچ چیز برای انجام اینجا نیست." }, - "noAppsDetected": { "message": "هیچ فن‌آوری شناسایی نشده است." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "همیشه نماد را نشان بده" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "این افزونه اطلاعات وب‌سایت‌های بازدید شده توسط شما را به صورت ناشناس ارسال می‌کند، مانند آدرس سایت و تکنولوژی‌های استفاده شده در آن سایت را ارسال می‌کند. اطلاعات بیشتر در wappalyzer.com. شما می‌توانید این افزونه را غیرفعال کنید." }, - "privacyPolicy": { "message": "سیاست حفظ حریم خصوصی" }, - "createAlert": { "message": "ساخت یک هشدار برای این وبسایت" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "سیستم مدیریت محتوا" }, - "categoryName2": { "message": "انجمن پیام" }, - "categoryName3": { "message": "مدیریت پایگاه داده" }, - "categoryName4": { "message": "ابزار مستند سازی" }, - "categoryName5": { "message": "ابزارک" }, - "categoryName6": { "message": "تجارت الکترونیک" }, - "categoryName7": { "message": "گالری تصویر" }, - "categoryName8": { "message": "ویکی‌ها" }, - "categoryName9": { "message": "پنل‌های میزبانی" }, - "categoryName10": { "message": "تجزیه و تحلیل‌ها" }, - "categoryName11": { "message": "بلاگ" }, - "categoryName12": { "message": "فریم ورک جاوا اسکریپت" }, - "categoryName13": { "message": "ردیاب مشکل" }, - "categoryName14": { "message": "پخش کننده ویدیویی" }, - "categoryName15": { "message": "سیستم نظرسنجی" }, - "categoryName16": { "message": "امنیت" }, - "categoryName17": { "message": "اسکریپ فونت" }, - "categoryName18": { "message": "چارچوب وب" }, - "categoryName19": { "message": "متفرقه" }, - "categoryName20": { "message": "ویرایشگر" }, - "categoryName21": { "message": "سامانه مدیریت آموزشی" }, - "categoryName22": { "message": "وب سرور" }, - "categoryName23": { "message": "ابزار کش" }, - "categoryName24": { "message": "ویرایشگر متن توانمند" }, - "categoryName25": { "message": "گرافیک‌های جاوا اسکریپت" }, - "categoryName26": { "message": "چارچوب موبایل" }, - "categoryName27": { "message": "زبان برنامه نویسی" }, - "categoryName28": { "message": "سیستم عامل" }, - "categoryName29": { "message": "موتور جستجو" }, - "categoryName30": { "message": "پست الکترونیکی تحت وب" }, - "categoryName31": { "message": "شبکه توزیع محتوا" }, - "categoryName32": { "message": "اتوماسیون بازاریابی" }, - "categoryName33": { "message": "افزونه وب سرور" }, - "categoryName34": { "message": "پایگاه‌داده" }, - "categoryName35": { "message": "نقشه" }, - "categoryName36": { "message": "شبکه تبلیغاتی" }, - "categoryName37": { "message": "خدمات شبکه" }, - "categoryName38": { "message": "سرور رسانه" }, - "categoryName39": { "message": "وب‌کم" }, - "categoryName40": { "message": "پرینتر" }, - "categoryName41": { "message": "پردازنده پرداخت" }, - "categoryName42": { "message": "مدیر برچسب" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "سیستم ساخت/CI" }, - "categoryName45": { "message": "سیستم SCADA" }, - "categoryName46": { "message": "دسترسی از راه دور" }, - "categoryName47": { "message": "ابزار توسعه" }, - "categoryName48": { "message": "ذخیره سازی شبکه" }, - "categoryName49": { "message": "خوانندهای خوراک" }, - "categoryName50": { "message": "سیستم مدیریت سند" }, - "categoryName51": { "message": "سازنده صفحات Landing" }, - "categoryName52": { "message": "گفتگوی زنده" }, - "categoryName53": { "message": "مدیریت ارتباط با مشتری" }, - "categoryName54": { "message": "سئو" }, - "categoryName55": { "message": "حسابداری" }, - "categoryName56": { "message": "کریپتوماینر" }, - "categoryName57": { "message": "تولید کننده سایت ایستا" }, - "categoryName58": { "message": "آن بوردینگ کاربر" }, - "categoryName59": { "message": "کتابخانه‌های جاوا اسکریپت" }, - "categoryName60": { "message": "کانتینرها" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "پروکسی معکوس" }, - "categoryName65": { "message": "لودبالانسر" }, - "categoryName66": { "message": "فریم‌ورکهای رابط کاربری" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "دسترسی" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "صادر کننده SSL/TLS" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json deleted file mode 100644 index 96859c937..000000000 --- a/src/_locales/fr/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Forker Wappalyzer sur GitHub" }, - "twitter": { "message": "Suivre Wappalyzer sur Twitter" }, - "website": { "message": "Aller sur wappalyzer.com" }, - "noAppsDetected": { "message": "Pas d'applications détectées." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "nothingToDo": { "message": "Rien à faire ici." }, - "optionTracking": { "message": "Envoyer anonymement des rapports sur les applications détectées à wappalyzer.com pour la recherche" }, - "optionThemeMode": { "message": "Activer la compatibilité de mode sombre." }, - "optionUpgradeMessage": { "message": "M'afficher les mises à jour" }, - "optionDynamicIcon": { "message": "Utiliser l'icône de l'application au lieu du logo Wappalyzer" }, - "options": { "message": "Options" }, - "optionsSave": { "message": "Sauvegarder les options" }, - "optionsSaved": { "message": "Sauvegardé" }, - "optionBadge": { "message": "Montrer le nombre de technologies identifiées sur l'icône" }, - "optionShowCached": { "message": "Inclure les détections en cache dans les résultats" }, - "optionApiKey": { "message": "Clé d'API" }, - "optionApiKeyDescription": { "message": "obtenir votre clé API" }, - "disableOnDomain": { "message": "Désactiver sur ce site web" }, - "clearCache": { "message": "Effacer les détections mises en cache" }, - "categoryPin": { "message": "Toujours afficher l'icône" }, - "termsAccept": { "message": "Je suis d'accord" }, - "termsDecline": { "message": "Désactiver" }, - "termsContent": { "message": "Cette extension envoie des informations anonymes sur les sites web que vous visitez, y compris le nom de domaine et les technologies identifiées, à wappalyzer.com. Cela peut être désactivé dans les paramètres." }, - "privacyPolicy": { "message": "Politique de confidentialité" }, - "createAlert": { "message": "Créer une alerte pour ce site web" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "Plus d'information" }, - "creditBalance": { "message": "Crédits:" }, - "plusMessageHeading": { "message": "Obtenez Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "Aucun résultat trouvé" }, - "plusCrawl": { "message": "Aucun résultat trouvé, veuillez revenir plus tard" }, - "formSave": { "message": "Sauvegarder" }, - "issue": { "message": "Quelque chose ne va pas ou est manquant ?" }, - - "setCompany": { "message": "Informations sur l'entreprise" }, - "setKeywords": { "message": "Mots clés" }, - "setEmail": { "message": "Adresses e-mail" }, - "setPhone": { "message": "Numéros de téléphone" }, - "setAddress": { "message": "Adresses" }, - "setContact": { "message": "Coordonnées de contact" }, - "setSocial": { "message": "Comptes de médias sociaux" }, - "setMeta": { "message": "Metadonnées" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Traceurs" }, - "setSecurity": { "message": "Sécurité" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Dépenses en technologie" }, - "attributeIpCountry": { "message": "Pays de l'IP" }, - "attributeIpRegion": { "message": "Région de l'IP" }, - "attributeLanguage": { "message": "Langue" }, - "attributeEmail": { "message": "Adresse e-mail" }, - "attributeVerifiedEmail": { "message": "Adresse e-mail (verifiée)" }, - "attributeSafeEmail": { "message": "Adresse e-mail (sûre)" }, - "attributePhone": { "message": "Numéro de téléphone" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Titre" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright année" }, - "attributeResponsive": { "message": "Adaptatif" }, - "attributeCertInfo_subjectOrg": { "message": "Organisation du certificat" }, - "attributeCertInfo_subjectCountry":{ "message": "Pays du certificat" }, - "attributeCertInfo_subjectState": { "message": "Status du certificat" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Délivreur du certificat" }, - "attributeCertInfo_protocol": { "message": "Protocole du certifical" }, - "attributeCertInfo_validTo": { "message": "Expiration du certificat" }, - "attributeHttps": { "message": "SSL/TLS activé" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Nom de la société" }, - "attributeIndustry": { "message": "Industrie" }, - "attributeAbout": { "message": "À propos" }, - "attributeLocations": { "message": "Localisation" }, - "attributeCompanySize": { "message": "Taille de la société" }, - "attributeCompanyType": { "message": "Type de société" }, - "attributeCompanyFounded": { "message": "Création de l'entreprise" }, - "attributeKeywords": { "message": "Mots clés" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "Enregistrement SPF" }, - "attributeDns_dmarc": { "message": "Enregistrement DMARC" }, - "attributeSchemaOrgTypes": { "message": "types schema.org" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Forum" }, - "categoryName3": { "message": "Gestionnaire de base de données" }, - "categoryName4": { "message": "Outil de documentation" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Boutique en ligne" }, - "categoryName7": { "message": "Galerie photo" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Gestionnaires de serveur" }, - "categoryName10": { "message": "Outil de statistiques" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework JavaScript" }, - "categoryName13": { "message": "Outil de suivi de problèmes" }, - "categoryName14": { "message": "Lecteur de vidéos" }, - "categoryName15": { "message": "Système de commentaires" }, - "categoryName16": { "message": "Sécurité" }, - "categoryName17": { "message": "Script de police" }, - "categoryName18": { "message": "Framework web" }, - "categoryName19": { "message": "Divers" }, - "categoryName20": { "message": "Éditeur" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Serveur web" }, - "categoryName23": { "message": "Outil de cache" }, - "categoryName24": { "message": "Éditeur WYSIWYG" }, - "categoryName25": { "message": "Graphismes JavaScript" }, - "categoryName26": { "message": "Framework pour mobiles" }, - "categoryName27": { "message": "Langage de programmation" }, - "categoryName28": { "message": "Système d'exploitation" }, - "categoryName29": { "message": "Moteur de recherche" }, - "categoryName30": { "message": "Webmail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Logiciel de marketing" }, - "categoryName33": { "message": "Extension de serveur web" }, - "categoryName34": { "message": "Base de données" }, - "categoryName35": { "message": "Carte" }, - "categoryName36": { "message": "Régie publicitaire" }, - "categoryName37": { "message": "Périphérique réseau" }, - "categoryName38": { "message": "Serveur multimédia" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Imprimante" }, - "categoryName41": { "message": "Service de paiement" }, - "categoryName42": { "message": "Gestionnaire de balises" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Système CI" }, - "categoryName45": { "message": "Système SCADA" }, - "categoryName46": { "message": "Accès à distance" }, - "categoryName47": { "message": "Outil de développement" }, - "categoryName48": { "message": "Stockage réseau" }, - "categoryName49": { "message": "Lecteur de flux RSS" }, - "categoryName51": { "message": "Créateur de \"Landing Page\"" }, - "categoryName50": { "message": "Système de gestion de documents" }, - "categoryName52": { "message": "Chat en direct" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Comptabilité" }, - "categoryName56": { "message": "Crypto-mineur" }, - "categoryName57": { "message": "Générateur de site statique" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "Librairies JavaScript" }, - "categoryName60": { "message": "Conteneurs" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Proxy inversé" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "Frameworks UI" }, - "categoryName67": { "message": "Conformité des cookies" }, - "categoryName68": { "message": "Accessibilité" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Programmes affiliés" }, - "categoryName72": { "message": "Programmation des rendez-vous" }, - "categoryName73": { "message": "Enquêtes" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Reciblage" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Géolocalisation" }, - "categoryName80": { "message": "Thèmes WordPress" }, - "categoryName81": { "message": "Thèmes Shopify" }, - "categoryName82": { "message": "Thèmes Drupal" }, - "categoryName83": { "message": "Empreinte digitale des navigateurs" }, - "categoryName84": { "message": "Fidélité et récompenses" }, - "categoryName85": { "message": "Gestion des fonctionnalités" }, - "categoryName86": { "message": "Ségmentation" }, - "categoryName87": { "message": "Plugins WordPress" }, - "categoryName88": { "message": "Hébergement" }, - "categoryName89": { "message": "Traduction" }, - "categoryName90": { "message": "Avis" }, - "categoryName91": { "message": "Acheter maintenant, payer plus tard" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Réservations et livraison" }, - "categoryName94": { "message": "Marketing de référence" }, - "categoryName95": { "message": "Gestion des actifs numériques" }, - "categoryName96": { "message": "Curation de contenu" }, - "categoryName97": { "message": "Plateforme de données clients" }, - "categoryName98": { "message": "Abandon du panier" }, - "categoryName99": { "message": "Transporteurs" }, - "categoryName100": { "message": "Applications Shopify" }, - "categoryName101": { "message": "Recrutement et personnel" }, - "categoryName102": { "message": "Retours" }, - "categoryName103": { "message": "Retransmission en direct" }, - "categoryName104": { "message": "Réservation de tickets" }, - "categoryName105": { "message": "Réalité augmentée" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Satisfaction" }, - "categoryName108": { "message": "Frontends d'ecommerce " }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Constructeurs de formulaires" }, - "categoryName111": { "message": "Collecte de fonds et dons" } -} diff --git a/src/_locales/gl_ES/messages.json b/src/_locales/gl_ES/messages.json deleted file mode 100644 index 20db78c42..000000000 --- a/src/_locales/gl_ES/messages.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "github": { "message": "Bifurca o Wappalyzer no GitHub!" }, - "twitter": { "message": "Segue a Wappalyzer no Twitter" }, - "website": { "message": "Ir a wappalyzer.com" }, - "options": { "message": "Opcións" }, - "optionsSave": { "message": "Gardar opcións" }, - "optionsSaved": { "message": "Opcións gardadas" }, - "optionUpgradeMessage": { "message": "Infórmame se existe actualizacións" }, - "optionDynamicIcon": { "message": "Amosa icono do aplicativo en lugar do de Wappalyzer" }, - "optionTracking": { "message": "Envía anonimamente aplicativos identificados a wappalyzer.com" }, - "optionThemeMode": { "message": "Permitir a compatibilidade modo escuro." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Nada que facer por aquí." }, - "noAppsDetected": { "message": "Non se identificaron aplicativos." }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Amosar sempre icono" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "Esta extensión envía anonimamente información acerca das webs que visitas, incluindo dominio e aplicativos identificados, a wappalyzer.com. Isto pode ser desactivado nas preferencias." }, - "privacyPolicy": { "message": "Política de privacidade" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Taboleiro de mensaxes" }, - "categoryName3": { "message": "Xestor de base de datos" }, - "categoryName4": { "message": "Ferramenta de documentación" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Ecommerce" }, - "categoryName7": { "message": "Galería de imaxes" }, - "categoryName8": { "message": "Wikis" }, - "categoryName9": { "message": "Paneis de Hosting" }, - "categoryName10": { "message": "Analytics" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework de JavaScript" }, - "categoryName13": { "message": "Xestor de incidencias" }, - "categoryName14": { "message": "Reproductor de vídeo" }, - "categoryName15": { "message": "Sistema de comentarios" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Font Script" }, - "categoryName18": { "message": "Framework Web" }, - "categoryName19": { "message": "Diverso" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "Sistema de Xestión da Aprendizaxe (LMS)" }, - "categoryName22": { "message": "Servidor web" }, - "categoryName23": { "message": "Ferramenta de caché" }, - "categoryName24": { "message": "Editor de texto enriquecido" }, - "categoryName25": { "message": "Gráficos JavaScript" }, - "categoryName26": { "message": "Framework de móviles" }, - "categoryName27": { "message": "Lenguaxe de programación" }, - "categoryName28": { "message": "Sistema Operativo" }, - "categoryName29": { "message": "Buscador" }, - "categoryName30": { "message": "Web Mail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Automatización de marketing" }, - "categoryName33": { "message": "Extensión de servidor web" }, - "categoryName34": { "message": "Base de datos" }, - "categoryName35": { "message": "Mapa" }, - "categoryName36": { "message": "Rede publicitaria" }, - "categoryName37": { "message": "Servizo de rede" }, - "categoryName38": { "message": "Servidor multimedia" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Impresora" }, - "categoryName41": { "message": "Procesamento de pagos" }, - "categoryName42": { "message": "Xestor de etiquetas" }, - "categoryName43": { "message": "Muro de pagamento" }, - "categoryName44": { "message": "Sistema de integración continua" }, - "categoryName45": { "message": "Sistema SCADA" }, - "categoryName46": { "message": "Acceso remoto" }, - "categoryName47": { "message": "Ferramenta de desenvolvemento" }, - "categoryName48": { "message": "Almacenamento en rede" }, - "categoryName49": { "message": "Lectores de novas" }, - "categoryName50": { "message": "Sistemas de xestión de documentos" }, - "categoryName51": { "message": "Creador de páxinas web de destino" }, - "categoryName52": { "message": "Chat en director" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Contabilidade" }, - "categoryName56": { "message": "Cryptominería" }, - "categoryName57": { "message": "Xerador de contido estático" }, - "categoryName58": { "message": "Software de benvida de usuarios/as" }, - "categoryName59": { "message": "Librarías JavaScript" }, - "categoryName60": { "message": "Contenedores" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Proxy inverso" }, - "categoryName65": { "message": "Balanceador de carga" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/gr/messages.json b/src/_locales/gr/messages.json deleted file mode 100644 index e1011f61e..000000000 --- a/src/_locales/gr/messages.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "github": { "message": "Κάνε fork το Wappalyzer στο GitHub!" }, - "twitter": { "message": "Ακολούθησε το Wappalyzer στο Twitter" }, - "website": { "message": "Πήγαινε στο wappalyzer.com" }, - "options": { "message": "Ρυθμίσεις" }, - "optionsSave": { "message": "Ρυθμίσεις αποθήκευσης" }, - "optionsSaved": { "message": "Αποθηκεύτηκε" }, - "optionUpgradeMessage": { "message": "Ενημερώστε με για αναβαθμίσεις" }, - "optionDynamicIcon": { "message": "Use application icon instead of Wappalyzer logo" }, - "optionTracking": { "message": "Ανώνυμη αποστολή αναφορών για εντοπισμένες εφαρμογές στο wappalyzer.com για έρευνα" }, - "optionThemeMode": { "message": "Ενεργοποίηση συμβατότητας σκοτεινό τρόπο." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Καμία ενέργεια." }, - "noAppsDetected": { "message": "Δεν ανιχνεύθηκαν εφαρμογές." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Διαδικτυακό Φόρουμ" }, - "categoryName3": { "message": "Διαχειριστής Βάσης Δεδομένων" }, - "categoryName4": { "message": "Εργαλείο Τεκμηρίωσης" }, - "categoryName5": { "message": "Widget" }, - "categoryName10": { "message": "Analytics" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework της JavaScript" }, - "categoryName13": { "message": "Issue Tracker" }, - "categoryName14": { "message": "Πρόγραμμα αναπαραγωγής Βίντεο" }, - "categoryName15": { "message": "Σύστημα Σχολίων" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Script Γραμματοσειράς" }, - "categoryName18": { "message": "Framework Διαδικτύου" }, - "categoryName19": { "message": "Διάφορα" }, - "categoryName20": { "message": "Επεξεργαστής Κειμένου" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Διακομιστής Διαδικτύου" }, - "categoryName23": { "message": "Εργαλείο Μνήμης Cache" }, - "categoryName24": { "message": "Επεξεργαστής Εμπλουτισμένου Κειμένου" }, - "categoryName25": { "message": "Γραφικά JavaScript" }, - "categoryName26": { "message": "Framework για Κινητά" }, - "categoryName27": { "message": "Γλώσσα Προγραμματισμού" }, - "categoryName28": { "message": "Λειτουργικό Σύστημα" }, - "categoryName29": { "message": "Μηχανή Αναζήτησης" }, - "categoryName30": { "message": "Web Mail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Αυτοματοποίηση Marketing" }, - "categoryName33": { "message": "Επέκταση Διακομιστή Διαδικτύου" }, - "categoryName34": { "message": "Βάση Δεδομένων" }, - "categoryName35": { "message": "Χάρτης" }, - "categoryName36": { "message": "Δίκτυο Διαφημίσεων" }, - "categoryName37": { "message": "Υπηρεσία Δικτύου" }, - "categoryName38": { "message": "Διακομιστής Πολυμέσων" }, - "categoryName39": { "message": "Διαδικτυακή κάμερα" }, - "categoryName40": { "message": "Εκτυπωτής" }, - "categoryName41": { "message": "Σύστημα Επεξεργασίας Πληρωμών" }, - "categoryName42": { "message": "Σύστημα Διαχείρισης Tags" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Σύστημα Build/CI" }, - "categoryName45": { "message": "Σύστημα SCADA" }, - "categoryName46": { "message": "Απομακρυσμένη Πρόσβαση" }, - "categoryName47": { "message": "Εργαλείο Ανάπτυξης" }, - "categoryName48": { "message": "Δικτυακός Αποθηκευτικός Χώρος" }, - "categoryName49": { "message": "Feed Readers" }, - "categoryName50": { "message": "Συστήματα Διαχειρίσης Εγγράφων" }, - "categoryName51": { "message": "Σύστημα Κατασκευής Σελίδων Υποδοχής" }, - "categoryName52": { "message": "Live Chat" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json deleted file mode 100644 index 89e535bdc..000000000 --- a/src/_locales/id/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Salin Wappalyzer di GitHub!" }, - "twitter": { "message": "Ikuti Wappalyzer di Twitter" }, - "website": { "message": "Kunjungi wappalyzer.com" }, - "options": { "message": "Pilihan" }, - "optionsSave": { "message": "Simpan pilihan" }, - "optionsSaved": { "message": "Tersimpan" }, - "optionUpgradeMessage": { "message": "Beritahu Tentang Peningkatan Versi" }, - "optionDynamicIcon": { "message": "Gunakan ikon aplikasi dan bukan logo Wappalyzer" }, - "optionTracking": { "message": "Secara anonim kirimkan laporan tentang aplikasi yang terdeteksi ke wappalyzer.com untuk penelitian" }, - "optionThemeMode": { "message": "Aktifkan kompatibilitas modus gelap." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Tak ada yang dilakukan disini." }, - "noAppsDetected": { "message": "Tidak ada aplikasi yang terdeteksi." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "Sistem Pengelola Konten" }, - "categoryName2": { "message": "Papan Pesan" }, - "categoryName3": { "message": "Pengelola Basis Data" }, - "categoryName4": { "message": "Alat Dokumentasi" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Toko Online" }, - "categoryName7": { "message": "Galeri Foto" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Panel Hosting" }, - "categoryName10": { "message": "Analistik" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Bingkai Kerja JavaScript" }, - "categoryName13": { "message": "Pelacak Masalah" }, - "categoryName14": { "message": "Pemutar Video" }, - "categoryName15": { "message": "Sistem Komentar" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Font Script" }, - "categoryName18": { "message": "Bingkai Kerja Web" }, - "categoryName19": { "message": "Serba Serbi" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Server Website" }, - "categoryName23": { "message": "Alat Cache" }, - "categoryName24": { "message": "Rich Text Editor" }, - "categoryName25": { "message": "JavaScript Graphics" }, - "categoryName26": { "message": "Bingkai Kerja Mobile" }, - "categoryName27": { "message": "Bahasa Pemrograman" }, - "categoryName28": { "message": "Sistem Operasi" }, - "categoryName29": { "message": "Mesin Pencari" }, - "categoryName30": { "message": "Web Mail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Otomasi Pemasaran" }, - "categoryName33": { "message": "Ekstensi Web Server" }, - "categoryName34": { "message": "Basis Data" }, - "categoryName35": { "message": "Peta" }, - "categoryName36": { "message": "Jaringan Periklanan" }, - "categoryName37": { "message": "Layanan Jaringan" }, - "categoryName38": { "message": "Server Media" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Pencetak" }, - "categoryName41": { "message": "Pemroses Pembayaran" }, - "categoryName42": { "message": "Pengelola Tag" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Sistem Pembuatan/CI" }, - "categoryName45": { "message": "Sistem SCADA" }, - "categoryName46": { "message": "Akses Remote" }, - "categoryName47": { "message": "Alat Pengembangan" }, - "categoryName48": { "message": "Penyimpanan Jaringan" }, - "categoryName49": { "message": "Umpan Pembaca" }, - "categoryName50": { "message": "Sistem Manajemen Dokumen" }, - "categoryName51": { "message": "Pembuat Laman Landas" }, - "categoryName52": { "message": "Chat Langsung" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json deleted file mode 100644 index d7d2b4b89..000000000 --- a/src/_locales/it/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Fork Wappalyzer su GitHub!" }, - "twitter": { "message": "Follow Wappalyzer su Twitter" }, - "website": { "message": "Vai su wappalyzer.com" }, - "options": { "message": "Opzioni" }, - "optionsSave": { "message": "Salva opzioni" }, - "optionsSaved": { "message": "Salvato" }, - "optionUpgradeMessage": { "message": "Parlami dell'upgrade" }, - "optionDynamicIcon": { "message": "Use application icon instead of Wappalyzer logo" }, - "optionTracking": { "message": "Inviare anonimamente un report sulle applicazioni rilevate a wappalyzer.com per l'analisi" }, - "optionThemeMode": { "message": "Abilita compatibilità con la modalità scura." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Niente da fare qui." }, - "noAppsDetected": { "message": "Nessuna applicazione rilevata." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Forum" }, - "categoryName3": { "message": "Gestore di Database" }, - "categoryName4": { "message": "Strumento di documentazione" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "eCommerce" }, - "categoryName7": { "message": "Galleria fotografica" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Pannello Hosting" }, - "categoryName10": { "message": "Analytics" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework JavaScript" }, - "categoryName13": { "message": "Issue Tracker" }, - "categoryName14": { "message": "Player Video" }, - "categoryName15": { "message": "Sistema di commenti" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Font Script" }, - "categoryName18": { "message": "Framework Web" }, - "categoryName19": { "message": "Miscellanea" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Web Server" }, - "categoryName23": { "message": "Cache Tool" }, - "categoryName24": { "message": "Editor di Testo Ricco" }, - "categoryName25": { "message": "JavaScript Graphics" }, - "categoryName26": { "message": "Framework Mobile" }, - "categoryName27": { "message": "Linguaggio di programmazione" }, - "categoryName28": { "message": "Sistema Operativo" }, - "categoryName29": { "message": "Motore di Ricerca" }, - "categoryName30": { "message": "Web Mail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Marketing Automation" }, - "categoryName33": { "message": "Estensione Web Server" }, - "categoryName34": { "message": "Database" }, - "categoryName35": { "message": "Mappa" }, - "categoryName36": { "message": "Network Pubblicitario" }, - "categoryName37": { "message": "Network Service" }, - "categoryName38": { "message": "Media Server" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Stampante" }, - "categoryName41": { "message": "Payment Processor" }, - "categoryName42": { "message": "Tag Manager" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Sistema Build/CI" }, - "categoryName45": { "message": "SCADA System" }, - "categoryName46": { "message": "Accesso" }, - "categoryName47": { "message": "Strumenti di Sviluppo" }, - "categoryName48": { "message": "Network Storage" }, - "categoryName49": { "message": "Lettore di Feed" }, - "categoryName50": { "message": "Sistema di Gestione Documenti" }, - "categoryName51": { "message": "Landing Page Builder" }, - "categoryName52": { "message": "Live Chat" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authority" }, - "categoryName71": { "message": "Affiliate program" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json deleted file mode 100644 index a29c6ec22..000000000 --- a/src/_locales/ja/messages.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "github": { "message": "GitHubでWappalyzerをフォーク!" }, - "twitter": { "message": "TwitterでWappalyzerをフォロー" }, - "website": { "message": "wappalyzer.comへアクセス" }, - "options": { "message": "オプション" }, - "optionsSave": { "message": "保存" }, - "optionsSaved": { "message": "保存しました" }, - "optionUpgradeMessage": { "message": "アップデート内容を通知する" }, - "optionDynamicIcon": { "message": "Wappalyzerロゴの代わりに技術アイコンを使用する" }, - "optionTracking": { "message": "特定した技術を匿名でwappalyzer.comに送信する" }, - "optionThemeMode": { "message": "ダークモードを有効にする" }, - "optionBadge": { "message": "特定した技術の数をアイコンで表示" }, - "optionShowCached": { "message": "キャッシュされた検出結果を結果に含める" }, - "optionApiKey": { "message": "APIキー" }, - "optionApiKeyDescription": { "message": "あなたのAPIキーを取得する" }, - "disableOnDomain": { "message": "このサイトでは無効にする" }, - "clearCache": { "message": "キャッシュされた検出値のクリア" }, - "nothingToDo": { "message": "ここでは特定出来ません。" }, - "noAppsDetected": { "message": "技術は検出されませんでした。" }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "常にアイコンを表示" }, - "termsAccept": { "message": "OK" }, - "termsDecline": { "message": "無効にする" }, - "termsContent": { "message": "この拡張機能は、ドメイン名や特定された技術など、アクセスしたWebサイトに関する匿名情報をwappalyzer.comに送信します。これは設定で無効にできます。" }, - "privacyPolicy": { "message": "プライバシーポリシー" }, - "createAlert": { "message": "このサイトのアラートを作成する" }, - "leadLists": { "message": "リードジェネレーションツール" }, - "tabTechnologies": { "message": "テクノロジー" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "保存する" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "企業情報" }, - "setKeywords": { "message": "キーワード" }, - "setEmail": { "message": "Eメールアドレス" }, - "setPhone": { "message": "電話番号" }, - "setAddress": { "message": "住所" }, - "setContact": { "message": "連絡先の詳細" }, - "setSocial": { "message": "ソーシャルメディアアカウント" }, - "setMeta": { "message": "メタデータ" }, - "setLocale": { "message": "位置" }, - "setTrackers": { "message": "トラッカー" }, - "setSecurity": { "message": "セキュリティ" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "言語" }, - "attributeEmail": { "message": "Eメールアドレス" }, - "attributeVerifiedEmail": { "message": "Eメールアドレス(検証済み)" }, - "attributeSafeEmail": { "message": "Eメールアドレス(安全)" }, - "attributePhone": { "message": "電話番号" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "推測される会社名" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "タイトル" }, - "attributeDescription": { "message": "説明" }, - "attributeCopyright": { "message": "コピーライト" }, - "attributeCopyrightYear": { "message": "コピーライト年" }, - "attributeResponsive": { "message": "レスポンシブ" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "証明書発行元" }, - "attributeCertInfo_protocol": { "message": "証明書プロトコル" }, - "attributeCertInfo_validTo": { "message": "証明書有効期限" }, - "attributeHttps": { "message": "SSL/TLSが有効" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "会社名" }, - "attributeIndustry": { "message": "事業" }, - "attributeAbout": { "message": "概要" }, - "attributeLocations": { "message": "位置" }, - "attributeCompanySize": { "message": "会社規模" }, - "attributeCompanyType": { "message": "会社種別" }, - "attributeCompanyFounded": { "message": "会社創立日" }, - "attributeKeywords": { "message": "キーワード" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPFレコード" }, - "attributeDns_dmarc": { "message": "DMARCレコード" }, - "attributeSchemaOrgTypes": { "message": "schema.orgタイプ" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "メッセージボード" }, - "categoryName3": { "message": "データベースマネージャー" }, - "categoryName4": { "message": "ドキュメンテーションツール" }, - "categoryName5": { "message": "ウィジェット" }, - "categoryName6": { "message": "Eコマース" }, - "categoryName7": { "message": "フォトギャラリー" }, - "categoryName8": { "message": "ウィキ" }, - "categoryName9": { "message": "ホスティングコントロールパネル" }, - "categoryName10": { "message": "アナリティクス" }, - "categoryName11": { "message": "ブログ" }, - "categoryName12": { "message": "JavaScriptフレームワーク" }, - "categoryName13": { "message": "課題管理" }, - "categoryName14": { "message": "ビデオプレーヤー" }, - "categoryName15": { "message": "コメントシステム" }, - "categoryName16": { "message": "セキュリティ" }, - "categoryName17": { "message": "フォント" }, - "categoryName18": { "message": "Webフレームワーク" }, - "categoryName19": { "message": "その他" }, - "categoryName20": { "message": "エディター" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Webサーバー" }, - "categoryName23": { "message": "キャッシュツール" }, - "categoryName24": { "message": "WYSIWYGエディター" }, - "categoryName25": { "message": "JavaScriptグラフィックス" }, - "categoryName26": { "message": "モバイルフレームワーク" }, - "categoryName27": { "message": "プログラミング言語" }, - "categoryName28": { "message": "オペレーションシステム" }, - "categoryName29": { "message": "検索エンジン" }, - "categoryName30": { "message": "Webメール" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "マーケティングオートメーション" }, - "categoryName33": { "message": "Webサーバー拡張" }, - "categoryName34": { "message": "データベース" }, - "categoryName35": { "message": "マップ" }, - "categoryName36": { "message": "アドネットワーク" }, - "categoryName37": { "message": "ネットワークサービス" }, - "categoryName38": { "message": "メディアサーバー" }, - "categoryName39": { "message": "Webカメラ" }, - "categoryName40": { "message": "プリンター" }, - "categoryName41": { "message": "支払い処理" }, - "categoryName42": { "message": "タグマネージャー" }, - "categoryName44": { "message": "CI" }, - "categoryName46": { "message": "リモートアクセス" }, - "categoryName47": { "message": "開発ツール" }, - "categoryName48": { "message": "ネットワークストレージ" }, - "categoryName49": { "message": "フィードリーダー" }, - "categoryName50": { "message": "DMS" }, - "categoryName51": { "message": "ページビルダー" }, - "categoryName52": { "message": "ライブチャット" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "会計処理" }, - "categoryName56": { "message": "暗号通貨マイニング" }, - "categoryName57": { "message": "静的サイトジェネレーター" }, - "categoryName58": { "message": "ユーザーオンボーディング" }, - "categoryName59": { "message": "JavaScriptライブラリ" }, - "categoryName60": { "message": "コンテナ" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "リバースプロキシ" }, - "categoryName65": { "message": "ロードバランサー" }, - "categoryName66": { "message": "UIフレームワーク" }, - "categoryName67": { "message": "Cookie同意管理" }, - "categoryName68": { "message": "アクセシビリティ" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS認証局" }, - "categoryName71": { "message": "アフィリエイト" }, - "categoryName72": { "message": "アポイント調整" }, - "categoryName73": { "message": "サーベイ" }, - "categoryName74": { "message": "A/Bテスト" }, - "categoryName75": { "message": "Eメール" }, - "categoryName76": { "message": "パーソナライズ" }, - "categoryName77": { "message": "リターゲッティング" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "ジオロケーション" }, - "categoryName80": { "message": "WordPressテーマ" }, - "categoryName81": { "message": "Shopifyテーマ" }, - "categoryName82": { "message": "Drupalテーマ" }, - "categoryName83": { "message": "ブラウザフィンガープリント" }, - "categoryName84": { "message": "ロイヤリティ・リワード" }, - "categoryName85": { "message": "機能管理" }, - "categoryName86": { "message": "セグメンテーション" }, - "categoryName87": { "message": "WordPressプラグイン" }, - "categoryName88": { "message": "ホスティング" }, - "categoryName89": { "message": "翻訳" }, - "categoryName90": { "message": "レビュー" }, - "categoryName91": { "message": "後払い販売" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/kk/messages.json b/src/_locales/kk/messages.json deleted file mode 100644 index 1372cde9a..000000000 --- a/src/_locales/kk/messages.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "github": { "message": "GitHub сайтында Wappalyzer жобасының шанышқысын жасау!" }, - "twitter": { "message": "Wappalyzer-ге Twitter-де жазылыныз" }, - "website": { "message": "wappalyzer.com сайтына өтіңіз" }, - "options": { "message": "Опциялар" }, - "optionsSave": { "message": "Опцияларды сақтау" }, - "optionsSaved": { "message": "Сақталды" }, - "optionUpgradeMessage": { "message": "Жаңартулар туралы хабарлама" }, - "optionDynamicIcon": { "message": "Wappalyzer логотипінің орнына технология белгішесін пайдаланыңыз" }, - "optionTracking": { "message": "Анонимді түрде анықталған технологияларды wappalyzer.com сайтына жіберіңіз" }, - "optionThemeMode": { "message": "Қараңғы режим үйлесімділігін қосу" }, - "optionBadge": { "message": "Белгішеде анықталған технологиялардың санын көрсетіңіз" }, - "optionShowCached": { "message": "Нәтижелерге кэштелген анықтауларды қосыңыз" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "API кілтін алыңыз" }, - "disableOnDomain": { "message": "Осы веб-сайтта кенейтуді қолданбау" }, - "clearCache": { "message": "Кэштелген анықтауларды тазалау" }, - "nothingToDo": { "message": "Мұнда ештеңе істеуге болмайды." }, - "noAppsDetected": { "message": "Ешқандай технологиялар анықталмады." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Әрқашан белгішені көрсету" }, - "termsAccept": { "message": "Мен мұнымен жақсымын" }, - "termsDecline": { "message": "Өшіру" }, - "termsContent": { "message": "Бұл кеңейтім сіз кіретін веб-сайттар туралы, соның ішінде домен атауы мен анықталған технологиялар туралы анонимді ақпаратты wappalyzer.com мекенжайына жібереді. Мұны параметрлерде өшіруге болады." }, - "privacyPolicy": { "message": "Құпиялылық саясаты" }, - "createAlert": { "message": "Осы веб-сайт үшін ескерту жасаңыз" }, - "leadLists": { "message": "Lead генерациялау құралдары" }, - "tabTechnologies": { "message": "Технологиялар" }, - "tabPlus": { "message": "Қосымша ақпарат" }, - "creditBalance": { "message": "Несиелер:" }, - "plusMessageHeading": { "message": "Plus тарифын $$10/айна қосу" }, - "plusMessage": { "message": "Plus көмегімен сіз кіретін веб-сайттардың компания және байланыс мәліметтері осы жерде көрсетіледі." }, - "plusButton": { "message": "Тіркелу" }, - "plusEmpty": { "message": "Нәтиже табылмады." }, - "plusCrawl": { "message": "Нәтижелер табылмады, кейінірек қайта тексеріңіз." }, - "formSave": { "message": "Сақтау" }, - "issue": { "message": "Бірдеңе дұрыс емес пе, әлде жоқ па?" }, - - "setCompany": { "message": "Компания туралы ақпарат" }, - "setKeywords": { "message": "Негізгі сөздер" }, - "setEmail": { "message": "Электрондық пошта" }, - "setPhone": { "message": "Телефон нөмірі" }, - "setAddress": { "message": "Мекенжайлар" }, - "setContact": { "message": "Байланыс деректері" }, - "setSocial": { "message": "Әлеуметтік желідегі аккаунттар" }, - "setMeta": { "message": "Meta деректер" }, - "setLocale": { "message": "Орналасуы" }, - "setTrackers": { "message": "Трекерлер" }, - "setSecurity": { "message": "Қауіпсіздік" }, - "setSignals": { "message": "Сигналдар" }, - - "attributeTechnologySpend": { "message": "Технология шығыны" }, - "attributeIpCountry": { "message": "IP-дін елі" }, - "attributeIpRegion": { "message": "IP-дін аймағы" }, - "attributeLanguage": { "message": "Тілі" }, - "attributeEmail": { "message": "Электрондық пошта" }, - "attributeVerifiedEmail": { "message": "Электрондық пошта (тексерілген)" }, - "attributeSafeEmail": { "message": "Электрондық пошта (қауіпсіз)" }, - "attributePhone": { "message": "Телефон нөмірі" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Болжалды компания атауы" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Тақырып" }, - "attributeDescription": { "message": "Сипаттама" }, - "attributeCopyright": { "message": "Авторлық құқық" }, - "attributeCopyrightYear": { "message": "Авторлық құқық жылы" }, - "attributeResponsive": { "message": "Жауапты" }, - "attributeCertInfo_subjectOrg": { "message": "Сертификат берушi организация" }, - "attributeCertInfo_subjectCountry":{ "message": "Сертификат берушiнiң елди мекені" }, - "attributeCertInfo_subjectState": { "message": "Сертификат state" }, - "attributeCertInfo_subjectLocality":{ "message": "Сертификат жері" }, - "attributeCertInfo_issuer": { "message": "Сертификат беруші" }, - "attributeCertInfo_protocol": { "message": "Сертификаттау хаттамасы" }, - "attributeCertInfo_validTo": { "message": "Сертификаттың жарамдылық мерзімі" }, - "attributeHttps": { "message": "SSL/TLS қосылған" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Компанияның аты" }, - "attributeIndustry": { "message": "Өнеркәсіп" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Компания орналасқан жерлері" }, - "attributeCompanySize": { "message": "Компания мөлшері" }, - "attributeCompanyType": { "message": "Компания түрі" }, - "attributeCompanyFounded": { "message": "Компанияның құрылған уақыты" }, - "attributeKeywords": { "message": "Кілт сөздер" }, - "attributeEmployees": { "message": "Адамдар" }, - "attributeDns_spf": { "message": "SPF жазба" }, - "attributeDns_dmarc": { "message": "DMARC жазба" }, - "attributeSchemaOrgTypes": { "message": "schema.org түрлері" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "Контент басқару жүйелері (CMS)" }, - "categoryName2": { "message": "Хабарлама тақталары" }, - "categoryName3": { "message": "Дерекқор менеджерлері" }, - "categoryName4": { "message": "Құжаттама құралдары" }, - "categoryName5": { "message": "Виджеттер" }, - "categoryName6": { "message": "Электрондық коммерция" }, - "categoryName7": { "message": "Фотогалереялар" }, - "categoryName8": { "message": "Викилер" }, - "categoryName9": { "message": "Хостинг панельдері" }, - "categoryName10": { "message": "Аналитика" }, - "categoryName11": { "message": "Блогтар" }, - "categoryName12": { "message": "JavaScript фреймворктары" }, - "categoryName13": { "message": "Ақаулық трекерлер" }, - "categoryName14": { "message": "Бейне ойнатқыштар" }, - "categoryName15": { "message": "Түсініктеме жүйелері" }, - "categoryName16": { "message": "Қауіпсіздік" }, - "categoryName17": { "message": "Қаріп сценарийлері" }, - "categoryName18": { "message": "Веб фреймворктары" }, - "categoryName19": { "message": "Әртүрлі" }, - "categoryName20": { "message": "Редактор" }, - "categoryName21": { "message": "Оқытуды басқару жүйелері (LMS)" }, - "categoryName22": { "message": "Веб-серверлер" }, - "categoryName23": { "message": "Кэштеу" }, - "categoryName24": { "message": "Мәтіндік редакторлар" }, - "categoryName25": { "message": "JavaScript графика" }, - "categoryName26": { "message": "Мобилдік фреймворктар" }, - "categoryName27": { "message": "Бағдарламалау тілдері" }, - "categoryName28": { "message": "Операциялық жүйелер" }, - "categoryName29": { "message": "Іздеу жүйелері" }, - "categoryName30": { "message": "Веб-пошта" }, - "categoryName31": { "message": "Контент жеткізу желісі (CDN)" }, - "categoryName32": { "message": "Маркетингті автоматтандыру" }, - "categoryName33": { "message": "Веб-сервер кеңейтімдері" }, - "categoryName34": { "message": "Мәліметтер базалары" }, - "categoryName35": { "message": "Карталар" }, - "categoryName36": { "message": "Жарнама" }, - "categoryName37": { "message": "Желі қызметтері" }, - "categoryName38": { "message": "Медиа серверлері" }, - "categoryName39": { "message": "Веб-камералар" }, - "categoryName40": { "message": "Принтерлер" }, - "categoryName41": { "message": "Төлем процессорлары" }, - "categoryName42": { "message": "Тег менеджерлері" }, - "categoryName44": { "message": "CI" }, - "categoryName46": { "message": "Қашықтан қол жеткізу" }, - "categoryName47": { "message": "Әзірлеу" }, - "categoryName48": { "message": "Желілік сақтау" }, - "categoryName49": { "message": "Арна оқырмандары" }, - "categoryName50": { "message": "DMS" }, - "categoryName51": { "message": "Парақша құрастырушы" }, - "categoryName52": { "message": "Тікелей чат" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Бухгалтерлік есеп" }, - "categoryName56": { "message": "Криптомайнерлер" }, - "categoryName57": { "message": "Статикалық сайт генераторлары" }, - "categoryName58": { "message": "Пайдаланушыны қосу" }, - "categoryName59": { "message": "JavaScript библиотекалары" }, - "categoryName60": { "message": "Контейнерлер" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Кері прокси" }, - "categoryName65": { "message": "Жүктеме балансерлері" }, - "categoryName66": { "message": "UI-фреймворктары" }, - "categoryName67": { "message": "Cookie сәйкестігі" }, - "categoryName68": { "message": "Қол жетімділік" }, - "categoryName69": { "message": "Аутентификация" }, - "categoryName70": { "message": "SSL/TLS сертификаттау органдары" }, - "categoryName71": { "message": "Серіктестік бағдарламалар" }, - "categoryName72": { "message": "Кездесуді жоспарлау" }, - "categoryName73": { "message": "Сауалнамалар" }, - "categoryName74": { "message": "A/B тестілеу" }, - "categoryName75": { "message": "Электрондық пошта" }, - "categoryName76": { "message": "Жекелендіру" }, - "categoryName77": { "message": "Қайта бағыттау" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Геолокация" }, - "categoryName80": { "message": "WordPress тақырыптар" }, - "categoryName81": { "message": "Shopify тақырыптар" }, - "categoryName82": { "message": "Drupal тақырыптар" }, - "categoryName83": { "message": "Браузердін іздері" }, - "categoryName84": { "message": "Адалдық және сыйақылар" }, - "categoryName85": { "message": "Мүмкіндіктерді басқару" }, - "categoryName86": { "message": "Сегменттеу" }, - "categoryName87": { "message": "WordPress плагиндер" }, - "categoryName88": { "message": "Хостинг" }, - "categoryName89": { "message": "Аударма" }, - "categoryName90": { "message": "Пікірлер" }, - "categoryName91": { "message": "Қазір сатып алыңыз, кейінірек төлеңіз" }, - "categoryName92": { "message": "Өнімділік" }, - "categoryName93": { "message": "Брондау және жеткізу" }, - "categoryName94": { "message": "Рефералдық маркетинг" }, - "categoryName95": { "message": "Сандық активтерді басқару" }, - "categoryName96": { "message": "Контентті курациялау" }, - "categoryName97": { "message": "Тұтынушы деректерінің платформасы" }, - "categoryName98": { "message": "Арбадан бас тарту" }, - "categoryName99": { "message": "Жүк тасымалдаушылары" }, - "categoryName100": { "message": "Shopify қолданбалары" }, - "categoryName101": { "message": "Жұмысқа қабылдау және кадрлармен қамтамасыз ету" }, - "categoryName102": { "message": "Тауарды қайтару" }, - "categoryName103": { "message": "Тікелей эфир" }, - "categoryName104": { "message": "Билеттерді брондау" }, - "categoryName105": { "message": "Толықтырылған шындық" }, - "categoryName106": { "message": "Трансшекаралық электрондық коммерция" }, - "categoryName107": { "message": "Орындалу" }, - "categoryName108": { "message": "Электрондық коммерция - фронттары" }, - "categoryName109": { "message": "Домен тұрағы" }, - "categoryName110": { "message": "Пішін құрылысшылары" }, - "categoryName111": { "message": "Қаражат жинау және қайырымдылық" } -} diff --git a/src/_locales/ko/messages.json b/src/_locales/ko/messages.json deleted file mode 100644 index 054d5323d..000000000 --- a/src/_locales/ko/messages.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "github": { "message": "GitHub에서 Wappalyzer를 포크하세요!" }, - "twitter": { "message": "Twitter에서 Wappalyzer 팔로우" }, - "website": { "message": "wappalyzer.com으로 가기" }, - "options": { "message": "설정" }, - "optionsSave": { "message": "설정 저장" }, - "optionsSaved": { "message": "저장됨" }, - "optionUpgradeMessage": { "message": "업그레이드에 대해 알리기" }, - "optionDynamicIcon": { "message": "Wappalyzer 로고 대신 식별된 기술 아이콘을 사용" }, - "optionTracking": { "message": "익명으로 wappalyzer.com에 식별된 기술 정보 전송" }, - "optionThemeMode": { "message": "다크 모드 호환 활성화" }, - "optionBadge": { "message": "아이콘에 식별된 기술 갯수 표시" }, - "optionShowCached": { "message": "결과에 캐시된 식별 정보 포함" }, - "optionApiKey": { "message": "API 키" }, - "optionApiKeyDescription": { "message": "API 키 얻기" }, - "disableOnDomain": { "message": "이 웹 사이트에서 끄기" }, - "clearCache": { "message": "캐시된 식별 정보 지우기" }, - "nothingToDo": { "message": "여기에는 할 일이 없네요." }, - "noAppsDetected": { "message": "식별된 기술이 없습니다." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "항상 아이콘 보이기" }, - "termsAccept": { "message": "동의합니다" }, - "termsDecline": { "message": "비활성화" }, - "termsContent": { "message": "이 확장 기능은 사이트의 도메인과 식별된 기술을 포함한 익명 정보를 wappalyzer.com에 전송합니다. 이 기능은 설정에서 비활성화 할 수 있습니다." }, - "privacyPolicy": { "message": "개인정보처리방침" }, - "createAlert": { "message": "이 웹 사이트에 대한 알림 받기" }, - "leadLists": { "message": "잠재 고객 발굴 툴" }, - "tabTechnologies": { "message": "기술" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "저장" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "회사 정보" }, - "setKeywords": { "message": "키워드" }, - "setEmail": { "message": "이메일 주소" }, - "setPhone": { "message": "휴대폰 번호" }, - "setAddress": { "message": "주소" }, - "setContact": { "message": "연락처 상세" }, - "setSocial": { "message": "소셜 미디어 계정" }, - "setMeta": { "message": "메타데이터" }, - "setLocale": { "message": "언어(지역)" }, - "setTrackers": { "message": "추적기" }, - "setSecurity": { "message": "보안" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP 나라" }, - "attributeIpRegion": { "message": "IP 지역" }, - "attributeLanguage": { "message": "언어" }, - "attributeEmail": { "message": "이메일 주소" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "휴대폰 번호" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "유추 회사 명" }, - "attributeTwitter": { "message": "트위터" }, - "attributeFacebook": { "message": "페이스북" }, - "attributeInstagram": { "message": "인스타그램" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "유튜브" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "제목" }, - "attributeDescription": { "message": "설명" }, - "attributeCopyright": { "message": "저작권" }, - "attributeCopyrightYear": { "message": "저작 년도" }, - "attributeResponsive": { "message": "반응형" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "인증서 발행자" }, - "attributeCertInfo_protocol": { "message": "인증서 프로토콜" }, - "attributeCertInfo_validTo": { "message": "인증서 만료" }, - "attributeHttps": { "message": "SSL/TLS 활성화됨" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "페이스북" }, - "attributeTrackerOptimizely": { "message": "최적화" }, - "attributeCompanyName": { "message": "회사 정보" }, - "attributeIndustry": { "message": "산업" }, - "attributeAbout": { "message": "정보" }, - "attributeLocations": { "message": "위치" }, - "attributeCompanySize": { "message": "회사 크기" }, - "attributeCompanyType": { "message": "회사 종류" }, - "attributeCompanyFounded": { "message": "회사 상장" }, - "attributeKeywords": { "message": "키워드" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF 레코드" }, - "attributeDns_dmarc": { "message": "DMARC 레코드" }, - "attributeSchemaOrgTypes": { "message": "schema.org 타입" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "포럼 소프트웨어" }, - "categoryName3": { "message": "데이터베이스 관리 도구" }, - "categoryName4": { "message": "문서 도구" }, - "categoryName5": { "message": "위젯" }, - "categoryName6": { "message": "전자상거래" }, - "categoryName7": { "message": "사진 갤러리" }, - "categoryName8": { "message": "위키" }, - "categoryName9": { "message": "호스팅 패널" }, - "categoryName10": { "message": "분석" }, - "categoryName11": { "message": "블로그" }, - "categoryName12": { "message": "JavaScript 프레임워크" }, - "categoryName13": { "message": "이슈 트래커" }, - "categoryName14": { "message": "비디오 플레이어" }, - "categoryName15": { "message": "댓글 시스템" }, - "categoryName16": { "message": "보안" }, - "categoryName17": { "message": "폰트 스크립트" }, - "categoryName18": { "message": "웹 프레임워크" }, - "categoryName19": { "message": "기타" }, - "categoryName20": { "message": "에디터" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "웹 서버" }, - "categoryName23": { "message": "캐싱" }, - "categoryName24": { "message": "텍스트 에디터" }, - "categoryName25": { "message": "JavaScript 그래픽" }, - "categoryName26": { "message": "모바일 프레임워크" }, - "categoryName27": { "message": "프로그래밍 언어" }, - "categoryName28": { "message": "운영체제" }, - "categoryName29": { "message": "검색 엔진" }, - "categoryName30": { "message": "웹 메일" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "마케팅 자동화" }, - "categoryName33": { "message": "웹 서버 확장" }, - "categoryName34": { "message": "데이터베이스" }, - "categoryName35": { "message": "지도" }, - "categoryName36": { "message": "광고" }, - "categoryName37": { "message": "네트워크 서비스" }, - "categoryName38": { "message": "미디어 서버" }, - "categoryName39": { "message": "웹캠" }, - "categoryName40": { "message": "프린터" }, - "categoryName41": { "message": "결제 처리" }, - "categoryName42": { "message": "태그 관리자" }, - "categoryName44": { "message": "CI" }, - "categoryName46": { "message": "원격 접속" }, - "categoryName47": { "message": "개발" }, - "categoryName48": { "message": "네트워크 스토리지" }, - "categoryName49": { "message": "피드 리더" }, - "categoryName50": { "message": "DMS" }, - "categoryName51": { "message": "사이트 제작 도구" }, - "categoryName52": { "message": "실시간 채팅" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "회계" }, - "categoryName56": { "message": "가상화폐 채굴기" }, - "categoryName57": { "message": "정적 사이트 생성기" }, - "categoryName58": { "message": "사용자 유도" }, - "categoryName59": { "message": "JavaScript 라이브러리" }, - "categoryName60": { "message": "컨테이너" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "리버스 프록시" }, - "categoryName65": { "message": "로드 밸런서" }, - "categoryName66": { "message": "UI 프레임워크" }, - "categoryName67": { "message": "쿠키 동의" }, - "categoryName68": { "message": "접근성" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS 인증 기관" }, - "categoryName71": { "message": "제휴 프로그램" }, - "categoryName72": { "message": "약속 스케줄링" }, - "categoryName73": { "message": "설문" }, - "categoryName74": { "message": "A/B 테스팅" }, - "categoryName75": { "message": "이메일" }, - "categoryName76": { "message": "개인화" }, - "categoryName77": { "message": "리타겟팅" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "위치" }, - "categoryName80": { "message": "WordPress 테마" }, - "categoryName81": { "message": "Shopify 테마" }, - "categoryName82": { "message": "Drupal 테마" }, - "categoryName83": { "message": "브라우저 지문 (fingerprinting)" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/nl/messages.json b/src/_locales/nl/messages.json deleted file mode 100644 index 503536158..000000000 --- a/src/_locales/nl/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Fork Wappalyzer op GitHub!" }, - "twitter": { "message": "Volg Wappalyzer op Twitter" }, - "website": { "message": "Ga naar wappalyzer.com" }, - "noAppsDetected": { "message": "Geen toepassingen gedetecteerd" }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "nothingToDo": { "message": "Hier is niets te doen" }, - "optionTracking": { "message": "Stuur anoniem geïdentificeerd technologieën naar wappalyzer.com" }, - "optionThemeMode": { "message": "Donkere modus compatibiliteit inschakelen" }, - "optionUpgradeMessage": { "message": "Vertel me over upgrades" }, - "optionDynamicIcon": { "message": "Gebruik technologie icoon in plaats van Wappalyzer logo" }, - "options": { "message": "Instellingen" }, - "optionsSave": { "message": "Instellingen opslaan" }, - "optionsSaved": { "message": "Opgeslagen instellingen" }, - "optionBadge": { "message": "Toon het aantal technologieën aangegeven op het pictogram" }, - "optionShowCached": { "message": "In cache opgeslagen detecties opnemen in resultaten" }, - "optionApiKey": { "message": "API-sleutel" }, - "optionApiKeyDescription": { "message": "Krijg je API-sleutel " }, - "disableOnDomain": { "message": "Uitschakelen op deze website" }, - "clearCache": { "message": "Detecties in cache wissen" }, - "categoryPin": { "message": "Altijd pictogram tonen" }, - "termsAccept": { "message": "Daar ben ik het mee eens" }, - "termsDecline": { "message": "Uitschakelen" }, - "termsContent": { "message": "Deze extensie stuurt anonieme informatie over websites die u bezoekt, met inbegrip van domeinnaam en geïdentificeerde technologieën, naar wappalyzer.com. Dit kan worden uitgeschakeld in de instellingen." }, - "privacyPolicy": { "message": "Privacybeleid" }, - "createAlert": { "message": "Maak een waarschuwing voor deze website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologieën" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Opslaan" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Bedrijfsinformatie" }, - "setKeywords": { "message": "Trefwoorden" }, - "setEmail": { "message": "E-mailadressen" }, - "setPhone": { "message": "Telefoonnummers" }, - "setAddress": { "message": "Adressen" }, - "setContact": { "message": "Contactinformatie" }, - "setSocial": { "message": "Social media-accounts " }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Beveiliging" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "Land van het IP" }, - "attributeIpRegion": { "message": "Regio van het IP" }, - "attributeLanguage": { "message": "Taal" }, - "attributeEmail": { "message": "E-mailadressen" }, - "attributeVerifiedEmail": { "message": "E-mailadres (geverifieerd)" }, - "attributeSafeEmail": { "message": "E-mailadres (zeker)" }, - "attributePhone": { "message": "Telefoonnummer" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Afgeleide bedrijfsnaam" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Titel" }, - "attributeDescription": { "message": "Omschrijving" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright jaar" }, - "attributeResponsive": { "message": "Adaptief" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Afgever van het certificaat" }, - "attributeCertInfo_protocol": { "message": "Certificaatprotocol" }, - "attributeCertInfo_validTo": { "message": "Verval van het certificaat" }, - "attributeHttps": { "message": "SSL/TLS geactiveerd" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Bedrijfsnaam" }, - "attributeIndustry": { "message": "Industrie" }, - "attributeAbout": { "message": "Over ons" }, - "attributeLocations": { "message": "Locatie" }, - "attributeCompanySize": { "message": "Bedrijfsgrootte" }, - "attributeCompanyType": { "message": "Bedrijfstype" }, - "attributeCompanyFounded": { "message": "Oprichting van het bedrijf" }, - "attributeKeywords": { "message": "Trefwoorden" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF-registratie" }, - "attributeDns_dmarc": { "message": "DMARC-registratie" }, - "attributeSchemaOrgTypes": { "message": "Typen schema.org" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Forum" }, - "categoryName3": { "message": "Databasebeheerder" }, - "categoryName4": { "message": "Documentatietool" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Online winkel" }, - "categoryName7": { "message": "Fotogalerij" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Serverbeheerders" }, - "categoryName10": { "message": "Statistiektool" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "JavaScript Framework" }, - "categoryName13": { "message": "Probleemtracker" }, - "categoryName14": { "message": "Video speler" }, - "categoryName15": { "message": "Commentaar systeems" }, - "categoryName16": { "message": "Beveiliging" }, - "categoryName17": { "message": "Lettertypescript" }, - "categoryName18": { "message": "Framework web" }, - "categoryName19": { "message": "Diverse" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Webserver" }, - "categoryName23": { "message": "Cache-tool" }, - "categoryName24": { "message": "WYSIWYG editor" }, - "categoryName25": { "message": "JavaScript graphics" }, - "categoryName26": { "message": "Framework mobielk" }, - "categoryName27": { "message": "Programmeertaal" }, - "categoryName28": { "message": "Besturingssysteem" }, - "categoryName29": { "message": "Zoekmachine" }, - "categoryName30": { "message": "Webmail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Marketingsoftware" }, - "categoryName33": { "message": "Extensie voor webserver" }, - "categoryName34": { "message": "Database" }, - "categoryName35": { "message": "Kaarten" }, - "categoryName36": { "message": "Reclamebureau " }, - "categoryName37": { "message": "Netwerkapparaat" }, - "categoryName38": { "message": "Multimediaserver" }, - "categoryName39": { "message": "Webcams" }, - "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "Betaalservice" }, - "categoryName42": { "message": "Tagmanager" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "CI systeem" }, - "categoryName45": { "message": "SCADA systeem" }, - "categoryName46": { "message": "Toegang op afstand" }, - "categoryName47": { "message": "Ontwikkelingstool" }, - "categoryName48": { "message": "Netwerkopslag" }, - "categoryName49": { "message": "RSS-feedlezer" }, - "categoryName51": { "message": "Pagina Bouwer" }, - "categoryName50": { "message": "Documentbeheersysteem" }, - "categoryName52": { "message": "Live chat" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Boekhouding" }, - "categoryName56": { "message": "Crypto-mijnwerker" }, - "categoryName57": { "message": "Statische sitegenerator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript-bibliotheken" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI-frameworks" }, - "categoryName67": { "message": "Naleving van cookies" }, - "categoryName68": { "message": "Toegankelijkheid" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS-certificaatautoriteits" }, - "categoryName71": { "message": "Partnerprogramma's Program" }, - "categoryName72": { "message": "Afspraken plannen" }, - "categoryName73": { "message": "Onderzoeken" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "E-mail" }, - "categoryName76": { "message": "Aanpassingen" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolokatie" }, - "categoryName80": { "message": "WordPress thema's" }, - "categoryName81": { "message": "Shopify thema's" }, - "categoryName82": { "message": "Drupal thema's" }, - "categoryName83": { "message": "Browser vingerafdrukken" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Functiebeheer" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Vertaling" }, - "categoryName90": { "message": "Commentaren" }, - "categoryName91": { "message": "Koop nu, betaal later" }, - "categoryName92": { "message": "Prestaties" }, - "categoryName93": { "message": "Reserveringen & levering" }, - "categoryName94": { "message": "Verwijzingsmarketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Winkelwagen verlaten" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Geeft terug" }, - "categoryName103": { "message": "Livestreamen" }, - "categoryName104": { "message": "Kaartje boeken" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/pl/messages.json b/src/_locales/pl/messages.json deleted file mode 100644 index 8c0abbdda..000000000 --- a/src/_locales/pl/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Sforkuj Wappalyzer na GitHub!" }, - "twitter": { "message": "Obserwuj Wappalyzer na Twitterze" }, - "website": { "message": "Przejdź do wappalyzer.com" }, - "options": { "message": "Opcje" }, - "optionsSave": { "message": "Zapisz opcje" }, - "optionsSaved": { "message": "Zapisano" }, - "optionUpgradeMessage": { "message": "Powiadamiaj mnie o aktualizacjach" }, - "optionDynamicIcon": { "message": "Używaj loga aplikacji zamiast Wappalyzer" }, - "optionTracking": { "message": "Przesyłaj anonimowe statystyki aplikacji wykrytych przez Wappalyzer do twórców" }, - "optionThemeMode": { "message": "Włącz kompatybilność z ciemnym motywem." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Nic tu nie ma." }, - "noAppsDetected": { "message": "Nie wykryto żadnych aplikacji." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Zawsze pokazuj tą ikonę" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "To rozszerzenie wysyła anonimowe informacje o stronach, które odwiedzasz, uwzględniając nazwy domen i zidentyfikowane technologie do wappalyzer.com. Opcja może zostać wyłączona w ustawieniach." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "System zarządzania treścią" }, - "categoryName2": { "message": "Forum" }, - "categoryName3": { "message": "Menedżer baz danych" }, - "categoryName4": { "message": "Narzędzia dokumentacji" }, - "categoryName5": { "message": "Widżet" }, - "categoryName6": { "message": "E-biznes" }, - "categoryName7": { "message": "Galeria zdjęć" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Panele hostingowe" }, - "categoryName10": { "message": "Statystyki" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework JavaScript" }, - "categoryName13": { "message": "Lista problemów" }, - "categoryName14": { "message": "Odtwarzacz wideo" }, - "categoryName15": { "message": "System komentarzy" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Skrypt czcionek" }, - "categoryName18": { "message": "Framework webowy" }, - "categoryName19": { "message": "Różne" }, - "categoryName20": { "message": "Edytor" }, - "categoryName21": { "message": "System zarządzania nauczaniem" }, - "categoryName22": { "message": "Serwer internetowy" }, - "categoryName23": { "message": "Narzędzia cache" }, - "categoryName24": { "message": "Edytor tekstu sformatowanego" }, - "categoryName25": { "message": "Grafika JavaScript" }, - "categoryName26": { "message": "Framework mobilny" }, - "categoryName27": { "message": "Język programowania" }, - "categoryName28": { "message": "System operacyjny" }, - "categoryName29": { "message": "Silnik wyszukiwarki" }, - "categoryName30": { "message": "Poczta internetowa" }, - "categoryName31": { "message": "System dostarczania treści" }, - "categoryName32": { "message": "Automatyzacja marketingu" }, - "categoryName33": { "message": "Rozszerzenie serwera WWW" }, - "categoryName34": { "message": "Baza danych" }, - "categoryName35": { "message": "Mapy" }, - "categoryName36": { "message": "Sieć reklamowa" }, - "categoryName37": { "message": "Usługa sieciowa" }, - "categoryName38": { "message": "Serwer mediów" }, - "categoryName39": { "message": "Kamera internetowa" }, - "categoryName40": { "message": "Drukarka" }, - "categoryName41": { "message": "Procesor płatności" }, - "categoryName42": { "message": "Menedżer tagów" }, - "categoryName43": { "message": "Menedżer płatności" }, - "categoryName44": { "message": "System Build/CI" }, - "categoryName45": { "message": "System SCADA" }, - "categoryName46": { "message": "Dostęp zdalny" }, - "categoryName47": { "message": "Narzędzia deweloperskie" }, - "categoryName48": { "message": "Magazyn sieciowy" }, - "categoryName49": { "message": "Czytnik" }, - "categoryName50": { "message": "Systemy zarządzania dokumentami" }, - "categoryName51": { "message": "Konstruktory stron" }, - "categoryName52": { "message": "Czat na żywo" }, - "categoryName53": { "message": "Zarządzanie relacjami z klientami" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Księgowość" }, - "categoryName56": { "message": "Koparka kryptowalut" }, - "categoryName57": { "message": "Generator stron statycznych" }, - "categoryName58": { "message": "Wdrażanie użytkownika" }, - "categoryName59": { "message": "Biblioteki JavaScript" }, - "categoryName60": { "message": "Kontenery" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Proxy wsteczne" }, - "categoryName65": { "message": "Równoważenie obciążenia" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/pt/messages.json b/src/_locales/pt/messages.json deleted file mode 100644 index edb675728..000000000 --- a/src/_locales/pt/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Fork Wappalyzer no GitHub!" }, - "twitter": { "message": "Seguir Wappalyzer no Twitter" }, - "website": { "message": "Ir para wappalyzer.com" }, - "noAppsDetected": { "message": "Não foi detectada nenhuma tecnologia." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "nothingToDo": { "message": "Nada a fazer aqui." }, - "optionDynamicIcon": { "message": "Utilizar o ícone da tecnologia em vez do logótipo do Wappalyzer" }, - "optionTracking": { "message": "Envie anonimamente tecnologias identificadas para wappalyzer.com" }, - "optionThemeMode": { "message": "Permitir a compatibilidade modo escuro." }, - "optionUpgradeMessage": { "message": "Fale-me sobre actualizações" }, - "options": { "message": "Opções" }, - "optionsSave": { "message": "Opções de Guardar" }, - "optionsSaved": { "message": "Guardado" }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "categoryPin": { "message": "Mostrar sempre ícone" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "Esta extensão envia informações anónimas sobre os sites que visitas, incluindo o nome de domínio e as tecnologias identificadas, para o wappalyzer.com. Isso pode ser desativado nas configurações." }, - "privacyPolicy": { "message": "Políticas de Privacidade" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Fórum" }, - "categoryName3": { "message": "Gestor de Base de Dados" }, - "categoryName4": { "message": "Ferramenta de Documentação" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Ecommerce" }, - "categoryName7": { "message": "Galeria de Fotos" }, - "categoryName8": { "message": "Wikis" }, - "categoryName9": { "message": "Painéis de Hospedagem" }, - "categoryName10": { "message": "Analítica" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework JavaScript" }, - "categoryName13": { "message": "Localizador de Problemas" }, - "categoryName14": { "message": "Leitor Vídeo" }, - "categoryName15": { "message": "Sistema de Comentários" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Tipos de Letra" }, - "categoryName18": { "message": "Framework Web" }, - "categoryName19": { "message": "Diversos" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Servidor Web" }, - "categoryName23": { "message": "Ferramenta de Cache" }, - "categoryName24": { "message": "Editor WYSIWYG" }, - "categoryName25": { "message": "Gráficos JavaScript" }, - "categoryName26": { "message": "Framework Mobile" }, - "categoryName27": { "message": "Linguagem de Programação" }, - "categoryName28": { "message": "Sistema Operativo" }, - "categoryName29": { "message": "Motor de Busca" }, - "categoryName30": { "message": "WebMail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Automação de Marketing" }, - "categoryName33": { "message": "Extensão de Servidor Web" }, - "categoryName34": { "message": "Base de Dados" }, - "categoryName35": { "message": "Mapa" }, - "categoryName36": { "message": "Rede de Publicidade" }, - "categoryName37": { "message": "Serviço de Rede" }, - "categoryName38": { "message": "Servidor de Média" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Impressão" }, - "categoryName41": { "message": "Processador de Pagamento" }, - "categoryName42": { "message": "Gestor de Etiquetas" }, - "categoryName43": { "message": "Sistema de Subscrição Paga" }, - "categoryName44": { "message": "Sistema Build/CI" }, - "categoryName45": { "message": "Sistema SCADA" }, - "categoryName46": { "message": "Acesso Remoto" }, - "categoryName47": { "message": "Ferramenta de Desenvolvimento" }, - "categoryName48": { "message": "Rede de Armazenamento" }, - "categoryName49": { "message": "Leitores de Feed" }, - "categoryName50": { "message": "Sistema de Gestão de Documentos" }, - "categoryName51": { "message": "Criador de Páginas de Destino" }, - "categoryName52": { "message": "Chat ao Vivo" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Contabilidade" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Gerador de Site Estático" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "Bibliotecas de JavaScript" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/pt_BR/messages.json b/src/_locales/pt_BR/messages.json deleted file mode 100644 index b15471d2b..000000000 --- a/src/_locales/pt_BR/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Fork Wappalyzer no GitHub!" }, - "twitter": { "message": "Seguir o Wappalyzer no Twitter" }, - "website": { "message": "Ir para wappalyzer.com" }, - "options": { "message": "Configurações" }, - "optionsSave": { "message": "Salvar configurações" }, - "optionsSaved": { "message": "Salvo" }, - "optionUpgradeMessage": { "message": "Atualizações automáticas" }, - "optionDynamicIcon": { "message": "Utilizar o ícone da tecnologia ao invés da logo do Wappalyzer" }, - "optionTracking": { "message": "Enviar relatórios anônimos para wappalyzer.com sobre tecnologias identificadas" }, - "optionThemeMode": { "message": "Permitir a compatibilidade modo escuro." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Nada a fazer aqui." }, - "noAppsDetected": { "message": "Nenhuma tecnologia identificada." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Sempre mostrar ícone" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "Esta extensão envia informações anônimas sobre os sites que você visita, incluindo domínio e tecnologias identificadas para wappalyzer.com. Este comportamento pode ser desativado nas configurações." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Fórum" }, - "categoryName3": { "message": "Gestão de Banco de Dados" }, - "categoryName4": { "message": "Ferramenta de Documentação" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Ecommerce" }, - "categoryName7": { "message": "Galeria de Fotografias" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Gestão de Servidores" }, - "categoryName10": { "message": "Ferramenta Estatística" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework JavaScript" }, - "categoryName13": { "message": "Rastreamento de Problemas" }, - "categoryName14": { "message": "Reprodutor de Vídeo" }, - "categoryName15": { "message": "Sistema de Comentários" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Script de Fonte" }, - "categoryName18": { "message": "Framework Web" }, - "categoryName19": { "message": "Diversos" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Servidor Web" }, - "categoryName23": { "message": "Ferramenta de Cache" }, - "categoryName24": { "message": "Editor WYSIWYG" }, - "categoryName25": { "message": "Gráfico JavaScript" }, - "categoryName26": { "message": "Framework Mobile" }, - "categoryName27": { "message": "Linguagem de Programação" }, - "categoryName28": { "message": "Sistema Operacional" }, - "categoryName29": { "message": "Motor de Pesquisa" }, - "categoryName30": { "message": "Web Mail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Automação de Marketing" }, - "categoryName33": { "message": "Extensão de Servidor Web" }, - "categoryName34": { "message": "Banco de Dados" }, - "categoryName35": { "message": "Mapa" }, - "categoryName36": { "message": "Rede de Publicidade" }, - "categoryName37": { "message": "Serviço de Rede" }, - "categoryName38": { "message": "Servidor de Mídia" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Impressora" }, - "categoryName41": { "message": "Serviço de pagamento" }, - "categoryName42": { "message": "Gestor de Tags" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Sistema de Build/CI" }, - "categoryName45": { "message": "Sistema SCADA" }, - "categoryName46": { "message": "Acesso Remoto" }, - "categoryName47": { "message": "Ferramenta de Desenvolvimento" }, - "categoryName48": { "message": "Armazenamento na Rede" }, - "categoryName49": { "message": "Leitor de Feed" }, - "categoryName50": { "message": "Sistema de Gestão de Documentos" }, - "categoryName51": { "message": "Landing Page Builder" }, - "categoryName52": { "message": "Chat Direto" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Contabilidade" }, - "categoryName56": { "message": "Minerador de Cryptomoedas" }, - "categoryName57": { "message": "Gerador de Sites Estáticos" }, - "categoryName58": { "message": "Integração com Usuário" }, - "categoryName59": { "message": "Biblioteca JavaScript" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Proxy Reverso" }, - "categoryName65": { "message": "Balanceador de Carga" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/ro/messages.json b/src/_locales/ro/messages.json deleted file mode 100644 index 9a947f4fc..000000000 --- a/src/_locales/ro/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Fork-uiește Wappalyzer pe GitHub!" }, - "twitter": { "message": "Urmărește Wappalyzer pe Twitter" }, - "website": { "message": "Mergi la wappalyzer.com" }, - "options": { "message": "Opțiuni" }, - "optionsSave": { "message": "Salvează opțiuni" }, - "optionsSaved": { "message": "Salvat" }, - "optionUpgradeMessage": { "message": "Anunță-mă dacă sunt actualizări" }, - "optionDynamicIcon": { "message": "Foloseşte icon-ul aplicaţiei în locul logo-ului Wappalyzer" }, - "optionTracking": { "message": "Trimite rapoarte anonime despre aplicațiile detectate către wappalyzer.com pentru cercetare" }, - "optionThemeMode": { "message": "Activează modul de compatibilitate întuneric." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Nimic de făcut pe pagina curentă." }, - "noAppsDetected": { "message": "Nici o aplicație detectată." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Afișează icon tot timpul" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Forum de discuții" }, - "categoryName3": { "message": "Manager baze de date" }, - "categoryName4": { "message": "Unealtă pentru documentare" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "Ecommerce" }, - "categoryName7": { "message": "Photo galleries" }, - "categoryName8": { "message": "Wikis" }, - "categoryName9": { "message": "Hosting panels" }, - "categoryName10": { "message": "Analiză trafic web" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Framework JavaScript" }, - "categoryName13": { "message": "Tracker probleme" }, - "categoryName14": { "message": "Player Video" }, - "categoryName15": { "message": "Sistem de comentarii" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Script pentru fonturi" }, - "categoryName18": { "message": "Framework Web" }, - "categoryName19": { "message": "Divers" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Server Web" }, - "categoryName23": { "message": "Unealtă Cache" }, - "categoryName24": { "message": "Editor Texte Rich" }, - "categoryName25": { "message": "Grafică JavaScript" }, - "categoryName26": { "message": "Framework Mobile" }, - "categoryName27": { "message": "Limbaj de programare" }, - "categoryName28": { "message": "Sistem de operare" }, - "categoryName29": { "message": "Motor de căutare" }, - "categoryName30": { "message": "Poștă electronică" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Automatizare marketing" }, - "categoryName33": { "message": "Extensie server web" }, - "categoryName34": { "message": "Bază de date" }, - "categoryName35": { "message": "Hartă" }, - "categoryName36": { "message": "Rețea de advertising" }, - "categoryName37": { "message": "Serviciu rețea" }, - "categoryName38": { "message": "Server Media" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Imprimantă" }, - "categoryName41": { "message": "Sistem de plată" }, - "categoryName42": { "message": "Manager cuvinte cheie" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Sistem Build/CI" }, - "categoryName45": { "message": "Sistem SCADA" }, - "categoryName46": { "message": "Acces de la distanță" }, - "categoryName47": { "message": "Instrument de dezvoltare" }, - "categoryName48": { "message": "Stocare în rețea" }, - "categoryName49": { "message": "Cititor de Feed-uri" }, - "categoryName50": { "message": "Sistem de management al documentelor" }, - "categoryName51": { "message": "Landing Page Builder" }, - "categoryName52": { "message": "Chat Live" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json deleted file mode 100644 index 5624ac8b9..000000000 --- a/src/_locales/ru/messages.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "github": { "message": "Форкнуть на GitHub!" }, - "twitter": { "message": "Следите за новостями в Твиттере" }, - "website": { "message": "Перейти на wappalyzer.com" }, - "options": { "message": "Настройки" }, - "optionsSave": { "message": "Сохранить" }, - "optionsSaved": { "message": "Успешно сохранено!" }, - "optionUpgradeMessage": { "message": "Оповещать меня об обновлениях" }, - "optionDynamicIcon": { "message": "Использовать значок технологии вместо логотипа Wappalyzer" }, - "optionTracking": { "message": "Анонимно отправлять статистику распознанных данных на wappalyzer.com" }, - "optionThemeMode": { "message": "Темная тема" }, - "optionBadge": { "message": "Показывать количество идентифицированных технологий на значке" }, - "optionShowCached": { "message": "Включать кешированные обнаружения в результатах" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Отключить на этом сайте" }, - "clearCache": { "message": "Очистить кешированные результаты" }, - "nothingToDo": { "message": "Здесь нечего делать" }, - "noAppsDetected": { "message": "Не удалось определить ни одну технологию" }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Всегда отображать эту категорию иконкой"}, - "termsAccept": { "message": "Я принимаю условия" }, - "termsDecline": { "message": "Отключить" }, - "termsContent": { "message": "Расширение отправляет обезличенную статистику посещенных сайтов, включая доменное имя и распознанные технологии на wappalyzer.com. Это можно отключить в настройках." }, - "privacyPolicy": { "message": "Политика конфиденциальности" }, - "createAlert": { "message": "Отправить жалобу на этот сайт" }, - "leadLists": { "message": "Инструменты лидогенерации" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Форум" }, - "categoryName3": { "message": "Менеджер БД" }, - "categoryName4": { "message": "Документация" }, - "categoryName5": { "message": "Виджет" }, - "categoryName6": { "message": "Электронная коммерция" }, - "categoryName7": { "message": "Фотогалерея" }, - "categoryName8": { "message": "Вики" }, - "categoryName9": { "message": "Панель управления хостингом" }, - "categoryName10": { "message": "Аналитика" }, - "categoryName11": { "message": "Блог" }, - "categoryName12": { "message": "JS-фреймворк" }, - "categoryName13": { "message": "Баг-трекер" }, - "categoryName14": { "message": "Видео-плеер" }, - "categoryName15": { "message": "Система комментариев" }, - "categoryName16": { "message": "Безопасность" }, - "categoryName17": { "message": "Шрифт" }, - "categoryName18": { "message": "Веб-фреймворк" }, - "categoryName19": { "message": "Прочее" }, - "categoryName20": { "message": "HTML редактор" }, - "categoryName21": { "message": "Система управления обучением" }, - "categoryName22": { "message": "Веб-сервер" }, - "categoryName23": { "message": "Кеширование" }, - "categoryName24": { "message": "WYSIWYG-редактор" }, - "categoryName25": { "message": "JS графика" }, - "categoryName26": { "message": "Мобильный фреймворк" }, - "categoryName27": { "message": "Язык программирования" }, - "categoryName28": { "message": "Операционная система" }, - "categoryName29": { "message": "Поисковый движок" }, - "categoryName30": { "message": "Веб-почта" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Управление маркетингом" }, - "categoryName33": { "message": "Расширение веб-сервера" }, - "categoryName34": { "message": "База данных" }, - "categoryName35": { "message": "Карта" }, - "categoryName36": { "message": "Рекламная сеть" }, - "categoryName37": { "message": "Сетевая служба" }, - "categoryName38": { "message": "Медиа-сервер" }, - "categoryName39": { "message": "Веб-камера" }, - "categoryName40": { "message": "Принтер" }, - "categoryName41": { "message": "Платёжная система" }, - "categoryName42": { "message": "Менеджер тегов" }, - "categoryName44": { "message": "Система непрерывной интеграции" }, - "categoryName46": { "message": "Удаленное управление" }, - "categoryName47": { "message": "Утилита для разработчиков" }, - "categoryName48": { "message": "Сетевое хранилище" }, - "categoryName49": { "message": "RSS-агрегатор" }, - "categoryName50": { "message": "Управление документами" }, - "categoryName51": { "message": "Генератор лендингов" }, - "categoryName52": { "message": "Онлайн-консультант" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Бухгалтерский учёт" }, - "categoryName56": { "message": "Криптомайнер" }, - "categoryName57": { "message": "Генератор статических сайтов" }, - "categoryName58": { "message": "Регистрация пользователя" }, - "categoryName59": { "message": "JS-библиотека" }, - "categoryName60": { "message": "Контейнеризация" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Обратный прокси" }, - "categoryName65": { "message": "Балансировка нагрузки" }, - "categoryName66": { "message": "UI Фреймворк" }, - "categoryName67": { "message": "Соответствие cookie" }, - "categoryName68": { "message": "Доступность" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Партнерская программы" }, - "categoryName72": { "message": "Сервисы расписания и бронирования" }, - "categoryName73": { "message": "Опросы" }, - "categoryName74": { "message": "A/B тестирование" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Персонализация" }, - "categoryName77": { "message": "Ретаргетинг" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Геолокация" }, - "categoryName80": { "message": "Шаблон для WordPress" }, - "categoryName81": { "message": "Шаблон для Shopify" }, - "categoryName82": { "message": "Шаблон для Drupal" }, - "categoryName83": { "message": "Отпечатки браузера" }, - "categoryName84": { "message": "Программы лояльности и наград" }, - "categoryName85": { "message": "Управление функциями" }, - "categoryName86": { "message": "Сегментация" }, - "categoryName87": { "message": "Плагины для WordPress" }, - "categoryName88": { "message": "Хостинг" }, - "categoryName89": { "message": "Перевод" }, - "categoryName90": { "message": "Обзоры" }, - "categoryName91": { "message": "Отложенный платеж" }, - "categoryName92": { "message": "Производительность" }, - "categoryName93": { "message": "Резервирование & доставка" }, - "categoryName94": { "message": "Реферальный маркетинг" }, - "categoryName95": { "message": "Управление цифровыми активами" }, - "categoryName96": { "message": "Курирование контента" }, - "categoryName97": { "message": "Платформа клиентских данных" }, - "categoryName98": { "message": "Отказа от корзины покупок" }, - "categoryName99": { "message": "Службы доставки" }, - "categoryName100": { "message": "Приложении для Shopify" }, - "categoryName101": { "message": "Подбор персонала" }, - "categoryName102": { "message": "Возврат товара" }, - "categoryName103": { "message": "Прямая трансляция" }, - "categoryName104": { "message": "Бронирование билетов" }, - "categoryName105": { "message": "Дополненная реальность" }, - "categoryName106": { "message": "Трансграничная электронная коммерция" }, - "categoryName107": { "message": "Выполнения" }, - "categoryName108": { "message": "Фронтенд для ecommerce платформ" }, - "categoryName109": { "message": "Парковка домена" }, - "categoryName110": { "message": "Конструкторы форм" }, - "categoryName111": { "message": "Сбор средств и пожертвования" } -} diff --git a/src/_locales/sk/messages.json b/src/_locales/sk/messages.json deleted file mode 100644 index c6586615e..000000000 --- a/src/_locales/sk/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Forknite Wappalyzer na GitHube!" }, - "twitter": { "message": "Sledujte Wappalyzer na Twitteri" }, - "website": { "message": "Prejdite na adresu wappalyzer.com" }, - "options": { "message": "Možnosti" }, - "optionsSave": { "message": "Uložiť možnosti" }, - "optionsSaved": { "message": "Uložené" }, - "optionUpgradeMessage": { "message": "Povedzte mi o upgradoch" }, - "optionDynamicIcon": { "message": "Použiť ikonu aplikácie namiesto loga Wappalyzer" }, - "optionTracking": { "message": "Anonymne posielať správy o zistených aplikáciách na wappalyzer.com pre výskum" }, - "optionThemeMode": { "message": "Povoliť kompatibilitu tmavú režim." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Nie je tu čo robiť." }, - "noAppsDetected": { "message": "Žiadne aplikácie neboli zistené." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Message Board" }, - "categoryName3": { "message": "Správca databáz" }, - "categoryName4": { "message": "Dokumentačný nástroj" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "E-commerce" }, - "categoryName7": { "message": "Fotogalérie" }, - "categoryName8": { "message": "Wiki" }, - "categoryName9": { "message": "Hosting panely" }, - "categoryName10": { "message": "Analytika" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "JavaScript Framework" }, - "categoryName13": { "message": "Issue Tracker" }, - "categoryName14": { "message": "Video prehrávač" }, - "categoryName15": { "message": "Systém komentárov" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Font Script" }, - "categoryName18": { "message": "Web Framework" }, - "categoryName19": { "message": "Rôzne" }, - "categoryName20": { "message": "Editor" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Webový server" }, - "categoryName23": { "message": "Cache nástroj" }, - "categoryName24": { "message": "Rich Text editor" }, - "categoryName25": { "message": "JavaScript Grafika" }, - "categoryName26": { "message": "Mobile Framework" }, - "categoryName27": { "message": "Programovací jazyk" }, - "categoryName28": { "message": "Operačný systém" }, - "categoryName29": { "message": "Vyhľadávač" }, - "categoryName30": { "message": "Webmail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Marketingová automatizácia" }, - "categoryName33": { "message": "Rozšírenie webového servera" }, - "categoryName34": { "message": "Databáza" }, - "categoryName35": { "message": "Mapa" }, - "categoryName36": { "message": "Reklamná sieť" }, - "categoryName37": { "message": "Sieťová služba" }, - "categoryName38": { "message": "Media Server" }, - "categoryName39": { "message": "Webkamera" }, - "categoryName40": { "message": "Tlačiareň" }, - "categoryName41": { "message": "Platobný procesor" }, - "categoryName42": { "message": "Správca tagov" }, - "categoryName43": { "message": "Platobná brána" }, - "categoryName44": { "message": "Build/CI systém" }, - "categoryName45": { "message": "SCADA systém" }, - "categoryName46": { "message": "Vzdialený prístup" }, - "categoryName47": { "message": "Vývojový nástroj" }, - "categoryName48": { "message": "Sieťové úložisko" }, - "categoryName49": { "message": "Čítačky feedu" }, - "categoryName50": { "message": "Systémy správy dokumentov" }, - "categoryName51": { "message": "Nástroj na tvorbu vstupnej stránky" }, - "categoryName52": { "message": "Živý chat" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json deleted file mode 100644 index c86321b13..000000000 --- a/src/_locales/tr/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "GitHub'da Wappalyzer'ı Forkla!" }, - "twitter": { "message": "Wappalyzer'ı Twitter'da takip et" }, - "website": { "message": "Wappalyzer.com'a git" }, - "options": { "message": "Ayarlar" }, - "optionsSave": { "message": "Ayarları kaydet" }, - "optionsSaved": { "message": "Kaydedildi" }, - "optionUpgradeMessage": { "message": "Güncellemeleri göster" }, - "optionDynamicIcon": { "message": "Wappalyzer logosu yerine uygulama simgesi kullan" }, - "optionTracking": { "message": "Anonim olarak tespit edilen uygulamalar hakkında wappalyzer.com'a araştırma raporları gönderin" }, - "optionThemeMode": { "message": "Karanlık modu uyumluluğu etkinleştirin." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Burada yapacak birşey yok." }, - "noAppsDetected": { "message": "Uygulamalar tespit edilemedi." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Her zaman bu kategorinin ikonunu kullan" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "Bu eklenti, ziyaret ettiğiniz web site bilgilerini, alan adları ve tespit edilen teknolojiler ile beraber anonim olarak wappalyzer.com'a gönderir. Bunu, eklenti ayarlarından değiştirebilirsiniz." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "İçerik Yönetim Sistemi" }, - "categoryName2": { "message": "Mesaj Tahtası" }, - "categoryName3": { "message": "Veritabanı Yöneticisi" }, - "categoryName4": { "message": "Doküman Aracı" }, - "categoryName5": { "message": "Widget" }, - "categoryName6": { "message": "E-Ticaret" }, - "categoryName7": { "message": "Foto Galerisi" }, - "categoryName8": { "message": "Wiki'ler" }, - "categoryName9": { "message": "Hosting Panelleri" }, - "categoryName10": { "message": "Analitik" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "JavaScript Framework" }, - "categoryName13": { "message": "Hata Takibi" }, - "categoryName14": { "message": "Video Oynatıcı" }, - "categoryName15": { "message": "Yorum Sistemi" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Yazı Tipi" }, - "categoryName18": { "message": "Web Framework" }, - "categoryName19": { "message": "Çeşitli" }, - "categoryName20": { "message": "Düzenleyici" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Web Sunucusu" }, - "categoryName23": { "message": "Ön Bellek Aracı" }, - "categoryName24": { "message": "Zengin Metin Düzenleyici" }, - "categoryName25": { "message": "JavaScript Grafikleri" }, - "categoryName26": { "message": "Mobil Framework" }, - "categoryName27": { "message": "Programlama Dilleri" }, - "categoryName28": { "message": "İşletim sistemi" }, - "categoryName29": { "message": "Arama Motoru" }, - "categoryName30": { "message": "Web Posta" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Pazarlama Otomasyonu" }, - "categoryName33": { "message": "Web Sunucu Eklentileri" }, - "categoryName34": { "message": "Veritabanı" }, - "categoryName35": { "message": "Harita" }, - "categoryName36": { "message": "Reklamcılık Ağı" }, - "categoryName37": { "message": "Ağ Servisi" }, - "categoryName38": { "message": "Medya Sunucusu" }, - "categoryName39": { "message": "Bilgisayar Kamerası" }, - "categoryName40": { "message": "Yazıcı" }, - "categoryName41": { "message": "Ödeme İşlemcisi" }, - "categoryName42": { "message": "Etiket Yöneticisi" }, - "categoryName43": { "message": "Ödeme Duvarı" }, - "categoryName44": { "message": "Build/CI Sistemi" }, - "categoryName45": { "message": "SCADA (EKS) Sistemi" }, - "categoryName46": { "message": "Uzaktan Erişim" }, - "categoryName47": { "message": "Geliştirme Aracı" }, - "categoryName48": { "message": "Ağ Depolama" }, - "categoryName49": { "message": "Besleme Okuyucuları" }, - "categoryName50": { "message": "Doküman Yönetim Sistemleri" }, - "categoryName51": { "message": "Açılış Sayfası Oluşturucu" }, - "categoryName52": { "message": "Canlı Sohbet" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Muhasebe" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Statik Site Üretici" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Kütüphaneleri" }, - "categoryName60": { "message": "Konteyner" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Yük Dengeleyici" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs"}, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/uk/messages.json b/src/_locales/uk/messages.json deleted file mode 100644 index de2b7e9e3..000000000 --- a/src/_locales/uk/messages.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "github": { "message": "Форкнути на GitHub!" }, - "twitter": { "message": "Читайте нас у Twitter" }, - "website": { "message": "До wappalyzer.com" }, - "options": { "message": "Налаштування" }, - "optionsSave": { "message": "Зберегти налаштування" }, - "optionsSaved": { "message": "Збережено" }, - "optionUpgradeMessage": { "message": "Сповіщати про оновлення" }, - "optionDynamicIcon": { "message": "Використовувати значок застосунку замість логотипу Wappalyzer" }, - "optionTracking": { "message": "Анонімно надсилати статистику розпізнавань на сервер для досліджень" }, - "optionThemeMode": { "message": "Включити сумісність темного режиму." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Тут нічого робити." }, - "noAppsDetected": { "message": "Нічого не знайдено." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Завжди показувати іконку Wappalyzer" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "Це розширення надсилає на Wapplayzer.com анонімну інформацію про відвідувані вами веб-сайти, включаючи доменні імена та визначені технології. Це можна відключити в налаштуваннях." }, - "privacyPolicy": { "message": "Політика приватності" }, - "createAlert": { "message": "Поскаржитись на цей сайт" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Форум" }, - "categoryName3": { "message": "Менеджер БД" }, - "categoryName4": { "message": "Документація" }, - "categoryName5": { "message": "Віджет" }, - "categoryName6": { "message": "Електронна комерція" }, - "categoryName7": { "message": "Фотогалерея" }, - "categoryName8": { "message": "Вікі" }, - "categoryName9": { "message": "Панель керування хостингом" }, - "categoryName10": { "message": "Аналітика" }, - "categoryName11": { "message": "Блог" }, - "categoryName12": { "message": "JS фреймворк" }, - "categoryName13": { "message": "Багтрекер" }, - "categoryName14": { "message": "Відеопрогравач" }, - "categoryName15": { "message": "Система коментарів" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Шрифт" }, - "categoryName18": { "message": "Веб-фреймворк" }, - "categoryName19": { "message": "Інше" }, - "categoryName20": { "message": "HTML редактор" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Веб-сервер" }, - "categoryName23": { "message": "Кешування" }, - "categoryName24": { "message": "WYSIWYG редактор" }, - "categoryName25": { "message": "JS графіка" }, - "categoryName26": { "message": "Мобільний фреймворк" }, - "categoryName27": { "message": "Мова програмування" }, - "categoryName28": { "message": "Операційна система" }, - "categoryName29": { "message": "Пошуковий рушій" }, - "categoryName30": { "message": "Веб-пошта" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Керування маркетингом" }, - "categoryName33": { "message": "Розширення веб-сервера" }, - "categoryName34": { "message": "База даних" }, - "categoryName35": { "message": "Мапа" }, - "categoryName36": { "message": "Рекламна мережа" }, - "categoryName37": { "message": "Мережева служба" }, - "categoryName38": { "message": "Медіасервер" }, - "categoryName39": { "message": "Веб-камера" }, - "categoryName40": { "message": "Принтер" }, - "categoryName41": { "message": "Платіжна система" }, - "categoryName42": { "message": "Менеджер міток" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Системе неперервної інтеграції" }, - "categoryName45": { "message": "Система SCADA" }, - "categoryName46": { "message": "Віддалене керування" }, - "categoryName47": { "message": "Інструмент розробника" }, - "categoryName48": { "message": "Мережеве сховище" }, - "categoryName49": { "message": "Потоковий агрегатор" }, - "categoryName50": { "message": "Керування документами" }, - "categoryName51": { "message": "Генератор лендінгів" }, - "categoryName52": { "message": "Чат реального часу" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Бухгалтерський облік" }, - "categoryName56": { "message": "Криптовалюта" }, - "categoryName57": { "message": "Генератор статистичних сайтів" }, - "categoryName58": { "message": "Користувач на борту" }, - "categoryName59": { "message": "JS Бібліотеки" }, - "categoryName60": { "message": "Контейнери" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Зворотний проксі" }, - "categoryName65": { "message": "Балансир завантаження" }, - "categoryName66": { "message": "UI Каркаси" }, - "categoryName67": { "message": "Відповідність файлам cookie" }, - "categoryName68": { "message": "Доступність" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/uz/messages.json b/src/_locales/uz/messages.json deleted file mode 100644 index e98947d70..000000000 --- a/src/_locales/uz/messages.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "github": { "message": "GitHubda Wappalyzer dan nusxa olish!" }, - "twitter": { "message": "Twitterda Wappalyzerni kuzatib boring" }, - "website": { "message": "wappalyzer.com ga o'tish" }, - "options": { "message": "Sozlovlar" }, - "optionsSave": { "message": "Saqlash" }, - "optionsSaved": { "message": "Saqlandi" }, - "optionUpgradeMessage": { "message": "Yangilanishlar haqida habar berish" }, - "optionDynamicIcon": { "message": "Wappalyzer logotipi o'rnida dastur logotipidan foydalanish" }, - "optionTracking": { "message": "Wappalyzer takomillashtirish uchun hisobotlarni maxfiy ravishda serverga jo'natish" }, - "optionThemeMode": { "message": "qorong'i rejimi mosligini yoqish." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, - "nothingToDo": { "message": "Bu yerda tekshirib bolmaydi." }, - "noAppsDetected": { "message": "Hech qanday dastur aniqlanmadi." }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "CMS (KBT)" }, - "categoryName2": { "message": "Forum" }, - "categoryName3": { "message": "MB boshqaruvi" }, - "categoryName4": { "message": "Qo'llanmalar" }, - "categoryName5": { "message": "Vidjet" }, - "categoryName6": { "message": "E-tijorat" }, - "categoryName7": { "message": "Foto galereya" }, - "categoryName8": { "message": "Vikilar" }, - "categoryName9": { "message": "Hosting Panel" }, - "categoryName10": { "message": "Analitika" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "JavaScript Freymvork" }, - "categoryName13": { "message": "Bag treker" }, - "categoryName14": { "message": "Video Player" }, - "categoryName15": { "message": "Izohlar tizimi" }, - "categoryName16": { "message": "Security" }, - "categoryName17": { "message": "Shrift" }, - "categoryName18": { "message": "Veb Freymvork" }, - "categoryName19": { "message": "Boshqalar" }, - "categoryName20": { "message": "Muharrir" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Veb Server" }, - "categoryName23": { "message": "Keshlash vositasi" }, - "categoryName24": { "message": "WYSIWYG muharriri" }, - "categoryName25": { "message": "JavaScript grafika" }, - "categoryName26": { "message": "Mobile Freymvork" }, - "categoryName27": { "message": "Dasturlash tili" }, - "categoryName28": { "message": "Operatsion tizim" }, - "categoryName29": { "message": "Qidiruv vositasi" }, - "categoryName30": { "message": "Veb Mail" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Marketing Boshqaruv Tizim" }, - "categoryName33": { "message": "Veb Server Ilovasi" }, - "categoryName34": { "message": "Ma'lumotlar ombori" }, - "categoryName35": { "message": "Xarita" }, - "categoryName36": { "message": "Reklama tarmog'i" }, - "categoryName37": { "message": "Tarmoq xizmati" }, - "categoryName38": { "message": "Media Server" }, - "categoryName39": { "message": "Veb kamera" }, - "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "To'lov tizimi" }, - "categoryName42": { "message": "Tag Menejeri" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "CI Tizim" }, - "categoryName45": { "message": "SCADA Tizim" }, - "categoryName46": { "message": "Masofaviy boshqaruv" }, - "categoryName47": { "message": "Dasturchilar uchun" }, - "categoryName48": { "message": "Tarmoq omborlar" }, - "categoryName49": { "message": "Feed Readers" }, - "categoryName50": { "message": "Qo'llanma tuzuvchi tizim" }, - "categoryName51": { "message": "Sahifa generatorlari" }, - "categoryName52": { "message": "Live Chat" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" }, - "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json deleted file mode 100644 index b1fa5dc28..000000000 --- a/src/_locales/vi/messages.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "github": { "message": "Fork Wappalyzer trên GitHub!" }, - "twitter": { "message": "Theo dõi Wappalyzer trên Twitter" }, - "website": { "message": "Đi đến wappalyzer.com" }, - "options": { "message": "Tùy chọn" }, - "optionsSave": { "message": "Lưu tùy chọn" }, - "optionsSaved": { "message": "Đã lưu" }, - "optionUpgradeMessage": { "message": "Thông báo về các bản nâng cấp" }, - "optionDynamicIcon": { "message": "Sử dụng biểu tượng công nghệ thay vì biểu trưng Wappalyzer" }, - "optionTracking": { "message": "Gửi thông tin về các công nghệ đã xác định một cách ẩn danh đến wappalyzer.com" }, - "optionThemeMode": { "message": "Kích hoạt chế độ tương thích chế độ tối" }, - "optionBadge": { "message": "Hiển thị số công nghệ đã xác định trên biểu trưng" }, - "optionShowCached": { "message": "Bao gồm kết quả xác định lưu trong bộ nhớ đệm" }, - "optionApiKey": { "message": "Khóa API" }, - "optionApiKeyDescription": { "message": "lấy khóa API của bạn" }, - "disableOnDomain": { "message": "Vô hiệu hóa trên trang web này" }, - "clearCache": { "message": "Xóa các kết quả xác định trong bộ nhớ đệm" }, - "nothingToDo": { "message": "Không có gì để thực hiện ở đây." }, - "noAppsDetected": { "message": "Không xác định được công nghệ nào." }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Chơi trò chơi?" }, - "categoryPin": { "message": "Luôn hiển thị biểu trưng" }, - "termsAccept": { "message": "Tôi đồng ý" }, - "termsDecline": { "message": "Vô hiệu hóa" }, - "termsContent": { "message": "Tiện ích mở rộng này gửi thông tin ẩn danh về các trang web bạn truy cập, bao gồm tên miền và các công nghệ đã xác định, đến wappalyzer.com. Điều này có thể được vô hiệu hóa trong cài đặt." }, - "privacyPolicy": { "message": "Chính sách bảo mật" }, - "createAlert": { "message": "Tạo cảnh báo cho trang web này" }, - "leadLists": { "message": "Công cụ tạo khách hàng tiềm năng" }, - "tabTechnologies": { "message": "Công nghệ" }, - "tabPlus": { "message": "Thông tin thêm" }, - "creditBalance": { "message": "Số dư tín dụng:" }, - "plusMessageHeading": { "message": "Nhận Plus với $$10/tháng" }, - "plusMessage": { "message": "Với Plus, thông tin về công ty và liên hệ của các trang web bạn truy cập sẽ được hiển thị ở đây." }, - "plusButton": { "message": "Đăng ký" }, - "plusEmpty": { "message": "Không tìm thấy kết quả nào." }, - "plusCrawl": { "message": "Không tìm thấy kết quả, vui lòng kiểm tra lại sau." }, - "formSave": { "message": "Lưu" }, - "issue": { "message": "Có điều gì đó không đúng hoặc bị thiếu?" }, - - "setCompany": { "message": "Thông tin công ty" }, - "setKeywords": { "message": "Từ khóa" }, - "setEmail": { "message": "Địa chỉ email" }, - "setPhone": { "message": "Số điện thoại" }, - "setAddress": { "message": "Địa chỉ" }, - "setContact": { "message": "Thông tin liên hệ" }, - "setSocial": { "message": "Tài khoản mạng xã hội" }, - "setMeta": { "message": "Siêu dữ liệu" }, - "setLocale": { "message": "Ngôn ngữ" }, - "setTrackers": { "message": "Các công cụ theo dõi" }, - "setSecurity": { "message": "Bảo mật" }, - "setSignals": { "message": "Tín hiệu" }, - - "attributeTechnologySpend": { "message": "Chi phí công nghệ" }, - "attributeIpCountry": { "message": "Quốc gia IP" }, - "attributeIpRegion": { "message": "Khu vực IP" }, - "attributeLanguage": { "message": "Ngôn ngữ" }, - "attributeEmail": { "message": "Địa chỉ email" }, - "attributeVerifiedEmail": { "message": "Địa chỉ email (đã xác minh)" }, - "attributeSafeEmail": { "message": "Địa chỉ email (an toàn)" }, - "attributePhone": { "message": "Số điện thoại" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Tên công ty suy đoán" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Tiêu đề" }, - "attributeDescription": { "message": "Mô tả" }, - "attributeCopyright": { "message": "Bản quyền" }, - "attributeCopyrightYear": { "message": "Năm bản quyền" }, - "attributeResponsive": { "message": "Đáp ứng" }, - "attributeCertInfo_subjectOrg": { "message": "Tổ chức chứng chỉ" }, - "attributeCertInfo_subjectCountry":{ "message": "Quốc gia chứng chỉ" }, - "attributeCertInfo_subjectState": { "message": "Tiểu bang chứng chỉ" }, - "attributeCertInfo_subjectLocality":{ "message": "Địa phương chứng chỉ" }, - "attributeCertInfo_issuer": { "message": "Cơ quan cấp chứng chỉ" }, - "attributeCertInfo_protocol": { "message": "Giao thức chứng chỉ" }, - "attributeCertInfo_validTo": { "message": "Ngày hết hạn chứng chỉ" }, - "attributeHttps": { "message": "Kích hoạt SSL/TLS" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Tên công ty" }, - "attributeIndustry": { "message": "Ngành" }, - "attributeAbout": { "message": "Về chúng tôi" }, - "attributeLocations": { "message": "Địa điểm" }, - "attributeCompanySize": { "message": "Quy mô công ty" }, - "attributeCompanyType": { "message": "Loại công ty" }, - "attributeCompanyFounded": { "message": "Ngày thành lập công ty" }, - "attributeKeywords": { "message": "Từ khóa" }, - "attributeEmployees": { "message": "Nhân viên" }, - "attributeDns_spf": { "message": "Bản ghi SPF" }, - "attributeDns_dmarc": { "message": "Bản ghi DMARC" }, - "attributeSchemaOrgTypes": { "message": "Loại schema.org" }, - - "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Diễn đàn tin nhắn" }, - "categoryName3": { "message": "Trình quản lý cơ sở dữ liệu" }, - "categoryName4": { "message": "Công cụ tài liệu" }, - "categoryName5": { "message": "Các tiện ích" }, - "categoryName6": { "message": "Thương mại điện tử" }, - "categoryName7": { "message": "Bộ sưu tập ảnh" }, - "categoryName8": { "message": "Wikis" }, - "categoryName9": { "message": "Các bảng điều khiển lưu trữ" }, - "categoryName10": { "message": "Phân tích số liệu" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "Các khung công cụ JavaScript" }, - "categoryName13": { "message": "Công cụ theo dõi vấn đề" }, - "categoryName14": { "message": "Trình phát video" }, - "categoryName15": { "message": "Hệ thống bình luận" }, - "categoryName16": { "message": "Bảo mật" }, - "categoryName17": { "message": "Script phông chữ" }, - "categoryName18": { "message": "Khung công cụ Web" }, - "categoryName19": { "message": "Đa dạng" }, - "categoryName20": { "message": "Trình soạn thảo" }, - "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Các máy chủ Web" }, - "categoryName23": { "message": "Bộ nhớ cache" }, - "categoryName24": { "message": "Trình soạn thảo văn bản phong phú" }, - "categoryName25": { "message": "Đồ họa JavaScript" }, - "categoryName26": { "message": "Khung công cụ di động" }, - "categoryName27": { "message": "Các ngôn ngữ lập trình" }, - "categoryName28": { "message": "Hệ điều hành" }, - "categoryName29": { "message": "Công cụ tìm kiếm" }, - "categoryName30": { "message": "Hộp thư Web" }, - "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Tự động hóa tiếp thị" }, - "categoryName33": { "message": "Các phần mở rộng máy chủ Web" }, - "categoryName34": { "message": "Cơ sở dữ liệu" }, - "categoryName35": { "message": "Bản đồ" }, - "categoryName36": { "message": "Quảng cáo" }, - "categoryName37": { "message": "Dịch vụ mạng" }, - "categoryName38": { "message": "Máy chủ phương tiện" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Máy in" }, - "categoryName41": { "message": "Các trình xử lý thanh toán" }, - "categoryName42": { "message": "Trình quản lý thẻ" }, - "categoryName44": { "message": "CI" }, - "categoryName46": { "message": "Truy cập từ xa" }, - "categoryName47": { "message": "Phát triển" }, - "categoryName48": { "message": "Lưu trữ mạng" }, - "categoryName49": { "message": "Công cụ đọc feed" }, - "categoryName50": { "message": "Hệ thống quản lý tài liệu" }, - "categoryName51": { "message": "Trình xây dựng trang" }, - "categoryName52": { "message": "Trò chuyện trực tuyến" }, - "categoryName53": { "message": "CRM" }, - "categoryName54": { "message": "Tối ưu hóa công cụ tìm kiếm" }, - "categoryName55": { "message": "Kế toán" }, - "categoryName56": { "message": "Công cụ đào tiền điện tử" }, - "categoryName57": { "message": "Công cụ tạo trang tĩnh" }, - "categoryName58": { "message": "Tiếp cận người dùng" }, - "categoryName59": { "message": "Thư viện JavaScript" }, - "categoryName60": { "message": "Các công cụ chứa" }, - "categoryName61": { "message": "SaaS" }, - "categoryName62": { "message": "PaaS" }, - "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Các proxy đảo ngược" }, - "categoryName65": { "message": "Cân bằng tải" }, - "categoryName66": { "message": "Khung giao diện người dùng" }, - "categoryName67": { "message": "Tuân thủ cookie" }, - "categoryName68": { "message": "Khả năng truy cập" }, - "categoryName69": { "message": "Xác thực" }, - "categoryName70": { "message": "Các cơ quan chứng nhận SSL/TLS" }, - "categoryName71": { "message": "Các chương trình liên kết" }, - "categoryName72": { "message": "Lập lịch hẹn" }, - "categoryName73": { "message": "Các cuộc khảo sát" }, - "categoryName74": { "message": "Thử nghiệm A/B" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Cá nhân hóa" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Vị trí địa lý" }, - "categoryName80": { "message": "Giao diện WordPress" }, - "categoryName81": { "message": "Giao diện Shopify" }, - "categoryName82": { "message": "Giao diện Drupal" }, - "categoryName83": { "message": "Dấu vân tay trình duyệt" }, - "categoryName84": { "message": "Loyalty & phần thưởng" }, - "categoryName85": { "message": "Quản lý tính năng" }, - "categoryName86": { "message": "Phân đoạn" }, - "categoryName87": { "message": "Các plugin WordPress" }, - "categoryName88": { "message": "Dịch vụ lưu trữ" }, - "categoryName89": { "message": "Dịch" }, - "categoryName90": { "message": "Nhận xét" }, - "categoryName91": { "message": "Mua ngay trả sau" }, - "categoryName92": { "message": "Hiệu suất" }, - "categoryName93": { "message": "Đặt chỗ và giao hàng" }, - "categoryName94": { "message": "Tiếp thị giới thiệu" }, - "categoryName95": { "message": "Quản lý tài sản số" }, - "categoryName96": { "message": "Tổ chức nội dung" }, - "categoryName97": { "message": "Nền tảng dữ liệu khách hàng" }, - "categoryName98": { "message": "Bỏ giỏ hàng" }, - "categoryName99": { "message": "Nhà vận chuyển gửi hàng" }, - "categoryName100": { "message": "Ứng dụng Shopify" }, - "categoryName101": { "message": "Tuyển dụng và nhân sự" }, - "categoryName102": { "message": "Trả hàng" }, - "categoryName103": { "message": "Phát trực tiếp" }, - "categoryName104": { "message": "Đặt vé" }, - "categoryName105": { "message": "Thực tế tăng cường" }, - "categoryName106": { "message": "Thương mại điện tử xuyên biên giới" }, - "categoryName107": { "message": "Hoàn thành" }, - "categoryName108": { "message": "Giao diện người dùng thương mại điện tử" }, - "categoryName109": { "message": "Tên miền song song" }, - "categoryName110": { "message": "Công cụ xây dựng biểu mẫu" }, - "categoryName111": { "message": "Gây quỹ & quyên góp" } -} diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json deleted file mode 100644 index 88d6fc2b6..000000000 --- a/src/_locales/zh_CN/messages.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "github": { "message": "在 GitHub 上复刻 Wappalyzer!" }, - "twitter": { "message": "在 Twitter 上关注 Wappalyzer" }, - "website": { "message": "前往 wappalyzer.com" }, - "options": { "message": "选项" }, - "optionsSave": { "message": "保存选项" }, - "optionsSaved": { "message": "已保存" }, - "optionUpgradeMessage": { "message": "告诉我更新详情" }, - "optionDynamicIcon": { "message": "使用技术图标代替 Wappalyzer 的标志" }, - "optionTracking": { "message": "匿名发送检测到的技术至 wappalyzer.com" }, - "optionThemeMode": { "message": "启用深色模式兼容" }, - "optionBadge": { "message": "在图标上显示检测到技术的个数" }, - "optionShowCached": { "message": "Include cached detections in results" }, - "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "在该网站禁用" }, - "clearCache": { "message": "清除检测缓存" }, - "nothingToDo": { "message": "这里无事可做。" }, - "noAppsDetected": { "message": "未检测到任何技术。" }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "Play a game?" }, - "categoryPin": { "message": "总是显示图标" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "此扩展程序会匿名发送您访问的网站信息至 wappalyzer.com,包含域名和检测到的技术。这可以在设置中禁用。" }, - "privacyPolicy": { "message": "隐私政策" }, - "createAlert": { "message": "为该网站创建提醒" }, - "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$10/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, - - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, - "setMeta": { "message": "Metadata" }, - "setLocale": { "message": "Locale" }, - "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, - "setSignals": { "message": "Signals" }, - - "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "Title" }, - "attributeDescription": { "message": "Description" }, - "attributeCopyright": { "message": "Copyright" }, - "attributeCopyrightYear": { "message": "Copyright year" }, - "attributeResponsive": { "message": "Responsive" }, - "attributeCertInfo_subjectOrg": { "message": "Cert organisation" }, - "attributeCertInfo_subjectCountry":{ "message": "Cert country" }, - "attributeCertInfo_subjectState": { "message": "Cert state" }, - "attributeCertInfo_subjectLocality":{ "message": "Cert locality" }, - "attributeCertInfo_issuer": { "message": "Cert issuer" }, - "attributeCertInfo_protocol": { "message": "Cert protocol" }, - "attributeCertInfo_validTo": { "message": "Cert expiry" }, - "attributeHttps": { "message": "SSL/TLS enabled" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, - "attributeDns_spf": { "message": "SPF record" }, - "attributeDns_dmarc": { "message": "DMARC record" }, - "attributeSchemaOrgTypes": { "message": "schema.org types" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "内容管理系统(CMS)" }, - "categoryName2": { "message": "信息板" }, - "categoryName3": { "message": "数据库管理器" }, - "categoryName4": { "message": "文档工具" }, - "categoryName5": { "message": "微件(Widgets)" }, - "categoryName6": { "message": "电子商务" }, - "categoryName7": { "message": "图库" }, - "categoryName8": { "message": "维基" }, - "categoryName9": { "message": "主机面板" }, - "categoryName10": { "message": "分析" }, - "categoryName11": { "message": "博客" }, - "categoryName12": { "message": "JavaScript 框架" }, - "categoryName13": { "message": "问题跟踪器" }, - "categoryName14": { "message": "视频播放器" }, - "categoryName15": { "message": "评论系统" }, - "categoryName16": { "message": "安全" }, - "categoryName17": { "message": "字体脚本" }, - "categoryName18": { "message": "Web 框架" }, - "categoryName19": { "message": "杂项" }, - "categoryName20": { "message": "编辑器" }, - "categoryName21": { "message": "学习管理系统(LMS)" }, - "categoryName22": { "message": "Web 服务器" }, - "categoryName23": { "message": "缓存" }, - "categoryName24": { "message": "富文本编辑器" }, - "categoryName25": { "message": "JavaScript 图形" }, - "categoryName26": { "message": "移动框架" }, - "categoryName27": { "message": "编程语言" }, - "categoryName28": { "message": "操作系统" }, - "categoryName29": { "message": "搜索引擎" }, - "categoryName30": { "message": "网页邮箱" }, - "categoryName31": { "message": "内容分发网络(CDN)" }, - "categoryName32": { "message": "营销自动化" }, - "categoryName33": { "message": "Web 服务器扩展" }, - "categoryName34": { "message": "数据库" }, - "categoryName35": { "message": "地图" }, - "categoryName36": { "message": "广告" }, - "categoryName37": { "message": "网络服务" }, - "categoryName38": { "message": "媒体服务器" }, - "categoryName39": { "message": "网络摄像头" }, - "categoryName40": { "message": "打印机" }, - "categoryName41": { "message": "支付处理器" }, - "categoryName42": { "message": "标签管理器" }, - "categoryName44": { "message": "持续集成(CI)" }, - "categoryName46": { "message": "远程访问" }, - "categoryName47": { "message": "开发" }, - "categoryName48": { "message": "网络存储" }, - "categoryName49": { "message": "信息流(Feed)阅读器" }, - "categoryName50": { "message": "文档管理系统(DMS)" }, - "categoryName51": { "message": "网页构建器" }, - "categoryName52": { "message": "实时聊天" }, - "categoryName53": { "message": "客户关系管理(CRM)" }, - "categoryName54": { "message": "搜索引擎优化(SEO)" }, - "categoryName55": { "message": "财务" }, - "categoryName56": { "message": "加密货币挖矿器" }, - "categoryName57": { "message": "静态站点生成器" }, - "categoryName58": { "message": "用户引导" }, - "categoryName59": { "message": "JavaScript 库" }, - "categoryName60": { "message": "容器" }, - "categoryName61": { "message": "软件即服务(SaaS)" }, - "categoryName62": { "message": "平台即服务(PaaS)" }, - "categoryName63": { "message": "基础设施即服务(IaaS)" }, - "categoryName64": { "message": "反向代理" }, - "categoryName65": { "message": "负载均衡" }, - "categoryName66": { "message": "用户界面(UI)框架" }, - "categoryName67": { "message": "Cookie 合规" }, - "categoryName68": { "message": "辅助功能" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authority" }, - "categoryName71": { "message": "Affiliate program" }, - "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, - "categoryName74": { "message": "A/B testing" }, - "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, - "categoryName77": { "message": "Retargeting" }, - "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, - "categoryName83": { "message": "Browser fingerprinting" }, - "categoryName84": { "message": "Loyalty & rewards" }, - "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, - "categoryName87": { "message": "WordPress plugins" }, - "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, - "categoryName91": { "message": "Buy now pay later" }, - "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, - "categoryName94": { "message": "Referral marketing" }, - "categoryName95": { "message": "Digital asset management" }, - "categoryName96": { "message": "Content curation" }, - "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, - "categoryName100": { "message": "Shopify apps" }, - "categoryName101": { "message": "Recruitment & staffing" }, - "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, - "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Ecommerce frontends" }, - "categoryName109": { "message": "Domain parking" }, - "categoryName110": { "message": "Form builders" }, - "categoryName111": { "message": "Fundraising & donations" } -} diff --git a/src/_locales/zh_TW/messages.json b/src/_locales/zh_TW/messages.json deleted file mode 100644 index bbf000011..000000000 --- a/src/_locales/zh_TW/messages.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "github": { "message": "在 GitHub 上 fork Wappalyzer!" }, - "twitter": { "message": "在 Twitter 上追隨 Wappalyzer" }, - "website": { "message": "前往 wappalyzer.com" }, - "options": { "message": "選項" }, - "optionsSave": { "message": "保存選項" }, - "optionsSaved": { "message": "選項已保存" }, - "optionUpgradeMessage": { "message": "通知我更新內容" }, - "optionDynamicIcon": { "message": "使用網頁中使用技術的圖示取代 Wappalyzer 的標誌" }, - "optionTracking": { "message": "匿名傳送已識別的技術至 wappalyzer.com" }, - "optionThemeMode": { "message": "啟用深色模式相容性。" }, - "optionBadge": { "message": "在圖示上顯示已識別的技術數量" }, - "optionShowCached": { "message": "在結果中顯示包含已快取的識別內容" }, - "optionApiKey": { "message": "API 金鑰" }, - "optionApiKeyDescription": { "message": "取得 API 金鑰" }, - "disableOnDomain": { "message": "在這個網站禁用" }, - "clearCache": { "message": "清除已快取的識別內容" }, - "nothingToDo": { "message": "這裡什麼也沒有。" }, - "noAppsDetected": { "message": "未識別到技術。" }, - "reloadPage": { "message": "Reload" }, - "playGame": { "message": "來玩個遊戲吧?" }, - "categoryPin": { "message": "永遠顯示圖示" }, - "termsAccept": { "message": "我接受" }, - "termsDecline": { "message": "停用" }, - "termsContent": { "message": "這個擴充功能將你所訪問網站的網域名稱和識別到的技術等資訊,匿名傳送至 wappalyzer.com。你可以在選項中停用。" }, - "privacyPolicy": { "message": "隱私權政策" }, - "createAlert": { "message": "為此網站建立通知" }, - "leadLists": { "message": "潛在客戶開發工具" }, - "tabTechnologies": { "message": "技術" }, - "tabPlus": { "message": "更多資訊" }, - "creditBalance": { "message": "額度:" }, - "plusMessageHeading": { "message": "以每個月 $$10 美元取得 Plus 版" }, - "plusMessage": { "message": "有了 Plus 版,你所訪問網站的公司和聯絡資訊將顯示在這裡。" }, - "plusButton": { "message": "註冊" }, - "plusEmpty": { "message": "沒有結果。" }, - "plusCrawl": { "message": "沒有結果,請稍候再試。" }, - "formSave": { "message": "保存" }, - "issue": { "message": "有任何錯誤或缺失嗎?" }, - - "setCompany": { "message": "公司資訊" }, - "setKeywords": { "message": "關鍵字" }, - "setEmail": { "message": "電子郵件地址" }, - "setPhone": { "message": "電話號碼" }, - "setAddress": { "message": "地址" }, - "setContact": { "message": "聯絡資訊" }, - "setSocial": { "message": "社群媒體帳號" }, - "setMeta": { "message": "中繼資料" }, - "setLocale": { "message": "地區" }, - "setTrackers": { "message": "追蹤工具" }, - "setSecurity": { "message": "安全性" }, - "setSignals": { "message": "訊號" }, - - "attributeTechnologySpend": { "message": "技術預算" }, - "attributeIpCountry": { "message": "IP 國家" }, - "attributeIpRegion": { "message": "IP 地區" }, - "attributeLanguage": { "message": "語言" }, - "attributeEmail": { "message": "電子郵件地址" }, - "attributeVerifiedEmail": { "message": "電子郵件地址(已驗證)" }, - "attributeSafeEmail": { "message": "電子郵件地址(安全)" }, - "attributePhone": { "message": "電話號碼" }, - "attributeSkype": { "message": "Skype" }, - "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "推斷公司名稱" }, - "attributeTwitter": { "message": "Twitter" }, - "attributeFacebook": { "message": "Facebook" }, - "attributeInstagram": { "message": "Instagram" }, - "attributeGithub": { "message": "GitHub" }, - "attributeTiktok": { "message": "TikTok" }, - "attributeYoutube": { "message": "YouTube" }, - "attributePinterest": { "message": "Pinterest" }, - "attributeLinkedin": { "message": "LinkedIn" }, - "attributeOwler": { "message": "Owler" }, - "attributeTitle": { "message": "標題" }, - "attributeDescription": { "message": "敘述" }, - "attributeCopyright": { "message": "版權" }, - "attributeCopyrightYear": { "message": "版權年份" }, - "attributeResponsive": { "message": "響應式設計" }, - "attributeCertInfo_subjectOrg": { "message": "憑證組織/公司" }, - "attributeCertInfo_subjectCountry":{ "message": "憑證國籍" }, - "attributeCertInfo_subjectState": { "message": "憑證州/省" }, - "attributeCertInfo_subjectLocality":{ "message": "憑證城市/鄉鎮" }, - "attributeCertInfo_issuer": { "message": "憑證簽發者" }, - "attributeCertInfo_protocol": { "message": "憑證協定" }, - "attributeCertInfo_validTo": { "message": "憑證到期日" }, - "attributeHttps": { "message": "啓用 SSL/TLS" }, - "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, - "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, - "attributeTrackerMedianet": { "message": "Medianet" }, - "attributeTrackerFacebook": { "message": "Facebook" }, - "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "公司名稱" }, - "attributeIndustry": { "message": "行業" }, - "attributeAbout": { "message": "關於" }, - "attributeLocations": { "message": "地點" }, - "attributeCompanySize": { "message": "公司規模" }, - "attributeCompanyType": { "message": "公司類型" }, - "attributeCompanyFounded": { "message": "公司成立時間" }, - "attributeKeywords": { "message": "關鍵字" }, - "attributeEmployees": { "message": "員工" }, - "attributeDns_spf": { "message": "SPF 記錄" }, - "attributeDns_dmarc": { "message": "DMARC 記錄" }, - "attributeSchemaOrgTypes": { "message": "schema.org 網站類型" }, - "attributeFundingTotalUsd": { "message": "Funding total" }, - "attributeFundingRounds": { "message": "Funding rounds" }, - "attributeStockSymbol": { "message": "Stock symbol" }, - "attributeSemrushGlobalRank": { "message": "Semrush global rank" }, - "attributeSemrushVisits": { "message": "Semrush monthly visits" }, - - "categoryName1": { "message": "內容管理系統(CMS)" }, - "categoryName2": { "message": "留言板/討論區" }, - "categoryName3": { "message": "資料庫管理" }, - "categoryName4": { "message": "文書處理工具" }, - "categoryName5": { "message": "外掛/小工具" }, - "categoryName6": { "message": "電子商務" }, - "categoryName7": { "message": "相簿" }, - "categoryName8": { "message": "維基" }, - "categoryName9": { "message": "伺服器控制面板" }, - "categoryName10": { "message": "分析" }, - "categoryName11": { "message": "部落格" }, - "categoryName12": { "message": "JavaScript 框架" }, - "categoryName13": { "message": "問題追蹤" }, - "categoryName14": { "message": "影音播放器" }, - "categoryName15": { "message": "評論系統" }, - "categoryName16": { "message": "安全性" }, - "categoryName17": { "message": "字型" }, - "categoryName18": { "message": "網頁框架" }, - "categoryName19": { "message": "其他" }, - "categoryName20": { "message": "編輯器" }, - "categoryName21": { "message": "學習管理系統(LMS)" }, - "categoryName22": { "message": "網頁伺服器" }, - "categoryName23": { "message": "快取工具" }, - "categoryName24": { "message": "高級文字編輯器" }, - "categoryName25": { "message": "JavaScript 圖形庫" }, - "categoryName26": { "message": "行動框架" }, - "categoryName27": { "message": "程式語言" }, - "categoryName28": { "message": "作業系統" }, - "categoryName29": { "message": "搜尋引擎" }, - "categoryName30": { "message": "網路信箱" }, - "categoryName31": { "message": "內容傳遞網路(CDN)" }, - "categoryName32": { "message": "行銷自動化" }, - "categoryName33": { "message": "網頁伺服器擴充功能" }, - "categoryName34": { "message": "資料庫" }, - "categoryName35": { "message": "地圖" }, - "categoryName36": { "message": "廣告聯播" }, - "categoryName37": { "message": "網路服務" }, - "categoryName38": { "message": "媒體伺服器" }, - "categoryName39": { "message": "網路攝影機" }, - "categoryName40": { "message": "印表機" }, - "categoryName41": { "message": "付款處理" }, - "categoryName42": { "message": "標籤管理" }, - "categoryName43": { "message": "付費牆" }, - "categoryName44": { "message": "建立/整合系統" }, - "categoryName45": { "message": "監控與資料擷取系統(SCADA)" }, - "categoryName46": { "message": "遠端" }, - "categoryName47": { "message": "開發工具" }, - "categoryName48": { "message": "網路儲存設備" }, - "categoryName49": { "message": "Feed 閱讀器" }, - "categoryName50": { "message": "文件管理系統" }, - "categoryName51": { "message": "著陸頁產生器" }, - "categoryName52": { "message": "線上聊天" }, - "categoryName53": { "message": "客戶關係管理系統(CRM)" }, - "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "帳務" }, - "categoryName56": { "message": "加密貨幣礦工" }, - "categoryName57": { "message": "靜態網站產生器" }, - "categoryName58": { "message": "使用者指引" }, - "categoryName59": { "message": "JavaScript 函式庫" }, - "categoryName60": { "message": "容器" }, - "categoryName61": { "message": "軟體即服務(SaaS)" }, - "categoryName62": { "message": "平台即服務(PaaS)" }, - "categoryName63": { "message": "基礎設施即服務(IaaS)" }, - "categoryName64": { "message": "反向代理伺服器" }, - "categoryName65": { "message": "負載平衡器" }, - "categoryName66": { "message": "UI 框架" }, - "categoryName67": { "message": "Cookie 遵守" }, - "categoryName68": { "message": "無障礙" }, - "categoryName69": { "message": "使用者驗證" }, - "categoryName70": { "message": "SSL/TLS 憑證機構" }, - "categoryName71": { "message": "聯盟計劃" }, - "categoryName72": { "message": "時程預約" }, - "categoryName73": { "message": "問卷調查" }, - "categoryName74": { "message": "A/B 測試" }, - "categoryName75": { "message": "電子郵件" }, - "categoryName76": { "message": "個人化" }, - "categoryName77": { "message": "再行銷" }, - "categoryName78": { "message": "即時使用者監控(RUM)" }, - "categoryName79": { "message": "地理位置資訊" }, - "categoryName80": { "message": "WordPress 佈景主題" }, - "categoryName81": { "message": "Shopify 佈景主題" }, - "categoryName82": { "message": "Drupal 佈景主題" }, - "categoryName83": { "message": "瀏覽器指紋" }, - "categoryName84": { "message": "忠誠獎勵" }, - "categoryName85": { "message": "功能管理" }, - "categoryName86": { "message": "受眾區隔" }, - "categoryName87": { "message": "WordPress 外掛" }, - "categoryName88": { "message": "網頁代管" }, - "categoryName89": { "message": "翻譯" }, - "categoryName90": { "message": "評論" }, - "categoryName91": { "message": "先買後付" }, - "categoryName92": { "message": "效能" }, - "categoryName93": { "message": "預訂/外送" }, - "categoryName94": { "message": "推薦行銷" }, - "categoryName95": { "message": "數位資產管理" }, - "categoryName96": { "message": "內容策展" }, - "categoryName97": { "message": "客戶資料平台" }, - "categoryName98": { "message": "訂單遺棄" }, - "categoryName99": { "message": "貨運公司" }, - "categoryName100": { "message": "Shopify 應用程式" }, - "categoryName101": { "message": "招募/人員配置" }, - "categoryName102": { "message": "退貨管理" }, - "categoryName103": { "message": "直播" }, - "categoryName104": { "message": "票券預訂" }, - "categoryName105": { "message": "擴增實境" }, - "categoryName106": { "message": "跨境電商" }, - "categoryName107": { "message": "訂單履行" }, - "categoryName108": { "message": "電子商務前台" }, - "categoryName109": { "message": "網域寄放" }, - "categoryName110": { "message": "表單製作" } -} diff --git a/src/css/styles.css b/src/css/styles.css index a7df2bba8..119abde25 100644 --- a/src/css/styles.css +++ b/src/css/styles.css @@ -1,18 +1,11 @@ :root { --color-background: white; - --color-background-dark: #121212; - --color-background-dark-lighten: #2b2b2b; --color-primary: #4608ad; --color-primary-lighten: #f4f1fa; --color-secondary: #fafafa; - --color-secondary-dark: #1e1e1e; --color-border: #ebebeb; - --color-border-dark: #2b2b2b; --color-text: #4a4a4a; --color-text-lighten: #7a7a7a; - --color-text-dark: var(--color-background); - --color-text-dark-lighten: #979797; - --color-anchor-dark: var(--color-text-dark); --color-success: #50b154; --color-error: #ff5252; } @@ -25,7 +18,6 @@ body { background: var(--color-primary); color: var(--color-text); - direction: __MSG_@@bidi_dir__; font-family: Helvetica, Arial, sans-serif; font-size: .9rem; line-height: 1.5rem; @@ -138,10 +130,6 @@ small { margin-top: .5rem; } -.header__logo--light { - display: none; -} - .header__icon { color: #fff; cursor: pointer; @@ -191,9 +179,6 @@ small { .progress__circle { color: var(--color-primary); fill: transparent; - cx: 40px; - cy: 40px; - r: 18px; stroke-width: 2; stroke: currentColor; transition: all .6s ease-in-out; @@ -291,9 +276,6 @@ small { padding: 1rem 1.5rem; } -.panel__content { -} - .panel__content table { border-collapse: collapse; margin-bottom: 1rem; @@ -404,25 +386,6 @@ small { display: none; } -.plus-download { - flex: 1 0; - text-align: right; - padding: 0 1.5rem; - white-space: nowrap; -} - -.plus-download .button__link:before { - opacity: .1; -} - -.plus-download .button__link:hover:before { - opacity: .2; -} - -.plus-download--hidden { - visibility: hidden; -} - .plus-error { margin: 1.5rem; } @@ -438,85 +401,6 @@ small { padding: 1rem 1.2rem; } -.footer { - background: var(--color-primary-lighten); - bottom: 0; - display: flex; - flex-direction: column; - color: var(--color-primary); - padding: 1rem 1.5rem; - width: 100%; -} - -.footer--hidden { - display: none; -} - -.footer__heading { - cursor: pointer; - display: flex; -} - -.footer__heading-text { - flex: 1 0; - font-size: .9rem; - font-weight: bold; - margin-bottom: .5rem; -} - -.footer--collapsed .footer__heading { - font-weight: inherit; -} - -.footer--collapsed .footer__heading-text { - font-size: .9rem; - font-weight: inherit; - margin-bottom: 0; - opacity: .7; -} - -.footer--hidden { - display: none; -} - -.footer__heading { - cursor: pointer; - display: flex; -} - -.footer__icon { - height: 1.2rem; - margin: 0 -.4rem .1rem .2rem; - width: 1.2rem; - vertical-align: middle; -} - -.footer__toggle { - flex: 0 1; - text-align: right; -} - -.footer__toggle--hidden { - display: none; -} - -.footer__content { - flex: 1 0 auto; - max-width: 400px; -} - -.footer--collapsed .footer__content { - display: none; -} - -.footer__button { - text-align: right; -} - -.footer--collapsed .footer__button { - display: none; -} - .detections { columns: 2; column-gap: 3rem; @@ -556,14 +440,6 @@ small { display: none; } -.empty__play-game { - color: var(--color-text-lighten); -} - -.empty__play-game--hidden { - display: none; -} - .category { page-break-inside: avoid; break-inside: avoid-column; @@ -698,57 +574,6 @@ body.dynamic-icon .category__heading:hover .category__pin { vertical-align: middle; } -.terms { - align-items: center; - display: flex; - flex-direction: column; - justify-content: center; - margin: 3rem 1.5rem; -} - -.terms--hidden { - display: none; -} - -.terms__wrapper { - display: none; - height: 100%; - width: 100%; -} - -.terms__wrapper--active { - display: block; -} - -.terms__content { - font-size: .9rem; - line-height: 150%; - text-align: center; - margin-bottom: 1.5rem; -} - -.terms__button { - background-color: var(--color-primary); - border: none; - border-radius: 4px; - color: var(--color-background); - cursor: pointer; - font-size: .9rem; - padding: .7rem 1.5rem; - margin: 0 .2rem; -} - -.terms__button--decline { - background-color: var(--color-primary-lighten); - border: none; - color: var(--color-primary); -} - -.terms__privacy { - font-size: .8rem; - margin-top: 1.5rem; -} - .body__options { background: var(--color-secondary); max-width: 600px; @@ -784,7 +609,7 @@ body.dynamic-icon .category__heading:hover .category__pin { background: var(--color-primary); border: none; border-radius: 4px; - color: var(--color-text-dark); + color: var(--color-primary-lighten); cursor: pointer; font-size: .85rem; font-weight: bold; @@ -796,281 +621,12 @@ body.dynamic-icon .category__heading:hover .category__pin { opacity: .9; } -.ttt-game { - display: flex; - align-items: center; - margin: auto; - width: 13rem; -} - -.ttt-game--hidden { - display: none; -} - -.ttt-player-icon { - color: var(--color-primary); - width: 1.2rem; - height: 1.2rem; -} - -.ttt-player-icon--hidden { - display: none; -} - -.ttt-score { -} - -.ttt-grid { - background: var(--color-primary-lighten); - border-radius: 4px; - line-height: 0; - margin: auto; - width: 6rem; -} - -.ttt-cell { - border: 1px solid var(--color-primary); - border-width: 1px 0 0 1px; - display: inline-block; - padding: .2rem; - width: 2rem; - height: 2rem; -} - -.ttt-row:first-child .ttt-cell { - border-top: none; -} - -.ttt-cell:first-child { - border-left: none; -} - -.ttt-icon { - display: none; - height: 100%; - width: 100%; -} - -.ttt-cell .ttt-icon { - color: var(--color-primary); - display: block; -} - -.ttt-blink .ttt-icon { - animation: blink 250ms step-end 0s 3; -} - @keyframes blink { 50% { opacity: 0; } } -/* Dark mode */ - -.dark { - color: var(--color-text-dark); -} - -.dark a, .dark a:focus, .dark a:hover { - color: var(--color-anchor-dark); -} - -.dark .input[type="text"], .dark .input[type="password"] { - background: var(--color-background-dark-lighten); - border: 1px solid var(--color-text-dark); - color: var(--color-text-dark); -} - -.dark .light-text { - color: var(--color-primary-text); -} - -.input[type="text"], .input[type="password"] { - border-color: var(--color-primary); -} - -.dark .message { - background: var(--color-background-dark-lighten); - color: var(--color-text-dark); -} - -.dark .message__heading { - color: white; -} - -.dark .plus-configure__form { - background: var(--color-background-dark-lighten); - color: var(--color-text-dark); -} - -.dark .button__link, .dark .button__link:active, .dark .button__link:hover { - color: var(--color-text-dark); -} - -.dark .button__link:before { - background: white; -} - -.dark .label { - color: white; -} - -.dark .label__description { - color: var(--color-text-dark); -} - -.dark .detections { - background: var(--color-background-dark); -} - -.dark .empty { - background: var(--color-background-dark); -} - -.dark .issue a { - color: var(--color-text-dark-lighten); -} - -.dark .category__link, .dark .category__link:active, .dark .category__link:hover { - color: white; -} - -.dark .technology__link { -} - -.dark .technology__name { - text-decoration: underline; - opacity: .8 -} - -.dark .technology__link:active .technology__name, .dark .technology__link:hover .technology__name { - opacity: 1; - text-decoration: underline; -} - -.dark .technology__icon { - background: var(--color-background-dark-lighten); -} - -.dark .technology__version { - background: var(--color-background-dark-lighten); - color: var(--color-text-dark); -} - -.dark .technology__confidence { - background: var(--color-primary); - color: var(--color-text-dark); -} - -.dark .progress__circle { - color: white; -} - -.dark .tabs { - background: var(--color-secondary-dark); - border: none; -} - -.dark .tab { - color: var(--color-text-dark); - opacity: .8; -} - -.dark .tab:hover { - background: var(--color-background-dark-lighten); -} - -.dark .tab--disabled { - color: var(--color-text-dark-lighten); -} - -.dark .tab--active { - background: var(--color-background-dark-lighten); - border-color: var(--color-text-dark); - opacity: 1; -} - -.dark .tab-item { - background: var(--color-background-dark); -} - -.dark .credits { - color: var(--color-text-dark); - opacity: .5; -} - -.dark .panels { - background: var(--color-background-dark); -} - -.dark .panel { - background: var(--color-secondary-dark); - border: none; -} - -.dark .panel__content tr { - border-bottom-color: var(--color-border-dark); -} - -.dark .panel__content td { - opacity: .7; -} - -.dark .panel__content td div { - border-color: var(--color-border-dark); -} - -.dark .credits { - background: var(--color-background-dark); -} - - -.dark .footer { - background: var(--color-background-dark-lighten); - border: none; - color: var(--color-text-dark); -} - -.dark .footer__button-link, .dark .footer__button-link:active, .dark .footer__button-link:hover { - color: var(--color-text-dark); -} - -.dark .footer__button-link:hover:before { - background: var(--color-primary-lighten); -} - -.dark .footer__content { - opacity: .7; -} - -.dark .terms__button { - background-color: white; - color: var(--color-primary); -} - -.dark .terms__button--decline { - background-color: var(--color-background-dark); - border: 1px solid var(--color-text); - color: white; -} - -.dark .ttt-grid { - background: var(--color-background-dark-lighten); -} - -.dark .ttt-cell { - border-color: 1px solid var(--color-text-dark); -} - -.dark .ttt-cell .ttt-icon { - color: var(--color-text-dark); -} - -.dark .ttt-player-icon { - color: var(--color-primary-lighten); -} - @keyframes progress-rotate { from { transform: rotate(0deg); diff --git a/src/html/options.html b/src/html/options.html index 2535cc15f..16e498ece 100644 --- a/src/html/options.html +++ b/src/html/options.html @@ -15,12 +15,6 @@
- - - - - -
diff --git a/src/html/popup.html b/src/html/popup.html index 7f851294f..bcac6a69f 100644 --- a/src/html/popup.html +++ b/src/html/popup.html @@ -15,8 +15,7 @@
- -
- -
-
- -
- - -
- - +
@@ -171,105 +93,8 @@
- -
-
-
-
-
- -
- - - -
- -
-
- -
-
-
-   -
- -

-   -

- - -
- -
-
- -   - - - () - - - - -
- -
- - - - - -   - -
-
-
- -
-
-
- - - diff --git a/src/images/safari.svg b/src/images/safari.svg deleted file mode 100644 index 6edbdff4e472489d94029bdb8e9b5dd21f9dcbfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 789 zcmV+w1M2*VP)-xB}P;Oe!#R;8Y-}ARGeW7CH#2!0I46I02rqCNnZp z&>{(h!2VA9ncbQBcD~sGcw->!iH1X!B`zES^iIj|4s_XtJ+M~*ADmh31kvF~d-cf$ zRGne-tPeSnD*(y*2^V+#*iJFI|3g-HqS1px2au3;8eAmO-*kBbhX`PYtP??qol(>3 zZnMh_AV=0|a8HRYvkFwD{iydBckKK}0p|ky3GqSpN;BACpyAATk^0IcUch0I$VQBT z>;C+fBmQ{==Ym8w0tQ~P4$is;uY-sUl&p!M!yhZ~y6}90F4lYV2P{@-g@RB%QvpP| zTj&8Wc_ykxD!6jyZLSC@kYgW(2Tc7?m+s{yCPQvKHfx_H2**%?K(f~3H7UkqC_fOP z2S)<8=gHXU0}%tJ6j>Qx`0uCU1&UK3{}&)OS05%UK^-=vfPw!F2x|0ln_Z4{sXc0y z&iQ%kg_7!;*A81&b*RfNVyCjV_z+(orRK!usyCN@UkhFU29IQE^FEi_P<$`!%0}Rb zmNz5)eroP>0^D;VHn68qsxn%LUIpeGDv)#Al?^$%zhqTS=YkTHJVHfl)^<<>h6G)o z@bhdvgiRqW=?dff(77RK1vb-W6(nKe$I$-fyVOh%a_naRes z@k&s49xo8zNjJ3v2VA(!P$$h^Wo;%4`Ml0o`rSHS$v<{3{lpIYNtW{300000NkvXXu0mjf*S}G~ diff --git a/src/js/content.js b/src/js/content.js index 46798e0c8..f868875ac 100644 --- a/src/js/content.js +++ b/src/js/content.js @@ -51,7 +51,7 @@ async function getDom(technologies) { technologies: _technologies.filter(({ dom }) => Object.values(dom) .flat() - .some(({ properties }) => properties) + .some(({ properties }) => properties), ), })), ..._technologies.reduce((technologies, { name, dom }) => { @@ -84,7 +84,7 @@ async function getDom(technologies) { exists && technologies.findIndex( ({ name: _name, selector: _selector, exists }) => - name === _name && selector === _selector && exists === '' + name === _name && selector === _selector && exists === '', ) === -1 ) { technologies.push({ @@ -95,17 +95,16 @@ async function getDom(technologies) { } if (text) { - // eslint-disable-next-line unicorn/prefer-text-content const value = (node.innerText ? node.innerText.trim() : '').slice( 0, - 1000000 + 1000000, ) if ( value && technologies.findIndex( ({ name: _name, selector: _selector, text }) => - name === _name && selector === _selector && text === value + name === _name && selector === _selector && text === value, ) === -1 ) { technologies.push({ @@ -130,7 +129,7 @@ async function getDom(technologies) { name === _name && selector === _selector && property === _property && - value === toScalar(value) + value === toScalar(value), ) === -1 ) { const value = node[property] @@ -161,7 +160,7 @@ async function getDom(technologies) { name === _name && selector === _selector && attribute === _atrribute && - value === toScalar(value) + value === toScalar(value), ) === -1 ) { const value = node.getAttribute(attribute) @@ -230,10 +229,10 @@ const Content = { resolve( languages .filter(({ percentage }) => percentage >= 75) - .map(({ language: lang }) => lang)[0] - ) + .map(({ language: lang }) => lang)[0], + ), ) - : resolve() + : resolve(), )) const cookies = document.cookie.split('; ').reduce( @@ -241,11 +240,11 @@ const Content = { ...cookies, [cookie.split('=').shift()]: [cookie.split('=').pop()], }), - {} + {}, ) // Text - // eslint-disable-next-line unicorn/prefer-text-content + const text = document.body.innerText.replace(/\s+/g, ' ').slice(0, 25000) // CSS rules @@ -291,13 +290,13 @@ const Content = { return metas }, - {} + {}, ) // Detect Google Ads if (/^(www\.)?google(\.[a-z]{2,3}){1,2}$/.test(location.hostname)) { const ads = document.querySelectorAll( - '#tads [data-text-ad] a[data-pcu]' + '#tads [data-text-ad] a[data-pcu]', ) for (const ad of ads) { @@ -327,18 +326,17 @@ const Content = { const urls = [ ...new Set([ `https://${decodeURIComponent( - ad.href.split(/^.+\?u=https%3A%2F%2F/).pop() + ad.href.split(/^.+\?u=https%3A%2F%2F/).pop(), ) .split('/') .shift()}`, - // eslint-disable-next-line unicorn/prefer-text-content `https://${ad.innerText.split('\n').pop()}`, ]), ] urls.forEach((url) => - Content.driver('detectTechnology', [url, 'Facebook Ads']) + Content.driver('detectTechnology', [url, 'Facebook Ads']), ) } } @@ -402,10 +400,10 @@ const Content = { args instanceof Error ? [args.toString()] : args - ? Array.isArray(args) - ? args - : [args] - : [], + ? Array.isArray(args) + ? args + : [args] + : [], }, (response) => { chrome.runtime.lastError @@ -416,11 +414,11 @@ const Content = { new Error( `${ chrome.runtime.lastError.message - }: Driver.${func}(${JSON.stringify(args)})` - ) + }: Driver.${func}(${JSON.stringify(args)})`, + ), ) : resolve(response) - } + }, ) }) }, @@ -447,7 +445,7 @@ const Content = { ]), ]) } - }) + }), ) }, diff --git a/src/js/index.js b/src/js/index.js index 364d90b6e..defa3c010 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -10,7 +10,7 @@ const { resolve, getTechnology, } = Wappalyzer -const { agent, promisify, getOption, setOption, open, globEscape } = Utils +const { promisify, getOption, setOption, globEscape } = Utils const expiry = 1000 * 60 * 60 * 48 @@ -33,10 +33,10 @@ function getRequiredTechnologies(name, categoryId) { return name ? Wappalyzer.requires.find(({ name: _name }) => _name === name).technologies : categoryId - ? Wappalyzer.categoryRequires.find( - ({ categoryId: _categoryId }) => _categoryId === categoryId - ).technologies - : undefined + ? Wappalyzer.categoryRequires.find( + ({ categoryId: _categoryId }) => _categoryId === categoryId, + ).technologies + : undefined } function isSimilarUrl(a, b) { @@ -72,36 +72,20 @@ const Driver = { confidence, }, version, - }) + }), ), }, }), - {} + {}, ), robots: await getOption('robots', {}), } const { version } = chrome.runtime.getManifest() const previous = await getOption('version') - const upgradeMessage = await getOption('upgradeMessage', true) - await setOption('version', version) - - const current = await getOption('version') - if (!previous) { await Driver.clearCache() - - if (current) { - open( - 'https://www.wappalyzer.com/installed/?utm_source=installed&utm_medium=extension&utm_campaign=wappalyzer' - ) - } - } else if (version !== previous && upgradeMessage) { - open( - `https://www.wappalyzer.com/upgraded/?utm_source=upgraded&utm_medium=extension&utm_campaign=wappalyzer`, - false - ) } initDone() @@ -207,14 +191,14 @@ const Driver = { js .map(({ name, chain, value }) => { const technology = technologies.find( - ({ name: _name }) => name === _name + ({ name: _name }) => name === _name, ) return technology ? analyzeManyToMany(technology, 'js', { [chain]: [value] }) : [] }) - .flat() + .flat(), ) }, @@ -234,10 +218,10 @@ const Driver = { .map( ( { name, selector, exists, text, property, attribute, value }, - index + index, ) => { const technology = technologies.find( - ({ name: _name }) => name === _name + ({ name: _name }) => name === _name, ) if (!technology) { @@ -262,7 +246,7 @@ const Driver = { `dom.properties.${property}`, { [selector]: [value], - } + }, ) } @@ -272,12 +256,14 @@ const Driver = { `dom.attributes.${attribute}`, { [selector]: [value], - } + }, ) } - } + + /* eslint array-callback-return: 0 */ + }, ) - .flat() + .flat(), ) }, @@ -356,11 +342,11 @@ const Driver = { new Error( `${ chrome.runtime.lastError.message - }: Driver.${func}(${JSON.stringify(args)})` - ) + }: Driver.${func}(${JSON.stringify(args)})`, + ), ) : resolve(response) - } + }, ) }) }, @@ -391,7 +377,7 @@ const Driver = { headers[name] = headers[name] || [] headers[name].push( - (header.value || header.binaryValue || '').toString() + (header.value || header.binaryValue || '').toString(), ) }) @@ -476,7 +462,7 @@ const Driver = { Driver.onDetect( request.originUrl || request.initiator, - analyze({ xhr: hostname }) + analyze({ xhr: hostname }), ).catch(Driver.error) } }, 1000) @@ -499,7 +485,7 @@ const Driver = { url, }) ).forEach( - ({ name, value }) => (items.cookies[name.toLowerCase()] = [value]) + ({ name, value }) => (items.cookies[name.toLowerCase()] = [value]), ) // Change Google Analytics 4 cookie from _ga_XXXXXXXXXX to _ga_* @@ -517,7 +503,7 @@ const Driver = { url, analyze({ url, ...items }, technologies), language, - true + true, ) } catch (error) { Driver.error(error) @@ -556,7 +542,7 @@ const Driver = { detections = [], language, incrementHits = false, - analyzeRequires = true + analyzeRequires = true, ) { if (!url || !detections.length) { return @@ -589,7 +575,7 @@ const Driver = { version, }, index, - detections + detections, ) => detections.findIndex( ({ @@ -602,13 +588,13 @@ const Driver = { version === _version && confidence === _confidence && value === _value && - (!regex || regex.toString() === _regex.toString()) - ) === index + (!regex || regex.toString() === _regex.toString()), + ) === index, ) .map((detection) => { if ( detections.find( - ({ technology: { slug } }) => slug === detection.technology.slug + ({ technology: { slug } }) => slug === detection.technology.slug, ) ) { detection.lastUrl = url @@ -620,7 +606,7 @@ const Driver = { // Track if technology was identified on website's root path detections.forEach(({ technology: { name } }) => { const detection = cache.detections.find( - ({ technology: { name: _name } }) => name === _name + ({ technology: { name: _name } }) => name === _name, ) detection.rootPath = detection.rootPath || pathname === '/' @@ -631,12 +617,12 @@ const Driver = { // Look for technologies that require other technologies to be present on the page const requires = [ ...Wappalyzer.requires.filter(({ name }) => - resolved.some(({ name: _name }) => _name === name) + resolved.some(({ name: _name }) => _name === name), ), ...Wappalyzer.categoryRequires.filter(({ categoryId }) => resolved.some(({ categories }) => - categories.some(({ id }) => id === categoryId) - ) + categories.some(({ id }) => id === categoryId), + ), ), ] @@ -648,8 +634,6 @@ const Driver = { await Driver.setIcon(url, resolved) - await Driver.ping() - cache.hits += incrementHits ? 1 : 0 cache.language = cache.language || language @@ -658,7 +642,7 @@ const Driver = { .sort((a, b) => Driver.cache.hostnames[a].dateTime > Driver.cache.hostnames[b].dateTime ? -1 - : 1 + : 1, ) .reduce((hostnames, hostname) => { const cache = Driver.cache.hostnames[hostname] @@ -699,12 +683,12 @@ const Driver = { version, rootPath, lastUrl, - }) + }), ), }, }), - {} - ) + {}, + ), ) Driver.log({ hostname, technologies: resolved }) @@ -729,14 +713,14 @@ const Driver = { const _technologies = technologies.filter( ({ slug, lastUrl }) => slug !== 'cart-functionality' && - (showCached || isSimilarUrl(url, lastUrl)) + (showCached || isSimilarUrl(url, lastUrl)), ) if (dynamicIcon) { const pinnedCategory = parseInt(await getOption('pinnedCategory'), 10) const pinned = _technologies.find(({ categories }) => - categories.some(({ id }) => id === pinnedCategory) + categories.some(({ id }) => id === pinnedCategory), ) ;({ icon } = pinned || _technologies[0] || { icon }) @@ -765,7 +749,7 @@ const Driver = { ? _technologies.length.toString() : '', }, - () => {} + () => {}, ) chrome.action.setIcon( @@ -776,10 +760,10 @@ const Driver = { /\.svg$/i.test(icon) ? `converted/${icon.replace(/\.svg$/, '.png')}` : icon - }` + }`, ), }, - () => {} + () => {}, ) }) }, @@ -814,7 +798,7 @@ const Driver = { const cache = Driver.cache.hostnames?.[hostname] const resolved = (cache ? resolve(cache.detections) : []).filter( - ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl) + ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl), ) await Driver.setIcon(url, resolved) @@ -844,7 +828,7 @@ const Driver = { // eslint-disable-next-line no-async-promise-executor new Promise(async (resolve) => { const response = await fetch( - `http${secure ? 's' : ''}://${hostname}/robots.txt` + `http${secure ? 's' : ''}://${hostname}/robots.txt`, ) if (!response.ok) { @@ -870,7 +854,7 @@ const Driver = { } return disallows - }, []) + }, []), ) }), new Promise((resolve) => setTimeout(() => resolve(''), 5000)), @@ -883,7 +867,7 @@ const Driver = { ...cache, [hostname]: Driver.cache.robots[hostname], }), - {} + {}, ) await setOption('robots', Driver.cache.robots) @@ -907,7 +891,7 @@ const Driver = { const robots = await Driver.getRobots( url.hostname, - url.protocol === 'https:' + url.protocol === 'https:', ) if (robots.some((disallowed) => url.pathname.indexOf(disallowed) === 0)) { @@ -925,83 +909,6 @@ const Driver = { await setOption('hostnames', {}) }, - - /** - * Anonymously send identified technologies to wappalyzer.com - * This function can be disabled in the extension settings - */ - async ping() { - const tracking = await getOption('tracking', true) - const termsAccepted = - agent === 'chrome' || (await getOption('termsAccepted', false)) - - if (tracking && termsAccepted) { - const urls = Object.keys(Driver.cache.hostnames).reduce( - (urls, hostname) => { - if (Object.keys(urls).length >= 25) { - return urls - } - - // eslint-disable-next-line standard/computed-property-even-spacing - const { language, detections, hits, https } = - Driver.cache.hostnames[hostname] - - const url = `http${https ? 's' : ''}://${hostname}` - - if (!hostnameIgnoreList.test(hostname) && hits) { - urls[url] = urls[url] || { - technologies: resolve(detections).reduce( - (technologies, { name, confidence, version, rootPath }) => { - if (confidence === 100) { - technologies[name] = { - version, - hits, - rootPath, - } - } - - return technologies - }, - {} - ), - meta: { - language, - }, - } - } - - return urls - }, - {} - ) - - const count = Object.keys(urls).length - - const lastPing = await getOption('lastPing', Date.now()) - - if ( - count && - ((count >= 25 && lastPing < Date.now() - 1000 * 60 * 60) || - (count >= 5 && lastPing < Date.now() - expiry)) - ) { - await setOption('lastPing', Date.now()) - - try { - await Driver.post('https://ping.wappalyzer.com/v2/', { - version: chrome.runtime.getManifest().version, - urls, - }) - } catch (error) { - // eslint-disable-next-line no-console - console.error(error) - } - - Object.keys(Driver.cache.hostnames).forEach((hostname) => { - Driver.cache.hostnames[hostname].hits = 0 - }) - } - } - }, } chrome.action.setBadgeBackgroundColor({ color: '#6B39BD' }, () => {}) @@ -1009,7 +916,7 @@ chrome.action.setBadgeBackgroundColor({ color: '#6B39BD' }, () => {}) chrome.webRequest.onCompleted.addListener( Driver.onWebRequestComplete, { urls: ['http://*/*', 'https://*/*'], types: ['main_frame'] }, - ['responseHeaders'] + ['responseHeaders'], ) chrome.webRequest.onCompleted.addListener(Driver.onScriptRequestComplete, { @@ -1035,7 +942,7 @@ chrome.tabs.onUpdated.addListener(async (id, { status, url }) => { const cache = Driver.cache?.hostnames?.[hostname] const resolved = (cache ? resolve(cache.detections) : []).filter( - ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl) + ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl), ) await Driver.setIcon(url, resolved) diff --git a/src/js/js.js b/src/js/js.js index ad9753ebb..3bc556638 100644 --- a/src/js/js.js +++ b/src/js/js.js @@ -22,7 +22,7 @@ Object.prototype.hasOwnProperty.call(value, method) ? value[method] : '__UNDEFINED__', - window + window, ) if (value !== '__UNDEFINED__') { diff --git a/src/js/options.js b/src/js/options.js index 993883f4b..1365be061 100644 --- a/src/js/options.js +++ b/src/js/options.js @@ -2,53 +2,35 @@ /* eslint-env browser */ /* globals Utils, chrome */ -const { agent, i18n, getOption, setOption } = Utils +const { i18n, getOption, setOption } = Utils const Options = { /** * Initialise options */ - async init() { - const termsAccepted = - agent === 'chrome' || (await getOption('termsAccepted', false)) - + init() { ;[ - ['upgradeMessage', true], ['dynamicIcon', false], ['badge', true], - ['tracking', true], ['showCached', true], - ['apiKey', ''], ].map(async ([option, defaultValue]) => { const el = document .querySelector( `[data-i18n="option${ option.charAt(0).toUpperCase() + option.slice(1) - }"]` + }"]`, ) .parentNode.querySelector('input') if (el.type === 'checkbox') { - el.checked = - !!(await getOption(option, defaultValue)) && - (option !== 'tracking' || termsAccepted) + el.checked = !!(await getOption(option, defaultValue)) el.addEventListener('click', async () => { await setOption(option, !!el.checked) }) - } else if (el.type === 'password') { - el.value = await getOption(option, defaultValue) } }) - document - .querySelector('[data-i18n="optionApiKey"]') - .parentNode.querySelector('input') - .addEventListener( - 'input', - async (event) => await setOption('apiKey', event.target.value) - ) - document .querySelector('.options__cache') .addEventListener('click', () => Options.driver('clearCache')) @@ -68,7 +50,7 @@ const Options = { chrome.runtime.lastError ? reject(new Error(chrome.runtime.lastError.message)) : resolve(response) - } + }, ) }) }, diff --git a/src/js/popup.js b/src/js/popup.js index 73f9bf5da..add0a8a7e 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -2,92 +2,7 @@ /* eslint-env browser */ /* globals chrome, Utils */ -const { agent, open, i18n, getOption, setOption, promisify, sendMessage } = - Utils - -const baseUrl = 'https://www.wappalyzer.com' -const utm = '?utm_source=popup&utm_medium=extension&utm_campaign=wappalyzer' - -const footers = [ - { - heading: 'Generate sales leads', - body: 'Find new prospects by the technologies they use. Reach out to customers of Shopify, Magento, Salesforce and others.', - buttonText: 'Create a lead list', - buttonLink: `${baseUrl}/lists/${utm}`, - }, - { - heading: 'Connect Wappalyzer to your CRM', - body: 'See the technology stacks of your leads without leaving your CRM. Connect to HubSpot, Pipedrive and many others.', - buttonText: 'See all apps', - buttonLink: `${baseUrl}/apps/${utm}`, - }, - { - heading: 'Enrich your data with tech stacks', - body: 'Upload a list of websites to get a report of the technologies in use, such as CMS or ecommerce platforms.', - buttonText: 'Upload a list', - buttonLink: `${baseUrl}/lookup/${utm}#bulk`, - }, - { - heading: 'Automate technology lookups', - body: 'Our APIs provide instant access to website technology stacks, contact details and social media profiles.', - buttonText: 'Compare APIs', - buttonLink: `${baseUrl}/api/${utm}`, - }, - { - heading: 'Wappalyzer for businesses', - body: 'Sign up to use our tools for lead generation, market research and competitor analysis.', - buttonText: 'Compare plans', - buttonLink: `${baseUrl}/pricing/${utm}`, - }, -] - -const attributeKeys = [ - 'phone', - 'skype', - 'whatsapp', - 'email', - 'verifiedEmail', - 'safeEmail', - 'twitter', - 'facebook', - 'instagram', - 'github', - 'tiktok', - 'youtube', - 'pinterest', - 'linkedin', - 'owler', - 'title', - 'description', - 'copyright', - 'copyrightYear', - 'responsive', - 'schemaOrgTypes', - 'certInfo.subjectOrg', - 'certInfo.subjectCountry', - 'certInfo.subjectState', - 'certInfo.subjectLocality', - 'certInfo.issuer', - 'certInfo.protocol', - 'certInfo.validTo', - 'dns.spf', - 'dns.dmarc', - 'https', - 'trackerGoogleAnalytics', - 'trackerGoogleAdSense', - 'trackerMedianet', - 'trackerFacebook', - 'trackerOptimizely', - 'companyName', - 'inferredCompanyName', - 'industry', - 'about', - 'locations', - 'companySize', - 'companyType', - 'companyFounded', - 'employees', -] +const { open, i18n, getOption, setOption, promisify, sendMessage } = Utils function setDisabledDomain(enabled) { const el = { @@ -104,131 +19,6 @@ function setDisabledDomain(enabled) { } } -function getCsv() { - let hostname = '' - let www = false - let https = false - - try { - let protocol = '' - - ;({ hostname, protocol } = new URL(Popup.cache.url)) - - www = hostname.startsWith('www') - - https = protocol === 'https:' - - hostname = hostname.replace(/^www\./, '') - } catch (error) { - // Continue - } - - const columns = [ - 'URL', - ...Popup.cache.categories.map(({ id }) => - chrome.i18n.getMessage(`categoryName${id}`) - ), - ...attributeKeys.map((key) => - chrome.i18n.getMessage( - `attribute${ - key.charAt(0).toUpperCase() + key.slice(1).replace('.', '_') - }` - ) - ), - ] - - const csv = [`"${columns.join('","')}"`] - - const filename = `wappalyzer${ - hostname ? `_${hostname.replace('.', '-')}` : '' - }.csv` - - const row = [`http${https ? 's' : ''}://${www ? 'www.' : ''}${hostname}`] - - row.push( - ...Popup.cache.categories.reduce((categories, { id }) => { - categories.push( - Popup.cache.detections - .filter(({ categories }) => - categories.some(({ id: _id }) => _id === id) - ) - .map(({ name }) => name) - .join(' ; ') - ) - - return categories - }, []) - ) - - row.push( - ...attributeKeys.map((key) => csvEscape(Popup.cache.attributeValues[key])) - ) - - csv.push(`"${row.join('","')}"`) - - return { csv, filename } -} - -function csvEscape(value = '') { - if (Array.isArray(value)) { - value = value - .flat() - .slice(0, 10) - .map((value) => csvEscape(String(value).replace(/ ; /g, ' : '))) - .join(' ; ') - } - - if (typeof value === 'string') { - return value.replace(/\n/g, ' ').replace(/"/g, '""').trim() - } - - if (typeof value === 'boolean') { - return String(value).toUpperCase() - } - - if (value === null) { - return '' - } - - return String(value).replace(/"/g, '""') -} - -function parseEmail(fullEmail) { - const email = fullEmail.replace(/^[^<]*<([^>]+)>/, '$1') - - const [name, title] = fullEmail.replace(/ <([^>]+)>$/, '').split(' -- ') - - return { email, name, title } -} - -function getTechnologySpend(technologies) { - const totals = technologies.reduce( - (totals, { pricing }) => { - pricing.forEach((price) => totals[price]++) - - return totals - }, - { low: 0, poa: 0, mid: 0, high: 0 } - ) - - totals.mid += Math.floor(totals.low / 3) - totals.high += Math.floor(totals.poa / 2) - totals.high += Math.floor(totals.mid / 3) - totals.xhigh = Math.floor(totals.high / 3) - - const spend = totals.xhigh - ? 'Very high' - : totals.high - ? 'High' - : totals.mid - ? 'Medium' - : totals.low - ? 'Low' - : 'Very low' - - return spend -} - const Popup = { /** * Initialise popup @@ -247,32 +37,10 @@ const Popup = { empty: document.querySelector('.empty'), emptyReload: document.querySelector('.empty__reload'), footer: document.querySelector('.footer'), - game: document.querySelector('.ttt-game'), headerSwitchDisabled: document.querySelector('.header__switch--disabled'), headerSwitchEnabled: document.querySelector('.header__switch--enabled'), headerSwitches: document.querySelectorAll('.header__switch'), - plusDownloadLink: document.querySelector( - '.plus-download__button .button__link' - ), - playGame: document.querySelector('.empty__play-game'), - plusConfigureApiKey: document.querySelector('.plus-configure__apikey'), - plusConfigureSave: document.querySelector('.plus-configure__save'), - plusDownload: document.querySelector('.plus-download'), - tabPlus: document.querySelector('.tab--plus'), - terms: document.querySelector('.terms'), - termsButtonAccept: document.querySelector('.terms__button--accept'), - termsButtonDecline: document.querySelector('.terms__button--decline'), - footerButtonLink: document.querySelector('.footer .button__link'), - footerButtonText: document.querySelector('.footer .button__text'), - footerContentBody: document.querySelector('.footer__content-body'), - footerHeading: document.querySelector('.footer__heading'), - footerHeadingText: document.querySelector('.footer__heading-text'), - footerToggleClose: document.querySelector('.footer__toggle--close'), - footerToggleOpen: document.querySelector('.footer__toggle--open'), headerSettings: document.querySelector('.header__settings'), - headerThemeDark: document.querySelector('.header__theme--dark'), - headerThemeLight: document.querySelector('.header__theme--light'), - headerThemes: document.querySelectorAll('.header__theme'), issue: document.querySelector('.issue'), tabItems: document.querySelectorAll('.tab-item'), tabs: document.querySelectorAll('.tab'), @@ -298,53 +66,7 @@ const Popup = { // Disabled domains let disabledDomains = await getOption('disabledDomains', []) - // Dark mode - const theme = await getOption('theme', 'light') - - if (theme === 'dark') { - el.body.classList.add('dark') - el.headerThemeLight.classList.remove('header__icon--hidden') - el.headerThemeDark.classList.add('header__icon--hidden') - } - - // Terms - const termsAccepted = - agent === 'chrome' || (await getOption('termsAccepted', false)) - - if (termsAccepted) { - el.terms.classList.add('terms--hidden') - - Popup.driver('getDetections').then(Popup.onGetDetections.bind(this)) - } else { - el.terms.classList.remove('terms--hidden') - el.empty.classList.add('empty--hidden') - el.detections.classList.add('detections--hidden') - el.issue.classList.add('issue--hidden') - el.footer.classList.add('footer--hidden') - el.tabPlus.classList.add('tab--disabled') - - el.termsButtonAccept.addEventListener('click', async () => { - await setOption('termsAccepted', true) - await setOption('tracking', true) - - el.terms.classList.add('terms--hidden') - el.footer.classList.remove('footer--hidden') - el.tabPlus.classList.remove('tab--disabled') - - Popup.driver('getDetections').then(Popup.onGetDetections.bind(this)) - }) - - el.termsButtonDecline.addEventListener('click', async () => { - await setOption('termsAccepted', true) - await setOption('tracking', false) - - el.terms.classList.add('terms--hidden') - el.footer.classList.remove('footer--hidden') - el.tabPlus.classList.remove('tab--disabled') - - Popup.driver('getDetections').then(Popup.onGetDetections.bind(this)) - }) - } + Popup.driver('getDetections').then(Popup.onGetDetections.bind(this)) let url @@ -365,7 +87,7 @@ const Popup = { el.headerSwitchDisabled.addEventListener('click', async () => { disabledDomains = disabledDomains.filter( - (_hostname) => _hostname !== hostname + (_hostname) => _hostname !== hostname, ) await setOption('disabledDomains', disabledDomains) @@ -388,109 +110,22 @@ const Popup = { for (const headerSwitch of el.headerSwitches) { headerSwitch.classList.add('header__switch--hidden') } - - el.tabPlus.classList.add('tab--disabled') } } - // Plus configuration - el.plusConfigureApiKey.value = await getOption('apiKey', '') - - el.plusConfigureSave.addEventListener('click', async (event) => { - await setOption('apiKey', el.plusConfigureApiKey.value) - - await Popup.getPlus(url) - }) - // Header el.headerSettings.addEventListener('click', () => - chrome.runtime.openOptionsPage() - ) - - // Theme - el.headerThemes.forEach((headerTheme) => - headerTheme.addEventListener('click', async () => { - const theme = await getOption('theme', 'light') - - el.body.classList[theme === 'dark' ? 'remove' : 'add']('dark') - el.body.classList[theme === 'dark' ? 'add' : 'remove']('light') - el.headerThemeDark.classList[theme === 'dark' ? 'remove' : 'add']( - 'header__icon--hidden' - ) - el.headerThemeLight.classList[theme === 'dark' ? 'add' : 'remove']( - 'header__icon--hidden' - ) - - await setOption('theme', theme === 'dark' ? 'light' : 'dark') - }) + chrome.runtime.openOptionsPage(), ) // Tabs el.tabs.forEach((tab, index) => { - tab.addEventListener('click', async () => { + tab.addEventListener('click', () => { el.tabs.forEach((tab) => tab.classList.remove('tab--active')) el.tabItems.forEach((item) => item.classList.add('tab-item--hidden')) tab.classList.add('tab--active') el.tabItems[index].classList.remove('tab-item--hidden') - - el.plusDownload.classList.remove('plus-download--hidden') - el.footer.classList.remove('footer--hidden') - - if (tab.classList.contains('tab--plus')) { - await Popup.getPlus(url) - } - }) - }) - - // Download - el.plusDownloadLink.addEventListener('click', Popup.downloadCsv) - - // Footer - const item = - footers[ - Math.round(Math.random()) - ? 0 - : Math.round(Math.random() * (footers.length - 1)) - ] - - el.footerHeadingText.textContent = item.heading - el.footerContentBody.textContent = item.body - el.footerButtonText.textContent = item.buttonText - el.footerButtonLink.href = item.buttonLink - - const collapseFooter = await getOption('collapseFooter', false) - - if (collapseFooter) { - el.footer.classList.add('footer--collapsed') - el.footerToggleClose.classList.add('footer__toggle--hidden') - el.footerToggleOpen.classList.remove('footer__toggle--hidden') - } - - el.footerHeading.addEventListener('click', async () => { - const collapsed = el.footer.classList.contains('footer--collapsed') - - el.footer.classList[collapsed ? 'remove' : 'add']('footer--collapsed') - el.footerToggleClose.classList[collapsed ? 'remove' : 'add']( - 'footer__toggle--hidden' - ) - el.footerToggleOpen.classList[collapsed ? 'add' : 'remove']( - 'footer__toggle--hidden' - ) - - await setOption('collapseFooter', !collapsed) - }) - - Array.from(document.querySelectorAll('a[href^="http"]')).forEach((a) => { - a.addEventListener('click', (event) => { - event.preventDefault() - event.stopImmediatePropagation() - - const { version } = chrome.runtime.getManifest() - - open(a.href.replace(/__URL__/g, url).replace(/__VERSION__/g, version)) - - return false }) }) @@ -499,15 +134,6 @@ const Popup = { chrome.tabs.reload({ bypassCache: true }) }) - // Game - el.playGame.addEventListener('click', (event) => { - event.preventDefault() - event.stopImmediatePropagation() - - el.playGame.classList.add('empty__play-game--hidden') - el.game.classList.remove('ttt-game--hidden') - }) - // Apply internationalization i18n() @@ -545,7 +171,7 @@ const Popup = { }) return categories - }, {}) + }, {}), ) }, @@ -558,11 +184,8 @@ const Popup = { const el = { empty: document.querySelector('.empty'), - playGame: document.querySelector('.empty__play-game'), - game: document.querySelector('.ttt-game'), detections: document.querySelector('.detections'), issue: document.querySelector('.issue'), - plusDownload: document.querySelector('.plus-download'), } detections = (detections || []) @@ -571,11 +194,8 @@ const Popup = { if (!detections || !detections.length) { el.empty.classList.remove('empty--hidden') - el.playGame.classList.remove('empty__play-game--hidden') - el.game.classList.add('ttt-game--hidden') el.detections.classList.add('detections--hidden') el.issue.classList.add('issue--hidden') - el.plusDownload.classList.add('plus-download--hidden') return } @@ -583,7 +203,6 @@ const Popup = { el.empty.classList.add('empty--hidden') el.detections.classList.remove('detections--hidden') el.issue.classList.remove('issue--hidden') - el.plusDownload.classList.remove('plus-download--hidden') let firstChild @@ -619,7 +238,7 @@ const Popup = { const pinnedCategory = await getOption('pinnedCategory') el.pinsActive.forEach((pin) => - pin.classList.remove('category__pin--active') + pin.classList.remove('category__pin--active'), ) if (pinnedCategory === id) { @@ -629,7 +248,7 @@ const Popup = { el.pins.forEach((pin) => pin.classList.add('category__pin--active')) } - }) + }), ) technologies.forEach( @@ -663,7 +282,7 @@ const Popup = { } el.technologies.appendChild(technologyNode) - } + }, ) el.detections.appendChild(categoryNode) @@ -681,319 +300,11 @@ const Popup = { open(a.href) return false - }) + }), ) i18n() }, - - /** - * Show company and contact details - * @param {String} url - */ - async getPlus(url) { - const apiKey = await getOption('apiKey', '') - - const el = { - loading: document.querySelector('.loading'), - panels: document.querySelector('.panels'), - empty: document.querySelector('.plus-empty'), - crawl: document.querySelector('.plus-crawl'), - error: document.querySelector('.plus-error'), - download: document.querySelector('.plus-download'), - errorMessage: document.querySelector('.plus-error__message'), - configure: document.querySelector('.plus-configure'), - footer: document.querySelector('.footer'), - } - - el.error.classList.add('plus-error--hidden') - el.download.classList.add('plus-download--hidden') - - if (apiKey) { - el.loading.classList.remove('loading--hidden') - el.configure.classList.add('plus-configure--hidden') - el.footer.classList.remove('footer--hidden') - } else { - el.loading.classList.add('loading--hidden') - el.configure.classList.remove('plus-configure--hidden') - el.footer.classList.add('footer--hidden') - - return - } - - el.panels.classList.add('panels--hidden') - el.empty.classList.add('plus-empty--hidden') - el.crawl.classList.add('plus-crawl--hidden') - el.error.classList.add('plus-error--hidden') - - let lastChild - - while ((lastChild = el.panels.lastElementChild)) { - if (lastChild instanceof Node) { - el.panels.removeChild(lastChild) - } - } - - try { - const response = await fetch( - `https://api.wappalyzer.com/v2/plus/${encodeURIComponent(url)}`, - { - method: 'GET', - headers: { - 'x-api-key': apiKey, - }, - } - ) - - const data = await response.json() - - if (!response.ok) { - const error = new Error() - - error.data = data - error.response = response - - throw error - } - - const { attributes, crawl } = data - - if (Popup.cache.detections.length) { - attributes.signals = attributes.signals || [] - - attributes.signals.technologySpend = getTechnologySpend( - Popup.cache.detections - ) - } - - if (crawl) { - document - .querySelector('.plus-crawl') - .classList.remove('plus-crawl--hidden') - - return - } - - if (!Object.keys(attributes).length) { - el.empty.classList.remove('plus-empty--hidden') - el.download.classList.remove('plus-download--hidden') - - return - } - - const attributeValues = {} - - Object.keys(attributes).forEach((set) => { - const panel = document.createElement('div') - const header = document.createElement('div') - const content = document.createElement('div') - const table = document.createElement('table') - - panel.classList.add('panel') - header.classList.add('panel__header') - content.classList.add('panel__content') - - header.setAttribute( - 'data-i18n', - `set${set.charAt(0).toUpperCase() + set.slice(1)}` - ) - - Object.keys(attributes[set]).forEach((key) => { - const value = attributes[set][key] - - const tr = document.createElement('tr') - - const th = document.createElement('th') - const td = document.createElement('td') - - th.setAttribute( - 'data-i18n', - `attribute${ - key.charAt(0).toUpperCase() + key.slice(1).replace('.', '_') - }` - ) - - attributeValues[key] = [] - - if (Array.isArray(value)) { - value.forEach((value) => { - const div = document.createElement('div') - - if (typeof value === 'object') { - attributeValues[key].push(value.text) - - const a = document.createElement('a') - - a.href = value.to - a.textContent = value.text - - if (key === 'keywords') { - a.style = 'padding-right: .3rem;' - - const space = document.createTextNode(' ') - - td.append(a, space) - } else if ( - ['email', 'verifiedEmail', 'safeEmail'].includes(key) - ) { - const { email, name, title } = parseEmail(value.text) - - a.textContent = email - - const div = document.createElement('div') - const elName = document.createElement('span') - const elTitle = document.createElement('span') - const elBreak1 = document.createElement('br') - const elBreak2 = document.createElement('br') - - elName.textContent = name - elTitle.textContent = `${title}` - - elTitle.className = 'light-text' - - div.append(a) - - if (name && name !== email) { - div.appendChild(elBreak1) - div.appendChild(elName) - - if (title) { - div.appendChild(elBreak2) - div.appendChild(elTitle) - } - } - - td.append(div) - } else { - div.appendChild(a) - td.appendChild(div) - } - } else if (key === 'employees') { - attributeValues[key].push(value) - - const [name, title] = value.split(' -- ') - - const elName = document.createElement('span') - const elTitle = document.createElement('span') - const elBreak = document.createElement('br') - - elTitle.className = 'light-text' - - elName.textContent = name - elTitle.textContent = title - - div.appendChild(elName) - div.appendChild(elBreak) - div.appendChild(elTitle) - td.appendChild(div) - } else { - attributeValues[key].push(value) - - div.textContent = value - td.appendChild(div) - } - }) - } else if (key === 'companyName') { - attributeValues[key].push(value) - - const strong = document.createElement('strong') - - strong.textContent = value - - td.appendChild(strong) - } else { - attributeValues[key].push(value) - - td.textContent = value - } - - if (key !== 'keywords') { - tr.appendChild(th) - } - - tr.appendChild(td) - table.appendChild(tr) - }) - - content.appendChild(table) - - panel.appendChild(header) - panel.appendChild(content) - el.panels.appendChild(panel) - }) - - Popup.cache.attributeValues = attributeValues - - el.panels.classList.remove('panels--hidden') - el.download.classList.remove('plus-download--hidden') - } catch (error) { - Popup.log(error.data) - - // eslint-disable-next-line - console.log(error) - - el.errorMessage.textContent = `Sorry, something went wrong${ - error.response ? ` (${error.response.status})` : '' - }. Please try again later.` - - if (error.response) { - if (error.response.status === 403) { - el.errorMessage.textContent = - typeof error.data === 'string' - ? error.data - : 'No access. Please check your API key.' - - el.configure.classList.remove('plus-configure--hidden') - } else if (error.response.status === 429) { - el.errorMessage.textContent = - 'Too many requests. Please try again in a few seconds.' - } else if ( - error.response.status === 400 && - typeof error.data === 'string' - ) { - el.errorMessage.textContent = error.data - } - } - - el.loading.classList.add('loading--hidden') - el.error.classList.remove('plus-error--hidden') - } - - Array.from(document.querySelectorAll('.panels a')).forEach((a) => - a.addEventListener('click', (event) => { - event.preventDefault() - - open(a.href) - - return false - }) - ) - - i18n() - }, - - async downloadCsv(event) { - event.preventDefault() - - const { csv, filename } = getCsv() - - const file = URL.createObjectURL( - new Blob([csv.join('\n')], { type: 'text/csv;charset=utf-8' }) - ) - - const granted = await promisify(chrome.permissions, 'request', { - permissions: ['downloads'], - }) - - if (granted) { - chrome.downloads.download({ - url: file, - filename, - }) - } - - return false - }, } if (/complete|interactive|loaded/.test(document.readyState)) { diff --git a/src/js/tictactoe.js b/src/js/tictactoe.js deleted file mode 100644 index 5bc838df9..000000000 --- a/src/js/tictactoe.js +++ /dev/null @@ -1,210 +0,0 @@ -'use strict' -/* eslint-env browser */ -/* eslint-disable no-labels */ - -const game = document.body.querySelector('.ttt-game') - -const icons = { - x: game.querySelector('.ttt-icon-x'), - o: game.querySelector('.ttt-icon-o'), -} - -const scores = { - x: { - el: game.querySelector('.ttt-score-x'), - score: 0, - }, - o: { - el: game.querySelector('.ttt-score-o'), - score: 0, - }, -} - -const ahead = game.querySelector('.ttt-player-icon--ahead') -const behind = game.querySelector('.ttt-player-icon--behind') - -let paused = true - -const cells = {} -const axes = ['y', 'x'] -const players = ['x', 'o'] - -function fill(cell, player) { - cell.value = player - - cell.el.firstChild && cell.el.removeChild(cell.el.firstChild) - - cell.el.appendChild(icons[player].cloneNode(true)) -} - -function reset() { - scores.x.el.textContent = scores.x.score.toLocaleString() - scores.o.el.textContent = scores.o.score.toLocaleString() - - ahead.classList[scores.x.score < scores.o.score ? 'add' : 'remove']( - 'ttt-player-icon--hidden' - ) - behind.classList[scores.x.score < scores.o.score ? 'remove' : 'add']( - 'ttt-player-icon--hidden' - ) - - for (let y = 1; y <= 3; y++) { - for (let x = 1; x <= 3; x++) { - const cell = cells[y][x] - - cell.el.classList.remove('ttt-blink') - - cell.el.firstChild && cell.el.removeChild(cell.el.firstChild) - - cell.value = '' - } - } - - const { empty } = check() - - play(empty) -} - -function checkLine(line, complete) { - for (const player of players) { - if (line[player].length === 3) { - complete.player = player - - complete.cells.push(...line[player]) - } - } -} - -function check(dryrun) { - const empty = [] - const complete = { - player: null, - cells: [], - } - - for (const axis of axes) { - const diagonal = { o: [], x: [] } - - for (let a = 1; a <= 3; a++) { - const y = a - const x = axis === 'y' ? y : 4 - y - - const cell = cells[y][x] - - cell.value && diagonal[cell.value].push(cell) - - const straight = { o: [], x: [] } - - for (let b = 1; b <= 3; b++) { - const y = axis === 'y' ? a : b - const x = axis === 'y' ? b : a - - const cell = cells[y][x] - - cell.value ? straight[cell.value].push(cell) : empty.push(cell) - } - - checkLine(straight, complete) - } - - checkLine(diagonal, complete) - } - - if (!dryrun) { - paused = true - - if (complete.player) { - scores[complete.player].score++ - - complete.cells.forEach(({ el }) => el.classList.add('ttt-blink')) - - if (complete.player === 'o') { - ahead.classList.add('ttt-player-icon--hidden') - behind.classList.remove('ttt-player-icon--hidden') - } - - setTimeout(() => { - reset() - }, 1200) - } else if (!empty.length) { - setTimeout(() => { - reset() - }, 1200) - } - } - - return { winner: complete.player, empty: [...new Set(empty)] } -} - -function play(cells) { - setTimeout(() => { - let found = false - - search: for (const player of players) { - for (const cell of cells) { - cell.value = player - - const { winner, empty } = check(true) - - if (winner || !empty) { - found = true - - fill(cell, 'x') - - break search - } else { - cell.value = '' - } - } - } - - if (!found) { - const cell = cells[Math.round(Math.random() * (cells.length - 1))] - - fill(cell, 'x') - } - - const { winner, empty } = check() - - if (!winner && empty) { - paused = false - } - }, 400) -} - -for (let y = 1; y <= 3; y++) { - for (let x = 1; x <= 3; x++) { - const el = game.querySelector( - `.ttt-row:nth-child(${y}) .ttt-cell:nth-child(${x})` - ) - - el.addEventListener('click', () => { - if (paused) { - return - } - - const cell = cells[y][x] - - if (!cell.value) { - paused = true - - fill(cell, 'o') - - const { winner, empty } = check() - - !winner && play(empty) - } - }) - - cells[y] = cells[y] || {} - - cells[y][x] = { - x, - y, - el, - value: '', - } - } -} - -reset() diff --git a/src/js/utils.js b/src/js/utils.js index 777a74c50..d1f4a2980 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -2,18 +2,8 @@ /* eslint-env browser */ /* globals chrome */ -// Manifest v2 polyfill -if (chrome.runtime.getManifest().manifest_version === 2) { - chrome.action = chrome.browserAction -} - -// eslint-disable-next-line no-unused-vars const Utils = { - agent: chrome.runtime.getURL('/').startsWith('moz-') - ? 'firefox' - : chrome.runtime.getURL('/').startsWith('safari-') - ? 'safari' - : 'chrome', + agent: 'chrome', /** * Use promises instead of callbacks @@ -53,7 +43,7 @@ const Utils = { const managed = await Utils.promisify( chrome.storage.managed, 'get', - name + name, ) if (managed[name] !== undefined) { @@ -97,7 +87,7 @@ const Utils = { */ i18n() { Array.from(document.querySelectorAll('[data-i18n]')).forEach( - (node) => (node.innerHTML = chrome.i18n.getMessage(node.dataset.i18n)) + (node) => (node.innerHTML = chrome.i18n.getMessage(node.dataset.i18n)), ) }, @@ -113,7 +103,7 @@ const Utils = { chrome.runtime.lastError ? reject(chrome.runtime.lastError) : resolve(response) - } + }, ) }) }, diff --git a/src/js/wappalyzer.js b/src/js/wappalyzer.js index f99a592f2..7eb46f225 100644 --- a/src/js/wappalyzer.js +++ b/src/js/wappalyzer.js @@ -31,7 +31,7 @@ function benchmarkSummary() { const totalPatterns = Object.values(benchmarks).length const totalDuration = Object.values(benchmarks).reduce( (sum, { duration }) => sum + duration, - 0 + 0, ) // eslint-disable-next-line no-console @@ -48,7 +48,7 @@ function benchmarkSummary() { } return benchmarks - }, {}) + }, {}), ) .sort(({ duration: a }, { duration: b }) => (a > b ? -1 : 1)) .filter(({ duration }) => duration) @@ -58,7 +58,7 @@ function benchmarkSummary() { ...technologies, [technology]: duration, }), - {} + {}, ), slowestPatterns: Object.values(benchmarks) .sort(({ duration: a }, { duration: b }) => (a > b ? -1 : 1)) @@ -99,7 +99,7 @@ const Wappalyzer = { const resolved = detections.reduce((resolved, { technology, lastUrl }) => { if ( resolved.findIndex( - ({ technology: { name } }) => name === technology?.name + ({ technology: { name } }) => name === technology?.name, ) === -1 ) { let version = '' @@ -109,7 +109,7 @@ const Wappalyzer = { detections .filter( ({ technology: _technology }) => - _technology && _technology.name === technology.name + _technology && _technology.name === technology.name, ) .forEach( ({ @@ -126,7 +126,7 @@ const Wappalyzer = { ? _version : version rootPath = rootPath || _rootPath || undefined - } + }, ) resolved.push({ technology, confidence, version, rootPath, lastUrl }) @@ -141,7 +141,7 @@ const Wappalyzer = { const priority = ({ technology: { categories } }) => categories.reduce( (max, id) => Math.max(max, Wappalyzer.getCategory(id).priority), - 0 + 0, ) return resolved @@ -175,7 +175,7 @@ const Wappalyzer = { cpe, rootPath, lastUrl, - }) + }), ) }, @@ -198,13 +198,13 @@ const Wappalyzer = { // Parse ternary operator const ternary = new RegExp(`\\\\${index}\\?([^:]+):(.*)$`).exec( - version + version, ) if (ternary && ternary.length === 3) { resolved = version.replace( ternary[0], - match ? ternary[1] : ternary[2] + match ? ternary[1] : ternary[2], ) } @@ -239,7 +239,7 @@ const Wappalyzer = { do { index = resolved.findIndex( - ({ technology: { name } }) => name === excluded.name + ({ technology: { name } }) => name === excluded.name, ) if (index !== -1) { @@ -271,7 +271,7 @@ const Wappalyzer = { if ( resolved.findIndex( - ({ technology: { name } }) => name === implied.name + ({ technology: { name } }) => name === implied.name, ) === -1 ) { resolved.push({ @@ -283,7 +283,7 @@ const Wappalyzer = { done = false } - } + }, ) }) } while (resolved.length && !done) @@ -323,9 +323,9 @@ const Wappalyzer = { Object.keys(relations) .map( (type) => - items[type] && relations[type](technology, type, items[type]) + items[type] && relations[type](technology, type, items[type]), ) - .flat() + .flat(), ) .flat() .filter((technology) => technology) @@ -387,11 +387,11 @@ const Wappalyzer = { typeof dom === 'string' || Array.isArray(dom) ? toArray(dom).reduce( (dom, selector) => ({ ...dom, [selector]: { exists: '' } }), - {} + {}, ) : dom, true, - false + false, ), excludes: transform(excludes).map(({ value }) => ({ name: value })), headers: transform(headers), @@ -435,7 +435,7 @@ const Wappalyzer = { Wappalyzer.requires[name] = Wappalyzer.requires[name] || [] Wappalyzer.requires[name].push(technology) - }) + }), ) Wappalyzer.requires = Object.keys(Wappalyzer.requires).map((name) => ({ @@ -451,19 +451,19 @@ const Wappalyzer = { Wappalyzer.categoryRequires[id] || [] Wappalyzer.categoryRequires[id].push(technology) - }) + }), ) Wappalyzer.categoryRequires = Object.keys(Wappalyzer.categoryRequires).map( (id) => ({ categoryId: parseInt(id, 10), technologies: Wappalyzer.categoryRequires[id], - }) + }), ) Wappalyzer.technologies = Wappalyzer.technologies.filter( ({ requires, requiresCategory }) => - !requires.length && !requiresCategory.length + !requires.length && !requiresCategory.length, ) }, @@ -507,7 +507,7 @@ const Wappalyzer = { const parsed = Object.keys(patterns).reduce((parsed, key) => { parsed[caseSensitive ? key : key.toLowerCase()] = toArray( - patterns[key] + patterns[key], ).map((pattern) => Wappalyzer.parsePattern(pattern, isRegex)) return parsed @@ -527,7 +527,7 @@ const Wappalyzer = { ...parsed, [key]: Wappalyzer.parsePattern(pattern[key]), }), - {} + {}, ) } else { const { value, regex, confidence, version } = pattern @@ -555,7 +555,7 @@ const Wappalyzer = { .replace(/\*/g, '{0,250}') .replace(/__escapedPlus__/g, '\\+') : '', - 'i' + 'i', ) } @@ -653,7 +653,7 @@ const Wappalyzer = { patterns.forEach((_pattern) => { const pattern = (subtypes || []).reduce( (pattern, subtype) => pattern[subtype] || {}, - _pattern + _pattern, ) values.forEach((value) => { diff --git a/src/manifest-safari.json b/src/manifest-safari.json deleted file mode 100644 index 0ff21875d..000000000 --- a/src/manifest-safari.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "name": "Wappalyzer", - "short_name": "Wappalyzer", - "author": "Wappalyzer", - "homepage_url": "https://www.wappalyzer.com/", - "description": "Identify web technologies", - "version": "6.8.15", - "default_locale": "en", - "manifest_version": 2, - "icons": { - "16": "images/icon_16.png", - "19": "images/icon_19.png", - "32": "images/icon_32.png", - "38": "images/icon_38.png", - "64": "images/icon_64.png", - "128": "images/icon_128.png", - "256": "images/icon_256.png", - "512": "images/icon_512.png", - "1024": "images/icon_1024.png" - }, - "browser_action": { - "default_icon": { - "16": "images/safari.svg", - "19": "images/safari.svg", - "32": "images/safari.svg", - "38": "images/safari.svg", - "64": "images/safari.svg", - "128": "images/safari.svg", - "256": "images/safari.svg", - "512": "images/safari.svg", - "1024": "images/safari.svg" - }, - "default_title": "Wappalyzer", - "default_popup": "html/popup.html" - }, - "background": { - "page": "html/background.html" - }, - "content_scripts": [ - { - "matches": [ - "http://*/*", - "https://*/*" - ], - "js": [ - "js/content.js" - ], - "run_at": "document_idle" - }, - { - "matches": [ - "http://*/*", - "https://*/*" - ], - "js": [ - "js/lib/iframe.js" - ], - "run_at": "document_start", - "all_frames": true - } - ], - "web_accessible_resources": [ - "js/inject.js" - ], - "options_ui": { - "page": "html/options.html", - "open_in_tab": false - }, - "permissions": [ - "cookies", - "storage", - "tabs", - "webRequest", - "webNavigation", - "http://*/*", - "https://*/*" - ], - "content_security_policy": "script-src 'self'; object-src 'self'" -} \ No newline at end of file diff --git a/src/manifest-v2.json b/src/manifest-v2.json deleted file mode 100644 index b211802e2..000000000 --- a/src/manifest-v2.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "Wappalyzer - Technology profiler", - "short_name": "Wappalyzer", - "author": "Wappalyzer", - "homepage_url": "https://www.wappalyzer.com/", - "description": "Identify web technologies", - "version": "6.10.66", - "default_locale": "en", - "manifest_version": 2, - "icons": { - "16": "images/icon_16.png", - "19": "images/icon_19.png", - "32": "images/icon_32.png", - "38": "images/icon_38.png", - "64": "images/icon_64.png", - "128": "images/icon_128.png", - "256": "images/icon_256.png", - "512": "images/icon_512.png", - "1024": "images/icon_1024.png" - }, - "browser_action": { - "default_icon": { - "16": "images/icon_16.png", - "19": "images/icon_19.png", - "32": "images/icon_32.png", - "38": "images/icon_38.png", - "64": "images/icon_64.png", - "128": "images/icon_128.png", - "256": "images/icon_256.png", - "512": "images/icon_512.png", - "1024": "images/icon_1024.png" - }, - "default_title": "Wappalyzer", - "default_popup": "html/popup.html" - }, - "background": { - "page": "html/background.html" - }, - "content_scripts": [ - { - "matches": [ - "http://*/*", - "https://*/*" - ], - "js": [ - "js/content.js" - ], - "run_at": "document_idle" - } - ], - "web_accessible_resources": [ - "js/js.js", - "js/dom.js" - ], - "options_ui": { - "page": "html/options.html", - "open_in_tab": false - }, - "permissions": [ - "cookies", - "storage", - "tabs", - "webRequest", - "http://*/*", - "https://*/*" - ], - "optional_permissions": [ - "downloads" - ], - "content_security_policy": "script-src 'self'; object-src 'self'", - "browser_specific_settings": { - "gecko": { - "id": "wappalyzer@crunchlabz.com", - "strict_min_version": "42.0" - } - } -} \ No newline at end of file diff --git a/src/manifest-v3.json b/src/manifest.json similarity index 94% rename from src/manifest-v3.json rename to src/manifest.json index 6c9b47829..934c31a8e 100644 --- a/src/manifest-v3.json +++ b/src/manifest.json @@ -71,13 +71,7 @@ "http://*/*", "https://*/*" ], - "optional_permissions": [ - "downloads" - ], "content_security_policy": { "extension_pages": "script-src 'self'; object-src 'self'" - }, - "storage": { - "managed_schema": "schema.json" } -} \ No newline at end of file +} diff --git a/src/schema.json b/src/schema.json deleted file mode 100644 index 2b13d3859..000000000 --- a/src/schema.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "object", - "properties": { - "tracking": { - "title": "Tracking enabled", - "description": "Anonymously send identified technologies to wappalyzer.com", - "type": "boolean" - } - } -} \ No newline at end of file From a28c5554ab13ec32a8d0abd6a37f48ca75569a58 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Sun, 19 May 2024 13:41:09 +0200 Subject: [PATCH 026/135] PandaCSS icon moved --- src/{drivers/webextension => }/images/icons/PandaCSS.svg | 0 src/technologies/j.json | 2 +- src/technologies/p.json | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) rename src/{drivers/webextension => }/images/icons/PandaCSS.svg (100%) diff --git a/src/drivers/webextension/images/icons/PandaCSS.svg b/src/images/icons/PandaCSS.svg similarity index 100% rename from src/drivers/webextension/images/icons/PandaCSS.svg rename to src/images/icons/PandaCSS.svg diff --git a/src/technologies/j.json b/src/technologies/j.json index 422ba7e7a..a633a8982 100644 --- a/src/technologies/j.json +++ b/src/technologies/j.json @@ -1012,4 +1012,4 @@ "website": "https://www.jsdelivr.com/", "xhr": "cdn\\.jsdelivr\\.net" } -} \ No newline at end of file +} diff --git a/src/technologies/p.json b/src/technologies/p.json index 2b0beffd7..6e5f82707 100644 --- a/src/technologies/p.json +++ b/src/technologies/p.json @@ -399,6 +399,7 @@ ], "css": "--made-with-panda", "description": "Panda is a styling engine that generates styling primitives to author atomic CSS and recipes in a type-safe and readable manner.", + "icon": "PandaCSS.svg", "oss": true, "website": "https://panda-css.com/" }, From 253e4e4a26201117026414c0806c5e9667ec556d Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Sun, 19 May 2024 13:56:22 +0200 Subject: [PATCH 027/135] repo name update --- CONTRIBUTING.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 561c402b2..8f624407a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,10 @@ # Contributing -Wappalyzer is an [GPLv3 licensed](https://github.com/wappalyzer/wappalyzer/blob/master/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute. +Wappalyzer is an [GPLv3 licensed](https://github.com/HTTPArchive/wappalyzer/blob/main/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute. ## Getting started -To get started, see the [README](https://github.com/wappalyzer/wappalyzer/blob/master/README.md). +To get started, see the [README](https://github.com/HTTPArchive/wappalyzer/blob/main/README.md). ## Submitting changes @@ -15,23 +15,19 @@ To get started, see the [README](https://github.com/wappalyzer/wappalyzer/blob/m ## Adding a new technology -Wappalyzer uses [regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) to fingerprint technologies. Refer to the [specification](https://github.com/wappalyzer/wappalyzer/blob/master/README.md#specification) for detail. +Wappalyzer uses [regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) to fingerprint technologies. Refer to the [specification](https://github.com/HTTPArchive/wappalyzer/blob/main/README.md#specification) for detail. -- Add a new block to [`src/technologies/*.json`](https://github.com/wappalyzer/wappalyzer/blob/master/src/technologies). The filename should match the first letter of the technology name (a-z). Use `_.json` if the first character is a number or symbol. -- Add an icon to [`src/images/icons`](https://github.com/wappalyzer/wappalyzer/tree/master/src/images/icons). The image must be square, either SVG or PNG (32 x 32 pixels). +- Add a new block to [`src/technologies/*.json`](https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies). The filename should match the first letter of the technology name (a-z). Use `_.json` if the first character is a number or symbol. +- Add an icon to [`src/images/icons`](https://github.com/HTTPArchive/wappalyzer/tree/master/src/images/icons). The image must be square, either SVG or PNG (32 x 32 pixels). Only widely used technologies are accepted. When creating a pull request, include ten or more links to websites that use the application, a GitHub page with at least 1,000 stars or anything that will help establish the size of the user base. ## Adding a new category -Please [open an issue on GitHub](https://github.com/wappalyzer/wappalyzer/issues) first to discuss the need for a new category. +Please [open an issue on GitHub](https://github.com/HTTPArchive/wappalyzer/issues) first to discuss the need for a new category. -To add a category, edit [`src/categories.json`](https://github.com/wappalyzer/wappalyzer/blob/master/src/categories.json) and update every [locale](https://github.com/wappalyzer/wappalyzer/tree/master/src/_locales). You may use the English category name in all of them. - -## Adding a new translation - -To add a new translation, copy the `en` folder in [`src/_locales`](https://github.com/wappalyzer/wappalyzer/tree/master/src/_locales), rename it to the relevant two-letter country code and update the containing `messages.json` file. +To add a category, edit [`src/categories.json`](https://github.com/HTTPArchive/wappalyzer/blob/main/src/categories.json) and update every [locale](https://github.com/HTTPArchive/wappalyzer/tree/master/src/_locales). You may use the English category name in all of them. ## Adding a new feature -Please [open an issue on GitHub](https://github.com/wappalyzer/wappalyzer/issues) first. New features and large changes are rarely accepted without prior discussion. +Please [open an issue on GitHub](https://github.com/HTTPArchive/wappalyzer/issues) first. New features and large changes are rarely accepted without prior discussion. From 16785541958e767727d9b8c4d48b54a08680aa8b Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 20 May 2024 23:09:10 +0200 Subject: [PATCH 028/135] needs secret permissions --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 37d1fc9da..6bdc20fd0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,7 +1,7 @@ name: Tests on: - pull_request: + pull_request_target: branches: - main paths: From 19112af1da8ed5323fd1b0e2188261974a56c93a Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 20 May 2024 23:33:32 +0200 Subject: [PATCH 029/135] cleanup --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 2d2a61cfa..ab7212cff 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,7 @@ "validate": "npm run lint && node ./bin/validate.js", "test": "jest", "convert": "node --no-warnings ./bin/convert.js", - "prettify": "jsonlint -si --trim-trailing-commas --enforce-double-quotes ./src/categories.json ./src/technologies/*.json", - "build": "npm run validate && npm run prettify && npm run convert && node ./bin/build.js" + "build": "npm run validate && npm run convert && node ./bin/build.js" }, "jest": { "reporters": [ From c88f6bd63b64ca557413e3628177cee3cbca1049 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 20 May 2024 23:46:27 +0200 Subject: [PATCH 030/135] more cleanup --- .eslintrc.js | 7 +- .prettierrc | 3 +- package.json | 23 +- src/js/content.js | 12 +- src/js/index.js | 9 +- src/js/popup.js | 13 +- src/js/utils.js | 5 +- yarn.lock | 3214 +++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 3249 insertions(+), 37 deletions(-) create mode 100644 yarn.lock diff --git a/.eslintrc.js b/.eslintrc.js index 0cb4dfcaf..f91394cce 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,19 +4,16 @@ module.exports = { browser: true, node: true, }, - parser: '@babel/eslint-parser', parserOptions: { - requireConfigFile: false, + parser: 'babel-eslint', }, extends: [ '@nuxtjs', 'prettier', + 'prettier/vue', 'plugin:prettier/recommended', 'plugin:nuxt/recommended', 'plugin:json/recommended', ], plugins: ['prettier'], - rules: { - 'array-callback-return': 'off', - }, } diff --git a/.prettierrc b/.prettierrc index 0e72982a0..59639c50d 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,6 +1,5 @@ { "semi": false, "arrowParens": "always", - "singleQuote": true, - "trailingComma": "es5" + "singleQuote": true } diff --git a/package.json b/package.json index ab7212cff..9ce932da2 100644 --- a/package.json +++ b/package.json @@ -1,20 +1,19 @@ { "dependencies": { "@prantlf/jsonlint": "^14.0.3", - "adm-zip": "^0.5.12", - "convert-svg-to-png": "^0.6.4" + "adm-zip": "^0.4.16", + "convert-svg-to-png": "^0.5.0" }, "devDependencies": { - "@nuxtjs/eslint-config": "^12.0.0", - "@nuxtjs/eslint-module": "^4.1.0", - "@babel/eslint-parser": "^7.24.5", - "eslint": "^8.23.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-json": "^3.1.0", - "eslint-plugin-nuxt": "^4.0.0", - "eslint-plugin-prettier": "^5.1.3", - "jest": "^29.7.0", - "prettier": "^3.2.5", + "@nuxtjs/eslint-config": "^3.1.0", + "@nuxtjs/eslint-module": "^2.0.0", + "babel-eslint": "^10.1.0", + "eslint": "^7.13.0", + "eslint-config-prettier": "^6.15.0", + "eslint-plugin-json": "^2.1.2", + "eslint-plugin-nuxt": "^1.0.0", + "eslint-plugin-prettier": "^3.1.4", + "prettier": "^2.1.2", "terminal-overwrite": "^2.0.1", "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" }, diff --git a/src/js/content.js b/src/js/content.js index b6adc115e..46798e0c8 100644 --- a/src/js/content.js +++ b/src/js/content.js @@ -95,6 +95,7 @@ async function getDom(technologies) { } if (text) { + // eslint-disable-next-line unicorn/prefer-text-content const value = (node.innerText ? node.innerText.trim() : '').slice( 0, 1000000 @@ -244,7 +245,7 @@ const Content = { ) // Text - + // eslint-disable-next-line unicorn/prefer-text-content const text = document.body.innerText.replace(/\s+/g, ' ').slice(0, 25000) // CSS rules @@ -331,6 +332,7 @@ const Content = { .split('/') .shift()}`, + // eslint-disable-next-line unicorn/prefer-text-content `https://${ad.innerText.split('\n').pop()}`, ]), ] @@ -400,10 +402,10 @@ const Content = { args instanceof Error ? [args.toString()] : args - ? Array.isArray(args) - ? args - : [args] - : [], + ? Array.isArray(args) + ? args + : [args] + : [], }, (response) => { chrome.runtime.lastError diff --git a/src/js/index.js b/src/js/index.js index 858819b76..364d90b6e 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -33,10 +33,10 @@ function getRequiredTechnologies(name, categoryId) { return name ? Wappalyzer.requires.find(({ name: _name }) => _name === name).technologies : categoryId - ? Wappalyzer.categoryRequires.find( - ({ categoryId: _categoryId }) => _categoryId === categoryId - ).technologies - : undefined + ? Wappalyzer.categoryRequires.find( + ({ categoryId: _categoryId }) => _categoryId === categoryId + ).technologies + : undefined } function isSimilarUrl(a, b) { @@ -942,6 +942,7 @@ const Driver = { return urls } + // eslint-disable-next-line standard/computed-property-even-spacing const { language, detections, hits, https } = Driver.cache.hostnames[hostname] diff --git a/src/js/popup.js b/src/js/popup.js index 4f909d8e3..73f9bf5da 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -219,12 +219,12 @@ function getTechnologySpend(technologies) { const spend = totals.xhigh ? 'Very high' : totals.high - ? 'High' - : totals.mid - ? 'Medium' - : totals.low - ? 'Low' - : 'Very low' + ? 'High' + : totals.mid + ? 'Medium' + : totals.low + ? 'Low' + : 'Very low' return spend } @@ -748,7 +748,6 @@ const Popup = { const data = await response.json() if (!response.ok) { - // eslint-disable-next-line unicorn/error-message const error = new Error() error.data = data diff --git a/src/js/utils.js b/src/js/utils.js index 521310a2d..777a74c50 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -7,12 +7,13 @@ if (chrome.runtime.getManifest().manifest_version === 2) { chrome.action = chrome.browserAction } +// eslint-disable-next-line no-unused-vars const Utils = { agent: chrome.runtime.getURL('/').startsWith('moz-') ? 'firefox' : chrome.runtime.getURL('/').startsWith('safari-') - ? 'safari' - : 'chrome', + ? 'safari' + : 'chrome', /** * Use promises instead of callbacks diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..ecc45a8bd --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3214 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz" + integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== + dependencies: + "@babel/highlight" "^7.22.10" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.9": + version "7.22.9" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz" + integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== + +"@babel/core@^7.12.16": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz" + integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.10" + "@babel/generator" "^7.22.10" + "@babel/helper-compilation-targets" "^7.22.10" + "@babel/helper-module-transforms" "^7.22.9" + "@babel/helpers" "^7.22.10" + "@babel/parser" "^7.22.10" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.10" + "@babel/types" "^7.22.10" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.1" + +"@babel/eslint-parser@^7.12.16": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz" + integrity sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" + +"@babel/generator@^7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz" + integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== + dependencies: + "@babel/types" "^7.22.10" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz" + integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.5" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz" + integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== + +"@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz" + integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== + dependencies: + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz" + integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-transforms@^7.22.9": + version "7.22.9" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz" + integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + +"@babel/helper-validator-option@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" + integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== + +"@babel/helpers@^7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz" + integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw== + dependencies: + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.10" + "@babel/types" "^7.22.10" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz" + integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.22.10", "@babel/parser@^7.22.5", "@babel/parser@^7.7.0": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz" + integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== + +"@babel/template@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz" + integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/traverse@^7.22.10", "@babel/traverse@^7.7.0": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz" + integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== + dependencies: + "@babel/code-frame" "^7.22.10" + "@babel/generator" "^7.22.10" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.22.10" + "@babel/types" "^7.22.10" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.7.0": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz" + integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + to-fast-properties "^2.0.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" + 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.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nuxtjs/eslint-config@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@nuxtjs/eslint-config/-/eslint-config-3.1.0.tgz" + integrity sha512-/6hDCt4nmlgmSFmJMLyZoopJ9iEfUVL5gpvr0uCzAYBjBl49ldsmu+SmsT13zosEnCIWCosBIevuaeCDKKBbJA== + dependencies: + eslint-config-standard "^14.1.1" + eslint-plugin-import "2.22.0" + eslint-plugin-jest "^23.18.2" + eslint-plugin-node "^11.1.0" + eslint-plugin-promise "^4.2.1" + eslint-plugin-standard "^4.0.1" + eslint-plugin-unicorn "^21.0.0" + eslint-plugin-vue "^6.2.2" + +"@nuxtjs/eslint-module@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@nuxtjs/eslint-module/-/eslint-module-2.0.0.tgz" + integrity sha512-uL3prMRwSBcxy583O11nMiUtfA2fxF7lZgCCUCsq4FNCqv320euJ7XE3KNZT6IVs/QJ1vaUNLC8tL4SZS99Tjw== + dependencies: + consola "^2.11.3" + eslint-loader "^4.0.2" + +"@prantlf/jsonlint@^14.0.3": + version "14.0.3" + resolved "https://registry.npmjs.org/@prantlf/jsonlint/-/jsonlint-14.0.3.tgz" + integrity sha512-Z9FrZd+cqCiqB6r/EHb4evj8HUqMgPvi7RVBQhFHYOJ292K7XmnKprNTngTqiUclCFn5MFqeZv20Jo5ZzlOCqw== + dependencies: + ajv "8.12.0" + ajv-draft-04 "1.0.0" + cosmiconfig "8.1.3" + diff "5.1.0" + fast-glob "3.2.12" + +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": + version "7.0.12" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@typescript-eslint/experimental-utils@^2.5.0": + version "2.34.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" + integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/typescript-estree@2.34.0": + version "2.34.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz" + integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +adm-zip@^0.4.16: + version "0.4.16" + resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz" + integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== + +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + +ajv-draft-04@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz" + integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@8.12.0, ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^6.10.0: + version "6.10.2" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-includes@^3.1.1: + version "3.1.6" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + +array.prototype.flat@^1.2.3: + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +arraybuffer.prototype.slice@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz" + integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.21.9: + version "4.21.10" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz" + integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== + dependencies: + caniuse-lite "^1.0.30001517" + electron-to-chromium "^1.4.477" + node-releases "^2.0.13" + update-browserslist-db "^1.0.11" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001517: + version "1.0.30001521" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz" + integrity sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ== + +chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +clean-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" + integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== + dependencies: + escape-string-regexp "^1.0.5" + +cli-cursor@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^2.19.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +consola@^2.11.3: + version "2.15.3" + resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz" + integrity sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg== + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-svg-core@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/convert-svg-core/-/convert-svg-core-0.5.0.tgz" + integrity sha512-V30vm5h4sHjmjyAr7o/gYAEmdEIsi0sLKKbDigSxplovCzMHTERXSikIOgA8xSllHh0c4gHYP55Pxwgtu9O+3w== + dependencies: + chalk "^2.4.1" + commander "^2.19.0" + file-url "^2.0.2" + get-stdin "^6.0.0" + glob "^7.1.3" + lodash.omit "^4.5.0" + lodash.pick "^4.4.0" + pollock "^0.2.0" + puppeteer "^1.10.0" + tmp "0.0.33" + +convert-svg-to-png@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/convert-svg-to-png/-/convert-svg-to-png-0.5.0.tgz" + integrity sha512-Pzg2IEirPdN/VXovG9NY8H5Ww3PUEohMcyu9a11E0G0/oVcbPLWQYE3/S6mxpjidqzYr1i5iKLTKCiU9hctKFQ== + dependencies: + convert-svg-core "^0.5.0" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@8.1.3: + version "8.1.3" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz" + integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== + dependencies: + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +csv-generate@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/csv-generate/-/csv-generate-4.4.1.tgz#729781ace8d1b92f6bfb407d1ab9548728c55681" + integrity sha512-O/einO0v4zPmXaOV+sYqGa02VkST4GP5GLpWBNHEouIU7pF3kpGf3D0kCCvX82ydIY4EKkOK+R8b1BYsRXravg== + +csv-parse@^5.5.6: + version "5.5.6" + resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.6.tgz#0d726d58a60416361358eec291a9f93abe0b6b1a" + integrity sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A== + +csv-stringify@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.0.tgz#7b1491893c917e018a97de9bf9604e23b88647c2" + integrity sha512-edlXFVKcUx7r8Vx5zQucsuMg4wb/xT6qyz+Sr1vnLrdXqlLD1+UKyWNyZ9zn6mUW1ewmGxrpVwAcChGF0HQ/2Q== + +csv@^6.2.2: + version "6.3.9" + resolved "https://registry.yarnpkg.com/csv/-/csv-6.3.9.tgz#1812e4542aa4ca1e4a70cb5a5d16c1e425451f06" + integrity sha512-eiN+Qu8NwSLxZYia6WzB8xlX/rAQ/8EgK5A4dIF7Bz96mzcr5dW1jlcNmjG0QWySWKfPdCerH3RQ96ZqqsE8cA== + dependencies: + csv-generate "^4.4.1" + csv-parse "^5.5.6" + csv-stringify "^6.5.0" + stream-transform "^3.3.2" + +debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" + integrity sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg== + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +electron-to-chromium@^1.4.477: + version "1.4.495" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz" + integrity sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +enquirer@^2.3.5: + version "2.4.1" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.22.1" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz" + integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.1" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.1" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.0" + safe-array-concat "^1.0.0" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.10" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +eslint-ast-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz" + integrity sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA== + dependencies: + lodash.get "^4.4.2" + lodash.zip "^4.2.0" + +eslint-config-prettier@^6.15.0: + version "6.15.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz" + integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== + dependencies: + get-stdin "^6.0.0" + +eslint-config-standard@^14.1.1: + version "14.1.1" + resolved "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz" + integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg== + +eslint-import-resolver-node@^0.3.3: + version "0.3.9" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-loader@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz" + integrity sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw== + dependencies: + find-cache-dir "^3.3.1" + fs-extra "^8.1.0" + loader-utils "^2.0.0" + object-hash "^2.0.3" + schema-utils "^2.6.5" + +eslint-module-utils@^2.6.0: + version "2.8.0" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + dependencies: + debug "^3.2.7" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@2.22.0: + version "2.22.0" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz" + integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg== + dependencies: + array-includes "^3.1.1" + array.prototype.flat "^1.2.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.3" + eslint-module-utils "^2.6.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.1" + read-pkg-up "^2.0.0" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-jest@^23.18.2: + version "23.20.0" + resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz" + integrity sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw== + dependencies: + "@typescript-eslint/experimental-utils" "^2.5.0" + +eslint-plugin-json@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.2.tgz" + integrity sha512-isM/fsUxS4wN1+nLsWoV5T4gLgBQnsql3nMTr8u+cEls1bL8rRQO5CP5GtxJxaOfbcKqnz401styw+H/P+e78Q== + dependencies: + lodash "^4.17.19" + vscode-json-languageservice "^3.7.0" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-nuxt@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-nuxt/-/eslint-plugin-nuxt-1.0.0.tgz" + integrity sha512-/wStWT367UXimakvNkYmG66dlP+O4CIEDS7Kg8BrwSlLX/ubQRZowVT3oJqspJJvR6jqJPMdGym5PBYd5iE+xg== + dependencies: + eslint-plugin-vue "^6.2.2" + semver "^7.3.2" + vue-eslint-parser "^7.0.0" + +eslint-plugin-prettier@^3.1.4: + version "3.4.1" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz" + integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-promise@^4.2.1: + version "4.3.1" + resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-plugin-standard@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz" + integrity sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ== + +eslint-plugin-unicorn@^21.0.0: + version "21.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-21.0.0.tgz" + integrity sha512-S8v7+v4gZTQPj4pKKvexhgSUaLQSyItvxW2SVZDaX9Iu5IjlAmF2eni+L6w8a2aqshxgU8Lle4FIAVDtuejSKQ== + dependencies: + ci-info "^2.0.0" + clean-regexp "^1.0.0" + eslint-ast-utils "^1.1.0" + eslint-template-visitor "^2.0.0" + eslint-utils "^2.1.0" + import-modules "^2.0.0" + lodash "^4.17.15" + pluralize "^8.0.0" + read-pkg-up "^7.0.1" + regexp-tree "^0.1.21" + reserved-words "^0.1.2" + safe-regex "^2.1.1" + semver "^7.3.2" + +eslint-plugin-vue@^6.2.2: + version "6.2.2" + resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz" + integrity sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ== + dependencies: + natural-compare "^1.4.0" + semver "^5.6.0" + vue-eslint-parser "^7.0.0" + +eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-template-visitor@^2.0.0: + version "2.3.2" + resolved "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz" + integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA== + dependencies: + "@babel/core" "^7.12.16" + "@babel/eslint-parser" "^7.12.16" + eslint-visitor-keys "^2.0.0" + esquery "^1.3.1" + multimap "^1.1.0" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.13.0: + version "7.32.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.3.1, esquery@^1.4.0: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +extract-zip@^1.6.6: + version "1.7.0" + resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== + dependencies: + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" + integrity sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@3.2.12: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.17.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz" + integrity sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w== + dependencies: + reusify "^1.0.4" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-url@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/file-url/-/file-url-2.0.2.tgz" + integrity sha512-x3989K8a1jM6vulMigE8VngH7C5nci0Ks5d9kVjUXmNF28gmiZUNujk5HjwaS8dAzN2QmUfX56riJKgN00dNRw== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "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.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +glob@^7.1.3, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.21.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz" + integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +https-proxy-agent@^2.2.1: + version "2.2.4" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" + integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-modules@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz" + integrity sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +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" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz" + integrity sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ== + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.omit@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz" + integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" + integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash.zip@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz" + integrity sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg== + +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime@^2.0.3: + version "2.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^0.5.4: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mocha@^10.1.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.4.0.tgz#ed03db96ee9cfc6d20c56f8e2af07b961dbae261" + integrity sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "8.1.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multimap@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz" + integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.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" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-hash@^2.0.3: + version "2.2.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" + integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.values@^1.1.1: + version "1.1.6" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +optionator@^0.9.1: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== + dependencies: + error-ex "^1.2.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" + integrity sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ== + dependencies: + pify "^2.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +pollock@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/pollock/-/pollock-0.2.1.tgz" + integrity sha512-2Xy6LImSXm0ANKv9BKSVuCa6Z4ACbK7oUrl9gtUgqLkekL7n9C0mlWsOGYYuGbCG8xT0x3Q4F31C3ZMyVQjwsg== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.1.2: + version "2.8.8" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.0, progress@^2.0.1: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +proxy-from-env@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +puppeteer@^1.10.0: + version "1.20.0" + resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz" + integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== + dependencies: + debug "^4.1.0" + extract-zip "^1.6.6" + https-proxy-agent "^2.2.1" + mime "^2.0.3" + progress "^2.0.1" + proxy-from-env "^1.0.0" + rimraf "^2.6.1" + ws "^6.1.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +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" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" + integrity sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w== + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz" + integrity sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA== + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@^2.2.2: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regexp-tree@^0.1.21, regexp-tree@~0.1.1: + version "0.1.27" + resolved "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz" + integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== + +regexp.prototype.flags@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +reserved-words@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz" + integrity sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.22.4: + version "1.22.4" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz" + integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz" + integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.1.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-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +safe-regex@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz" + integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== + dependencies: + regexp-tree "~0.1.1" + +sax@>=0.6.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +"semver@2 || 3 || 4 || 5", semver@^5.6.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.2.1, semver@^7.3.2: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +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" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stream-transform@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-3.3.2.tgz#398c67b2f3b6ed5d04ceadde9e412bda8416c8ab" + integrity sha512-v64PUnPy9Qw94NGuaEMo+9RHQe4jTBYf+NkTtqkCgeuiNo8NlL0LtLR7fkKWNVFtp3RhIm5Dlxkgm5uz7TDimQ== + +string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +terminal-overwrite@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/terminal-overwrite/-/terminal-overwrite-2.0.1.tgz" + integrity sha512-CP8KtcHQjSlKtaXIZTJt4I4II8oEdXyGJtx54gXVVys9plYIaK4ahiXPD6XxZ2efrqayH1B7uR/5Wr7N2cTgFA== + dependencies: + cli-cursor "^2.0.0" + string-width "^2.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +tmp@0.0.33: + version "0.0.33" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tsconfig-paths@^3.9.0: + version "3.14.2" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +v8-compile-cache@^2.0.3: + version "2.4.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vscode-json-languageservice@^3.7.0: + version "3.11.0" + resolved "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.11.0.tgz" + integrity sha512-QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA== + dependencies: + jsonc-parser "^3.0.0" + vscode-languageserver-textdocument "^1.0.1" + vscode-languageserver-types "3.16.0-next.2" + vscode-nls "^5.0.0" + vscode-uri "^2.1.2" + +vscode-languageserver-textdocument@^1.0.1: + version "1.0.8" + resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz" + integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q== + +vscode-languageserver-types@3.16.0-next.2: + version "3.16.0-next.2" + resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz" + integrity sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q== + +vscode-nls@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz" + integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== + +vscode-uri@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz" + integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A== + +vue-eslint-parser@^7.0.0: + version "7.11.0" + resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz" + integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== + dependencies: + debug "^4.1.1" + eslint-scope "^5.1.1" + eslint-visitor-keys "^1.1.0" + espree "^6.2.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^6.3.0" + +"webpagetest@github:HTTPArchive/WebPageTest.api-nodejs": + version "0.7.1" + resolved "https://codeload.github.com/HTTPArchive/WebPageTest.api-nodejs/tar.gz/b55f6b7da58cecec2bc9f2b1e952203d660feec4" + dependencies: + commander "^5.1.0" + csv "^6.2.2" + entities "^4.4.0" + mocha "^10.1.0" + xml2js "^0.4.23" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.10, which-typed-array@^1.1.11: + version "1.1.11" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^6.1.0: + version "6.2.2" + resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + dependencies: + async-limiter "~1.0.0" + +xml2js@^0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 9958bc5ee1cc7a57878ea6d7a37ed2481e608f85 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 20 May 2024 23:48:39 +0200 Subject: [PATCH 031/135] keep yarn --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6bdc20fd0..fc7f6b3ff 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,10 +23,10 @@ jobs: fetch-depth: 0 - name: Install dependencies - run: npm install + run: yarn install - name: Validate - run: npm run validate + run: yarn run validate - name: Run WebPageTest with unit tests env: @@ -35,7 +35,7 @@ jobs: PR_NUMBER: ${{ github.event.pull_request.number }} run: | echo "::group::Unit tests" - npm test + yarn test echo "::endgroup::" - name: Run WebPageTest for more websites From 3bf1f7fabe8d4f8d04ca196f791280a96a839dd8 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 20 May 2024 23:51:54 +0200 Subject: [PATCH 032/135] missing jest --- package.json | 1 + yarn.lock | 1576 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1561 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 9ce932da2..9ebcf340b 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "eslint-plugin-json": "^2.1.2", "eslint-plugin-nuxt": "^1.0.0", "eslint-plugin-prettier": "^3.1.4", + "jest": "^29.7.0", "prettier": "^2.1.2", "terminal-overwrite": "^2.0.1", "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" diff --git a/yarn.lock b/yarn.lock index ecc45a8bd..6966ea4db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,11 +30,45 @@ "@babel/highlight" "^7.22.10" chalk "^2.4.2" +"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + "@babel/compat-data@^7.22.9": version "7.22.9" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== +"@babel/compat-data@^7.23.5": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" + integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/core@^7.12.16": version "7.22.10" resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz" @@ -75,6 +109,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.24.5", "@babel/generator@^7.7.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/helper-compilation-targets@^7.22.10": version "7.22.10" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz" @@ -86,6 +130,22 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + "@babel/helper-environment-visitor@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz" @@ -99,6 +159,14 @@ "@babel/template" "^7.22.5" "@babel/types" "^7.22.5" +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" @@ -113,6 +181,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + "@babel/helper-module-transforms@^7.22.9": version "7.22.9" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz" @@ -124,6 +199,22 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.5" +"@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + +"@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.24.0", "@babel/helper-plugin-utils@^7.8.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + "@babel/helper-simple-access@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" @@ -131,6 +222,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" @@ -138,21 +236,43 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-string-parser@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + "@babel/helper-validator-identifier@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + "@babel/helper-validator-option@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + "@babel/helpers@^7.22.10": version "7.22.10" resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz" @@ -162,6 +282,15 @@ "@babel/traverse" "^7.22.10" "@babel/types" "^7.22.10" +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.22.10": version "7.22.10" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz" @@ -171,11 +300,133 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + "@babel/parser@^7.22.10", "@babel/parser@^7.22.5", "@babel/parser@^7.7.0": version "7.22.10" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz" integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/template@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz" @@ -201,6 +452,31 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.3.3": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + "@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.7.0": version "7.22.10" resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz" @@ -210,6 +486,11 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" @@ -239,6 +520,214 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.3" resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" @@ -248,6 +737,15 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" @@ -258,11 +756,24 @@ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.22" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" @@ -332,6 +843,84 @@ diff "5.1.0" fast-glob "3.2.12" +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": version "7.0.12" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" @@ -342,11 +931,35 @@ resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/node@*": + version "20.12.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050" + integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw== + dependencies: + undici-types "~5.26.4" + "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + "@typescript-eslint/experimental-utils@^2.5.0": version "2.34.0" resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" @@ -442,6 +1055,13 @@ ansi-colors@^4.1.1: resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + ansi-regex@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" @@ -466,7 +1086,12 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -anymatch@~3.1.2: +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -554,6 +1179,66 @@ babel-eslint@^10.1.0: eslint-visitor-keys "^1.0.0" resolve "^1.12.0" +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -606,6 +1291,23 @@ browserslist@^4.21.9: node-releases "^2.0.13" update-browserslist-db "^1.0.11" +browserslist@^4.22.2: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" @@ -629,7 +1331,12 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^6.0.0: +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0, camelcase@^6.2.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -639,6 +1346,11 @@ caniuse-lite@^1.0.30001517: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz" integrity sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ== +caniuse-lite@^1.0.30001587: + version "1.0.30001620" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz#78bb6f35b8fe315b96b8590597094145d0b146b4" + integrity sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew== + chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" @@ -656,6 +1368,11 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + chokidar@3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" @@ -676,6 +1393,16 @@ ci-info@^2.0.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" + integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== + clean-regexp@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" @@ -699,6 +1426,25 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" @@ -768,6 +1514,11 @@ convert-source-map@^1.7.0: resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + convert-svg-core@^0.5.0: version "0.5.0" resolved "https://registry.npmjs.org/convert-svg-core/-/convert-svg-core-0.5.0.tgz" @@ -806,7 +1557,20 @@ cosmiconfig@8.1.3: parse-json "^5.0.0" path-type "^4.0.0" -cross-spawn@^7.0.2: +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -840,7 +1604,7 @@ csv@^6.2.2: csv-stringify "^6.5.0" stream-transform "^3.3.2" -debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -866,11 +1630,21 @@ decamelize@^4.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" @@ -879,6 +1653,16 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + diff@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -909,6 +1693,16 @@ electron-to-chromium@^1.4.477: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz" integrity sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q== +electron-to-chromium@^1.4.668: + version "1.4.775" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.775.tgz#176e9cc439b76a4c768f44c821eaedd32d055503" + integrity sha512-JpOfl1aNAiZ88wFzjPczTLwYIoPIsij8S9/XQH9lqMpiJOf23kxea68B8wje4f68t4rOIq4Bh+vP4I65njiJBw== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -1026,6 +1820,11 @@ escalade@^3.1.1: resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" @@ -1036,6 +1835,11 @@ escape-string-regexp@^1.0.5: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + eslint-ast-utils@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz" @@ -1325,6 +2129,37 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + extract-zip@^1.6.6: version "1.7.0" resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" @@ -1361,7 +2196,7 @@ fast-glob@3.2.12: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -1378,6 +2213,13 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" @@ -1475,7 +2317,7 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -1525,11 +2367,21 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ has-proto "^1.0.1" has-symbols "^1.0.3" +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" @@ -1556,7 +2408,7 @@ glob@8.1.0: minimatch "^5.0.1" once "^1.3.0" -glob@^7.1.3, glob@^7.1.6: +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -1594,7 +2446,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -1655,6 +2507,11 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + https-proxy-agent@^2.2.1: version "2.2.4" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" @@ -1663,6 +2520,11 @@ https-proxy-agent@^2.2.1: agent-base "^4.3.0" debug "^3.1.0" +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" @@ -1681,6 +2543,14 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + import-modules@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz" @@ -1783,6 +2653,11 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" @@ -1827,6 +2702,11 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" +is-stream@^2.0.0: + 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" resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" @@ -1875,6 +2755,417 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" @@ -1927,7 +3218,7 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.2: +json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -1944,6 +3235,16 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" @@ -2062,6 +3363,25 @@ make-dir@^3.0.2: dependencies: semver "^6.0.0" +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + merge2@^1.3.0: version "1.4.1" resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" @@ -2085,6 +3405,11 @@ mimic-fn@^1.0.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + minimatch@5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" @@ -2169,11 +3494,21 @@ natural-compare@^1.4.0: resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + node-releases@^2.0.13: version "2.0.13" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" @@ -2189,6 +3524,13 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + object-hash@^2.0.3: version "2.2.0" resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" @@ -2237,6 +3579,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + optionator@^0.9.1: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" @@ -2268,7 +3617,7 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -2320,7 +3669,7 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -2345,7 +3694,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -2377,7 +3726,12 @@ picocolors@^1.0.0: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -2387,7 +3741,12 @@ pify@^2.0.0: resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== -pkg-dir@^4.1.0: +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== @@ -2421,6 +3780,15 @@ prettier@^2.1.2: resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" @@ -2431,6 +3799,14 @@ progress@^2.0.0, progress@^2.0.1: resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + proxy-from-env@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" @@ -2455,6 +3831,11 @@ puppeteer@^1.10.0: rimraf "^2.6.1" ws "^6.1.0" +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -2467,6 +3848,11 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" @@ -2557,11 +3943,28 @@ reserved-words@^0.1.2: resolved "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz" integrity sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw== +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.22.4: version "1.22.4" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz" @@ -2571,6 +3974,15 @@ resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.2 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" @@ -2672,6 +4084,11 @@ semver@^7.2.1, semver@^7.3.2: dependencies: lru-cache "^6.0.0" +semver@^7.5.3, semver@^7.5.4: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + serialize-javascript@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" @@ -2700,11 +4117,21 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.2: +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" @@ -2714,6 +4141,19 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.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" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +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== + spdx-correct@^3.0.0: version "3.2.0" resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" @@ -2745,11 +4185,26 @@ sprintf-js@~1.0.2: resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + stream-transform@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-3.3.2.tgz#398c67b2f3b6ed5d04ceadde9e412bda8416c8ab" integrity sha512-v64PUnPy9Qw94NGuaEMo+9RHQe4jTBYf+NkTtqkCgeuiNo8NlL0LtLR7fkKWNVFtp3RhIm5Dlxkgm5uz7TDimQ== +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + string-width@^2.0.0: version "2.1.1" resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" @@ -2820,12 +4275,22 @@ strip-bom@^3.0.0: resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -supports-color@8.1.1: +supports-color@8.1.1, supports-color@^8.0.0: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -2870,6 +4335,15 @@ terminal-overwrite@^2.0.1: cli-cursor "^2.0.0" string-width "^2.0.0" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -2882,6 +4356,11 @@ tmp@0.0.33: dependencies: os-tmpdir "~1.0.2" +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" @@ -2923,11 +4402,21 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" @@ -2992,6 +4481,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" @@ -3005,6 +4499,14 @@ update-browserslist-db@^1.0.11: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.0.13: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" @@ -3022,6 +4524,15 @@ v8-compile-cache@^2.0.3: resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz" integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" @@ -3074,6 +4585,13 @@ vue-eslint-parser@^7.0.0: lodash "^4.17.21" semver "^6.3.0" +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + "webpagetest@github:HTTPArchive/WebPageTest.api-nodejs": version "0.7.1" resolved "https://codeload.github.com/HTTPArchive/WebPageTest.api-nodejs/tar.gz/b55f6b7da58cecec2bc9f2b1e952203d660feec4" @@ -3132,6 +4650,14 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +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" + ws@^6.1.0: version "6.2.2" resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" @@ -3177,6 +4703,11 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + yargs-unparser@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" @@ -3200,6 +4731,19 @@ yargs@16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" From c448aab1b49909bf2b3f9946ea4cc2385cf86f42 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 00:39:20 +0200 Subject: [PATCH 033/135] yarn upgrade --- package.json | 10 +- yarn.lock | 1724 +++++++++++++++++++++++--------------------------- 2 files changed, 796 insertions(+), 938 deletions(-) diff --git a/package.json b/package.json index 9ebcf340b..96316d32c 100644 --- a/package.json +++ b/package.json @@ -8,23 +8,23 @@ "@nuxtjs/eslint-config": "^3.1.0", "@nuxtjs/eslint-module": "^2.0.0", "babel-eslint": "^10.1.0", - "eslint": "^7.13.0", + "eslint": "^7.32.0", "eslint-config-prettier": "^6.15.0", "eslint-plugin-json": "^2.1.2", "eslint-plugin-nuxt": "^1.0.0", - "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-prettier": "^3.4.1", "jest": "^29.7.0", - "prettier": "^2.1.2", + "prettier": "^2.8.8", "terminal-overwrite": "^2.0.1", "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" }, "scripts": { "lint": "eslint src/**/*.{js,json} && jsonlint -jsV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -js --trim-trailing-commas --enforce-double-quotes ./src/categories.json", "lint:fix": "eslint --fix src/**/*.{js,json} && jsonlint -isV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -is --trim-trailing-commas --enforce-double-quotes ./src/categories.json", - "validate": "npm run lint && node ./bin/validate.js", + "validate": "yarn run lint && node ./bin/validate.js", "test": "jest", "convert": "node --no-warnings ./bin/convert.js", - "build": "npm run validate && npm run convert && node ./bin/build.js" + "build": "yarn run validate && yarn run convert && node ./bin/build.js" }, "jest": { "reporters": [ diff --git a/yarn.lock b/yarn.lock index 6966ea4db..d29cd8aef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,35 +2,22 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" "@babel/code-frame@7.12.11": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz" - integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== - dependencies: - "@babel/highlight" "^7.22.10" - chalk "^2.4.2" - -"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": version "7.24.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== @@ -38,17 +25,12 @@ "@babel/highlight" "^7.24.2" picocolors "^1.0.0" -"@babel/compat-data@^7.22.9": - version "7.22.9" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz" - integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== - "@babel/compat-data@^7.23.5": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": +"@babel/core@^7.11.6", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.23.9": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== @@ -69,46 +51,15 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/core@^7.12.16": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz" - integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-compilation-targets" "^7.22.10" - "@babel/helper-module-transforms" "^7.22.9" - "@babel/helpers" "^7.22.10" - "@babel/parser" "^7.22.10" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.10" - "@babel/types" "^7.22.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.1" - "@babel/eslint-parser@^7.12.16": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz" - integrity sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.24.5.tgz#3b0f7d383a540329a30a6a9937cfc89461d26217" + integrity sha512-gsUcqS/fPlgAw1kOtpss7uhY6E9SFFANQ6EFX5GTvzUwaV0+sGaZWk6xq22MOdeT9wfxyokW3ceCUvOiRtZciQ== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz" - integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== - dependencies: - "@babel/types" "^7.22.10" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - "@babel/generator@^7.24.5", "@babel/generator@^7.7.2": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" @@ -119,17 +70,6 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz" - integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.5" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - "@babel/helper-compilation-targets@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" @@ -146,19 +86,6 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -"@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== - -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== - dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" - "@babel/helper-function-name@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" @@ -169,18 +96,11 @@ "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-imports@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz" - integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== - dependencies: - "@babel/types" "^7.22.5" - "@babel/helper-module-imports@^7.24.3": version "7.24.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" @@ -188,17 +108,6 @@ dependencies: "@babel/types" "^7.24.0" -"@babel/helper-module-transforms@^7.22.9": - version "7.22.9" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz" - integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.5" - "@babel/helper-module-transforms@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" @@ -215,13 +124,6 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - "@babel/helper-simple-access@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" @@ -229,13 +131,6 @@ dependencies: "@babel/types" "^7.24.5" -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - "@babel/helper-split-export-declaration@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" @@ -243,45 +138,21 @@ dependencies: "@babel/types" "^7.24.5" -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - "@babel/helper-string-parser@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== - "@babel/helper-validator-identifier@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== -"@babel/helper-validator-option@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" - integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== - "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== -"@babel/helpers@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz" - integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw== - dependencies: - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.10" - "@babel/types" "^7.22.10" - "@babel/helpers@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" @@ -291,16 +162,7 @@ "@babel/traverse" "^7.24.5" "@babel/types" "^7.24.5" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz" - integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.24.2": +"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.2": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== @@ -310,16 +172,11 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5", "@babel/parser@^7.7.0": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== -"@babel/parser@^7.22.10", "@babel/parser@^7.22.5", "@babel/parser@^7.7.0": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz" - integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== - "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -427,32 +284,7 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" -"@babel/template@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/traverse@^7.22.10", "@babel/traverse@^7.7.0": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz" - integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== - dependencies: - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.10" - "@babel/types" "^7.22.10" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.24.5": +"@babel/traverse@^7.24.5", "@babel/traverse@^7.7.0": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== @@ -468,7 +300,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.3.3": +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.3.3", "@babel/types@^7.7.0": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== @@ -477,15 +309,6 @@ "@babel/helper-validator-identifier" "^7.24.5" to-fast-properties "^2.0.0" -"@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.7.0": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz" - integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - to-fast-properties "^2.0.0" - "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -493,7 +316,7 @@ "@eslint/eslintrc@^0.4.3": version "0.4.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" @@ -508,7 +331,7 @@ "@humanwhocodes/config-array@^0.5.0": version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: "@humanwhocodes/object-schema" "^1.2.0" @@ -517,7 +340,7 @@ "@humanwhocodes/object-schema@^1.2.0": version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@istanbuljs/load-nyc-config@^1.0.0": @@ -728,15 +551,6 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" @@ -747,14 +561,9 @@ "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.2.1": version "1.2.1" @@ -763,7 +572,7 @@ "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": @@ -774,24 +583,16 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.22" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" - resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" + 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.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -799,12 +600,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -812,7 +613,7 @@ "@nuxtjs/eslint-config@^3.1.0": version "3.1.0" - resolved "https://registry.npmjs.org/@nuxtjs/eslint-config/-/eslint-config-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/@nuxtjs/eslint-config/-/eslint-config-3.1.0.tgz#7e73aa08035a743b99e64ee4337cf526a09c9973" integrity sha512-/6hDCt4nmlgmSFmJMLyZoopJ9iEfUVL5gpvr0uCzAYBjBl49ldsmu+SmsT13zosEnCIWCosBIevuaeCDKKBbJA== dependencies: eslint-config-standard "^14.1.1" @@ -826,7 +627,7 @@ "@nuxtjs/eslint-module@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@nuxtjs/eslint-module/-/eslint-module-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@nuxtjs/eslint-module/-/eslint-module-2.0.0.tgz#4a4875f5b3dd625bfe0e73fc4d8c8deec133d634" integrity sha512-uL3prMRwSBcxy583O11nMiUtfA2fxF7lZgCCUCsq4FNCqv320euJ7XE3KNZT6IVs/QJ1vaUNLC8tL4SZS99Tjw== dependencies: consola "^2.11.3" @@ -834,7 +635,7 @@ "@prantlf/jsonlint@^14.0.3": version "14.0.3" - resolved "https://registry.npmjs.org/@prantlf/jsonlint/-/jsonlint-14.0.3.tgz" + resolved "https://registry.yarnpkg.com/@prantlf/jsonlint/-/jsonlint-14.0.3.tgz#846af4bac04726528f46eafc1addf6a07854547d" integrity sha512-Z9FrZd+cqCiqB6r/EHb4evj8HUqMgPvi7RVBQhFHYOJ292K7XmnKprNTngTqiUclCFn5MFqeZv20Jo5ZzlOCqw== dependencies: ajv "8.12.0" @@ -922,13 +723,13 @@ "@types/istanbul-lib-report" "*" "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": - version "7.0.12" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/node@*": @@ -939,9 +740,9 @@ undici-types "~5.26.4" "@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== "@types/stack-utils@^2.0.0": version "2.0.3" @@ -962,7 +763,7 @@ "@typescript-eslint/experimental-utils@^2.5.0": version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== dependencies: "@types/json-schema" "^7.0.3" @@ -972,7 +773,7 @@ "@typescript-eslint/typescript-estree@2.34.0": version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== dependencies: debug "^4.1.1" @@ -985,39 +786,39 @@ acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== adm-zip@^0.4.16: version "0.4.16" - resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== agent-base@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== dependencies: es6-promisify "^5.0.0" ajv-draft-04@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz#3b64761b268ba0b9e668f0b41ba53fce0ad77fc8" integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== ajv-keywords@^3.5.2: version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@8.12.0, ajv@^8.0.1: +ajv@8.12.0: version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" @@ -1025,19 +826,9 @@ ajv@8.12.0, ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@^6.10.0: - version "6.10.2" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -1045,6 +836,16 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" + integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== + dependencies: + fast-deep-equal "^3.1.3" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.4.1" + ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1052,7 +853,7 @@ ansi-colors@4.1.1: ansi-colors@^4.1.1: version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== ansi-escapes@^4.2.1: @@ -1064,24 +865,24 @@ ansi-escapes@^4.2.1: ansi-regex@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" @@ -1101,75 +902,80 @@ anymatch@^3.0.3, anymatch@~3.1.2: argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bind "^1.0.5" + is-array-buffer "^3.0.4" array-includes@^3.1.1: - version "3.1.6" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" is-string "^1.0.7" array.prototype.flat@^1.2.3: - version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -arraybuffer.prototype.slice@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz" - integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== async-limiter@~1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" babel-eslint@^10.1.0: version "10.1.0" - resolved "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== dependencies: "@babel/code-frame" "^7.0.0" @@ -1241,12 +1047,12 @@ babel-preset-jest@^29.6.3: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== big.js@^5.2.2: version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: @@ -1256,7 +1062,7 @@ binary-extensions@^2.0.0: brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -1271,7 +1077,7 @@ brace-expansion@^2.0.1: braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" @@ -1281,16 +1087,6 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.21.9: - version "4.21.10" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz" - integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== - dependencies: - caniuse-lite "^1.0.30001517" - electron-to-chromium "^1.4.477" - node-releases "^2.0.13" - update-browserslist-db "^1.0.11" - browserslist@^4.22.2: version "4.23.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" @@ -1310,25 +1106,28 @@ bser@2.1.1: buffer-crc32@~0.2.3: version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase@^5.3.1: @@ -1341,11 +1140,6 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001517: - version "1.0.30001521" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz" - integrity sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ== - caniuse-lite@^1.0.30001587: version "1.0.30001620" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz#78bb6f35b8fe315b96b8590597094145d0b146b4" @@ -1353,7 +1147,7 @@ caniuse-lite@^1.0.30001587: chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -1362,7 +1156,7 @@ chalk@^2.4.1, chalk@^2.4.2: chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -1390,7 +1184,7 @@ chokidar@3.5.3: ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: @@ -1405,14 +1199,14 @@ cjs-module-lexer@^1.0.0: clean-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== dependencies: escape-string-regexp "^1.0.5" cli-cursor@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== dependencies: restore-cursor "^2.0.0" @@ -1447,31 +1241,31 @@ collect-v8-coverage@^1.0.0: color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== commander@^2.19.0: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^5.1.0: @@ -1481,17 +1275,17 @@ commander@^5.1.0: commondir@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.6.2: version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + 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" @@ -1501,19 +1295,14 @@ concat-stream@^1.6.2: consola@^2.11.3: version "2.15.3" - resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== contains-path@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg== -convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -1521,7 +1310,7 @@ convert-source-map@^2.0.0: convert-svg-core@^0.5.0: version "0.5.0" - resolved "https://registry.npmjs.org/convert-svg-core/-/convert-svg-core-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/convert-svg-core/-/convert-svg-core-0.5.0.tgz#e0f05a1774a588d664f5a070fc74ef4a1c448ee6" integrity sha512-V30vm5h4sHjmjyAr7o/gYAEmdEIsi0sLKKbDigSxplovCzMHTERXSikIOgA8xSllHh0c4gHYP55Pxwgtu9O+3w== dependencies: chalk "^2.4.1" @@ -1537,19 +1326,19 @@ convert-svg-core@^0.5.0: convert-svg-to-png@^0.5.0: version "0.5.0" - resolved "https://registry.npmjs.org/convert-svg-to-png/-/convert-svg-to-png-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/convert-svg-to-png/-/convert-svg-to-png-0.5.0.tgz#51a6061ef3da206bc01a96a7617a4d42f9fe1159" integrity sha512-Pzg2IEirPdN/VXovG9NY8H5Ww3PUEohMcyu9a11E0G0/oVcbPLWQYE3/S6mxpjidqzYr1i5iKLTKCiU9hctKFQ== dependencies: convert-svg-core "^0.5.0" core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@8.1.3: version "8.1.3" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== dependencies: import-fresh "^3.2.1" @@ -1572,7 +1361,7 @@ create-jest@^29.7.0: cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -1604,23 +1393,50 @@ csv@^6.2.2: csv-stringify "^6.5.0" stream-transform "^3.3.2" +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" debug@^2.6.9: version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.1.0, debug@^3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" @@ -1637,7 +1453,7 @@ dedent@^1.0.0: deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: @@ -1645,11 +1461,21 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: + define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" @@ -1670,12 +1496,12 @@ diff@5.0.0: diff@5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== doctrine@1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" integrity sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg== dependencies: esutils "^2.0.2" @@ -1683,16 +1509,11 @@ doctrine@1.5.0: doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" -electron-to-chromium@^1.4.477: - version "1.4.495" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz" - integrity sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q== - electron-to-chromium@^1.4.668: version "1.4.775" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.775.tgz#176e9cc439b76a4c768f44c821eaedd32d055503" @@ -1705,17 +1526,17 @@ emittery@^0.13.1: emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== enquirer@^2.3.5: version "2.4.1" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== dependencies: ansi-colors "^4.1.1" @@ -1728,75 +1549,101 @@ entities@^4.4.0: error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.22.1" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz" - integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.1" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.1" - get-symbol-description "^1.0.0" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" globalthis "^1.0.3" gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" is-callable "^1.2.7" - is-negative-zero "^2.0.2" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" + is-shared-array-buffer "^1.0.3" is-string "^1.0.7" - is-typed-array "^1.1.10" + is-typed-array "^1.1.13" is-weakref "^1.0.2" - object-inspect "^1.12.3" + object-inspect "^1.13.1" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.0" - safe-array-concat "^1.0.0" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" unbox-primitive "^1.0.2" - which-typed-array "^1.1.10" + which-typed-array "^1.1.15" -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" + get-intrinsic "^1.2.4" -es-shim-unscopables@^1.0.0: +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== dependencies: - has "^1.0.3" + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -1805,34 +1652,29 @@ es-to-primitive@^1.2.1: es6-promise@^4.0.3: version "4.2.8" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== es6-promisify@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== dependencies: es6-promise "^4.0.3" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escalade@^3.1.2: +escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: @@ -1842,7 +1684,7 @@ escape-string-regexp@^2.0.0: eslint-ast-utils@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz#3d58ba557801cfb1c941d68131ee9f8c34bd1586" integrity sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA== dependencies: lodash.get "^4.4.2" @@ -1850,19 +1692,19 @@ eslint-ast-utils@^1.1.0: eslint-config-prettier@^6.15.0: version "6.15.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== dependencies: get-stdin "^6.0.0" eslint-config-standard@^14.1.1: version "14.1.1" - resolved "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea" integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg== eslint-import-resolver-node@^0.3.3: version "0.3.9" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" @@ -1871,7 +1713,7 @@ eslint-import-resolver-node@^0.3.3: eslint-loader@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-4.0.2.tgz#386a1e21bcb613b3cf2d252a3b708023ccfb41ec" integrity sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw== dependencies: find-cache-dir "^3.3.1" @@ -1881,15 +1723,15 @@ eslint-loader@^4.0.2: schema-utils "^2.6.5" eslint-module-utils@^2.6.0: - version "2.8.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + version "2.8.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== dependencies: debug "^3.2.7" eslint-plugin-es@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== dependencies: eslint-utils "^2.0.0" @@ -1897,7 +1739,7 @@ eslint-plugin-es@^3.0.0: eslint-plugin-import@2.22.0: version "2.22.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e" integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg== dependencies: array-includes "^3.1.1" @@ -1916,14 +1758,14 @@ eslint-plugin-import@2.22.0: eslint-plugin-jest@^23.18.2: version "23.20.0" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz#e1d69c75f639e99d836642453c4e75ed22da4099" integrity sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw== dependencies: "@typescript-eslint/experimental-utils" "^2.5.0" eslint-plugin-json@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-json/-/eslint-plugin-json-2.1.2.tgz#5bc1c221984583c0c5ff21c488386e8263a6bbb7" integrity sha512-isM/fsUxS4wN1+nLsWoV5T4gLgBQnsql3nMTr8u+cEls1bL8rRQO5CP5GtxJxaOfbcKqnz401styw+H/P+e78Q== dependencies: lodash "^4.17.19" @@ -1931,7 +1773,7 @@ eslint-plugin-json@^2.1.2: eslint-plugin-node@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== dependencies: eslint-plugin-es "^3.0.0" @@ -1943,33 +1785,33 @@ eslint-plugin-node@^11.1.0: eslint-plugin-nuxt@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-nuxt/-/eslint-plugin-nuxt-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-nuxt/-/eslint-plugin-nuxt-1.0.0.tgz#68a5da64ab780e9752fbccd7a0bb609c3d900b9f" integrity sha512-/wStWT367UXimakvNkYmG66dlP+O4CIEDS7Kg8BrwSlLX/ubQRZowVT3oJqspJJvR6jqJPMdGym5PBYd5iE+xg== dependencies: eslint-plugin-vue "^6.2.2" semver "^7.3.2" vue-eslint-parser "^7.0.0" -eslint-plugin-prettier@^3.1.4: +eslint-plugin-prettier@^3.4.1: version "3.4.1" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== dependencies: prettier-linter-helpers "^1.0.0" eslint-plugin-promise@^4.2.1: version "4.3.1" - resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== eslint-plugin-standard@^4.0.1: version "4.1.0" - resolved "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz#0c3bf3a67e853f8bbbc580fb4945fbf16f41b7c5" integrity sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ== eslint-plugin-unicorn@^21.0.0: version "21.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-21.0.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-21.0.0.tgz#7e3a8b0f725f003619e1f40d769939ecd8d708d0" integrity sha512-S8v7+v4gZTQPj4pKKvexhgSUaLQSyItvxW2SVZDaX9Iu5IjlAmF2eni+L6w8a2aqshxgU8Lle4FIAVDtuejSKQ== dependencies: ci-info "^2.0.0" @@ -1988,7 +1830,7 @@ eslint-plugin-unicorn@^21.0.0: eslint-plugin-vue@^6.2.2: version "6.2.2" - resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe" integrity sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ== dependencies: natural-compare "^1.4.0" @@ -1997,7 +1839,7 @@ eslint-plugin-vue@^6.2.2: eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -2005,7 +1847,7 @@ eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: eslint-template-visitor@^2.0.0: version "2.3.2" - resolved "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz#b52f96ff311e773a345d79053ccc78275bbc463d" integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA== dependencies: "@babel/core" "^7.12.16" @@ -2016,24 +1858,24 @@ eslint-template-visitor@^2.0.0: eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@^7.13.0: +eslint@^7.32.0: version "7.32.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" @@ -2079,7 +1921,7 @@ eslint@^7.13.0: espree@^6.2.1: version "6.2.1" - resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== dependencies: acorn "^7.1.1" @@ -2088,7 +1930,7 @@ espree@^6.2.1: espree@^7.3.0, espree@^7.3.1: version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" @@ -2097,36 +1939,36 @@ espree@^7.3.0, espree@^7.3.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.3.1, esquery@^1.4.0: version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== execa@^5.0.0: @@ -2162,7 +2004,7 @@ expect@^29.7.0: extract-zip@^1.6.6: version "1.7.0" - resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== dependencies: concat-stream "^1.6.2" @@ -2170,24 +2012,19 @@ extract-zip@^1.6.6: mkdirp "^0.5.4" yauzl "^2.10.0" -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" - integrity sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: version "1.3.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== fast-glob@3.2.12: version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + 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" @@ -2198,18 +2035,18 @@ fast-glob@3.2.12: fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.17.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz" - integrity sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w== + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" @@ -2222,33 +2059,33 @@ fb-watchman@^2.0.0: fd-slicer@~1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: pend "~1.2.0" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" file-url@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/file-url/-/file-url-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/file-url/-/file-url-2.0.2.tgz#e951784d79095127d3713029ab063f40818ca2ae" integrity sha512-x3989K8a1jM6vulMigE8VngH7C5nci0Ks5d9kVjUXmNF28gmiZUNujk5HjwaS8dAzN2QmUfX56riJKgN00dNRw== fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-cache-dir@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + 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" @@ -2265,25 +2102,26 @@ find-up@5.0.0: find-up@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" path-exists "^4.0.0" flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: - flatted "^3.1.0" + flatted "^3.2.9" + keyv "^4.5.3" rimraf "^3.0.2" flat@^5.0.2: @@ -2291,21 +2129,21 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" fs-extra@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: graceful-fs "^4.2.0" @@ -2314,7 +2152,7 @@ fs-extra@^8.1.0: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.3.2, fsevents@~2.3.2: @@ -2322,34 +2160,34 @@ fsevents@^2.3.2, fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== -functions-have-names@^1.2.2, functions-have-names@^1.2.3: +functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.5: @@ -2357,15 +2195,16 @@ 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.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + es-errors "^1.3.0" + function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-package-type@^0.1.0: version "0.1.0" @@ -2374,7 +2213,7 @@ get-package-type@^0.1.0: get-stdin@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== get-stream@^6.0.0: @@ -2382,17 +2221,18 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -2410,7 +2250,7 @@ glob@8.1.0: glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -2422,80 +2262,86 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.21.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz" - integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" gopd@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.1.1" + es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: - has-symbols "^1.0.2" + has-symbols "^1.0.3" has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: - function-bind "^1.1.1" + function-bind "^1.1.2" he@1.2.0: version "1.2.0" @@ -2504,7 +2350,7 @@ he@1.2.0: hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== html-escaper@^2.0.0: @@ -2514,7 +2360,7 @@ html-escaper@^2.0.0: https-proxy-agent@^2.2.1: version "2.2.4" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== dependencies: agent-base "^4.3.0" @@ -2527,17 +2373,17 @@ human-signals@^2.1.0: ignore@^4.0.6: version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.1.1: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + 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" @@ -2553,17 +2399,17 @@ import-local@^3.0.2: import-modules@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/import-modules/-/import-modules-2.1.0.tgz#abe7df297cb6c1f19b57246eb8b8bd9664b6d8c2" integrity sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -2571,35 +2417,34 @@ inflight@^1.0.4: inherits@2, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" + es-errors "^1.3.0" + hasown "^2.0.0" side-channel "^1.0.4" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" + get-intrinsic "^1.2.1" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" @@ -2613,7 +2458,7 @@ is-binary-path@~2.1.0: is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + 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.2" @@ -2621,36 +2466,43 @@ is-boolean-object@^1.1.0: is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.13.0: - version "2.13.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" is-date-object@^1.0.1: version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + 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-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-fn@^2.0.0: @@ -2660,26 +2512,26 @@ is-generator-fn@^2.0.0: is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + 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@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-plain-obj@^2.1.0: @@ -2689,18 +2541,18 @@ is-plain-obj@^2.1.0: is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-stream@^2.0.0: version "2.0.1" @@ -2709,24 +2561,24 @@ is-stream@^2.0.0: is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: - which-typed-array "^1.1.11" + which-typed-array "^1.1.14" is-unicode-supported@^0.1.0: version "0.1.0" @@ -2735,24 +2587,24 @@ is-unicode-supported@^0.1.0: is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: @@ -3168,19 +3020,19 @@ jest@^29.7.0: js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -3188,53 +3040,65 @@ js-yaml@^3.13.1: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + 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== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: +json5@^2.1.2, json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonc-parser@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" @@ -3247,7 +3111,7 @@ leven@^3.1.0: levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -3255,12 +3119,12 @@ levn@^0.4.1: lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== load-json-file@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" integrity sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ== dependencies: graceful-fs "^4.1.2" @@ -3270,7 +3134,7 @@ load-json-file@^2.0.0: loader-utils@^2.0.0: version "2.0.4" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" @@ -3279,7 +3143,7 @@ loader-utils@^2.0.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" @@ -3287,7 +3151,7 @@ locate-path@^2.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" @@ -3301,37 +3165,37 @@ locate-path@^6.0.0: lodash.get@^4.4.2: version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash.omit@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== lodash.pick@^4.4.0: version "4.4.0" - resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== lodash.truncate@^4.4.2: version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== lodash.zip@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" integrity sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg== lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@4.1.0: @@ -3344,21 +3208,14 @@ log-symbols@4.1.0: lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + 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.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - make-dir@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" @@ -3384,12 +3241,12 @@ merge-stream@^2.0.0: merge2@^1.3.0: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -3397,12 +3254,12 @@ micromatch@^4.0.4: mime@^2.0.3: version "2.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== mimic-fn@^2.1.0: @@ -3419,7 +3276,7 @@ minimatch@5.0.1: minimatch@^3.0.4, minimatch@^3.1.1: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" @@ -3433,12 +3290,12 @@ minimatch@^5.0.1: minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mkdirp@^0.5.4: version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" @@ -3471,27 +3328,27 @@ mocha@^10.1.0: ms@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3: +ms@2.1.3, ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multimap@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/multimap/-/multimap-1.1.0.tgz#5263febc085a1791c33b59bb3afc6a76a2a10ca8" integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== node-int64@^0.4.0: @@ -3499,11 +3356,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== - node-releases@^2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" @@ -3511,7 +3363,7 @@ node-releases@^2.0.14: normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -3533,48 +3385,48 @@ npm-run-path@^4.0.1: object-hash@^2.0.3: version "2.2.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== +object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" + call-bind "^1.0.5" + define-properties "^1.2.1" has-symbols "^1.0.3" object-keys "^1.1.1" object.values@^1.1.1: - version "1.1.6" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== dependencies: mimic-fn "^1.0.0" @@ -3587,32 +3439,32 @@ onetime@^5.1.2: mimic-fn "^2.1.0" optionator@^0.9.1: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" @@ -3626,14 +3478,14 @@ p-limit@^3.0.2, p-limit@^3.1.0: p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" @@ -3647,31 +3499,31 @@ p-locate@^5.0.0: p-try@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== dependencies: error-ex "^1.2.0" parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -3681,64 +3533,59 @@ parse-json@^5.0.0, parse-json@^5.2.0: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-type@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" integrity sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ== dependencies: pify "^2.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pend@~1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picocolors@^1.0.1: +picocolors@^1.0.0, picocolors@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pirates@^4.0.4: @@ -3748,36 +3595,41 @@ pirates@^4.0.4: pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pluralize@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== pollock@^0.2.0: version "0.2.1" - resolved "https://registry.npmjs.org/pollock/-/pollock-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/pollock/-/pollock-0.2.1.tgz#01273ae3542511492d07f1c10fa53f149b37c6ad" integrity sha512-2Xy6LImSXm0ANKv9BKSVuCa6Z4ACbK7oUrl9gtUgqLkekL7n9C0mlWsOGYYuGbCG8xT0x3Q4F31C3ZMyVQjwsg== +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier-linter-helpers@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2" -prettier@^2.1.2: +prettier@^2.8.8: version "2.8.8" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== pretty-format@^29.7.0: @@ -3791,12 +3643,12 @@ pretty-format@^29.7.0: process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== progress@^2.0.0, progress@^2.0.1: version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prompts@^2.0.1: @@ -3809,17 +3661,17 @@ prompts@^2.0.1: proxy-from-env@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== puppeteer@^1.10.0: version "1.20.0" - resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38" integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== dependencies: debug "^4.1.0" @@ -3838,7 +3690,7 @@ pure-rand@^6.0.0: queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== randombytes@^2.1.0: @@ -3855,7 +3707,7 @@ react-is@^18.0.0: read-pkg-up@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" integrity sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w== dependencies: find-up "^2.0.0" @@ -3863,7 +3715,7 @@ read-pkg-up@^2.0.0: read-pkg-up@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" @@ -3872,7 +3724,7 @@ read-pkg-up@^7.0.1: read-pkg@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" integrity sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA== dependencies: load-json-file "^2.0.0" @@ -3881,7 +3733,7 @@ read-pkg@^2.0.0: read-pkg@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" @@ -3891,7 +3743,7 @@ read-pkg@^5.2.0: readable-stream@^2.2.2: version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" @@ -3911,21 +3763,22 @@ readdirp@~3.6.0: regexp-tree@^0.1.21, regexp-tree@~0.1.1: version "0.1.27" - resolved "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== -regexp.prototype.flags@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" regexpp@^3.0.0, regexpp@^3.1.0: version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== require-directory@^2.1.1: @@ -3935,12 +3788,12 @@ require-directory@^2.1.1: require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== reserved-words@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" integrity sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw== resolve-cwd@^3.0.0: @@ -3952,7 +3805,7 @@ resolve-cwd@^3.0.0: resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: @@ -3965,16 +3818,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.22.4: - version "1.22.4" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz" - integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.20.0: +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.20.0, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -3985,7 +3829,7 @@ resolve@^1.20.0: restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== dependencies: onetime "^2.0.0" @@ -3993,37 +3837,37 @@ restore-cursor@^2.0.0: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^2.6.1: version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + 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.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-array-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" + call-bind "^1.0.7" + get-intrinsic "^1.2.4" has-symbols "^1.0.3" isarray "^2.0.5" @@ -4034,21 +3878,21 @@ safe-buffer@^5.1.0: safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" + call-bind "^1.0.6" + es-errors "^1.3.0" is-regex "^1.1.4" safe-regex@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== dependencies: regexp-tree "~0.1.1" @@ -4060,7 +3904,7 @@ sax@>=0.6.0: schema-utils@^2.6.5: version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" @@ -4069,22 +3913,15 @@ schema-utils@^2.6.5: "semver@2 || 3 || 4 || 5", semver@^5.6.0: version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.2.1, semver@^7.3.2: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.5.3, semver@^7.5.4: +semver@^7.2.1, semver@^7.3.2, semver@^7.5.3, semver@^7.5.4: version "7.6.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== @@ -4096,30 +3933,53 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== sisteransi@^1.0.5: @@ -4134,7 +3994,7 @@ slash@^3.0.0: slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" @@ -4156,33 +4016,33 @@ source-map@^0.6.0, source-map@^0.6.1: spdx-correct@^3.0.0: version "3.2.0" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.13" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + version "3.0.17" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== stack-utils@^2.0.3: @@ -4207,7 +4067,7 @@ string-length@^4.0.1: string-width@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" @@ -4215,64 +4075,65 @@ string-width@^2.0.0: string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== dependencies: ansi-regex "^3.0.0" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-bom@^4.0.0: @@ -4287,7 +4148,7 @@ strip-final-newline@^2.0.0: strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@8.1.1, supports-color@^8.0.0: @@ -4299,27 +4160,27 @@ supports-color@8.1.1, supports-color@^8.0.0: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + 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" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== table@^6.0.9: - version "6.8.1" - resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + version "6.8.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" + integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== dependencies: ajv "^8.0.1" lodash.truncate "^4.4.2" @@ -4329,7 +4190,7 @@ table@^6.0.9: terminal-overwrite@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/terminal-overwrite/-/terminal-overwrite-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/terminal-overwrite/-/terminal-overwrite-2.0.1.tgz#c732aefeba38900667bf088b4f1b12edbee62841" integrity sha512-CP8KtcHQjSlKtaXIZTJt4I4II8oEdXyGJtx54gXVVys9plYIaK4ahiXPD6XxZ2efrqayH1B7uR/5Wr7N2cTgFA== dependencies: cli-cursor "^2.0.0" @@ -4346,12 +4207,12 @@ test-exclude@^6.0.0: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== tmp@0.0.33: version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" @@ -4363,20 +4224,20 @@ tmpl@1.0.5: to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" tsconfig-paths@^3.9.0: - version "3.14.2" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.2" @@ -4385,19 +4246,19 @@ tsconfig-paths@^3.9.0: tslib@^1.8.1: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tsutils@^3.17.1: version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" @@ -4409,7 +4270,7 @@ type-detect@4.0.8: type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.21.3: @@ -4419,61 +4280,66 @@ type-fest@^0.21.3: type-fest@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -4488,17 +4354,9 @@ undici-types@~5.26.4: universalify@^0.1.0: version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - update-browserslist-db@^1.0.13: version "1.0.16" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" @@ -4507,21 +4365,21 @@ update-browserslist-db@^1.0.13: escalade "^3.1.2" picocolors "^1.0.1" -uri-js@^4.2.2: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== v8-compile-cache@^2.0.3: version "2.4.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== v8-to-istanbul@^9.0.1: @@ -4535,7 +4393,7 @@ v8-to-istanbul@^9.0.1: validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -4543,7 +4401,7 @@ validate-npm-package-license@^3.0.1: vscode-json-languageservice@^3.7.0: version "3.11.0" - resolved "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.11.0.tgz" + resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.11.0.tgz#ad574b36c4346bd7830f1d34b5a5213d3af8d232" integrity sha512-QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA== dependencies: jsonc-parser "^3.0.0" @@ -4553,28 +4411,28 @@ vscode-json-languageservice@^3.7.0: vscode-uri "^2.1.2" vscode-languageserver-textdocument@^1.0.1: - version "1.0.8" - resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz" - integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q== + version "1.0.11" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" + integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== vscode-languageserver-types@3.16.0-next.2: version "3.16.0-next.2" - resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz#940bd15c992295a65eae8ab6b8568a1e8daa3083" integrity sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q== vscode-nls@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== vscode-uri@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.1.2.tgz#c8d40de93eb57af31f3c715dd650e2ca2c096f1c" integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A== vue-eslint-parser@^7.0.0: version "7.11.0" - resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== dependencies: debug "^4.1.1" @@ -4604,7 +4462,7 @@ walker@^1.0.8: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -4613,24 +4471,29 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-typed-array@^1.1.10, which-typed-array@^1.1.11: - version "1.1.11" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.0" + has-tostringtag "^1.0.2" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + workerpool@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" @@ -4647,7 +4510,7 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^4.0.2: @@ -4660,7 +4523,7 @@ write-file-atomic@^4.0.2: ws@^6.1.0: version "6.2.2" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" @@ -4685,14 +4548,9 @@ y18n@^5.0.5: yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + 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.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" @@ -4746,7 +4604,7 @@ yargs@^17.3.1: yauzl@^2.10.0: version "2.10.0" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: buffer-crc32 "~0.2.3" From 30012c960168c3573a6ab155919f2610dc63ce2c Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 01:57:39 +0200 Subject: [PATCH 034/135] extended linting --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 96316d32c..ac4da93e2 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" }, "scripts": { - "lint": "eslint src/**/*.{js,json} && jsonlint -jsV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -js --trim-trailing-commas --enforce-double-quotes ./src/categories.json", - "lint:fix": "eslint --fix src/**/*.{js,json} && jsonlint -isV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -is --trim-trailing-commas --enforce-double-quotes ./src/categories.json", + "lint": "eslint src/**/*.{js,json} tests/**/*.js bin/**/*.js && jsonlint -jsV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -js --trim-trailing-commas --enforce-double-quotes ./src/categories.json", + "lint:fix": "eslint --fix src/**/*.{js,json} tests/**/*.js bin/**/*.js && jsonlint -isV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -is --trim-trailing-commas --enforce-double-quotes ./src/categories.json", "validate": "yarn run lint && node ./bin/validate.js", "test": "jest", "convert": "node --no-warnings ./bin/convert.js", From a8f9ffe04b424ef60fa34290b5ec4e4e3ba9445b Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 22:36:46 +0200 Subject: [PATCH 035/135] corrected test condition --- tests/unit-tests.test.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js index 9a00a43d4..0f9cc38a8 100644 --- a/tests/unit-tests.test.js +++ b/tests/unit-tests.test.js @@ -5,8 +5,10 @@ const testWebsite = 'https://almanac.httparchive.org/en/2022/' let responseData beforeAll(async () => { responseData = await runWPTTest(testWebsite) + firstView = responseData.data.runs['1'].firstView }, 400000) test('wappalyzer successful', () => { - assert.ok(responseData.runs['1'].firstView.wappalyzer_failed === 0) + assert(firstView.wappalyzer_failed === undefined, 'wappalyzer_failed key is present') + assert(Object.keys(firstView.detected_technologies).length > 1, 'number of technologies detected <=1') }) From 9a747dde856790ab32b54723a743ead10b786c9e Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 22:40:53 +0200 Subject: [PATCH 036/135] lint --- tests/unit-tests.test.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js index 0f9cc38a8..36dde1dee 100644 --- a/tests/unit-tests.test.js +++ b/tests/unit-tests.test.js @@ -2,13 +2,19 @@ const assert = require('assert') const { runWPTTest } = require('./wpt.js') const testWebsite = 'https://almanac.httparchive.org/en/2022/' -let responseData +let responseData, firstView beforeAll(async () => { responseData = await runWPTTest(testWebsite) firstView = responseData.data.runs['1'].firstView }, 400000) test('wappalyzer successful', () => { - assert(firstView.wappalyzer_failed === undefined, 'wappalyzer_failed key is present') - assert(Object.keys(firstView.detected_technologies).length > 1, 'number of technologies detected <=1') + assert( + firstView.wappalyzer_failed === undefined, + 'wappalyzer_failed key is present' + ) + assert( + Object.keys(firstView.detected_technologies).length > 1, + 'number of technologies detected <=1' + ) }) From 73ba261f5100282b05c8746d2d8f134c1fad7e0f Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 22:45:41 +0200 Subject: [PATCH 037/135] path fix --- tests/unit-tests.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js index 36dde1dee..4a0380d99 100644 --- a/tests/unit-tests.test.js +++ b/tests/unit-tests.test.js @@ -5,7 +5,7 @@ const testWebsite = 'https://almanac.httparchive.org/en/2022/' let responseData, firstView beforeAll(async () => { responseData = await runWPTTest(testWebsite) - firstView = responseData.data.runs['1'].firstView + firstView = responseData.runs['1'].firstView }, 400000) test('wappalyzer successful', () => { From 24330ba6194dee078d720895c64497dbdf07871d Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 23:01:25 +0200 Subject: [PATCH 038/135] conditioned workflow step and test descriptions --- .github/workflows/test.yml | 4 +++- tests/wpt.js | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fc7f6b3ff..7315546f4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,7 @@ jobs: run: yarn run validate - name: Run WebPageTest with unit tests + id: unit-test env: WPT_SERVER: "webpagetest.httparchive.org" WPT_API_KEY: ${{ secrets.HA_API_KEY }} @@ -39,6 +40,7 @@ jobs: echo "::endgroup::" - name: Run WebPageTest for more websites + id: wpt-test env: WPT_SERVER: "webpagetest.httparchive.org" WPT_API_KEY: ${{ secrets.HA_API_KEY }} @@ -89,7 +91,7 @@ jobs: - name: Add comment with results uses: mshick/add-pr-comment@v2 - if: always() + if: steps.unit-test.outcome == 'success' || steps.wpt-test.outcome == 'success' with: refresh-message-position: true message-path: test-results.md diff --git a/tests/wpt.js b/tests/wpt.js index 8df450383..2b046ffb1 100644 --- a/tests/wpt.js +++ b/tests/wpt.js @@ -13,7 +13,7 @@ const wpt = new WebPageTest(wptServer, wptApiKey) * Runs a WebPageTest (WPT) test for a given URL. * * @param {string} url - The URL to run the test on. - * @returns {Promise} A promise that resolves with an object containing the custom metrics. + * @returns {Promise} A promise that resolves with a test result JSON. * @throws {Error} If the test run fails or the response status code is not 200. */ function runWPTTest(url) { @@ -35,10 +35,10 @@ function runWPTTest(url) { fs.appendFileSync( 'test-results.md', '
\n' + - `Custom metrics for ${url}\n\n` + + `Technologies for ${url}\n\n` + `WPT test run results: ${response.data.summary}\n` + (isDirectRun - ? 'Changed custom metrics values:\n' + + ? 'Detected technologies:\n' + `\`\`\`json\n${JSON.stringify(technologies, null, 4)}\n\`\`\`\n` : '') + '
\n' From 9ba13687631d53f9064b9cef70e206afca38c3b2 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 23:21:24 +0200 Subject: [PATCH 039/135] technology lists test --- tests/unit-tests.test.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js index 4a0380d99..659693a07 100644 --- a/tests/unit-tests.test.js +++ b/tests/unit-tests.test.js @@ -14,7 +14,14 @@ test('wappalyzer successful', () => { 'wappalyzer_failed key is present' ) assert( - Object.keys(firstView.detected_technologies).length > 1, + typeof firstView.detected === 'object' && + typeof firstView.detected_apps === 'object' && + typeof firstView.detected_technologies === 'object' && + typeof firstView.detected_raw === 'object', + 'not all technology lists are present' + ) + assert( + firstView.detected_raw.length > 1, 'number of technologies detected <=1' ) }) From 30ec3c7fe8a393ef16708a7b329c0d052464c2f6 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 23:23:35 +0200 Subject: [PATCH 040/135] lint --- tests/unit-tests.test.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js index 659693a07..df82ba83d 100644 --- a/tests/unit-tests.test.js +++ b/tests/unit-tests.test.js @@ -15,9 +15,9 @@ test('wappalyzer successful', () => { ) assert( typeof firstView.detected === 'object' && - typeof firstView.detected_apps === 'object' && - typeof firstView.detected_technologies === 'object' && - typeof firstView.detected_raw === 'object', + typeof firstView.detected_apps === 'object' && + typeof firstView.detected_technologies === 'object' && + typeof firstView.detected_raw === 'object', 'not all technology lists are present' ) assert( From f89b253304294beb1ef5b2ed5e3bfb4c58594a47 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 23:29:34 +0200 Subject: [PATCH 041/135] descriptions --- tests/wpt.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/wpt.js b/tests/wpt.js index 2b046ffb1..f0e8ebf56 100644 --- a/tests/wpt.js +++ b/tests/wpt.js @@ -35,8 +35,8 @@ function runWPTTest(url) { fs.appendFileSync( 'test-results.md', '
\n' + - `Technologies for ${url}\n\n` + - `WPT test run results: ${response.data.summary}\n` + + `WPT test run for ${url}\n\n` + + `Results: ${response.data.summary}\n` + (isDirectRun ? 'Detected technologies:\n' + `\`\`\`json\n${JSON.stringify(technologies, null, 4)}\n\`\`\`\n` From b530f2e80a33d42a5996111f138d5a73b9d6be2b Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 23:53:25 +0200 Subject: [PATCH 042/135] repo name update --- .github/ISSUE_TEMPLATE/technology-request.md | 2 +- CONTRIBUTING.md | 20 ++++++++------------ README.md | 12 ++++++------ src/technologies/j.json | 2 +- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/technology-request.md b/.github/ISSUE_TEMPLATE/technology-request.md index e2c4aa1bf..da6658569 100644 --- a/.github/ISSUE_TEMPLATE/technology-request.md +++ b/.github/ISSUE_TEMPLATE/technology-request.md @@ -7,4 +7,4 @@ assignees: '' --- -You may request a new technology to be added but chances of having it included are greatly improved if you submit a pull request. Please refer to the [contributing guide](https://github.com/AliasIO/wappalyzer/blob/master/CONTRIBUTING.md). +You may request a new technology to be added but chances of having it included are greatly improved if you submit a pull request. Please refer to the [contributing guide](https://github.com/HTTPArchive/wappalyzer/blob/main/CONTRIBUTING.md). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 561c402b2..8f624407a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,10 @@ # Contributing -Wappalyzer is an [GPLv3 licensed](https://github.com/wappalyzer/wappalyzer/blob/master/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute. +Wappalyzer is an [GPLv3 licensed](https://github.com/HTTPArchive/wappalyzer/blob/main/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute. ## Getting started -To get started, see the [README](https://github.com/wappalyzer/wappalyzer/blob/master/README.md). +To get started, see the [README](https://github.com/HTTPArchive/wappalyzer/blob/main/README.md). ## Submitting changes @@ -15,23 +15,19 @@ To get started, see the [README](https://github.com/wappalyzer/wappalyzer/blob/m ## Adding a new technology -Wappalyzer uses [regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) to fingerprint technologies. Refer to the [specification](https://github.com/wappalyzer/wappalyzer/blob/master/README.md#specification) for detail. +Wappalyzer uses [regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) to fingerprint technologies. Refer to the [specification](https://github.com/HTTPArchive/wappalyzer/blob/main/README.md#specification) for detail. -- Add a new block to [`src/technologies/*.json`](https://github.com/wappalyzer/wappalyzer/blob/master/src/technologies). The filename should match the first letter of the technology name (a-z). Use `_.json` if the first character is a number or symbol. -- Add an icon to [`src/images/icons`](https://github.com/wappalyzer/wappalyzer/tree/master/src/images/icons). The image must be square, either SVG or PNG (32 x 32 pixels). +- Add a new block to [`src/technologies/*.json`](https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies). The filename should match the first letter of the technology name (a-z). Use `_.json` if the first character is a number or symbol. +- Add an icon to [`src/images/icons`](https://github.com/HTTPArchive/wappalyzer/tree/master/src/images/icons). The image must be square, either SVG or PNG (32 x 32 pixels). Only widely used technologies are accepted. When creating a pull request, include ten or more links to websites that use the application, a GitHub page with at least 1,000 stars or anything that will help establish the size of the user base. ## Adding a new category -Please [open an issue on GitHub](https://github.com/wappalyzer/wappalyzer/issues) first to discuss the need for a new category. +Please [open an issue on GitHub](https://github.com/HTTPArchive/wappalyzer/issues) first to discuss the need for a new category. -To add a category, edit [`src/categories.json`](https://github.com/wappalyzer/wappalyzer/blob/master/src/categories.json) and update every [locale](https://github.com/wappalyzer/wappalyzer/tree/master/src/_locales). You may use the English category name in all of them. - -## Adding a new translation - -To add a new translation, copy the `en` folder in [`src/_locales`](https://github.com/wappalyzer/wappalyzer/tree/master/src/_locales), rename it to the relevant two-letter country code and update the containing `messages.json` file. +To add a category, edit [`src/categories.json`](https://github.com/HTTPArchive/wappalyzer/blob/main/src/categories.json) and update every [locale](https://github.com/HTTPArchive/wappalyzer/tree/master/src/_locales). You may use the English category name in all of them. ## Adding a new feature -Please [open an issue on GitHub](https://github.com/wappalyzer/wappalyzer/issues) first. New features and large changes are rarely accepted without prior discussion. +Please [open an issue on GitHub](https://github.com/HTTPArchive/wappalyzer/issues) first. New features and large changes are rarely accepted without prior discussion. diff --git a/README.md b/README.md index e307ddf9d..6bd8a851e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Validate](https://github.com/wappalyzer/wappalyzer/actions/workflows/validate.yml/badge.svg)](https://github.com/wappalyzer/wappalyzer/actions/workflows/validate.yml) +[![Validate](https://github.com/HTTPArchive/wappalyzer/actions/workflows/validate.yml/badge.svg)](https://github.com/HTTPArchive/wappalyzer/actions/workflows/validate.yml) [![Github Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/AliasIO)](https://github.com/sponsors/AliasIO) Wappalyzer @@ -18,7 +18,7 @@ ## Quick start ```sh -git clone https://github.com/wappalyzer/wappalyzer.git +git clone https://github.com/HTTPArchive/wappalyzer.git cd wappalyzer yarn install ``` @@ -27,7 +27,7 @@ yarn install ### Chrome extension -- Go to `about:extensions` +- Go to `chrome:extensions` - Enable 'Developer mode' - Click 'Load unpacked' - Select `src` @@ -42,9 +42,9 @@ yarn install A long list of [regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) is used to identify technologies on web pages. Wappalyzer inspects HTML code, as well as JavaScript variables, response headers and more. -Patterns (regular expressions) are kept in [`src/technologies/`](https://github.com/wappalyzer/wappalyzer/blob/master/src/technologies). The following is an example of an application fingerprint. +Patterns (regular expressions) are kept in [`src/technologies/`](https://github.com/HTTPArchive/wappalyzer/tree/main/src/technologies). The following is an example of an application fingerprint. -#### Example +### Example ```json "Example": { @@ -104,7 +104,7 @@ Patterns (regular expressions) are kept in [`src/technologies/`](https://github. ## JSON fields -Find the JSON schema at [`schema.json`](https://github.com/wappalyzer/wappalyzer/blob/master/schema.json). +Find the JSON schema at [`schema.json`](https://github.com/HTTPArchive/wappalyzer/blob/main/schema.json). ### Required properties diff --git a/src/technologies/j.json b/src/technologies/j.json index 422ba7e7a..a633a8982 100644 --- a/src/technologies/j.json +++ b/src/technologies/j.json @@ -1012,4 +1012,4 @@ "website": "https://www.jsdelivr.com/", "xhr": "cdn\\.jsdelivr\\.net" } -} \ No newline at end of file +} From 6f0a00b173aa298449947160a7dc2d223614dc2d Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 21 May 2024 23:53:40 +0200 Subject: [PATCH 043/135] PandaCSS icon --- src/{drivers/webextension => }/images/icons/PandaCSS.svg | 0 src/technologies/p.json | 1 + 2 files changed, 1 insertion(+) rename src/{drivers/webextension => }/images/icons/PandaCSS.svg (100%) diff --git a/src/drivers/webextension/images/icons/PandaCSS.svg b/src/images/icons/PandaCSS.svg similarity index 100% rename from src/drivers/webextension/images/icons/PandaCSS.svg rename to src/images/icons/PandaCSS.svg diff --git a/src/technologies/p.json b/src/technologies/p.json index 2b0beffd7..6e5f82707 100644 --- a/src/technologies/p.json +++ b/src/technologies/p.json @@ -399,6 +399,7 @@ ], "css": "--made-with-panda", "description": "Panda is a styling engine that generates styling primitives to author atomic CSS and recipes in a type-safe and readable manner.", + "icon": "PandaCSS.svg", "oss": true, "website": "https://panda-css.com/" }, From e330cbf7f148e03e4757b171f9bc6fb1572f1d28 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Wed, 22 May 2024 01:01:58 +0200 Subject: [PATCH 044/135] eyeota --- .github/workflows/test.yml | 2 +- src/images/icons/ADEX.png | Bin 3021 -> 0 bytes src/images/icons/eyeota.png | Bin 0 -> 23334 bytes src/technologies/a.json | 12 ------------ src/technologies/e.json | 12 +++++++++++- 5 files changed, 12 insertions(+), 14 deletions(-) delete mode 100644 src/images/icons/ADEX.png create mode 100644 src/images/icons/eyeota.png diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7315546f4..c6ad1c74f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -81,7 +81,7 @@ jobs: # Run WebPageTest for each URL for TEST_WEBSITE in "${URLS[@]}"; do - echo "::group::Detecting technologies for $TEST_WEBSITE" + echo "::group::Running WPT test for $TEST_WEBSITE" node tests/wpt.js "$TEST_WEBSITE" echo "::endgroup::" done diff --git a/src/images/icons/ADEX.png b/src/images/icons/ADEX.png deleted file mode 100644 index e240e342ba32a7c6409bff897cb7006e8d6349d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3021 zcmYjTc|4R|8$OoAShABX>)0D(%QE(LEE7WvA!ATkqLd{qFJB06357%vr8G2?q>}7e z2IUn+(SnpUW8c5?ynTOszu%d8p68tVzOL)O?)#bFq`DC7cu^84001xE-kJ!nImm~T z4SsWfNq7eU8*p)Qx3PjMK@VB!R{O~HOcB+&>Dj2)02Q)i%}4Kxe@#t2vtfw>EEy59)7f#5I; zVw$-C9W!JT=Ll4F0Nw}Kk`Qn!cO+QP3g}w_T}vRZ4jgcAx-r zSD>JdguxUD2$et(hzS{?5-1y*qiKLxr>=*HSJXr_zy(2IIy{1O&?4v?tQuMb#lR{K zSR?L1SSSpl!7wP^$_-e$AqWr$B0%f#hk^ZJV0{SKc_A`jX%GsU^QRXO2eLy17yu*x zu)}mn4V{Dq!d$qC#sE20po9UIL_`v#fZ`EwA7tOg^WW3`NHBCBx&d?HDa3?{a0kXi zcBTD@Cx5{I^bztx*)|?PSqo7M1;7^nX%n(8{2td;inLXHj*dS=N0qmVI;xKF#x^aH_5g}n-vX_8z1Q-7w5vZ3e(yz{%5de z<=Sv+>6iA_*+-*egU7lmCiFw zic{TH_uJ=Ql~-{PV3F)*MXAXySAHB=B1O*BJ+52vtC@S*I@3KvMkfH(n1jLSFBvcD zO;YTB6doRl-^&xaw`q_diJBTXzt~vmTN^$5Iqvt@#>YK{wXyR*drR6f_U+7e-q;uM z`T6;c+_Hl^v5P<7rtH~gwmmUeb#ZQZW9CQqzDmEk=$SI(m_q*v9hACpx8VcDU9IN3V|d881I;dS4;3 z&ucAiO2X7IF3XTAwD01}n5pKitSQM|uF3&#h4r!THK@lpZa5OULwYO^|hcvZHZ(A`(@t2YV z$%2y9f(cFE*n6GUb0S7=(Jxj;lgb?>Qr=eh*|mAdRH)eiKjGSpDi`(7+0{<=6+fC5 z&Skxa(Y%XMe@Vu}1@(;Ag6bKCjS;4Y(5!{&IGUqMfMH4M5=VM#0G*^E`oD`N>7g$( zUTxHQDN;5d@ae?0V2v*Ytuy^4Zc&RKHbK@$P&CUYrIrcHU(+@1nC>JdR^BIqvqkkh z?;D31<(5VEwku^V%!h5VjW_2ji%HoUOFQE9{}i-HD6x{ikv) z@_aG{FT1l9dyti}6z;|;Qhz{Uk3jSD6S(ir*K1F*>HWC+?1P70__XRw&8ezOwCO{H#lyvHdJM+7--02Z8s-VI zacg$j;r^L#zN?G~Tb+p++J%0s$`TlpU-IoCcUpyNM7}!OJVYOTdO?Y%+s>Uk*!PYx zan_<-3++uJEHcB#gJkHJt_o28k!88Wh!!>sI9+}GW?jq8Z;MW*CczZicYA_q@3v-$ z8(q(t&8wB&`Q>0brqhnU1g(o?<-5fh8S^tt}bhO{9?k7bf>Jb#^j;+T?`{aOBD zZHdsF9si+6)t;$tlZ-*r-LtNpB?O59MxJWA%bB8ZWtn!*z)l_0n5f^V2-Cs16{hc!J0wwx| z;0w+`5NVg9lQ{nK!RNK>jc8q0RW@nsSsKeD%XP=bGk zLRFCfgMP%#s<|Ugk(T`Tbuext>CuYQss34vC5ZW z{Pun`63(1PH1EN(#9hC}P$mOB9#Un!i8pTbm){WB|3rZ{#^(~(o1jMbKEBt*%NudE~e-<@n9tFVf|? zG(1V%-I!3X}jN;)$z5s`z7|19`58{BZt!4u8HBz<5JZr4;m%PkJ57AWTg;I zwV`;`MpSPN9%^kkrMXMfF!GiziUvZ@SBk}{jC0?5x7zBFOi^N!^63$0x~QFIIcBMI zvCW^#?{XmMKJI!xPpwcsS!=*0Z`kDWiW%QMm4-=HMpkfkN4AY&ppClrrrgydEKOPK zDtmBjP3-F%7R?ydYSCXgm=EB^G4wL{=1*btj!Oq?HtRQ+tx4&>mwP=z zEqwMn_X?pzv5+HW?2M~z#*d#=ncJt9)Q6c@h0Ox-|bmS$?H4uR5*coQ-q{i4iW@ z-KE$<^Q(}XPTW3pjI4PFUnx4EEWcFzDCC}}x~4T(XjP|tQ{m*hMkc9$EbUZsZAs#I z!QEhG{Zn!Y)iFy!F~dOFocDRHGwu?9(1S!`F*MV`jp;P@nRz{~5M zzcqEde?~U~{X9n!#d>9N@4!sd(U6$Mq$*FeX9YzflrZxnO)zZRHWKXn&+7gIr|mrxMD%|G z^f2QGtNcO)IC7nE09Nuu0h?xLihcvv4!v+NC#EM7S~(nmk#sh~4ZX#dfwl?`Sm?UM zn~3RqAZcY`6|hn>NC@WI05YM#!Z;I>nEiv%Xql2mj^-T|#Sgj=@q)qnb^$q(Bt??j z=r3fwcK4X?2Fmhq;52}w*tTn>_*^cV!~frHw(0!GW79FjRu(soB)dxK>AU-%?1y*; z|3&md>{I_I06R-ca3EEoxp08KN}&2hA6?L8*Ps0_(6*^ti(-aSBghl+$R^MPpu#%{ zhR|h$lE9JW5|63_xIsrJ)3~Z;4b2Du3jmnTOuDRi48o&?{)B*jD~|{RrgO9cgn;5A zfuE%irZtA4e(4JNhF6>cO_r1pHkuSuEcmVZLBH^}gC-P+10Kg_34XcwuvQ|8*Vc0O%Ex{F=10hV+ zx(20yq7XKlD?&O4*y^av1=KBuUw%1y1e=vY@Bsmym0&MbgJJVYoX{uP13XfM0CE6u zk5c$w27|VZBsD32)U)3mf{2)a{F65VF9hVmBoMiYZ0i}40Buj$+tw3FfOPIWA$27n zv+G?5f{4^r*mu22kOZ;hMk#b2B$NoY^$ZL^n@b@8xn`M%0{S3&65Vs= zUVm}#Zz?<-L6W3IHS5AD>@uwU{crz&&W->7ySm=)cyJ~&6E|BUZPV0U+xxU$ueWX6 zKial!Jk7P$wQ4tQoQxj0-|x5Eo1P>|l5E?SBw`k|z3;idaQCi{=a0()p8LGK=kqD= zyJs&`Vb&$vw(CZcHP_zfUH~M6F0&%F&KA_a`mRouRU4nyB7{ejYYG7Op1oHbL&L9a z+p2BXwv|$@t&cv$ELjUIUdvkE`i=F?1fFEny6G_vy zZPzI&A|s)gnVOmLW@h`g?W_9<>AI$v!pUph=C2w(YQ{hn9 zwhdCcp@Rzo&n7Kwp@A(pP+$&P2)sgBRQMtz@H%BC(MjOA7z*(!kwAi%D{_~5^b6`W z2D!SqQm7>_*5^dQ0mwH2=nFOZ@QMYr2Q2}p0+bGm(u*&O@e&abPzX>#ggjU@!9^yo z(Lt$JF$AOmgHvb(1t`UF^d(v>2oecWV;C4gHLoaHZplDdNi#)WgZbdsL-rLozAH3VUcdn3k>yH1q;tkwDB}7ox z&*CP^*~3H;3Mv5v;#uwWs=4}n4|+gyWGiYRWg*oH1U3i)f)pdCQ9DtdJlD>>e{Q$6 zu06%anKyR-;C?HcsHy@Wq-%u$fLtOH2q2ymB>}}+d9VzfOefI+ZI_;?g9DNwp+h4A zR|gc|G%7{WlTsbiKCAJze7@1s_@exKbBosiiBvUB znW%25maqz;rBVG}5%DMzx*-^E){<>kv+mP}FO6^U`c3VOA6b1e!~tKz6+yOrV)j6L4<$1A)%>%-DJni@M>GrCUq zLwg=^4zVeGOq{=K-ksp@zBhU=p8EFU<4xa4qkh4Qe!)ehO$JJulq>^>m}{iZ>E+~o z2^R0$u&0T}?O*-#zspcvq1A<9Xx}>Kd7aJJbBAAD zY<#Y`6xKNWsdIKdMPCL~qr_v150mAY=hN}82OP^G8JQ7`0LH*}XtJg_9Jusp4jRkGEVJ~LuA{L?;xhTg@I}XO)1G;&Cz}SIRh^z=IFk%Z zg~L8l9+;F#YgICWn-t*YAtvfc3nmyb2fo6527m<=w0mv<7AXX3=m3V$+!0^X2rDXa zq_l`KY`f@1jS%W_NZZg9Llp=xEL-C_X@c!R z$?4?4l!{3yNtU*nFcPFtq~;>B*-CNyc40O)he}PPkvRS4H7#eTdz7&sV;i*4tOfu8 zfYuoYQhvG>LXnZ7OOY0_E=>bfojfPoT}nZ z=l}2iFH`q6zD#cGBOSQGk&W4BYxcAa@cMlw(rtGQA}qTX8enJa-A!AL=mNn4Hciu~ z3XQw;fB*D6WqtEE51$aHqC1=JJ~83E@DrvBwyT)u;#}OXHh>7M_kPiXWqrSV+WwMW z-II4iADZVrO{xPSlGUJkoNZC#W<=g;5M_5FVSM0R?X&!(GVf0nzXSw1!NsJ}$o zkpdwzS=MTDgHURdiFmW?2-!@R3I!}Vrw^RkMaQcQu$-CH-q5n}Spqi~_V6-u*7v8* zyEEOnQ3fs;pgsiZ-u6tdn&Hpu)X;II>w(E%z1;GHHpAS!dv89vI-b91>~hC_skn$z}9x{m)~_4c6ZS;$K4~_qY`iwI(~S|52v-= zZdHd;n%^pEk6c>}2Xo9_h5XRt42M&k_U8Y`j_I-1Z?-t6O-<2=fFNzo=~<20l zN?d;z1*DtFaXS0d?1jV;=+fnh(aYLbw?1M+yVgU_kgi{hPDfw$IaX3`ZaofZk_l#O zVVklZr+(=9n|E@!*1IhKi;U;ol0JKpbQ=`j~htejlaJi6m@Yk%BQ2^A7Z zZm%0BxStYmp4I6V%t;D>K-Ex=2fzSmw78-)G}wrOD(9gyGRbB6F8!2dlB@fW%OB7< zCl$C`TP-;`>FwKJzxo$FGPaCBY|e~1-rac6-^K3i>m+5`Umtr`NP5^Bj=L^zy?_!D zq7dce3K0WPx5Yi3xL(a2B7i1aVy=R43FE15-!CJLY-{Ps&P(?h1X@X<0#3Gwo9daK z3oRObTVU&1cycN<(BOJ@?)>1k-`vmGqNRXq@!9l1J>lDZXQrCNbDK@%Qzy(_l1R$Z zoWMxVDdH#YxUXZyTqjrpa0dOL>DGp9^Or-zqmx#zG5%ait3+W|Di9%*mlTbn=$t4? z-Ov*Goe~TTR8z3)E@kfg_UYaZV)O{Z*cy8H=k1rw1G?Kbd(#un!CB4N@DH0k>))EoGFUirnExw*wuY$%jc7W;Tu)YwHt9zCemnluu=0rSZxCUYT(eR0gfZBTkP|H@Xkq-`RDoM^pr&1(E_#wMwO;CV45UW(O*{4Y}-ThuPfQ z>pDr6iDXG|-F&s?xR~fxC#Undh$cpq0F=;kfyx$s)$ByCrC4dOW3RRrTDrJ(TZWC; zXn9nhDHTsm2`R+1D(Jw%SJXB)VAYZZsDq@0QTcb=H~;T2cjxSPOW!%tu-8^xho#QB z_|eUDLW(35c0{E#MAV2g*%Gy0SrQ~r-&M!AyV*^>Xbc%Zc=S<>`D!+0002)?4JxW30rYAWm6S-5`YE(+n7*oh;H4i zlC(I3I;ewFk@if!G1ve7B`u=y)AEjzm7JVz&%kyV4~|4sh-78Jpc)CFLG8Ms+931{ zwCKpWtfRxzWN!W&vdKGM4;L--C=|Wpop|?iH=YM#aIum&3{>c&iGt?NzU%W<=kR}X z(a#$BdnmHC@3kk6p$f?H&0~)&(Pb6q|sLa5TQ+~I_T3`t3&aY19<^Z8eoiUY-4N_WVxx9{Zj zTljXbhHPp8>bepg`UE%k>PuUnJu9-uDpnVrN%!0ZsVpRoLh1T$fAgQarkOL+0kpGitS-6v zP4vTulds(L+&t-g=>0FTXK(^i71##`eHwF6RcRPd2dfBV$OsS2!t1QfC9QCq9qW2I z%*oKE?G>Yaie?(Q8WHkC{=atlpE|Z6GKB!6K&nND2Ui#^#CH zNBtTp-~OlX{PXaM4@9DoidBmN-ZF-iao2Fal?fu zW%M&vznFZr=;e8Iqs-_2(D{G-c6{(i>~le9ET%2oKbz{~(*^t$uh!*P}kPwcm5@~G zPbY{ID!!~&@2$R)oH-}HFMiN-sE^`Kqo09K<`>-jWc8l>E2-u=_jx}a%a4p>mOvW# zF^;|YTR*jle=21BxBKf4cRqsC_PEB<=k?8f_0he1={;=kY3G0Y(ErCV`^V-S7z6Yr zo2RY(+@QHN;_o2_r&MeVfpSAq?3keGLt37$?bCDE-`kI!{a=3e2!CkiMF_x9OV^Tf z^50n4)_PqJoFtFM9-1})tkJ{57TsV6gO14ppy60PyKAcaOdC;sL(x-U(qcB9C5^aI zUKWUJb9bLU9$_mzV{F6hOn_tIaD0lgR2<&l-(J<{`!jB$J*gWi^xkAmvo5UOqdUDh zNGUNDKRDz%O;>XQt@#z8D9At1)! zP`pzlVw-!MHnBaOalMjEG`!Z<*>^ms!L+H-pqa%z-OxTmJV&d}fYylD7NCxR{BatU zirdTkTE51<=1}Nk)MD;uDldgv!viIaf9)5$6XO%(+cglojcPSok?Q()U#)ksOlr&b zEH=A&Acbm(!G`q{5g0Jal~FfEp&j}c^>Pd3a_%$lK9394N7}di@?wECc`H}mLYKO-4Y@&={&QDoy8}Ox3bTMb0MG#e5*n&j zP@qrY?(Q0%wPEX)NlsZ}H!0?o+kJwT{C2$$htHv((h7&;cd|-ncXqR$2v@9C^*!>q zK4C+-gIfd%ZV*^K0W}y1aWQy17yIWu{v|vc+L?N>l$-p-Gy0x>G`?{2gT1;C0F@fT z5r-YSMF5Ul1YL+@27^EzD5{AYU@;2Bs7fD8S-Gq^OAAf47TXT4th7a9XBnKq0*oLG zP!{uoKOxVhvF7y#;&t*q$(N3}Io-bUV?WpCZiLqUApL}nSLoU9hcvA>6^WrDHan0I zTOUOVjDfVC-al?ylKG^;D0hn4VA4-;W9#{^CtrN*!q`%i7Xm+qOYTW5c{6)6Gat98 zJawm$!T}=%N>?T8w9Bwi3^!GJ$|jSEWnyWG$efG?a(1rK+pI99l&KlJH543vcL0Z_ z&`=ZF36yIKVpD<`r4dwg#6S2mVPc4RQ zA}H))s`$OK>vHjEdR3iZMf@4%IhAuGKB^LTU(|Ur7!wKVgvBGhVqpmdkr4-Q3YcBC zxso-M>Gq7-?&|)%?%M&&h6HC=wvZx}92_*j)CNFt7hSwq0DvHo1nli#sM2Y+gIh%~ z-epWqpkP2bQG4bY4t^0LNQ#6;h|NVF2X%bWr8hRwZ^vO007*_!OAtn+7D0kQw1`lP z(9$N0H161U*LiKhywHjM7v>Jt#&^p*Y>UK(c?Xekgvqhuh&U z(``sK&>Ay!?5zL>saOfA0Rbyg(GY|INPDk;vtR#|bI{Oe{C8~pQll!#!P8W1y25px zO0RT_gc1P|XqAKn1sIS~o#aR|?KMW2MkQK0N@$%(!$`$wDk2;v-G(__CxKbb#NgB@ zZqY7q1FkK(@gmxtq#LF}k%a)XQlXLws)bOqkWrXzbS7?AjOFWJ9sjZF(mCR4G?Cr7 z@}()E-|oAYf93dk{@wR60*_VJ4o{q}-ARIEM|#PodfgikxusN+(@a`Qf+ZT;{QWlW zpFPK^9jgkg`%ib?&eAq}j=m@sXAQ0wC>J|VP zLL4=52|?4D8lmi=%)v4RIhKTL%5~%`c~v6oNM#JcHbgnc6aMeNPSW~ht|>B zeR+5HUF*;bM-W(WX~?wV9R)ckt(5xR+@;PjqM#WjQ0XTyp+)J6Wg55r`FC~y!LZWt zN!8wrie>i{S{>MFP5ZzB02d#Cnm)w{3(4Aa}#oM@<)DXzE` z0hk=RyL%)2GrX@wMs89fEHTmCAyStVbW?7TLZyAjLf$;8)M~a;hUfvd zXbBJup(R0LHaW}uo@$&~9mO>`6J>12t0;s5OBq7qn!C^8%-{cX@pZGQEMlfA~NL1)hl#xurzzHoosG;wMzqsb#eK)tCtcH#FTzkD?-|X%F@VVZ@PaS`XCgBM? zp|dl~d)&|eJkIe>F}i&rUWA00oUr>W76Rs?#3q_@3aDbhK#+lfk?Y&j_Pg!eA&uMc zgq0v#yTnQ!7z6VoOIV~gIm_S|;wcJGJ<34*{< zrO#xC)5-=E#V}?i4miR~SKi&`fuYGHC`PXXt&;0fG z()sZ8jMkH!kmo1;iRbLcL-e%0I`>z7_Qh0GUSVFteEAG8GVPn*c4J97-sO92{Vu=Ok8Whl^ql72 z3c3be>1UD-y1kam^2)x9dOobtmg(SCsqKZ{2pPH~Z~89lj2q=eeyMH?5{NOg%Rq

^yJy}w(IA=mY6I^`%_`N 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%0Ay%zGpfb!oY#29tg@Kc$UZtL>J?RE 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 Date: Wed, 22 May 2024 01:07:48 +0200 Subject: [PATCH 045/135] lint --- src/technologies/e.json | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/technologies/e.json b/src/technologies/e.json index d246cbdb2..a080369d1 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -1937,16 +1937,6 @@ "scriptSrc": "\\.(?:extole|xtlo)\\.(?:com|net)/", "website": "https://www.extole.com" }, - "eyeota": { - "cats": [ - 36 - ], - "description": "Eyeota is a global provider of audience data for marketing and advertising.", - "icon": "eyeota.png", - "website": "https://www.eyeota.com", - "scriptSrc": "eyeota\\.net" - - }, "Ezoic": { "cats": [ 10, @@ -2308,5 +2298,14 @@ "generator": "^experiencedCMS$" }, "website": "https://experiencedcms.berkearas.de" + }, + "eyeota": { + "cats": [ + 36 + ], + "description": "Eyeota is a global provider of audience data for marketing and advertising.", + "icon": "eyeota.png", + "scriptSrc": "eyeota\\.net", + "website": "https://www.eyeota.com" } } From 02cffd7be9d1850abb3fbb1389ed5de84ae72ec8 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Wed, 22 May 2024 01:25:28 +0200 Subject: [PATCH 046/135] no new tech --- src/images/icons/eyeota.png | Bin 23334 -> 0 bytes src/technologies/e.json | 9 --------- 2 files changed, 9 deletions(-) delete mode 100644 src/images/icons/eyeota.png diff --git a/src/images/icons/eyeota.png b/src/images/icons/eyeota.png deleted file mode 100644 index b6463fc44c18a89e63b7f3c65bc006d0891cc13e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23334 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

^yJy}w(IA=mY6I^`%_`N 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%0Ay%zGpfb!oY#29tg@Kc$UZtL>J?RE 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 Date: Wed, 22 May 2024 01:35:32 +0200 Subject: [PATCH 047/135] fix badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6bd8a851e..814ea4e5c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Validate](https://github.com/HTTPArchive/wappalyzer/actions/workflows/validate.yml/badge.svg)](https://github.com/HTTPArchive/wappalyzer/actions/workflows/validate.yml) +[![Test](https://github.com/HTTPArchive/wappalyzer/actions/workflows/test.yml/badge.svg)](https://github.com/HTTPArchive/wappalyzer/actions/workflows/test.yml) [![Github Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/AliasIO)](https://github.com/sponsors/AliasIO) Wappalyzer From 7c1559ebf8f2bf2eb4bfbcd961de3b514e46d464 Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Wed, 26 Jun 2024 10:32:26 +0200 Subject: [PATCH 048/135] Update AIOSEO detection All In One SEO detection is broken, this should fix it. --- src/technologies/a.json | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/technologies/a.json b/src/technologies/a.json index 4f69e7b2b..03b549350 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -2461,14 +2461,40 @@ ], "cpe": "cpe:2.3:a:aioseo:all_in_one_seo:*:*:*:*:*:wordpress:*:*", "description": "All in One SEO plugin optimizes WordPress website and its content for search engines.", - "html": " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/technologies/b.json b/src/technologies/b.json index 310ef64b0..b674619a9 100644 --- a/src/technologies/b.json +++ b/src/technologies/b.json @@ -2363,6 +2363,34 @@ ], "website": "https://brimble.io" }, + "Brizy Cloud": { + "cats": [ + 1, + 51 + ], + "description": "Brizy Cloud is a platform for creating and managing websites using an intuitive drag-and-drop editor, allowing users to design and publish sites without any coding knowledge. ", + "html": "]+class=[\"']brz-root__container", + "icon": "brizy.svg", + "saas": true, + "scriptSrc": "b-cloud\\.b-cdn\\.net/builds/(?:free|pro)/\\d+-cloud", + "website": "https://brizy.io" + }, + "Brizy WordPress": { + "cats": [ + 51, + 87 + ], + "description": "Brizy WordPress is a plugin that enables users to build and design WordPress websites with an easy-to-use drag-and-drop editor and a wide range of customizable templates.", + "dom": "link[href*='/wp-content/plugins/brizy/']", + "excludes": "Brizy Cloud", + "html": "]+class=[\"']brz-root__container", + "icon": "brizy.svg", + "pricing": [ + "freemium" + ], + "requires": "WordPress", + "website": "https://brizy.io" + }, "Broadstreet": { "cats": [ 36 From 26a06c41709d630b7bfdbac5db76d9c590ad1682 Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Sat, 13 Jul 2024 16:05:34 +0200 Subject: [PATCH 083/135] Add themify detection --- src/technologies/t.json | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/technologies/t.json b/src/technologies/t.json index 5f732a535..0cca5cfd5 100644 --- a/src/technologies/t.json +++ b/src/technologies/t.json @@ -1624,6 +1624,20 @@ "scriptSrc": "/wp-content/themes/hitmag(?:-pro)?/", "website": "https://themezhut.com/themes/hitmag" }, + "Themify Builder": { + "cats": [ + 51, + 87 + ], + "description": "Themify Builder is a plugin that allows users to create complex layouts and designs by dragging and dropping elements onto their pages.", + "html": "]+class=[\"']themify_builder_*", + "icon": "brizy.svg", + "pricing": [ + "freemium" + ], + "requires": "WordPress", + "website": "https://themify.me/builder" + }, "Themonic Iconic One": { "cats": [ 80 @@ -3622,4 +3636,4 @@ "implies": "Node.js", "website": "https://totaljs.com" } -} \ No newline at end of file +} From 0c763f59044a8c62da5cd965134eb9072c010019 Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Sat, 13 Jul 2024 16:16:08 +0200 Subject: [PATCH 084/135] Re-categorize WordPress block libraries; they're not page builders themselves. --- src/technologies/c.json | 2 +- src/technologies/g.json | 20 ++++++++++---------- src/technologies/k.json | 4 ++-- src/technologies/n.json | 2 +- src/technologies/o.json | 5 ++--- src/technologies/s.json | 9 ++++----- src/technologies/t.json | 4 ++-- src/technologies/w.json | 5 +++-- 8 files changed, 25 insertions(+), 26 deletions(-) diff --git a/src/technologies/c.json b/src/technologies/c.json index f4c427596..42656415f 100644 --- a/src/technologies/c.json +++ b/src/technologies/c.json @@ -4363,7 +4363,7 @@ "description": "Cwicly is an advanced professional design and block toolkit that integrates directly with the WordPress editor.", "dom": "link[href*='/wp-content/uploads/cwicly/']", "icon": "Cwicly.png", - "implies": "Gutenberg", + "implies": "WordPress Block Editor", "pricing": [ "low", "recurring" diff --git a/src/technologies/g.json b/src/technologies/g.json index 9d5c23bb8..1e4322de7 100644 --- a/src/technologies/g.json +++ b/src/technologies/g.json @@ -376,12 +376,12 @@ }, "GenerateBlocks": { "cats": [ - 87, - 51 + 87 ], - "description": "GenerateBlocks is a WordPress plugin that has the trappings of a page builder.", + "description": "GenerateBlocks is a small collection of lightweight WordPress blocks for the WordPress Block Editor.", "dom": "link#generateblocks-css", "icon": "GenerateBlocks.svg", + "implies": "WordPress Block Editor", "pricing": [ "freemium", "low", @@ -1324,10 +1324,9 @@ }, "GoDaddy CoBlocks": { "cats": [ - 87, - 51 + 87 ], - "description": "GoDaddy CoBlocks is a suite of professional page building content blocks for the WordPress Gutenberg block editor.", + "description": "GoDaddy CoBlocks is a suite of professional page building content blocks for the WordPress Block Editor.", "dom": "link[href*='/wp-content/plugins/coblocks/']", "icon": "GoDaddy.svg", "oss": true, @@ -1359,9 +1358,10 @@ "cats": [ 80 ], - "description": "GoDaddy Go is a flexible Gutenberg-first WordPress theme built for go-getters everywhere.", + "description": "GoDaddy Go is a flexible Block Editor WordPress theme built for go-getters everywhere.", "dom": "link#go-style-css", "icon": "GoDaddy.svg", + "implies": "WordPress Block Editor", "js": { "goFrontend.openMenuOnHover": "" }, @@ -2521,10 +2521,9 @@ }, "Gutenberg": { "cats": [ - 87, - 20 + 87 ], - "description": "Gutenberg is the code name for the new block based editor introduced in WordPress 5.", + "description": "Gutenberg is the development plugin in which new features for the WordPress Block Editor are tested.", "dom": { "link[href*='/wp-content/plugins/gutenberg/']": { "attributes": { @@ -2533,6 +2532,7 @@ } }, "icon": "Gutenberg.png", + "implies": "WordPress Block Editor", "oss": true, "requires": "WordPress", "scriptSrc": "/wp-content/plugins/gutenberg/", diff --git a/src/technologies/k.json b/src/technologies/k.json index 88e26055e..899842e31 100644 --- a/src/technologies/k.json +++ b/src/technologies/k.json @@ -126,10 +126,10 @@ "cats": [ 87 ], - "description": "Kadence WP Blocks is a plugin for WordPress that provides a collection of custom blocks for the Gutenberg editor, allowing users to create custom layouts and designs for their website without needing to know how to code.", + "description": "Kadence WP Blocks is a plugin for WordPress that provides a collection of custom blocks for the WordPress Block Editor, allowing users to create custom layouts and designs for their website without needing to know how to code.", "dom": "link[href*='/wp-content/plugins/kadence-blocks/']", "icon": "Kadence WP.svg", - "implies": "Gutenberg", + "implies": "WordPress Block Editor", "pricing": [ "freemium", "low", diff --git a/src/technologies/n.json b/src/technologies/n.json index e47cab317..12cd5b092 100644 --- a/src/technologies/n.json +++ b/src/technologies/n.json @@ -523,7 +523,7 @@ "cats": [ 80 ], - "description": "Neve is a super-fast, easily customizable, multi-purpose theme that works perfectly with Gutenberg and the most popular page builders as well as WooCommerce", + "description": "Neve is a super-fast, easily customizable, multi-purpose theme that works perfectly with the WordPress Block Editor and the most popular page builders as well as WooCommerce", "dom": { "body[class*='neve-theme']": { "text": "" diff --git a/src/technologies/o.json b/src/technologies/o.json index c194eb3cd..c4b5b8334 100644 --- a/src/technologies/o.json +++ b/src/technologies/o.json @@ -1580,10 +1580,9 @@ }, "OrbitFox": { "cats": [ - 87, - 5 + 87 ], - "description": "OrbitFox is a multi-featured WordPress plugin that works with the Elementor, Beaver Builder and Gutenberg site-building utilities by Themeisle.", + "description": "OrbitFox is a multi-featured WordPress plugin that works with the Elementor, Beaver Builder and WordPress Block Editor site-building utilities by Themeisle.", "dom": "link[href*='/wp-content/plugins/themeisle-companion/']", "icon": "OrbitFox.svg", "requires": "WordPress", diff --git a/src/technologies/s.json b/src/technologies/s.json index 423c7c3d3..4d64cf62f 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -5141,10 +5141,10 @@ "cats": [ 87 ], - "description": "Spectra is a WordPress plugin that provides a collection of new and enhanced blocks for the Gutenberg editor.", + "description": "Spectra is a WordPress plugin that provides a collection of new and enhanced blocks for the WordPress Block editor.", "dom": "link[href*='/wp-content/plugins/ultimate-addons-for-gutenberg/']", "icon": "Spectra.svg", - "implies": "Gutenberg", + "implies": "WordPress Block Editor", "pricing": [ "freemium", "low", @@ -5919,8 +5919,7 @@ }, "Stackable": { "cats": [ - 87, - 51 + 87 ], "description": "Stackable is a plugin for WordPress that offers a collection of blocks, templates, and other design tools to help users create custom, professional-looking websites.", "dom": { @@ -5931,7 +5930,7 @@ } }, "icon": "Stackable.svg", - "implies": "Gutenberg", + "implies": "WordPress Block Editor", "js": { "stackable.restUrl": "", "stackableAnimations": "" diff --git a/src/technologies/t.json b/src/technologies/t.json index 5f732a535..7a878d1d7 100644 --- a/src/technologies/t.json +++ b/src/technologies/t.json @@ -1572,7 +1572,7 @@ "cats": [ 80 ], - "description": "Themegraphy Graphy is now compatible with WordPress 5.0 and Gutenberg blog-oriented WordPress theme.", + "description": "Themegraphy Graphy is now compatible with WordPress 5.0 and WordPress Block Editor blog-oriented WordPress theme.", "icon": "Themegraphy.png", "pricing": [ "freemium", @@ -3622,4 +3622,4 @@ "implies": "Node.js", "website": "https://totaljs.com" } -} \ No newline at end of file +} diff --git a/src/technologies/w.json b/src/technologies/w.json index 7ec0b05ee..47c8376a5 100644 --- a/src/technologies/w.json +++ b/src/technologies/w.json @@ -654,7 +654,7 @@ "dom": "link[href*='/wp-content/themes/waveme/']", "icon": "Waveme.svg", "implies": [ - "Gutenberg", + "WordPress Block Editor", "Waveform" ], "pricing": [ @@ -1878,7 +1878,7 @@ "cats": [ 87 ], - "description": "WooCommerce Blocks offers a range of Gutenberg blocks you can use to build and customise your site.", + "description": "WooCommerce Blocks offers a range of blocks for the WordPress Block Editor you can use to build and customise your site.", "dom": { "link[href*='/wp-content/plugins/woo-gutenberg-products-block/']": { "attributes": { @@ -1887,6 +1887,7 @@ } }, "icon": "WooCommerce Blocks.png", + "implies": "WordPress Block Editor", "oss": true, "requires": [ "WordPress", From 1fab16c5470a73643637d5e646f3d40340b4753a Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Sat, 13 Jul 2024 16:45:29 +0200 Subject: [PATCH 085/135] Fix code style --- src/technologies/g.json | 1 + src/technologies/k.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/technologies/g.json b/src/technologies/g.json index 1e4322de7..31c0758ed 100644 --- a/src/technologies/g.json +++ b/src/technologies/g.json @@ -380,6 +380,7 @@ ], "description": "GenerateBlocks is a small collection of lightweight WordPress blocks for the WordPress Block Editor.", "dom": "link#generateblocks-css", + "html": "]* id=[^>]+generateblocks-css", "icon": "GenerateBlocks.svg", "implies": "WordPress Block Editor", "pricing": [ diff --git a/src/technologies/k.json b/src/technologies/k.json index 899842e31..5151bb06d 100644 --- a/src/technologies/k.json +++ b/src/technologies/k.json @@ -126,8 +126,9 @@ "cats": [ 87 ], - "description": "Kadence WP Blocks is a plugin for WordPress that provides a collection of custom blocks for the WordPress Block Editor, allowing users to create custom layouts and designs for their website without needing to know how to code.", + "description": "Kadence Blocks is a plugin for WordPress that provides a collection of custom blocks for the WordPress Block Editor, allowing users to create custom layouts and designs for their website without needing to know how to code.", "dom": "link[href*='/wp-content/plugins/kadence-blocks/']", + "html": "]* id=[^>]+kadence-blocks-", "icon": "Kadence WP.svg", "implies": "WordPress Block Editor", "pricing": [ From 797bade7e9342c60cf3318ae5e7cd34fdbabc188 Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Sat, 13 Jul 2024 16:51:34 +0200 Subject: [PATCH 086/135] Add icon for themify builder --- src/images/icons/themify-builder.png | Bin 0 -> 514 bytes src/technologies/t.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/images/icons/themify-builder.png diff --git a/src/images/icons/themify-builder.png b/src/images/icons/themify-builder.png new file mode 100644 index 0000000000000000000000000000000000000000..5dda984ff85cdd727a75f8b897c1594a5bb9f955 GIT binary patch literal 514 zcmV+d0{#7oP)G~H=ms0mhl zfCJxxlL+0|QIks5-R@gmv7wtJ1ae?;>zupxDK7TB%#3?jOqd65oehs%D5-lbGwWWr z_ge=g@R8&ds7ib#PA2lW6xm7WaI@)Izc`LN>RjJu^HwzZ247 zn>GFdxZxCh`_cPe?NrcMG`L#Ju+P|8AE^W6mxIy#TFCrvm1Z{P+EmQRlMzoH^9ydC zj+jozy6fY9%l{lqi#Cpjekpf8n0i{Cc61}`O-v9sr07*qoM6N<$ Ef=Pw&djJ3c literal 0 HcmV?d00001 diff --git a/src/technologies/t.json b/src/technologies/t.json index 0cca5cfd5..adf881073 100644 --- a/src/technologies/t.json +++ b/src/technologies/t.json @@ -1631,7 +1631,7 @@ ], "description": "Themify Builder is a plugin that allows users to create complex layouts and designs by dragging and dropping elements onto their pages.", "html": "]+class=[\"']themify_builder_*", - "icon": "brizy.svg", + "icon": "themify-builder.png", "pricing": [ "freemium" ], From 429e44d018a133d735dfa736871b10c3643c4a30 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Sun, 14 Jul 2024 20:46:01 +0200 Subject: [PATCH 087/135] detected_raw removed --- .gitignore | 1 + tests/unit-tests.test.js | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 97f83b858..722334300 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ tags.* src/out.json keys.json +.env diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js index df82ba83d..67eceaffe 100644 --- a/tests/unit-tests.test.js +++ b/tests/unit-tests.test.js @@ -16,8 +16,7 @@ test('wappalyzer successful', () => { assert( typeof firstView.detected === 'object' && typeof firstView.detected_apps === 'object' && - typeof firstView.detected_technologies === 'object' && - typeof firstView.detected_raw === 'object', + typeof firstView.detected_technologies === 'object', 'not all technology lists are present' ) assert( From 5737132baced289b9cc8642f3b67dc3cea28b61c Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Sun, 14 Jul 2024 20:59:21 +0200 Subject: [PATCH 088/135] moved testing number of technologies --- tests/unit-tests.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit-tests.test.js b/tests/unit-tests.test.js index 67eceaffe..c9a7394a4 100644 --- a/tests/unit-tests.test.js +++ b/tests/unit-tests.test.js @@ -20,7 +20,7 @@ test('wappalyzer successful', () => { 'not all technology lists are present' ) assert( - firstView.detected_raw.length > 1, + Object.keys(firstView.detected_technologies).length > 1, 'number of technologies detected <=1' ) }) From d4f2db0e4f0a5c6bbf3fbe5c6830fc29f9fd52f0 Mon Sep 17 00:00:00 2001 From: Kevin Farrugia Date: Mon, 22 Jul 2024 17:16:41 +0200 Subject: [PATCH 089/135] Added TrafficGuard --- src/images/icons/TrafficGuard.png | Bin 0 -> 2926 bytes src/technologies/t.json | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 src/images/icons/TrafficGuard.png diff --git a/src/images/icons/TrafficGuard.png b/src/images/icons/TrafficGuard.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8e85d1f3d78d3efc46b18437de7e6ef7c6a775 GIT binary patch literal 2926 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 I+e0${13Bu6Qvd(} literal 0 HcmV?d00001 diff --git a/src/technologies/t.json b/src/technologies/t.json index 58eb7c123..c8f640535 100644 --- a/src/technologies/t.json +++ b/src/technologies/t.json @@ -2504,6 +2504,23 @@ "saas": true, "website": "https://www.traek.io" }, + "TrafficGuard": { + "cats": [ + 16 + ], + "description": "TrafficGuard is an ad fraud and click-fraud detection software.", + "icon": "TrafficGuard.png", + "pricing": [ + "payg", + "recurring" + ], + "saas": true, + "scriptSrc": [ + "\\.tgtag\\.io", + "trafficguard\\.ai" + ], + "website": "https://www.trafficguard.ai/" + }, "TrafficStars": { "cats": [ 36 From 056320565d9753cacee8aaca6d8dca66ee39e404 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 13:47:27 -0600 Subject: [PATCH 090/135] Add Enhanced Responsive Images detection --- src/images/icons/enhanced-image-sizes.svg | 1 + src/technologies/e.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/enhanced-image-sizes.svg diff --git a/src/images/icons/enhanced-image-sizes.svg b/src/images/icons/enhanced-image-sizes.svg new file mode 100644 index 000000000..b74a90c8a --- /dev/null +++ b/src/images/icons/enhanced-image-sizes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/e.json b/src/technologies/e.json index b9c5c614b..db623b446 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -1127,6 +1127,19 @@ "requires": "Nginx", "website": "https://github.com/engintron/engintron" }, + "Enhanced Responsive Images": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which improves image sizes attribute accuracy and implements the HTML spec for adding sizes='auto' to lazy loaded images.", + "icon": "enhanced-image-sizes.svg", + "meta": { + "generator": "^auto-sizes ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/auto-sizes/" + }, "Enigma": { "cats": [ 80 From d8cd37bcc71d8c0d7bd95b863f317d89a0744a09 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 13:58:16 -0600 Subject: [PATCH 091/135] Add Embed Optimizer detection --- src/images/icons/embed-optimizer.svg | 1 + src/technologies/e.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/embed-optimizer.svg diff --git a/src/images/icons/embed-optimizer.svg b/src/images/icons/embed-optimizer.svg new file mode 100644 index 000000000..fd1c9ba2b --- /dev/null +++ b/src/images/icons/embed-optimizer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/e.json b/src/technologies/e.json index b9c5c614b..18bc4b1ee 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -956,6 +956,19 @@ "saas": true, "website": "https://www.ematicsolutions.com" }, + "Embed Optimizer": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which optimizes embeds by lazy loading them only as they come into view.", + "icon": "embed-optimizer.svg", + "meta": { + "generator": "^embed-optimizer ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/embed-optimizer/" + }, "EmbedPlus": { "cats": [ 87 From e5ee7d9a7065c85aa19df1813201563e3c1a3312 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:06:07 -0600 Subject: [PATCH 092/135] Add Modern Image Formats detection --- src/images/icons/modern-image-formats.svg | 1 + src/technologies/m.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/modern-image-formats.svg diff --git a/src/images/icons/modern-image-formats.svg b/src/images/icons/modern-image-formats.svg new file mode 100644 index 000000000..44c0b6599 --- /dev/null +++ b/src/images/icons/modern-image-formats.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/m.json b/src/technologies/m.json index de37138a6..b73b2b096 100644 --- a/src/technologies/m.json +++ b/src/technologies/m.json @@ -2323,6 +2323,19 @@ }, "website": "https://github.com/mochi/mochiweb" }, + "Modern Image Formats": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which adds support for outputting images in WebP or AVIF format and supports the `picture` element to enable format fallbacks.", + "icon": "modern-image-formats.svg", + "meta": { + "generator": "^webp-uploads ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/webp-uploads/" + }, "Modernizr": { "cats": [ 59 From 6fa9c34ab99fc8e8b95df777a0c1362577f03405 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:13:11 -0600 Subject: [PATCH 093/135] Add detection for Optimization Detective --- src/images/icons/optimization-detective.svg | 1 + src/technologies/o.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/optimization-detective.svg diff --git a/src/images/icons/optimization-detective.svg b/src/images/icons/optimization-detective.svg new file mode 100644 index 000000000..597b2599c --- /dev/null +++ b/src/images/icons/optimization-detective.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/o.json b/src/technologies/o.json index c4b5b8334..49c3c3758 100644 --- a/src/technologies/o.json +++ b/src/technologies/o.json @@ -1272,6 +1272,19 @@ "scriptSrc": "track\\.omguk\\.com", "website": "https://www.optimisemedia.com" }, + "Optimization Detective": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", + "icon": "optimization-detective.svg", + "meta": { + "generator": "^optimization-detective ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/optimization-detective/" + }, "Optimizely": { "cats": [ 74, From 4ddb2a36026adb0bf2ddd80af1bf19e2536a8304 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:20:15 -0600 Subject: [PATCH 094/135] Add Performant Translations detection --- src/images/icons/performant-translations.svg | 1 + src/technologies/p.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/performant-translations.svg diff --git a/src/images/icons/performant-translations.svg b/src/images/icons/performant-translations.svg new file mode 100644 index 000000000..6f7a55093 --- /dev/null +++ b/src/images/icons/performant-translations.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/p.json b/src/technologies/p.json index 2fdc378df..62b6520f5 100644 --- a/src/technologies/p.json +++ b/src/technologies/p.json @@ -1104,6 +1104,19 @@ "requires": "WordPress", "website": "https://wordpress.org/plugins/performance-lab/" }, + "Performant Translations": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which makes internationalization/localization in WordPress faster than ever before.", + "icon": "performant-translations.svg", + "meta": { + "generator": "^performant-translations ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/performant-translations/" + }, "PerimeterX": { "cats": [ 16 From c9dc61f4b059f7872eb68e5cf795299f078b35fb Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:23:59 -0600 Subject: [PATCH 095/135] Add Speculative Loading detection --- src/images/icons/speculation-rules.svg | 1 + src/technologies/s.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/speculation-rules.svg diff --git a/src/images/icons/speculation-rules.svg b/src/images/icons/speculation-rules.svg new file mode 100644 index 000000000..49492ae35 --- /dev/null +++ b/src/images/icons/speculation-rules.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/s.json b/src/technologies/s.json index 4d64cf62f..6b1ffeb61 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -5154,6 +5154,19 @@ "scriptSrc": "/wp-content/plugins/ultimate-addons-for-gutenberg/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1", "website": "https://wpspectra.com" }, + "Speculative Loading": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", + "icon": "speculation-rules.svg", + "meta": { + "generator": "^speculation-rules ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/speculation-rules/" + }, "Speed Kit": { "cats": [ 92 From aad6f3c308207b1516b04668f1ea1155811b0ca3 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:29:59 -0600 Subject: [PATCH 096/135] Add Image Placeholders detection --- src/images/icons/dominant-color-images.svg | 1 + src/technologies/i.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/dominant-color-images.svg diff --git a/src/images/icons/dominant-color-images.svg b/src/images/icons/dominant-color-images.svg new file mode 100644 index 000000000..922019a51 --- /dev/null +++ b/src/images/icons/dominant-color-images.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/i.json b/src/technologies/i.json index ee58e2c74..b2d5368ff 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -301,6 +301,19 @@ "scriptSrc": "template-assets\\.iluria\\.com/commons/", "website": "https://www.iluria.com.br" }, + "Image Placeholders": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", + "icon": "dominant-color-images.svg", + "meta": { + "generator": "^dominant-color-images ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/dominant-color-images/" + }, "Image Relay": { "cats": [ 95 From 002d51650ef2a3814f815c698b01809f0871f259 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:35:55 -0600 Subject: [PATCH 097/135] Add Image Prioritizer detection --- src/images/icons/image-prioritizer.svg | 1 + src/technologies/i.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/image-prioritizer.svg diff --git a/src/images/icons/image-prioritizer.svg b/src/images/icons/image-prioritizer.svg new file mode 100644 index 000000000..69e7407e4 --- /dev/null +++ b/src/images/icons/image-prioritizer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/i.json b/src/technologies/i.json index ee58e2c74..9895ac38e 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -301,6 +301,19 @@ "scriptSrc": "template-assets\\.iluria\\.com/commons/", "website": "https://www.iluria.com.br" }, + "Image Prioritizer": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Group, which optimizes the loading of images which are the LCP (Largest Contentful Paint) element, including both img elements and elements with CSS background images.", + "icon": "image-prioritizer.svg", + "meta": { + "generator": "^image-prioritizer ([\\d.]+)?" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/image-prioritizer/" + }, "Image Relay": { "cats": [ 95 From 63f257c4d85a224d2c6109765abf56fae1ec5169 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:40:38 -0600 Subject: [PATCH 098/135] update description --- src/technologies/s.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/s.json b/src/technologies/s.json index 6b1ffeb61..3344d8908 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -5159,7 +5159,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", + "description": "Performance plugin from the WordPress Performance Group, which adds support for the Speculation Rules API, by which certain URLs are dynamically prefetched or prerendered based on user interaction.", "icon": "speculation-rules.svg", "meta": { "generator": "^speculation-rules ([\\d.]+)?" From 0a6b46bfafd3d4cbfd7962199bfbc7a1c8aa4aa7 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 14:43:01 -0600 Subject: [PATCH 099/135] update description --- src/technologies/i.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/i.json b/src/technologies/i.json index b2d5368ff..0a75dfaa1 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -306,7 +306,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", + "description": "Performance plugin from the WordPress Performance Group, which determines and stores the dominant color for newly uploaded images in the media library, then uses that as a placeholder background during front end image loads.", "icon": "dominant-color-images.svg", "meta": { "generator": "^dominant-color-images ([\\d.]+)?" From 725abd700f04468ecc1ec6e815d85d413340424a Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 15:10:31 -0600 Subject: [PATCH 100/135] improve version extraction --- src/technologies/i.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/i.json b/src/technologies/i.json index 0a75dfaa1..c3a25cdea 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -309,7 +309,7 @@ "description": "Performance plugin from the WordPress Performance Group, which determines and stores the dominant color for newly uploaded images in the media library, then uses that as a placeholder background during front end image loads.", "icon": "dominant-color-images.svg", "meta": { - "generator": "^dominant-color-images ([\\d.]+)?" + "generator": "^dominant-color-images ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/dominant-color-images/" From 09c02b74f04c0a03da422e5ee1a0489f529caf3a Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 15:13:07 -0600 Subject: [PATCH 101/135] improve version extraction --- src/technologies/s.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/s.json b/src/technologies/s.json index 3344d8908..eecdca585 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -5162,7 +5162,7 @@ "description": "Performance plugin from the WordPress Performance Group, which adds support for the Speculation Rules API, by which certain URLs are dynamically prefetched or prerendered based on user interaction.", "icon": "speculation-rules.svg", "meta": { - "generator": "^speculation-rules ([\\d.]+)?" + "generator": "^speculation-rules ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/speculation-rules/" From dc8b72daedd37a44390d7692f45973a81bec75cd Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 15:14:06 -0600 Subject: [PATCH 102/135] improve version extraction --- src/technologies/p.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/p.json b/src/technologies/p.json index 62b6520f5..2932a74a5 100644 --- a/src/technologies/p.json +++ b/src/technologies/p.json @@ -1112,7 +1112,7 @@ "description": "Performance plugin from the WordPress Performance Group, which makes internationalization/localization in WordPress faster than ever before.", "icon": "performant-translations.svg", "meta": { - "generator": "^performant-translations ([\\d.]+)?" + "generator": "^performant-translations ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/performant-translations/" From 9d813ed17ef0868c7d7f8762f4d6cb406266ba4f Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 15:14:52 -0600 Subject: [PATCH 103/135] improve version extraction --- src/technologies/o.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/o.json b/src/technologies/o.json index 49c3c3758..4abaf0ef5 100644 --- a/src/technologies/o.json +++ b/src/technologies/o.json @@ -1280,7 +1280,7 @@ "description": "Performance plugin from the WordPress Performance Group, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", "icon": "optimization-detective.svg", "meta": { - "generator": "^optimization-detective ([\\d.]+)?" + "generator": "^optimization-detective ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/optimization-detective/" From e75e88dd9d475584bba1c46bc00d7669fb389661 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 15:15:31 -0600 Subject: [PATCH 104/135] improve version extraction --- src/technologies/m.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/m.json b/src/technologies/m.json index b73b2b096..1bcb1ee9e 100644 --- a/src/technologies/m.json +++ b/src/technologies/m.json @@ -2331,7 +2331,7 @@ "description": "Performance plugin from the WordPress Performance Group, which adds support for outputting images in WebP or AVIF format and supports the `picture` element to enable format fallbacks.", "icon": "modern-image-formats.svg", "meta": { - "generator": "^webp-uploads ([\\d.]+)?" + "generator": "^webp-uploads ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/webp-uploads/" From ea9dd48476ba91db9bbcacd6a2088470583d5c9e Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 15:16:15 -0600 Subject: [PATCH 105/135] improve version extraction --- src/technologies/e.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/e.json b/src/technologies/e.json index 18bc4b1ee..3611ebeef 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -964,7 +964,7 @@ "description": "Performance plugin from the WordPress Performance Group, which optimizes embeds by lazy loading them only as they come into view.", "icon": "embed-optimizer.svg", "meta": { - "generator": "^embed-optimizer ([\\d.]+)?" + "generator": "^embed-optimizer ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/embed-optimizer/" From 62bae8696507fa1ff87da2f4e34fce859f0832ca Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 6 Aug 2024 15:16:45 -0600 Subject: [PATCH 106/135] improve version extraction --- src/technologies/e.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/e.json b/src/technologies/e.json index db623b446..f34945604 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -1135,7 +1135,7 @@ "description": "Performance plugin from the WordPress Performance Group, which improves image sizes attribute accuracy and implements the HTML spec for adding sizes='auto' to lazy loaded images.", "icon": "enhanced-image-sizes.svg", "meta": { - "generator": "^auto-sizes ([\\d.]+)?" + "generator": "^auto-sizes ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/auto-sizes/" From 17f0e72f38bc61b2bc6dc5f3a1b70ec0337e79fc Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Thu, 8 Aug 2024 14:30:33 -0600 Subject: [PATCH 107/135] capture version --- src/technologies/i.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/i.json b/src/technologies/i.json index 9895ac38e..ff125a699 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -309,7 +309,7 @@ "description": "Performance plugin from the WordPress Performance Group, which optimizes the loading of images which are the LCP (Largest Contentful Paint) element, including both img elements and elements with CSS background images.", "icon": "image-prioritizer.svg", "meta": { - "generator": "^image-prioritizer ([\\d.]+)?" + "generator": "^image-prioritizer ([\\d.]+)?\\;version:\\1" }, "requires": "WordPress", "website": "https://wordpress.org/plugins/image-prioritizer/" From 404116f3806812216ce3d5b32386da04fe98204a Mon Sep 17 00:00:00 2001 From: Mateusz Krzeszowiak Date: Tue, 27 Aug 2024 17:27:13 +0200 Subject: [PATCH 108/135] Fix Shopify's Hydrogen framework detection --- src/technologies/h.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/h.json b/src/technologies/h.json index c81c1c0f2..d2c13f933 100644 --- a/src/technologies/h.json +++ b/src/technologies/h.json @@ -1693,7 +1693,7 @@ ], "description": "Hydrogen is a front-end web development framework used for building Shopify custom storefronts.", "headers": { - "powered-by": "^Hydrogen$" + "powered-by": "^Hydrogen$|^Shopify.+Hydrogen$" }, "icon": "Hydrogen.svg", "implies": [ From 588bc7e6578dea6bfccb71ed25c8175aac41b8af Mon Sep 17 00:00:00 2001 From: Mateusz Krzeszowiak Date: Thu, 29 Aug 2024 17:16:08 +0200 Subject: [PATCH 109/135] Make Hydrogen regex less strict --- src/technologies/h.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/h.json b/src/technologies/h.json index d2c13f933..de5888666 100644 --- a/src/technologies/h.json +++ b/src/technologies/h.json @@ -1693,7 +1693,7 @@ ], "description": "Hydrogen is a front-end web development framework used for building Shopify custom storefronts.", "headers": { - "powered-by": "^Hydrogen$|^Shopify.+Hydrogen$" + "powered-by": "^Hydrogen$|Shopify.+Hydrogen" }, "icon": "Hydrogen.svg", "implies": [ From cf60138ffb9c2ab9a925608b98bd8608a4d957a1 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 23 Sep 2024 09:43:45 +0000 Subject: [PATCH 110/135] utiq --- src/images/icons/Utiq.svg | 11 +++++++++++ src/technologies/u.json | 16 +++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/images/icons/Utiq.svg diff --git a/src/images/icons/Utiq.svg b/src/images/icons/Utiq.svg new file mode 100644 index 000000000..edfdc66f9 --- /dev/null +++ b/src/images/icons/Utiq.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/technologies/u.json b/src/technologies/u.json index 41b8f8043..64cc475ed 100644 --- a/src/technologies/u.json +++ b/src/technologies/u.json @@ -1022,6 +1022,20 @@ }, "website": "https://user.com" }, + "Utiq": { + "cats": [ + 36 + ], + "description": "Utiq empowers brands and publishers to address audiences through Telco-powered first-party identifier.", + "icon": "Utiq.svg", + "oss": false, + "website": "https://utiq.com/", + "xhr": "/utiqLoader\\.js", + "js": { + "Utiq": "" + } + } +}, "utterances": { "cats": [ 15 @@ -1033,4 +1047,4 @@ "website": "https://utteranc.es/", "xhr": "\\.utteranc\\.es" } -} \ No newline at end of file +} From 9f4af4e4f826e8cfe53922d3faf65458ab9ded21 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 23 Sep 2024 09:47:27 +0000 Subject: [PATCH 111/135] fix --- src/technologies/u.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/technologies/u.json b/src/technologies/u.json index 64cc475ed..6d025623e 100644 --- a/src/technologies/u.json +++ b/src/technologies/u.json @@ -1034,8 +1034,7 @@ "js": { "Utiq": "" } - } -}, + }, "utterances": { "cats": [ 15 From 60dcdbadd412b2b099aa26e779e1a5bdada17779 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 23 Sep 2024 20:12:53 +0200 Subject: [PATCH 112/135] lint --- bin/build.js | 26 -- build/.gitkeep | 0 src/html/popup.html | 4 +- src/js/content.js | 55 ++-- src/js/index.js | 92 +++--- src/js/js.js | 2 +- src/js/options.js | 4 +- src/js/popup.js | 14 +- src/js/utils.js | 6 +- src/js/wappalyzer.js | 50 +-- src/technologies/i.json | 2 +- yarn.lock | 700 +++++++++++++++++++--------------------- 12 files changed, 441 insertions(+), 514 deletions(-) delete mode 100644 build/.gitkeep diff --git a/bin/build.js b/bin/build.js index d7ce3c54c..30b14e2d3 100755 --- a/bin/build.js +++ b/bin/build.js @@ -1,31 +1,5 @@ -const fs = require('fs') const Zip = require('adm-zip') - -const currentVersion = JSON.parse( - fs.readFileSync('./src/manifest.json') -).version - -const version = process.argv[2] - -if (!version) { - // eslint-disable-next-line no-console - console.error( - `No version number specified. Current version is ${currentVersion}.` - ) - - process.exit(1) -} - -;['./src/manifest.json'].forEach((file) => { - const json = JSON.parse(fs.readFileSync(file)) - - json.version = version - - fs.writeFileSync(file, JSON.stringify(json, null, 2)) -}) - const zip = new Zip() zip.addLocalFolder('./src', '') - zip.writeZip('./build/webextension.zip') diff --git a/build/.gitkeep b/build/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/html/popup.html b/src/html/popup.html index bcac6a69f..438893639 100644 --- a/src/html/popup.html +++ b/src/html/popup.html @@ -36,9 +36,7 @@ -

-
 
-
+
diff --git a/src/js/content.js b/src/js/content.js index f868875ac..8b46d1ba8 100644 --- a/src/js/content.js +++ b/src/js/content.js @@ -51,7 +51,7 @@ async function getDom(technologies) { technologies: _technologies.filter(({ dom }) => Object.values(dom) .flat() - .some(({ properties }) => properties), + .some(({ properties }) => properties) ), })), ..._technologies.reduce((technologies, { name, dom }) => { @@ -84,7 +84,7 @@ async function getDom(technologies) { exists && technologies.findIndex( ({ name: _name, selector: _selector, exists }) => - name === _name && selector === _selector && exists === '', + name === _name && selector === _selector && exists === '' ) === -1 ) { technologies.push({ @@ -95,16 +95,15 @@ async function getDom(technologies) { } if (text) { - const value = (node.innerText ? node.innerText.trim() : '').slice( - 0, - 1000000, - ) + const value = ( + node.textContent ? node.textContent.trim() : '' + ).slice(0, 1000000) if ( value && technologies.findIndex( ({ name: _name, selector: _selector, text }) => - name === _name && selector === _selector && text === value, + name === _name && selector === _selector && text === value ) === -1 ) { technologies.push({ @@ -129,7 +128,7 @@ async function getDom(technologies) { name === _name && selector === _selector && property === _property && - value === toScalar(value), + value === toScalar(value) ) === -1 ) { const value = node[property] @@ -160,7 +159,7 @@ async function getDom(technologies) { name === _name && selector === _selector && attribute === _atrribute && - value === toScalar(value), + value === toScalar(value) ) === -1 ) { const value = node.getAttribute(attribute) @@ -229,10 +228,10 @@ const Content = { resolve( languages .filter(({ percentage }) => percentage >= 75) - .map(({ language: lang }) => lang)[0], - ), + .map(({ language: lang }) => lang)[0] + ) ) - : resolve(), + : resolve() )) const cookies = document.cookie.split('; ').reduce( @@ -240,12 +239,14 @@ const Content = { ...cookies, [cookie.split('=').shift()]: [cookie.split('=').pop()], }), - {}, + {} ) // Text - const text = document.body.innerText.replace(/\s+/g, ' ').slice(0, 25000) + const text = document.body.textContent + .replace(/\s+/g, ' ') + .slice(0, 25000) // CSS rules let css = [] @@ -290,13 +291,13 @@ const Content = { return metas }, - {}, + {} ) // Detect Google Ads if (/^(www\.)?google(\.[a-z]{2,3}){1,2}$/.test(location.hostname)) { const ads = document.querySelectorAll( - '#tads [data-text-ad] a[data-pcu]', + '#tads [data-text-ad] a[data-pcu]' ) for (const ad of ads) { @@ -326,17 +327,17 @@ const Content = { const urls = [ ...new Set([ `https://${decodeURIComponent( - ad.href.split(/^.+\?u=https%3A%2F%2F/).pop(), + ad.href.split(/^.+\?u=https%3A%2F%2F/).pop() ) .split('/') .shift()}`, - `https://${ad.innerText.split('\n').pop()}`, + `https://${ad.textContent.split('\n').pop()}`, ]), ] urls.forEach((url) => - Content.driver('detectTechnology', [url, 'Facebook Ads']), + Content.driver('detectTechnology', [url, 'Facebook Ads']) ) } } @@ -400,10 +401,10 @@ const Content = { args instanceof Error ? [args.toString()] : args - ? Array.isArray(args) - ? args - : [args] - : [], + ? Array.isArray(args) + ? args + : [args] + : [], }, (response) => { chrome.runtime.lastError @@ -414,11 +415,11 @@ const Content = { new Error( `${ chrome.runtime.lastError.message - }: Driver.${func}(${JSON.stringify(args)})`, - ), + }: Driver.${func}(${JSON.stringify(args)})` + ) ) : resolve(response) - }, + } ) }) }, @@ -445,7 +446,7 @@ const Content = { ]), ]) } - }), + }) ) }, diff --git a/src/js/index.js b/src/js/index.js index defa3c010..392c77aed 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -33,10 +33,10 @@ function getRequiredTechnologies(name, categoryId) { return name ? Wappalyzer.requires.find(({ name: _name }) => _name === name).technologies : categoryId - ? Wappalyzer.categoryRequires.find( - ({ categoryId: _categoryId }) => _categoryId === categoryId, - ).technologies - : undefined + ? Wappalyzer.categoryRequires.find( + ({ categoryId: _categoryId }) => _categoryId === categoryId + ).technologies + : undefined } function isSimilarUrl(a, b) { @@ -72,11 +72,11 @@ const Driver = { confidence, }, version, - }), + }) ), }, }), - {}, + {} ), robots: await getOption('robots', {}), } @@ -191,14 +191,14 @@ const Driver = { js .map(({ name, chain, value }) => { const technology = technologies.find( - ({ name: _name }) => name === _name, + ({ name: _name }) => name === _name ) return technology ? analyzeManyToMany(technology, 'js', { [chain]: [value] }) : [] }) - .flat(), + .flat() ) }, @@ -218,10 +218,10 @@ const Driver = { .map( ( { name, selector, exists, text, property, attribute, value }, - index, + index ) => { const technology = technologies.find( - ({ name: _name }) => name === _name, + ({ name: _name }) => name === _name ) if (!technology) { @@ -246,7 +246,7 @@ const Driver = { `dom.properties.${property}`, { [selector]: [value], - }, + } ) } @@ -256,14 +256,14 @@ const Driver = { `dom.attributes.${attribute}`, { [selector]: [value], - }, + } ) } /* eslint array-callback-return: 0 */ - }, + } ) - .flat(), + .flat() ) }, @@ -342,11 +342,11 @@ const Driver = { new Error( `${ chrome.runtime.lastError.message - }: Driver.${func}(${JSON.stringify(args)})`, - ), + }: Driver.${func}(${JSON.stringify(args)})` + ) ) : resolve(response) - }, + } ) }) }, @@ -377,7 +377,7 @@ const Driver = { headers[name] = headers[name] || [] headers[name].push( - (header.value || header.binaryValue || '').toString(), + (header.value || header.binaryValue || '').toString() ) }) @@ -462,7 +462,7 @@ const Driver = { Driver.onDetect( request.originUrl || request.initiator, - analyze({ xhr: hostname }), + analyze({ xhr: hostname }) ).catch(Driver.error) } }, 1000) @@ -485,7 +485,7 @@ const Driver = { url, }) ).forEach( - ({ name, value }) => (items.cookies[name.toLowerCase()] = [value]), + ({ name, value }) => (items.cookies[name.toLowerCase()] = [value]) ) // Change Google Analytics 4 cookie from _ga_XXXXXXXXXX to _ga_* @@ -503,7 +503,7 @@ const Driver = { url, analyze({ url, ...items }, technologies), language, - true, + true ) } catch (error) { Driver.error(error) @@ -542,7 +542,7 @@ const Driver = { detections = [], language, incrementHits = false, - analyzeRequires = true, + analyzeRequires = true ) { if (!url || !detections.length) { return @@ -575,7 +575,7 @@ const Driver = { version, }, index, - detections, + detections ) => detections.findIndex( ({ @@ -588,13 +588,13 @@ const Driver = { version === _version && confidence === _confidence && value === _value && - (!regex || regex.toString() === _regex.toString()), - ) === index, + (!regex || regex.toString() === _regex.toString()) + ) === index ) .map((detection) => { if ( detections.find( - ({ technology: { slug } }) => slug === detection.technology.slug, + ({ technology: { slug } }) => slug === detection.technology.slug ) ) { detection.lastUrl = url @@ -606,7 +606,7 @@ const Driver = { // Track if technology was identified on website's root path detections.forEach(({ technology: { name } }) => { const detection = cache.detections.find( - ({ technology: { name: _name } }) => name === _name, + ({ technology: { name: _name } }) => name === _name ) detection.rootPath = detection.rootPath || pathname === '/' @@ -617,12 +617,12 @@ const Driver = { // Look for technologies that require other technologies to be present on the page const requires = [ ...Wappalyzer.requires.filter(({ name }) => - resolved.some(({ name: _name }) => _name === name), + resolved.some(({ name: _name }) => _name === name) ), ...Wappalyzer.categoryRequires.filter(({ categoryId }) => resolved.some(({ categories }) => - categories.some(({ id }) => id === categoryId), - ), + categories.some(({ id }) => id === categoryId) + ) ), ] @@ -642,7 +642,7 @@ const Driver = { .sort((a, b) => Driver.cache.hostnames[a].dateTime > Driver.cache.hostnames[b].dateTime ? -1 - : 1, + : 1 ) .reduce((hostnames, hostname) => { const cache = Driver.cache.hostnames[hostname] @@ -683,12 +683,12 @@ const Driver = { version, rootPath, lastUrl, - }), + }) ), }, }), - {}, - ), + {} + ) ) Driver.log({ hostname, technologies: resolved }) @@ -713,14 +713,14 @@ const Driver = { const _technologies = technologies.filter( ({ slug, lastUrl }) => slug !== 'cart-functionality' && - (showCached || isSimilarUrl(url, lastUrl)), + (showCached || isSimilarUrl(url, lastUrl)) ) if (dynamicIcon) { const pinnedCategory = parseInt(await getOption('pinnedCategory'), 10) const pinned = _technologies.find(({ categories }) => - categories.some(({ id }) => id === pinnedCategory), + categories.some(({ id }) => id === pinnedCategory) ) ;({ icon } = pinned || _technologies[0] || { icon }) @@ -749,7 +749,7 @@ const Driver = { ? _technologies.length.toString() : '', }, - () => {}, + () => {} ) chrome.action.setIcon( @@ -760,10 +760,10 @@ const Driver = { /\.svg$/i.test(icon) ? `converted/${icon.replace(/\.svg$/, '.png')}` : icon - }`, + }` ), }, - () => {}, + () => {} ) }) }, @@ -798,7 +798,7 @@ const Driver = { const cache = Driver.cache.hostnames?.[hostname] const resolved = (cache ? resolve(cache.detections) : []).filter( - ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl), + ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl) ) await Driver.setIcon(url, resolved) @@ -828,7 +828,7 @@ const Driver = { // eslint-disable-next-line no-async-promise-executor new Promise(async (resolve) => { const response = await fetch( - `http${secure ? 's' : ''}://${hostname}/robots.txt`, + `http${secure ? 's' : ''}://${hostname}/robots.txt` ) if (!response.ok) { @@ -854,7 +854,7 @@ const Driver = { } return disallows - }, []), + }, []) ) }), new Promise((resolve) => setTimeout(() => resolve(''), 5000)), @@ -867,7 +867,7 @@ const Driver = { ...cache, [hostname]: Driver.cache.robots[hostname], }), - {}, + {} ) await setOption('robots', Driver.cache.robots) @@ -891,7 +891,7 @@ const Driver = { const robots = await Driver.getRobots( url.hostname, - url.protocol === 'https:', + url.protocol === 'https:' ) if (robots.some((disallowed) => url.pathname.indexOf(disallowed) === 0)) { @@ -916,7 +916,7 @@ chrome.action.setBadgeBackgroundColor({ color: '#6B39BD' }, () => {}) chrome.webRequest.onCompleted.addListener( Driver.onWebRequestComplete, { urls: ['http://*/*', 'https://*/*'], types: ['main_frame'] }, - ['responseHeaders'], + ['responseHeaders'] ) chrome.webRequest.onCompleted.addListener(Driver.onScriptRequestComplete, { @@ -942,7 +942,7 @@ chrome.tabs.onUpdated.addListener(async (id, { status, url }) => { const cache = Driver.cache?.hostnames?.[hostname] const resolved = (cache ? resolve(cache.detections) : []).filter( - ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl), + ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl) ) await Driver.setIcon(url, resolved) diff --git a/src/js/js.js b/src/js/js.js index 3bc556638..ad9753ebb 100644 --- a/src/js/js.js +++ b/src/js/js.js @@ -22,7 +22,7 @@ Object.prototype.hasOwnProperty.call(value, method) ? value[method] : '__UNDEFINED__', - window, + window ) if (value !== '__UNDEFINED__') { diff --git a/src/js/options.js b/src/js/options.js index 1365be061..b1893bc0f 100644 --- a/src/js/options.js +++ b/src/js/options.js @@ -18,7 +18,7 @@ const Options = { .querySelector( `[data-i18n="option${ option.charAt(0).toUpperCase() + option.slice(1) - }"]`, + }"]` ) .parentNode.querySelector('input') @@ -50,7 +50,7 @@ const Options = { chrome.runtime.lastError ? reject(new Error(chrome.runtime.lastError.message)) : resolve(response) - }, + } ) }) }, diff --git a/src/js/popup.js b/src/js/popup.js index add0a8a7e..5fe1010ca 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -87,7 +87,7 @@ const Popup = { el.headerSwitchDisabled.addEventListener('click', async () => { disabledDomains = disabledDomains.filter( - (_hostname) => _hostname !== hostname, + (_hostname) => _hostname !== hostname ) await setOption('disabledDomains', disabledDomains) @@ -115,7 +115,7 @@ const Popup = { // Header el.headerSettings.addEventListener('click', () => - chrome.runtime.openOptionsPage(), + chrome.runtime.openOptionsPage() ) // Tabs @@ -171,7 +171,7 @@ const Popup = { }) return categories - }, {}), + }, {}) ) }, @@ -238,7 +238,7 @@ const Popup = { const pinnedCategory = await getOption('pinnedCategory') el.pinsActive.forEach((pin) => - pin.classList.remove('category__pin--active'), + pin.classList.remove('category__pin--active') ) if (pinnedCategory === id) { @@ -248,7 +248,7 @@ const Popup = { el.pins.forEach((pin) => pin.classList.add('category__pin--active')) } - }), + }) ) technologies.forEach( @@ -282,7 +282,7 @@ const Popup = { } el.technologies.appendChild(technologyNode) - }, + } ) el.detections.appendChild(categoryNode) @@ -300,7 +300,7 @@ const Popup = { open(a.href) return false - }), + }) ) i18n() diff --git a/src/js/utils.js b/src/js/utils.js index d1f4a2980..7b1b9c051 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -43,7 +43,7 @@ const Utils = { const managed = await Utils.promisify( chrome.storage.managed, 'get', - name, + name ) if (managed[name] !== undefined) { @@ -87,7 +87,7 @@ const Utils = { */ i18n() { Array.from(document.querySelectorAll('[data-i18n]')).forEach( - (node) => (node.innerHTML = chrome.i18n.getMessage(node.dataset.i18n)), + (node) => (node.innerHTML = chrome.i18n.getMessage(node.dataset.i18n)) ) }, @@ -103,7 +103,7 @@ const Utils = { chrome.runtime.lastError ? reject(chrome.runtime.lastError) : resolve(response) - }, + } ) }) }, diff --git a/src/js/wappalyzer.js b/src/js/wappalyzer.js index 7eb46f225..f99a592f2 100644 --- a/src/js/wappalyzer.js +++ b/src/js/wappalyzer.js @@ -31,7 +31,7 @@ function benchmarkSummary() { const totalPatterns = Object.values(benchmarks).length const totalDuration = Object.values(benchmarks).reduce( (sum, { duration }) => sum + duration, - 0, + 0 ) // eslint-disable-next-line no-console @@ -48,7 +48,7 @@ function benchmarkSummary() { } return benchmarks - }, {}), + }, {}) ) .sort(({ duration: a }, { duration: b }) => (a > b ? -1 : 1)) .filter(({ duration }) => duration) @@ -58,7 +58,7 @@ function benchmarkSummary() { ...technologies, [technology]: duration, }), - {}, + {} ), slowestPatterns: Object.values(benchmarks) .sort(({ duration: a }, { duration: b }) => (a > b ? -1 : 1)) @@ -99,7 +99,7 @@ const Wappalyzer = { const resolved = detections.reduce((resolved, { technology, lastUrl }) => { if ( resolved.findIndex( - ({ technology: { name } }) => name === technology?.name, + ({ technology: { name } }) => name === technology?.name ) === -1 ) { let version = '' @@ -109,7 +109,7 @@ const Wappalyzer = { detections .filter( ({ technology: _technology }) => - _technology && _technology.name === technology.name, + _technology && _technology.name === technology.name ) .forEach( ({ @@ -126,7 +126,7 @@ const Wappalyzer = { ? _version : version rootPath = rootPath || _rootPath || undefined - }, + } ) resolved.push({ technology, confidence, version, rootPath, lastUrl }) @@ -141,7 +141,7 @@ const Wappalyzer = { const priority = ({ technology: { categories } }) => categories.reduce( (max, id) => Math.max(max, Wappalyzer.getCategory(id).priority), - 0, + 0 ) return resolved @@ -175,7 +175,7 @@ const Wappalyzer = { cpe, rootPath, lastUrl, - }), + }) ) }, @@ -198,13 +198,13 @@ const Wappalyzer = { // Parse ternary operator const ternary = new RegExp(`\\\\${index}\\?([^:]+):(.*)$`).exec( - version, + version ) if (ternary && ternary.length === 3) { resolved = version.replace( ternary[0], - match ? ternary[1] : ternary[2], + match ? ternary[1] : ternary[2] ) } @@ -239,7 +239,7 @@ const Wappalyzer = { do { index = resolved.findIndex( - ({ technology: { name } }) => name === excluded.name, + ({ technology: { name } }) => name === excluded.name ) if (index !== -1) { @@ -271,7 +271,7 @@ const Wappalyzer = { if ( resolved.findIndex( - ({ technology: { name } }) => name === implied.name, + ({ technology: { name } }) => name === implied.name ) === -1 ) { resolved.push({ @@ -283,7 +283,7 @@ const Wappalyzer = { done = false } - }, + } ) }) } while (resolved.length && !done) @@ -323,9 +323,9 @@ const Wappalyzer = { Object.keys(relations) .map( (type) => - items[type] && relations[type](technology, type, items[type]), + items[type] && relations[type](technology, type, items[type]) ) - .flat(), + .flat() ) .flat() .filter((technology) => technology) @@ -387,11 +387,11 @@ const Wappalyzer = { typeof dom === 'string' || Array.isArray(dom) ? toArray(dom).reduce( (dom, selector) => ({ ...dom, [selector]: { exists: '' } }), - {}, + {} ) : dom, true, - false, + false ), excludes: transform(excludes).map(({ value }) => ({ name: value })), headers: transform(headers), @@ -435,7 +435,7 @@ const Wappalyzer = { Wappalyzer.requires[name] = Wappalyzer.requires[name] || [] Wappalyzer.requires[name].push(technology) - }), + }) ) Wappalyzer.requires = Object.keys(Wappalyzer.requires).map((name) => ({ @@ -451,19 +451,19 @@ const Wappalyzer = { Wappalyzer.categoryRequires[id] || [] Wappalyzer.categoryRequires[id].push(technology) - }), + }) ) Wappalyzer.categoryRequires = Object.keys(Wappalyzer.categoryRequires).map( (id) => ({ categoryId: parseInt(id, 10), technologies: Wappalyzer.categoryRequires[id], - }), + }) ) Wappalyzer.technologies = Wappalyzer.technologies.filter( ({ requires, requiresCategory }) => - !requires.length && !requiresCategory.length, + !requires.length && !requiresCategory.length ) }, @@ -507,7 +507,7 @@ const Wappalyzer = { const parsed = Object.keys(patterns).reduce((parsed, key) => { parsed[caseSensitive ? key : key.toLowerCase()] = toArray( - patterns[key], + patterns[key] ).map((pattern) => Wappalyzer.parsePattern(pattern, isRegex)) return parsed @@ -527,7 +527,7 @@ const Wappalyzer = { ...parsed, [key]: Wappalyzer.parsePattern(pattern[key]), }), - {}, + {} ) } else { const { value, regex, confidence, version } = pattern @@ -555,7 +555,7 @@ const Wappalyzer = { .replace(/\*/g, '{0,250}') .replace(/__escapedPlus__/g, '\\+') : '', - 'i', + 'i' ) } @@ -653,7 +653,7 @@ const Wappalyzer = { patterns.forEach((_pattern) => { const pattern = (subtypes || []).reduce( (pattern, subtype) => pattern[subtype] || {}, - _pattern, + _pattern ) values.forEach((value) => { diff --git a/src/technologies/i.json b/src/technologies/i.json index f410da99e..793fdbec2 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -302,7 +302,7 @@ "website": "https://www.iluria.com.br" }, "Image Placeholders": { - "cats": [ + "cats": [ 87, 92 ], diff --git a/yarn.lock b/yarn.lock index d0a4d10c8..b08c66448 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,26 +25,26 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" - integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== +"@babel/compat-data@^7.25.2": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" + integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== "@babel/core@^7.11.6", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" - integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helpers" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -52,57 +52,35 @@ semver "^6.3.1" "@babel/eslint-parser@^7.12.16": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz#27ebab1a1ec21f48ae191a8aaac5b82baf80d9c7" - integrity sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA== + version "7.25.1" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz#469cee4bd18a88ff3edbdfbd227bd20e82aa9b82" + integrity sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.24.7", "@babel/generator@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" - integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== +"@babel/generator@^7.25.0", "@babel/generator@^7.25.6", "@babel/generator@^7.7.2": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" + integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== dependencies: - "@babel/types" "^7.24.7" + "@babel/types" "^7.25.6" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" - integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== +"@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - browserslist "^4.22.2" + "@babel/compat-data" "^7.25.2" + "@babel/helper-validator-option" "^7.24.8" + browserslist "^4.23.1" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-environment-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" - integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" - integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-hoist-variables@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" - integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== - dependencies: - "@babel/types" "^7.24.7" - "@babel/helper-module-imports@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" @@ -111,21 +89,20 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-module-transforms@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" - integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== +"@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-module-imports" "^7.24.7" "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.2" -"@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.24.7", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" - integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== +"@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.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" + integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== "@babel/helper-simple-access@^7.24.7": version "7.24.7" @@ -135,35 +112,28 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-split-export-declaration@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" - integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" - integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== "@babel/helper-validator-identifier@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== -"@babel/helper-validator-option@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" - integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== +"@babel/helper-validator-option@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== -"@babel/helpers@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" - integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== +"@babel/helpers@^7.25.0": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" + integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.6" "@babel/highlight@^7.10.4", "@babel/highlight@^7.24.7": version "7.24.7" @@ -175,10 +145,12 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.7.0": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" - integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6", "@babel/parser@^7.7.0": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== + dependencies: + "@babel/types" "^7.25.6" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -194,14 +166,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz#6d4c78f042db0e82fd6436cd65fec5dc78ad2bde" + integrity sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.8" + +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -222,7 +208,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -236,7 +222,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -264,7 +250,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== @@ -272,43 +265,40 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" - integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz#04db9ce5a9043d9c635e75ae7969a2cd50ca97ff" + integrity sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/template@^7.24.7", "@babel/template@^7.3.3": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" - integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== +"@babel/template@^7.25.0", "@babel/template@^7.3.3": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" -"@babel/traverse@^7.24.7", "@babel/traverse@^7.7.0": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" - integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== +"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2", "@babel/traverse@^7.7.0": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" + integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/generator" "^7.25.6" + "@babel/parser" "^7.25.6" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.6" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.3.3", "@babel/types@^7.7.0": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" - integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.3.3", "@babel/types@^7.7.0": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== dependencies: - "@babel/helper-string-parser" "^7.24.7" + "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" @@ -574,9 +564,9 @@ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" @@ -637,15 +627,15 @@ eslint-loader "^4.0.2" "@prantlf/jsonlint@^14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@prantlf/jsonlint/-/jsonlint-14.0.3.tgz#846af4bac04726528f46eafc1addf6a07854547d" - integrity sha512-Z9FrZd+cqCiqB6r/EHb4evj8HUqMgPvi7RVBQhFHYOJ292K7XmnKprNTngTqiUclCFn5MFqeZv20Jo5ZzlOCqw== + version "14.1.0" + resolved "https://registry.yarnpkg.com/@prantlf/jsonlint/-/jsonlint-14.1.0.tgz#3f806e899a1ebca26b3756ffb4a1f0c2d3b8a214" + integrity sha512-4OBJHQmFbvL+VWeI0dzN2ugXD+L0ZAKSfLn5kpsNjhCo39eEId/ftiJXWwVifKVYwATbqaLaXhQBhHwvAOaanw== dependencies: - ajv "8.12.0" + ajv "8.17.1" ajv-draft-04 "1.0.0" - cosmiconfig "8.1.3" - diff "5.1.0" - fast-glob "3.2.12" + cosmiconfig "9.0.0" + diff "5.2.0" + fast-glob "3.3.2" "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -736,11 +726,11 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/node@*": - version "20.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" - integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== + version "22.5.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.5.tgz#52f939dd0f65fc552a4ad0b392f3c466cc5d7a44" + integrity sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA== dependencies: - undici-types "~5.26.4" + undici-types "~6.19.2" "@types/normalize-package-data@^2.4.0": version "2.4.4" @@ -758,9 +748,9 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" @@ -819,15 +809,15 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== +ajv@8.17.1, ajv@^8.0.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" @@ -839,22 +829,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.16.0.tgz#22e2a92b94f005f7e0f9c9d39652ef0b8f6f0cb4" - integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== - dependencies: - fast-deep-equal "^3.1.3" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.4.1" - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^4.1.1: +ansi-colors@^4.1.1, ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== @@ -1023,22 +998,25 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__traverse" "^7.0.6" babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" babel-preset-jest@^29.6.3: version "29.6.3" @@ -1085,20 +1063,20 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browser-stdout@1.3.1: +browser-stdout@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.22.2: - version "4.23.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" - integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== +browserslist@^4.23.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== dependencies: - caniuse-lite "^1.0.30001629" - electron-to-chromium "^1.4.796" - node-releases "^2.0.14" - update-browserslist-db "^1.0.16" + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" bser@2.1.1: version "2.1.1" @@ -1143,10 +1121,10 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001629: - version "1.0.30001638" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001638.tgz#598e1f0c2ac36f37ebc3f5b8887a32ca558e5d56" - integrity sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ== +caniuse-lite@^1.0.30001646: + version "1.0.30001663" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz#1529a723505e429fdfd49532e9fc42273ba7fed7" + integrity sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA== chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -1196,9 +1174,9 @@ ci-info@^3.2.0: integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" - integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== + version "1.4.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" + integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== clean-regexp@^1.0.0: version "1.0.0" @@ -1339,15 +1317,15 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" - integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== +cosmiconfig@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== dependencies: - import-fresh "^3.2.1" + env-paths "^2.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" + parse-json "^5.2.0" create-jest@^29.7.0: version "29.7.0" @@ -1381,19 +1359,19 @@ csv-parse@^5.5.6: resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.6.tgz#0d726d58a60416361358eec291a9f93abe0b6b1a" integrity sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A== -csv-stringify@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.0.tgz#7b1491893c917e018a97de9bf9604e23b88647c2" - integrity sha512-edlXFVKcUx7r8Vx5zQucsuMg4wb/xT6qyz+Sr1vnLrdXqlLD1+UKyWNyZ9zn6mUW1ewmGxrpVwAcChGF0HQ/2Q== +csv-stringify@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.1.tgz#a31837dd35e34787e3c248159c982a21af964d94" + integrity sha512-+9lpZfwpLntpTIEpFbwQyWuW/hmI/eHuJZD1XzeZpfZTqkf1fyvBbBLXTJJMsBuuS11uTShMqPwzx4A6ffXgRQ== csv@^6.2.2: - version "6.3.9" - resolved "https://registry.yarnpkg.com/csv/-/csv-6.3.9.tgz#1812e4542aa4ca1e4a70cb5a5d16c1e425451f06" - integrity sha512-eiN+Qu8NwSLxZYia6WzB8xlX/rAQ/8EgK5A4dIF7Bz96mzcr5dW1jlcNmjG0QWySWKfPdCerH3RQ96ZqqsE8cA== + version "6.3.10" + resolved "https://registry.yarnpkg.com/csv/-/csv-6.3.10.tgz#960a3a9cef08573ecca2d80ddb71152aca383088" + integrity sha512-5NYZG4AN2ZUthmNxIudgBEdMPUnbQHu9V4QTzBPqQzUP3KQsFiJo+8HQ0+oVxj1PomIT1/f67VI1QH/hsrZLKA== dependencies: csv-generate "^4.4.1" csv-parse "^5.5.6" - csv-stringify "^6.5.0" + csv-stringify "^6.5.1" stream-transform "^3.3.2" data-view-buffer@^1.0.1: @@ -1423,13 +1401,6 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" -debug@4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -1444,12 +1415,12 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.5: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" decamelize@^4.0.0: version "4.0.0" @@ -1499,15 +1470,10 @@ diff-sequences@^29.6.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== +diff@5.2.0, diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== doctrine@1.5.0: version "1.5.0" @@ -1524,10 +1490,10 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -electron-to-chromium@^1.4.796: - version "1.4.814" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.814.tgz#176535a0b899c9c473464502ab77576aa8bb1cbe" - integrity sha512-GVulpHjFu1Y9ZvikvbArHmAhZXtm3wHlpjTMcXNGKl4IQ4jMQjlnz8yMQYYqdLHKi/jEL2+CBC2akWVCoIGUdw== +electron-to-chromium@^1.5.4: + version "1.5.27" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.27.tgz#5203ce5d6054857d84ba84d3681cbe59132ade78" + integrity sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw== emittery@^0.13.1: version "0.13.1" @@ -1557,6 +1523,11 @@ entities@^4.4.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1673,14 +1644,9 @@ es6-promisify@^5.0.0: es6-promise "^4.0.3" escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-string-regexp@^1.0.5: version "1.0.5" @@ -1692,6 +1658,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + eslint-ast-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz#3d58ba557801cfb1c941d68131ee9f8c34bd1586" @@ -1733,9 +1704,9 @@ eslint-loader@^4.0.2: schema-utils "^2.6.5" eslint-module-utils@^2.6.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== + version "2.11.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz#b99b211ca4318243f09661fae088f373ad5243c4" + integrity sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ== dependencies: debug "^3.2.7" @@ -1953,9 +1924,9 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.3.1, esquery@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -2032,10 +2003,10 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@3.2.12: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== +fast-glob@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -2053,6 +2024,11 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== +fast-uri@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" + integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + fastq@^1.6.0: version "1.17.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" @@ -2102,14 +2078,6 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-up@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -2125,6 +2093,14 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -2247,17 +2223,6 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -2270,6 +2235,17 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -2353,7 +2329,7 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" -he@1.2.0: +he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -2387,11 +2363,11 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.1.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -2400,9 +2376,9 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: resolve-from "^4.0.0" import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -2480,9 +2456,9 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.13.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.14.0.tgz#43b8ef9f46a6a08888db67b1ffd4ec9e3dfd59d1" - integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A== + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== dependencies: hasown "^2.0.2" @@ -2634,9 +2610,9 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" - integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== dependencies: "@babel/core" "^7.23.9" "@babel/parser" "^7.23.9" @@ -3033,13 +3009,6 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -3048,6 +3017,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -3208,7 +3184,7 @@ lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@4.1.0: +log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -3255,9 +3231,9 @@ merge2@^1.3.0: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -3277,13 +3253,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - minimatch@^3.0.4, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -3291,7 +3260,7 @@ minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: +minimatch@^5.0.1, minimatch@^5.1.6: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== @@ -3311,42 +3280,37 @@ mkdirp@^0.5.4: minimist "^1.2.6" mocha@^10.1.0: - version "10.5.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.5.2.tgz#0a3481fb67c0a7fc144a909b2d6a9fec35ec5989" - integrity sha512-9btlN3JKCefPf+vKd/kcKz2SXxi12z6JswkGfaAF0saQvnsqLJk504ZmbxhSoENge08E9dsymozKgFMTl5PQsA== + version "10.7.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" + integrity sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A== dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" chokidar "^3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "8.1.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: +ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -3366,10 +3330,10 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" @@ -3573,20 +3537,15 @@ path-type@^2.0.0: dependencies: pify "^2.0.0" -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -3932,14 +3891,14 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.2.1, semver@^7.3.2, semver@^7.5.3, semver@^7.5.4: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== -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== +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" @@ -4046,9 +4005,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.18" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" - integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== + version "3.0.20" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" + integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== sprintf-js@~1.0.2: version "1.0.3" @@ -4156,18 +4115,11 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -supports-color@8.1.1, supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -4182,6 +4134,13 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -4357,25 +4316,25 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -update-browserslist-db@^1.0.16: - version "1.0.16" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" - integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== dependencies: escalade "^3.1.2" picocolors "^1.0.1" -uri-js@^4.2.2, uri-js@^4.4.1: +uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== @@ -4421,9 +4380,9 @@ vscode-json-languageservice@^3.7.0: vscode-uri "^2.1.2" vscode-languageserver-textdocument@^1.0.1: - version "1.0.11" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" - integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== + version "1.0.12" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz#457ee04271ab38998a093c68c2342f53f6e4a631" + integrity sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA== vscode-languageserver-types@3.16.0-next.2: version "3.16.0-next.2" @@ -4504,10 +4463,10 @@ word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== wrap-ansi@^7.0.0: version "7.0.0" @@ -4561,12 +4520,7 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^20.2.2: +yargs-parser@^20.2.2, yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== @@ -4576,7 +4530,7 @@ yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs-unparser@2.0.0: +yargs-unparser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== @@ -4586,7 +4540,7 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@16.2.0: +yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== From afadb658df38dc23f03a604f7a77906b6251ffe5 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 23 Sep 2024 20:08:53 +0000 Subject: [PATCH 113/135] fix --- src/technologies/u.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/u.json b/src/technologies/u.json index 6d025623e..12407beed 100644 --- a/src/technologies/u.json +++ b/src/technologies/u.json @@ -1030,7 +1030,7 @@ "icon": "Utiq.svg", "oss": false, "website": "https://utiq.com/", - "xhr": "/utiqLoader\\.js", + "scriptSrc": "/utiqLoader\\.js", "js": { "Utiq": "" } From a6e8f438c8aaef1713ffee3905f762ff0d890e10 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 23 Sep 2024 23:16:29 +0200 Subject: [PATCH 114/135] URL placeholder --- src/js/popup.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/js/popup.js b/src/js/popup.js index 5fe1010ca..b989fe55a 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -129,6 +129,17 @@ const Popup = { }) }) + Array.from(document.querySelectorAll('a[href^="http"]')).forEach((a) => { + a.addEventListener('click', (event) => { + event.preventDefault() + event.stopImmediatePropagation() + + open(a.href.replace(/__URL__/g, url)) + + return false + }) + }) + // Reload el.emptyReload.addEventListener('click', (event) => { chrome.tabs.reload({ bypassCache: true }) From e6bd59f24d2397ab90f1be3c901df874bd849db2 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 24 Sep 2024 00:33:16 +0200 Subject: [PATCH 115/135] new defaults --- src/js/options.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/options.js b/src/js/options.js index b1893bc0f..97702b570 100644 --- a/src/js/options.js +++ b/src/js/options.js @@ -10,9 +10,9 @@ const Options = { */ init() { ;[ - ['dynamicIcon', false], + ['dynamicIcon', true], ['badge', true], - ['showCached', true], + ['showCached', false], ].map(async ([option, defaultValue]) => { const el = document .querySelector( From 3e0d0d707820fd501bdfc8ba8bf1d0e039acfd26 Mon Sep 17 00:00:00 2001 From: Joseph Scott Date: Thu, 10 Oct 2024 11:30:14 -0600 Subject: [PATCH 116/135] Add wp.cloud to the list of detected tech --- src/images/icons/wp-cloud.png | Bin 0 -> 3024 bytes src/technologies/w.json | 14 ++++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/wp-cloud.png diff --git a/src/images/icons/wp-cloud.png b/src/images/icons/wp-cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5c35688fb229a789f658d14f3ae513c10ce985 GIT binary patch literal 3024 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 aS=-Nc&C{AjZu)l)>5L7`^xx>YCj1X0ot_r} literal 0 HcmV?d00001 diff --git a/src/technologies/w.json b/src/technologies/w.json index 47c8376a5..36c0304af 100644 --- a/src/technologies/w.json +++ b/src/technologies/w.json @@ -2503,5 +2503,19 @@ "requires": "WordPress", "url": "^https?://[^/]+\\.wpcache\\.co", "website": "https://wpcache.co" + }, + "wp.cloud": { + "cats": [ + 62 + ], + "description": "WordPress-first cloud hosting.", + "headers": { + "host-header": "wpcloud" + }, + "icon": "wp-cloud.png", + "implies": [ + "WordPress" + ], + "website": "https://wp.cloud/" } } From 955aa4a5cf2ac83fbd791e5f8f151a411e1c8ff0 Mon Sep 17 00:00:00 2001 From: Brooks Lybrand Date: Tue, 15 Oct 2024 14:53:04 -0500 Subject: [PATCH 117/135] Fix React Router detection and update Remix implies field --- src/technologies/r.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/technologies/r.json b/src/technologies/r.json index dcc38b622..5a61dca36 100644 --- a/src/technologies/r.json +++ b/src/technologies/r.json @@ -633,9 +633,9 @@ "icon": "React Router.svg", "implies": "React", "oss": true, - "scriptSrc": [ - "(?:/react-router(@|/)([\\d.]+)(?:/[a-z]+)?)?/react-router(?:\\.min)?\\.js\\;version:\\2" - ], + "js": { + "__reactRouterVersion": "" + }, "website": "https://reactrouter.com" }, "Reactive": { @@ -1337,7 +1337,8 @@ "description": "Remix is a React framework used for server-side rendering (SSR).", "icon": "Remix.svg", "implies": [ - "React" + "React", + "React Router" ], "js": { "__remixContext": "" From 42dcb40da76bfe0ac9c36977c46994fa4ae8343e Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Tue, 15 Oct 2024 21:09:03 +0100 Subject: [PATCH 118/135] Update src/technologies/r.json --- src/technologies/r.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/technologies/r.json b/src/technologies/r.json index 5a61dca36..01bb6a855 100644 --- a/src/technologies/r.json +++ b/src/technologies/r.json @@ -634,7 +634,7 @@ "implies": "React", "oss": true, "js": { - "__reactRouterVersion": "" + "__reactRouterVersion": "([\\d\\.]+)\\;version:\\1" }, "website": "https://reactrouter.com" }, From 66d3fd217571ae97a7421074d20f68f111c33511 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Wed, 16 Oct 2024 10:29:23 +0100 Subject: [PATCH 119/135] Update src/technologies/w.json --- src/technologies/w.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/technologies/w.json b/src/technologies/w.json index 36c0304af..7302e5669 100644 --- a/src/technologies/w.json +++ b/src/technologies/w.json @@ -2506,7 +2506,8 @@ }, "wp.cloud": { "cats": [ - 62 + 62, + 88 ], "description": "WordPress-first cloud hosting.", "headers": { From a470ecce1f247c80b7885a494f7764ec5ad2f5a1 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Mon, 21 Oct 2024 13:24:03 -0600 Subject: [PATCH 120/135] Add new web worker offloading plugin detection --- src/images/icons/web-worker-offloading.svg | 1 + src/technologies/w.json | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/images/icons/web-worker-offloading.svg diff --git a/src/images/icons/web-worker-offloading.svg b/src/images/icons/web-worker-offloading.svg new file mode 100644 index 000000000..504ae19c0 --- /dev/null +++ b/src/images/icons/web-worker-offloading.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/technologies/w.json b/src/technologies/w.json index 7302e5669..9e1fe9590 100644 --- a/src/technologies/w.json +++ b/src/technologies/w.json @@ -75,6 +75,19 @@ "oss": true, "website": "https://docs.ruby-lang.org/en/2.4.0/WEBrick.html" }, + "Web Worker Offloading": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Team, which offloads JavaScript execution to a Web Worker, improving performance by freeing up the main thread.", + "icon": "web-worker-offloading.svg", + "meta": { + "generator": "^web-worker-offloading ([\\d.]+)?\\;version:\\1" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/web-worker-offloading/" + }, "WEN Themes Education Hub": { "cats": [ 80 From 0170bb01ae3d7bbed183fc691e8334468021262f Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Mon, 21 Oct 2024 13:24:48 -0600 Subject: [PATCH 121/135] =?UTF-8?q?Correct=20description=20Group=20->=20Te?= =?UTF-8?q?am=20in=20=E2=80=9CWordPress=20Performance=20Team=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/technologies/e.json | 4 ++-- src/technologies/i.json | 4 ++-- src/technologies/m.json | 2 +- src/technologies/o.json | 2 +- src/technologies/p.json | 4 ++-- src/technologies/s.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/technologies/e.json b/src/technologies/e.json index e72f20dc2..d0a51441d 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -961,7 +961,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which optimizes embeds by lazy loading them only as they come into view.", + "description": "Performance plugin from the WordPress Performance Team, which optimizes embeds by lazy loading them only as they come into view.", "icon": "embed-optimizer.svg", "meta": { "generator": "^embed-optimizer ([\\d.]+)?\\;version:\\1" @@ -1145,7 +1145,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which improves image sizes attribute accuracy and implements the HTML spec for adding sizes='auto' to lazy loaded images.", + "description": "Performance plugin from the WordPress Performance Team, which improves image sizes attribute accuracy and implements the HTML spec for adding sizes='auto' to lazy loaded images.", "icon": "enhanced-image-sizes.svg", "meta": { "generator": "^auto-sizes ([\\d.]+)?\\;version:\\1" diff --git a/src/technologies/i.json b/src/technologies/i.json index f410da99e..75c8f8264 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -306,7 +306,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which determines and stores the dominant color for newly uploaded images in the media library, then uses that as a placeholder background during front end image loads.", + "description": "Performance plugin from the WordPress Performance Team, which determines and stores the dominant color for newly uploaded images in the media library, then uses that as a placeholder background during front end image loads.", "icon": "dominant-color-images.svg", "meta": { "generator": "^dominant-color-images ([\\d.]+)?\\;version:\\1" @@ -319,7 +319,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which optimizes the loading of images which are the LCP (Largest Contentful Paint) element, including both img elements and elements with CSS background images.", + "description": "Performance plugin from the WordPress Performance Team, which optimizes the loading of images which are the LCP (Largest Contentful Paint) element, including both img elements and elements with CSS background images.", "icon": "image-prioritizer.svg", "meta": { "generator": "^image-prioritizer ([\\d.]+)?\\;version:\\1" diff --git a/src/technologies/m.json b/src/technologies/m.json index 1bcb1ee9e..1e7a8ebe1 100644 --- a/src/technologies/m.json +++ b/src/technologies/m.json @@ -2328,7 +2328,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which adds support for outputting images in WebP or AVIF format and supports the `picture` element to enable format fallbacks.", + "description": "Performance plugin from the WordPress Performance Team, which adds support for outputting images in WebP or AVIF format and supports the `picture` element to enable format fallbacks.", "icon": "modern-image-formats.svg", "meta": { "generator": "^webp-uploads ([\\d.]+)?\\;version:\\1" diff --git a/src/technologies/o.json b/src/technologies/o.json index 4abaf0ef5..867306285 100644 --- a/src/technologies/o.json +++ b/src/technologies/o.json @@ -1277,7 +1277,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", + "description": "Performance plugin from the WordPress Performance Team, which captures real user metrics about what elements are displayed on the page across a variety of device form factors (e.g. desktop, tablet, and phone) in order to apply loading optimizations.", "icon": "optimization-detective.svg", "meta": { "generator": "^optimization-detective ([\\d.]+)?\\;version:\\1" diff --git a/src/technologies/p.json b/src/technologies/p.json index 2932a74a5..eac4387e5 100644 --- a/src/technologies/p.json +++ b/src/technologies/p.json @@ -1096,7 +1096,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which is a collection of standalone performance modules.", + "description": "Performance plugin from the WordPress Performance Team, which is a collection of standalone performance modules.", "icon": "Performance Lab.svg", "meta": { "generator": "^(Performance Lab|performance-lab) ?([\\d.]+)?\\;version:\\2" @@ -1109,7 +1109,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which makes internationalization/localization in WordPress faster than ever before.", + "description": "Performance plugin from the WordPress Performance Team, which makes internationalization/localization in WordPress faster than ever before.", "icon": "performant-translations.svg", "meta": { "generator": "^performant-translations ([\\d.]+)?\\;version:\\1" diff --git a/src/technologies/s.json b/src/technologies/s.json index eecdca585..54980e1f7 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -5159,7 +5159,7 @@ 87, 92 ], - "description": "Performance plugin from the WordPress Performance Group, which adds support for the Speculation Rules API, by which certain URLs are dynamically prefetched or prerendered based on user interaction.", + "description": "Performance plugin from the WordPress Performance Team, which adds support for the Speculation Rules API, by which certain URLs are dynamically prefetched or prerendered based on user interaction.", "icon": "speculation-rules.svg", "meta": { "generator": "^speculation-rules ([\\d.]+)?\\;version:\\1" From 13c8b9948f81a15743167a28aedee2f860dbea01 Mon Sep 17 00:00:00 2001 From: Eugene Date: Wed, 6 Nov 2024 16:18:32 +0200 Subject: [PATCH 122/135] Improved detection for new version of the Slider Revolution application. (#53) Co-authored-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> --- src/technologies/s.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/technologies/s.json b/src/technologies/s.json index 54980e1f7..e7d1098bb 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -4132,6 +4132,7 @@ "description": "Slider Revolution is a flexible and highly customisable slider.", "icon": "Slider Revolution.svg", "js": { + "SR7.version": "^Slider Revolution\\s([\\d\\.]+)$\\;version:\\1", "RS_MODULES.main.version": "^Slider Revolution\\s([\\d\\.]+)$\\;version:\\1", "revapi1": "", "revapi2": "", From c4eb7b9c201f163377dc3dd400df1796d228b481 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 12 Nov 2024 01:37:12 +0100 Subject: [PATCH 123/135] buggy version meta tag rule --- src/technologies/f.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/technologies/f.json b/src/technologies/f.json index dfe7dbfd0..23627e2fe 100644 --- a/src/technologies/f.json +++ b/src/technologies/f.json @@ -1659,9 +1659,6 @@ "FourthwallAnalytics": "", "fourthwallTheme": "" }, - "meta": { - "version": "^(.+)$\\;version:\\1\\;confidence:0" - }, "pricing": [ "payg" ], From fb50bf099deeff5edd8d336be4d3b8657d7faff0 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 12 Nov 2024 02:34:29 +0100 Subject: [PATCH 124/135] stricter regex --- src/technologies/c.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/technologies/c.json b/src/technologies/c.json index 42656415f..ca03fc9b2 100644 --- a/src/technologies/c.json +++ b/src/technologies/c.json @@ -1997,8 +1997,8 @@ }, "oss": true, "scriptSrc": [ - "/clientjs@(\\d.*?)/\\;version:\\1", - "/ClientJS/(?:(\\d.*?)/)?\\;version:\\1" + "/clientjs@([\\d.]+)\\;version:\\1", + "/ClientJS/([\\d.]+)/\\;version:\\1" ], "website": "https://clientjs.org" }, From 2c5b7b4795ef6069f943010a0f667939da2bbc29 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Tue, 12 Nov 2024 02:38:37 +0100 Subject: [PATCH 125/135] detected_raw outdated --- tests/wpt.js | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/wpt.js b/tests/wpt.js index e43e55c16..abce61b33 100644 --- a/tests/wpt.js +++ b/tests/wpt.js @@ -33,7 +33,6 @@ function runWPTTest(url) { detected_apps: response.data.runs['1'].firstView.detected_apps, detected_technologies: response.data.runs['1'].firstView.detected_technologies, - detected_raw: response.data.runs['1'].firstView.detected_raw, } fs.appendFileSync( From 603be50ecc9034ad3f13f74638f4d1fa84577294 Mon Sep 17 00:00:00 2001 From: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com> Date: Mon, 18 Nov 2024 23:04:44 +0100 Subject: [PATCH 126/135] Store Technology meta data in BQ and icons in GCS (#73) * dependency fix and update * uploads * roll back babel-eslint * upload icons * lint * full schema * fix name * service account auth * upload workflow * Merge main into bq-upload * icons upload tested * lint * typo --- .eslintrc.js | 1 - .github/workflows/test.yml | 2 +- .github/workflows/upload.yml | 45 ++ package.json | 13 +- {bin => scripts}/build.js | 0 {bin => scripts}/convert.js | 0 scripts/upload_icons.js | 58 ++ scripts/upload_technology.js | 220 ++++++++ {bin => scripts}/validate.js | 0 src/technologies/r.json | 2 +- src/technologies/s.json | 2 +- src/technologies/u.json | 26 +- src/technologies/w.json | 56 +- yarn.lock | 1011 +++++++++++++++++++++++++++------- 14 files changed, 1178 insertions(+), 258 deletions(-) create mode 100644 .github/workflows/upload.yml rename {bin => scripts}/build.js (100%) rename {bin => scripts}/convert.js (100%) create mode 100644 scripts/upload_icons.js create mode 100644 scripts/upload_technology.js rename {bin => scripts}/validate.js (100%) diff --git a/.eslintrc.js b/.eslintrc.js index f91394cce..df24096d2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -10,7 +10,6 @@ module.exports = { extends: [ '@nuxtjs', 'prettier', - 'prettier/vue', 'plugin:prettier/recommended', 'plugin:nuxt/recommended', 'plugin:json/recommended', diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 390a0b974..f82f0b972 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,7 +34,7 @@ jobs: WPT_SERVER: "webpagetest.httparchive.org" WPT_API_KEY: ${{ secrets.HA_API_KEY }} PR_NUMBER: ${{ github.event.pull_request.number }} - run: yarn test + run: yarn run test - name: Run WebPageTest for more websites id: wpt-test diff --git a/.github/workflows/upload.yml b/.github/workflows/upload.yml new file mode 100644 index 000000000..4640ec014 --- /dev/null +++ b/.github/workflows/upload.yml @@ -0,0 +1,45 @@ +name: Tests + +on: + push: + branches: + - main + paths: + - "src/technologies/*.json" + - "src/categories.json" + - "src/groups.json" + workflow_dispatch: + +jobs: + test: + name: Test and upload to GCP + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + + - name: Install dependencies + run: yarn install + + - name: Validate + run: yarn run validate + + - name: Run WebPageTest with unit tests + id: unit-test + env: + WPT_SERVER: "webpagetest.httparchive.org" + WPT_API_KEY: ${{ secrets.HA_API_KEY }} + PR_NUMBER: ${{ github.event.pull_request.number }} + run: yarn run test + + - name: Upload to GCP + id: upload + env: + GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} + GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }} + run: | + echo $GCP_SA_KEY > /tmp/gcp_key.json + yarn run upload diff --git a/package.json b/package.json index ac4da93e2..be2b805b4 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,8 @@ "convert-svg-to-png": "^0.5.0" }, "devDependencies": { + "@google-cloud/bigquery": "^7.7.0", + "@google-cloud/storage": "^7.11.0", "@nuxtjs/eslint-config": "^3.1.0", "@nuxtjs/eslint-module": "^2.0.0", "babel-eslint": "^10.1.0", @@ -19,12 +21,13 @@ "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" }, "scripts": { - "lint": "eslint src/**/*.{js,json} tests/**/*.js bin/**/*.js && jsonlint -jsV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -js --trim-trailing-commas --enforce-double-quotes ./src/categories.json", - "lint:fix": "eslint --fix src/**/*.{js,json} tests/**/*.js bin/**/*.js && jsonlint -isV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -is --trim-trailing-commas --enforce-double-quotes ./src/categories.json", - "validate": "yarn run lint && node ./bin/validate.js", + "lint": "eslint src/**/*.{js,json} tests/**/*.js scripts/**/*.js && jsonlint -jsV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -js --trim-trailing-commas --enforce-double-quotes ./src/categories.json", + "lint:fix": "eslint --fix src/**/*.{js,json} tests/**/*.js scripts/**/*.js && jsonlint -isV ./schema.json --trim-trailing-commas --enforce-double-quotes ./src/technologies/ && jsonlint -is --trim-trailing-commas --enforce-double-quotes ./src/categories.json", + "validate": "yarn run lint && node ./scripts/validate.js", "test": "jest", - "convert": "node --no-warnings ./bin/convert.js", - "build": "yarn run validate && yarn run convert && node ./bin/build.js" + "upload": "node ./scripts/upload_technology.js", + "convert": "node --no-warnings ./scripts/convert.js", + "build": "yarn run validate && yarn run convert && node ./scripts/build.js" }, "jest": { "reporters": [ diff --git a/bin/build.js b/scripts/build.js similarity index 100% rename from bin/build.js rename to scripts/build.js diff --git a/bin/convert.js b/scripts/convert.js similarity index 100% rename from bin/convert.js rename to scripts/convert.js diff --git a/scripts/upload_icons.js b/scripts/upload_icons.js new file mode 100644 index 000000000..d34cfeb0b --- /dev/null +++ b/scripts/upload_icons.js @@ -0,0 +1,58 @@ +/* eslint-disable no-console */ +const fs = require('fs') +const path = require('path') +const { Storage } = require('@google-cloud/storage') + +// Configuration +const BUCKET_NAME = 'technology_detections' +const ICONS_DIR = path.resolve(__dirname, '../src/images/icons/converted') // Local directory where your PNG icons are stored + +const storage = new Storage({ + keyFilename: '/tmp/gcp_key.json', +}) + +async function syncIcons() { + const bucket = storage.bucket(BUCKET_NAME) + + // Get list of files in the bucket + const [filesInBucket] = await bucket.getFiles() + const bucketFilesMap = new Map( + filesInBucket.map((file) => [ + file.name, + new Date(file.metadata.updated).getTime(), + ]) + ) + + // Read all files from the local icons directory + const localFiles = fs + .readdirSync(ICONS_DIR) + .filter((file) => file.endsWith('.png')) + + for (const file of localFiles) { + const filePath = path.join(ICONS_DIR, file) + const fileMetadata = fs.statSync(filePath) + const fileInBucketUpdatedTime = bucketFilesMap.get(file) + + // Upload file if it's new or has been updated + if ( + !fileInBucketUpdatedTime || + fileMetadata.mtime.getTime() > fileInBucketUpdatedTime + ) { + try { + await bucket.upload(filePath, { + destination: 'icons/' + file, + metadata: { + contentType: 'image/png', + }, + }) + console.log(`Uploaded: ${file}`) + } catch (err) { + console.error(`Error uploading file ${file}:`, err) + } + } else { + console.log(`File already exists and is up to date: ${file}`) + } + } +} + +syncIcons().catch(console.error) diff --git a/scripts/upload_technology.js b/scripts/upload_technology.js new file mode 100644 index 000000000..b7057aea6 --- /dev/null +++ b/scripts/upload_technology.js @@ -0,0 +1,220 @@ +/* eslint-disable no-console */ +// A script to upload technologies and their categories to BigQuery. + +const fs = require('fs') +const path = require('path') +const { BigQuery } = require('@google-cloud/bigquery') + +const readJsonFiles = (directory) => { + const files = fs.readdirSync(directory) + return files.reduce((mergedData, file) => { + const filePath = path.join(directory, file) + const data = fs.readFileSync(filePath, 'utf8') + return { ...mergedData, ...JSON.parse(data) } + }, {}) +} + +const getArray = (value) => + typeof value === 'string' ? [value] : Array.isArray(value) ? value : [] + +const getRuleObject = (value) => { + if (typeof value === 'string') { + return [{ name: value, value: null }] + } + if (Array.isArray(value)) { + return value.map((key) => ({ name: key, value: null })) + } + if (typeof value === 'object') { + return Object.keys(value).map((key) => ({ + name: key, + value: + typeof value[key] === 'object' + ? JSON.stringify(value[key]) + : value[key].toString(), + })) + } + return [] +} + +const loadToBigQuery = async ( + data, + tableName = 'apps', + datasetName = 'wappalyzer', + writeDisposition = 'WRITE_TRUNCATE', + sourceFormat = 'NEWLINE_DELIMITED_JSON' +) => { + if (!data) { + throw new Error(`No data to load to \`${datasetName}.${tableName}\`.`) + } + + const bigquery = new BigQuery({ + keyFilename: '/tmp/gcp_key.json', + }) + const schema = { + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'categories', type: 'STRING', mode: 'REPEATED' }, + { name: 'website', type: 'STRING' }, + { name: 'description', type: 'STRING' }, + { name: 'icon', type: 'STRING' }, + { name: 'cpe', type: 'STRING' }, + { name: 'saas', type: 'BOOLEAN' }, + { name: 'oss', type: 'BOOLEAN' }, + { name: 'pricing', type: 'STRING', mode: 'REPEATED' }, + { name: 'implies', type: 'STRING', mode: 'REPEATED' }, + { name: 'requires', type: 'STRING', mode: 'REPEATED' }, + { name: 'requiresCategory', type: 'STRING', mode: 'REPEATED' }, + { name: 'excludes', type: 'STRING', mode: 'REPEATED' }, + { + name: 'cookies', + type: 'RECORD', + mode: 'REPEATED', + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'value', type: 'STRING' }, + ], + }, + { + name: 'dom', + type: 'RECORD', + mode: 'REPEATED', + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'value', type: 'STRING' }, + ], + }, + { + name: 'dns', + type: 'RECORD', + mode: 'REPEATED', + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'value', type: 'STRING' }, + ], + }, + { + name: 'js', + type: 'RECORD', + mode: 'REPEATED', + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'value', type: 'STRING' }, + ], + }, + { + name: 'headers', + type: 'RECORD', + mode: 'REPEATED', + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'value', type: 'STRING' }, + ], + }, + { name: 'text', type: 'STRING', mode: 'REPEATED' }, + { name: 'css', type: 'STRING', mode: 'REPEATED' }, + { + name: 'probe', + type: 'RECORD', + mode: 'REPEATED', + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'value', type: 'STRING' }, + ], + }, + { name: 'robots', type: 'STRING', mode: 'REPEATED' }, + { name: 'url', type: 'STRING', mode: 'REPEATED' }, + { name: 'xhr', type: 'STRING', mode: 'REPEATED' }, + { + name: 'meta', + type: 'RECORD', + mode: 'REPEATED', + fields: [ + { name: 'name', type: 'STRING' }, + { name: 'value', type: 'STRING' }, + ], + }, + { name: 'scriptSrc', type: 'STRING', mode: 'REPEATED' }, + { name: 'script', type: 'STRING', mode: 'REPEATED' }, + { name: 'html', type: 'STRING', mode: 'REPEATED' }, + ], + } + + const options = { schema, sourceFormat, writeDisposition } + const [job] = await bigquery + .dataset(datasetName) + .table(tableName) + .load(data, options) + + if (job.status.errors && job.status.errors.length > 0) { + console.error('Errors encountered:', job.status.errors) + throw new Error('Error loading data into BigQuery') + } + + console.log( + `Loaded ${job.numRowsLoaded} rows into ${datasetName}.${tableName}...` + ) +} + +const main = async () => { + const technologies = readJsonFiles('./src/technologies') + const categories = JSON.parse( + fs.readFileSync('./src/categories.json', 'utf8') + ) + + const transformedTechnologies = Object.keys(technologies).map((key) => { + const app = { + name: key, + categories: technologies[key].cats.map( + (category) => categories[category].name + ), + } + + ;[ + 'implies', + 'requires', + 'requiresCategory', + 'excludes', + 'text', + 'css', + 'robots', + 'url', + 'xhr', + 'scriptSrc', + 'script', + 'html', + ].forEach((field) => { + app[field] = getArray(technologies[key][field]) + }) + ;['cookies', 'dom', 'dns', 'js', 'headers', 'probe', 'meta'].forEach( + (field) => { + app[field] = getRuleObject(technologies[key][field]) + } + ) + ;[ + 'website', + 'description', + 'icon', + 'cpe', + 'saas', + 'oss', + 'pricing', + ].forEach((field) => { + app[field] = technologies[key][field] + }) + + return app + }) + + const transformedTechnologiesJsonL = transformedTechnologies + .map((line) => JSON.stringify(line)) + .join('\n') + const filePath = './transformedTechnologies.jsonl' + fs.writeFileSync(filePath, transformedTechnologiesJsonL) + + await loadToBigQuery(filePath, 'apps') + + // cleanup file + fs.unlinkSync(filePath) +} + +main().catch(console.error) diff --git a/bin/validate.js b/scripts/validate.js similarity index 100% rename from bin/validate.js rename to scripts/validate.js diff --git a/src/technologies/r.json b/src/technologies/r.json index 01bb6a855..aab2d104f 100644 --- a/src/technologies/r.json +++ b/src/technologies/r.json @@ -632,10 +632,10 @@ "description": "React Router provides declarative routing for React.", "icon": "React Router.svg", "implies": "React", - "oss": true, "js": { "__reactRouterVersion": "([\\d\\.]+)\\;version:\\1" }, + "oss": true, "website": "https://reactrouter.com" }, "Reactive": { diff --git a/src/technologies/s.json b/src/technologies/s.json index e7d1098bb..e6dadbb34 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -4132,8 +4132,8 @@ "description": "Slider Revolution is a flexible and highly customisable slider.", "icon": "Slider Revolution.svg", "js": { - "SR7.version": "^Slider Revolution\\s([\\d\\.]+)$\\;version:\\1", "RS_MODULES.main.version": "^Slider Revolution\\s([\\d\\.]+)$\\;version:\\1", + "SR7.version": "^Slider Revolution\\s([\\d\\.]+)$\\;version:\\1", "revapi1": "", "revapi2": "", "revapi3": "", diff --git a/src/technologies/u.json b/src/technologies/u.json index 12407beed..1abfbee4a 100644 --- a/src/technologies/u.json +++ b/src/technologies/u.json @@ -893,6 +893,19 @@ "scriptSrc": "static\\.usizy\\.es/", "website": "https://usizy.com" }, + "Utiq": { + "cats": [ + 36 + ], + "description": "Utiq empowers brands and publishers to address audiences through Telco-powered first-party identifier.", + "icon": "Utiq.svg", + "js": { + "Utiq": "" + }, + "oss": false, + "scriptSrc": "/utiqLoader\\.js", + "website": "https://utiq.com/" + }, "Uvicorn": { "cats": [ 22 @@ -1022,19 +1035,6 @@ }, "website": "https://user.com" }, - "Utiq": { - "cats": [ - 36 - ], - "description": "Utiq empowers brands and publishers to address audiences through Telco-powered first-party identifier.", - "icon": "Utiq.svg", - "oss": false, - "website": "https://utiq.com/", - "scriptSrc": "/utiqLoader\\.js", - "js": { - "Utiq": "" - } - }, "utterances": { "cats": [ 15 diff --git a/src/technologies/w.json b/src/technologies/w.json index 9e1fe9590..5d6754fb2 100644 --- a/src/technologies/w.json +++ b/src/technologies/w.json @@ -75,19 +75,6 @@ "oss": true, "website": "https://docs.ruby-lang.org/en/2.4.0/WEBrick.html" }, - "Web Worker Offloading": { - "cats": [ - 87, - 92 - ], - "description": "Performance plugin from the WordPress Performance Team, which offloads JavaScript execution to a Web Worker, improving performance by freeing up the main thread.", - "icon": "web-worker-offloading.svg", - "meta": { - "generator": "^web-worker-offloading ([\\d.]+)?\\;version:\\1" - }, - "requires": "WordPress", - "website": "https://wordpress.org/plugins/web-worker-offloading/" - }, "WEN Themes Education Hub": { "cats": [ 80 @@ -791,6 +778,19 @@ }, "website": "https://www.webwizforums.com" }, + "Web Worker Offloading": { + "cats": [ + 87, + 92 + ], + "description": "Performance plugin from the WordPress Performance Team, which offloads JavaScript execution to a Web Worker, improving performance by freeing up the main thread.", + "icon": "web-worker-offloading.svg", + "meta": { + "generator": "^web-worker-offloading ([\\d.]+)?\\;version:\\1" + }, + "requires": "WordPress", + "website": "https://wordpress.org/plugins/web-worker-offloading/" + }, "Web2py": { "cats": [ 18 @@ -2479,6 +2479,21 @@ }, "website": "https://wisy.3we.de" }, + "wp.cloud": { + "cats": [ + 62, + 88 + ], + "description": "WordPress-first cloud hosting.", + "headers": { + "host-header": "wpcloud" + }, + "icon": "wp-cloud.png", + "implies": [ + "WordPress" + ], + "website": "https://wp.cloud/" + }, "wpBakery": { "cats": [ 51, @@ -2516,20 +2531,5 @@ "requires": "WordPress", "url": "^https?://[^/]+\\.wpcache\\.co", "website": "https://wpcache.co" - }, - "wp.cloud": { - "cats": [ - 62, - 88 - ], - "description": "WordPress-first cloud hosting.", - "headers": { - "host-header": "wpcloud" - }, - "icon": "wp-cloud.png", - "implies": [ - "WordPress" - ], - "website": "https://wp.cloud/" } } diff --git a/yarn.lock b/yarn.lock index b08c66448..789553c5e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,34 +17,35 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: - "@babel/highlight" "^7.24.7" + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.25.2": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" - integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== +"@babel/compat-data@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" + integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== "@babel/core@^7.11.6", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" + integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.26.0" + "@babel/generator" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.0" + "@babel/parser" "^7.26.0" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.26.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -52,105 +53,97 @@ semver "^6.3.1" "@babel/eslint-parser@^7.12.16": - version "7.25.1" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz#469cee4bd18a88ff3edbdfbd227bd20e82aa9b82" - integrity sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg== + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz#603c68a63078796527bc9d0833f5e52dd5f9224c" + integrity sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.25.6", "@babel/generator@^7.7.2": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" - integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== +"@babel/generator@^7.25.9", "@babel/generator@^7.26.0", "@babel/generator@^7.7.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" + integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== dependencies: - "@babel/types" "^7.25.6" + "@babel/parser" "^7.26.2" + "@babel/types" "^7.26.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== +"@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@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.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helpers@^7.25.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" - integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@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.25.9", "@babel/helper-plugin-utils@^7.8.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" + integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + +"@babel/helpers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" + integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== + dependencies: + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.0" + +"@babel/highlight@^7.10.4": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" + integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6", "@babel/parser@^7.7.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" - integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2", "@babel/parser@^7.7.0": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== dependencies: - "@babel/types" "^7.25.6" + "@babel/types" "^7.26.0" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -166,6 +159,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-class-properties@^7.12.13": "@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" @@ -181,11 +175,11 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz#6d4c78f042db0e82fd6436cd65fec5dc78ad2bde" - integrity sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" + integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" @@ -202,12 +196,13 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -222,6 +217,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-numeric-separator@^7.10.4": "@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" @@ -257,6 +253,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-top-level-await@^7.14.5": +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" @@ -265,42 +269,41 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz#04db9ce5a9043d9c635e75ae7969a2cd50ca97ff" - integrity sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/template@^7.25.0", "@babel/template@^7.3.3": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2", "@babel/traverse@^7.7.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" - integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.6" - "@babel/parser" "^7.25.6" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/template@^7.25.9", "@babel/template@^7.3.3": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.7.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" + integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.3.3", "@babel/types@^7.7.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.3.3", "@babel/types@^7.7.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" + integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" "@bcoe/v8-coverage@^0.2.3": version "0.2.3" @@ -322,6 +325,82 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@google-cloud/bigquery@^7.7.0": + version "7.9.1" + resolved "https://registry.yarnpkg.com/@google-cloud/bigquery/-/bigquery-7.9.1.tgz#9e6213a62a2eeb8f547a817e4248379c0b93b35f" + integrity sha512-ZkcRMpBoFLxIh6TiQBywA22yT3c2j0f07AHWEMjtYqMQzZQbFrpxuJU2COp3tyjZ91ZIGHe4gY7/dGZL88cltg== + dependencies: + "@google-cloud/common" "^5.0.0" + "@google-cloud/paginator" "^5.0.2" + "@google-cloud/precise-date" "^4.0.0" + "@google-cloud/promisify" "^4.0.0" + arrify "^2.0.1" + big.js "^6.0.0" + duplexify "^4.0.0" + extend "^3.0.2" + is "^3.3.0" + stream-events "^1.0.5" + uuid "^9.0.0" + +"@google-cloud/common@^5.0.0": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-5.0.2.tgz#423ad94b125d44263cbed2b5eb1ce1d4d53dc038" + integrity sha512-V7bmBKYQyu0eVG2BFejuUjlBt+zrya6vtsKdY+JxMM/dNntPF41vZ9+LhOshEUH01zOHEqBSvI7Dad7ZS6aUeA== + dependencies: + "@google-cloud/projectify" "^4.0.0" + "@google-cloud/promisify" "^4.0.0" + arrify "^2.0.1" + duplexify "^4.1.1" + extend "^3.0.2" + google-auth-library "^9.0.0" + html-entities "^2.5.2" + retry-request "^7.0.0" + teeny-request "^9.0.0" + +"@google-cloud/paginator@^5.0.0", "@google-cloud/paginator@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-5.0.2.tgz#86ad773266ce9f3b82955a8f75e22cd012ccc889" + integrity sha512-DJS3s0OVH4zFDB1PzjxAsHqJT6sKVbRwwML0ZBP9PbU7Yebtu/7SWMRzvO2J3nUi9pRNITCfu4LJeooM2w4pjg== + dependencies: + arrify "^2.0.0" + extend "^3.0.2" + +"@google-cloud/precise-date@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@google-cloud/precise-date/-/precise-date-4.0.0.tgz#e179893a3ad628b17a6fabdfcc9d468753aac11a" + integrity sha512-1TUx3KdaU3cN7nfCdNf+UVqA/PSX29Cjcox3fZZBtINlRrXVTmUkQnCKv2MbBUbCopbK4olAT1IHl76uZyCiVA== + +"@google-cloud/projectify@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-4.0.0.tgz#d600e0433daf51b88c1fa95ac7f02e38e80a07be" + integrity sha512-MmaX6HeSvyPbWGwFq7mXdo0uQZLGBYCwziiLIGq5JVX+/bdI3SAq6bP98trV5eTWfLuvsMcIC1YJOF2vfteLFA== + +"@google-cloud/promisify@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-4.0.0.tgz#a906e533ebdd0f754dca2509933334ce58b8c8b1" + integrity sha512-Orxzlfb9c67A15cq2JQEyVc7wEsmFBmHjZWZYQMUyJ1qivXyMwdyNOs9odi79hze+2zqdTtu1E19IM/FtqZ10g== + +"@google-cloud/storage@^7.11.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-7.14.0.tgz#eda9715f68507949214af804c906eba6d168a214" + integrity sha512-H41bPL2cMfSi4EEnFzKvg7XSb7T67ocSXrmF7MPjfgFB0L6CKGzfIYJheAZi1iqXjz6XaCT1OBf6HCG5vDBTOQ== + dependencies: + "@google-cloud/paginator" "^5.0.0" + "@google-cloud/projectify" "^4.0.0" + "@google-cloud/promisify" "^4.0.0" + abort-controller "^3.0.0" + async-retry "^1.3.3" + duplexify "^4.1.3" + fast-xml-parser "^4.4.1" + gaxios "^6.0.2" + google-auth-library "^9.6.3" + html-entities "^2.5.2" + mime "^3.0.0" + p-limit "^3.0.1" + retry-request "^7.0.0" + teeny-request "^9.0.0" + uuid "^8.0.0" + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -567,6 +646,9 @@ version "1.5.0" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" @@ -627,15 +709,22 @@ eslint-loader "^4.0.2" "@prantlf/jsonlint@^14.0.3": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@prantlf/jsonlint/-/jsonlint-14.1.0.tgz#3f806e899a1ebca26b3756ffb4a1f0c2d3b8a214" + integrity sha512-4OBJHQmFbvL+VWeI0dzN2ugXD+L0ZAKSfLn5kpsNjhCo39eEId/ftiJXWwVifKVYwATbqaLaXhQBhHwvAOaanw== version "14.1.0" resolved "https://registry.yarnpkg.com/@prantlf/jsonlint/-/jsonlint-14.1.0.tgz#3f806e899a1ebca26b3756ffb4a1f0c2d3b8a214" integrity sha512-4OBJHQmFbvL+VWeI0dzN2ugXD+L0ZAKSfLn5kpsNjhCo39eEId/ftiJXWwVifKVYwATbqaLaXhQBhHwvAOaanw== dependencies: + ajv "8.17.1" ajv "8.17.1" ajv-draft-04 "1.0.0" cosmiconfig "9.0.0" diff "5.2.0" fast-glob "3.3.2" + cosmiconfig "9.0.0" + diff "5.2.0" + fast-glob "3.3.2" "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -656,6 +745,11 @@ dependencies: "@sinonjs/commons" "^3.0.0" +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@types/babel__core@^7.1.14": version "7.20.5" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" @@ -689,6 +783,11 @@ dependencies: "@babel/types" "^7.20.7" +"@types/caseless@*": + version "0.12.5" + resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.5.tgz#db9468cb1b1b5a925b8f34822f1669df0c5472f5" + integrity sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg== + "@types/graceful-fs@^4.1.3": version "4.1.9" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" @@ -726,28 +825,46 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/node@*": - version "22.5.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.5.tgz#52f939dd0f65fc552a4ad0b392f3c466cc5d7a44" - integrity sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA== + version "22.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" + integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== dependencies: - undici-types "~6.19.2" + undici-types "~6.19.8" "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== +"@types/request@^2.48.8": + version "2.48.12" + resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.12.tgz#0f590f615a10f87da18e9790ac94c29ec4c5ef30" + integrity sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw== + dependencies: + "@types/caseless" "*" + "@types/node" "*" + "@types/tough-cookie" "*" + form-data "^2.5.0" + "@types/stack-utils@^2.0.0": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + "@types/yargs-parser@*": version "21.0.3" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== version "17.0.33" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== @@ -777,6 +894,13 @@ semver "^7.3.2" tsutils "^3.17.1" +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -792,6 +916,13 @@ adm-zip@^0.4.16: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" @@ -799,6 +930,13 @@ agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@^7.0.2: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + ajv-draft-04@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz#3b64761b268ba0b9e668f0b41ba53fce0ad77fc8" @@ -809,11 +947,17 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== +ajv@8.17.1, ajv@^8.0.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== ajv@8.17.1, ajv@^8.0.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" fast-deep-equal "^3.1.3" fast-uri "^3.0.1" json-schema-traverse "^1.0.0" @@ -829,6 +973,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ansi-colors@^4.1.1, ansi-colors@^4.1.3: ansi-colors@^4.1.1, ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -934,6 +1079,11 @@ arraybuffer.prototype.slice@^1.0.3: is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" +arrify@^2.0.0, arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -944,6 +1094,18 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== +async-retry@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + available-typed-arrays@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" @@ -998,6 +1160,9 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__traverse" "^7.0.6" babel-preset-current-node-syntax@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== version "1.1.0" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== @@ -1008,15 +1173,23 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-import-attributes" "^7.24.7" "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" babel-preset-jest@^29.6.3: version "29.6.3" @@ -1031,11 +1204,26 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-js@^1.3.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +big.js@^6.0.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.2.tgz#be3bb9ac834558b53b099deef2a1d06ac6368e1a" + integrity sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ== + +bignumber.js@^9.0.0: + version "9.1.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" @@ -1063,20 +1251,21 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" +browser-stdout@^1.3.1: browser-stdout@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.23.1: - version "4.23.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.24.0: + version "4.24.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" node-releases "^2.0.18" - update-browserslist-db "^1.1.0" + update-browserslist-db "^1.1.1" bser@2.1.1: version "2.1.1" @@ -1090,6 +1279,11 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -1121,10 +1315,10 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001646: - version "1.0.30001663" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz#1529a723505e429fdfd49532e9fc42273ba7fed7" - integrity sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA== +caniuse-lite@^1.0.30001669: + version "1.0.30001677" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz#27c2e2c637e007cfa864a16f7dfe7cde66b38b5f" + integrity sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog== chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -1177,6 +1371,9 @@ cjs-module-lexer@^1.0.0: version "1.4.1" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" + integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== clean-regexp@^1.0.0: version "1.0.0" @@ -1244,6 +1441,13 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combined-stream@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@^2.19.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -1317,15 +1521,22 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +cosmiconfig@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== cosmiconfig@9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" env-paths "^2.2.1" import-fresh "^3.3.0" js-yaml "^4.1.0" parse-json "^5.2.0" + parse-json "^5.2.0" create-jest@^29.7.0: version "29.7.0" @@ -1359,12 +1570,19 @@ csv-parse@^5.5.6: resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.6.tgz#0d726d58a60416361358eec291a9f93abe0b6b1a" integrity sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A== +csv-stringify@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.1.tgz#a31837dd35e34787e3c248159c982a21af964d94" + integrity sha512-+9lpZfwpLntpTIEpFbwQyWuW/hmI/eHuJZD1XzeZpfZTqkf1fyvBbBLXTJJMsBuuS11uTShMqPwzx4A6ffXgRQ== csv-stringify@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.1.tgz#a31837dd35e34787e3c248159c982a21af964d94" integrity sha512-+9lpZfwpLntpTIEpFbwQyWuW/hmI/eHuJZD1XzeZpfZTqkf1fyvBbBLXTJJMsBuuS11uTShMqPwzx4A6ffXgRQ== csv@^6.2.2: + version "6.3.10" + resolved "https://registry.yarnpkg.com/csv/-/csv-6.3.10.tgz#960a3a9cef08573ecca2d80ddb71152aca383088" + integrity sha512-5NYZG4AN2ZUthmNxIudgBEdMPUnbQHu9V4QTzBPqQzUP3KQsFiJo+8HQ0+oVxj1PomIT1/f67VI1QH/hsrZLKA== version "6.3.10" resolved "https://registry.yarnpkg.com/csv/-/csv-6.3.10.tgz#960a3a9cef08573ecca2d80ddb71152aca383088" integrity sha512-5NYZG4AN2ZUthmNxIudgBEdMPUnbQHu9V4QTzBPqQzUP3KQsFiJo+8HQ0+oVxj1PomIT1/f67VI1QH/hsrZLKA== @@ -1372,6 +1590,7 @@ csv@^6.2.2: csv-generate "^4.4.1" csv-parse "^5.5.6" csv-stringify "^6.5.1" + csv-stringify "^6.5.1" stream-transform "^3.3.2" data-view-buffer@^1.0.1: @@ -1401,6 +1620,13 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@^4.3.5: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -1415,13 +1641,6 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.5: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - decamelize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" @@ -1460,6 +1679,11 @@ define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -1470,6 +1694,10 @@ diff-sequences@^29.6.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== +diff@5.2.0, diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== diff@5.2.0, diff@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" @@ -1490,10 +1718,27 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -electron-to-chromium@^1.5.4: - version "1.5.27" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.27.tgz#5203ce5d6054857d84ba84d3681cbe59132ade78" - integrity sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw== +duplexify@^4.0.0, duplexify@^4.1.1, duplexify@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f" + integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.2" + +ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +electron-to-chromium@^1.5.41: + version "1.5.52" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz#2bed832c95a56a195504f918150e548474687da8" + integrity sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ== emittery@^0.13.1: version "0.13.1" @@ -1510,6 +1755,13 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== +end-of-stream@^1.4.1: + 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" + enquirer@^2.3.5: version "2.4.1" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" @@ -1528,6 +1780,11 @@ env-paths@^2.2.1: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1643,7 +1900,7 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -escalade@^3.1.1, escalade@^3.1.2: +escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== @@ -1663,6 +1920,11 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + eslint-ast-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz#3d58ba557801cfb1c941d68131ee9f8c34bd1586" @@ -1704,9 +1966,9 @@ eslint-loader@^4.0.2: schema-utils "^2.6.5" eslint-module-utils@^2.6.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz#b99b211ca4318243f09661fae088f373ad5243c4" - integrity sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ== + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== dependencies: debug "^3.2.7" @@ -1924,6 +2186,9 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.3.1, esquery@^1.4.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== version "1.6.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== @@ -1952,6 +2217,11 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -1983,6 +2253,11 @@ expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" +extend@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + extract-zip@^1.6.6: version "1.7.0" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" @@ -2003,6 +2278,10 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== +fast-glob@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== fast-glob@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" @@ -2025,9 +2304,16 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" + integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== + +fast-xml-parser@^4.4.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz#2882b7d01a6825dfdf909638f2de0256351def37" + integrity sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg== + dependencies: + strnum "^1.0.5" fastq@^1.6.0: version "1.17.1" @@ -2101,6 +2387,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -2127,6 +2421,16 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +form-data@^2.5.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.2.tgz#dc653743d1de2fcc340ceea38079daf6e9069fd2" + integrity sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + safe-buffer "^5.2.1" + fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -2171,6 +2475,25 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== +gaxios@^6.0.0, gaxios@^6.0.2, gaxios@^6.1.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-6.7.1.tgz#ebd9f7093ede3ba502685e73390248bb5b7f71fb" + integrity sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ== + dependencies: + extend "^3.0.2" + https-proxy-agent "^7.0.1" + is-stream "^2.0.0" + node-fetch "^2.6.9" + uuid "^9.0.1" + +gcp-metadata@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-6.1.0.tgz#9b0dd2b2445258e7597f2024332d20611cbd6b8c" + integrity sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg== + dependencies: + gaxios "^6.0.0" + json-bigint "^1.0.0" + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -2246,6 +2569,17 @@ glob@^8.1.0: minimatch "^5.0.1" once "^1.3.0" +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -2266,6 +2600,18 @@ globalthis@^1.0.3: define-properties "^1.2.1" gopd "^1.0.1" +google-auth-library@^9.0.0, google-auth-library@^9.6.3: + version "9.14.2" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.14.2.tgz#92a53ba32b3a9ff9ced8ed34129edb5a7fa7fb52" + integrity sha512-R+FRIfk1GBo3RdlRYWPdwk8nmtVUOn6+BkDomAC46KoU8kzXzE1HLmOasSCbWUByMMAGkknVF0G5kQ69Vj7dlA== + dependencies: + base64-js "^1.3.0" + ecdsa-sig-formatter "^1.0.11" + gaxios "^6.1.1" + gcp-metadata "^6.1.0" + gtoken "^7.0.0" + jws "^4.0.0" + gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -2278,6 +2624,14 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +gtoken@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-7.1.0.tgz#d61b4ebd10132222817f7222b1e6064bd463fc26" + integrity sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw== + dependencies: + gaxios "^6.0.0" + jws "^4.0.0" + 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" @@ -2329,6 +2683,7 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" +he@^1.2.0: he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -2339,11 +2694,25 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +html-entities@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" + integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + https-proxy-agent@^2.2.1: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" @@ -2352,6 +2721,22 @@ https-proxy-agent@^2.2.1: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" + integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== + dependencies: + agent-base "^7.0.2" + debug "4" + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -2366,7 +2751,11 @@ ignore@^5.1.1: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -2376,6 +2765,9 @@ import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: resolve-from "^4.0.0" import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== version "3.2.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== @@ -2456,6 +2848,9 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.13.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== version "2.15.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== @@ -2578,6 +2973,11 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/is/-/is-3.3.0.tgz#61cff6dd3c4193db94a3d62582072b44e5645d79" + integrity sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg== + isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -2610,6 +3010,9 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== version "6.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== @@ -3024,10 +3427,17 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" json-buffer@3.0.1: version "3.0.1" @@ -3078,6 +3488,23 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jwa@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" + integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" + integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== + dependencies: + jwa "^2.0.0" + safe-buffer "^5.0.1" + keyv@^4.5.3: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -3184,6 +3611,7 @@ lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@^4.1.0: log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -3231,6 +3659,9 @@ merge2@^1.3.0: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -3238,11 +3669,28 @@ micromatch@^4.0.4: braces "^3.0.3" picomatch "^2.3.1" +mime-db@1.52.0: + 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: + 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== + dependencies: + mime-db "1.52.0" + mime@^2.0.3: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -3260,6 +3708,7 @@ minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1, minimatch@^5.1.6: minimatch@^5.0.1, minimatch@^5.1.6: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" @@ -3280,10 +3729,12 @@ mkdirp@^0.5.4: minimist "^1.2.6" mocha@^10.1.0: - version "10.7.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" - integrity sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A== + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" ansi-colors "^4.1.3" browser-stdout "^1.3.1" chokidar "^3.5.3" @@ -3304,12 +3755,30 @@ mocha@^10.1.0: yargs "^16.2.0" yargs-parser "^20.2.9" yargs-unparser "^2.0.0" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== +ms@^2.1.1, ms@^2.1.3: ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" @@ -3325,11 +3794,22 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +node-fetch@^2.6.9: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== node-releases@^2.0.18: version "2.0.18" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" @@ -3391,7 +3871,7 @@ object.values@^1.1.1: define-properties "^1.2.1" es-object-atoms "^1.0.0" -once@^1.3.0: +once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -3443,7 +3923,7 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.0.1, p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -3542,10 +4022,10 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== +picocolors@^1.0.0, picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -3723,6 +4203,15 @@ readable-stream@^2.2.2: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.1.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -3736,14 +4225,14 @@ regexp-tree@^0.1.21, regexp-tree@~0.1.1: integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.7" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + set-function-name "^2.0.2" regexpp@^3.0.0, regexpp@^3.1.0: version "3.2.0" @@ -3804,6 +4293,20 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +retry-request@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-7.0.2.tgz#60bf48cfb424ec01b03fca6665dee91d06dd95f3" + integrity sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w== + dependencies: + "@types/request" "^2.48.8" + extend "^3.0.2" + teeny-request "^9.0.0" + +retry@0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -3840,7 +4343,7 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.1.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.2.1, 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== @@ -3894,7 +4397,14 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.5.3, semver@^7.5.4: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" @@ -3914,7 +4424,7 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1: +set-function-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== @@ -4008,6 +4518,9 @@ spdx-license-ids@^3.0.0: version "3.0.20" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== + version "3.0.20" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" + integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== sprintf-js@~1.0.2: version "1.0.3" @@ -4021,6 +4534,18 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.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" + integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== + dependencies: + stubs "^3.0.0" + +stream-shift@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + stream-transform@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-3.3.2.tgz#398c67b2f3b6ed5d04ceadde9e412bda8416c8ab" @@ -4079,6 +4604,13 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" +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== + dependencies: + safe-buffer "~5.2.0" + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -4115,11 +4647,22 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +stubs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" + integrity sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw== + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -4141,6 +4684,13 @@ supports-color@^8.0.0, supports-color@^8.1.1: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -4157,6 +4707,17 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" +teeny-request@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-9.0.0.tgz#18140de2eb6595771b1b02203312dfad79a4716d" + integrity sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g== + dependencies: + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + node-fetch "^2.6.9" + stream-events "^1.0.5" + uuid "^9.0.0" + terminal-overwrite@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/terminal-overwrite/-/terminal-overwrite-2.0.1.tgz#c732aefeba38900667bf088b4f1b12edbee62841" @@ -4191,11 +4752,6 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -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 sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - 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" @@ -4203,6 +4759,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + tsconfig-paths@^3.9.0: version "3.15.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" @@ -4316,7 +4877,7 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~6.19.2: +undici-types@~6.19.8: version "6.19.8" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== @@ -4326,14 +4887,15 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" + escalade "^3.2.0" + picocolors "^1.1.0" +uri-js@^4.2.2: uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -4341,11 +4903,21 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +uuid@^8.0.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.0, uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + v8-compile-cache@^2.0.3: version "2.4.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" @@ -4383,6 +4955,9 @@ vscode-languageserver-textdocument@^1.0.1: version "1.0.12" resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz#457ee04271ab38998a093c68c2342f53f6e4a631" integrity sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA== + version "1.0.12" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz#457ee04271ab38998a093c68c2342f53f6e4a631" + integrity sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA== vscode-languageserver-types@3.16.0-next.2: version "3.16.0-next.2" @@ -4419,6 +4994,11 @@ walker@^1.0.8: dependencies: makeerror "1.0.12" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + "webpagetest@github:HTTPArchive/WebPageTest.api-nodejs": version "0.7.4" resolved "https://codeload.github.com/HTTPArchive/WebPageTest.api-nodejs/tar.gz/8d6a62d33c4e1a876af9a02cbcc919d48e574774" @@ -4429,6 +5009,14 @@ walker@^1.0.8: mocha "^10.1.0" xml2js "^0.6.2" +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -4463,6 +5051,10 @@ word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== workerpool@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" @@ -4520,6 +5112,7 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yargs-parser@^20.2.2, yargs-parser@^20.2.9: yargs-parser@^20.2.2, yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" @@ -4530,6 +5123,7 @@ yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== +yargs-unparser@^2.0.0: yargs-unparser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" @@ -4540,6 +5134,7 @@ yargs-unparser@^2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" +yargs@^16.2.0: yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" From 54d649f0d9584ce54f620ffd949b7198e8ec4c14 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Fri, 29 Nov 2024 11:22:32 +0000 Subject: [PATCH 127/135] Update Kinsta description --- src/technologies/k.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/technologies/k.json b/src/technologies/k.json index 5151bb06d..7e373ed64 100644 --- a/src/technologies/k.json +++ b/src/technologies/k.json @@ -709,6 +709,7 @@ 62, 88 ], + "description": "Kinsta is a leading managed WordPress hosting provider, prioritizing speed and security.", "headers": { "x-kinsta-cache": "" }, From bc8fcb6c371563820531ba2ef3bcbb5a29e04a1a Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Sun, 1 Dec 2024 22:29:46 +0100 Subject: [PATCH 128/135] improve genesis detection --- src/images/icons/genesis-blocks.png | Bin 0 -> 3433 bytes src/technologies/g.json | 32 ++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 src/images/icons/genesis-blocks.png diff --git a/src/images/icons/genesis-blocks.png b/src/images/icons/genesis-blocks.png new file mode 100644 index 0000000000000000000000000000000000000000..25801de780be8f4e963910caceeed5a05f4346be GIT binary patch literal 3433 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]+class=[\"']wp-block-atomic-blocks-*", + "dom": { + "link[href*='/wp-content/plugins/atomic-blocks']": { + "attributes": { + "href": "/wp-content/plugins/atomic-blocks/" + } + }, + "link[href*='/wp-content/plugins/genesis-blocks']": { + "attributes": { + "href": "/wp-content/plugins/genesis-blocks/" + } + } + }, + "scriptSrc": "/wp-content/themes/genesis-blocks/lib/js/", + "website": "https://www.studiopress.com/genesis-blocks/" + }, "Genesis theme": { "cats": [ 80 ], "description": "Genesis theme is a WordPress theme that has been developed using the Genesis Framework from Studiopress.", "icon": "Genesis theme.svg", - "js": { - "genesisBlocksShare": "", - "genesis_responsive_menu": "" - }, + "dom": [ + "body[class*='theme-genesis']", + "body[class*='genesis-breadcrumbs-hidden']", + "body[class*='genesis-title-hidden']" + ], "requires": "WordPress", "scriptSrc": "/wp-content/themes/genesis/lib/js/", "website": "https://www.studiopress.com/themes/genesis" From 44bf2785347a8b812a42305cc9f3ad6807d22ce5 Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Tue, 3 Dec 2024 11:00:17 +0100 Subject: [PATCH 129/135] Add block libraries --- src/images/icons/essential-blocks.png | Bin 0 -> 2686 bytes src/images/icons/otter-blocks.png | Bin 0 -> 5763 bytes src/images/icons/publishpress-blocks.png | Bin 0 -> 31787 bytes src/technologies/e.json | 14 ++++++++++++++ src/technologies/g.json | 16 ++++------------ src/technologies/o.json | 11 +++++++++++ src/technologies/p.json | 11 +++++++++++ 7 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 src/images/icons/essential-blocks.png create mode 100644 src/images/icons/otter-blocks.png create mode 100644 src/images/icons/publishpress-blocks.png diff --git a/src/images/icons/essential-blocks.png b/src/images/icons/essential-blocks.png new file mode 100644 index 0000000000000000000000000000000000000000..5e37b2ed0874123fc83874edd5ead52309775c9b GIT binary patch literal 2686 zcmaKuXE+;*7sjJztWrYlovN+&sF4~`rLkJIXHl_g#E2a=s<^f`k>a*Bida_>v?$kX zi(aGltPv}TiV}bK`~SHg&N&}`&v~BroDc8wro${v*_ip60RRA-8Pv%7az6RDm>4d* ztyo_X0KjZ)W@Km^i6&r1v)4@cQn9V@U!;-U-LXB%ym_3Q*)-epC4)j1BT=y&gDZwh zBBCn*xnQIRZ6N61^QY$wShh4I~4Z~%HiE~*O&|^aHnlH zXiCqmQCZIZi}PEYK@d>N+Z$ZtWk4vix*aq|!(qH(E-vC#?WTjA-uT*CUX7f~i=3Zp z7Vpo(Z681g@c=vH-^yBphJk_V1jm}`QQj1uh|eixn# z1W<{j4m|l4&mkr(_$;sd4B|cY@cJZ3JPEpw#g*vLbCE1>_|heZ8%~tn+PgZf8k`1fw5jHSzuFAx($YKO;1$QM1&QVde49TmKCDbTp@^` zS>O1g;dh}^TGOD)CdGSqPsaT*TivtVl3C^b;E%OkKCej- z??4$QV)Ot={`Z1&k($gLgHhqwUjpz&-qE!gk#2a^)8LxnnC>4^^M^aM=8BU!Ad+*Y ztiwkCTzEgpQr6$;!xp?ll=azmwQ6ZYLPKNxY65{*+oj{$rQ}pgy(aF5%`~R9c^yT8 z&LE?vqH$q+_0pO0m|?74fm7vj*81yo0#hy+(eWwqbwZ1!c4&It(jz@glnG4KPYSNv z^qg?YS+fR7Oh=19#<;w@UqH?i4Z8Os7R*(gh)dqLpvHn7a7v55$^AonWT9Lg5m*^~ z7yTijyjMX%pcdzOYJMJGV%H}BG4o#YpSOJsLF2T;$Km?4d2e`!RHKbY6x!2r`Y4~j zCbnhHM13t6h$!*fWu+mv0(n^?fmIdF)Nyf(j3C?m7}x`Y?-0)qD_>6aIxW0>wfuwt z=@4nU7l4M|o{<16QsCRM4xxyJSs(KF(HWn1zJqkSC{ow$5cvn<=LtU7=4*5~)sVp= zKjnM{n|evPn4j-JR>y(54?fHTR4zhPt&Uv+nvg+#Xpn~}^~G(nJX5Ia-xAu`6^t^XZ^_}3Eg4KKv~$dG+O%xxum%f+Ij z1FCQ~Lx-HO%8@Y}N|t5=P5+pwM-ye8O&%Rq&7QIovnu;_BD-|__@hvIq?-M*jlaC` z%;K9UBMxjjs-+$+o|ypx?j34Z&%caywS&ILVNv+zkV1VSr=|WQKM%~Vsl^2Dh+;GF zv}Iz&SlS&~)zj{4NqcTp@Glh&G5b^O!%>+q_)t}QuY`3mvLE)zdpd+ znL>64n&o>U_z#huLS4-!tN2CpE%{%sPk6Q``<$8X#M3v(z?=E;jo&33;(F=vK(&Xa zt)hM0uBIk;va0rF9iK%hRE*({u|l zj%}2T$R?Q}NI{v%I+0!E%>)ni#8FdPG$&M$iaIJd z=DCmEJ!}^`nPQ2Ide=(FzRhv(OUg?=y=w_?(LcFq&3IkTRQeb{ZxRT~rku4aN+_1A zcRUMWfr;ejIkWk}g}h-tePCP*@T!xHy6dIATB*s^f6UWQCYx>yu6xBS_?6>{iwc+Y z*qA1$PLZrS_8KbL^9ac{v%O4 znPco)5-HB(9ZR*A0(HCc2_IzZP(yl0cJ-?CoB9e5N974sj_647eT&M-?lYb z*Aj^$H}x*HNP$#PMa7?<+n4V0uy5Ir7>RMcQ>h9`45c%HNltZn zm*O$Bwo)%*XOLeAsYmTO#q6abOKw~7iK0p750`gS+8RrsTeM2G+c?b%n`~{rZ@RTI6!i#* zcEK`X^K}$+7rEEtG<#J#cErd{5)uCC`i1JP!E%4II}f}~7K@^hRjWd`WCl+Po3ap7{q^Tk~q zp#toWX8mB${C7?Gw*_Xba`in^*zJL^NOmtd^4}7Jg7oYN2Aeu%Jf6xfqJgzO#FCPa)2u zE1mGJjKrhHG1&Hc9OpZ=CeS9dWI!}At)xZV{9_@&Ognctm-gpH-RQb163fbO zzSL>WUp7fo{76U*$2wqa=Jjowb;@D}0Tvkzp4hw4K6>_=bm6u96`Y`CTc-;~9{cyK z`^S~42=T^4=x;xC-#qya<03QMm+<^bpJN~-tE{BW%mKK$*3I}whoLel{&wwD>ot~b z)kT5lo$Wq^D^6$Eo$wxQq!7)HK%hiud0?QRM*!af+k34HYeb~~)Bg-x{}z7bk V&rexG(k^o)z|7dvs1D+m^gmF}7^DCI literal 0 HcmV?d00001 diff --git a/src/images/icons/otter-blocks.png b/src/images/icons/otter-blocks.png new file mode 100644 index 0000000000000000000000000000000000000000..52076ebd54be2e0634a8ac03a76b58ab4f41a18c GIT binary patch literal 5763 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 JRErsh{12Q?NWuUB literal 0 HcmV?d00001 diff --git a/src/technologies/e.json b/src/technologies/e.json index d0a51441d..08b33a886 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -146,6 +146,20 @@ ], "website": "https://erpnext.com" }, + "Essential Blocks": { + "cats": [ + 87 + ], + "description": "Essential Blocks is a Gutenberg Blocks page builder plugin that adds extra functionality to the WordPress Block Editor.", + "icon": "essential-blocks.png", + "requires": "WordPress", + "dom": [ + "link[href*='/wp-content/uploads/eb-style/']", + "link#essential-blocks-frontend-style-css" + ], + "html": "]+class=[\"']wp-block-essential-blocks-*", + "website": "https://essential-blocks.com" + }, "ESW": { "cats": [ 106 diff --git a/src/technologies/g.json b/src/technologies/g.json index 0458fc285..87724c494 100644 --- a/src/technologies/g.json +++ b/src/technologies/g.json @@ -450,19 +450,11 @@ "description": "Premium block library & block editor enhancements from StudioPress.", "icon": "genesis-blocks.png", "requires": "WordPress", + "dom": [ + "link[href*='/wp-content/plugins/atomic-blocks']", + "link[href*='/wp-content/plugins/genesis-blocks']" + ], "html": "]+class=[\"']wp-block-atomic-blocks-*", - "dom": { - "link[href*='/wp-content/plugins/atomic-blocks']": { - "attributes": { - "href": "/wp-content/plugins/atomic-blocks/" - } - }, - "link[href*='/wp-content/plugins/genesis-blocks']": { - "attributes": { - "href": "/wp-content/plugins/genesis-blocks/" - } - } - }, "scriptSrc": "/wp-content/themes/genesis-blocks/lib/js/", "website": "https://www.studiopress.com/genesis-blocks/" }, diff --git a/src/technologies/o.json b/src/technologies/o.json index 867306285..62fd3c13e 100644 --- a/src/technologies/o.json +++ b/src/technologies/o.json @@ -1,4 +1,15 @@ { + "Otter Blocks": { + "cats": [ + 87 + ], + "description": "Otter blocks is a Gutenberg Blocks page builder plugin that adds extra functionality to the WordPress Block Editor.", + "dom": "link[href*='/wp-content/plugins/otter-blocks']", + "html": "]+class=[\"']wp-block-themeisle-blocks-*", + "icon": "otter-blocks.png", + "requires": "WordPress", + "website": "https://wordpress.org/plugins/otter-blocks/" + }, "OTYS": { "cats": [ 101 diff --git a/src/technologies/p.json b/src/technologies/p.json index eac4387e5..5f2fadf1d 100644 --- a/src/technologies/p.json +++ b/src/technologies/p.json @@ -166,6 +166,17 @@ "saas": true, "website": "https://www.index-education.com/fr/logiciel-gestion-vie-scolaire.php" }, + "PublishPress Blocks": { + "cats": [ + 87 + ], + "description": "PublishPress Blocks is a Gutenberg Blocks page builder plugin that adds extra functionality to the WordPress Block Editor.", + "icon": "publishpress-blocks.png", + "requires": "WordPress", + "dom": "link[href*='/wp-content/plugins/advanced-gutenberg/assets/css/blocks.css?ver=([\\d\\.]+))?\\;version:\\1']", + "html": "]+class=[\"']wp-block-advgb-*", + "website": "https://publishpress.com/blocks/" + }, "PWA": { "cats": [ 19 From 06d4d5c03ea3dacefc174c7eb2a418055e7e2ee8 Mon Sep 17 00:00:00 2001 From: Patrick Meenan Date: Tue, 3 Dec 2024 10:04:00 -0500 Subject: [PATCH 130/135] Merge fix for array.find from wptagent --- src/js/wappalyzer.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/js/wappalyzer.js b/src/js/wappalyzer.js index f99a592f2..6928dfb4a 100644 --- a/src/js/wappalyzer.js +++ b/src/js/wappalyzer.js @@ -89,8 +89,15 @@ const Wappalyzer = { .flat(), ].find(({ name: _name }) => name === _name), - getCategory: (id) => Wappalyzer.categories.find(({ id: _id }) => id === _id), - + getCategory: (id) => { + for (const category of Wappalyzer.categories) { + if (category.id == id) { + return category; + } + } + return null; + }, + /** * Resolve promises for implied technology. * @param {Array} detections From 5eb2197542c9a9676d76ae4dcdf372545f8d519b Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 3 Dec 2024 14:56:50 -0700 Subject: [PATCH 131/135] Add: detect Twenty Twenty-Four WordPress core theme --- src/technologies/t.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/technologies/t.json b/src/technologies/t.json index c8f640535..cecb39729 100644 --- a/src/technologies/t.json +++ b/src/technologies/t.json @@ -3216,6 +3216,20 @@ "scriptSrc": "/wp-content/themes/twentytwenty/", "website": "https://wordpress.org/themes/twentytwenty" }, + "Twenty Twenty-Four": { + "cats": [ + 80 + ], + "description": "Twenty Twenty-Four is the default WordPress theme for 2024.", + "dom": "link[href*='/wp-content/themes/twentytwentyfour/']", + "icon": "WordPress.svg", + "pricing": [ + "freemium" + ], + "requires": "WordPress", + "scriptSrc": "/wp-content/themes/twentytwentyfour/", + "website": "https://wordpress.org/themes/twentytwentyfour" + }, "Twenty Twenty-One": { "cats": [ 80 From b5b48bbceb3544d66d43e28a7abfa9467c676726 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 3 Dec 2024 14:59:34 -0700 Subject: [PATCH 132/135] Add: detect Twenty Twenty-Five WordPress core theme --- src/technologies/t.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/technologies/t.json b/src/technologies/t.json index c8f640535..cd37d6fe0 100644 --- a/src/technologies/t.json +++ b/src/technologies/t.json @@ -3234,6 +3234,20 @@ "scriptSrc": "/wp-content/themes/twentytwentyone/", "website": "https://wordpress.org/themes/twentytwentyone" }, + "Twenty Twenty-Five": { + "cats": [ + 80 + ], + "description": "Twenty Twenty-Five is the default WordPress theme for 2025.", + "dom": "link[href*='/wp-content/themes/twentytwentyfive/']", + "icon": "WordPress.svg", + "pricing": [ + "freemium" + ], + "requires": "WordPress", + "scriptSrc": "/wp-content/themes/twentytwentyfive/", + "website": "https://wordpress.org/themes/twentytwentyfive" + }, "Twenty Twenty-Three": { "cats": [ 80 From 30ab75c95a79b857885f4f3b5bb8f99cd356d070 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Tue, 3 Dec 2024 15:18:13 -0700 Subject: [PATCH 133/135] Fix linter errors --- src/js/wappalyzer.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/js/wappalyzer.js b/src/js/wappalyzer.js index 6928dfb4a..c75e86a92 100644 --- a/src/js/wappalyzer.js +++ b/src/js/wappalyzer.js @@ -89,15 +89,15 @@ const Wappalyzer = { .flat(), ].find(({ name: _name }) => name === _name), - getCategory: (id) => { - for (const category of Wappalyzer.categories) { - if (category.id == id) { - return category; - } + getCategory: (id) => { + for (const category of Wappalyzer.categories) { + if (category.id === id) { + return category } - return null; - }, - + } + return null + }, + /** * Resolve promises for implied technology. * @param {Array} detections From dec72ba1676d018c5c546849e2ffc72eb15f372a Mon Sep 17 00:00:00 2001 From: Rick Viscomi Date: Wed, 4 Dec 2024 19:43:55 -0500 Subject: [PATCH 134/135] Vercel Speed Insights --- src/technologies/v.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/technologies/v.json b/src/technologies/v.json index 9f70a8ac1..49a638dc8 100644 --- a/src/technologies/v.json +++ b/src/technologies/v.json @@ -407,6 +407,29 @@ ], "website": "https://vercel.com/analytics" }, + "Vercel Speed Insights": { + "cats": [ + 10 + ], + "dom": { + "script[data-sdkn='@vercel/speed-insights/next']": { + "attributes": { + "data-sdkv": "^(.+)$\\;version:\\1" + } + } + }, + "icon": "vercel.svg", + "js": { + "si": "" + }, + "requires": [ + "Vercel" + ], + "scriptSrc": [ + "/_vercel/speed-insights/script\\.js" + ], + "website": "https://vercel.com/docs/speed-insights" + }, "Verifone 2Checkout": { "cats": [ 41 @@ -1420,4 +1443,4 @@ "requires": "Vue.js", "website": "https://vxetable.cn" } -} \ No newline at end of file +} From b62074aa424b974973e828355a25a593c0758103 Mon Sep 17 00:00:00 2001 From: Rick Viscomi Date: Wed, 4 Dec 2024 19:47:41 -0500 Subject: [PATCH 135/135] description --- src/technologies/v.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/technologies/v.json b/src/technologies/v.json index 49a638dc8..d60bd8917 100644 --- a/src/technologies/v.json +++ b/src/technologies/v.json @@ -411,6 +411,7 @@ "cats": [ 10 ], + "description": "Vercel Speed Insights provides you with a detailed view of your website's performance metrics, based on Core Web Vitals.", "dom": { "script[data-sdkn='@vercel/speed-insights/next']": { "attributes": {