From 0dbf268f37491671427e6d4af078972343f570d3 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 18 Feb 2026 08:32:17 +1000 Subject: [PATCH 001/113] Fix #5284 for older sqlite3 configurations --- backend/lib/config.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/lib/config.js b/backend/lib/config.js index cb01a0d0d0..544bbfecb0 100644 --- a/backend/lib/config.js +++ b/backend/lib/config.js @@ -2,10 +2,13 @@ import fs from "node:fs"; import NodeRSA from "node-rsa"; import { global as logger } from "../logger.js"; -const keysFile = '/data/keys.json'; -const mysqlEngine = 'mysql2'; -const postgresEngine = 'pg'; -const sqliteClientName = 'better-sqlite3'; +const keysFile = '/data/keys.json'; +const mysqlEngine = 'mysql2'; +const postgresEngine = 'pg'; +const sqliteClientName = 'better-sqlite3'; + +// Not used for new setups anymore but may exist in legacy setups +const legacySqliteClientName = 'sqlite3'; let instance = null; @@ -184,7 +187,7 @@ const configGet = (key) => { */ const isSqlite = () => { instance === null && configure(); - return instance.database.knex && instance.database.knex.client === sqliteClientName; + return instance.database.knex && [sqliteClientName, legacySqliteClientName].includes(instance.database.knex.client); }; /** From 608dc0b6bf4e47e0093c8ec871af6f24e9309587 Mon Sep 17 00:00:00 2001 From: Birger Date: Wed, 18 Feb 2026 11:31:42 +0100 Subject: [PATCH 002/113] chore: added Norwegian translation --- .../src/locale/src/HelpDoc/no/AccessLists.md | 7 + .../src/locale/src/HelpDoc/no/Certificates.md | 29 + .../src/locale/src/HelpDoc/no/DeadHosts.md | 10 + .../src/locale/src/HelpDoc/no/ProxyHosts.md | 7 + .../locale/src/HelpDoc/no/RedirectionHosts.md | 7 + frontend/src/locale/src/HelpDoc/no/Streams.md | 6 + frontend/src/locale/src/HelpDoc/no/index.ts | 6 + frontend/src/locale/src/lang-list.json | 3 + frontend/src/locale/src/no.json | 776 ++++++++++++++++++ 9 files changed, 851 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/no/AccessLists.md create mode 100644 frontend/src/locale/src/HelpDoc/no/Certificates.md create mode 100644 frontend/src/locale/src/HelpDoc/no/DeadHosts.md create mode 100644 frontend/src/locale/src/HelpDoc/no/ProxyHosts.md create mode 100644 frontend/src/locale/src/HelpDoc/no/RedirectionHosts.md create mode 100644 frontend/src/locale/src/HelpDoc/no/Streams.md create mode 100644 frontend/src/locale/src/HelpDoc/no/index.ts create mode 100644 frontend/src/locale/src/no.json diff --git a/frontend/src/locale/src/HelpDoc/no/AccessLists.md b/frontend/src/locale/src/HelpDoc/no/AccessLists.md new file mode 100644 index 0000000000..f8ff72963b --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/no/AccessLists.md @@ -0,0 +1,7 @@ +## Hva er en tilgangsliste? + +Tilgangslister gir en svarteliste eller hviteliste over spesifikke klient‑IP‑adresser, sammen med autentisering for `Proxy‑hosts` via Basic HTTP‑autentisering. + +Du kan konfigurere flere klientregler, brukernavn og passord for én tilgangsliste og deretter bruke denne på én eller flere `Proxy‑hosts`. + +Dette er spesielt nyttig for videresendte webtjenester som ikke har innebygd autentisering, eller når du ønsker å beskytte mot ukjente klienter. diff --git a/frontend/src/locale/src/HelpDoc/no/Certificates.md b/frontend/src/locale/src/HelpDoc/no/Certificates.md new file mode 100644 index 0000000000..f33684437d --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/no/Certificates.md @@ -0,0 +1,29 @@ +## Hjelp om sertifikater + +### HTTP‑sertifikat + +Et HTTP‑validert sertifikat betyr at Let's Encrypt‑serverne vil forsøke å nå +domenene dine over HTTP (ikke HTTPS!) og hvis det lykkes, vil de utstede sertifikatet. + +For denne metoden må du ha en `Proxy‑host` opprettet for domenet/domenene dine som +er tilgjengelig over HTTP og peker til denne Nginx‑installasjonen. Etter at et sertifikat +er utstedt, kan du endre `Proxy‑host` til også å bruke dette sertifikatet for HTTPS‑tilkoblinger. +Proxy‑hosten må imidlertid fortsatt være konfigurert for HTTP‑tilgang for at sertifikatet skal kunne fornyes. + +Denne prosessen _støtter ikke_ wildcard‑domener. + +### DNS‑sertifikat + +Et DNS‑validert sertifikat krever at du bruker en DNS‑leverandør‑plugin. Denne leverandøren +vil opprette midlertidige DNS‑poster på domenet ditt, og Let's Encrypt vil deretter spørre +disse postene for å bekrefte at du eier domenet. Hvis valideringen lykkes, utstedes sertifikatet. + +Du trenger ikke å ha en `Proxy‑host` opprettet før du ber om denne typen sertifikat. Du trenger heller +ikke at `Proxy‑host` er konfigurert for HTTP‑tilgang. + +Denne prosessen _støtter_ wildcard‑domener. + +### Egendefinert sertifikat + +Bruk dette alternativet for å laste opp ditt eget SSL‑sertifikat, levert av din +egen sertifikatmyndighet (CA). diff --git a/frontend/src/locale/src/HelpDoc/no/DeadHosts.md b/frontend/src/locale/src/HelpDoc/no/DeadHosts.md new file mode 100644 index 0000000000..300a7521c1 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/no/DeadHosts.md @@ -0,0 +1,10 @@ +## Hva er en 404‑host? + +En 404‑host er enkelt og greit en host‑oppsett som viser en 404‑side. + +Dette kan være nyttig når domenet ditt er oppført i søkemotorer og du ønsker å +vise en penere feilmelding, eller for å fortelle søkeindekser at sidene på domenet +ikke lenger eksisterer. + +En annen fordel med å ha denne hosten er å kunne spore treff i loggene og +se hvilke henvisere som kommer til den. diff --git a/frontend/src/locale/src/HelpDoc/no/ProxyHosts.md b/frontend/src/locale/src/HelpDoc/no/ProxyHosts.md new file mode 100644 index 0000000000..8092e73e06 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/no/ProxyHosts.md @@ -0,0 +1,7 @@ +## Hva er en Proxy‑host? + +En Proxy‑host er inngangspunktet (innkommende endepunkt) for en webtjeneste du ønsker å videresende. + +Den tilbyr valgfri SSL‑terminering for tjenesten din hvis tjenesten ikke har innebygd støtte for SSL. + +Proxy‑hosts er den vanligste bruken av Nginx Proxy Manager. diff --git a/frontend/src/locale/src/HelpDoc/no/RedirectionHosts.md b/frontend/src/locale/src/HelpDoc/no/RedirectionHosts.md new file mode 100644 index 0000000000..db5c541b98 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/no/RedirectionHosts.md @@ -0,0 +1,7 @@ +## Hva er en omdirigerings‑host? + +En omdirigerings‑host omdirigerer forespørsler fra det innkommende domenet og videresender +brukeren til et annet domene. + +Den vanligste årsaken til å bruke denne typen host er når nettstedet ditt har byttet +domene, men søkemotorer eller henvisningslenker fortsatt peker til det gamle domenet. diff --git a/frontend/src/locale/src/HelpDoc/no/Streams.md b/frontend/src/locale/src/HelpDoc/no/Streams.md new file mode 100644 index 0000000000..370bec3dff --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/no/Streams.md @@ -0,0 +1,6 @@ +## Hva er en Stream? + +En relativt ny funksjon i Nginx. En Stream brukes til å videresende TCP/UDP‑trafikk +direkte til en annen maskin i nettverket. + +Dette er nyttig hvis du kjører spillservere, FTP‑ eller SSH‑servere. diff --git a/frontend/src/locale/src/HelpDoc/no/index.ts b/frontend/src/locale/src/HelpDoc/no/index.ts new file mode 100644 index 0000000000..a9bb46ba7c --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/no/index.ts @@ -0,0 +1,6 @@ +export * as AccessLists from "./AccessLists.md"; +export * as Certificates from "./Certificates.md"; +export * as DeadHosts from "./DeadHosts.md"; +export * as ProxyHosts from "./ProxyHosts.md"; +export * as RedirectionHosts from "./RedirectionHosts.md"; +export * as Streams from "./Streams.md"; diff --git a/frontend/src/locale/src/lang-list.json b/frontend/src/locale/src/lang-list.json index 408d06eb80..57fd37416f 100644 --- a/frontend/src/locale/src/lang-list.json +++ b/frontend/src/locale/src/lang-list.json @@ -58,5 +58,8 @@ }, "locale-hu-HU": { "defaultMessage": "Magyar" + }, + "locale-no-NO": { + "defaultMessage": "Norsk" } } diff --git a/frontend/src/locale/src/no.json b/frontend/src/locale/src/no.json new file mode 100644 index 0000000000..f14ea54b11 --- /dev/null +++ b/frontend/src/locale/src/no.json @@ -0,0 +1,776 @@ +{ + "2fa.backup-codes-remaining": { + "defaultMessage": "Gjenstående backup-koder: {count}" + }, + "2fa.backup-warning": { + "defaultMessage": "Lagre disse backup-kodene på et sikkert sted. Hver kode kan kun brukes én gang." + }, + "2fa.disable": { + "defaultMessage": "Deaktiver tofaktorautentisering" + }, + "2fa.disable-confirm": { + "defaultMessage": "Deaktiver 2FA" + }, + "2fa.disable-warning": { + "defaultMessage": "Å deaktivere tofaktorautentisering vil gjøre kontoen din mindre sikker." + }, + "2fa.disabled": { + "defaultMessage": "Deaktivert" + }, + "2fa.done": { + "defaultMessage": "Jeg har lagret backup-kodene mine" + }, + "2fa.enable": { + "defaultMessage": "Aktiver tofaktorautentisering" + }, + "2fa.enabled": { + "defaultMessage": "Aktivert" + }, + "2fa.enter-code": { + "defaultMessage": "Angi verifiseringskode" + }, + "2fa.enter-code-disable": { + "defaultMessage": "Angi verifiseringskode for å deaktivere" + }, + "2fa.regenerate": { + "defaultMessage": "Regenerer" + }, + "2fa.regenerate-backup": { + "defaultMessage": "Generer nye backup-koder" + }, + "2fa.regenerate-instructions": { + "defaultMessage": "Angi en verifiseringskode for å generere nye backup-koder. Dine gamle koder vil bli ugyldige." + }, + "2fa.secret-key": { + "defaultMessage": "Hemmelig nøkkel" + }, + "2fa.setup-instructions": { + "defaultMessage": "Skann denne QR-koden med autentiseringsappen din, eller skriv inn nøkkelen manuelt." + }, + "2fa.status": { + "defaultMessage": "Status" + }, + "2fa.title": { + "defaultMessage": "Tofaktorautentisering" + }, + "2fa.verify-enable": { + "defaultMessage": "Verifiser og aktiver" + }, + "access-list": { + "defaultMessage": "Tilgangsliste" + }, + "access-list.access-count": { + "defaultMessage": "{count} {count, plural, one {regel} other {regler}}" + }, + "access-list.auth-count": { + "defaultMessage": "{count} {count, plural, one {bruker} other {brukere}}" + }, + "access-list.help-rules-last": { + "defaultMessage": "Når minst én regel finnes, legges denne \"deny all\"-regelen til sist" + }, + "access-list.help.rules-order": { + "defaultMessage": "Merk at tillat- og nekt-direktivene brukes i den rekkefølgen de er definert." + }, + "access-list.pass-auth": { + "defaultMessage": "Send autentisering til upstream" + }, + "access-list.public": { + "defaultMessage": "Offentlig tilgjengelig" + }, + "access-list.public.subtitle": { + "defaultMessage": "Ingen grunnleggende autentisering kreves" + }, + "access-list.rule-source.placeholder": { + "defaultMessage": "192.168.1.100 eller 192.168.1.0/24 eller 2001:0db8::/32" + }, + "access-list.satisfy-any": { + "defaultMessage": "Oppfyll en av kravene" + }, + "access-list.subtitle": { + "defaultMessage": "{users} {users, plural, one {bruker} other {brukere}}, {rules} {rules, plural, one {regel} other {regler}} - Opprettet: {date}" + }, + "access-lists": { + "defaultMessage": "Tilgangslister" + }, + "action.add": { + "defaultMessage": "Legg til" + }, + "action.add-location": { + "defaultMessage": "Legg til plassering" + }, + "action.allow": { + "defaultMessage": "Tillat" + }, + "action.close": { + "defaultMessage": "Lukk" + }, + "action.delete": { + "defaultMessage": "Slett" + }, + "action.deny": { + "defaultMessage": "Nekt" + }, + "action.disable": { + "defaultMessage": "Deaktiver" + }, + "action.download": { + "defaultMessage": "Last ned" + }, + "action.edit": { + "defaultMessage": "Rediger" + }, + "action.enable": { + "defaultMessage": "Aktiver" + }, + "action.permissions": { + "defaultMessage": "Tillatelser" + }, + "action.renew": { + "defaultMessage": "Forny" + }, + "action.view-details": { + "defaultMessage": "Vis detaljer" + }, + "auditlogs": { + "defaultMessage": "Revisjonslogger" + }, + "auto": { + "defaultMessage": "Auto" + }, + "cancel": { + "defaultMessage": "Avbryt" + }, + "certificate": { + "defaultMessage": "Sertifikat" + }, + "certificate.custom-certificate": { + "defaultMessage": "Egendefinert Sertifikat" + }, + "certificate.custom-certificate-key": { + "defaultMessage": "Egendefinert Sertifikat nøkkel" + }, + "certificate.custom-intermediate": { + "defaultMessage": "Egendefinert Intermediate Sertifikat" + }, + "certificate.in-use": { + "defaultMessage": "I bruk" + }, + "certificate.none.subtitle": { + "defaultMessage": "Ingen sertifikat tildelt" + }, + "certificate.none.subtitle.for-http": { + "defaultMessage": "Denne verten vil ikke bruke HTTPS" + }, + "certificate.none.title": { + "defaultMessage": "Ingen" + }, + "certificate.not-in-use": { + "defaultMessage": "Ikke i bruk" + }, + "certificate.renew": { + "defaultMessage": "Forny sertifikat" + }, + "certificates": { + "defaultMessage": "Sertifikater" + }, + "certificates.custom": { + "defaultMessage": "Egendefinert Sertifikat" + }, + "certificates.custom.warning": { + "defaultMessage": "Nøkkelfiler beskyttet med passordfrase støttes ikke." + }, + "certificates.dns.credentials": { + "defaultMessage": "Innhold i legitimasjonsfil" + }, + "certificates.dns.credentials-note": { + "defaultMessage": "Denne pluginen krever en konfigurasjonsfil som inneholder en API-token eller andre legitimasjoner for leverandøren din" + }, + "certificates.dns.credentials-warning": { + "defaultMessage": "Disse dataene vil bli lagret som ren tekst i databasen og i en fil!" + }, + "certificates.dns.propagation-seconds": { + "defaultMessage": "Propageringsekunder" + }, + "certificates.dns.propagation-seconds-note": { + "defaultMessage": "La stå tomt for å bruke pluginens standardverdi. Antall sekunder å vente på DNS-propagasjon." + }, + "certificates.dns.provider": { + "defaultMessage": "DNS-leverandør" + }, + "certificates.dns.provider.placeholder": { + "defaultMessage": "Velg en leverandør..." + }, + "certificates.dns.warning": { + "defaultMessage": "Denne seksjonen krever noe kunnskap om Certbot og dets DNS-plugins. Vennligst konsulter dokumentasjonen for de respektive pluginene." + }, + "certificates.http.reachability-404": { + "defaultMessage": "Det finnes en server på dette domenet, men det ser ikke ut til å være Nginx Proxy Manager. Vennligst sørg for at domenet ditt peker til IP-en der NPM-instansen kjører." + }, + "certificates.http.reachability-failed-to-check": { + "defaultMessage": "Kunne ikke sjekke tilgjengeligheten på grunn av en kommunikasjonsfeil med site24x7.com." + }, + "certificates.http.reachability-not-resolved": { + "defaultMessage": "Det finnes ingen server tilgjengelig på dette domenet. Vennligst sørg for at domenet ditt eksisterer og peker til IP-en der NPM-instansen kjører, og om nødvendig at port 80 er videresendt i ruteren din." + }, + "certificates.http.reachability-ok": { + "defaultMessage": "Serveren din er tilgjengelig, og det bør være mulig å opprette sertifikater." + }, + "certificates.http.reachability-other": { + "defaultMessage": "Det finnes en server på dette domenet, men den returnerte en uventet statuskode {code}. Er det NPM-serveren? Vennligst sørg for at domenet ditt peker til IP-en der NPM-instansen kjører." + }, + "certificates.http.reachability-wrong-data": { + "defaultMessage": "Det finnes en server på dette domenet, men den returnerte uventet data. Er det NPM-serveren? Vennligst sørg for at domenet ditt peker til IP-en der NPM-instansen kjører." + }, + "certificates.http.test-results": { + "defaultMessage": "Testresultater" + }, + "certificates.http.warning": { + "defaultMessage": "Disse domenene må allerede være konfigurert til å peke til denne installasjonen." + }, + "certificates.key-type": { + "defaultMessage": "Nøkkeltype" + }, + "certificates.key-type-description": { + "defaultMessage": "RSA er bredt kompatibel, ECDSA er raskere og mer sikker, men støttes kanskje ikke av eldre systemer" + }, + "certificates.key-type-ecdsa": { + "defaultMessage": "ECDSA 256" + }, + "certificates.key-type-rsa": { + "defaultMessage": "RSA 2048" + }, + "certificates.request.subtitle": { + "defaultMessage": "med Let's Encrypt" + }, + "certificates.request.title": { + "defaultMessage": "Be om et nytt sertifikat" + }, + "column.access": { + "defaultMessage": "Tilgang" + }, + "column.authorization": { + "defaultMessage": "Autorisasjon" + }, + "column.authorizations": { + "defaultMessage": "Autorisasjoner" + }, + "column.custom-locations": { + "defaultMessage": "Egendefinerte plasseringer" + }, + "column.destination": { + "defaultMessage": "Destinasjon" + }, + "column.details": { + "defaultMessage": "Detaljer" + }, + "column.email": { + "defaultMessage": "E-post" + }, + "column.event": { + "defaultMessage": "Hendelse" + }, + "column.expires": { + "defaultMessage": "Utløper" + }, + "column.http-code": { + "defaultMessage": "HTTP-kode" + }, + "column.incoming-port": { + "defaultMessage": "Innkommende port" + }, + "column.name": { + "defaultMessage": "Navn" + }, + "column.protocol": { + "defaultMessage": "Protokoll" + }, + "column.provider": { + "defaultMessage": "Leverandør" + }, + "column.roles": { + "defaultMessage": "Roller" + }, + "column.rules": { + "defaultMessage": "Regler" + }, + "column.satisfy": { + "defaultMessage": "Oppfylle" + }, + "column.satisfy-all": { + "defaultMessage": "Alle" + }, + "column.satisfy-any": { + "defaultMessage": "Noen" + }, + "column.scheme": { + "defaultMessage": "Skjema" + }, + "column.source": { + "defaultMessage": "Kilde" + }, + "column.ssl": { + "defaultMessage": "SSL" + }, + "column.status": { + "defaultMessage": "Status" + }, + "created-on": { + "defaultMessage": "Opprettet: {date}" + }, + "dashboard": { + "defaultMessage": "Dashboard" + }, + "dead-host": { + "defaultMessage": "404 Tjener ikke funnet" + }, + "dead-hosts": { + "defaultMessage": "404 Tjenere ikke funnet" + }, + "dead-hosts.count": { + "defaultMessage": "{count} {count, plural, one {404 Tjener} other {404 Tjenere}}" + }, + "disabled": { + "defaultMessage": "Deaktivert" + }, + "domain-names": { + "defaultMessage": "Domener" + }, + "domain-names.max": { + "defaultMessage": "{count} domener maksimum" + }, + "domain-names.placeholder": { + "defaultMessage": "Begynn å skrive for å legge til domene..." + }, + "domain-names.wildcards-not-permitted": { + "defaultMessage": "Wildcards er ikke tillatt for denne typen" + }, + "domain-names.wildcards-not-supported": { + "defaultMessage": "Wildcards støttes ikke for denne CA-en" + }, + "domains.advanced": { + "defaultMessage": "Avansert" + }, + "domains.force-ssl": { + "defaultMessage": "Tving SSL" + }, + "domains.hsts-enabled": { + "defaultMessage": "HSTS Aktivert" + }, + "domains.hsts-subdomains": { + "defaultMessage": "HSTS Underdomener" + }, + "domains.http2-support": { + "defaultMessage": "HTTP/2 Støtte" + }, + "domains.trust-forwarded-proto": { + "defaultMessage": "Stol på Upstream Forwarded Proto Headers" + }, + "domains.use-dns": { + "defaultMessage": "Bruk DNS Utfordring" + }, + "email-address": { + "defaultMessage": "E-postadresse" + }, + "empty-search": { + "defaultMessage": "Ingen resultater funnet" + }, + "empty-subtitle": { + "defaultMessage": "Hvorfor ikke opprette en?" + }, + "enabled": { + "defaultMessage": "Aktivert" + }, + "error.access.at-least-one": { + "defaultMessage": "Enten en autorisasjon eller en tilgangsregel er påkrevd" + }, + "error.access.duplicate-usernames": { + "defaultMessage": "Autorisasjonsbrukernavn må være unike" + }, + "error.invalid-auth": { + "defaultMessage": "Ugyldig e-post eller passord" + }, + "error.invalid-domain": { + "defaultMessage": "Ugyldig domene: {domain}" + }, + "error.invalid-email": { + "defaultMessage": "Ugyldig e-postadresse" + }, + "error.max-character-length": { + "defaultMessage": "Maksimal lengde er {max} tegn" + }, + "error.max-domains": { + "defaultMessage": "For mange domener, maks er {max}" + }, + "error.maximum": { + "defaultMessage": "Maksimum er {max}" + }, + "error.min-character-length": { + "defaultMessage": "Minimum lengde er {min} tegn" + }, + "error.minimum": { + "defaultMessage": "Minimum er {min}" + }, + "error.passwords-must-match": { + "defaultMessage": "Passordene må være like" + }, + "error.required": { + "defaultMessage": "Dette er påkrevd" + }, + "expires.on": { + "defaultMessage": "Utløper: {date}" + }, + "footer.github-fork": { + "defaultMessage": "Fork meg på Github" + }, + "host.flags.block-exploits": { + "defaultMessage": "Blokker vanlige utnyttelser" + }, + "host.flags.cache-assets": { + "defaultMessage": "Mellomlagre ressurser" + }, + "host.flags.preserve-path": { + "defaultMessage": "Behold sti" + }, + "host.flags.protocols": { + "defaultMessage": "Protokoller" + }, + "host.flags.websockets-upgrade": { + "defaultMessage": "Websockets-støtte" + }, + "host.forward-port": { + "defaultMessage": "Viderekoble Port" + }, + "host.forward-scheme": { + "defaultMessage": "Skjema" + }, + "hosts": { + "defaultMessage": "Vertsnavn" + }, + "http-only": { + "defaultMessage": "Kun HTTP" + }, + "lets-encrypt": { + "defaultMessage": "Let's Encrypt" + }, + "lets-encrypt-via-dns": { + "defaultMessage": "Let's Encrypt via DNS" + }, + "lets-encrypt-via-http": { + "defaultMessage": "Let's Encrypt via HTTP" + }, + "loading": { + "defaultMessage": "Laster…" + }, + "login.2fa-code": { + "defaultMessage": "Verifikasjonskode" + }, + "login.2fa-code-placeholder": { + "defaultMessage": "Skriv inn kode" + }, + "login.2fa-description": { + "defaultMessage": "Skriv inn koden fra autentiseringsappen din" + }, + "login.2fa-title": { + "defaultMessage": "To-faktorautentisering" + }, + "login.2fa-verify": { + "defaultMessage": "Verifiser" + }, + "login.title": { + "defaultMessage": "Logg på kontoen din" + }, + "nginx-config.label": { + "defaultMessage": "Egendefinert Nginx-konfigurasjon" + }, + "nginx-config.placeholder": { + "defaultMessage": "# Skriv inn din egendefinerte Nginx-konfigurasjon her på egen risiko!" + }, + "no-permission-error": { + "defaultMessage": "Du har ikke tilgang til å se dette." + }, + "notfound.action": { + "defaultMessage": "Ta meg hjem" + }, + "notfound.content": { + "defaultMessage": "Beklager, siden du leter etter ble ikke funnet" + }, + "notfound.title": { + "defaultMessage": "Oops… Du har nettopp funnet en feilsiden" + }, + "notification.error": { + "defaultMessage": "Feil" + }, + "notification.object-deleted": { + "defaultMessage": "{object} har blitt slettet" + }, + "notification.object-disabled": { + "defaultMessage": "{object} har blitt deaktivert" + }, + "notification.object-enabled": { + "defaultMessage": "{object} har blitt aktivert" + }, + "notification.object-renewed": { + "defaultMessage": "{object} har blitt fornyet" + }, + "notification.object-saved": { + "defaultMessage": "{object} har blitt lagret" + }, + "notification.success": { + "defaultMessage": "Suksess" + }, + "object.actions-title": { + "defaultMessage": "{object} #{id}" + }, + "object.add": { + "defaultMessage": "Legg til {object}" + }, + "object.delete": { + "defaultMessage": "Slett {object}" + }, + "object.delete.content": { + "defaultMessage": "Er du sikker på at du vil slette dette {object}?" + }, + "object.edit": { + "defaultMessage": "Rediger {object}" + }, + "object.empty": { + "defaultMessage": "Det finnes ingen {objects}" + }, + "object.event.created": { + "defaultMessage": "Opprettet {object}" + }, + "object.event.deleted": { + "defaultMessage": "Slettet {object}" + }, + "object.event.disabled": { + "defaultMessage": "Deaktivert {object}" + }, + "object.event.enabled": { + "defaultMessage": "Aktivert {object}" + }, + "object.event.renewed": { + "defaultMessage": "Fornyet {object}" + }, + "object.event.updated": { + "defaultMessage": "Oppdatert {object}" + }, + "offline": { + "defaultMessage": "Utilgjengelig" + }, + "online": { + "defaultMessage": "Tilgjengelig" + }, + "options": { + "defaultMessage": "Alternativer" + }, + "password": { + "defaultMessage": "Passord" + }, + "password.generate": { + "defaultMessage": "Generer tilfeldig passord" + }, + "password.hide": { + "defaultMessage": "Skjul passord" + }, + "password.show": { + "defaultMessage": "Vis passord" + }, + "permissions.hidden": { + "defaultMessage": "Skjult" + }, + "permissions.manage": { + "defaultMessage": "Administrer" + }, + "permissions.view": { + "defaultMessage": "Kun visning" + }, + "permissions.visibility.all": { + "defaultMessage": "Alle elementer" + }, + "permissions.visibility.title": { + "defaultMessage": "Element Synlighet" + }, + "permissions.visibility.user": { + "defaultMessage": "Kun opprettede elementer" + }, + "proxy-host": { + "defaultMessage": "Proxy Host" + }, + "proxy-host.forward-host": { + "defaultMessage": "Forward Hostname / IP" + }, + "proxy-hosts": { + "defaultMessage": "Proxy-verter" + }, + "proxy-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Proxy-vert} other {Proxy-verter}}" + }, + "public": { + "defaultMessage": "Offentlig" + }, + "redirection-host": { + "defaultMessage": "Omdirigeringsvert" + }, + "redirection-host.forward-domain": { + "defaultMessage": "Viderekoble domene" + }, + "redirection-host.forward-http-code": { + "defaultMessage": "HTTP-kode" + }, + "redirection-hosts": { + "defaultMessage": "Omdirigeringsverter" + }, + "redirection-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Omdirigeringsvert} other {Omdirigeringsverter}}" + }, + "redirection-hosts.http-code.300": { + "defaultMessage": "300 Multiple Choices" + }, + "redirection-hosts.http-code.301": { + "defaultMessage": "301 Flyttet permanent" + }, + "redirection-hosts.http-code.302": { + "defaultMessage": "302 Flyttet midlertidig" + }, + "redirection-hosts.http-code.303": { + "defaultMessage": "303 Se andre" + }, + "redirection-hosts.http-code.307": { + "defaultMessage": "307 Midlertidig omdirigering" + }, + "redirection-hosts.http-code.308": { + "defaultMessage": "308 Permanent omdirigering" + }, + "role.admin": { + "defaultMessage": "Administrator" + }, + "role.standard-user": { + "defaultMessage": "Standardbruker" + }, + "save": { + "defaultMessage": "Lagre" + }, + "setting": { + "defaultMessage": "Innstilling" + }, + "settings": { + "defaultMessage": "Innstillinger" + }, + "settings.default-site": { + "defaultMessage": "Standardnettsted" + }, + "settings.default-site.404": { + "defaultMessage": "404-side" + }, + "settings.default-site.444": { + "defaultMessage": "Ingen respons (444)" + }, + "settings.default-site.congratulations": { + "defaultMessage": "Gratulerer-side" + }, + "settings.default-site.description": { + "defaultMessage": "Hva som skal vises når Nginx treffes med en ukjent vert" + }, + "settings.default-site.html": { + "defaultMessage": "Egendefinert HTML" + }, + "settings.default-site.html.placeholder": { + "defaultMessage": "" + }, + "settings.default-site.redirect": { + "defaultMessage": "Omdiriger" + }, + "setup.preamble": { + "defaultMessage": "Kom i gang ved å opprette din administratorkonto." + }, + "setup.title": { + "defaultMessage": "Velkommen!" + }, + "sign-in": { + "defaultMessage": "Logg inn" + }, + "ssl-certificate": { + "defaultMessage": "SSL-sertifikat" + }, + "stream": { + "defaultMessage": "Strøm" + }, + "stream.forward-host": { + "defaultMessage": "Viderekoble vert" + }, + "stream.forward-host.placeholder": { + "defaultMessage": "example.com eller 10.0.0.1 eller 2001:db8:3333:4444:5555:6666:7777:8888" + }, + "stream.incoming-port": { + "defaultMessage": "Innkommende port" + }, + "streams": { + "defaultMessage": "Strømmer" + }, + "streams.count": { + "defaultMessage": "{count} {count, plural, one {Strøm} other {Strømmer}}" + }, + "streams.tcp": { + "defaultMessage": "TCP" + }, + "streams.udp": { + "defaultMessage": "UDP" + }, + "test": { + "defaultMessage": "Test" + }, + "update-available": { + "defaultMessage": "Oppdatering tilgjengelig: {latestVersion}" + }, + "user": { + "defaultMessage": "Bruker" + }, + "user.change-password": { + "defaultMessage": "Endre passord" + }, + "user.confirm-password": { + "defaultMessage": "Bekreft passord" + }, + "user.current-password": { + "defaultMessage": "Nåværende passord" + }, + "user.edit-profile": { + "defaultMessage": "Rediger profil" + }, + "user.full-name": { + "defaultMessage": "Fullt navn" + }, + "user.login-as": { + "defaultMessage": "Logg inn som {name}" + }, + "user.logout": { + "defaultMessage": "Logg ut" + }, + "user.new-password": { + "defaultMessage": "Nytt passord" + }, + "user.nickname": { + "defaultMessage": "Kallenavn" + }, + "user.set-password": { + "defaultMessage": "Angi passord" + }, + "user.set-permissions": { + "defaultMessage": "Angi tillatelser for {name}" + }, + "user.switch-dark": { + "defaultMessage": "Bytt til mørk modus" + }, + "user.switch-light": { + "defaultMessage": "Bytt til lys modus" + }, + "user.two-factor": { + "defaultMessage": "To-faktor autentisering" + }, + "username": { + "defaultMessage": "Brukernavn" + }, + "users": { + "defaultMessage": "Brukere" + } +} From c1bc471dacd9cc1d79f090ecd61c1009b63ba92c Mon Sep 17 00:00:00 2001 From: Birger Date: Wed, 18 Feb 2026 12:23:08 +0100 Subject: [PATCH 003/113] chore: added Norwegian translation, added missing references. --- frontend/check-locales.cjs | 1 + frontend/src/locale/IntlProvider.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/frontend/check-locales.cjs b/frontend/check-locales.cjs index 135dab10c2..69fd59dd03 100755 --- a/frontend/check-locales.cjs +++ b/frontend/check-locales.cjs @@ -26,6 +26,7 @@ const allLocales = [ ["id", "id-ID"], ["tr", "tr-TR"], ["hu", "hu-HU"], + ["no", "no-NO"], ]; const ignoreUnused = [/^.*$/]; diff --git a/frontend/src/locale/IntlProvider.tsx b/frontend/src/locale/IntlProvider.tsx index 8e65546a2a..424b2965ab 100755 --- a/frontend/src/locale/IntlProvider.tsx +++ b/frontend/src/locale/IntlProvider.tsx @@ -19,6 +19,7 @@ import langVi from "./lang/vi.json"; import langZh from "./lang/zh.json"; import langTr from "./lang/tr.json"; import langHu from "./lang/hu.json"; +import langNO from "./lang/no.json"; import langList from "./lang/lang-list.json"; // first item of each array should be the language code, @@ -45,6 +46,7 @@ const localeOptions = [ ["id", "id-ID", langId], ["tr", "tr-TR", langTr], ["hu", "hu-HU", langHu], + ["no", "no-NO", langNO], ]; const loadMessages = (locale?: string): typeof langList & typeof langEn => { From 19e24c7e7e44797af12c6b69b49413ed28fdc79c Mon Sep 17 00:00:00 2001 From: Birger Date: Wed, 18 Feb 2026 12:24:20 +0100 Subject: [PATCH 004/113] Rename langNO import to langNo for consistency --- frontend/src/locale/IntlProvider.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/locale/IntlProvider.tsx b/frontend/src/locale/IntlProvider.tsx index 424b2965ab..2f1511d1ae 100755 --- a/frontend/src/locale/IntlProvider.tsx +++ b/frontend/src/locale/IntlProvider.tsx @@ -19,7 +19,7 @@ import langVi from "./lang/vi.json"; import langZh from "./lang/zh.json"; import langTr from "./lang/tr.json"; import langHu from "./lang/hu.json"; -import langNO from "./lang/no.json"; +import langNo from "./lang/no.json"; import langList from "./lang/lang-list.json"; // first item of each array should be the language code, @@ -46,7 +46,7 @@ const localeOptions = [ ["id", "id-ID", langId], ["tr", "tr-TR", langTr], ["hu", "hu-HU", langHu], - ["no", "no-NO", langNO], + ["no", "no-NO", langNo], ]; const loadMessages = (locale?: string): typeof langList & typeof langEn => { From 51ef7f3b864ba4edcaf6d8310fb522a345887df6 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 19 Feb 2026 08:36:41 +1000 Subject: [PATCH 005/113] Docs update, use package version instead of latest, refer to better mariadb image --- docs/package.json | 3 ++- docs/scripts/set-version.sh | 17 +++++++++++++++++ docs/src/advanced-config/index.md | 16 +++++++--------- docs/src/guide/index.md | 2 +- docs/src/setup/index.md | 27 ++++++++++----------------- 5 files changed, 37 insertions(+), 28 deletions(-) create mode 100755 docs/scripts/set-version.sh diff --git a/docs/package.json b/docs/package.json index d4523250cf..2155a55787 100644 --- a/docs/package.json +++ b/docs/package.json @@ -2,7 +2,8 @@ "scripts": { "dev": "vitepress dev --host", "build": "vitepress build", - "preview": "vitepress preview" + "preview": "vitepress preview", + "set-version": "./scripts/set-version.sh" }, "devDependencies": { "vitepress": "^1.6.4" diff --git a/docs/scripts/set-version.sh b/docs/scripts/set-version.sh new file mode 100755 index 0000000000..b7cd3d757a --- /dev/null +++ b/docs/scripts/set-version.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -euf + +# this script accepts a version number as an argument +# and replaces {{VERSION}} in src/*.md with the provided version number. + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " + exit 1 +fi + +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$DIR/.." || exit 1 + +VERSION="$1" +# find all .md files in src/ and replace {{VERSION}} with the provided version number +find src/ -type f -name "*.md" -exec sed -i "s/{{VERSION}}/$VERSION/g" {} \; diff --git a/docs/src/advanced-config/index.md b/docs/src/advanced-config/index.md index e4a9594e0e..d987e0b022 100644 --- a/docs/src/advanced-config/index.md +++ b/docs/src/advanced-config/index.md @@ -14,7 +14,7 @@ on the `data` and `letsencrypt` folders at startup. ```yml services: app: - image: 'jc21/nginx-proxy-manager:latest' + image: 'jc21/nginx-proxy-manager:{{VERSION}}' environment: PUID: 1000 PGID: 1000 @@ -101,7 +101,7 @@ secrets: services: app: - image: 'jc21/nginx-proxy-manager:latest' + image: 'jc21/nginx-proxy-manager:{{VERSION}}' restart: unless-stopped ports: # Public HTTP Port: @@ -130,18 +130,16 @@ services: - db db: - image: jc21/mariadb-aria + image: 'linuxserver/mariadb' restart: unless-stopped environment: - # MYSQL_ROOT_PASSWORD: "npm" # use secret instead MYSQL_ROOT_PASSWORD__FILE: /run/secrets/DB_ROOT_PWD - MYSQL_DATABASE: "npm" - MYSQL_USER: "npm" - # MYSQL_PASSWORD: "npm" # use secret instead + MYSQL_DATABASE: 'npm' + MYSQL_USER: 'npm' MYSQL_PASSWORD__FILE: /run/secrets/MYSQL_PWD - MARIADB_AUTO_UPGRADE: '1' + TZ: 'Australia/Brisbane' volumes: - - ./mysql:/var/lib/mysql + - ./mariadb:/config secrets: - DB_ROOT_PWD - MYSQL_PWD diff --git a/docs/src/guide/index.md b/docs/src/guide/index.md index a9de63a932..6e2d1feb63 100644 --- a/docs/src/guide/index.md +++ b/docs/src/guide/index.md @@ -64,7 +64,7 @@ I won't go in to too much detail here but here are the basics for someone new to ```yml services: app: - image: 'jc21/nginx-proxy-manager:latest' + image: 'jc21/nginx-proxy-manager:{{VERSION}}' restart: unless-stopped environment: TZ: "Australia/Brisbane" diff --git a/docs/src/setup/index.md b/docs/src/setup/index.md index 49b9e61828..286a2e3539 100644 --- a/docs/src/setup/index.md +++ b/docs/src/setup/index.md @@ -11,7 +11,7 @@ Create a `docker-compose.yml` file: ```yml services: app: - image: 'jc21/nginx-proxy-manager:latest' + image: 'jc21/nginx-proxy-manager:{{VERSION}}' restart: unless-stopped ports: @@ -45,10 +45,7 @@ docker compose up -d ## Using MySQL / MariaDB Database -If you opt for the MySQL configuration you will have to provide the database server yourself. You can also use MariaDB. Here are the minimum supported versions: - -- MySQL v5.7.8+ -- MariaDB v10.2.7+ +If you opt for the MySQL configuration you will have to provide the database server yourself. It's easy to use another docker container for your database also and link it as part of the docker stack, so that's what the following examples are going to use. @@ -58,7 +55,7 @@ Here is an example of what your `docker-compose.yml` will look like when using a ```yml services: app: - image: 'jc21/nginx-proxy-manager:latest' + image: 'jc21/nginx-proxy-manager:{{VERSION}}' restart: unless-stopped ports: # These ports are in format : @@ -88,31 +85,29 @@ services: - db db: - image: 'jc21/mariadb-aria:latest' + image: 'linuxserver/mariadb' restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: 'npm' MYSQL_DATABASE: 'npm' MYSQL_USER: 'npm' MYSQL_PASSWORD: 'npm' - MARIADB_AUTO_UPGRADE: '1' + TZ: 'Australia/Brisbane' volumes: - - ./mysql:/var/lib/mysql + - ./mariadb:/config ``` ::: warning - Please note, that `DB_MYSQL_*` environment variables will take precedent over `DB_SQLITE_*` variables. So if you keep the MySQL variables, you will not be able to use SQLite. - ::: ### Optional: MySQL / MariaDB SSL You can enable TLS for the MySQL/MariaDB connection with these environment variables: -- DB_MYSQL_SSL: Enable SSL when set to true. If unset or false, SSL disabled (previous default behaviour). -- DB_MYSQL_SSL_REJECT_UNAUTHORIZED: (default: true) Validate the server certificate chain. Set to false to allow self‑signed/unknown CA. -- DB_MYSQL_SSL_VERIFY_IDENTITY: (default: true) Performs host name / identity verification. +- `DB_MYSQL_SSL`: Enable SSL when set to true. If unset or false, SSL disabled (previous default behaviour). +- `DB_MYSQL_SSL_REJECT_UNAUTHORIZED`: (default: true) Validate the server certificate chain. Set to false to allow self‑signed/unknown CA. +- `DB_MYSQL_SSL_VERIFY_IDENTITY`: (default: true) Performs host name / identity verification. Enabling SSL using a self-signed cert (not recommended for production). @@ -123,7 +118,7 @@ Similar to the MySQL server setup: ```yml services: app: - image: 'jc21/nginx-proxy-manager:latest' + image: 'jc21/nginx-proxy-manager:{{VERSION}}' restart: unless-stopped ports: # These ports are in format : @@ -185,8 +180,6 @@ for a list of supported architectures and if you want one that doesn't exist, Also, if you don't know how to already, follow [this guide to install docker and docker-compose](https://manre-universe.net/how-to-run-docker-and-docker-compose-on-raspbian/) on Raspbian. -Please note that the `jc21/mariadb-aria:latest` image might have some problems on some ARM devices, if you want a separate database container, use the `yobasystems/alpine-mariadb:latest` image. - ## Initial Run After the app is running for the first time, the following will happen: From 85c1a935ea26f41ffd10435352c9fa1f95b5a404 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:37:36 +0000 Subject: [PATCH 006/113] Bump tar from 7.5.7 to 7.5.9 in /test Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.7 to 7.5.9. - [Release notes](https://github.com/isaacs/node-tar/releases) - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/isaacs/node-tar/compare/v7.5.7...v7.5.9) --- updated-dependencies: - dependency-name: tar dependency-version: 7.5.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index a63f3255cd..01280893ff 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -2122,9 +2122,9 @@ systeminformation@^5.27.14: integrity sha512-LEIyK1aEv5P3BhAPW3swdlIyCihxwEq/Gki+kcONieU4PIeRCSLDuGkk0Va/56PSBgjVgEksOM88dmY6YqOyfQ== tar@^7.5.2: - version "7.5.7" - resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.7.tgz#adf99774008ba1c89819f15dbd6019c630539405" - integrity sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ== + version "7.5.9" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.9.tgz#817ac12a54bc4362c51340875b8985d7dc9724b8" + integrity sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg== dependencies: "@isaacs/fs-minipass" "^4.0.0" chownr "^3.0.0" From f1067d33089c57beb3627e20cd239d8da0801396 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:37:39 +0000 Subject: [PATCH 007/113] Bump systeminformation from 5.30.6 to 5.31.1 in /test Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 5.30.6 to 5.31.1. - [Release notes](https://github.com/sebhildebrandt/systeminformation/releases) - [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md) - [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v5.30.6...v5.31.1) --- updated-dependencies: - dependency-name: systeminformation dependency-version: 5.31.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index a63f3255cd..f7ec5aead5 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -2117,9 +2117,9 @@ supports-color@^8.1.1: has-flag "^4.0.0" systeminformation@^5.27.14: - version "5.30.6" - resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.30.6.tgz#c100cb632bbb955fc44ba033f624da22c3a6a5be" - integrity sha512-LEIyK1aEv5P3BhAPW3swdlIyCihxwEq/Gki+kcONieU4PIeRCSLDuGkk0Va/56PSBgjVgEksOM88dmY6YqOyfQ== + version "5.31.1" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.1.tgz#5f88aa1db7470af87b6288baf1738603cafd1c4a" + integrity sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA== tar@^7.5.2: version "7.5.7" From e8224ff0af84528541fcc4f26619183715a5d8e1 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Fri, 20 Feb 2026 11:02:56 +1000 Subject: [PATCH 008/113] Update all dependencies --- backend/biome.json | 2 +- backend/package.json | 12 +-- backend/yarn.lock | 231 ++++++++++++++++++++-------------------- frontend/biome.json | 2 +- frontend/package.json | 8 +- frontend/yarn.lock | 137 ++++++++++++------------ test/cypress/Dockerfile | 2 +- test/package.json | 14 +-- test/yarn.lock | 28 ++--- 9 files changed, 222 insertions(+), 214 deletions(-) diff --git a/backend/biome.json b/backend/biome.json index 5a8a97c571..403fe97253 100644 --- a/backend/biome.json +++ b/backend/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.3.14/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.3/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/backend/package.json b/backend/package.json index 89f21c5555..d06fc29723 100644 --- a/backend/package.json +++ b/backend/package.json @@ -12,14 +12,14 @@ "validate-schema": "node validate-schema.js" }, "dependencies": { - "@apidevtools/json-schema-ref-parser": "^14.1.1", + "@apidevtools/json-schema-ref-parser": "^15.2.2", "ajv": "^8.18.0", "archiver": "^7.0.1", "batchflow": "^0.4.0", "bcrypt": "^6.0.0", "better-sqlite3": "^12.6.2", "body-parser": "^2.2.2", - "compression": "^1.7.4", + "compression": "^1.8.1", "express": "^5.2.1", "express-fileupload": "^1.5.2", "gravatar": "^1.8.2", @@ -28,7 +28,7 @@ "liquidjs": "10.24.0", "lodash": "^4.17.23", "moment": "^2.30.1", - "mysql2": "^3.17.1", + "mysql2": "^3.17.3", "node-rsa": "^1.1.1", "objection": "3.1.5", "otplib": "^13.3.0", @@ -37,13 +37,13 @@ "proxy-agent": "^6.5.0", "signale": "1.4.0", "sqlite3": "^5.1.7", - "temp-write": "^4.0.0" + "temp-write": "^6.0.1" }, "devDependencies": { "@apidevtools/swagger-parser": "^12.1.0", - "@biomejs/biome": "^2.3.14", + "@biomejs/biome": "^2.4.3", "chalk": "5.6.2", - "nodemon": "^3.1.11" + "nodemon": "^3.1.13" }, "signale": { "displayDate": true, diff --git a/backend/yarn.lock b/backend/yarn.lock index 6c146b6eb4..1be6bce956 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -10,13 +10,12 @@ "@types/json-schema" "^7.0.15" js-yaml "^4.1.0" -"@apidevtools/json-schema-ref-parser@^14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.1.1.tgz#0bae59809b7848c7a89dc6bb2f3bb980b7c290b1" - integrity sha512-uGF1YGOzzD50L7HLNWclXmsEhQflw8/zZHIz0/AzkJrKL5r9PceUipZxR/cp/8veTk4TVfdDJLyIwXLjaP5ePg== +"@apidevtools/json-schema-ref-parser@^15.2.2": + version "15.2.2" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.2.2.tgz#2eb1efe8534c17125901c172e49485c7179835ce" + integrity sha512-54fvjSwWiBTdVviiUItOCeyxtPSBmCrSEjlOl8XFEDuYD3lXY1lOBWKim/WJ3i1EYzdGx6rSOjK5KRDMppLI4Q== dependencies: - "@types/json-schema" "^7.0.15" - js-yaml "^4.1.0" + js-yaml "^4.1.1" "@apidevtools/openapi-schemas@^2.1.0": version "2.1.0" @@ -40,59 +39,59 @@ ajv-draft-04 "^1.0.0" call-me-maybe "^1.0.2" -"@biomejs/biome@^2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.3.14.tgz#b879cd5e0495334d4db7c49d6f3cc95b67d2909c" - integrity sha512-QMT6QviX0WqXJCaiqVMiBUCr5WRQ1iFSjvOLoTk6auKukJMvnMzWucXpwZB0e8F00/1/BsS9DzcKgWH+CLqVuA== +"@biomejs/biome@^2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.3.tgz#eb7a48f1763fe333949665b3ff7814267eda000f" + integrity sha512-cBrjf6PNF6yfL8+kcNl85AjiK2YHNsbU0EvDOwiZjBPbMbQ5QcgVGFpjD0O52p8nec5O8NYw7PKw3xUR7fPAkQ== optionalDependencies: - "@biomejs/cli-darwin-arm64" "2.3.14" - "@biomejs/cli-darwin-x64" "2.3.14" - "@biomejs/cli-linux-arm64" "2.3.14" - "@biomejs/cli-linux-arm64-musl" "2.3.14" - "@biomejs/cli-linux-x64" "2.3.14" - "@biomejs/cli-linux-x64-musl" "2.3.14" - "@biomejs/cli-win32-arm64" "2.3.14" - "@biomejs/cli-win32-x64" "2.3.14" - -"@biomejs/cli-darwin-arm64@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.14.tgz#da942618e1dc2d19322bc11d5dacfe7d7616a502" - integrity sha512-UJGPpvWJMkLxSRtpCAKfKh41Q4JJXisvxZL8ChN1eNW3m/WlPFJ6EFDCE7YfUb4XS8ZFi3C1dFpxUJ0Ety5n+A== - -"@biomejs/cli-darwin-x64@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.14.tgz#3ad06cce8ef6d2b935582011bd0cc3ca98a9554d" - integrity sha512-PNkLNQG6RLo8lG7QoWe/hhnMxJIt1tEimoXpGQjwS/dkdNiKBLPv4RpeQl8o3s1OKI3ZOR5XPiYtmbGGHAOnLA== - -"@biomejs/cli-linux-arm64-musl@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.14.tgz#e92681273dc59ac57b75b72f1b64a67543e50f8c" - integrity sha512-LInRbXhYujtL3sH2TMCH/UBwJZsoGwfQjBrMfl84CD4hL/41C/EU5mldqf1yoFpsI0iPWuU83U+nB2TUUypWeg== - -"@biomejs/cli-linux-arm64@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.14.tgz#bab43ee0a88ba15a6d59ec648a4b415d68d6eeb7" - integrity sha512-KT67FKfzIw6DNnUNdYlBg+eU24Go3n75GWK6NwU4+yJmDYFe9i/MjiI+U/iEzKvo0g7G7MZqoyrhIYuND2w8QQ== - -"@biomejs/cli-linux-x64-musl@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.14.tgz#ee90f7110dafdedf4644e0a27ac242975dcd88d3" - integrity sha512-KQU7EkbBBuHPW3/rAcoiVmhlPtDSGOGRPv9js7qJVpYTzjQmVR+C9Rfcz+ti8YCH+zT1J52tuBybtP4IodjxZQ== - -"@biomejs/cli-linux-x64@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.14.tgz#d152e61c6dc847836ebc741fb70fe305414aa7fe" - integrity sha512-ZsZzQsl9U+wxFrGGS4f6UxREUlgHwmEfu1IrXlgNFrNnd5Th6lIJr8KmSzu/+meSa9f4rzFrbEW9LBBA6ScoMA== - -"@biomejs/cli-win32-arm64@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.14.tgz#2c59e84f3d172bada2a1df94d6cf7e511c244a4e" - integrity sha512-+IKYkj/pUBbnRf1G1+RlyA3LWiDgra1xpS7H2g4BuOzzRbRB+hmlw0yFsLprHhbbt7jUzbzAbAjK/Pn0FDnh1A== - -"@biomejs/cli-win32-x64@2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.14.tgz#44405162f255fe153a5ff99379510c058bf7a1e8" - integrity sha512-oizCjdyQ3WJEswpb3Chdngeat56rIdSYK12JI3iI11Mt5T5EXcZ7WLuowzEaFPNJ3zmOQFliMN8QY1Pi+qsfdQ== + "@biomejs/cli-darwin-arm64" "2.4.3" + "@biomejs/cli-darwin-x64" "2.4.3" + "@biomejs/cli-linux-arm64" "2.4.3" + "@biomejs/cli-linux-arm64-musl" "2.4.3" + "@biomejs/cli-linux-x64" "2.4.3" + "@biomejs/cli-linux-x64-musl" "2.4.3" + "@biomejs/cli-win32-arm64" "2.4.3" + "@biomejs/cli-win32-x64" "2.4.3" + +"@biomejs/cli-darwin-arm64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.3.tgz#ca188065f29940de1bb0029df2fd639719c92750" + integrity sha512-eOafSFlI/CF4id2tlwq9CVHgeEqvTL5SrhWff6ZORp6S3NL65zdsR3ugybItkgF8Pf4D9GSgtbB6sE3UNgOM9w== + +"@biomejs/cli-darwin-x64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.3.tgz#418c55c0bfd1f5d4d22c48cddf8bbd78b02e7fd7" + integrity sha512-V2+av4ilbWcBMNufTtMMXVW00nPwyIjI5qf7n9wSvUaZ+tt0EvMGk46g9sAFDJBEDOzSyoRXiSP6pCvKTOEbPA== + +"@biomejs/cli-linux-arm64-musl@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.3.tgz#58da6a862764cc6c02c27a2d737a4f187a446bcd" + integrity sha512-QuFzvsGo8BA4Xm7jGX5idkw6BqFblcCPySMTvq0AhGYnhUej5VJIDJbmTKfHqwjHepZiC4fA+T5i6wmiZolZNw== + +"@biomejs/cli-linux-arm64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.3.tgz#7642518e76df8fc2dcd0675042e85e58c03f6a74" + integrity sha512-0m+O0x9FgK99FAwDK+fiDtjs2wnqq7bvfj17KJVeCkTwT/liI+Q9njJG7lwXK0iSJVXeFNRIxukpVI3SifMYAA== + +"@biomejs/cli-linux-x64-musl@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.3.tgz#2a2fe720f636fc3894debf23925e9fe1c06da079" + integrity sha512-qEc0OCpj/uytruQ4wLM0yWNJLZy0Up8H1Er5MW3SrstqM6J2d4XqdNA86xzCy8MQCHpoVZ3lFye3GBlIL4/ljw== + +"@biomejs/cli-linux-x64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.3.tgz#dad0a81804ed2043e9ea3e4b29b3bb352c4eb26a" + integrity sha512-NVqh0saIU0u5OfOp/0jFdlKRE59+XyMvWmtx0f6Nm/2OpdxBl04coRIftBbY9d1gfu+23JVv4CItAqPYrjYh5w== + +"@biomejs/cli-win32-arm64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.3.tgz#1da3559be0924e891f9b986c8c0db7d503a34a11" + integrity sha512-gRO96vrIARilv/Cp2ZnmNNL5LSZg3RO75GPp13hsLO3N4YVpE7saaMDp2bcyV48y2N2Pbit1brkGVGta0yd6VQ== + +"@biomejs/cli-win32-x64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.3.tgz#58ddb4e205b274d693940f3d334debd6f4c94ff4" + integrity sha512-vSm/vOJe06pf14aGHfHl3Ar91Nlx4YYmohElDJ+17UbRwe99n987S/MhAlQOkONqf1utJor04ChkCPmKb8SWdw== "@gar/promisify@^1.0.1": version "1.1.3" @@ -386,6 +385,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +balanced-match@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.3.tgz#6337a2f23e0604a30481423432f99eac603599f9" + integrity sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g== + bare-events@^2.7.0: version "2.8.2" resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.8.2.tgz#7b3e10bd8e1fc80daf38bb516921678f566ab89f" @@ -478,6 +482,13 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" +brace-expansion@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.2.tgz#b6c16d0791087af6c2bc463f52a8142046c06b6f" + integrity sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== + dependencies: + balanced-match "^4.0.2" + braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" @@ -683,7 +694,7 @@ compressible@~2.0.18: dependencies: mime-db ">= 1.43.0 < 2" -compression@^1.7.4: +compression@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.1.tgz#4a45d909ac16509195a9a28bd91094889c180d79" integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w== @@ -1254,7 +1265,7 @@ gopd@^1.2.0: resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.0, graceful-fs@^4.2.6: +graceful-fs@^4.1.2, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.6: version "4.2.11" 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== @@ -1480,11 +1491,16 @@ is-property@^1.0.2: resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" integrity sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g== -is-stream@^2.0.0, is-stream@^2.0.1: +is-stream@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-4.0.1.tgz#375cf891e16d2e4baec250b85926cffc14720d9b" + integrity sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A== + isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -1504,7 +1520,7 @@ jackspeak@^3.1.2: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -js-yaml@^4.1.0: +js-yaml@^4.1.0, js-yaml@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== @@ -1675,17 +1691,15 @@ lru-cache@^7.14.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== -lru.min@^1.1.0, lru.min@^1.1.3: +lru.min@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/lru.min/-/lru.min-1.1.3.tgz#c8c3d001dfb4cbe5b8d1f4bea207d4a320e5d76f" integrity sha512-Lkk/vx6ak3rYkRR0Nhu4lFUT2VDnQSxBe8Hbl7f36358p6ow8Bnvr8lrLt98H8J1aGxfhbX4Fs5tYg2+FTwr5Q== -make-dir@^3.0.0: - version "3.1.0" - 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" +lru.min@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lru.min/-/lru.min-1.1.4.tgz#6ea1737a8c1ba2300cc87ad46910a4bdffa0117b" + integrity sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA== make-fetch-happen@^9.1.0: version "9.1.0" @@ -1741,7 +1755,14 @@ mimic-response@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== -minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^10.2.1: + version "10.2.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.2.tgz#361603ee323cfb83496fea2ae17cc44ea4e1f99f" + integrity sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw== + dependencies: + brace-expansion "^5.0.2" + +minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -1861,20 +1882,19 @@ ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -mysql2@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.17.1.tgz#781292f60df3806949c0a3161a51ad3e4e4689a1" - integrity sha512-UzIzdVwPXPoZm+FaJ4lNsRt28HtUwt68gpLH7NP1oSjd91M5Qn1XJzbIsSRMRc5CV3pvktLNshmbaFfMYqPBhQ== +mysql2@^3.17.3: + version "3.17.3" + resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.17.3.tgz#aa19f55dd7efc5b28e19f020153d0fb64535539f" + integrity sha512-uCLmQMe1l96Sb6J3Ii8YJTOWJkhRmxlLJFdOfhD68jPpGTzK2fxEkFMpf5gewyHgUB0FJKzuAuPhYS+oPB0/vA== dependencies: aws-ssl-profiles "^1.1.2" denque "^2.1.0" generate-function "^2.3.1" iconv-lite "^0.7.2" long "^5.3.2" - lru.min "^1.1.3" + lru.min "^1.1.4" named-placeholders "^1.1.6" - seq-queue "^0.0.5" - sql-escaper "^1.3.2" + sql-escaper "^1.3.3" named-placeholders@^1.1.6: version "1.1.6" @@ -1948,15 +1968,15 @@ node-rsa@^1.1.1: dependencies: asn1 "^0.2.4" -nodemon@^3.1.11: - version "3.1.11" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.11.tgz#04a54d1e794fbec9d8f6ffd8bf1ba9ea93a756ed" - integrity sha512-is96t8F/1//UHAjNPHpbsNY46ELPpftGUoSVNXwUfMk/qdjSylYrWSu1XavVTBOn526kFiOR733ATgNBCQyH0g== +nodemon@^3.1.13: + version "3.1.13" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.13.tgz#06e4861d8f8a8033c9f607ae3645d3c02ca1c061" + integrity sha512-nPN6L7A9cTA3BnJ3zZIibH5FiDh3GbmibeS17bl5YEU1IRO2mcfvR0ZJXH3ndoeKItjUcaX81FSKc/Kq/IiG6g== dependencies: chokidar "^3.5.2" debug "^4" ignore-by-default "^1.0.1" - minimatch "^3.1.2" + minimatch "^10.2.1" pstree.remy "^1.1.8" semver "^7.5.3" simple-update-notifier "^2.0.0" @@ -2502,11 +2522,6 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -semver@^6.0.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - semver@^7.3.5, semver@^7.5.3, semver@^7.5.4: version "7.7.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" @@ -2529,11 +2544,6 @@ send@^1.1.0, send@^1.2.0: range-parser "^1.2.1" statuses "^2.0.2" -seq-queue@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" - integrity sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q== - serve-static@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-2.2.1.tgz#7f186a4a4e5f5b663ad7a4294ff1bf37cf0e98a9" @@ -2687,10 +2697,10 @@ split2@^4.1.0: resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== -sql-escaper@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/sql-escaper/-/sql-escaper-1.3.2.tgz#b11c68c6541fc05afdf508d52e54af7219455fad" - integrity sha512-lp+ZDVfSjHt+qAK1jXBTIXBNYnbo7gnaAGwoYTH9bE89kNkXwcu6g0WjJGRsdTKVpY1z70u3Y0IgmnBOoRybHw== +sql-escaper@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/sql-escaper/-/sql-escaper-1.3.3.tgz#65faf89f048d26bb9a75566b82b5990ddf8a5b7f" + integrity sha512-BsTCV265VpTp8tm1wyIm1xqQCS+Q9NHx2Sr+WcnUrgLrQ6yiDIvHYJV5gHxsj1lMBy2zm5twLaZao8Jd+S8JJw== sqlite3@^5.1.7: version "5.1.7" @@ -2861,21 +2871,19 @@ tarn@^3.0.2: resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.2.tgz#73b6140fbb881b71559c4f8bfde3d9a4b3d27693" integrity sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ== -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== +temp-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-3.0.0.tgz#7f147b42ee41234cc6ba3138cd8e8aa2302acffa" + integrity sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw== -temp-write@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-4.0.0.tgz#cd2e0825fc826ae72d201dc26eef3bf7e6fc9320" - integrity sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw== +temp-write@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-6.0.1.tgz#b1ed81e80e120ba4957db3e01e010669d7c15870" + integrity sha512-6bj9LlNld+knzEOQvnZK6YxiPF+foOUjvG/WoWj1/Mt9c6f2kQCPsh8KZ+NyTk0AejubTQSPpx2alcswE1bF8g== dependencies: - graceful-fs "^4.1.15" - is-stream "^2.0.0" - make-dir "^3.0.0" - temp-dir "^1.0.0" - uuid "^3.3.2" + graceful-fs "^4.2.11" + is-stream "^4.0.1" + temp-dir "^3.0.0" text-decoder@^1.1.0: version "1.2.3" @@ -2963,11 +2971,6 @@ util@^0.10.3: dependencies: inherits "2.0.3" -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - vary@^1.1.2, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" diff --git a/frontend/biome.json b/frontend/biome.json index 430644db57..442b838368 100644 --- a/frontend/biome.json +++ b/frontend/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.3.14/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.3/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/frontend/package.json b/frontend/package.json index 0c164f52a6..cd2d6e61a4 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "@tabler/core": "^1.4.0", - "@tabler/icons-react": "^3.36.1", + "@tabler/icons-react": "^3.37.1", "@tanstack/react-query": "^5.90.21", "@tanstack/react-table": "^8.21.3", "@uiw/react-textarea-code-editor": "^3.1.1", @@ -40,8 +40,8 @@ "rooks": "^9.5.0" }, "devDependencies": { - "@biomejs/biome": "^2.4.2", - "@formatjs/cli": "^6.12.2", + "@biomejs/biome": "^2.4.3", + "@formatjs/cli": "^6.13.0", "@tanstack/react-query-devtools": "^5.91.3", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", @@ -52,7 +52,7 @@ "@types/react-dom": "^19.2.3", "@types/react-table": "^7.7.20", "@vitejs/plugin-react": "^5.1.4", - "happy-dom": "^20.6.1", + "happy-dom": "^20.6.3", "postcss": "^8.5.6", "postcss-simple-vars": "^7.0.1", "sass": "^1.97.3", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 1720bee524..0555e8f378 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -235,59 +235,59 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" -"@biomejs/biome@^2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.2.tgz#91fea27398106f87fa81118577756d9e29fe8c74" - integrity sha512-vVE/FqLxNLbvYnFDYg3Xfrh1UdFhmPT5i+yPT9GE2nTUgI4rkqo5krw5wK19YHBd7aE7J6r91RRmb8RWwkjy6w== +"@biomejs/biome@^2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.3.tgz#eb7a48f1763fe333949665b3ff7814267eda000f" + integrity sha512-cBrjf6PNF6yfL8+kcNl85AjiK2YHNsbU0EvDOwiZjBPbMbQ5QcgVGFpjD0O52p8nec5O8NYw7PKw3xUR7fPAkQ== optionalDependencies: - "@biomejs/cli-darwin-arm64" "2.4.2" - "@biomejs/cli-darwin-x64" "2.4.2" - "@biomejs/cli-linux-arm64" "2.4.2" - "@biomejs/cli-linux-arm64-musl" "2.4.2" - "@biomejs/cli-linux-x64" "2.4.2" - "@biomejs/cli-linux-x64-musl" "2.4.2" - "@biomejs/cli-win32-arm64" "2.4.2" - "@biomejs/cli-win32-x64" "2.4.2" - -"@biomejs/cli-darwin-arm64@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.2.tgz#a748ec0a0d8f4ea559b4a3834e8981500caaa5fa" - integrity sha512-3pEcKCP/1POKyaZZhXcxFl3+d9njmeAihZ17k8lL/1vk+6e0Cbf0yPzKItFiT+5Yh6TQA4uKvnlqe0oVZwRxCA== - -"@biomejs/cli-darwin-x64@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.2.tgz#b825d247a7e582c00c9782524284bea2033a272c" - integrity sha512-P7hK1jLVny+0R9UwyGcECxO6sjETxfPyBm/1dmFjnDOHgdDPjPqozByunrwh4xPKld8sxOr5eAsSqal5uKgeBg== - -"@biomejs/cli-linux-arm64-musl@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.2.tgz#9a2d15f525928f06d21fbc0eaea2e332be3ed5d9" - integrity sha512-/x04YK9+7erw6tYEcJv9WXoBHcULI/wMOvNdAyE9S3JStZZ9yJyV67sWAI+90UHuDo/BDhq0d96LDqGlSVv7WA== - -"@biomejs/cli-linux-arm64@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.2.tgz#0f7928a3253cdb10ebf5884db452d81d7a49ba30" - integrity sha512-DI3Mi7GT2zYNgUTDEbSjl3e1KhoP76OjQdm8JpvZYZWtVDRyLd3w8llSr2TWk1z+U3P44kUBWY3X7H9MD1/DGQ== - -"@biomejs/cli-linux-x64-musl@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.2.tgz#07c971451e62f6e147ec58b7acae345792d331b1" - integrity sha512-wbBmTkeAoAYbOQ33f6sfKG7pcRSydQiF+dTYOBjJsnXO2mWEOQHllKlC2YVnedqZFERp2WZhFUoO7TNRwnwEHQ== - -"@biomejs/cli-linux-x64@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.2.tgz#0c7755fe8b5b2745d6afa8e14806591aefef52e3" - integrity sha512-GK2ErnrKpWFigYP68cXiCHK4RTL4IUWhK92AFS3U28X/nuAL5+hTuy6hyobc8JZRSt+upXt1nXChK+tuHHx4mA== - -"@biomejs/cli-win32-arm64@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.2.tgz#a25007d0eb8ac4bbf81fb0fd010a68ce38fd46d1" - integrity sha512-k2uqwLYrNNxnaoiW3RJxoMGnbKda8FuCmtYG3cOtVljs3CzWxaTR+AoXwKGHscC9thax9R4kOrtWqWN0+KdPTw== - -"@biomejs/cli-win32-x64@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.2.tgz#7693a47973bd1c910a7ce3d7eb8133292f779646" - integrity sha512-9ma7C4g8Sq3cBlRJD2yrsHXB1mnnEBdpy7PhvFrylQWQb4PoyCmPucdX7frvsSBQuFtIiKCrolPl/8tCZrKvgQ== + "@biomejs/cli-darwin-arm64" "2.4.3" + "@biomejs/cli-darwin-x64" "2.4.3" + "@biomejs/cli-linux-arm64" "2.4.3" + "@biomejs/cli-linux-arm64-musl" "2.4.3" + "@biomejs/cli-linux-x64" "2.4.3" + "@biomejs/cli-linux-x64-musl" "2.4.3" + "@biomejs/cli-win32-arm64" "2.4.3" + "@biomejs/cli-win32-x64" "2.4.3" + +"@biomejs/cli-darwin-arm64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.3.tgz#ca188065f29940de1bb0029df2fd639719c92750" + integrity sha512-eOafSFlI/CF4id2tlwq9CVHgeEqvTL5SrhWff6ZORp6S3NL65zdsR3ugybItkgF8Pf4D9GSgtbB6sE3UNgOM9w== + +"@biomejs/cli-darwin-x64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.3.tgz#418c55c0bfd1f5d4d22c48cddf8bbd78b02e7fd7" + integrity sha512-V2+av4ilbWcBMNufTtMMXVW00nPwyIjI5qf7n9wSvUaZ+tt0EvMGk46g9sAFDJBEDOzSyoRXiSP6pCvKTOEbPA== + +"@biomejs/cli-linux-arm64-musl@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.3.tgz#58da6a862764cc6c02c27a2d737a4f187a446bcd" + integrity sha512-QuFzvsGo8BA4Xm7jGX5idkw6BqFblcCPySMTvq0AhGYnhUej5VJIDJbmTKfHqwjHepZiC4fA+T5i6wmiZolZNw== + +"@biomejs/cli-linux-arm64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.3.tgz#7642518e76df8fc2dcd0675042e85e58c03f6a74" + integrity sha512-0m+O0x9FgK99FAwDK+fiDtjs2wnqq7bvfj17KJVeCkTwT/liI+Q9njJG7lwXK0iSJVXeFNRIxukpVI3SifMYAA== + +"@biomejs/cli-linux-x64-musl@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.3.tgz#2a2fe720f636fc3894debf23925e9fe1c06da079" + integrity sha512-qEc0OCpj/uytruQ4wLM0yWNJLZy0Up8H1Er5MW3SrstqM6J2d4XqdNA86xzCy8MQCHpoVZ3lFye3GBlIL4/ljw== + +"@biomejs/cli-linux-x64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.3.tgz#dad0a81804ed2043e9ea3e4b29b3bb352c4eb26a" + integrity sha512-NVqh0saIU0u5OfOp/0jFdlKRE59+XyMvWmtx0f6Nm/2OpdxBl04coRIftBbY9d1gfu+23JVv4CItAqPYrjYh5w== + +"@biomejs/cli-win32-arm64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.3.tgz#1da3559be0924e891f9b986c8c0db7d503a34a11" + integrity sha512-gRO96vrIARilv/Cp2ZnmNNL5LSZg3RO75GPp13hsLO3N4YVpE7saaMDp2bcyV48y2N2Pbit1brkGVGta0yd6VQ== + +"@biomejs/cli-win32-x64@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.3.tgz#58ddb4e205b274d693940f3d334debd6f4c94ff4" + integrity sha512-vSm/vOJe06pf14aGHfHl3Ar91Nlx4YYmohElDJ+17UbRwe99n987S/MhAlQOkONqf1utJor04ChkCPmKb8SWdw== "@emotion/babel-plugin@^11.13.5": version "11.13.5" @@ -527,10 +527,10 @@ resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz" integrity sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ== -"@formatjs/cli@^6.12.2": - version "6.12.2" - resolved "https://registry.yarnpkg.com/@formatjs/cli/-/cli-6.12.2.tgz#0ca91899249f41860deb2b2921e6ad0a4db55de9" - integrity sha512-y215aarLZXei3u1WDRAiet/VajgvUXzvz4ifPENDSPXfIog0aBJKtFvIU7EWbcFWy7rstbn5GcwwQW4F1G3TJg== +"@formatjs/cli@^6.13.0": + version "6.13.0" + resolved "https://registry.yarnpkg.com/@formatjs/cli/-/cli-6.13.0.tgz#e3922c6e35790ffd4fcc56202452e8ecd61a5e06" + integrity sha512-bl4+FNg7S6RPNa9cSAE8HqdXu84n7LpzDdkDAPqS0sk58XNbY/1Le6GdWqCKzELWX+FhI58gyZtZecmWsZ+Bhg== "@formatjs/ecma402-abstract@3.1.1": version "3.1.1" @@ -879,10 +879,10 @@ "@popperjs/core" "^2.11.8" bootstrap "5.3.7" -"@tabler/icons-react@^3.36.1": - version "3.36.1" - resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.36.1.tgz#332d4407b5e2a9a783ce0a26567727aaedd5a9a8" - integrity sha512-/8nOXeNeMoze9xY/QyEKG65wuvRhkT3q9aytaur6Gj8bYU2A98YVJyLc9MRmc5nVvpy+bRlrrwK/Ykr8WGyUWg== +"@tabler/icons-react@^3.37.1": + version "3.37.1" + resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.37.1.tgz#f8da613ede004580d27bb6eb1eeddb8b30950241" + integrity sha512-R7UE71Jji7i4Su56Y9zU1uYEBakUejuDJvyuYVmBuUoqp/x3Pn4cv2huarexR3P0GJ2eHg4rUj9l5zccqS6K/Q== dependencies: "@tabler/icons" "" @@ -1472,11 +1472,16 @@ electron-to-chromium@^1.5.211: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.213.tgz" integrity sha512-xr9eRzSLNa4neDO0xVFrkXu3vyIzG4Ay08dApecw42Z1NbmCt+keEpXdvlYGVe0wtvY5dhW0Ay0lY0IOfsCg0Q== -entities@^6.0.0, entities@^6.0.1: +entities@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz" integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== +entities@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-7.0.1.tgz#26e8a88889db63417dcb9a1e79a3f1bc92b5976b" + integrity sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA== + error-ex@^1.3.1: version "1.3.4" resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz" @@ -1627,15 +1632,15 @@ globrex@^0.1.2: resolved "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz" integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== -happy-dom@^20.6.1: - version "20.6.1" - resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.6.1.tgz#af9cf1722871621334e0451b01548d551c91b515" - integrity sha512-+0vhESXXhFwkdjZnJ5DlmJIfUYGgIEEjzIjB+aKJbFuqlvvKyOi+XkI1fYbgYR9QCxG5T08koxsQ6HrQfa5gCQ== +happy-dom@^20.6.3: + version "20.6.3" + resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.6.3.tgz#d10c63b589ecf4bfca22ca77e2b0d34236485ab0" + integrity sha512-QAMY7d228dHs8gb9NG4SJ3OxQo4r+NGN8pOXGZ3SGfQf/XYuuYubrtZ25QVY2WoUQdskhRXSXb4R4mcRk+hV1w== dependencies: "@types/node" ">=20.0.0" "@types/whatwg-mimetype" "^3.0.2" "@types/ws" "^8.18.1" - entities "^6.0.1" + entities "^7.0.1" whatwg-mimetype "^3.0.0" ws "^8.18.3" diff --git a/test/cypress/Dockerfile b/test/cypress/Dockerfile index a92e6aadb2..99eb2236e8 100644 --- a/test/cypress/Dockerfile +++ b/test/cypress/Dockerfile @@ -1,4 +1,4 @@ -FROM cypress/included:15.9.0 +FROM cypress/included:15.10.0 # Disable Cypress CLI colors ENV FORCE_COLOR=0 diff --git a/test/package.json b/test/package.json index 2a4213dde1..c8eb9cd3cc 100644 --- a/test/package.json +++ b/test/package.json @@ -5,19 +5,19 @@ "main": "index.js", "dependencies": { "@jc21/cypress-swagger-validation": "^0.3.2", - "@quobix/vacuum": "^0.23.4", - "axios": "^1.13.1", + "@quobix/vacuum": "^0.23.8", + "axios": "^1.13.5", "chalk": "^5.6.2", - "cypress": "^15.9.0", + "cypress": "^15.10.0", "cypress-multi-reporters": "^2.0.5", "cypress-wait-until": "^3.0.2", "eslint": "^10.0.0", "eslint-plugin-align-assignments": "^1.1.2", "eslint-plugin-chai-friendly": "^1.1.0", - "eslint-plugin-cypress": "^5.2.0", - "form-data": "^4.0.4", - "lodash": "^4.17.21", - "mocha": "^11.7.4", + "eslint-plugin-cypress": "^6.0.0", + "form-data": "^4.0.5", + "lodash": "^4.17.23", + "mocha": "^11.7.5", "mocha-junit-reporter": "^2.2.1" }, "scripts": { diff --git a/test/yarn.lock b/test/yarn.lock index a63f3255cd..cd4917c38b 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -208,7 +208,7 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@quobix/vacuum@^0.23.4": +"@quobix/vacuum@^0.23.8": version "0.23.8" resolved "https://registry.yarnpkg.com/@quobix/vacuum/-/vacuum-0.23.8.tgz#a994d6db71b483bc34b6683c8c069ef4f26e3e2b" integrity sha512-fdxBgELoyJWabN5yeaQWlu0IREabqlPQb5EgFQjA7Plc1YjUFIXzh4RMFpQ1OJ/D6OtxXY6SeifEAy0HihQ7Qw== @@ -420,7 +420,7 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== -axios@^1.13.1, axios@^1.7.7: +axios@^1.13.5, axios@^1.7.7: version "1.13.5" resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.5.tgz#5e464688fa127e11a660a2c49441c009f6567a43" integrity sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q== @@ -662,7 +662,7 @@ cypress-wait-until@^3.0.2: resolved "https://registry.yarnpkg.com/cypress-wait-until/-/cypress-wait-until-3.0.2.tgz#c90dddfa4c46a2c422f5b91d486531c560bae46e" integrity sha512-iemies796dD5CgjG5kV0MnpEmKSH+s7O83ZoJLVzuVbZmm4lheMsZqAVT73hlMx4QlkwhxbyUzhOBUOZwoOe0w== -cypress@^15.9.0: +cypress@^15.10.0: version "15.10.0" resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.10.0.tgz#06bed98a690fad1b98a21010613f9c8c7fa9f639" integrity sha512-OtUh7OMrfEjKoXydlAD1CfG2BvKxIqgWGY4/RMjrqQ3BKGBo5JFKoYNH+Tpcj4xKxWH4XK0Xri+9y8WkxhYbqQ== @@ -870,12 +870,12 @@ eslint-plugin-chai-friendly@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-1.1.0.tgz#e21cbd301ff0d4c1c563d3bbc865e9ac0296fb7c" integrity sha512-+T1rClpDdXkgBAhC16vRQMI5umiWojVqkj9oUTdpma50+uByCZM/oBfxitZiOkjMRlm725mwFfz/RVgyDRvCKA== -eslint-plugin-cypress@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-5.3.0.tgz#52cb5397829a765a22680ccb010e81b73d249fb2" - integrity sha512-qjHF2Sdi3VkXSMnfQeUqsbYnessgc6T2dus/Q1U+e5102GpPy9eLd8MWW2Xp2SS9bMpPNLnSHwktMhCKr0dIBg== +eslint-plugin-cypress@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-6.0.0.tgz#d137892de43278975c3f1951e2b2c3a8e40006ef" + integrity sha512-J96t5BLt8lYSiQ5b4vZ2IpUcsAc3XOw9Esy5sFSvgbx4Od/MIwlbXM8QazrcbEKrKKsynOnyXzZwiAQTtGCEyA== dependencies: - globals "^16.5.0" + globals "^17.3.0" eslint-scope@^9.1.0: version "9.1.0" @@ -1127,7 +1127,7 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -form-data@^4.0.4, form-data@^4.0.5, form-data@~4.0.4: +form-data@^4.0.5, form-data@~4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== @@ -1229,10 +1229,10 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" -globals@^16.5.0: - version "16.5.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-16.5.0.tgz#ccf1594a437b97653b2be13ed4d8f5c9f850cac1" - integrity sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ== +globals@^17.3.0: + version "17.3.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-17.3.0.tgz#8b96544c2fa91afada02747cc9731c002a96f3b9" + integrity sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw== gopd@^1.2.0: version "1.2.0" @@ -1632,7 +1632,7 @@ mocha-junit-reporter@^2.2.1: strip-ansi "^6.0.1" xml "^1.0.1" -mocha@^11.7.4: +mocha@^11.7.5: version "11.7.5" resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.5.tgz#58f5bbfa5e0211ce7e5ee6128107cefc2515a627" integrity sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig== From f52afced5dc8f38c4b7430768bc01f019f043afe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:37:39 +0000 Subject: [PATCH 009/113] Bump systeminformation from 5.30.6 to 5.31.1 in /test Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 5.30.6 to 5.31.1. - [Release notes](https://github.com/sebhildebrandt/systeminformation/releases) - [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md) - [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v5.30.6...v5.31.1) --- updated-dependencies: - dependency-name: systeminformation dependency-version: 5.31.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index cd4917c38b..0317c30a88 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -2117,9 +2117,9 @@ supports-color@^8.1.1: has-flag "^4.0.0" systeminformation@^5.27.14: - version "5.30.6" - resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.30.6.tgz#c100cb632bbb955fc44ba033f624da22c3a6a5be" - integrity sha512-LEIyK1aEv5P3BhAPW3swdlIyCihxwEq/Gki+kcONieU4PIeRCSLDuGkk0Va/56PSBgjVgEksOM88dmY6YqOyfQ== + version "5.31.1" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.1.tgz#5f88aa1db7470af87b6288baf1738603cafd1c4a" + integrity sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA== tar@^7.5.2: version "7.5.7" From 906f177960514cfe1bffe3b03f81e2218535a296 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:37:36 +0000 Subject: [PATCH 010/113] Bump tar from 7.5.7 to 7.5.9 in /test Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.7 to 7.5.9. - [Release notes](https://github.com/isaacs/node-tar/releases) - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/isaacs/node-tar/compare/v7.5.7...v7.5.9) --- updated-dependencies: - dependency-name: tar dependency-version: 7.5.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 0317c30a88..2d52d24e90 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -2122,9 +2122,9 @@ systeminformation@^5.27.14: integrity sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA== tar@^7.5.2: - version "7.5.7" - resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.7.tgz#adf99774008ba1c89819f15dbd6019c630539405" - integrity sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ== + version "7.5.9" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.9.tgz#817ac12a54bc4362c51340875b8985d7dc9724b8" + integrity sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg== dependencies: "@isaacs/fs-minipass" "^4.0.0" chownr "^3.0.0" From cac52dd0ffe321e6da816d23de059a2cf3d36d72 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Fri, 20 Feb 2026 11:10:34 +1000 Subject: [PATCH 011/113] Update linked deps --- backend/yarn.lock | 83 ++- frontend/yarn.lock | 1667 +++++++++++++++++++++----------------------- test/yarn.lock | 539 +++++++------- 3 files changed, 1080 insertions(+), 1209 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index 1be6bce956..f4c5798f47 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -376,9 +376,9 @@ aws-ssl-profiles@^1.1.2: integrity sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g== b4a@^1.6.4: - version "1.7.3" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.7.3.tgz#24cf7ccda28f5465b66aec2bac69e32809bf112f" - integrity sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q== + version "1.8.0" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.8.0.tgz#1ca3ba0edc9469aaabef5647e769a83d50180b1a" + integrity sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg== balanced-match@^1.0.0: version "1.0.2" @@ -401,9 +401,9 @@ base64-js@^1.3.1: integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== basic-ftp@^5.0.2: - version "5.0.5" - resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.0.5.tgz#14a474f5fffecca1f4f406f1c26b18f800225ac0" - integrity sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg== + version "5.1.0" + resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.1.0.tgz#00eb8128ce536aa697c45716c739bf38e8d890f5" + integrity sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw== batchflow@^0.4.0: version "0.4.0" @@ -837,9 +837,9 @@ depd@^2.0.0, depd@~2.0.0: integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== detect-libc@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.4.tgz#f04715b8ba815e53b4d8109655b6508a6865a7e8" - integrity sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA== + version "2.1.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== dunder-proto@^1.0.1: version "1.0.1" @@ -912,9 +912,9 @@ err-code@^2.0.2: integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + version "1.3.4" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" + integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== dependencies: is-arrayish "^0.2.1" @@ -1426,9 +1426,9 @@ interpret@^2.2.0: integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== ip-address@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.0.1.tgz#a8180b783ce7788777d796286d61bce4276818ed" - integrity sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA== + version "10.1.0" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.1.0.tgz#d8dcffb34d0e02eb241427444a6e23f5b0595aa4" + integrity sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q== ipaddr.js@1.9.1: version "1.9.1" @@ -1447,7 +1447,7 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-core-module@^2.16.0: +is-core-module@^2.16.1: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -1691,12 +1691,7 @@ lru-cache@^7.14.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== -lru.min@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/lru.min/-/lru.min-1.1.3.tgz#c8c3d001dfb4cbe5b8d1f4bea207d4a320e5d76f" - integrity sha512-Lkk/vx6ak3rYkRR0Nhu4lFUT2VDnQSxBe8Hbl7f36358p6ow8Bnvr8lrLt98H8J1aGxfhbX4Fs5tYg2+FTwr5Q== - -lru.min@^1.1.4: +lru.min@^1.1.0, lru.min@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/lru.min/-/lru.min-1.1.4.tgz#6ea1737a8c1ba2300cc87ad46910a4bdffa0117b" integrity sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA== @@ -1840,9 +1835,9 @@ minipass@^5.0.0: integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + version "7.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" + integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" @@ -1924,9 +1919,9 @@ netmask@^2.0.2: integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== node-abi@^3.3.0: - version "3.78.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.78.0.tgz#fd0ecbd0aa89857b98da06bd3909194abb0821ba" - integrity sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ== + version "3.87.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.87.0.tgz#423e28fea5c2f195fddd98acded9938c001ae6dd" + integrity sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ== dependencies: semver "^7.3.5" @@ -2267,9 +2262,9 @@ postgres-array@~2.0.0: integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" - integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== + version "1.0.1" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.1.tgz#c40b3da0222c500ff1e51c5d7014b60b79697c7a" + integrity sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ== postgres-date@~1.0.4: version "1.0.7" @@ -2365,9 +2360,9 @@ pump@^3.0.0: once "^1.3.1" qs@^6.14.0, qs@^6.14.1: - version "6.14.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.2.tgz#b5634cf9d9ad9898e31fba3504e866e8efb6798c" - integrity sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== + version "6.15.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.0.tgz#db8fd5d1b1d2d6b5b33adaf87429805f1909e7b3" + integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ== dependencies: side-channel "^1.1.0" @@ -2476,11 +2471,11 @@ resolve-from@^5.0.0: integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve@^1.20.0: - version "1.22.10" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" - integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + version "1.22.11" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" + integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== dependencies: - is-core-module "^2.16.0" + is-core-module "^2.16.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -2523,9 +2518,9 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== semver@^7.3.5, semver@^7.5.3, semver@^7.5.4: - version "7.7.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" - integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== + version "7.7.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" + integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== send@^1.1.0, send@^1.2.0: version "1.2.1" @@ -2886,9 +2881,9 @@ temp-write@^6.0.1: temp-dir "^3.0.0" text-decoder@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.3.tgz#b19da364d981b2326d5f43099c310cc80d770c65" - integrity sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA== + version "1.2.7" + resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.7.tgz#5d073a9a74b9c0a9d28dfadcab96b604af57d8ba" + integrity sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ== dependencies: b4a "^1.6.4" diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 0555e8f378..cfd05cda64 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -4,19 +4,10 @@ "@adobe/css-tools@^4.4.0": version "4.4.4" - resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.4.tgz#2856c55443d3d461693f32d2b96fb6ea92e1ffa9" integrity sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" integrity sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== @@ -51,21 +42,10 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.28.5": - version "7.28.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz" - integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== - dependencies: - "@babel/parser" "^7.28.5" - "@babel/types" "^7.28.5" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - "@babel/generator@^7.29.0": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.0.tgz#4cba5a76b3c71d8be31761b03329d5dc7768447f" - integrity sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ== + version "7.29.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.1.tgz#d09876290111abbb00ef962a7b83a5307fba0d50" + integrity sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw== dependencies: "@babel/parser" "^7.29.0" "@babel/types" "^7.29.0" @@ -86,18 +66,10 @@ "@babel/helper-globals@^7.28.0": version "7.28.0" - resolved "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== -"@babel/helper-module-imports@^7.16.7": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-module-imports@^7.28.6": +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== @@ -115,23 +87,23 @@ "@babel/traverse" "^7.28.6" "@babel/helper-plugin-utils@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz#6f13ea251b68c8532e985fd532f28741a8af9ac8" + integrity sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== "@babel/helper-string-parser@^7.27.1": version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5": +"@babel/helper-validator-identifier@^7.28.5": version "7.28.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== "@babel/helper-validator-option@^7.27.1": version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== "@babel/helpers@^7.28.6": @@ -142,14 +114,7 @@ "@babel/template" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.27.2", "@babel/parser@^7.28.5": - version "7.28.5" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz" - integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== - dependencies: - "@babel/types" "^7.28.5" - -"@babel/parser@^7.28.6", "@babel/parser@^7.29.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" integrity sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== @@ -158,31 +123,22 @@ "@babel/plugin-transform-react-jsx-self@^7.27.1": version "7.27.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz#af678d8506acf52c577cac73ff7fe6615c85fc92" integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== dependencies: "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-react-jsx-source@^7.27.1": version "7.27.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz#dcfe2c24094bb757bf73960374e7c55e434f19f0" integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== dependencies: "@babel/helper-plugin-utils" "^7.27.1" "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.24.7", "@babel/runtime@^7.26.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7": - version "7.28.3" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz" - integrity sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA== - -"@babel/template@^7.27.2": - version "7.27.2" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.6.tgz#d267a43cb1836dc4d182cce93ae75ba954ef6d2b" + integrity sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA== "@babel/template@^7.28.6": version "7.28.6" @@ -193,19 +149,6 @@ "@babel/parser" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/traverse@^7.27.1": - version "7.28.5" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz" - integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.5" - debug "^4.3.1" - "@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" @@ -219,15 +162,7 @@ "@babel/types" "^7.29.0" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.5": - version "7.28.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz" - integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" - -"@babel/types@^7.28.6", "@babel/types@^7.29.0": +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6", "@babel/types@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== @@ -291,7 +226,7 @@ "@emotion/babel-plugin@^11.13.5": version "11.13.5" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" @@ -308,7 +243,7 @@ "@emotion/cache@^11.14.0", "@emotion/cache@^11.4.0": version "11.14.0" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== dependencies: "@emotion/memoize" "^0.9.0" @@ -319,17 +254,17 @@ "@emotion/hash@^0.9.2": version "0.9.2" - resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== "@emotion/memoize@^0.9.0": version "0.9.0" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== "@emotion/react@^11.8.1": version "11.14.0" - resolved "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== dependencies: "@babel/runtime" "^7.18.3" @@ -343,7 +278,7 @@ "@emotion/serialize@^1.3.3": version "1.3.3" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== dependencies: "@emotion/hash" "^0.9.2" @@ -354,177 +289,177 @@ "@emotion/sheet@^1.4.0": version "1.4.0" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== "@emotion/unitless@^0.10.0": version "0.10.0" - resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== "@emotion/use-insertion-effect-with-fallbacks@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== "@emotion/utils@^1.4.2": version "1.4.2" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== "@emotion/weak-memoize@^0.4.0": version "0.4.0" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== -"@esbuild/aix-ppc64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz#521cbd968dcf362094034947f76fa1b18d2d403c" - integrity sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw== - -"@esbuild/android-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz#61ea550962d8aa12a9b33194394e007657a6df57" - integrity sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA== - -"@esbuild/android-arm@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.27.2.tgz#554887821e009dd6d853f972fde6c5143f1de142" - integrity sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA== - -"@esbuild/android-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.27.2.tgz#a7ce9d0721825fc578f9292a76d9e53334480ba2" - integrity sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A== - -"@esbuild/darwin-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz#2cb7659bd5d109803c593cfc414450d5430c8256" - integrity sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg== - -"@esbuild/darwin-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz#e741fa6b1abb0cd0364126ba34ca17fd5e7bf509" - integrity sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA== - -"@esbuild/freebsd-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz#2b64e7116865ca172d4ce034114c21f3c93e397c" - integrity sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g== - -"@esbuild/freebsd-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz#e5252551e66f499e4934efb611812f3820e990bb" - integrity sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA== - -"@esbuild/linux-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz#dc4acf235531cd6984f5d6c3b13dbfb7ddb303cb" - integrity sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw== - -"@esbuild/linux-arm@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz#56a900e39240d7d5d1d273bc053daa295c92e322" - integrity sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw== - -"@esbuild/linux-ia32@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz#d4a36d473360f6870efcd19d52bbfff59a2ed1cc" - integrity sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w== - -"@esbuild/linux-loong64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz#fcf0ab8c3eaaf45891d0195d4961cb18b579716a" - integrity sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg== - -"@esbuild/linux-mips64el@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz#598b67d34048bb7ee1901cb12e2a0a434c381c10" - integrity sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw== - -"@esbuild/linux-ppc64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz#3846c5df6b2016dab9bc95dde26c40f11e43b4c0" - integrity sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ== - -"@esbuild/linux-riscv64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz#173d4475b37c8d2c3e1707e068c174bb3f53d07d" - integrity sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA== - -"@esbuild/linux-s390x@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz#f7a4790105edcab8a5a31df26fbfac1aa3dacfab" - integrity sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w== - -"@esbuild/linux-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz#2ecc1284b1904aeb41e54c9ddc7fcd349b18f650" - integrity sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA== - -"@esbuild/netbsd-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz#e2863c2cd1501845995cb11adf26f7fe4be527b0" - integrity sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw== - -"@esbuild/netbsd-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz#93f7609e2885d1c0b5a1417885fba8d1fcc41272" - integrity sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA== - -"@esbuild/openbsd-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz#a1985604a203cdc325fd47542e106fafd698f02e" - integrity sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA== - -"@esbuild/openbsd-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz#8209e46c42f1ffbe6e4ef77a32e1f47d404ad42a" - integrity sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg== - -"@esbuild/openharmony-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz#8fade4441893d9cc44cbd7dcf3776f508ab6fb2f" - integrity sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag== - -"@esbuild/sunos-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz#980d4b9703a16f0f07016632424fc6d9a789dfc2" - integrity sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg== - -"@esbuild/win32-arm64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz#1c09a3633c949ead3d808ba37276883e71f6111a" - integrity sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg== - -"@esbuild/win32-ia32@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz#1b1e3a63ad4bef82200fef4e369e0fff7009eee5" - integrity sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ== - -"@esbuild/win32-x64@0.27.2": - version "0.27.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz#9e585ab6086bef994c6e8a5b3a0481219ada862b" - integrity sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ== - -"@floating-ui/core@^1.7.3": - version "1.7.3" - resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz" - integrity sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w== +"@esbuild/aix-ppc64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz#815b39267f9bffd3407ea6c376ac32946e24f8d2" + integrity sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg== + +"@esbuild/android-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz#19b882408829ad8e12b10aff2840711b2da361e8" + integrity sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg== + +"@esbuild/android-arm@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.27.3.tgz#90be58de27915efa27b767fcbdb37a4470627d7b" + integrity sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA== + +"@esbuild/android-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.27.3.tgz#d7dcc976f16e01a9aaa2f9b938fbec7389f895ac" + integrity sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ== + +"@esbuild/darwin-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz#9f6cac72b3a8532298a6a4493ed639a8988e8abd" + integrity sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg== + +"@esbuild/darwin-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz#ac61d645faa37fd650340f1866b0812e1fb14d6a" + integrity sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg== + +"@esbuild/freebsd-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz#b8625689d73cf1830fe58c39051acdc12474ea1b" + integrity sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w== + +"@esbuild/freebsd-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz#07be7dd3c9d42fe0eccd2ab9f9ded780bc53bead" + integrity sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA== + +"@esbuild/linux-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz#bf31918fe5c798586460d2b3d6c46ed2c01ca0b6" + integrity sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg== + +"@esbuild/linux-arm@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz#28493ee46abec1dc3f500223cd9f8d2df08f9d11" + integrity sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw== + +"@esbuild/linux-ia32@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz#750752a8b30b43647402561eea764d0a41d0ee29" + integrity sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg== + +"@esbuild/linux-loong64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz#a5a92813a04e71198c50f05adfaf18fc1e95b9ed" + integrity sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA== + +"@esbuild/linux-mips64el@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz#deb45d7fd2d2161eadf1fbc593637ed766d50bb1" + integrity sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw== + +"@esbuild/linux-ppc64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz#6f39ae0b8c4d3d2d61a65b26df79f6e12a1c3d78" + integrity sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA== + +"@esbuild/linux-riscv64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz#4c5c19c3916612ec8e3915187030b9df0b955c1d" + integrity sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ== + +"@esbuild/linux-s390x@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz#9ed17b3198fa08ad5ccaa9e74f6c0aff7ad0156d" + integrity sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw== + +"@esbuild/linux-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz#12383dcbf71b7cf6513e58b4b08d95a710bf52a5" + integrity sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA== + +"@esbuild/netbsd-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz#dd0cb2fa543205fcd931df44f4786bfcce6df7d7" + integrity sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA== + +"@esbuild/netbsd-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz#028ad1807a8e03e155153b2d025b506c3787354b" + integrity sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA== + +"@esbuild/openbsd-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz#e3c16ff3490c9b59b969fffca87f350ffc0e2af5" + integrity sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw== + +"@esbuild/openbsd-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz#c5a4693fcb03d1cbecbf8b422422468dfc0d2a8b" + integrity sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ== + +"@esbuild/openharmony-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz#082082444f12db564a0775a41e1991c0e125055e" + integrity sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g== + +"@esbuild/sunos-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz#5ab036c53f929e8405c4e96e865a424160a1b537" + integrity sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA== + +"@esbuild/win32-arm64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz#38de700ef4b960a0045370c171794526e589862e" + integrity sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA== + +"@esbuild/win32-ia32@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz#451b93dc03ec5d4f38619e6cd64d9f9eff06f55c" + integrity sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q== + +"@esbuild/win32-x64@0.27.3": + version "0.27.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz#0eaf705c941a218a43dba8e09f1df1d6cd2f1f17" + integrity sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA== + +"@floating-ui/core@^1.7.4": + version "1.7.4" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.7.4.tgz#4a006a6e01565c0f87ba222c317b056a2cffd2f4" + integrity sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg== dependencies: "@floating-ui/utils" "^0.2.10" "@floating-ui/dom@^1.0.1": - version "1.7.4" - resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz" - integrity sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA== + version "1.7.5" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.7.5.tgz#60bfc83a4d1275b2a90db76bf42ca2a5f2c231c2" + integrity sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg== dependencies: - "@floating-ui/core" "^1.7.3" + "@floating-ui/core" "^1.7.4" "@floating-ui/utils" "^0.2.10" "@floating-ui/utils@^0.2.10": version "0.2.10" - resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.10.tgz#a2a1e3812d14525f725d011a73eceb41fef5bc1c" integrity sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ== "@formatjs/cli@^6.13.0": @@ -587,7 +522,7 @@ "@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": version "0.3.13" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" @@ -595,7 +530,7 @@ "@jridgewell/remapping@^2.3.5": version "2.3.5" - resolved "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== dependencies: "@jridgewell/gen-mapping" "^0.3.5" @@ -603,140 +538,140 @@ "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5": version "1.5.5" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": - version "0.3.30" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz" - integrity sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q== + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@parcel/watcher-android-arm64@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1" - integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== - -"@parcel/watcher-darwin-arm64@2.5.1": - version "2.5.1" - resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz" - integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== - -"@parcel/watcher-darwin-x64@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8" - integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== - -"@parcel/watcher-freebsd-x64@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b" - integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== - -"@parcel/watcher-linux-arm-glibc@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1" - integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== - -"@parcel/watcher-linux-arm-musl@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e" - integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== - -"@parcel/watcher-linux-arm64-glibc@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30" - integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== - -"@parcel/watcher-linux-arm64-musl@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2" - integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== - -"@parcel/watcher-linux-x64-glibc@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz#4d2ea0f633eb1917d83d483392ce6181b6a92e4e" - integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== - -"@parcel/watcher-linux-x64-musl@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee" - integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== - -"@parcel/watcher-win32-arm64@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243" - integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== - -"@parcel/watcher-win32-ia32@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6" - integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== - -"@parcel/watcher-win32-x64@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz#ae52693259664ba6f2228fa61d7ee44b64ea0947" - integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== +"@parcel/watcher-android-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz#5f32e0dba356f4ac9a11068d2a5c134ca3ba6564" + integrity sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A== + +"@parcel/watcher-darwin-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz#88d3e720b59b1eceffce98dac46d7c40e8be5e8e" + integrity sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA== + +"@parcel/watcher-darwin-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz#bf05d76a78bc15974f15ec3671848698b0838063" + integrity sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg== + +"@parcel/watcher-freebsd-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz#8bc26e9848e7303ac82922a5ae1b1ef1bdb48a53" + integrity sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng== + +"@parcel/watcher-linux-arm-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz#1328fee1deb0c2d7865079ef53a2ba4cc2f8b40a" + integrity sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ== + +"@parcel/watcher-linux-arm-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz#bad0f45cb3e2157746db8b9d22db6a125711f152" + integrity sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg== + +"@parcel/watcher-linux-arm64-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz#b75913fbd501d9523c5f35d420957bf7d0204809" + integrity sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA== + +"@parcel/watcher-linux-arm64-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz#da5621a6a576070c8c0de60dea8b46dc9c3827d4" + integrity sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA== + +"@parcel/watcher-linux-x64-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz#ce437accdc4b30f93a090b4a221fd95cd9b89639" + integrity sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ== + +"@parcel/watcher-linux-x64-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz#02400c54b4a67efcc7e2327b249711920ac969e2" + integrity sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg== + +"@parcel/watcher-win32-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz#caae3d3c7583ca0a7171e6bd142c34d20ea1691e" + integrity sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q== + +"@parcel/watcher-win32-ia32@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz#9ac922550896dfe47bfc5ae3be4f1bcaf8155d6d" + integrity sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g== + +"@parcel/watcher-win32-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz#73fdafba2e21c448f0e456bbe13178d8fe11739d" + integrity sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw== "@parcel/watcher@^2.4.1": - version "2.5.1" - resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz" - integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.6.tgz#3f932828c894f06d0ad9cfefade1756ecc6ef1f1" + integrity sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ== dependencies: - detect-libc "^1.0.3" + detect-libc "^2.0.3" is-glob "^4.0.3" - micromatch "^4.0.5" node-addon-api "^7.0.0" + picomatch "^4.0.3" optionalDependencies: - "@parcel/watcher-android-arm64" "2.5.1" - "@parcel/watcher-darwin-arm64" "2.5.1" - "@parcel/watcher-darwin-x64" "2.5.1" - "@parcel/watcher-freebsd-x64" "2.5.1" - "@parcel/watcher-linux-arm-glibc" "2.5.1" - "@parcel/watcher-linux-arm-musl" "2.5.1" - "@parcel/watcher-linux-arm64-glibc" "2.5.1" - "@parcel/watcher-linux-arm64-musl" "2.5.1" - "@parcel/watcher-linux-x64-glibc" "2.5.1" - "@parcel/watcher-linux-x64-musl" "2.5.1" - "@parcel/watcher-win32-arm64" "2.5.1" - "@parcel/watcher-win32-ia32" "2.5.1" - "@parcel/watcher-win32-x64" "2.5.1" + "@parcel/watcher-android-arm64" "2.5.6" + "@parcel/watcher-darwin-arm64" "2.5.6" + "@parcel/watcher-darwin-x64" "2.5.6" + "@parcel/watcher-freebsd-x64" "2.5.6" + "@parcel/watcher-linux-arm-glibc" "2.5.6" + "@parcel/watcher-linux-arm-musl" "2.5.6" + "@parcel/watcher-linux-arm64-glibc" "2.5.6" + "@parcel/watcher-linux-arm64-musl" "2.5.6" + "@parcel/watcher-linux-x64-glibc" "2.5.6" + "@parcel/watcher-linux-x64-musl" "2.5.6" + "@parcel/watcher-win32-arm64" "2.5.6" + "@parcel/watcher-win32-ia32" "2.5.6" + "@parcel/watcher-win32-x64" "2.5.6" "@popperjs/core@^2.11.8": version "2.11.8" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@react-aria/ssr@^3.5.0": version "3.9.10" - resolved "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.10.tgz" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.10.tgz#7fdc09e811944ce0df1d7e713de1449abd7435e6" integrity sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ== dependencies: "@swc/helpers" "^0.5.0" "@restart/hooks@^0.4.9": version "0.4.16" - resolved "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz" + resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.16.tgz#95ae8ac1cc7e2bd4fed5e39800ff85604c6d59fb" integrity sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w== dependencies: dequal "^2.0.3" "@restart/hooks@^0.5.0": version "0.5.1" - resolved "https://registry.npmjs.org/@restart/hooks/-/hooks-0.5.1.tgz" + resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.5.1.tgz#6776b3859e33aea72b23b81fc47021edf17fd247" integrity sha512-EMoH04NHS1pbn07iLTjIjgttuqb7qu4+/EyhAx27MHpoENcB2ZdSsLTNxmKD+WEPnZigo62Qc8zjGnNxoSE/5Q== dependencies: dequal "^2.0.3" "@restart/ui@^1.9.4": version "1.9.4" - resolved "https://registry.npmjs.org/@restart/ui/-/ui-1.9.4.tgz" + resolved "https://registry.yarnpkg.com/@restart/ui/-/ui-1.9.4.tgz#9d61f56f2647f5ab8a33d87b278b9ce183511a26" integrity sha512-N4C7haUc3vn4LTwVUPlkJN8Ach/+yIMvRuTVIhjilNHqegY60SGLrzud6errOMNJwSnmYFnt1J0H/k8FE3A4KA== dependencies: "@babel/runtime" "^7.26.0" @@ -754,126 +689,146 @@ resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz#8a88cc92a0f741befc7bc109cb1a4c6b9408e1c5" integrity sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q== -"@rollup/rollup-android-arm-eabi@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.50.0.tgz#939c1be9625d428d8513e4ab60d406fe8db23718" - integrity sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ== - -"@rollup/rollup-android-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.50.0.tgz#b74005775903f7a8f4e363d2840c1dcef3776ff3" - integrity sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw== - -"@rollup/rollup-darwin-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.0.tgz" - integrity sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg== - -"@rollup/rollup-darwin-x64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.50.0.tgz#19ec976f1cc663def2692cd7ffb32981f2b0b733" - integrity sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw== - -"@rollup/rollup-freebsd-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.50.0.tgz#a96b4ad8346229f6fcbd9d57f1c53040b037c2da" - integrity sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ== - -"@rollup/rollup-freebsd-x64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.50.0.tgz#fa565a282bc57967ee6668607b181678bdd74e4a" - integrity sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA== - -"@rollup/rollup-linux-arm-gnueabihf@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.50.0.tgz#dfc88f7295e1f98d77f25296be787e8a5d6ced75" - integrity sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w== - -"@rollup/rollup-linux-arm-musleabihf@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.50.0.tgz#32cd70c87455ca031f0361090cf17da5a2ef66d5" - integrity sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg== - -"@rollup/rollup-linux-arm64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.50.0.tgz#0e7e1fe7241e3384f6c6b4ccdbcfa8ad8c78b869" - integrity sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g== - -"@rollup/rollup-linux-arm64-musl@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.50.0.tgz#5d421f2f3e4a84786c4dfd9ce97e595c9b59e7f4" - integrity sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ== - -"@rollup/rollup-linux-loongarch64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.50.0.tgz#a0fb5c7d0e88319e18acfd9436f19ee39354b027" - integrity sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ== - -"@rollup/rollup-linux-ppc64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.50.0.tgz#a65b598af12f25210c3295da551a6e3616ea488d" - integrity sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg== - -"@rollup/rollup-linux-riscv64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.50.0.tgz#10ba776214ae2857c5bf4389690dabb2fbaf7d98" - integrity sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA== - -"@rollup/rollup-linux-riscv64-musl@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.50.0.tgz#c2a46cbaa329d5f21e5808f5a66bb9c78cf68aac" - integrity sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ== - -"@rollup/rollup-linux-s390x-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.50.0.tgz#a07447be069d64462e30c66611be20c4513963ed" - integrity sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ== - -"@rollup/rollup-linux-x64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.0.tgz#8887c58bd51242754ae9c56947d6e883332dcc74" - integrity sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA== - -"@rollup/rollup-linux-x64-musl@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.50.0.tgz#6403fda72a2b3b9fbbeeff93d14f1c45ef9775f3" - integrity sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw== - -"@rollup/rollup-openharmony-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.50.0.tgz#52809afccaff47e731b965a0c16e5686be819d5f" - integrity sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q== - -"@rollup/rollup-win32-arm64-msvc@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.50.0.tgz#23fe00ddbb40b27a3889bc1e99e6310d97353ad5" - integrity sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg== - -"@rollup/rollup-win32-ia32-msvc@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.50.0.tgz#520b588076b593413d919912d69dfd5728a1f305" - integrity sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw== - -"@rollup/rollup-win32-x64-msvc@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.0.tgz#d81efe6a12060c7feddf9805e2a94c3ab0679f48" - integrity sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg== +"@rollup/rollup-android-arm-eabi@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz#add5e608d4e7be55bc3ca3d962490b8b1890e088" + integrity sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg== + +"@rollup/rollup-android-arm64@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz#10bd0382b73592beee6e9800a69401a29da625c4" + integrity sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w== + +"@rollup/rollup-darwin-arm64@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz#1e99ab04c0b8c619dd7bbde725ba2b87b55bfd81" + integrity sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg== + +"@rollup/rollup-darwin-x64@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz#69e741aeb2839d2e8f0da2ce7a33d8bd23632423" + integrity sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w== + +"@rollup/rollup-freebsd-arm64@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz#3736c232a999c7bef7131355d83ebdf9651a0839" + integrity sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug== + +"@rollup/rollup-freebsd-x64@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz#227dcb8f466684070169942bd3998901c9bfc065" + integrity sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q== + +"@rollup/rollup-linux-arm-gnueabihf@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz#ba004b30df31b724f99ce66e7128248bea17cb0c" + integrity sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw== + +"@rollup/rollup-linux-arm-musleabihf@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz#6929f3e07be6b6da5991f63c6b68b3e473d0a65a" + integrity sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw== + +"@rollup/rollup-linux-arm64-gnu@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz#06e89fd4a25d21fe5575d60b6f913c0e65297bfa" + integrity sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g== + +"@rollup/rollup-linux-arm64-musl@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz#fddabf395b90990d5194038e6cd8c00156ed8ac0" + integrity sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q== + +"@rollup/rollup-linux-loong64-gnu@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz#04c10bb764bbf09a3c1bd90432e92f58d6603c36" + integrity sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA== + +"@rollup/rollup-linux-loong64-musl@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz#f2450361790de80581d8687ea19142d8a4de5c0f" + integrity sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw== + +"@rollup/rollup-linux-ppc64-gnu@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz#0474f4667259e407eee1a6d38e29041b708f6a30" + integrity sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w== + +"@rollup/rollup-linux-ppc64-musl@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz#9f32074819eeb1ddbe51f50ea9dcd61a6745ec33" + integrity sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw== + +"@rollup/rollup-linux-riscv64-gnu@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz#3fdb9d4b1e29fb6b6a6da9f15654d42eb77b99b2" + integrity sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A== + +"@rollup/rollup-linux-riscv64-musl@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz#1de780d64e6be0e3e8762035c22e0d8ea68df8ed" + integrity sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw== + +"@rollup/rollup-linux-s390x-gnu@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz#1da022ffd2d9e9f0fd8344ea49e113001fbcac64" + integrity sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg== + +"@rollup/rollup-linux-x64-gnu@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz#78c16eef9520bd10e1ea7a112593bb58e2842622" + integrity sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg== + +"@rollup/rollup-linux-x64-musl@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz#a7598591b4d9af96cb3167b50a5bf1e02dfea06c" + integrity sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw== + +"@rollup/rollup-openbsd-x64@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz#c51d48c07cd6c466560e5bed934aec688ce02614" + integrity sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw== + +"@rollup/rollup-openharmony-arm64@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz#f09921d0b2a0b60afbf3586d2a7a7f208ba6df17" + integrity sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ== + +"@rollup/rollup-win32-arm64-msvc@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz#08d491717135376e4a99529821c94ecd433d5b36" + integrity sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ== + +"@rollup/rollup-win32-ia32-msvc@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz#b0c12aac1104a8b8f26a5e0098e5facbb3e3964a" + integrity sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew== + +"@rollup/rollup-win32-x64-gnu@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz#b9cccef26f5e6fdc013bf3c0911a3c77428509d0" + integrity sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ== + +"@rollup/rollup-win32-x64-msvc@4.57.1": + version "4.57.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz#a03348e7b559c792b6277cc58874b89ef46e1e72" + integrity sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA== "@standard-schema/spec@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz" - integrity sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.1.0.tgz#a79b55dbaf8604812f52d140b2c9ab41bc150bb8" + integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== "@swc/helpers@^0.5.0": - version "0.5.17" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz" - integrity sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A== + version "0.5.18" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.18.tgz#feeeabea0d10106ee25aaf900165df911ab6d3b1" + integrity sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ== dependencies: tslib "^2.8.0" "@tabler/core@^1.4.0": version "1.4.0" - resolved "https://registry.npmjs.org/@tabler/core/-/core-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/@tabler/core/-/core-1.4.0.tgz#9e011289d92cf6120655793cef6576fd67eb07f3" integrity sha512-5BigzOlbOH9N0Is4u0rYNRCiwtnUXWO57K9zwuscygcicAa8UV9MGaS4zTgQsZEtZ9tsNANhN/YD8gCBGKYCiw== dependencies: "@popperjs/core" "^2.11.8" @@ -887,9 +842,9 @@ "@tabler/icons" "" "@tabler/icons@": - version "3.36.1" - resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.36.1.tgz#a893104b3c56e02458b13342abb6e466d4a81a8d" - integrity sha512-f4Jg3Fof/Vru5ioix/UO4GX+sdDsF9wQo47FbtvG+utIYYVQ/QVAC0QYgcBbAjQGfbdOh2CCf0BgiFOF9Ixtjw== + version "3.37.1" + resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.37.1.tgz#63321590040eba80b8257631648023c5139d6d3c" + integrity sha512-neLCWkuyNHEPXCyYu6nbN4S3g/59BTa4qyITAugYVpq1YzYNDOZooW7/vRWH98ZItXAudxdKU8muFT7y1PqzuA== "@tanstack/query-core@5.90.20": version "5.90.20" @@ -917,19 +872,19 @@ "@tanstack/react-table@^8.21.3": version "8.21.3" - resolved "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.21.3.tgz" + resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.21.3.tgz#2c38c747a5731c1a07174fda764b9c2b1fb5e91b" integrity sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww== dependencies: "@tanstack/table-core" "8.21.3" "@tanstack/table-core@8.21.3": version "8.21.3" - resolved "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz" + resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.21.3.tgz#2977727d8fc8dfa079112d9f4d4c019110f1732c" integrity sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg== "@testing-library/dom@^10.4.1": version "10.4.1" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.1.tgz#d444f8a889e9a46e9a3b4f3b88e0fcb3efb6cf95" integrity sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg== dependencies: "@babel/code-frame" "^7.10.4" @@ -943,7 +898,7 @@ "@testing-library/jest-dom@^6.9.1": version "6.9.1" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz#7613a04e146dd2976d24ddf019730d57a89d56c2" integrity sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA== dependencies: "@adobe/css-tools" "^4.4.0" @@ -962,12 +917,12 @@ "@types/aria-query@^5.0.1": version "5.0.4" - resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== "@types/babel__core@^7.20.5": version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + 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" @@ -978,14 +933,14 @@ "@types/babel__generator@*": version "7.27.0" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + 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" @@ -993,122 +948,123 @@ "@types/babel__traverse@*": version "7.28.0" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== dependencies: "@babel/types" "^7.28.2" "@types/chai@^5.2.2": - version "5.2.2" - resolved "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz" - integrity sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg== + version "5.2.3" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.3.tgz#8e9cd9e1c3581fa6b341a5aed5588eb285be0b4a" + integrity sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== dependencies: "@types/deep-eql" "*" + assertion-error "^2.0.1" "@types/country-flag-icons@^1.2.2": version "1.2.2" - resolved "https://registry.npmjs.org/@types/country-flag-icons/-/country-flag-icons-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/@types/country-flag-icons/-/country-flag-icons-1.2.2.tgz#8f51089cab857f0f700feabd38b3960d006d64f2" integrity sha512-CefEn/J336TBDp7NX8JqzlDtCBOsm8M3r1Li0gEOt0HOMHF1XemNyrx9lSHjsafcb1yYWybU0N8ZAXuyCaND0w== "@types/debug@^4.0.0": version "4.1.12" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" "@types/deep-eql@*": version "4.0.2" - resolved "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== "@types/estree-jsx@^1.0.0": version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18" integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== dependencies: "@types/estree" "*" "@types/estree@*", "@types/estree@1.0.8", "@types/estree@^1.0.0": version "1.0.8" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/hast@^2.0.0": version "2.3.10" - resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== dependencies: "@types/unist" "^2" "@types/hast@^3.0.0": version "3.0.4" - resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== dependencies: "@types/unist" "*" "@types/hoist-non-react-statics@^3.3.1": version "3.3.7" - resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz#306e3a3a73828522efa1341159da4846e7573a6c" integrity sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g== dependencies: hoist-non-react-statics "^3.3.0" "@types/humps@^2.0.6": version "2.0.6" - resolved "https://registry.npmjs.org/@types/humps/-/humps-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/humps/-/humps-2.0.6.tgz#a358688fe092e40b5f50261e0a55e2fa6d68cabe" integrity sha512-Fagm1/a/1J9gDKzGdtlPmmTN5eSw/aaTzHtj740oSfo+MODsSY2WglxMmhTdOglC8nxqUhGGQ+5HfVtBvxo3Kg== "@types/mdast@^4.0.0": version "4.0.4" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== dependencies: "@types/unist" "*" "@types/ms@*": version "2.1.0" - resolved "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== "@types/node@*", "@types/node@>=20.0.0": - version "25.0.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.10.tgz#4864459c3c9459376b8b75fd051315071c8213e7" - integrity sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg== + version "25.3.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.3.0.tgz#749b1bd4058e51b72e22bd41e9eab6ebd0180470" + integrity sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A== dependencies: - undici-types "~7.16.0" + undici-types "~7.18.0" "@types/parse-json@^4.0.0": version "4.0.2" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/prismjs@^1.0.0": - version "1.26.5" - resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz" - integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ== + version "1.26.6" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.6.tgz#6ea27c126d645319ae4f7055eda63a9e835c0187" + integrity sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw== "@types/prop-types@^15.7.12": version "15.7.15" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.15.tgz#e6e5a86d602beaca71ce5163fadf5f95d70931c7" integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw== "@types/react-dom@^19.2.3": version "19.2.3" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.2.3.tgz#c1e305d15a52a3e508d54dca770d202cb63abf2c" integrity sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ== "@types/react-table@^7.7.20": version "7.7.20" - resolved "https://registry.npmjs.org/@types/react-table/-/react-table-7.7.20.tgz" + resolved "https://registry.yarnpkg.com/@types/react-table/-/react-table-7.7.20.tgz#2f68e70ca7a703ad8011a8da55c38482f0eb4314" integrity sha512-ahMp4pmjVlnExxNwxyaDrFgmKxSbPwU23sGQw2gJK4EhCvnvmib2s/O/+y1dfV57dXOwpr2plfyBol+vEHbi2w== dependencies: "@types/react" "*" "@types/react-transition-group@^4.4.0", "@types/react-transition-group@^4.4.6": version "4.4.12" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== "@types/react@*", "@types/react@>=16.9.11", "@types/react@^19.2.14": @@ -1120,22 +1076,22 @@ "@types/unist@*", "@types/unist@^3.0.0": version "3.0.3" - resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== "@types/unist@^2", "@types/unist@^2.0.0": version "2.0.11" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== "@types/warning@^3.0.3": version "3.0.3" - resolved "https://registry.npmjs.org/@types/warning/-/warning-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.3.tgz#d1884c8cc4a426d1ac117ca2611bf333834c6798" integrity sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q== "@types/whatwg-mimetype@^3.0.2": version "3.0.2" - resolved "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz#e5e06dcd3e92d4e622ef0129637707d66c28d6a4" integrity sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA== "@types/ws@^8.18.1": @@ -1147,7 +1103,7 @@ "@uiw/react-textarea-code-editor@^3.1.1": version "3.1.1" - resolved "https://registry.npmjs.org/@uiw/react-textarea-code-editor/-/react-textarea-code-editor-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/@uiw/react-textarea-code-editor/-/react-textarea-code-editor-3.1.1.tgz#8ca1b706a3081a51c68bc0df91c9c3cdadd9944e" integrity sha512-AERRbp/d85vWR+UPgsB5hEgerNXuyszdmhWl2fV2H2jN63jgOobwEnjIpb76Vwy8SaGa/AdehaoJX2XZgNXtJA== dependencies: "@babel/runtime" "^7.18.6" @@ -1156,7 +1112,7 @@ "@ungap/structured-clone@^1.0.0": version "1.3.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== "@vitejs/plugin-react@^5.1.4": @@ -1231,24 +1187,34 @@ 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@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -aria-query@5.3.0, aria-query@^5.0.0: +aria-query@5.3.0: version "5.3.0" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: dequal "^2.0.3" +aria-query@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== + +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + babel-plugin-macros@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: "@babel/runtime" "^7.12.5" @@ -1257,39 +1223,38 @@ babel-plugin-macros@^3.1.0: bail@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +baseline-browser-mapping@^2.9.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz#5b09935025bf8a80e29130251e337c6a7fc8cbb9" + integrity sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA== + bootstrap@5.3.7: version "5.3.7" - resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.7.tgz" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.7.tgz#8640065036124d961d885d80b5945745e1154d90" integrity sha512-7KgiD8UHjfcPBHEpDNg+zGz8L3LqR3GVwqZiBRFX04a1BCArZOz1r2kjly2HQ0WokqTO0v1nF+QAt8dsW4lKlw== -braces@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - browserslist@^4.24.0: - version "4.25.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz" - integrity sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg== + version "4.28.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" + integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== dependencies: - caniuse-lite "^1.0.30001737" - electron-to-chromium "^1.5.211" - node-releases "^2.0.19" - update-browserslist-db "^1.1.3" + baseline-browser-mapping "^2.9.0" + caniuse-lite "^1.0.30001759" + electron-to-chromium "^1.5.263" + node-releases "^2.0.27" + update-browserslist-db "^1.2.0" buffer@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== dependencies: base64-js "^1.3.1" @@ -1297,17 +1262,17 @@ buffer@^6.0.3: 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== -caniuse-lite@^1.0.30001737: - version "1.0.30001739" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz" - integrity sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA== +caniuse-lite@^1.0.30001759: + version "1.0.30001770" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz#4dc47d3b263a50fbb243448034921e0a88591a84" + integrity sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw== ccount@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== chai@^6.2.1: @@ -1317,64 +1282,64 @@ chai@^6.2.1: character-entities-html4@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== character-entities@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== chokidar@^4.0.0, chokidar@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== dependencies: readdirp "^4.0.1" classnames@^2.3.2, classnames@^2.5.1: version "2.5.1" - resolved "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== clsx@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== comma-separated-tokens@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== convert-source-map@^1.5.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookie@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz" - integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-1.1.1.tgz#3bb9bdfc82369db9c2f69c93c9c3ceb310c88b3c" + integrity sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ== cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -1390,22 +1355,22 @@ country-flag-icons@^1.6.13: css.escape@^1.5.1: version "1.5.1" - resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== csstype@^3.0.2, csstype@^3.2.2: version "3.2.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== date-fns@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.4.3" - resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" @@ -1416,65 +1381,65 @@ decimal.js@^10.6.0: integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== decode-named-character-reference@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz" - integrity sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q== + version "1.3.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz#3e40603760874c2e5867691b599d73a7da25b53f" + integrity sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q== dependencies: character-entities "^2.0.0" decode-uri-component@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.4.1.tgz#2ac4859663c704be22bf7db760a1494a49ab2cc5" integrity sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ== deepmerge@^2.1.1: version "2.2.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== +detect-libc@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== devlop@^1.0.0, devlop@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== dependencies: dequal "^2.0.0" dom-accessibility-api@^0.5.9: version "0.5.16" - resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== dom-accessibility-api@^0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1: version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -electron-to-chromium@^1.5.211: - version "1.5.213" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.213.tgz" - integrity sha512-xr9eRzSLNa4neDO0xVFrkXu3vyIzG4Ay08dApecw42Z1NbmCt+keEpXdvlYGVe0wtvY5dhW0Ay0lY0IOfsCg0Q== +electron-to-chromium@^1.5.263: + version "1.5.286" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz#142be1ab5e1cd5044954db0e5898f60a4960384e" + integrity sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A== entities@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== entities@^7.0.1: @@ -1484,110 +1449,103 @@ entities@^7.0.1: error-ex@^1.3.1: version "1.3.4" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== dependencies: is-arrayish "^0.2.1" es-module-lexer@^1.7.0: version "1.7.0" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== esbuild@^0.27.0: - version "0.27.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.27.2.tgz#d83ed2154d5813a5367376bb2292a9296fc83717" - integrity sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw== + version "0.27.3" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.27.3.tgz#5859ca8e70a3af956b26895ce4954d7e73bd27a8" + integrity sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg== optionalDependencies: - "@esbuild/aix-ppc64" "0.27.2" - "@esbuild/android-arm" "0.27.2" - "@esbuild/android-arm64" "0.27.2" - "@esbuild/android-x64" "0.27.2" - "@esbuild/darwin-arm64" "0.27.2" - "@esbuild/darwin-x64" "0.27.2" - "@esbuild/freebsd-arm64" "0.27.2" - "@esbuild/freebsd-x64" "0.27.2" - "@esbuild/linux-arm" "0.27.2" - "@esbuild/linux-arm64" "0.27.2" - "@esbuild/linux-ia32" "0.27.2" - "@esbuild/linux-loong64" "0.27.2" - "@esbuild/linux-mips64el" "0.27.2" - "@esbuild/linux-ppc64" "0.27.2" - "@esbuild/linux-riscv64" "0.27.2" - "@esbuild/linux-s390x" "0.27.2" - "@esbuild/linux-x64" "0.27.2" - "@esbuild/netbsd-arm64" "0.27.2" - "@esbuild/netbsd-x64" "0.27.2" - "@esbuild/openbsd-arm64" "0.27.2" - "@esbuild/openbsd-x64" "0.27.2" - "@esbuild/openharmony-arm64" "0.27.2" - "@esbuild/sunos-x64" "0.27.2" - "@esbuild/win32-arm64" "0.27.2" - "@esbuild/win32-ia32" "0.27.2" - "@esbuild/win32-x64" "0.27.2" + "@esbuild/aix-ppc64" "0.27.3" + "@esbuild/android-arm" "0.27.3" + "@esbuild/android-arm64" "0.27.3" + "@esbuild/android-x64" "0.27.3" + "@esbuild/darwin-arm64" "0.27.3" + "@esbuild/darwin-x64" "0.27.3" + "@esbuild/freebsd-arm64" "0.27.3" + "@esbuild/freebsd-x64" "0.27.3" + "@esbuild/linux-arm" "0.27.3" + "@esbuild/linux-arm64" "0.27.3" + "@esbuild/linux-ia32" "0.27.3" + "@esbuild/linux-loong64" "0.27.3" + "@esbuild/linux-mips64el" "0.27.3" + "@esbuild/linux-ppc64" "0.27.3" + "@esbuild/linux-riscv64" "0.27.3" + "@esbuild/linux-s390x" "0.27.3" + "@esbuild/linux-x64" "0.27.3" + "@esbuild/netbsd-arm64" "0.27.3" + "@esbuild/netbsd-x64" "0.27.3" + "@esbuild/openbsd-arm64" "0.27.3" + "@esbuild/openbsd-x64" "0.27.3" + "@esbuild/openharmony-arm64" "0.27.3" + "@esbuild/sunos-x64" "0.27.3" + "@esbuild/win32-arm64" "0.27.3" + "@esbuild/win32-ia32" "0.27.3" + "@esbuild/win32-x64" "0.27.3" escalade@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== 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== estree-util-is-identifier-name@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== estree-walker@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== dependencies: "@types/estree" "^1.0.0" expect-type@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz" - integrity sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.3.0.tgz#0d58ed361877a31bbc4dd6cf71bbfef7faf6bd68" + integrity sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== extend@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== ez-modal-react@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/ez-modal-react/-/ez-modal-react-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/ez-modal-react/-/ez-modal-react-1.0.5.tgz#38d36c5e31f54f6b7cb7afa0cc79a8d1190c2805" integrity sha512-/A8yLK54tpmWCMkW8Pwqc2xxspmimGOOw/m+1Y+tNtUIheuDHhLynHP1Q0utciJEGDAK849aQcd+6DrJ88hggQ== 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== fdir@^6.5.0: version "6.5.0" - resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - filter-obj@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-5.1.0.tgz#5bd89676000a713d7db2e197f660274428e524ed" integrity sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== find-root@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== formik@^2.4.9: @@ -1606,17 +1564,17 @@ formik@^2.4.9: fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== generate-password-browser@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/generate-password-browser/-/generate-password-browser-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/generate-password-browser/-/generate-password-browser-1.1.0.tgz#ec1661d0f3ce0b36e2ffdf6099578725a43d12e9" integrity sha512-qsQve0rVbCqGqAfKgZwjxKUfI1d1nyd22dz+kE8gn1iw1LxGkR+Slsl79XXfm2wxuK27IkopTs5KXcOEQnhg0w== dependencies: buffer "^6.0.3" @@ -1624,12 +1582,12 @@ generate-password-browser@^1.1.0: 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== globrex@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== happy-dom@^20.6.3: @@ -1646,14 +1604,14 @@ happy-dom@^20.6.3: hasown@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" hast-util-from-html@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz#485c74785358beb80c4ba6346299311ac4c49c82" integrity sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw== dependencies: "@types/hast" "^3.0.0" @@ -1665,7 +1623,7 @@ hast-util-from-html@^2.0.0: hast-util-from-parse5@^8.0.0: version "8.0.3" - resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e" integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== dependencies: "@types/hast" "^3.0.0" @@ -1679,21 +1637,21 @@ hast-util-from-parse5@^8.0.0: hast-util-parse-selector@^3.0.0: version "3.1.1" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== dependencies: "@types/hast" "^2.0.0" hast-util-parse-selector@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== dependencies: "@types/hast" "^3.0.0" hast-util-to-html@^9.0.0: version "9.0.5" - resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz#ccc673a55bb8e85775b08ac28380f72d47167005" integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== dependencies: "@types/hast" "^3.0.0" @@ -1710,7 +1668,7 @@ hast-util-to-html@^9.0.0: hast-util-to-jsx-runtime@^2.0.0: version "2.3.6" - resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz" + resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98" integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg== dependencies: "@types/estree" "^1.0.0" @@ -1731,21 +1689,21 @@ hast-util-to-jsx-runtime@^2.0.0: hast-util-to-string@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz#a4f15e682849326dd211c97129c94b0c3e76527c" integrity sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A== dependencies: "@types/hast" "^3.0.0" hast-util-whitespace@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== dependencies: "@types/hast" "^3.0.0" hastscript@^7.0.0: version "7.2.0" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== dependencies: "@types/hast" "^2.0.0" @@ -1756,7 +1714,7 @@ hastscript@^7.0.0: hastscript@^9.0.0: version "9.0.1" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== dependencies: "@types/hast" "^3.0.0" @@ -1767,39 +1725,39 @@ hastscript@^9.0.0: hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" html-url-attributes@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.1.tgz#83b052cd5e437071b756cd74ae70f708870c2d87" integrity sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ== html-void-elements@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== humps@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" integrity sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g== ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== immutable@^5.0.2: - version "5.1.3" - resolved "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz" - integrity sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg== + version "5.1.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.4.tgz#e3f8c1fe7b567d56cf26698f31918c241dae8c1f" + integrity sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA== import-fresh@^3.2.1: version "3.3.1" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" @@ -1807,13 +1765,13 @@ import-fresh@^3.2.1: indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -inline-style-parser@0.2.4: - version "0.2.4" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz" - integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== +inline-style-parser@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz#b1fc68bfc0313b8685745e4464e37f9376b9c909" + integrity sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA== intl-messageformat@11.1.2: version "11.1.2" @@ -1827,19 +1785,19 @@ intl-messageformat@11.1.2: invariant@^2.2.4: version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" is-alphabetical@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== is-alphanumerical@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: is-alphabetical "^2.0.0" @@ -1847,71 +1805,66 @@ is-alphanumerical@^2.0.0: 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-core-module@^2.16.0: +is-core-module@^2.16.1: version "2.16.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" is-decimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== 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-glob@^4.0.3: 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-hexadecimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== -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@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== "js-tokens@^3.0.0 || ^4.0.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== jsesc@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== 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== 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== 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== lodash-es@^4.17.21: @@ -1921,7 +1874,7 @@ lodash-es@^4.17.21: lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash@^4.17.21: @@ -1931,26 +1884,26 @@ lodash@^4.17.21: longest-streak@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== loose-envify@^1.0.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.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" lz-string@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.30.21: @@ -1962,7 +1915,7 @@ magic-string@^0.30.21: mdast-util-from-markdown@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a" integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== dependencies: "@types/mdast" "^4.0.0" @@ -1980,7 +1933,7 @@ mdast-util-from-markdown@^2.0.0: mdast-util-mdx-expression@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096" integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ== dependencies: "@types/estree-jsx" "^1.0.0" @@ -1992,7 +1945,7 @@ mdast-util-mdx-expression@^2.0.0: mdast-util-mdx-jsx@^3.0.0: version "3.2.0" - resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d" integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q== dependencies: "@types/estree-jsx" "^1.0.0" @@ -2010,7 +1963,7 @@ mdast-util-mdx-jsx@^3.0.0: mdast-util-mdxjs-esm@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -2022,16 +1975,16 @@ mdast-util-mdxjs-esm@^2.0.0: mdast-util-phrasing@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== dependencies: "@types/mdast" "^4.0.0" unist-util-is "^6.0.0" mdast-util-to-hast@^13.0.0: - version "13.2.0" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz" - integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== + version "13.2.1" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz#d7ff84ca499a57e2c060ae67548ad950e689a053" + integrity sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -2045,7 +1998,7 @@ mdast-util-to-hast@^13.0.0: mdast-util-to-markdown@^2.0.0: version "2.1.2" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== dependencies: "@types/mdast" "^4.0.0" @@ -2060,19 +2013,19 @@ mdast-util-to-markdown@^2.0.0: mdast-util-to-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== dependencies: "@types/mdast" "^4.0.0" memoize-one@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== micromark-core-commonmark@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== dependencies: decode-named-character-reference "^1.0.0" @@ -2094,7 +2047,7 @@ micromark-core-commonmark@^2.0.0: micromark-factory-destination@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== dependencies: micromark-util-character "^2.0.0" @@ -2103,7 +2056,7 @@ micromark-factory-destination@^2.0.0: micromark-factory-label@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== dependencies: devlop "^1.0.0" @@ -2113,7 +2066,7 @@ micromark-factory-label@^2.0.0: micromark-factory-space@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== dependencies: micromark-util-character "^2.0.0" @@ -2121,7 +2074,7 @@ micromark-factory-space@^2.0.0: micromark-factory-title@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== dependencies: micromark-factory-space "^2.0.0" @@ -2131,7 +2084,7 @@ micromark-factory-title@^2.0.0: micromark-factory-whitespace@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== dependencies: micromark-factory-space "^2.0.0" @@ -2141,7 +2094,7 @@ micromark-factory-whitespace@^2.0.0: micromark-util-character@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== dependencies: micromark-util-symbol "^2.0.0" @@ -2149,14 +2102,14 @@ micromark-util-character@^2.0.0: micromark-util-chunked@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== dependencies: micromark-util-symbol "^2.0.0" micromark-util-classify-character@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== dependencies: micromark-util-character "^2.0.0" @@ -2165,7 +2118,7 @@ micromark-util-classify-character@^2.0.0: micromark-util-combine-extensions@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== dependencies: micromark-util-chunked "^2.0.0" @@ -2173,14 +2126,14 @@ micromark-util-combine-extensions@^2.0.0: micromark-util-decode-numeric-character-reference@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== dependencies: micromark-util-symbol "^2.0.0" micromark-util-decode-string@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== dependencies: decode-named-character-reference "^1.0.0" @@ -2190,31 +2143,31 @@ micromark-util-decode-string@^2.0.0: micromark-util-encode@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== micromark-util-html-tag-name@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== micromark-util-normalize-identifier@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-resolve-all@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== dependencies: micromark-util-types "^2.0.0" micromark-util-sanitize-uri@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== dependencies: micromark-util-character "^2.0.0" @@ -2223,7 +2176,7 @@ micromark-util-sanitize-uri@^2.0.0: micromark-util-subtokenize@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== dependencies: devlop "^1.0.0" @@ -2233,17 +2186,17 @@ micromark-util-subtokenize@^2.0.0: micromark-util-symbol@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== micromark-util-types@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== micromark@^4.0.0: version "4.0.2" - resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== dependencies: "@types/debug" "^4.0.0" @@ -2264,42 +2217,34 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@^4.0.5: - version "4.0.8" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - min-indent@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== ms@^2.1.3: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== nanoid@^3.3.11: version "3.3.11" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== node-addon-api@^7.0.0: version "7.1.1" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== -node-releases@^2.0.19: - version "2.0.19" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" - integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== +node-releases@^2.0.27: + version "2.0.27" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" + integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== npm-run-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-6.0.0.tgz#25cfdc4eae04976f3349c0b1afc089052c362537" integrity sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA== dependencies: path-key "^4.0.0" @@ -2307,7 +2252,7 @@ npm-run-path@^6.0.0: object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== obug@^2.1.1: @@ -2317,14 +2262,14 @@ obug@^2.1.1: 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-entities@^4.0.0: version "4.0.2" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159" integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== dependencies: "@types/unist" "^2.0.0" @@ -2337,7 +2282,7 @@ parse-entities@^4.0.0: parse-json@^5.0.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" @@ -2347,64 +2292,59 @@ parse-json@^5.0.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== parse5@^7.0.0: version "7.3.0" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== dependencies: entities "^6.0.0" path-key@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== 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@^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== pathe@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@1.1.1, picocolors@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - picomatch@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== postcss-simple-vars@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-simple-vars/-/postcss-simple-vars-7.0.1.tgz#836b3097a54dcd13dbd3c36a5dbdd512fad2954c" integrity sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A== postcss@^8.5.6: version "8.5.6" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== dependencies: nanoid "^3.3.11" @@ -2413,7 +2353,7 @@ postcss@^8.5.6: pretty-format@^27.0.2: version "27.5.1" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== dependencies: ansi-regex "^5.0.1" @@ -2422,7 +2362,7 @@ pretty-format@^27.0.2: prop-types-extra@^1.1.0: version "1.1.1" - resolved "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" integrity sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew== dependencies: react-is "^16.3.2" @@ -2430,7 +2370,7 @@ prop-types-extra@^1.1.0: prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -2439,17 +2379,17 @@ prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.8.1: property-information@^6.0.0: version "6.5.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== property-information@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== query-string@^9.3.1: version "9.3.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-9.3.1.tgz" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-9.3.1.tgz#d0c93e6c7fb7c17bdf04aa09e382114580ede270" integrity sha512-5fBfMOcDi5SA9qj5jZhWAcTtDfKF5WFdd2uD9nVNlbxVv1baq65aALy6qofpNEGELHvisjjasxQp7BlM9gvMzw== dependencies: decode-uri-component "^0.4.1" @@ -2458,21 +2398,21 @@ query-string@^9.3.1: raf@^3.4.1: version "3.4.1" - resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== dependencies: performance-now "^2.1.0" randombytes@^2.0.5: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" react-bootstrap@^2.10.10: version "2.10.10" - resolved "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.10.10.tgz" + resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-2.10.10.tgz#be0b0d951a69987152d75c0e6986c80425efdf21" integrity sha512-gMckKUqn8aK/vCnfwoBpBVFUGT9SVQxwsYrp9yDHt0arXMamxALerliKBxr1TPbntirK/HGrUAHYbAeQTa9GHQ== dependencies: "@babel/runtime" "^7.24.7" @@ -2498,7 +2438,7 @@ react-dom@^19.2.4: react-fast-compare@^2.0.1: version "2.0.4" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== react-intl@^8.1.3: @@ -2516,22 +2456,22 @@ react-intl@^8.1.3: react-is@^16.13.1, react-is@^16.3.2, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^17.0.1: version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-lifecycles-compat@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-markdown@^10.1.0: version "10.1.0" - resolved "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-10.1.0.tgz#e22bc20faddbc07605c15284255653c0f3bad5ca" integrity sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ== dependencies: "@types/hast" "^3.0.0" @@ -2548,7 +2488,7 @@ react-markdown@^10.1.0: react-refresh@^0.18.0: version "0.18.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.18.0.tgz#2dce97f4fe932a4d8142fa1630e475c1729c8062" integrity sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw== react-router-dom@^7.13.0: @@ -2568,7 +2508,7 @@ react-router@7.13.0: react-select@^5.10.2: version "5.10.2" - resolved "https://registry.npmjs.org/react-select/-/react-select-5.10.2.tgz" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.10.2.tgz#8dffc69dfd7d74684d9613e6eb27204e3b99e127" integrity sha512-Z33nHdEFWq9tfnfVXaiM12rbJmk+QjFEztWLtmXqQhz6Al4UZZ9xc0wiatmGtUOCCnHN0WizL3tCMYRENX4rVQ== dependencies: "@babel/runtime" "^7.12.0" @@ -2583,14 +2523,14 @@ react-select@^5.10.2: react-toastify@^11.0.5: version "11.0.5" - resolved "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-11.0.5.tgz#ce4c42d10eeb433988ab2264d3e445c4e9d13313" integrity sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA== dependencies: clsx "^2.1.1" react-transition-group@^4.3.0, react-transition-group@^4.4.5: version "4.4.5" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" @@ -2605,12 +2545,12 @@ react@^19.2.4: readdirp@^4.0.1: version "4.1.2" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== redent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" @@ -2618,7 +2558,7 @@ redent@^3.0.0: refractor@^4.8.0: version "4.9.0" - resolved "https://registry.npmjs.org/refractor/-/refractor-4.9.0.tgz" + resolved "https://registry.yarnpkg.com/refractor/-/refractor-4.9.0.tgz#2e1c7af0157230cdd2f9086660912eadc5f68323" integrity sha512-nEG1SPXFoGGx+dcjftjv8cAjEusIh6ED1xhf5DG3C0x/k+rmZ2duKnc3QLpt6qeHv5fPb8uwN3VWN2BT7fr3Og== dependencies: "@types/hast" "^2.0.0" @@ -2628,7 +2568,7 @@ refractor@^4.8.0: rehype-parse@^9.0.0: version "9.0.1" - resolved "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-9.0.1.tgz#9993bda129acc64c417a9d3654a7be38b2a94c20" integrity sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag== dependencies: "@types/hast" "^3.0.0" @@ -2637,7 +2577,7 @@ rehype-parse@^9.0.0: rehype-prism-plus@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/rehype-prism-plus/-/rehype-prism-plus-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/rehype-prism-plus/-/rehype-prism-plus-2.0.0.tgz#75b1e2d0dd7496125987a1732cb7d560de02a0fd" integrity sha512-FeM/9V2N7EvDZVdR2dqhAzlw5YI49m9Tgn7ZrYJeYHIahM6gcXpH0K1y2gNnKanZCydOMluJvX2cB9z3lhY8XQ== dependencies: hast-util-to-string "^3.0.0" @@ -2649,7 +2589,7 @@ rehype-prism-plus@2.0.0: rehype-stringify@^10.0.0: version "10.0.1" - resolved "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz" + resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-10.0.1.tgz#2ec1ebc56c6aba07905d3b4470bdf0f684f30b75" integrity sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA== dependencies: "@types/hast" "^3.0.0" @@ -2658,7 +2598,7 @@ rehype-stringify@^10.0.0: rehype@~13.0.0: version "13.0.2" - resolved "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz" + resolved "https://registry.yarnpkg.com/rehype/-/rehype-13.0.2.tgz#ab0b3ac26573d7b265a0099feffad450e4cf1952" integrity sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A== dependencies: "@types/hast" "^3.0.0" @@ -2668,7 +2608,7 @@ rehype@~13.0.0: remark-parse@^11.0.0: version "11.0.0" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== dependencies: "@types/mdast" "^4.0.0" @@ -2678,7 +2618,7 @@ remark-parse@^11.0.0: remark-rehype@^11.0.0: version "11.1.2" - resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37" integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== dependencies: "@types/hast" "^3.0.0" @@ -2689,46 +2629,50 @@ remark-rehype@^11.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@^1.19.0: - version "1.22.10" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz" - integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + version "1.22.11" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" + integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== dependencies: - is-core-module "^2.16.0" + is-core-module "^2.16.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" rollup@^4.43.0: - version "4.50.0" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.50.0.tgz" - integrity sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw== + version "4.57.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.57.1.tgz#947f70baca32db2b9c594267fe9150aa316e5a88" + integrity sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A== dependencies: "@types/estree" "1.0.8" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.50.0" - "@rollup/rollup-android-arm64" "4.50.0" - "@rollup/rollup-darwin-arm64" "4.50.0" - "@rollup/rollup-darwin-x64" "4.50.0" - "@rollup/rollup-freebsd-arm64" "4.50.0" - "@rollup/rollup-freebsd-x64" "4.50.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.50.0" - "@rollup/rollup-linux-arm-musleabihf" "4.50.0" - "@rollup/rollup-linux-arm64-gnu" "4.50.0" - "@rollup/rollup-linux-arm64-musl" "4.50.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.50.0" - "@rollup/rollup-linux-ppc64-gnu" "4.50.0" - "@rollup/rollup-linux-riscv64-gnu" "4.50.0" - "@rollup/rollup-linux-riscv64-musl" "4.50.0" - "@rollup/rollup-linux-s390x-gnu" "4.50.0" - "@rollup/rollup-linux-x64-gnu" "4.50.0" - "@rollup/rollup-linux-x64-musl" "4.50.0" - "@rollup/rollup-openharmony-arm64" "4.50.0" - "@rollup/rollup-win32-arm64-msvc" "4.50.0" - "@rollup/rollup-win32-ia32-msvc" "4.50.0" - "@rollup/rollup-win32-x64-msvc" "4.50.0" + "@rollup/rollup-android-arm-eabi" "4.57.1" + "@rollup/rollup-android-arm64" "4.57.1" + "@rollup/rollup-darwin-arm64" "4.57.1" + "@rollup/rollup-darwin-x64" "4.57.1" + "@rollup/rollup-freebsd-arm64" "4.57.1" + "@rollup/rollup-freebsd-x64" "4.57.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.57.1" + "@rollup/rollup-linux-arm-musleabihf" "4.57.1" + "@rollup/rollup-linux-arm64-gnu" "4.57.1" + "@rollup/rollup-linux-arm64-musl" "4.57.1" + "@rollup/rollup-linux-loong64-gnu" "4.57.1" + "@rollup/rollup-linux-loong64-musl" "4.57.1" + "@rollup/rollup-linux-ppc64-gnu" "4.57.1" + "@rollup/rollup-linux-ppc64-musl" "4.57.1" + "@rollup/rollup-linux-riscv64-gnu" "4.57.1" + "@rollup/rollup-linux-riscv64-musl" "4.57.1" + "@rollup/rollup-linux-s390x-gnu" "4.57.1" + "@rollup/rollup-linux-x64-gnu" "4.57.1" + "@rollup/rollup-linux-x64-musl" "4.57.1" + "@rollup/rollup-openbsd-x64" "4.57.1" + "@rollup/rollup-openharmony-arm64" "4.57.1" + "@rollup/rollup-win32-arm64-msvc" "4.57.1" + "@rollup/rollup-win32-ia32-msvc" "4.57.1" + "@rollup/rollup-win32-x64-gnu" "4.57.1" + "@rollup/rollup-win32-x64-msvc" "4.57.1" fsevents "~2.3.2" rooks@^9.5.0: @@ -2743,7 +2687,7 @@ rooks@^9.5.0: safe-buffer@^5.1.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== sass@^1.97.3: @@ -2759,47 +2703,47 @@ sass@^1.97.3: scheduler@^0.27.0: version "0.27.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.27.0.tgz#0c4ef82d67d1e5c1e359e8fc76d3a87f045fe5bd" integrity sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q== 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== set-cookie-parser@^2.6.0: - version "2.7.1" - resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz" - integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== + version "2.7.2" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz#ccd08673a9ae5d2e44ea2a2de25089e67c7edf68" + integrity sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw== siginfo@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map@^0.5.7: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== space-separated-tokens@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== split-on-first@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-3.0.0.tgz#f04959c9ea8101b9b0bbf35a61b9ebea784a23e7" integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA== stackback@0.0.2: version "0.0.2" - resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== std-env@^3.10.0: @@ -2809,7 +2753,7 @@ std-env@^3.10.0: stringify-entities@^4.0.0: version "4.0.4" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== dependencies: character-entities-html4 "^2.0.0" @@ -2817,48 +2761,48 @@ stringify-entities@^4.0.0: strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" style-to-js@^1.0.0: - version "1.1.18" - resolved "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.18.tgz" - integrity sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg== + version "1.1.21" + resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.21.tgz#2908941187f857e79e28e9cd78008b9a0b3e0e8d" + integrity sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ== dependencies: - style-to-object "1.0.11" + style-to-object "1.0.14" -style-to-object@1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.11.tgz" - integrity sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow== +style-to-object@1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.14.tgz#1d22f0e7266bb8c6d8cae5caf4ec4f005e08f611" + integrity sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw== dependencies: - inline-style-parser "0.2.4" + inline-style-parser "0.2.7" stylis@4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== 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== tiny-invariant@^1.3.3: version "1.3.3" - resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== tiny-warning@^1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tinybench@^2.9.0: version "2.9.0" - resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== tinyexec@^1.0.2: @@ -2868,7 +2812,7 @@ tinyexec@^1.0.2: tinyglobby@^0.2.15: version "0.2.15" - resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== dependencies: fdir "^6.5.0" @@ -2876,49 +2820,42 @@ tinyglobby@^0.2.15: tinyrainbow@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.0.3.tgz#984a5b1c1b25854a9b6bccbe77964d0593d1ea42" integrity sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q== tmp@^0.2.5: version "0.2.5" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== -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" - trim-lines@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trough@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== tsconfck@^3.0.3: version "3.1.6" - resolved "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz" + resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.1.6.tgz#da1f0b10d82237ac23422374b3fce1edb23c3ead" integrity sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w== tslib@^2.0.0, tslib@^2.8.0, tslib@^2.8.1: version "2.8.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== typescript@5.9.3: version "5.9.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== uncontrollable@^7.2.1: version "7.2.1" - resolved "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz" + resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738" integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ== dependencies: "@babel/runtime" "^7.6.3" @@ -2928,22 +2865,22 @@ uncontrollable@^7.2.1: uncontrollable@^8.0.4: version "8.0.4" - resolved "https://registry.npmjs.org/uncontrollable/-/uncontrollable-8.0.4.tgz" + resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-8.0.4.tgz#a0a8307f638795162fafd0550f4a1efa0f8c5eb6" integrity sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ== -undici-types@~7.16.0: - version "7.16.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" - integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== +undici-types@~7.18.0: + version "7.18.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" + integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== unicorn-magic@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104" integrity sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== unified@^11.0.0: version "11.0.5" - resolved "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== dependencies: "@types/unist" "^3.0.0" @@ -2956,7 +2893,7 @@ unified@^11.0.0: unist-util-filter@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/unist-util-filter/-/unist-util-filter-5.0.1.tgz#f9f3a0bdee007e040964c274dda27bac663d0a39" integrity sha512-pHx7D4Zt6+TsfwylH9+lYhBhzyhEnCXs/lbq/Hstxno5z4gVdyc2WEW0asfjGKPyG4pEKrnBv5hdkO6+aRnQJw== dependencies: "@types/unist" "^3.0.0" @@ -2964,64 +2901,64 @@ unist-util-filter@^5.0.0: unist-util-visit-parents "^6.0.0" unist-util-is@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz" - integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== + version "6.0.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.1.tgz#d0a3f86f2dd0db7acd7d8c2478080b5c67f9c6a9" + integrity sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g== dependencies: "@types/unist" "^3.0.0" unist-util-position@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== dependencies: "@types/unist" "^3.0.0" unist-util-stringify-position@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== dependencies: "@types/unist" "^3.0.0" unist-util-visit-parents@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" - integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== + version "6.0.2" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz#777df7fb98652ce16b4b7cd999d0a1a40efa3a02" + integrity sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ== dependencies: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" unist-util-visit@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" - integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== + version "5.1.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.1.0.tgz#9a2a28b0aa76a15e0da70a08a5863a2f060e2468" + integrity sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg== dependencies: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" unist-util-visit-parents "^6.0.0" -update-browserslist-db@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== +update-browserslist-db@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz#64d76db58713136acbeb4c49114366cc6cc2e80d" + integrity sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== dependencies: escalade "^3.2.0" picocolors "^1.1.1" use-isomorphic-layout-effect@^1.2.0: version "1.2.1" - resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz#2f11a525628f56424521c748feabc2ffcc962fce" integrity sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA== use-sync-external-store@^1.4.0: - version "1.5.0" - resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz" - integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== + version "1.6.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d" + integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== vfile-location@^5.0.0: version "5.0.3" - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== dependencies: "@types/unist" "^3.0.0" @@ -3029,7 +2966,7 @@ vfile-location@^5.0.0: vfile-message@^4.0.0: version "4.0.3" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.3.tgz#87b44dddd7b70f0641c2e3ed0864ba73e2ea8df4" integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw== dependencies: "@types/unist" "^3.0.0" @@ -3037,7 +2974,7 @@ vfile-message@^4.0.0: vfile@^6.0.0: version "6.0.3" - resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== dependencies: "@types/unist" "^3.0.0" @@ -3108,29 +3045,29 @@ vitest@^4.0.18: vscode-uri@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.1.0.tgz#dd09ec5a66a38b5c3fffc774015713496d14e09c" integrity sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ== warning@^4.0.0, warning@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== dependencies: loose-envify "^1.0.0" web-namespaces@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== whatwg-mimetype@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== why-is-node-running@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== dependencies: siginfo "^2.0.0" @@ -3143,15 +3080,15 @@ ws@^8.18.3: 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== yaml@^1.10.0: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== diff --git a/test/yarn.lock b/test/yarn.lock index 2d52d24e90..48d09dbb6a 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -2,19 +2,19 @@ # yarn lockfile v1 -"@apidevtools/json-schema-ref-parser@9.0.6": - version "9.0.6" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz#5d9000a3ac1fd25404da886da6b266adcd99cf1c" - integrity sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg== +"@apidevtools/json-schema-ref-parser@11.7.2": + version "11.7.2" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.2.tgz#cdf3e0aded21492364a70e193b45b7cf4177f031" + integrity sha512-4gY54eEGEstClvEkGnwVkTkrx0sqwemEFG5OSRRn3tD91XH0+Q8XIkYIfo7IwEWPpJZwILb9GUXeShtplRc/eA== dependencies: "@jsdevtools/ono" "^7.1.3" - call-me-maybe "^1.0.1" - js-yaml "^3.13.1" + "@types/json-schema" "^7.0.15" + js-yaml "^4.1.0" "@apidevtools/json-schema-ref-parser@^11.7.2": - version "11.7.2" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.2.tgz#cdf3e0aded21492364a70e193b45b7cf4177f031" - integrity sha512-4gY54eEGEstClvEkGnwVkTkrx0sqwemEFG5OSRRn3tD91XH0+Q8XIkYIfo7IwEWPpJZwILb9GUXeShtplRc/eA== + version "11.9.3" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.3.tgz#0e0c9061fc41cf03737d499a4e6a8299fdd2bfa7" + integrity sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ== dependencies: "@jsdevtools/ono" "^7.1.3" "@types/json-schema" "^7.0.15" @@ -31,17 +31,17 @@ integrity sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg== "@apidevtools/swagger-parser@^10.1.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@apidevtools/swagger-parser/-/swagger-parser-10.1.0.tgz#a987d71e5be61feb623203be0c96e5985b192ab6" - integrity sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw== + version "10.1.1" + resolved "https://registry.yarnpkg.com/@apidevtools/swagger-parser/-/swagger-parser-10.1.1.tgz#e29bf17cf94b487a340e06784e9fbe20cb671c45" + integrity sha512-u/kozRnsPO/x8QtKYJOqoGtC4kH6yg1lfYkB9Au0WhYB0FNLpyFusttQtvhlwjtG3rOwiRz4D8DnnXa8iEpIKA== dependencies: - "@apidevtools/json-schema-ref-parser" "9.0.6" + "@apidevtools/json-schema-ref-parser" "11.7.2" "@apidevtools/openapi-schemas" "^2.1.0" "@apidevtools/swagger-methods" "^3.0.2" "@jsdevtools/ono" "^7.1.3" - ajv "^8.6.3" + ajv "^8.17.1" ajv-draft-04 "^1.0.0" - call-me-maybe "^1.0.1" + call-me-maybe "^1.0.2" "@cypress/request@^3.0.10": version "3.0.10" @@ -76,9 +76,9 @@ lodash.once "^4.1.1" "@eslint-community/eslint-utils@^4.8.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz#7308df158e064f0dd8b8fdb58aa14fa2a7f913b3" - integrity sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g== + version "4.9.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" + integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== dependencies: eslint-visitor-keys "^3.4.3" @@ -129,40 +129,23 @@ integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== "@humanfs/node@^0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" - integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== + version "0.16.7" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26" + integrity sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ== dependencies: "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.3.0" + "@humanwhocodes/retry" "^0.4.0" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/retry@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" - integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== - -"@humanwhocodes/retry@^0.4.2": +"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": version "0.4.3" resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== -"@isaacs/balanced-match@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29" - integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ== - -"@isaacs/brace-expansion@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz#0ef5a92d91f2fff2a37646ce54da9e5f599f6eff" - integrity sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ== - dependencies: - "@isaacs/balanced-match" "^4.0.1" - "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -217,11 +200,6 @@ node-fetch "^3.3.2" tar "^7.5.2" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/esrecurse@^4.3.1": version "4.3.1" resolved "https://registry.yarnpkg.com/@types/esrecurse/-/esrecurse-4.3.1.tgz#6f636af962fbe6191b830bd676ba5986926bccec" @@ -238,9 +216,11 @@ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/node@*": - version "18.14.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93" - integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA== + version "25.3.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.3.0.tgz#749b1bd4058e51b72e22bd41e9eab6ebd0180470" + integrity sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A== + dependencies: + undici-types "~7.18.0" "@types/sinonjs__fake-timers@8.1.1": version "8.1.1" @@ -248,9 +228,9 @@ integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== "@types/sizzle@^2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" - integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.10.tgz#277a542aff6776d8a9b15f2ac682a663e3e94bbd" + integrity sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww== "@types/tmp@^0.2.3": version "0.2.6" @@ -258,9 +238,9 @@ integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== "@types/yauzl@^2.9.1": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" - integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== dependencies: "@types/node" "*" @@ -270,9 +250,9 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.15.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" - integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + version "8.16.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" + integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== agent-base@^7.1.2: version "7.1.4" @@ -309,10 +289,10 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.17.1, ajv@^8.6.3: - 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.0.0, ajv@^8.17.1: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.18.0.tgz#8864186b6738d003eb3a933172bb3833e10cefbc" + integrity sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A== dependencies: fast-deep-equal "^3.1.3" fast-uri "^3.0.1" @@ -320,9 +300,9 @@ ajv@^8.0.0, ajv@^8.17.1, ajv@^8.6.3: require-from-string "^2.0.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== + 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== ansi-escapes@^4.3.0: version "4.3.2" @@ -331,69 +311,49 @@ ansi-escapes@^4.3.0: dependencies: type-fest "^0.21.3" -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" + integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== -ansi-styles@^4.0.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + version "6.2.3" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== arch@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== -argparse@^1.0.7: - version "1.0.10" - 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.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== astral-regex@^2.0.0: version "2.0.0" @@ -403,7 +363,7 @@ astral-regex@^2.0.0: asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" @@ -413,12 +373,12 @@ at-least-node@^1.0.0: aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" - integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== + version "1.13.2" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" + integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== axios@^1.13.5, axios@^1.7.7: version "1.13.5" @@ -430,9 +390,14 @@ axios@^1.13.5, axios@^1.7.7: proxy-from-env "^1.1.0" balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +balanced-match@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.3.tgz#6337a2f23e0604a30481423432f99eac603599f9" + integrity sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g== base64-js@^1.3.1: version "1.5.1" @@ -442,7 +407,7 @@ base64-js@^1.3.1: bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== dependencies: tweetnacl "^0.14.3" @@ -463,6 +428,13 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" +brace-expansion@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.2.tgz#b6c16d0791087af6c2bc463f52a8142046c06b6f" + integrity sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== + dependencies: + balanced-match "^4.0.2" + browser-stdout@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -471,7 +443,7 @@ browser-stdout@^1.3.1: buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== buffer@^5.7.1: version "5.7.1" @@ -482,9 +454,9 @@ buffer@^5.7.1: ieee754 "^1.1.13" cachedir@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" - integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== + version "2.4.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" @@ -502,10 +474,10 @@ call-bound@^1.0.2: call-bind-apply-helpers "^1.0.2" get-intrinsic "^1.3.0" -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= +call-me-maybe@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" + integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== camelcase@^6.0.0: version "6.3.0" @@ -515,12 +487,12 @@ camelcase@^6.0.0: caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -548,9 +520,9 @@ chownr@^3.0.0: integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== ci-info@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.2.0.tgz#cbd21386152ebfe1d56f280a3b5feccbd96764c7" - integrity sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg== + version "4.4.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.4.0.tgz#7d54eff9f54b45b62401c26032696eb59c8bd18c" + integrity sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg== clean-stack@^2.0.0: version "2.2.0" @@ -603,9 +575,9 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.16: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== colors@1.4.0: version "1.4.0" @@ -625,14 +597,14 @@ commander@^6.2.1: integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== cross-spawn@^7.0.0, cross-spawn@^7.0.6: version "7.0.6" @@ -713,7 +685,7 @@ cypress@^15.10.0: dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== dependencies: assert-plus "^1.0.0" @@ -723,9 +695,9 @@ data-uri-to-buffer@^4.0.0: integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== dayjs@^1.10.4: - version "1.11.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" - integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== + version "1.11.19" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.19.tgz#15dc98e854bb43917f12021806af897c58ae2938" + integrity sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw== debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: version "4.4.3" @@ -735,9 +707,9 @@ debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, d ms "^2.1.3" debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" @@ -747,14 +719,14 @@ decamelize@^4.0.0: integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== diff@^7.0.0: version "7.0.0" @@ -778,7 +750,7 @@ eastasianwidth@^0.2.0: ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" @@ -794,18 +766,19 @@ emoji-regex@^9.2.2: integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + version "1.4.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== dependencies: once "^1.4.0" enquirer@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + version "2.4.1" + 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" + strip-ansi "^6.0.1" es-define-property@^1.0.1: version "1.0.1" @@ -835,14 +808,14 @@ es-set-tostringtag@^2.1.0: hasown "^2.0.2" escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + 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" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" @@ -947,7 +920,7 @@ esprima@1.2.5: resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.5.tgz#0993502feaf668138325756f30f9a51feeec11e9" integrity sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ== -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -966,12 +939,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -1027,12 +995,12 @@ extract-zip@2.0.1: extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -1047,17 +1015,17 @@ fast-json-stable-stringify@^2.0.0: fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.2.tgz#d78b298cf70fd3b752fd951175a3da6a7b48f024" - integrity sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row== + version "3.1.0" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" + integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: pend "~1.2.0" @@ -1105,9 +1073,9 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 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== + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== follow-redirects@^1.15.11: version "1.15.11" @@ -1125,7 +1093,7 @@ foreground-child@^3.1.0: forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== form-data@^4.0.5, form-data@~4.0.4: version "4.0.5" @@ -1199,7 +1167,7 @@ get-stream@^5.0.0, get-stream@^5.1.0: getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== dependencies: assert-plus "^1.0.0" @@ -1211,9 +1179,9 @@ glob-parent@^6.0.2: is-glob "^4.0.3" glob@^10.4.5: - version "10.4.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" - integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + version "10.5.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" + integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg== dependencies: foreground-child "^3.1.0" jackspeak "^3.1.2" @@ -1240,9 +1208,9 @@ gopd@^1.2.0: integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + version "4.2.11" + 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-flag@^4.0.0: version "4.0.0" @@ -1309,14 +1277,14 @@ ieee754@^1.1.13: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.2.0: - 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== imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" @@ -1336,7 +1304,7 @@ is-buffer@~1.1.6: is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -1369,14 +1337,14 @@ is-plain-obj@^2.1.0: integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-unicode-supported@^0.1.0: version "0.1.0" @@ -1386,12 +1354,12 @@ is-unicode-supported@^0.1.0: isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== jackspeak@^3.1.2: version "3.4.3" @@ -1402,25 +1370,17 @@ jackspeak@^3.1.2: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - 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== + version "4.1.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== dependencies: argparse "^2.0.1" jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== json-buffer@3.0.1: version "3.0.1" @@ -1445,17 +1405,17 @@ json-schema@0.4.0, json-schema@^0.4.0: json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + version "6.2.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.2.0.tgz#7c265bd1b65de6977478300087c99f1c84383f62" + integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg== dependencies: universalify "^2.0.0" optionalDependencies: @@ -1519,7 +1479,7 @@ locate-path@^6.0.0: lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== lodash@^4.17.21, lodash@^4.17.23: version "4.17.23" @@ -1568,17 +1528,17 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -mime-db@1.42.0: - version "1.42.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" - integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== +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, mime-types@~2.1.19: - version "2.1.25" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437" - integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg== + 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.42.0" + mime-db "1.52.0" mimic-fn@^2.1.0: version "2.1.0" @@ -1586,11 +1546,11 @@ mimic-fn@^2.1.0: integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== minimatch@^10.1.1: - version "10.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.2.tgz#6c3f289f9de66d628fa3feb1842804396a43d81c" - integrity sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw== + version "10.2.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.2.tgz#361603ee323cfb83496fea2ae17cc44ea4e1f99f" + integrity sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw== dependencies: - "@isaacs/brace-expansion" "^5.0.1" + brace-expansion "^5.0.2" minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" @@ -1605,9 +1565,9 @@ minimist@^1.2.8: integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4, minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + version "7.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" + integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== minizlib@^3.1.0: version "3.1.0" @@ -1667,7 +1627,7 @@ ms@^2.1.1, ms@^2.1.3: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== node-domexception@^1.0.0: version "1.0.0" @@ -1698,7 +1658,7 @@ object-inspect@^1.13.3: once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -1729,7 +1689,7 @@ optionator@^0.9.3: ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs= + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== p-limit@^3.0.2: version "3.1.0" @@ -1778,12 +1738,12 @@ path-scurry@^1.11.1: pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" @@ -1793,7 +1753,7 @@ picocolors@^1.1.0, picocolors@^1.1.1: pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== prelude-ls@^1.2.1: version "1.2.1" @@ -1821,17 +1781,17 @@ proxy-from-env@^1.1.0: integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + version "3.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" + integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== dependencies: end-of-stream "^1.1.0" once "^1.3.1" punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== qs@~6.14.1: version "6.14.2" @@ -1855,14 +1815,14 @@ readdirp@^4.0.1: request-progress@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4= + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== dependencies: throttleit "^1.0.0" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" @@ -1878,23 +1838,18 @@ restore-cursor@^3.1.0: signal-exit "^3.0.2" rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rxjs@^7.5.1: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: tslib "^2.1.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-buffer@^5.1.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -1905,9 +1860,9 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== semver@^7.6.3: - version "7.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" - integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== + version "7.7.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" + integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== serialize-javascript@^6.0.2: version "6.0.2" @@ -1969,9 +1924,9 @@ side-channel@^1.1.0: side-channel-weakmap "^1.0.2" signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== signal-exit@^4.0.1: version "4.1.0" @@ -2001,11 +1956,6 @@ source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - sshpk@^1.18.0: version "1.18.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" @@ -2037,7 +1987,7 @@ static-eval@2.1.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^4.1.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -2046,15 +1996,6 @@ string-width@^4.1.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -2071,14 +2012,7 @@ string-width@^5.0.1, string-width@^5.1.2: dependencies: ansi-regex "^5.0.1" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-ansi@^6.0.1: +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -2086,9 +2020,9 @@ strip-ansi@^6.0.1: ansi-regex "^5.0.1" strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + version "7.1.2" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" + integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== dependencies: ansi-regex "^6.0.1" @@ -2103,9 +2037,9 @@ strip-json-comments@^3.1.1: integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" @@ -2133,9 +2067,9 @@ tar@^7.5.2: yallist "^5.0.0" throttleit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" - integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== through@^2.3.8: version "2.3.8" @@ -2172,21 +2106,21 @@ tree-kill@1.2.2: integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== tslib@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -2210,10 +2144,15 @@ underscore@1.13.6: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== +undici-types@~7.18.0: + version "7.18.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" + integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== + universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== untildify@^4.0.0: version "4.0.0" @@ -2221,9 +2160,9 @@ untildify@^4.0.0: integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -2235,7 +2174,7 @@ uuid@^8.3.2: verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" @@ -2259,9 +2198,9 @@ word-wrap@^1.2.5: integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== workerpool@^9.2.0: - version "9.3.2" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.3.2.tgz#4c045a8b437ae1bc70c646af11929a8b4d238656" - integrity sha512-Xz4Nm9c+LiBHhDR5bDLnNzmj6+5F+cyEAWPMkbs2awq/dYazR/efelZzUAjB/y3kNHL+uzkHvxVVpaOfGCPV7A== + version "9.3.4" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.3.4.tgz#f6c92395b2141afd78e2a889e80cb338fe9fca41" + integrity sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" @@ -2302,7 +2241,7 @@ wrap-ansi@^8.1.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== xml@^1.0.1: version "1.0.1" @@ -2350,7 +2289,7 @@ yargs@^17.7.2: yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" From 7241869a9e90028df070ff02caf19703b26dee4b Mon Sep 17 00:00:00 2001 From: William Mahoney Date: Fri, 20 Feb 2026 21:24:40 -0700 Subject: [PATCH 012/113] Fix silent config corruption in 50-ipv6.sh on NFS volumes Replace unsafe `echo "$(sed ...)" > $FILE` with atomic temp-file write. The current pattern reads a file with sed inside a command substitution, then writes the result back via echo redirection. If sed reads an empty or momentarily unreadable file (e.g., NFS transient issue during container recreation by Watchtower or similar tools), it produces no output. The echo then writes exactly 1 byte (a newline) to the config file, silently destroying its contents. The fix writes sed output to a temp file first, checks it's non-empty with `[ -s ]`, then atomically replaces the original via `mv`. If sed produces empty output, the original file is preserved and a warning is logged to stderr. --- docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh b/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh index 2ae61ae55d..5d33cde4cc 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh @@ -25,7 +25,13 @@ process_folder () { for FILE in $FILES do echo "- ${FILE}" - echo "$(sed -E "$SED_REGEX" "$FILE")" > $FILE + TMPFILE="${FILE}.tmp" + if sed -E "$SED_REGEX" "$FILE" > "$TMPFILE" && [ -s "$TMPFILE" ]; then + mv "$TMPFILE" "$FILE" + else + echo "WARNING: skipping ${FILE} — sed produced empty output" >&2 + rm -f "$TMPFILE" + fi done # ensure the files are still owned by the npm user From 4c04e89483b7851ae257c981918825ad7d2e63f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:50:02 +0000 Subject: [PATCH 013/113] Bump eslint in /test in the prod-patch-updates group Bumps the prod-patch-updates group in /test with 1 update: [eslint](https://github.com/eslint/eslint). Updates `eslint` from 10.0.0 to 10.0.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.0.0...v10.0.1) --- updated-dependencies: - dependency-name: eslint dependency-version: 10.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 68 +++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 48d09dbb6a..8227373379 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -87,14 +87,14 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== -"@eslint/config-array@^0.23.0": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.23.1.tgz#908223da7b9148f1af5bfb3144b77a9387a89446" - integrity sha512-uVSdg/V4dfQmTjJzR0szNczjOH/J+FyUMMjYtr07xFRXR7EDf9i1qdxrD0VusZH9knj1/ecxzCQQxyic5NzAiA== +"@eslint/config-array@^0.23.2": + version "0.23.2" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.23.2.tgz#db85beeff7facc685a5775caacb1c845669b9470" + integrity sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A== dependencies: - "@eslint/object-schema" "^3.0.1" + "@eslint/object-schema" "^3.0.2" debug "^4.3.1" - minimatch "^10.1.1" + minimatch "^10.2.1" "@eslint/config-helpers@^0.5.2": version "0.5.2" @@ -110,10 +110,10 @@ dependencies: "@types/json-schema" "^7.0.15" -"@eslint/object-schema@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-3.0.1.tgz#9a1dc9af00d790dc79a9bf57a756e3cb2740ddb9" - integrity sha512-P9cq2dpr+LU8j3qbLygLcSZrl2/ds/pUpfnHNNuk5HW7mnngHs+6WSq5C9mO3rqRX8A1poxqLTC9cu0KOyJlBg== +"@eslint/object-schema@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-3.0.2.tgz#c59c6a94aa4b428ed7f1615b6a4495c0a21f7a22" + integrity sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw== "@eslint/plugin-kit@^0.6.0": version "0.6.0" @@ -249,7 +249,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.15.0: +acorn@^8.16.0: version "8.16.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== @@ -850,10 +850,10 @@ eslint-plugin-cypress@^6.0.0: dependencies: globals "^17.3.0" -eslint-scope@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-9.1.0.tgz#dfcb41d6c0d73df6b977a50cf3e91c41ddb4154e" - integrity sha512-CkWE42hOJsNj9FJRaoMX9waUFYhqY4jmyLFdAdzZr6VaCg3ynLYx4WnOdkaIifGfH4gsUcBTn4OZbHXkpLD0FQ== +eslint-scope@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-9.1.1.tgz#f6a209486e38bd28356b5feb07d445cc99c89967" + integrity sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw== dependencies: "@types/esrecurse" "^4.3.1" "@types/estree" "^1.0.8" @@ -865,19 +865,19 @@ eslint-visitor-keys@^3.4.3: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.0.tgz#b9aa1a74aa48c44b3ae46c1597ce7171246a94a9" - integrity sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q== +eslint-visitor-keys@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be" + integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== eslint@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.0.0.tgz#c93c36a96d91621d0fbb680db848ea11af56ab1e" - integrity sha512-O0piBKY36YSJhlFSG8p9VUdPV/SxxS4FYDWVpr/9GJuMaepzwlf4J8I4ov1b+ySQfDTPhc3DtLaxcT1fN0yqCg== + version "10.0.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.0.1.tgz#b5c5f7706782a21590ba6451e7a30d2947273c2d" + integrity sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ== dependencies: "@eslint-community/eslint-utils" "^4.8.0" "@eslint-community/regexpp" "^4.12.2" - "@eslint/config-array" "^0.23.0" + "@eslint/config-array" "^0.23.2" "@eslint/config-helpers" "^0.5.2" "@eslint/core" "^1.1.0" "@eslint/plugin-kit" "^0.6.0" @@ -889,9 +889,9 @@ eslint@^10.0.0: cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^9.1.0" - eslint-visitor-keys "^5.0.0" - espree "^11.1.0" + eslint-scope "^9.1.1" + eslint-visitor-keys "^5.0.1" + espree "^11.1.1" esquery "^1.7.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -902,18 +902,18 @@ eslint@^10.0.0: imurmurhash "^0.1.4" is-glob "^4.0.0" json-stable-stringify-without-jsonify "^1.0.1" - minimatch "^10.1.1" + minimatch "^10.2.1" natural-compare "^1.4.0" optionator "^0.9.3" -espree@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-11.1.0.tgz#7d0c82a69f8df670728dba256264b383fbf73e8f" - integrity sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw== +espree@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-11.1.1.tgz#866f6bc9ccccd6f28876b7a6463abb281b9cb847" + integrity sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ== dependencies: - acorn "^8.15.0" + acorn "^8.16.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^5.0.0" + eslint-visitor-keys "^5.0.1" esprima@1.2.5: version "1.2.5" @@ -1545,7 +1545,7 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@^10.1.1: +minimatch@^10.2.1: version "10.2.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.2.tgz#361603ee323cfb83496fea2ae17cc44ea4e1f99f" integrity sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw== From dc53647e7690ebd88d3bae6c08c9dd836fb5bdf1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:50:13 +0000 Subject: [PATCH 014/113] Bump eslint-plugin-cypress in /test in the prod-minor-updates group Bumps the prod-minor-updates group in /test with 1 update: [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress). Updates `eslint-plugin-cypress` from 6.0.0 to 6.1.0 - [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases) - [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.0.0...v6.1.0) --- updated-dependencies: - dependency-name: eslint-plugin-cypress dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 48d09dbb6a..2f4aa47fe8 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -844,9 +844,9 @@ eslint-plugin-chai-friendly@^1.1.0: integrity sha512-+T1rClpDdXkgBAhC16vRQMI5umiWojVqkj9oUTdpma50+uByCZM/oBfxitZiOkjMRlm725mwFfz/RVgyDRvCKA== eslint-plugin-cypress@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-6.0.0.tgz#d137892de43278975c3f1951e2b2c3a8e40006ef" - integrity sha512-J96t5BLt8lYSiQ5b4vZ2IpUcsAc3XOw9Esy5sFSvgbx4Od/MIwlbXM8QazrcbEKrKKsynOnyXzZwiAQTtGCEyA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-6.1.0.tgz#5619ceb67d09d74cb5225408bb36c962afb94880" + integrity sha512-B8sxtNpINDxFkmsu1qKYjg70VsP8SGneEXgLcZMk1bUZcW08S+JyaiMdof1x6dmt02FgOD7YkT4wOaOD5HotJw== dependencies: globals "^17.3.0" From 06e220e184260178d8fabae83643697a8f7056ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:50:13 +0000 Subject: [PATCH 015/113] Bump nodemon in /backend in the dev-patch-updates group Bumps the dev-patch-updates group in /backend with 1 update: [nodemon](https://github.com/remy/nodemon). Updates `nodemon` from 3.1.13 to 3.1.14 - [Release notes](https://github.com/remy/nodemon/releases) - [Commits](https://github.com/remy/nodemon/compare/v3.1.13...v3.1.14) --- updated-dependencies: - dependency-name: nodemon dependency-version: 3.1.14 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates ... Signed-off-by: dependabot[bot] --- backend/package.json | 2 +- backend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/package.json b/backend/package.json index d06fc29723..ee82dade77 100644 --- a/backend/package.json +++ b/backend/package.json @@ -43,7 +43,7 @@ "@apidevtools/swagger-parser": "^12.1.0", "@biomejs/biome": "^2.4.3", "chalk": "5.6.2", - "nodemon": "^3.1.13" + "nodemon": "^3.1.14" }, "signale": { "displayDate": true, diff --git a/backend/yarn.lock b/backend/yarn.lock index f4c5798f47..34735c67e1 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -1963,10 +1963,10 @@ node-rsa@^1.1.1: dependencies: asn1 "^0.2.4" -nodemon@^3.1.13: - version "3.1.13" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.13.tgz#06e4861d8f8a8033c9f607ae3645d3c02ca1c061" - integrity sha512-nPN6L7A9cTA3BnJ3zZIibH5FiDh3GbmibeS17bl5YEU1IRO2mcfvR0ZJXH3ndoeKItjUcaX81FSKc/Kq/IiG6g== +nodemon@^3.1.14: + version "3.1.14" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.14.tgz#8487ca379c515301d221ec007f27f24ecafa2b51" + integrity sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw== dependencies: chokidar "^3.5.2" debug "^4" From 71d59516e8f4fa3c4a58e8d947f4f9fc9818fcf4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:50:35 +0000 Subject: [PATCH 016/113] Bump mysql2 in /backend in the prod-patch-updates group Bumps the prod-patch-updates group in /backend with 1 update: [mysql2](https://github.com/sidorares/node-mysql2). Updates `mysql2` from 3.17.3 to 3.17.5 - [Release notes](https://github.com/sidorares/node-mysql2/releases) - [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md) - [Commits](https://github.com/sidorares/node-mysql2/compare/v3.17.3...v3.17.5) --- updated-dependencies: - dependency-name: mysql2 dependency-version: 3.17.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] --- backend/package.json | 2 +- backend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/package.json b/backend/package.json index d06fc29723..f1920bc86f 100644 --- a/backend/package.json +++ b/backend/package.json @@ -28,7 +28,7 @@ "liquidjs": "10.24.0", "lodash": "^4.17.23", "moment": "^2.30.1", - "mysql2": "^3.17.3", + "mysql2": "^3.17.5", "node-rsa": "^1.1.1", "objection": "3.1.5", "otplib": "^13.3.0", diff --git a/backend/yarn.lock b/backend/yarn.lock index f4c5798f47..12168544b8 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -1877,10 +1877,10 @@ ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -mysql2@^3.17.3: - version "3.17.3" - resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.17.3.tgz#aa19f55dd7efc5b28e19f020153d0fb64535539f" - integrity sha512-uCLmQMe1l96Sb6J3Ii8YJTOWJkhRmxlLJFdOfhD68jPpGTzK2fxEkFMpf5gewyHgUB0FJKzuAuPhYS+oPB0/vA== +mysql2@^3.17.5: + version "3.17.5" + resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.17.5.tgz#c0a0fdd73812ba65d08d47ee639df5ec46409087" + integrity sha512-Qb5kOObI10PUTjMRrvJhegiu2i7EmbCm2F2tbYHp9gCfpbLWjk39+TeoA6ususBc8xZa3pmRI6z0kPQldpcA8A== dependencies: aws-ssl-profiles "^1.1.2" denque "^2.1.0" From 0844dade989eabe88c8c37dadf5795588760ca12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:50:56 +0000 Subject: [PATCH 017/113] Bump happy-dom in /frontend in the dev-minor-updates group Bumps the dev-minor-updates group in /frontend with 1 update: [happy-dom](https://github.com/capricorn86/happy-dom). Updates `happy-dom` from 20.6.3 to 20.7.0 - [Release notes](https://github.com/capricorn86/happy-dom/releases) - [Commits](https://github.com/capricorn86/happy-dom/compare/v20.6.3...v20.7.0) --- updated-dependencies: - dependency-name: happy-dom dependency-version: 20.7.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-minor-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 2 +- frontend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index cd2d6e61a4..65aba7ae94 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -52,7 +52,7 @@ "@types/react-dom": "^19.2.3", "@types/react-table": "^7.7.20", "@vitejs/plugin-react": "^5.1.4", - "happy-dom": "^20.6.3", + "happy-dom": "^20.7.0", "postcss": "^8.5.6", "postcss-simple-vars": "^7.0.1", "sass": "^1.97.3", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index cfd05cda64..39916512f0 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1590,10 +1590,10 @@ globrex@^0.1.2: resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== -happy-dom@^20.6.3: - version "20.6.3" - resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.6.3.tgz#d10c63b589ecf4bfca22ca77e2b0d34236485ab0" - integrity sha512-QAMY7d228dHs8gb9NG4SJ3OxQo4r+NGN8pOXGZ3SGfQf/XYuuYubrtZ25QVY2WoUQdskhRXSXb4R4mcRk+hV1w== +happy-dom@^20.7.0: + version "20.7.0" + resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.7.0.tgz#b0b02f8c9b7553e093ca7ef414f17ad95436e43b" + integrity sha512-hR/uLYQdngTyEfxnOoa+e6KTcfBFyc1hgFj/Cc144A5JJUuHFYqIEBDcD4FeGqUeKLRZqJ9eN9u7/GDjYEgS1g== dependencies: "@types/node" ">=20.0.0" "@types/whatwg-mimetype" "^3.0.2" From d874af86927a0a2edd317579f8981bcfe785abb6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:51:21 +0000 Subject: [PATCH 018/113] Bump country-flag-icons in /frontend in the prod-patch-updates group Bumps the prod-patch-updates group in /frontend with 1 update: [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons). Updates `country-flag-icons` from 1.6.13 to 1.6.14 - [Changelog](https://gitlab.com/catamphetamine/country-flag-icons/blob/master/CHANGELOG.md) - [Commits](https://gitlab.com/catamphetamine/country-flag-icons/compare/v1.6.13...v1.6.14) --- updated-dependencies: - dependency-name: country-flag-icons dependency-version: 1.6.14 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 2 +- frontend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index cd2d6e61a4..9ee58f6e13 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -22,7 +22,7 @@ "@tanstack/react-table": "^8.21.3", "@uiw/react-textarea-code-editor": "^3.1.1", "classnames": "^2.5.1", - "country-flag-icons": "^1.6.13", + "country-flag-icons": "^1.6.14", "date-fns": "^4.1.0", "ez-modal-react": "^1.0.5", "formik": "^2.4.9", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index cfd05cda64..0a2b473f0f 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1348,10 +1348,10 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -country-flag-icons@^1.6.13: - version "1.6.13" - resolved "https://registry.yarnpkg.com/country-flag-icons/-/country-flag-icons-1.6.13.tgz#744de466baf5d8189942ba08fc57167f74037282" - integrity sha512-mR9GoTXtj3zAXoZXBkb3J4QvyDllFEPtEfZvHb9U23TAHYXfkJyP03pRtZiR0spxo6Ibja3R/hn6a68T4LHBuA== +country-flag-icons@^1.6.14: + version "1.6.14" + resolved "https://registry.yarnpkg.com/country-flag-icons/-/country-flag-icons-1.6.14.tgz#4d4f73e03330f54a066b4a3d45ea80f7c0a961df" + integrity sha512-tPis+tN/esXXSuQJZCbkUhnIeUrZmtDKSjUuSI7Sss2GHsgAGvbSAQkx4Ut0qethZbDfPGYco8EjzOPElxYIFw== css.escape@^1.5.1: version "1.5.1" From adb27fe67d76e5ec171dacba4dc2bbe86291c5ab Mon Sep 17 00:00:00 2001 From: siimaarmaa Date: Mon, 23 Feb 2026 20:49:06 +0200 Subject: [PATCH 019/113] Added Estonia langugae support. First Estonia lanuage update is HelpDocs. By Siim Aarmaa --- frontend/check-locales.cjs | 1 + frontend/src/locale/IntlProvider.tsx | 2 + .../src/locale/src/HelpDoc/et/AccessLists.md | 7 + .../src/locale/src/HelpDoc/et/Certificates.md | 26 + .../src/locale/src/HelpDoc/et/DeadHosts.md | 9 + .../src/locale/src/HelpDoc/et/ProxyHosts.md | 7 + .../locale/src/HelpDoc/et/RedirectionHosts.md | 5 + frontend/src/locale/src/HelpDoc/et/Streams.md | 5 + frontend/src/locale/src/HelpDoc/et/index.ts | 6 + frontend/src/locale/src/HelpDoc/index.ts | 3 +- frontend/src/locale/src/et.json | 776 ++++++++++++++++++ frontend/src/locale/src/lang-list.json | 3 + 12 files changed, 849 insertions(+), 1 deletion(-) create mode 100644 frontend/src/locale/src/HelpDoc/et/AccessLists.md create mode 100644 frontend/src/locale/src/HelpDoc/et/Certificates.md create mode 100644 frontend/src/locale/src/HelpDoc/et/DeadHosts.md create mode 100644 frontend/src/locale/src/HelpDoc/et/ProxyHosts.md create mode 100644 frontend/src/locale/src/HelpDoc/et/RedirectionHosts.md create mode 100644 frontend/src/locale/src/HelpDoc/et/Streams.md create mode 100644 frontend/src/locale/src/HelpDoc/et/index.ts create mode 100644 frontend/src/locale/src/et.json diff --git a/frontend/check-locales.cjs b/frontend/check-locales.cjs index 69fd59dd03..75d2d8fce7 100755 --- a/frontend/check-locales.cjs +++ b/frontend/check-locales.cjs @@ -11,6 +11,7 @@ const allLocales = [ ["de", "de-DE"], ["pt", "pt-PT"], ["es", "es-ES"], + ["et", "et-EE"], ["fr", "fr-FR"], ["it", "it-IT"], ["ja", "ja-JP"], diff --git a/frontend/src/locale/IntlProvider.tsx b/frontend/src/locale/IntlProvider.tsx index 2f1511d1ae..dabe81b5e5 100755 --- a/frontend/src/locale/IntlProvider.tsx +++ b/frontend/src/locale/IntlProvider.tsx @@ -4,6 +4,7 @@ import langDe from "./lang/de.json"; import langPt from "./lang/pt.json"; import langEn from "./lang/en.json"; import langEs from "./lang/es.json"; +import langEt from "./lang/et.json"; import langFr from "./lang/fr.json"; import langGa from "./lang/ga.json"; import langId from "./lang/id.json"; @@ -29,6 +30,7 @@ const localeOptions = [ ["en", "en-US", langEn], ["de", "de-DE", langDe], ["es", "es-ES", langEs], + ["et", "et-EE", langEt], ["pt", "pt-PT", langPt], ["fr", "fr-FR", langFr], ["ga", "ga-IE", langGa], diff --git a/frontend/src/locale/src/HelpDoc/et/AccessLists.md b/frontend/src/locale/src/HelpDoc/et/AccessLists.md new file mode 100644 index 0000000000..320214c4da --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/et/AccessLists.md @@ -0,0 +1,7 @@ +## Mis on juurdepääsuloend? + +Ligipääsuloendid pakuvad konkreetsete klientide IP-aadresside musta või valget nimekirja koos puhverserverite autentimisega põhilise HTTP-autentimise kaudu. + +Saate ühe juurdepääsuloendi jaoks konfigureerida mitu kliendireeglit, kasutajanime ja parooli ning seejärel rakendada neid ühele või mitmele _puhverserverile_. + +See on kõige kasulikum edastatud veebiteenuste puhul, millel pole sisseehitatud autentimismehhanisme või kui soovite kaitsta tundmatute klientide eest. \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/et/Certificates.md b/frontend/src/locale/src/HelpDoc/et/Certificates.md new file mode 100644 index 0000000000..551b57c439 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/et/Certificates.md @@ -0,0 +1,26 @@ +## Sertifikaatide abi + +### HTTP-sertifikaat + +HTTP-valideeritud sertifikaat tähendab, et Let's Encrypti serverid + +proovivad teie domeenidega ühendust luua HTTP (mitte HTTPS!) kaudu ja kui see õnnestub, +väljastavad nad teile sertifikaadi. + +Selle meetodi jaoks peate oma domeeni(de) jaoks looma _Proxy Host_, millele pääseb ligi HTTP kaudu ja mis osutab sellele Nginxi installile. Pärast sertifikaadi väljastamist saate muuta _Proxy Host_'i, et seda sertifikaati ka HTTPS +ühenduste jaoks kasutada. Sertifikaadi uuendamiseks tuleb aga _Proxy Host_ ikkagi HTTP-juurdepääsu jaoks konfigureerida. + +See protsess _ei_ toeta metamärke kasutavaid domeene. + +### DNS-sertifikaat + +DNS-i poolt valideeritud sertifikaadi saamiseks peate kasutama DNS-pakkuja pistikprogrammi. Seda DNS-teenuse pakkujat kasutatakse teie domeenis ajutiste kirjete loomiseks ja seejärel pärib Let's +Encrypt nende kirjete kohta päringu, et veenduda, et olete omanik, ja kui see õnnestub, väljastavad nad teile sertifikaadi. + +Selle tüüpi sertifikaadi taotlemiseks ei ole vaja luua _Proxy Host_'i. Samuti ei pea teie _Proxy Host_ olema HTTP-juurdepääsu jaoks konfigureeritud. + +See protsess _toetab_ metamärke kasutavaid domeene. + +### Kohandatud sertifikaat + +Kasutage seda valikut oma SSL-sertifikaadi üleslaadimiseks, mille on esitanud teie enda sertifitseerimisasutus. \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/et/DeadHosts.md b/frontend/src/locale/src/HelpDoc/et/DeadHosts.md new file mode 100644 index 0000000000..7bec575c8d --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/et/DeadHosts.md @@ -0,0 +1,9 @@ +## Mis on 404 host? + +404 host on lihtsalt hosti seadistus, mis kuvab 404 lehte. + +See võib olla kasulik, kui teie domeen on otsingumootorites loetletud ja soovite +esitada kenama vealehe või konkreetselt otsingu indekseerijatele öelda, et +domeenilehed enam ei eksisteeri. + +Selle hosti teine eelis on selle külastatavuste logide jälgimine ja suunajate vaatamine. \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/et/ProxyHosts.md b/frontend/src/locale/src/HelpDoc/et/ProxyHosts.md new file mode 100644 index 0000000000..9d10f528bf --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/et/ProxyHosts.md @@ -0,0 +1,7 @@ +## Mis on puhverserver? + +Puhverserver on veebiteenuse sissetuleva andmevoo lõpp-punkt, mida soovite edastada. + +See pakub valikulist SSL-i lõpetamist teie teenusele, millel ei pruugi olla sisseehitatud SSL-tuge. + +Puhverserverid on Nginxi puhverserveri halduri kõige levinum kasutusala. \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/et/RedirectionHosts.md b/frontend/src/locale/src/HelpDoc/et/RedirectionHosts.md new file mode 100644 index 0000000000..8d3eaa06eb --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/et/RedirectionHosts.md @@ -0,0 +1,5 @@ +## Mis on ümbersuunamishost? + +Ümbersuunamishost suunab sissetuleva domeeni päringud ümber ja suunab vaataja teisele domeenile. + +Kõige levinum põhjus seda tüüpi hosti kasutamiseks on see, kui teie veebisaidi domeenid muutuvad, kuid otsingumootori või suunaja lingid osutavad endiselt vanale domeenile. \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/et/Streams.md b/frontend/src/locale/src/HelpDoc/et/Streams.md new file mode 100644 index 0000000000..55422c1823 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/et/Streams.md @@ -0,0 +1,5 @@ +## Mis on voog? + +Nginxi suhteliselt uus funktsioon, voog, edastab TCP/UDP liiklust otse võrgus olevale teisele arvutile. + +Kui sul on mänguserverid, FTP- või SSH-serverid, võib see kasuks tulla. \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/et/index.ts b/frontend/src/locale/src/HelpDoc/et/index.ts new file mode 100644 index 0000000000..d0178a5d30 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/et/index.ts @@ -0,0 +1,6 @@ +export * as AccessLists from "./AccessLists.md"; +export * as Certificates from "./Certificates.md"; +export * as DeadHosts from "./DeadHosts.md"; +export * as ProxyHosts from "./ProxyHosts.md"; +export * as RedirectionHosts from "./RedirectionHosts.md"; +export * as Streams from "./Streams.md"; \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/index.ts b/frontend/src/locale/src/HelpDoc/index.ts index bba013d54d..7d4af5f5dd 100644 --- a/frontend/src/locale/src/HelpDoc/index.ts +++ b/frontend/src/locale/src/HelpDoc/index.ts @@ -3,6 +3,7 @@ import * as de from "./de/index"; import * as pt from "./pt/index"; import * as en from "./en/index"; import * as es from "./es/index"; +import * as et from "./et/index"; import * as fr from "./fr/index"; import * as ga from "./ga/index"; import * as id from "./id/index"; @@ -19,7 +20,7 @@ import * as zh from "./zh/index"; import * as tr from "./tr/index"; import * as hu from "./hu/index"; -const items: any = { en, de, pt, es, ja, sk, cs, zh, pl, ru, it, vi, nl, bg, ko, ga, id, fr, tr, hu }; +const items: any = { en, de, pt, es, et, ja, sk, cs, zh, pl, ru, it, vi, nl, bg, ko, ga, id, fr, tr, hu }; const fallbackLang = "en"; diff --git a/frontend/src/locale/src/et.json b/frontend/src/locale/src/et.json new file mode 100644 index 0000000000..bb00ac3322 --- /dev/null +++ b/frontend/src/locale/src/et.json @@ -0,0 +1,776 @@ +{ + "2fa.backup-codes-remaining": { + "defaultMessage": "Backup codes remaining: {count}" + }, + "2fa.backup-warning": { + "defaultMessage": "Save these backup codes in a secure place. Each code can only be used once." + }, + "2fa.disable": { + "defaultMessage": "Disable Two-Factor Authentication" + }, + "2fa.disable-confirm": { + "defaultMessage": "Disable 2FA" + }, + "2fa.disable-warning": { + "defaultMessage": "Disabling two-factor authentication will make your account less secure." + }, + "2fa.disabled": { + "defaultMessage": "Disabled" + }, + "2fa.done": { + "defaultMessage": "I have saved my backup codes" + }, + "2fa.enable": { + "defaultMessage": "Enable Two-Factor Authentication" + }, + "2fa.enabled": { + "defaultMessage": "Enabled" + }, + "2fa.enter-code": { + "defaultMessage": "Enter verification code" + }, + "2fa.enter-code-disable": { + "defaultMessage": "Enter verification code to disable" + }, + "2fa.regenerate": { + "defaultMessage": "Regenerate" + }, + "2fa.regenerate-backup": { + "defaultMessage": "Regenerate Backup Codes" + }, + "2fa.regenerate-instructions": { + "defaultMessage": "Enter a verification code to generate new backup codes. Your old codes will be invalidated." + }, + "2fa.secret-key": { + "defaultMessage": "Secret Key" + }, + "2fa.setup-instructions": { + "defaultMessage": "Scan this QR code with your authenticator app, or enter the secret manually." + }, + "2fa.status": { + "defaultMessage": "Status" + }, + "2fa.title": { + "defaultMessage": "Two-Factor Authentication" + }, + "2fa.verify-enable": { + "defaultMessage": "Verify and Enable" + }, + "access-list": { + "defaultMessage": "Access List" + }, + "access-list.access-count": { + "defaultMessage": "{count} {count, plural, one {Rule} other {Rules}}" + }, + "access-list.auth-count": { + "defaultMessage": "{count} {count, plural, one {User} other {Users}}" + }, + "access-list.help-rules-last": { + "defaultMessage": "When at least 1 rule exists, this deny all rule will be added last" + }, + "access-list.help.rules-order": { + "defaultMessage": "Note that the allow and deny directives will be applied in the order they are defined." + }, + "access-list.pass-auth": { + "defaultMessage": "Pass Auth to Upstream" + }, + "access-list.public": { + "defaultMessage": "Publicly Accessible" + }, + "access-list.public.subtitle": { + "defaultMessage": "No basic auth required" + }, + "access-list.rule-source.placeholder": { + "defaultMessage": "192.168.1.100 or 192.168.1.0/24 or 2001:0db8::/32" + }, + "access-list.satisfy-any": { + "defaultMessage": "Satisfy Any" + }, + "access-list.subtitle": { + "defaultMessage": "{users} {users, plural, one {User} other {Users}}, {rules} {rules, plural, one {Rule} other {Rules}} - Created: {date}" + }, + "access-lists": { + "defaultMessage": "Access Lists" + }, + "action.add": { + "defaultMessage": "Add" + }, + "action.add-location": { + "defaultMessage": "Add Location" + }, + "action.allow": { + "defaultMessage": "Allow" + }, + "action.close": { + "defaultMessage": "Close" + }, + "action.delete": { + "defaultMessage": "Delete" + }, + "action.deny": { + "defaultMessage": "Deny" + }, + "action.disable": { + "defaultMessage": "Disable" + }, + "action.download": { + "defaultMessage": "Download" + }, + "action.edit": { + "defaultMessage": "Edit" + }, + "action.enable": { + "defaultMessage": "Enable" + }, + "action.permissions": { + "defaultMessage": "Permissions" + }, + "action.renew": { + "defaultMessage": "Renew" + }, + "action.view-details": { + "defaultMessage": "View Details" + }, + "auditlogs": { + "defaultMessage": "Audit Logs" + }, + "auto": { + "defaultMessage": "Auto" + }, + "cancel": { + "defaultMessage": "Cancel" + }, + "certificate": { + "defaultMessage": "Certificate" + }, + "certificate.custom-certificate": { + "defaultMessage": "Certificate" + }, + "certificate.custom-certificate-key": { + "defaultMessage": "Certificate Key" + }, + "certificate.custom-intermediate": { + "defaultMessage": "Intermediate Certificate" + }, + "certificate.in-use": { + "defaultMessage": "In Use" + }, + "certificate.none.subtitle": { + "defaultMessage": "No certificate assigned" + }, + "certificate.none.subtitle.for-http": { + "defaultMessage": "This host will not use HTTPS" + }, + "certificate.none.title": { + "defaultMessage": "None" + }, + "certificate.not-in-use": { + "defaultMessage": "Not Used" + }, + "certificate.renew": { + "defaultMessage": "Renew Certificate" + }, + "certificates": { + "defaultMessage": "Certificates" + }, + "certificates.custom": { + "defaultMessage": "Custom Certificate" + }, + "certificates.custom.warning": { + "defaultMessage": "Key files protected with a passphrase are not supported." + }, + "certificates.dns.credentials": { + "defaultMessage": "Credentials File Content" + }, + "certificates.dns.credentials-note": { + "defaultMessage": "This plugin requires a configuration file containing an API token or other credentials for your provider" + }, + "certificates.dns.credentials-warning": { + "defaultMessage": "This data will be stored as plaintext in the database and in a file!" + }, + "certificates.dns.propagation-seconds": { + "defaultMessage": "Propagation Seconds" + }, + "certificates.dns.propagation-seconds-note": { + "defaultMessage": "Leave empty to use the plugins default value. Number of seconds to wait for DNS propagation." + }, + "certificates.dns.provider": { + "defaultMessage": "DNS Provider" + }, + "certificates.dns.provider.placeholder": { + "defaultMessage": "Select a Provider..." + }, + "certificates.dns.warning": { + "defaultMessage": "This section requires some knowledge about Certbot and its DNS plugins. Please consult the respective plugins documentation." + }, + "certificates.http.reachability-404": { + "defaultMessage": "There is a server found at this domain but it does not seem to be Nginx Proxy Manager. Please make sure your domain points to the IP where your NPM instance is running." + }, + "certificates.http.reachability-failed-to-check": { + "defaultMessage": "Failed to check the reachability due to a communication error with site24x7.com." + }, + "certificates.http.reachability-not-resolved": { + "defaultMessage": "There is no server available at this domain. Please make sure your domain exists and points to the IP where your NPM instance is running and if necessary port 80 is forwarded in your router." + }, + "certificates.http.reachability-ok": { + "defaultMessage": "Your server is reachable and creating certificates should be possible." + }, + "certificates.http.reachability-other": { + "defaultMessage": "There is a server found at this domain but it returned an unexpected status code {code}. Is it the NPM server? Please make sure your domain points to the IP where your NPM instance is running." + }, + "certificates.http.reachability-wrong-data": { + "defaultMessage": "There is a server found at this domain but it returned an unexpected data. Is it the NPM server? Please make sure your domain points to the IP where your NPM instance is running." + }, + "certificates.http.test-results": { + "defaultMessage": "Test Results" + }, + "certificates.http.warning": { + "defaultMessage": "These domains must be already configured to point to this installation." + }, + "certificates.key-type": { + "defaultMessage": "Key Type" + }, + "certificates.key-type-description": { + "defaultMessage": "RSA is widely compatible, ECDSA is faster and more secure but may not be supported by older systems" + }, + "certificates.key-type-ecdsa": { + "defaultMessage": "ECDSA 256" + }, + "certificates.key-type-rsa": { + "defaultMessage": "RSA 2048" + }, + "certificates.request.subtitle": { + "defaultMessage": "with Let's Encrypt" + }, + "certificates.request.title": { + "defaultMessage": "Request a new Certificate" + }, + "column.access": { + "defaultMessage": "Access" + }, + "column.authorization": { + "defaultMessage": "Authorization" + }, + "column.authorizations": { + "defaultMessage": "Authorizations" + }, + "column.custom-locations": { + "defaultMessage": "Custom Locations" + }, + "column.destination": { + "defaultMessage": "Destination" + }, + "column.details": { + "defaultMessage": "Details" + }, + "column.email": { + "defaultMessage": "Email" + }, + "column.event": { + "defaultMessage": "Event" + }, + "column.expires": { + "defaultMessage": "Expires" + }, + "column.http-code": { + "defaultMessage": "HTTP Code" + }, + "column.incoming-port": { + "defaultMessage": "Incoming Port" + }, + "column.name": { + "defaultMessage": "Name" + }, + "column.protocol": { + "defaultMessage": "Protocol" + }, + "column.provider": { + "defaultMessage": "Provider" + }, + "column.roles": { + "defaultMessage": "Roles" + }, + "column.rules": { + "defaultMessage": "Rules" + }, + "column.satisfy": { + "defaultMessage": "Satisfy" + }, + "column.satisfy-all": { + "defaultMessage": "All" + }, + "column.satisfy-any": { + "defaultMessage": "Any" + }, + "column.scheme": { + "defaultMessage": "Scheme" + }, + "column.source": { + "defaultMessage": "Source" + }, + "column.ssl": { + "defaultMessage": "SSL" + }, + "column.status": { + "defaultMessage": "Status" + }, + "created-on": { + "defaultMessage": "Created: {date}" + }, + "dashboard": { + "defaultMessage": "Dashboard" + }, + "dead-host": { + "defaultMessage": "404 Host" + }, + "dead-hosts": { + "defaultMessage": "404 Hosts" + }, + "dead-hosts.count": { + "defaultMessage": "{count} {count, plural, one {404 Host} other {404 Hosts}}" + }, + "disabled": { + "defaultMessage": "Disabled" + }, + "domain-names": { + "defaultMessage": "Domain Names" + }, + "domain-names.max": { + "defaultMessage": "{count} domain names maximum" + }, + "domain-names.placeholder": { + "defaultMessage": "Start typing to add domain..." + }, + "domain-names.wildcards-not-permitted": { + "defaultMessage": "Wildcards not permitted for this type" + }, + "domain-names.wildcards-not-supported": { + "defaultMessage": "Wildcards not supported for this CA" + }, + "domains.advanced": { + "defaultMessage": "Advanced" + }, + "domains.force-ssl": { + "defaultMessage": "Force SSL" + }, + "domains.hsts-enabled": { + "defaultMessage": "HSTS Enabled" + }, + "domains.hsts-subdomains": { + "defaultMessage": "HSTS Sub-domains" + }, + "domains.http2-support": { + "defaultMessage": "HTTP/2 Support" + }, + "domains.trust-forwarded-proto": { + "defaultMessage": "Trust Upstream Forwarded Proto Headers" + }, + "domains.use-dns": { + "defaultMessage": "Use DNS Challenge" + }, + "email-address": { + "defaultMessage": "Email address" + }, + "empty-search": { + "defaultMessage": "No results found" + }, + "empty-subtitle": { + "defaultMessage": "Why don't you create one?" + }, + "enabled": { + "defaultMessage": "Enabled" + }, + "error.access.at-least-one": { + "defaultMessage": "Either one Authorization or one Access Rule is required" + }, + "error.access.duplicate-usernames": { + "defaultMessage": "Authorization Usernames must be unique" + }, + "error.invalid-auth": { + "defaultMessage": "Invalid email or password" + }, + "error.invalid-domain": { + "defaultMessage": "Invalid domain: {domain}" + }, + "error.invalid-email": { + "defaultMessage": "Invalid email address" + }, + "error.max-character-length": { + "defaultMessage": "Maximum length is {max} character{max, plural, one {} other {s}}" + }, + "error.max-domains": { + "defaultMessage": "Too many domains, max is {max}" + }, + "error.maximum": { + "defaultMessage": "Maximum is {max}" + }, + "error.min-character-length": { + "defaultMessage": "Minimum length is {min} character{min, plural, one {} other {s}}" + }, + "error.minimum": { + "defaultMessage": "Minimum is {min}" + }, + "error.passwords-must-match": { + "defaultMessage": "Passwords must match" + }, + "error.required": { + "defaultMessage": "This is required" + }, + "expires.on": { + "defaultMessage": "Expires: {date}" + }, + "footer.github-fork": { + "defaultMessage": "Fork me on Github" + }, + "host.flags.block-exploits": { + "defaultMessage": "Block Common Exploits" + }, + "host.flags.cache-assets": { + "defaultMessage": "Cache Assets" + }, + "host.flags.preserve-path": { + "defaultMessage": "Preserve Path" + }, + "host.flags.protocols": { + "defaultMessage": "Protocols" + }, + "host.flags.websockets-upgrade": { + "defaultMessage": "Websockets Support" + }, + "host.forward-port": { + "defaultMessage": "Forward Port" + }, + "host.forward-scheme": { + "defaultMessage": "Scheme" + }, + "hosts": { + "defaultMessage": "Hosts" + }, + "http-only": { + "defaultMessage": "HTTP Only" + }, + "lets-encrypt": { + "defaultMessage": "Let's Encrypt" + }, + "lets-encrypt-via-dns": { + "defaultMessage": "Let's Encrypt via DNS" + }, + "lets-encrypt-via-http": { + "defaultMessage": "Let's Encrypt via HTTP" + }, + "loading": { + "defaultMessage": "Loading…" + }, + "login.2fa-code": { + "defaultMessage": "Verification Code" + }, + "login.2fa-code-placeholder": { + "defaultMessage": "Enter code" + }, + "login.2fa-description": { + "defaultMessage": "Enter the code from your authenticator app" + }, + "login.2fa-title": { + "defaultMessage": "Two-Factor Authentication" + }, + "login.2fa-verify": { + "defaultMessage": "Verify" + }, + "login.title": { + "defaultMessage": "Login to your account" + }, + "nginx-config.label": { + "defaultMessage": "Custom Nginx Configuration" + }, + "nginx-config.placeholder": { + "defaultMessage": "# Enter your custom Nginx configuration here at your own risk!" + }, + "no-permission-error": { + "defaultMessage": "You do not have access to view this." + }, + "notfound.action": { + "defaultMessage": "Take me home" + }, + "notfound.content": { + "defaultMessage": "We are sorry but the page you are looking for was not found" + }, + "notfound.title": { + "defaultMessage": "Oops… You just found an error page" + }, + "notification.error": { + "defaultMessage": "Error" + }, + "notification.object-deleted": { + "defaultMessage": "{object} has been deleted" + }, + "notification.object-disabled": { + "defaultMessage": "{object} has been disabled" + }, + "notification.object-enabled": { + "defaultMessage": "{object} has been enabled" + }, + "notification.object-renewed": { + "defaultMessage": "{object} has been renewed" + }, + "notification.object-saved": { + "defaultMessage": "{object} has been saved" + }, + "notification.success": { + "defaultMessage": "Success" + }, + "object.actions-title": { + "defaultMessage": "{object} #{id}" + }, + "object.add": { + "defaultMessage": "Add {object}" + }, + "object.delete": { + "defaultMessage": "Delete {object}" + }, + "object.delete.content": { + "defaultMessage": "Are you sure you want to delete this {object}?" + }, + "object.edit": { + "defaultMessage": "Edit {object}" + }, + "object.empty": { + "defaultMessage": "There are no {objects}" + }, + "object.event.created": { + "defaultMessage": "Created {object}" + }, + "object.event.deleted": { + "defaultMessage": "Deleted {object}" + }, + "object.event.disabled": { + "defaultMessage": "Disabled {object}" + }, + "object.event.enabled": { + "defaultMessage": "Enabled {object}" + }, + "object.event.renewed": { + "defaultMessage": "Renewed {object}" + }, + "object.event.updated": { + "defaultMessage": "Updated {object}" + }, + "offline": { + "defaultMessage": "Offline" + }, + "online": { + "defaultMessage": "Online" + }, + "options": { + "defaultMessage": "Options" + }, + "password": { + "defaultMessage": "Password" + }, + "password.generate": { + "defaultMessage": "Generate random password" + }, + "password.hide": { + "defaultMessage": "Hide Password" + }, + "password.show": { + "defaultMessage": "Show Password" + }, + "permissions.hidden": { + "defaultMessage": "Hidden" + }, + "permissions.manage": { + "defaultMessage": "Manage" + }, + "permissions.view": { + "defaultMessage": "View Only" + }, + "permissions.visibility.all": { + "defaultMessage": "All Items" + }, + "permissions.visibility.title": { + "defaultMessage": "Item Visibility" + }, + "permissions.visibility.user": { + "defaultMessage": "Created Items Only" + }, + "proxy-host": { + "defaultMessage": "Proxy Host" + }, + "proxy-host.forward-host": { + "defaultMessage": "Forward Hostname / IP" + }, + "proxy-hosts": { + "defaultMessage": "Proxy Hosts" + }, + "proxy-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Proxy Host} other {Proxy Hosts}}" + }, + "public": { + "defaultMessage": "Public" + }, + "redirection-host": { + "defaultMessage": "Redirection Host" + }, + "redirection-host.forward-domain": { + "defaultMessage": "Forward Domain" + }, + "redirection-host.forward-http-code": { + "defaultMessage": "HTTP Code" + }, + "redirection-hosts": { + "defaultMessage": "Redirection Hosts" + }, + "redirection-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Redirection Host} other {Redirection Hosts}}" + }, + "redirection-hosts.http-code.300": { + "defaultMessage": "300 Multiple Choices" + }, + "redirection-hosts.http-code.301": { + "defaultMessage": "301 Moved permanently" + }, + "redirection-hosts.http-code.302": { + "defaultMessage": "302 Moved temporarily" + }, + "redirection-hosts.http-code.303": { + "defaultMessage": "303 See other" + }, + "redirection-hosts.http-code.307": { + "defaultMessage": "307 Temporary redirect" + }, + "redirection-hosts.http-code.308": { + "defaultMessage": "308 Permanent redirect" + }, + "role.admin": { + "defaultMessage": "Administrator" + }, + "role.standard-user": { + "defaultMessage": "Standard User" + }, + "save": { + "defaultMessage": "Save" + }, + "setting": { + "defaultMessage": "Setting" + }, + "settings": { + "defaultMessage": "Settings" + }, + "settings.default-site": { + "defaultMessage": "Default Site" + }, + "settings.default-site.404": { + "defaultMessage": "404 Page" + }, + "settings.default-site.444": { + "defaultMessage": "No Response (444)" + }, + "settings.default-site.congratulations": { + "defaultMessage": "Congratulations Page" + }, + "settings.default-site.description": { + "defaultMessage": "What to show when Nginx is hit with an unknown Host" + }, + "settings.default-site.html": { + "defaultMessage": "Custom HTML" + }, + "settings.default-site.html.placeholder": { + "defaultMessage": "" + }, + "settings.default-site.redirect": { + "defaultMessage": "Redirect" + }, + "setup.preamble": { + "defaultMessage": "Get started by creating your admin account." + }, + "setup.title": { + "defaultMessage": "Welcome!" + }, + "sign-in": { + "defaultMessage": "Sign in" + }, + "ssl-certificate": { + "defaultMessage": "SSL Certificate" + }, + "stream": { + "defaultMessage": "Stream" + }, + "stream.forward-host": { + "defaultMessage": "Forward Host" + }, + "stream.forward-host.placeholder": { + "defaultMessage": "example.com or 10.0.0.1 or 2001:db8:3333:4444:5555:6666:7777:8888" + }, + "stream.incoming-port": { + "defaultMessage": "Incoming Port" + }, + "streams": { + "defaultMessage": "Streams" + }, + "streams.count": { + "defaultMessage": "{count} {count, plural, one {Stream} other {Streams}}" + }, + "streams.tcp": { + "defaultMessage": "TCP" + }, + "streams.udp": { + "defaultMessage": "UDP" + }, + "test": { + "defaultMessage": "Test" + }, + "update-available": { + "defaultMessage": "Update Available: {latestVersion}" + }, + "user": { + "defaultMessage": "User" + }, + "user.change-password": { + "defaultMessage": "Change Password" + }, + "user.confirm-password": { + "defaultMessage": "Confirm Password" + }, + "user.current-password": { + "defaultMessage": "Current Password" + }, + "user.edit-profile": { + "defaultMessage": "Edit Profile" + }, + "user.full-name": { + "defaultMessage": "Full Name" + }, + "user.login-as": { + "defaultMessage": "Sign in as {name}" + }, + "user.logout": { + "defaultMessage": "Logout" + }, + "user.new-password": { + "defaultMessage": "New Password" + }, + "user.nickname": { + "defaultMessage": "Nickname" + }, + "user.set-password": { + "defaultMessage": "Set Password" + }, + "user.set-permissions": { + "defaultMessage": "Set Permissions for {name}" + }, + "user.switch-dark": { + "defaultMessage": "Switch to Dark mode" + }, + "user.switch-light": { + "defaultMessage": "Switch to Light mode" + }, + "user.two-factor": { + "defaultMessage": "Two-Factor Auth" + }, + "username": { + "defaultMessage": "Username" + }, + "users": { + "defaultMessage": "Users" + } +} diff --git a/frontend/src/locale/src/lang-list.json b/frontend/src/locale/src/lang-list.json index 57fd37416f..79dabe22b5 100644 --- a/frontend/src/locale/src/lang-list.json +++ b/frontend/src/locale/src/lang-list.json @@ -5,6 +5,9 @@ "locale-es-ES": { "defaultMessage": "Español" }, + "locale-et-EE": { + "defaultMessage": "Eesti" + }, "locale-ie-GA": { "defaultMessage": "Gaeilge" }, From da5955412d9b3402c8d4e0178ae33cfd478e610d Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 25 Feb 2026 08:13:38 +1000 Subject: [PATCH 020/113] Command to regenerate nginx configs --- backend/package.json | 3 +- backend/scripts/regenerate-config | 104 ++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100755 backend/scripts/regenerate-config diff --git a/backend/package.json b/backend/package.json index d06fc29723..827eacb6ac 100644 --- a/backend/package.json +++ b/backend/package.json @@ -9,7 +9,8 @@ "scripts": { "lint": "biome lint", "prettier": "biome format --write .", - "validate-schema": "node validate-schema.js" + "validate-schema": "node validate-schema.js", + "regenerate-config": "node scripts/regenerate-config" }, "dependencies": { "@apidevtools/json-schema-ref-parser": "^15.2.2", diff --git a/backend/scripts/regenerate-config b/backend/scripts/regenerate-config new file mode 100755 index 0000000000..1254ded8f1 --- /dev/null +++ b/backend/scripts/regenerate-config @@ -0,0 +1,104 @@ +#!/usr/bin/env node + +import * as process from "node:process"; // Use the node: protocol for built-ins +import internalNginx from "../internal/nginx.js"; +import { castJsonIfNeed } from "../lib/helpers.js"; +import { global as logger } from "../logger.js"; +import deadHostModel from "../models/dead_host.js"; +import proxyHostModel from "../models/proxy_host.js"; +import redirectionHostModel from "../models/redirection_host.js"; +import streamModel from "../models/stream.js"; + +const args = process.argv.slice(2); +const UNATTENDED = args.includes("-y") || args.includes("--yes"); +if (args.includes("--help")) { + console.log("Usage: ./regenerate-config [--help] [-y|--yes]"); +} + +// ask for the user to confirm the action if not in unattended mode +if (!UNATTENDED) { + const readline = await import("node:readline"); + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + + const question = (query) => + new Promise((resolve) => rl.question(query, resolve)); + + const answer = await question( + "This will iterate over all Hosts and regnerate their Nginx configs.\n\nAre you sure you want to proceed? (y/N) ", + ); + rl.close(); + + if (answer.toLowerCase() !== "y") { + console.log("Aborting."); + process.exit(0); + } +} + +// Let's do it. + +// Proxy hosts +const proxyRows = await proxyHostModel + .query() + .where("is_deleted", 0) + .andWhere("enabled", 1) + .groupBy("id") + .allowGraph("[owner,access_list,certificate]") + .orderBy(castJsonIfNeed("domain_names"), "ASC"); + +for (const row of proxyRows) { + logger.info( + `Regenerating config for Proxy Host #${row.id}: ${row.domain_names.join(", ")}`, + ); + await internalNginx.configure(proxyHostModel, "proxy_host", row); +} + +// Redirection hosts +const redirectionRows = await redirectionHostModel + .query() + .where("is_deleted", 0) + .andWhere("enabled", 1) + .groupBy("id") + .allowGraph("[owner,access_list,certificate]") + .orderBy(castJsonIfNeed("domain_names"), "ASC"); + +for (const row of redirectionRows) { + logger.info( + `Regenerating config for Redirection Host #${row.id}: ${row.domain_names.join(", ")}`, + ); + await internalNginx.configure(redirectionHostModel, "redirection_host", row); +} + +// 404 hosts +const deadRows = await deadHostModel + .query() + .where("is_deleted", 0) + .andWhere("enabled", 1) + .groupBy("id") + .allowGraph("[owner,access_list,certificate]") + .orderBy(castJsonIfNeed("domain_names"), "ASC"); + +for (const row of deadRows) { + logger.info( + `Regenerating config for 404 Host #${row.id}: ${row.domain_names.join(", ")}`, + ); + await internalNginx.configure(deadHostModel, "dead_host", row); +} + +// Streams +const streamRows = await streamModel + .query() + .where("is_deleted", 0) + .andWhere("enabled", 1) + .groupBy("id") + .allowGraph("[owner,access_list,certificate]"); + +for (const row of streamRows) { + logger.info(`Regenerating config for Stream #${row.id}: ${row.incoming_port} -> ${row.forwarding_host}:${row.forwarding_port}`); + await internalNginx.configure(deadHostModel, "stream", row); +} + +logger.success("Completed"); +process.exit(0); From 67d40e186f830a939bfb8572faa436f177c94a34 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 26 Feb 2026 08:32:02 +1000 Subject: [PATCH 021/113] Attempt to fix #5335 by allowing resovler generation to be opt-out with a env var --- docker/rootfs/etc/nginx/nginx.conf | 10 +++++----- .../etc/s6-overlay/s6-rc.d/prepare/40-dynamic.sh | 10 ++++++---- .../etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh | 2 +- docs/src/advanced-config/index.md | 14 +++++++++++++- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/docker/rootfs/etc/nginx/nginx.conf b/docker/rootfs/etc/nginx/nginx.conf index 892cf158f5..bdba3b3055 100644 --- a/docker/rootfs/etc/nginx/nginx.conf +++ b/docker/rootfs/etc/nginx/nginx.conf @@ -47,10 +47,10 @@ http { proxy_cache_path /var/lib/nginx/cache/private levels=1:2 keys_zone=private-cache:5m max_size=1024m; # Log format and fallback log file - include /etc/nginx/conf.d/include/log-proxy.conf; + include /etc/nginx/conf.d/include/log-proxy[.]conf; # Dynamically generated resolvers file - include /etc/nginx/conf.d/include/resolvers.conf; + include /etc/nginx/conf.d/include/resolvers[.]conf; # Default upstream scheme map $host $forward_scheme { @@ -67,7 +67,7 @@ http { "http" "http"; "https" "https"; default $scheme; - } + } # Real IP Determination @@ -76,7 +76,7 @@ http { set_real_ip_from 172.16.0.0/12; # Includes Docker subnet set_real_ip_from 192.168.0.0/16; # NPM generated CDN ip ranges: - include conf.d/include/ip_ranges.conf; + include conf.d/include/ip_ranges[.]conf; # always put the following 2 lines after ip subnets: real_ip_header X-Real-IP; real_ip_recursive on; @@ -98,7 +98,7 @@ http { stream { # Log format and fallback log file - include /etc/nginx/conf.d/include/log-stream.conf; + include /etc/nginx/conf.d/include/log-stream[.]conf; # Files generated by NPM include /data/nginx/stream/*.conf; diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/40-dynamic.sh b/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/40-dynamic.sh index e02f41ca1e..68186538dc 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/40-dynamic.sh +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/40-dynamic.sh @@ -7,8 +7,10 @@ log_info 'Dynamic resolvers ...' # Dynamically generate resolvers file, if resolver is IPv6, enclose in `[]` # thanks @tfmm -if [ "$(is_true "$DISABLE_IPV6")" = '1' ]; then - echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) ipv6=off valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf -else - echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf +if [ "$(is_true "${DISABLE_RESOLVER:-}")" = '0' ]; then + if [ "$(is_true "${DISABLE_IPV6:-}")" = '1' ]; then + echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) ipv6=off valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf + else + echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf + fi fi diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh b/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh index 5d33cde4cc..edc9649c9b 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/50-ipv6.sh @@ -12,7 +12,7 @@ process_folder () { FILES=$(find "$1" -type f -name "*.conf") SED_REGEX= - if [ "$(is_true "$DISABLE_IPV6")" = '1' ]; then + if [ "$(is_true "${DISABLE_IPV6:-}")" = '1' ]; then # IPV6 is disabled echo "Disabling IPV6 in hosts in: $1" SED_REGEX='s/^([^#]*)listen \[::\]/\1#listen [::]/g' diff --git a/docs/src/advanced-config/index.md b/docs/src/advanced-config/index.md index d987e0b022..3ab04ce25b 100644 --- a/docs/src/advanced-config/index.md +++ b/docs/src/advanced-config/index.md @@ -231,8 +231,20 @@ load_module /usr/lib/nginx/modules/ngx_stream_geoip2_module.so; Setting these environment variables will create the default user on startup, skipping the UI first user setup screen: -``` +```yml environment: INITIAL_ADMIN_EMAIL: my@example.com INITIAL_ADMIN_PASSWORD: mypassword1 ``` + +## Disable Nginx Resolver + +On startup, we generate a resolvers directive for Nginx unless this is defined: + +```yml + environment: + DISABLE_RESOLVER: true +``` + +In this configuration, all DNS queries performed by Nginx will fall to the `/etc/hosts` file +and then the `/etc/resolv.conf`. From 33b1a993ec67e4ff8a05e835710fcb9d25eec123 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 23:29:28 +0000 Subject: [PATCH 022/113] Bump basic-ftp from 5.1.0 to 5.2.0 in /backend Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.1.0 to 5.2.0. - [Release notes](https://github.com/patrickjuchli/basic-ftp/releases) - [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md) - [Commits](https://github.com/patrickjuchli/basic-ftp/compare/v5.1.0...v5.2.0) --- updated-dependencies: - dependency-name: basic-ftp dependency-version: 5.2.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index 276fc578b3..84e2bd7740 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -401,9 +401,9 @@ base64-js@^1.3.1: integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== basic-ftp@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.1.0.tgz#00eb8128ce536aa697c45716c739bf38e8d890f5" - integrity sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.2.0.tgz#7c2dff63c918bde60e6bad1f2ff93dcf5137a40a" + integrity sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw== batchflow@^0.4.0: version "0.4.0" From 7e5f8d824bb9bfd7a8db785be18197c1975fb082 Mon Sep 17 00:00:00 2001 From: MarioGervais <17948611+MarioGervais@users.noreply.github.com> Date: Wed, 25 Feb 2026 20:55:27 -0500 Subject: [PATCH 023/113] Update fr.json feat(i18n): complete French translation - add missing certificate key-type strings --- frontend/src/locale/src/fr.json | 1299 ++++++++++++++++--------------- 1 file changed, 654 insertions(+), 645 deletions(-) diff --git a/frontend/src/locale/src/fr.json b/frontend/src/locale/src/fr.json index c715c028a6..d8a6de69e0 100644 --- a/frontend/src/locale/src/fr.json +++ b/frontend/src/locale/src/fr.json @@ -1,647 +1,656 @@ { - "access-list": { - "defaultMessage": "Liste d'accès" - }, - "access-list.access-count": { - "defaultMessage": "{count} {count, plural, one {Règle} other {Règles}}" - }, - "access-list.auth-count": { - "defaultMessage": "{count} {count, plural, one {Utilisateur} other {Utilisateurs}}" - }, - "access-list.help-rules-last": { - "defaultMessage": "S'il existe au moins une règle, cette règle de refuser tout sera ajoutée en dernier." - }, - "access-list.help.rules-order": { - "defaultMessage": "Notez que les directives autoriser et refuser seront appliquées dans l'ordre où elles sont définies." - }, - "access-list.pass-auth": { - "defaultMessage": "Transmettre l'authentification au serveur en amont" - }, - "access-list.public": { - "defaultMessage": "Accessible au public" - }, - "access-list.public.subtitle": { - "defaultMessage": "Aucune authentification de base requise" - }, - "access-list.satisfy-any": { - "defaultMessage": "Valide n'importe quelle règle" - }, - "access-list.subtitle": { - "defaultMessage": "{utilisateurs} {utilisateurs, plural, one {Utilisateur} other {Utilisateurs}}, {règles} {règles, plural, one {Règle} other {Règles}} - Crée : {date}" - }, - "access-lists": { - "defaultMessage": "Listes d'accès" - }, - "action.add": { - "defaultMessage": "Ajouter" - }, - "action.add-location": { - "defaultMessage": "Ajouter localisation" - }, - "action.close": { - "defaultMessage": "Fermer" - }, - "action.delete": { - "defaultMessage": "Supprimer" - }, - "action.disable": { - "defaultMessage": "Désactiver" - }, - "action.download": { - "defaultMessage": "Télécharger" - }, - "action.edit": { - "defaultMessage": "Modifier" - }, - "action.enable": { - "defaultMessage": "Activer" - }, - "action.permissions": { - "defaultMessage": "Permissions" - }, - "action.renew": { - "defaultMessage": "Renouveler" - }, - "action.view-details": { - "defaultMessage": "Voir les Détails" - }, - "auditlogs": { - "defaultMessage": "Journaux d'audit" - }, - "cancel": { - "defaultMessage": "Annuler" - }, - "certificate": { - "defaultMessage": "Certificat" - }, - "certificate.custom-certificate": { - "defaultMessage": "Certificat" - }, - "certificate.custom-certificate-key": { - "defaultMessage": "Clé du Certificat" - }, - "certificate.custom-intermediate": { - "defaultMessage": "Certificat intermédiaire" - }, - "certificate.in-use": { - "defaultMessage": "Utilisé" - }, - "certificate.none.subtitle": { - "defaultMessage": "Aucun certificat assigné" - }, - "certificate.none.subtitle.for-http": { - "defaultMessage": "Cet hôte n'utilisera pas le HTTPS" - }, - "certificate.none.title": { - "defaultMessage": "Aucun" - }, - "certificate.not-in-use": { - "defaultMessage": "Non utilisé" - }, - "certificate.renew": { - "defaultMessage": "Renouveler Certificat" - }, - "certificates": { - "defaultMessage": "Certificats" - }, - "certificates.custom": { - "defaultMessage": "Certificat personnalisé" - }, - "certificates.custom.warning": { - "defaultMessage": "Les fichiers de clé protégés par une passphrase ne sont pas acceptés." - }, - "certificates.dns.credentials": { - "defaultMessage": "Contenu du fichier d'identifiants" - }, - "certificates.dns.credentials-note": { - "defaultMessage": "Ce plugin nécessite un fichier de configuration contenant un jeton d'API ou d'autres informations d'identification pour votre fournisseur." - }, - "certificates.dns.credentials-warning": { - "defaultMessage": "Ces données seront stockées en clair dans la base de données et dans un fichier !" - }, - "certificates.dns.propagation-seconds": { - "defaultMessage": "Propagation Seconds" - }, - "certificates.dns.propagation-seconds-note": { - "defaultMessage": "Laisser vide pour utiliser la valeur par défaut du plugin. Nombre de secondes à attendre pour la propagation DNS." - }, - "certificates.dns.provider": { - "defaultMessage": "Fournisseur DNS" - }, - "certificates.dns.warning": { - "defaultMessage": "Cette section requiert une certaine connaissance de Certbot et de ses plugins DNS. Veuillez consulter la documentation des plugins correspondants." - }, - "certificates.http.reachability-404": { - "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il ne semble pas s'agir de Nginx Proxy Manager. Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." - }, - "certificates.http.reachability-failed-to-check": { - "defaultMessage": "Impossible de vérifier l'accessibilité en raison d'une erreur de communication avec site24x7.com." - }, - "certificates.http.reachability-not-resolved": { - "defaultMessage": "Aucun serveur n'est disponible pour ce domaine. Veuillez vérifier que votre domaine existe et pointe vers l'adresse IP où votre instance NPM est exécutée. Si nécessaire, le port 80 est ouvert dans votre routeur." - }, - "certificates.http.reachability-ok": { - "defaultMessage": "Votre serveur est accessible et la création de certificats devrait être possible." - }, - "certificates.http.reachability-other": { - "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé un code d'état inattendu {code}. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." - }, - "certificates.http.reachability-wrong-data": { - "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé des données inattendues. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." - }, - "certificates.http.test-results": { - "defaultMessage": "Résultats du test" - }, - "certificates.http.warning": { - "defaultMessage": "Ces domaines doivent déjà être configurés pour pointer vers cette installation." - }, - "certificates.request.subtitle": { - "defaultMessage": "avec Let's Encrypt" - }, - "certificates.request.title": { - "defaultMessage": "Demander un nouveau certificat" - }, - "column.access": { - "defaultMessage": "Accès" - }, - "column.authorization": { - "defaultMessage": "Autorisation" - }, - "column.authorizations": { - "defaultMessage": "Autorisations" - }, - "column.custom-locations": { - "defaultMessage": "Emplacement personnalisé" - }, - "column.destination": { - "defaultMessage": "Destination" - }, - "column.details": { - "defaultMessage": "Détails" - }, - "column.email": { - "defaultMessage": "eMail" - }, - "column.event": { - "defaultMessage": "Évènement" - }, - "column.expires": { - "defaultMessage": "Expire" - }, - "column.http-code": { - "defaultMessage": "Code HTTP" - }, - "column.incoming-port": { - "defaultMessage": "Port entrant" - }, - "column.name": { - "defaultMessage": "Nom" - }, - "column.protocol": { - "defaultMessage": "Protocole" - }, - "column.provider": { - "defaultMessage": "Fournisseur" - }, - "column.roles": { - "defaultMessage": "Rôles" - }, - "column.rules": { - "defaultMessage": "Règles" - }, - "column.satisfy": { - "defaultMessage": "Valide" - }, - "column.satisfy-all": { - "defaultMessage": "All" - }, - "column.satisfy-any": { - "defaultMessage": "Any" - }, - "column.scheme": { - "defaultMessage": "Schéma" - }, - "column.source": { - "defaultMessage": "Source" - }, - "column.ssl": { - "defaultMessage": "SSL" - }, - "column.status": { - "defaultMessage": "Statut" - }, - "created-on": { - "defaultMessage": "Créé : {date}" - }, - "dashboard": { - "defaultMessage": "Tableau de bord" - }, - "dead-host": { - "defaultMessage": "Hôte 404" - }, - "dead-hosts": { - "defaultMessage": "Hôtes 404" - }, - "dead-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Hôte 404} other {Hôtes 404}}" - }, - "disabled": { - "defaultMessage": "Désactivé" - }, - "domain-names": { - "defaultMessage": "Noms de domaine" - }, - "domain-names.max": { - "defaultMessage": "{count} noms de domaine au maximum" - }, - "domain-names.placeholder": { - "defaultMessage": "Commencez à écrire pour ajouter un domaine…" - }, - "domain-names.wildcards-not-permitted": { - "defaultMessage": "Les Wildcards ne sont pas permises dans ce cas" - }, - "domain-names.wildcards-not-supported": { - "defaultMessage": "Les Wildcards ne sont pas prises en charge par cette autorité de certification." - }, - "domains.force-ssl": { - "defaultMessage": "Forcer SSL" - }, - "domains.hsts-enabled": { - "defaultMessage": "HSTS activé" - }, - "domains.hsts-subdomains": { - "defaultMessage": "Sous-domaines HSTS" - }, - "domains.http2-support": { - "defaultMessage": "Prise en charge de HTTP/2" - }, - "domains.use-dns": { - "defaultMessage": "Utiliser le challenge DNS" - }, - "email-address": { - "defaultMessage": "Adresse eMail" - }, - "empty-search": { - "defaultMessage": "Aucun résultat trouvé" - }, - "empty-subtitle": { - "defaultMessage": "Pourquoi n'en créez-vous pas un ?" - }, - "enabled": { - "defaultMessage": "Activé" - }, - "error.access.at-least-one": { - "defaultMessage": "Une autorisation ou une règle d'accès est requise." - }, - "error.access.duplicate-usernames": { - "defaultMessage": "Les noms d'utilisateurs autorisés doivent être uniques" - }, - "error.invalid-auth": { - "defaultMessage": "Adresse eMail ou mot de passe invalide" - }, - "error.invalid-domain": { - "defaultMessage": "Domaine invalide : {domain}" - }, - "error.invalid-email": { - "defaultMessage": "Adresse eMail invalide" - }, - "error.max-character-length": { - "defaultMessage": "La longueur maximale est {max} caractère{max, plural, one {} other {s}}" - }, - "error.max-domains": { - "defaultMessage": "Trop de domaines, le maximum est {max}" - }, - "error.maximum": { - "defaultMessage": "Le maximum est {max}" - }, - "error.min-character-length": { - "defaultMessage": "La longueur minimale est {min} caractère{min, plural, one {} other {s}}" - }, - "error.minimum": { - "defaultMessage": "Le minimum est {min}" - }, - "error.passwords-must-match": { - "defaultMessage": "Les mots de passe doivent correspondre" - }, - "error.required": { - "defaultMessage": "Ceci est obligatoire" - }, - "expires.on": { - "defaultMessage": "Expire : {date}" - }, - "footer.github-fork": { - "defaultMessage": "Forkez-moi sur Github" - }, - "host.flags.block-exploits": { - "defaultMessage": "Bloquer les exploits courants" - }, - "host.flags.cache-assets": { - "defaultMessage": "Ressources du cache" - }, - "host.flags.preserve-path": { - "defaultMessage": "Préserver le chemin" - }, - "host.flags.protocols": { - "defaultMessage": "Protocoles" - }, - "host.flags.websockets-upgrade": { - "defaultMessage": "Prise en charge de Websockets" - }, - "host.forward-port": { - "defaultMessage": "Port de redirection" - }, - "host.forward-scheme": { - "defaultMessage": "Schéma" - }, - "hosts": { - "defaultMessage": "Hôtes" - }, - "http-only": { - "defaultMessage": "HTTP uniquement" - }, - "lets-encrypt": { - "defaultMessage": "Let's Encrypt" - }, - "lets-encrypt-via-dns": { - "defaultMessage": "Let's Encrypt via DNS" - }, - "lets-encrypt-via-http": { - "defaultMessage": "Let's Encrypt via HTTP" - }, - "loading": { - "defaultMessage": "Chargement…" - }, - "login.title": { - "defaultMessage": "Connectez-vous à votre compte" - }, - "nginx-config.label": { - "defaultMessage": "Configuration Nginx personnalisée" - }, - "nginx-config.placeholder": { - "defaultMessage": "# Mettez ici votre configuration Nginx personnalisé à vos risques et périls !" - }, - "no-permission-error": { - "defaultMessage": "Vous n'avez pas la permission de voir ce contenu." - }, - "notfound.action": { - "defaultMessage": "Ramenez-moi à l'accueil" - }, - "notfound.content": { - "defaultMessage": "Nous sommes désolés, mais la page que vous cherchez est introuvable" - }, - "notfound.title": { - "defaultMessage": "Oops… Vous avez découvert une page d'erreur" - }, - "notification.error": { - "defaultMessage": "Erreur" - }, - "notification.object-deleted": { - "defaultMessage": "{object} a été supprimé" - }, - "notification.object-disabled": { - "defaultMessage": "{object} a été désactivé" - }, - "notification.object-enabled": { - "defaultMessage": "{object} a été activé" - }, - "notification.object-renewed": { - "defaultMessage": "{object} a été renouvelé" - }, - "notification.object-saved": { - "defaultMessage": "{object} a été enregistré" - }, - "notification.success": { - "defaultMessage": "Réussi" - }, - "object.actions-title": { - "defaultMessage": "{object} #{id}" - }, - "object.add": { - "defaultMessage": "Ajouter {object}" - }, - "object.delete": { - "defaultMessage": "Supprimer {object}" - }, - "object.delete.content": { - "defaultMessage": "Êtes-vous sûr de vouloir supprimer {object} ?" - }, - "object.edit": { - "defaultMessage": "Modifier {object}" - }, - "object.empty": { - "defaultMessage": "Il n'y a aucun {objects}" - }, - "object.event.created": { - "defaultMessage": "{object} créé" - }, - "object.event.deleted": { - "defaultMessage": "{object} supprimé" - }, - "object.event.disabled": { - "defaultMessage": "{object} désactivé" - }, - "object.event.enabled": { - "defaultMessage": "{object} activé" - }, - "object.event.renewed": { - "defaultMessage": "{object} renouvelé" - }, - "object.event.updated": { - "defaultMessage": "{object} mis à jour" - }, - "offline": { - "defaultMessage": "Hors ligne" - }, - "online": { - "defaultMessage": "En ligne" - }, - "options": { - "defaultMessage": "Options" - }, - "password": { - "defaultMessage": "Mot de passe" - }, - "password.generate": { - "defaultMessage": "Générer un mot de passe aléatoire" - }, - "password.hide": { - "defaultMessage": "Masquer le mot de passe" - }, - "password.show": { - "defaultMessage": "Afficher le mot de passe" - }, - "permissions.hidden": { - "defaultMessage": "Masquer" - }, - "permissions.manage": { - "defaultMessage": "Gérer" - }, - "permissions.view": { - "defaultMessage": "Voir uniquement" - }, - "permissions.visibility.all": { - "defaultMessage": "Tous les éléments" - }, - "permissions.visibility.title": { - "defaultMessage": "Éléments visibles" - }, - "permissions.visibility.user": { - "defaultMessage": "Éléments créés uniquement" - }, - "proxy-host": { - "defaultMessage": "Hôte proxy" - }, - "proxy-host.forward-host": { - "defaultMessage": "Nom d'hôte de redirection / IP" - }, - "proxy-hosts": { - "defaultMessage": "Hôtes proxy" - }, - "proxy-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Hôte proxy} other {Hôtes proxy}}" - }, - "public": { - "defaultMessage": "Publique" - }, - "redirection-host": { - "defaultMessage": "Hôte de redirection" - }, - "redirection-host.forward-domain": { - "defaultMessage": "Domaine de redirection" - }, - "redirection-host.forward-http-code": { - "defaultMessage": "Code HTTP" - }, - "redirection-hosts": { - "defaultMessage": "Hôtes de redirection" - }, - "redirection-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Hôte de redirection} other {Hôtes de redirection}}" - }, - "role.admin": { - "defaultMessage": "Administrateur" - }, - "role.standard-user": { - "defaultMessage": "Utilisateur standard" - }, - "save": { - "defaultMessage": "Enregistrer" - }, - "setting": { - "defaultMessage": "Paramètre" - }, - "settings": { - "defaultMessage": "Paramètres" - }, - "settings.default-site": { - "defaultMessage": "Site par défaut" - }, - "settings.default-site.404": { - "defaultMessage": "Page 404" - }, - "settings.default-site.444": { - "defaultMessage": "Aucune réponse (444)" - }, - "settings.default-site.congratulations": { - "defaultMessage": "Page de félicitations" - }, - "settings.default-site.description": { - "defaultMessage": "ce qu'il faut afficher lorsqu'un hôte inconnu est détecté par Nginx" - }, - "settings.default-site.html": { - "defaultMessage": "HTML personnalisé" - }, - "settings.default-site.html.placeholder": { - "defaultMessage": "" - }, - "settings.default-site.redirect": { - "defaultMessage": "Redirection" - }, - "setup.preamble": { - "defaultMessage": "Commencez par créer votre compte administrateur." - }, - "setup.title": { - "defaultMessage": "Bienvenue !" - }, - "sign-in": { - "defaultMessage": "Se connecter" - }, - "ssl-certificate": { - "defaultMessage": "Certificat SSL" - }, - "stream": { - "defaultMessage": "Stream" - }, - "stream.forward-host": { - "defaultMessage": "Hôte destinataire" - }, - "stream.incoming-port": { - "defaultMessage": "Port d'entrée" - }, - "streams": { - "defaultMessage": "Streams" - }, - "streams.count": { - "defaultMessage": "{count} {count, plural, one {Stream} other {Streams}}" - }, - "streams.tcp": { - "defaultMessage": "TCP" - }, - "streams.udp": { - "defaultMessage": "UDP" - }, - "test": { - "defaultMessage": "Test" - }, - "update-available": { - "defaultMessage": "Mise à jour disponible : {latestVersion}" - }, - "user": { - "defaultMessage": "Utilisateur" - }, - "user.change-password": { - "defaultMessage": "Modifier le mot de passe" - }, - "user.confirm-password": { - "defaultMessage": "Confirmer le mot de passe" - }, - "user.current-password": { - "defaultMessage": "Mot de passe actuel" - }, - "user.edit-profile": { - "defaultMessage": "Modifier le profil" - }, - "user.full-name": { - "defaultMessage": "Nom complet" - }, - "user.login-as": { - "defaultMessage": "Se connecter en tant que {name}" - }, - "user.logout": { - "defaultMessage": "Déconnexion" - }, - "user.new-password": { - "defaultMessage": "Nouveau mot de passe" - }, - "user.nickname": { - "defaultMessage": "Pseudonyme" - }, - "user.set-password": { - "defaultMessage": "Définir le mot de passe" - }, - "user.set-permissions": { - "defaultMessage": "Définir les autorisations pour {name}" - }, - "user.switch-dark": { - "defaultMessage": "Passer au mode Sombre" - }, - "user.switch-light": { - "defaultMessage": "Passer au mode Lumineux" - }, - "username": { - "defaultMessage": "Nom d'utilisateur" - }, - "users": { - "defaultMessage": "Utilisateurs" - } + "access-list": { + "defaultMessage": "Liste d'accès" + }, + "access-list.access-count": { + "defaultMessage": "{count} {count, plural, one {Règle} other {Règles}}" + }, + "access-list.auth-count": { + "defaultMessage": "{count} {count, plural, one {Utilisateur} other {Utilisateurs}}" + }, + "access-list.help-rules-last": { + "defaultMessage": "S'il existe au moins une règle, cette règle de refuser tout sera ajoutée en dernier." + }, + "access-list.help.rules-order": { + "defaultMessage": "Notez que les directives autoriser et refuser seront appliquées dans l'ordre où elles sont définies." + }, + "access-list.pass-auth": { + "defaultMessage": "Transmettre l'authentification au serveur en amont" + }, + "access-list.public": { + "defaultMessage": "Accessible au public" + }, + "access-list.public.subtitle": { + "defaultMessage": "Aucune authentification de base requise" + }, + "access-list.satisfy-any": { + "defaultMessage": "Valide n'importe quelle règle" + }, + "access-list.subtitle": { + "defaultMessage": "{utilisateurs} {utilisateurs, plural, one {Utilisateur} other {Utilisateurs}}, {règles} {règles, plural, one {Règle} other {Règles}} - Crée : {date}" + }, + "access-lists": { + "defaultMessage": "Listes d'accès" + }, + "action.add": { + "defaultMessage": "Ajouter" + }, + "action.add-location": { + "defaultMessage": "Ajouter localisation" + }, + "action.close": { + "defaultMessage": "Fermer" + }, + "action.delete": { + "defaultMessage": "Supprimer" + }, + "action.disable": { + "defaultMessage": "Désactiver" + }, + "action.download": { + "defaultMessage": "Télécharger" + }, + "action.edit": { + "defaultMessage": "Modifier" + }, + "action.enable": { + "defaultMessage": "Activer" + }, + "action.permissions": { + "defaultMessage": "Permissions" + }, + "action.renew": { + "defaultMessage": "Renouveler" + }, + "action.view-details": { + "defaultMessage": "Voir les Détails" + }, + "auditlogs": { + "defaultMessage": "Journaux d'audit" + }, + "cancel": { + "defaultMessage": "Annuler" + }, + "certificate": { + "defaultMessage": "Certificat" + }, + "certificate.custom-certificate": { + "defaultMessage": "Certificat" + }, + "certificate.custom-certificate-key": { + "defaultMessage": "Clé du Certificat" + }, + "certificate.custom-intermediate": { + "defaultMessage": "Certificat intermédiaire" + }, + "certificate.in-use": { + "defaultMessage": "Utilisé" + }, + "certificate.none.subtitle": { + "defaultMessage": "Aucun certificat assigné" + }, + "certificate.none.subtitle.for-http": { + "defaultMessage": "Cet hôte n'utilisera pas le HTTPS" + }, + "certificate.none.title": { + "defaultMessage": "Aucun" + }, + "certificate.not-in-use": { + "defaultMessage": "Non utilisé" + }, + "certificate.renew": { + "defaultMessage": "Renouveler Certificat" + }, + "certificates": { + "defaultMessage": "Certificats" + }, + "certificates.custom": { + "defaultMessage": "Certificat personnalisé" + }, + "certificates.custom.warning": { + "defaultMessage": "Les fichiers de clé protégés par une passphrase ne sont pas acceptés." + }, + "certificates.dns.credentials": { + "defaultMessage": "Contenu du fichier d'identifiants" + }, + "certificates.dns.credentials-note": { + "defaultMessage": "Ce plugin nécessite un fichier de configuration contenant un jeton d'API ou d'autres informations d'identification pour votre fournisseur." + }, + "certificates.dns.credentials-warning": { + "defaultMessage": "Ces données seront stockées en clair dans la base de données et dans un fichier !" + }, + "certificates.dns.propagation-seconds": { + "defaultMessage": "Propagation Seconds" + }, + "certificates.dns.propagation-seconds-note": { + "defaultMessage": "Laisser vide pour utiliser la valeur par défaut du plugin. Nombre de secondes à attendre pour la propagation DNS." + }, + "certificates.dns.provider": { + "defaultMessage": "Fournisseur DNS" + }, + "certificates.dns.warning": { + "defaultMessage": "Cette section requiert une certaine connaissance de Certbot et de ses plugins DNS. Veuillez consulter la documentation des plugins correspondants." + }, + "certificates.http.reachability-404": { + "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il ne semble pas s'agir de Nginx Proxy Manager. Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." + }, + "certificates.http.reachability-failed-to-check": { + "defaultMessage": "Impossible de vérifier l'accessibilité en raison d'une erreur de communication avec site24x7.com." + }, + "certificates.http.reachability-not-resolved": { + "defaultMessage": "Aucun serveur n'est disponible pour ce domaine. Veuillez vérifier que votre domaine existe et pointe vers l'adresse IP où votre instance NPM est exécutée. Si nécessaire, le port 80 est ouvert dans votre routeur." + }, + "certificates.http.reachability-ok": { + "defaultMessage": "Votre serveur est accessible et la création de certificats devrait être possible." + }, + "certificates.http.reachability-other": { + "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé un code d'état inattendu {code}. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." + }, + "certificates.http.reachability-wrong-data": { + "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé des données inattendues. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." + }, + "certificates.http.test-results": { + "defaultMessage": "Résultats du test" + }, + "certificates.http.warning": { + "defaultMessage": "Ces domaines doivent déjà être configurés pour pointer vers cette installation." + }, + "certificates.key-type": { + "defaultMessage": "Type de clé" + }, + "certificates.key-type-description": { + "defaultMessage": "RSA est largement répandu, ECDSA est plus rapide et plus sécurisé, mais peut ne pas être supporté par les systèmes plus anciens" + }, + "certificates.key-type-ecdsa": { + "defaultMessage": "ECDSA 256" + }, + "certificates.key-type-rsa": { + "defaultMessage": "RSA 2048" + }, + "certificates.request.subtitle": { + "defaultMessage": "avec Let's Encrypt" + }, + "certificates.request.title": { + "defaultMessage": "Demander un nouveau certificat" + }, + "column.access": { + "defaultMessage": "Accès" + }, + "column.authorization": { + "defaultMessage": "Autorisation" + }, + "column.authorizations": { + "defaultMessage": "Autorisations" + }, + "column.custom-locations": { + "defaultMessage": "Emplacement personnalisé" + }, + "column.destination": { + "defaultMessage": "Destination" + }, + "column.details": { + "defaultMessage": "Détails" + }, + "column.email": { + "defaultMessage": "eMail" + }, + "column.event": { + "defaultMessage": "Évènement" + }, + "column.expires": { + "defaultMessage": "Expire" + }, + "column.http-code": { + "defaultMessage": "Code HTTP" + }, + "column.incoming-port": { + "defaultMessage": "Port entrant" + }, + "column.name": { + "defaultMessage": "Nom" + }, + "column.protocol": { + "defaultMessage": "Protocole" + }, + "column.provider": { + "defaultMessage": "Fournisseur" + }, + "column.roles": { + "defaultMessage": "Rôles" + }, + "column.rules": { + "defaultMessage": "Règles" + }, + "column.satisfy": { + "defaultMessage": "Valide" + }, + "column.satisfy-all": { + "defaultMessage": "All" + }, + "column.satisfy-any": { + "defaultMessage": "Any" + }, + "column.scheme": { + "defaultMessage": "Schéma" + }, + "column.source": { + "defaultMessage": "Source" + }, + "column.ssl": { + "defaultMessage": "SSL" + }, + "column.status": { + "defaultMessage": "Statut" + }, + "created-on": { + "defaultMessage": "Créé : {date}" + }, + "dashboard": { + "defaultMessage": "Tableau de bord" + }, + "dead-host": { + "defaultMessage": "Hôte 404" + }, + "dead-hosts": { + "defaultMessage": "Hôtes 404" + }, + "dead-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Hôte 404} other {Hôtes 404}}" + }, + "disabled": { + "defaultMessage": "Désactivé" + }, + "domain-names": { + "defaultMessage": "Noms de domaine" + }, + "domain-names.max": { + "defaultMessage": "{count} noms de domaine au maximum" + }, + "domain-names.placeholder": { + "defaultMessage": "Commencez à écrire pour ajouter un domaine…" + }, + "domain-names.wildcards-not-permitted": { + "defaultMessage": "Les Wildcards ne sont pas permises dans ce cas" + }, + "domain-names.wildcards-not-supported": { + "defaultMessage": "Les Wildcards ne sont pas prises en charge par cette autorité de certification." + }, + "domains.force-ssl": { + "defaultMessage": "Forcer SSL" + }, + "domains.hsts-enabled": { + "defaultMessage": "HSTS activé" + }, + "domains.hsts-subdomains": { + "defaultMessage": "Sous-domaines HSTS" + }, + "domains.http2-support": { + "defaultMessage": "Prise en charge de HTTP/2" + }, + "domains.use-dns": { + "defaultMessage": "Utiliser le challenge DNS" + }, + "email-address": { + "defaultMessage": "Adresse eMail" + }, + "empty-search": { + "defaultMessage": "Aucun résultat trouvé" + }, + "empty-subtitle": { + "defaultMessage": "Pourquoi n'en créez-vous pas un ?" + }, + "enabled": { + "defaultMessage": "Activé" + }, + "error.access.at-least-one": { + "defaultMessage": "Une autorisation ou une règle d'accès est requise." + }, + "error.access.duplicate-usernames": { + "defaultMessage": "Les noms d'utilisateurs autorisés doivent être uniques" + }, + "error.invalid-auth": { + "defaultMessage": "Adresse eMail ou mot de passe invalide" + }, + "error.invalid-domain": { + "defaultMessage": "Domaine invalide : {domain}" + }, + "error.invalid-email": { + "defaultMessage": "Adresse eMail invalide" + }, + "error.max-character-length": { + "defaultMessage": "La longueur maximale est {max} caractère{max, plural, one {} other {s}}" + }, + "error.max-domains": { + "defaultMessage": "Trop de domaines, le maximum est {max}" + }, + "error.maximum": { + "defaultMessage": "Le maximum est {max}" + }, + "error.min-character-length": { + "defaultMessage": "La longueur minimale est {min} caractère{min, plural, one {} other {s}}" + }, + "error.minimum": { + "defaultMessage": "Le minimum est {min}" + }, + "error.passwords-must-match": { + "defaultMessage": "Les mots de passe doivent correspondre" + }, + "error.required": { + "defaultMessage": "Ceci est obligatoire" + }, + "expires.on": { + "defaultMessage": "Expire : {date}" + }, + "footer.github-fork": { + "defaultMessage": "Forkez-moi sur Github" + }, + "host.flags.block-exploits": { + "defaultMessage": "Bloquer les exploits courants" + }, + "host.flags.cache-assets": { + "defaultMessage": "Ressources du cache" + }, + "host.flags.preserve-path": { + "defaultMessage": "Préserver le chemin" + }, + "host.flags.protocols": { + "defaultMessage": "Protocoles" + }, + "host.flags.websockets-upgrade": { + "defaultMessage": "Prise en charge de Websockets" + }, + "host.forward-port": { + "defaultMessage": "Port de redirection" + }, + "host.forward-scheme": { + "defaultMessage": "Schéma" + }, + "hosts": { + "defaultMessage": "Hôtes" + }, + "http-only": { + "defaultMessage": "HTTP uniquement" + }, + "lets-encrypt": { + "defaultMessage": "Let's Encrypt" + }, + "lets-encrypt-via-dns": { + "defaultMessage": "Let's Encrypt via DNS" + }, + "lets-encrypt-via-http": { + "defaultMessage": "Let's Encrypt via HTTP" + }, + "loading": { + "defaultMessage": "Chargement…" + }, + "login.title": { + "defaultMessage": "Connectez-vous à votre compte" + }, + "nginx-config.label": { + "defaultMessage": "Configuration Nginx personnalisée" + }, + "nginx-config.placeholder": { + "defaultMessage": "# Mettez ici votre configuration Nginx personnalisé à vos risques et périls !" + }, + "no-permission-error": { + "defaultMessage": "Vous n'avez pas la permission de voir ce contenu." + }, + "notfound.action": { + "defaultMessage": "Ramenez-moi à l'accueil" + }, + "notfound.content": { + "defaultMessage": "Nous sommes désolés, mais la page que vous cherchez est introuvable" + }, + "notfound.title": { + "defaultMessage": "Oops… Vous avez découvert une page d'erreur" + }, + "notification.error": { + "defaultMessage": "Erreur" + }, + "notification.object-deleted": { + "defaultMessage": "{object} a été supprimé" + }, + "notification.object-disabled": { + "defaultMessage": "{object} a été désactivé" + }, + "notification.object-enabled": { + "defaultMessage": "{object} a été activé" + }, + "notification.object-renewed": { + "defaultMessage": "{object} a été renouvelé" + }, + "notification.object-saved": { + "defaultMessage": "{object} a été enregistré" + }, + "notification.success": { + "defaultMessage": "Réussi" + }, + "object.actions-title": { + "defaultMessage": "{object} #{id}" + }, + "object.add": { + "defaultMessage": "Ajouter {object}" + }, + "object.delete": { + "defaultMessage": "Supprimer {object}" + }, + "object.delete.content": { + "defaultMessage": "Êtes-vous sûr de vouloir supprimer {object} ?" + }, + "object.edit": { + "defaultMessage": "Modifier {object}" + }, + "object.empty": { + "defaultMessage": "Il n'y a aucun {objects}" + }, + "object.event.created": { + "defaultMessage": "{object} créé" + }, + "object.event.deleted": { + "defaultMessage": "{object} supprimé" + }, + "object.event.disabled": { + "defaultMessage": "{object} désactivé" + }, + "object.event.enabled": { + "defaultMessage": "{object} activé" + }, + "object.event.renewed": { + "defaultMessage": "{object} renouvelé" + }, + "object.event.updated": { + "defaultMessage": "{object} mis à jour" + }, + "offline": { + "defaultMessage": "Hors ligne" + }, + "online": { + "defaultMessage": "En ligne" + }, + "options": { + "defaultMessage": "Options" + }, + "password": { + "defaultMessage": "Mot de passe" + }, + "password.generate": { + "defaultMessage": "Générer un mot de passe aléatoire" + }, + "password.hide": { + "defaultMessage": "Masquer le mot de passe" + }, + "password.show": { + "defaultMessage": "Afficher le mot de passe" + }, + "permissions.hidden": { + "defaultMessage": "Masquer" + }, + "permissions.manage": { + "defaultMessage": "Gérer" + }, + "permissions.view": { + "defaultMessage": "Voir uniquement" + }, + "permissions.visibility.all": { + "defaultMessage": "Tous les éléments" + }, + "permissions.visibility.title": { + "defaultMessage": "Éléments visibles" + }, + "permissions.visibility.user": { + "defaultMessage": "Éléments créés uniquement" + }, + "proxy-host": { + "defaultMessage": "Hôte proxy" + }, + "proxy-host.forward-host": { + "defaultMessage": "Nom d'hôte de redirection / IP" + }, + "proxy-hosts": { + "defaultMessage": "Hôtes proxy" + }, + "proxy-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Hôte proxy} other {Hôtes proxy}}" + }, + "public": { + "defaultMessage": "Publique" + }, + "redirection-host": { + "defaultMessage": "Hôte de redirection" + }, + "redirection-host.forward-domain": { + "defaultMessage": "Domaine de redirection" + }, + "redirection-host.forward-http-code": { + "defaultMessage": "Code HTTP" + }, + "redirection-hosts": { + "defaultMessage": "Hôtes de redirection" + }, + "redirection-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Hôte de redirection} other {Hôtes de redirection}}" + }, + "role.admin": { + "defaultMessage": "Administrateur" + }, + "role.standard-user": { + "defaultMessage": "Utilisateur standard" + }, + "save": { + "defaultMessage": "Enregistrer" + }, + "setting": { + "defaultMessage": "Paramètre" + }, + "settings": { + "defaultMessage": "Paramètres" + }, + "settings.default-site": { + "defaultMessage": "Site par défaut" + }, + "settings.default-site.404": { + "defaultMessage": "Page 404" + }, + "settings.default-site.444": { + "defaultMessage": "Aucune réponse (444)" + }, + "settings.default-site.congratulations": { + "defaultMessage": "Page de félicitations" + }, + "settings.default-site.description": { + "defaultMessage": "ce qu'il faut afficher lorsqu'un hôte inconnu est détecté par Nginx" + }, + "settings.default-site.html": { + "defaultMessage": "HTML personnalisé" + }, + "settings.default-site.html.placeholder": { + "defaultMessage": "" + }, + "settings.default-site.redirect": { + "defaultMessage": "Redirection" + }, + "setup.preamble": { + "defaultMessage": "Commencez par créer votre compte administrateur." + }, + "setup.title": { + "defaultMessage": "Bienvenue !" + }, + "sign-in": { + "defaultMessage": "Se connecter" + }, + "ssl-certificate": { + "defaultMessage": "Certificat SSL" + }, + "stream": { + "defaultMessage": "Stream" + }, + "stream.forward-host": { + "defaultMessage": "Hôte destinataire" + }, + "stream.incoming-port": { + "defaultMessage": "Port d'entrée" + }, + "streams": { + "defaultMessage": "Streams" + }, + "streams.count": { + "defaultMessage": "{count} {count, plural, one {Stream} other {Streams}}" + }, + "streams.tcp": { + "defaultMessage": "TCP" + }, + "streams.udp": { + "defaultMessage": "UDP" + }, + "test": { + "defaultMessage": "Test" + }, + "user": { + "defaultMessage": "Utilisateur" + }, + "user.change-password": { + "defaultMessage": "Modifier le mot de passe" + }, + "user.confirm-password": { + "defaultMessage": "Confirmer le mot de passe" + }, + "user.current-password": { + "defaultMessage": "Mot de passe actuel" + }, + "user.edit-profile": { + "defaultMessage": "Modifier le profil" + }, + "user.full-name": { + "defaultMessage": "Nom complet" + }, + "user.login-as": { + "defaultMessage": "Se connecter en tant que {name}" + }, + "user.logout": { + "defaultMessage": "Déconnexion" + }, + "user.new-password": { + "defaultMessage": "Nouveau mot de passe" + }, + "user.nickname": { + "defaultMessage": "Pseudonyme" + }, + "user.set-password": { + "defaultMessage": "Définir le mot de passe" + }, + "user.set-permissions": { + "defaultMessage": "Définir les autorisations pour {name}" + }, + "user.switch-dark": { + "defaultMessage": "Passer au mode Sombre" + }, + "user.switch-light": { + "defaultMessage": "Passer au mode Lumineux" + }, + "username": { + "defaultMessage": "Nom d'utilisateur" + }, + "users": { + "defaultMessage": "Utilisateurs" + } } From dea7007802aef7a0f0005e243352190c2566f919 Mon Sep 17 00:00:00 2001 From: MarioGervais <17948611+MarioGervais@users.noreply.github.com> Date: Wed, 25 Feb 2026 21:08:53 -0500 Subject: [PATCH 024/113] feat(i18n): complete French (fr) translation Add 4 missing certificate key-type strings, remove obsolete update-available key --- frontend/src/locale/src/fr.json | 1308 +++++++++++++++---------------- 1 file changed, 654 insertions(+), 654 deletions(-) diff --git a/frontend/src/locale/src/fr.json b/frontend/src/locale/src/fr.json index d8a6de69e0..f37561276c 100644 --- a/frontend/src/locale/src/fr.json +++ b/frontend/src/locale/src/fr.json @@ -1,656 +1,656 @@ { - "access-list": { - "defaultMessage": "Liste d'accès" - }, - "access-list.access-count": { - "defaultMessage": "{count} {count, plural, one {Règle} other {Règles}}" - }, - "access-list.auth-count": { - "defaultMessage": "{count} {count, plural, one {Utilisateur} other {Utilisateurs}}" - }, - "access-list.help-rules-last": { - "defaultMessage": "S'il existe au moins une règle, cette règle de refuser tout sera ajoutée en dernier." - }, - "access-list.help.rules-order": { - "defaultMessage": "Notez que les directives autoriser et refuser seront appliquées dans l'ordre où elles sont définies." - }, - "access-list.pass-auth": { - "defaultMessage": "Transmettre l'authentification au serveur en amont" - }, - "access-list.public": { - "defaultMessage": "Accessible au public" - }, - "access-list.public.subtitle": { - "defaultMessage": "Aucune authentification de base requise" - }, - "access-list.satisfy-any": { - "defaultMessage": "Valide n'importe quelle règle" - }, - "access-list.subtitle": { - "defaultMessage": "{utilisateurs} {utilisateurs, plural, one {Utilisateur} other {Utilisateurs}}, {règles} {règles, plural, one {Règle} other {Règles}} - Crée : {date}" - }, - "access-lists": { - "defaultMessage": "Listes d'accès" - }, - "action.add": { - "defaultMessage": "Ajouter" - }, - "action.add-location": { - "defaultMessage": "Ajouter localisation" - }, - "action.close": { - "defaultMessage": "Fermer" - }, - "action.delete": { - "defaultMessage": "Supprimer" - }, - "action.disable": { - "defaultMessage": "Désactiver" - }, - "action.download": { - "defaultMessage": "Télécharger" - }, - "action.edit": { - "defaultMessage": "Modifier" - }, - "action.enable": { - "defaultMessage": "Activer" - }, - "action.permissions": { - "defaultMessage": "Permissions" - }, - "action.renew": { - "defaultMessage": "Renouveler" - }, - "action.view-details": { - "defaultMessage": "Voir les Détails" - }, - "auditlogs": { - "defaultMessage": "Journaux d'audit" - }, - "cancel": { - "defaultMessage": "Annuler" - }, - "certificate": { - "defaultMessage": "Certificat" - }, - "certificate.custom-certificate": { - "defaultMessage": "Certificat" - }, - "certificate.custom-certificate-key": { - "defaultMessage": "Clé du Certificat" - }, - "certificate.custom-intermediate": { - "defaultMessage": "Certificat intermédiaire" - }, - "certificate.in-use": { - "defaultMessage": "Utilisé" - }, - "certificate.none.subtitle": { - "defaultMessage": "Aucun certificat assigné" - }, - "certificate.none.subtitle.for-http": { - "defaultMessage": "Cet hôte n'utilisera pas le HTTPS" - }, - "certificate.none.title": { - "defaultMessage": "Aucun" - }, - "certificate.not-in-use": { - "defaultMessage": "Non utilisé" - }, - "certificate.renew": { - "defaultMessage": "Renouveler Certificat" - }, - "certificates": { - "defaultMessage": "Certificats" - }, - "certificates.custom": { - "defaultMessage": "Certificat personnalisé" - }, - "certificates.custom.warning": { - "defaultMessage": "Les fichiers de clé protégés par une passphrase ne sont pas acceptés." - }, - "certificates.dns.credentials": { - "defaultMessage": "Contenu du fichier d'identifiants" - }, - "certificates.dns.credentials-note": { - "defaultMessage": "Ce plugin nécessite un fichier de configuration contenant un jeton d'API ou d'autres informations d'identification pour votre fournisseur." - }, - "certificates.dns.credentials-warning": { - "defaultMessage": "Ces données seront stockées en clair dans la base de données et dans un fichier !" - }, - "certificates.dns.propagation-seconds": { - "defaultMessage": "Propagation Seconds" - }, - "certificates.dns.propagation-seconds-note": { - "defaultMessage": "Laisser vide pour utiliser la valeur par défaut du plugin. Nombre de secondes à attendre pour la propagation DNS." - }, - "certificates.dns.provider": { - "defaultMessage": "Fournisseur DNS" - }, - "certificates.dns.warning": { - "defaultMessage": "Cette section requiert une certaine connaissance de Certbot et de ses plugins DNS. Veuillez consulter la documentation des plugins correspondants." - }, - "certificates.http.reachability-404": { - "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il ne semble pas s'agir de Nginx Proxy Manager. Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." - }, - "certificates.http.reachability-failed-to-check": { - "defaultMessage": "Impossible de vérifier l'accessibilité en raison d'une erreur de communication avec site24x7.com." - }, - "certificates.http.reachability-not-resolved": { - "defaultMessage": "Aucun serveur n'est disponible pour ce domaine. Veuillez vérifier que votre domaine existe et pointe vers l'adresse IP où votre instance NPM est exécutée. Si nécessaire, le port 80 est ouvert dans votre routeur." - }, - "certificates.http.reachability-ok": { - "defaultMessage": "Votre serveur est accessible et la création de certificats devrait être possible." - }, - "certificates.http.reachability-other": { - "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé un code d'état inattendu {code}. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." - }, - "certificates.http.reachability-wrong-data": { - "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé des données inattendues. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." - }, - "certificates.http.test-results": { - "defaultMessage": "Résultats du test" - }, - "certificates.http.warning": { - "defaultMessage": "Ces domaines doivent déjà être configurés pour pointer vers cette installation." - }, - "certificates.key-type": { - "defaultMessage": "Type de clé" - }, - "certificates.key-type-description": { - "defaultMessage": "RSA est largement répandu, ECDSA est plus rapide et plus sécurisé, mais peut ne pas être supporté par les systèmes plus anciens" - }, - "certificates.key-type-ecdsa": { - "defaultMessage": "ECDSA 256" - }, - "certificates.key-type-rsa": { - "defaultMessage": "RSA 2048" - }, - "certificates.request.subtitle": { - "defaultMessage": "avec Let's Encrypt" - }, - "certificates.request.title": { - "defaultMessage": "Demander un nouveau certificat" - }, - "column.access": { - "defaultMessage": "Accès" - }, - "column.authorization": { - "defaultMessage": "Autorisation" - }, - "column.authorizations": { - "defaultMessage": "Autorisations" - }, - "column.custom-locations": { - "defaultMessage": "Emplacement personnalisé" - }, - "column.destination": { - "defaultMessage": "Destination" - }, - "column.details": { - "defaultMessage": "Détails" - }, - "column.email": { - "defaultMessage": "eMail" - }, - "column.event": { - "defaultMessage": "Évènement" - }, - "column.expires": { - "defaultMessage": "Expire" - }, - "column.http-code": { - "defaultMessage": "Code HTTP" - }, - "column.incoming-port": { - "defaultMessage": "Port entrant" - }, - "column.name": { - "defaultMessage": "Nom" - }, - "column.protocol": { - "defaultMessage": "Protocole" - }, - "column.provider": { - "defaultMessage": "Fournisseur" - }, - "column.roles": { - "defaultMessage": "Rôles" - }, - "column.rules": { - "defaultMessage": "Règles" - }, - "column.satisfy": { - "defaultMessage": "Valide" - }, - "column.satisfy-all": { - "defaultMessage": "All" - }, - "column.satisfy-any": { - "defaultMessage": "Any" - }, - "column.scheme": { - "defaultMessage": "Schéma" - }, - "column.source": { - "defaultMessage": "Source" - }, - "column.ssl": { - "defaultMessage": "SSL" - }, - "column.status": { - "defaultMessage": "Statut" - }, - "created-on": { - "defaultMessage": "Créé : {date}" - }, - "dashboard": { - "defaultMessage": "Tableau de bord" - }, - "dead-host": { - "defaultMessage": "Hôte 404" - }, - "dead-hosts": { - "defaultMessage": "Hôtes 404" - }, - "dead-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Hôte 404} other {Hôtes 404}}" - }, - "disabled": { - "defaultMessage": "Désactivé" - }, - "domain-names": { - "defaultMessage": "Noms de domaine" - }, - "domain-names.max": { - "defaultMessage": "{count} noms de domaine au maximum" - }, - "domain-names.placeholder": { - "defaultMessage": "Commencez à écrire pour ajouter un domaine…" - }, - "domain-names.wildcards-not-permitted": { - "defaultMessage": "Les Wildcards ne sont pas permises dans ce cas" - }, - "domain-names.wildcards-not-supported": { - "defaultMessage": "Les Wildcards ne sont pas prises en charge par cette autorité de certification." - }, - "domains.force-ssl": { - "defaultMessage": "Forcer SSL" - }, - "domains.hsts-enabled": { - "defaultMessage": "HSTS activé" - }, - "domains.hsts-subdomains": { - "defaultMessage": "Sous-domaines HSTS" - }, - "domains.http2-support": { - "defaultMessage": "Prise en charge de HTTP/2" - }, - "domains.use-dns": { - "defaultMessage": "Utiliser le challenge DNS" - }, - "email-address": { - "defaultMessage": "Adresse eMail" - }, - "empty-search": { - "defaultMessage": "Aucun résultat trouvé" - }, - "empty-subtitle": { - "defaultMessage": "Pourquoi n'en créez-vous pas un ?" - }, - "enabled": { - "defaultMessage": "Activé" - }, - "error.access.at-least-one": { - "defaultMessage": "Une autorisation ou une règle d'accès est requise." - }, - "error.access.duplicate-usernames": { - "defaultMessage": "Les noms d'utilisateurs autorisés doivent être uniques" - }, - "error.invalid-auth": { - "defaultMessage": "Adresse eMail ou mot de passe invalide" - }, - "error.invalid-domain": { - "defaultMessage": "Domaine invalide : {domain}" - }, - "error.invalid-email": { - "defaultMessage": "Adresse eMail invalide" - }, - "error.max-character-length": { - "defaultMessage": "La longueur maximale est {max} caractère{max, plural, one {} other {s}}" - }, - "error.max-domains": { - "defaultMessage": "Trop de domaines, le maximum est {max}" - }, - "error.maximum": { - "defaultMessage": "Le maximum est {max}" - }, - "error.min-character-length": { - "defaultMessage": "La longueur minimale est {min} caractère{min, plural, one {} other {s}}" - }, - "error.minimum": { - "defaultMessage": "Le minimum est {min}" - }, - "error.passwords-must-match": { - "defaultMessage": "Les mots de passe doivent correspondre" - }, - "error.required": { - "defaultMessage": "Ceci est obligatoire" - }, - "expires.on": { - "defaultMessage": "Expire : {date}" - }, - "footer.github-fork": { - "defaultMessage": "Forkez-moi sur Github" - }, - "host.flags.block-exploits": { - "defaultMessage": "Bloquer les exploits courants" - }, - "host.flags.cache-assets": { - "defaultMessage": "Ressources du cache" - }, - "host.flags.preserve-path": { - "defaultMessage": "Préserver le chemin" - }, - "host.flags.protocols": { - "defaultMessage": "Protocoles" - }, - "host.flags.websockets-upgrade": { - "defaultMessage": "Prise en charge de Websockets" - }, - "host.forward-port": { - "defaultMessage": "Port de redirection" - }, - "host.forward-scheme": { - "defaultMessage": "Schéma" - }, - "hosts": { - "defaultMessage": "Hôtes" - }, - "http-only": { - "defaultMessage": "HTTP uniquement" - }, - "lets-encrypt": { - "defaultMessage": "Let's Encrypt" - }, - "lets-encrypt-via-dns": { - "defaultMessage": "Let's Encrypt via DNS" - }, - "lets-encrypt-via-http": { - "defaultMessage": "Let's Encrypt via HTTP" - }, - "loading": { - "defaultMessage": "Chargement…" - }, - "login.title": { - "defaultMessage": "Connectez-vous à votre compte" - }, - "nginx-config.label": { - "defaultMessage": "Configuration Nginx personnalisée" - }, - "nginx-config.placeholder": { - "defaultMessage": "# Mettez ici votre configuration Nginx personnalisé à vos risques et périls !" - }, - "no-permission-error": { - "defaultMessage": "Vous n'avez pas la permission de voir ce contenu." - }, - "notfound.action": { - "defaultMessage": "Ramenez-moi à l'accueil" - }, - "notfound.content": { - "defaultMessage": "Nous sommes désolés, mais la page que vous cherchez est introuvable" - }, - "notfound.title": { - "defaultMessage": "Oops… Vous avez découvert une page d'erreur" - }, - "notification.error": { - "defaultMessage": "Erreur" - }, - "notification.object-deleted": { - "defaultMessage": "{object} a été supprimé" - }, - "notification.object-disabled": { - "defaultMessage": "{object} a été désactivé" - }, - "notification.object-enabled": { - "defaultMessage": "{object} a été activé" - }, - "notification.object-renewed": { - "defaultMessage": "{object} a été renouvelé" - }, - "notification.object-saved": { - "defaultMessage": "{object} a été enregistré" - }, - "notification.success": { - "defaultMessage": "Réussi" - }, - "object.actions-title": { - "defaultMessage": "{object} #{id}" - }, - "object.add": { - "defaultMessage": "Ajouter {object}" - }, - "object.delete": { - "defaultMessage": "Supprimer {object}" - }, - "object.delete.content": { - "defaultMessage": "Êtes-vous sûr de vouloir supprimer {object} ?" - }, - "object.edit": { - "defaultMessage": "Modifier {object}" - }, - "object.empty": { - "defaultMessage": "Il n'y a aucun {objects}" - }, - "object.event.created": { - "defaultMessage": "{object} créé" - }, - "object.event.deleted": { - "defaultMessage": "{object} supprimé" - }, - "object.event.disabled": { - "defaultMessage": "{object} désactivé" - }, - "object.event.enabled": { - "defaultMessage": "{object} activé" - }, - "object.event.renewed": { - "defaultMessage": "{object} renouvelé" - }, - "object.event.updated": { - "defaultMessage": "{object} mis à jour" - }, - "offline": { - "defaultMessage": "Hors ligne" - }, - "online": { - "defaultMessage": "En ligne" - }, - "options": { - "defaultMessage": "Options" - }, - "password": { - "defaultMessage": "Mot de passe" - }, - "password.generate": { - "defaultMessage": "Générer un mot de passe aléatoire" - }, - "password.hide": { - "defaultMessage": "Masquer le mot de passe" - }, - "password.show": { - "defaultMessage": "Afficher le mot de passe" - }, - "permissions.hidden": { - "defaultMessage": "Masquer" - }, - "permissions.manage": { - "defaultMessage": "Gérer" - }, - "permissions.view": { - "defaultMessage": "Voir uniquement" - }, - "permissions.visibility.all": { - "defaultMessage": "Tous les éléments" - }, - "permissions.visibility.title": { - "defaultMessage": "Éléments visibles" - }, - "permissions.visibility.user": { - "defaultMessage": "Éléments créés uniquement" - }, - "proxy-host": { - "defaultMessage": "Hôte proxy" - }, - "proxy-host.forward-host": { - "defaultMessage": "Nom d'hôte de redirection / IP" - }, - "proxy-hosts": { - "defaultMessage": "Hôtes proxy" - }, - "proxy-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Hôte proxy} other {Hôtes proxy}}" - }, - "public": { - "defaultMessage": "Publique" - }, - "redirection-host": { - "defaultMessage": "Hôte de redirection" - }, - "redirection-host.forward-domain": { - "defaultMessage": "Domaine de redirection" - }, - "redirection-host.forward-http-code": { - "defaultMessage": "Code HTTP" - }, - "redirection-hosts": { - "defaultMessage": "Hôtes de redirection" - }, - "redirection-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Hôte de redirection} other {Hôtes de redirection}}" - }, - "role.admin": { - "defaultMessage": "Administrateur" - }, - "role.standard-user": { - "defaultMessage": "Utilisateur standard" - }, - "save": { - "defaultMessage": "Enregistrer" - }, - "setting": { - "defaultMessage": "Paramètre" - }, - "settings": { - "defaultMessage": "Paramètres" - }, - "settings.default-site": { - "defaultMessage": "Site par défaut" - }, - "settings.default-site.404": { - "defaultMessage": "Page 404" - }, - "settings.default-site.444": { - "defaultMessage": "Aucune réponse (444)" - }, - "settings.default-site.congratulations": { - "defaultMessage": "Page de félicitations" - }, - "settings.default-site.description": { - "defaultMessage": "ce qu'il faut afficher lorsqu'un hôte inconnu est détecté par Nginx" - }, - "settings.default-site.html": { - "defaultMessage": "HTML personnalisé" - }, - "settings.default-site.html.placeholder": { - "defaultMessage": "" - }, - "settings.default-site.redirect": { - "defaultMessage": "Redirection" - }, - "setup.preamble": { - "defaultMessage": "Commencez par créer votre compte administrateur." - }, - "setup.title": { - "defaultMessage": "Bienvenue !" - }, - "sign-in": { - "defaultMessage": "Se connecter" - }, - "ssl-certificate": { - "defaultMessage": "Certificat SSL" - }, - "stream": { - "defaultMessage": "Stream" - }, - "stream.forward-host": { - "defaultMessage": "Hôte destinataire" - }, - "stream.incoming-port": { - "defaultMessage": "Port d'entrée" - }, - "streams": { - "defaultMessage": "Streams" - }, - "streams.count": { - "defaultMessage": "{count} {count, plural, one {Stream} other {Streams}}" - }, - "streams.tcp": { - "defaultMessage": "TCP" - }, - "streams.udp": { - "defaultMessage": "UDP" - }, - "test": { - "defaultMessage": "Test" - }, - "user": { - "defaultMessage": "Utilisateur" - }, - "user.change-password": { - "defaultMessage": "Modifier le mot de passe" - }, - "user.confirm-password": { - "defaultMessage": "Confirmer le mot de passe" - }, - "user.current-password": { - "defaultMessage": "Mot de passe actuel" - }, - "user.edit-profile": { - "defaultMessage": "Modifier le profil" - }, - "user.full-name": { - "defaultMessage": "Nom complet" - }, - "user.login-as": { - "defaultMessage": "Se connecter en tant que {name}" - }, - "user.logout": { - "defaultMessage": "Déconnexion" - }, - "user.new-password": { - "defaultMessage": "Nouveau mot de passe" - }, - "user.nickname": { - "defaultMessage": "Pseudonyme" - }, - "user.set-password": { - "defaultMessage": "Définir le mot de passe" - }, - "user.set-permissions": { - "defaultMessage": "Définir les autorisations pour {name}" - }, - "user.switch-dark": { - "defaultMessage": "Passer au mode Sombre" - }, - "user.switch-light": { - "defaultMessage": "Passer au mode Lumineux" - }, - "username": { - "defaultMessage": "Nom d'utilisateur" - }, - "users": { - "defaultMessage": "Utilisateurs" - } + "access-list": { + "defaultMessage": "Liste d'accès" + }, + "access-list.access-count": { + "defaultMessage": "{count} {count, plural, one {Règle} other {Règles}}" + }, + "access-list.auth-count": { + "defaultMessage": "{count} {count, plural, one {Utilisateur} other {Utilisateurs}}" + }, + "access-list.help-rules-last": { + "defaultMessage": "S'il existe au moins une règle, cette règle de refuser tout sera ajoutée en dernier." + }, + "access-list.help.rules-order": { + "defaultMessage": "Notez que les directives autoriser et refuser seront appliquées dans l'ordre où elles sont définies." + }, + "access-list.pass-auth": { + "defaultMessage": "Transmettre l'authentification au serveur en amont" + }, + "access-list.public": { + "defaultMessage": "Accessible au public" + }, + "access-list.public.subtitle": { + "defaultMessage": "Aucune authentification de base requise" + }, + "access-list.satisfy-any": { + "defaultMessage": "Valide n'importe quelle règle" + }, + "access-list.subtitle": { + "defaultMessage": "{utilisateurs} {utilisateurs, plural, one {Utilisateur} other {Utilisateurs}}, {règles} {règles, plural, one {Règle} other {Règles}} - Crée : {date}" + }, + "access-lists": { + "defaultMessage": "Listes d'accès" + }, + "action.add": { + "defaultMessage": "Ajouter" + }, + "action.add-location": { + "defaultMessage": "Ajouter localisation" + }, + "action.close": { + "defaultMessage": "Fermer" + }, + "action.delete": { + "defaultMessage": "Supprimer" + }, + "action.disable": { + "defaultMessage": "Désactiver" + }, + "action.download": { + "defaultMessage": "Télécharger" + }, + "action.edit": { + "defaultMessage": "Modifier" + }, + "action.enable": { + "defaultMessage": "Activer" + }, + "action.permissions": { + "defaultMessage": "Permissions" + }, + "action.renew": { + "defaultMessage": "Renouveler" + }, + "action.view-details": { + "defaultMessage": "Voir les Détails" + }, + "auditlogs": { + "defaultMessage": "Journaux d'audit" + }, + "cancel": { + "defaultMessage": "Annuler" + }, + "certificate": { + "defaultMessage": "Certificat" + }, + "certificate.custom-certificate": { + "defaultMessage": "Certificat" + }, + "certificate.custom-certificate-key": { + "defaultMessage": "Clé du Certificat" + }, + "certificate.custom-intermediate": { + "defaultMessage": "Certificat intermédiaire" + }, + "certificate.in-use": { + "defaultMessage": "Utilisé" + }, + "certificate.none.subtitle": { + "defaultMessage": "Aucun certificat assigné" + }, + "certificate.none.subtitle.for-http": { + "defaultMessage": "Cet hôte n'utilisera pas le HTTPS" + }, + "certificate.none.title": { + "defaultMessage": "Aucun" + }, + "certificate.not-in-use": { + "defaultMessage": "Non utilisé" + }, + "certificate.renew": { + "defaultMessage": "Renouveler Certificat" + }, + "certificates": { + "defaultMessage": "Certificats" + }, + "certificates.custom": { + "defaultMessage": "Certificat personnalisé" + }, + "certificates.custom.warning": { + "defaultMessage": "Les fichiers de clé protégés par une passphrase ne sont pas acceptés." + }, + "certificates.dns.credentials": { + "defaultMessage": "Contenu du fichier d'identifiants" + }, + "certificates.dns.credentials-note": { + "defaultMessage": "Ce plugin nécessite un fichier de configuration contenant un jeton d'API ou d'autres informations d'identification pour votre fournisseur." + }, + "certificates.dns.credentials-warning": { + "defaultMessage": "Ces données seront stockées en clair dans la base de données et dans un fichier !" + }, + "certificates.dns.propagation-seconds": { + "defaultMessage": "Propagation Seconds" + }, + "certificates.dns.propagation-seconds-note": { + "defaultMessage": "Laisser vide pour utiliser la valeur par défaut du plugin. Nombre de secondes à attendre pour la propagation DNS." + }, + "certificates.dns.provider": { + "defaultMessage": "Fournisseur DNS" + }, + "certificates.dns.warning": { + "defaultMessage": "Cette section requiert une certaine connaissance de Certbot et de ses plugins DNS. Veuillez consulter la documentation des plugins correspondants." + }, + "certificates.http.reachability-404": { + "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il ne semble pas s'agir de Nginx Proxy Manager. Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." + }, + "certificates.http.reachability-failed-to-check": { + "defaultMessage": "Impossible de vérifier l'accessibilité en raison d'une erreur de communication avec site24x7.com." + }, + "certificates.http.reachability-not-resolved": { + "defaultMessage": "Aucun serveur n'est disponible pour ce domaine. Veuillez vérifier que votre domaine existe et pointe vers l'adresse IP où votre instance NPM est exécutée. Si nécessaire, le port 80 est ouvert dans votre routeur." + }, + "certificates.http.reachability-ok": { + "defaultMessage": "Votre serveur est accessible et la création de certificats devrait être possible." + }, + "certificates.http.reachability-other": { + "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé un code d'état inattendu {code}. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." + }, + "certificates.http.reachability-wrong-data": { + "defaultMessage": "Un serveur a été trouvé sur ce domaine, mais il a renvoyé des données inattendues. S'agit-il du serveur NPM ? Veuillez vérifier que votre domaine pointe bien vers l'adresse IP où votre instance NPM est exécutée." + }, + "certificates.http.test-results": { + "defaultMessage": "Résultats du test" + }, + "certificates.http.warning": { + "defaultMessage": "Ces domaines doivent déjà être configurés pour pointer vers cette installation." + }, + "certificates.request.subtitle": { + "defaultMessage": "avec Let's Encrypt" + }, + "certificates.request.title": { + "defaultMessage": "Demander un nouveau certificat" + }, + "certificates.key-type": { + "defaultMessage": "Type de clé" + }, + "certificates.key-type-description": { + "defaultMessage": "RSA est largement répandu, ECDSA est plus rapide et plus sécurisé, mais peut ne pas être supporté par les systèmes plus anciens" + }, + "certificates.key-type-ecdsa": { + "defaultMessage": "ECDSA 256" + }, + "certificates.key-type-rsa": { + "defaultMessage": "RSA 2048" + }, + "column.access": { + "defaultMessage": "Accès" + }, + "column.authorization": { + "defaultMessage": "Autorisation" + }, + "column.authorizations": { + "defaultMessage": "Autorisations" + }, + "column.custom-locations": { + "defaultMessage": "Emplacement personnalisé" + }, + "column.destination": { + "defaultMessage": "Destination" + }, + "column.details": { + "defaultMessage": "Détails" + }, + "column.email": { + "defaultMessage": "eMail" + }, + "column.event": { + "defaultMessage": "Évènement" + }, + "column.expires": { + "defaultMessage": "Expire" + }, + "column.http-code": { + "defaultMessage": "Code HTTP" + }, + "column.incoming-port": { + "defaultMessage": "Port entrant" + }, + "column.name": { + "defaultMessage": "Nom" + }, + "column.protocol": { + "defaultMessage": "Protocole" + }, + "column.provider": { + "defaultMessage": "Fournisseur" + }, + "column.roles": { + "defaultMessage": "Rôles" + }, + "column.rules": { + "defaultMessage": "Règles" + }, + "column.satisfy": { + "defaultMessage": "Valide" + }, + "column.satisfy-all": { + "defaultMessage": "All" + }, + "column.satisfy-any": { + "defaultMessage": "Any" + }, + "column.scheme": { + "defaultMessage": "Schéma" + }, + "column.source": { + "defaultMessage": "Source" + }, + "column.ssl": { + "defaultMessage": "SSL" + }, + "column.status": { + "defaultMessage": "Statut" + }, + "created-on": { + "defaultMessage": "Créé : {date}" + }, + "dashboard": { + "defaultMessage": "Tableau de bord" + }, + "dead-host": { + "defaultMessage": "Hôte 404" + }, + "dead-hosts": { + "defaultMessage": "Hôtes 404" + }, + "dead-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Hôte 404} other {Hôtes 404}}" + }, + "disabled": { + "defaultMessage": "Désactivé" + }, + "domain-names": { + "defaultMessage": "Noms de domaine" + }, + "domain-names.max": { + "defaultMessage": "{count} noms de domaine au maximum" + }, + "domain-names.placeholder": { + "defaultMessage": "Commencez à écrire pour ajouter un domaine…" + }, + "domain-names.wildcards-not-permitted": { + "defaultMessage": "Les Wildcards ne sont pas permises dans ce cas" + }, + "domain-names.wildcards-not-supported": { + "defaultMessage": "Les Wildcards ne sont pas prises en charge par cette autorité de certification." + }, + "domains.force-ssl": { + "defaultMessage": "Forcer SSL" + }, + "domains.hsts-enabled": { + "defaultMessage": "HSTS activé" + }, + "domains.hsts-subdomains": { + "defaultMessage": "Sous-domaines HSTS" + }, + "domains.http2-support": { + "defaultMessage": "Prise en charge de HTTP/2" + }, + "domains.use-dns": { + "defaultMessage": "Utiliser le challenge DNS" + }, + "email-address": { + "defaultMessage": "Adresse eMail" + }, + "empty-search": { + "defaultMessage": "Aucun résultat trouvé" + }, + "empty-subtitle": { + "defaultMessage": "Pourquoi n'en créez-vous pas un ?" + }, + "enabled": { + "defaultMessage": "Activé" + }, + "error.access.at-least-one": { + "defaultMessage": "Une autorisation ou une règle d'accès est requise." + }, + "error.access.duplicate-usernames": { + "defaultMessage": "Les noms d'utilisateurs autorisés doivent être uniques" + }, + "error.invalid-auth": { + "defaultMessage": "Adresse eMail ou mot de passe invalide" + }, + "error.invalid-domain": { + "defaultMessage": "Domaine invalide : {domain}" + }, + "error.invalid-email": { + "defaultMessage": "Adresse eMail invalide" + }, + "error.max-character-length": { + "defaultMessage": "La longueur maximale est {max} caractère{max, plural, one {} other {s}}" + }, + "error.max-domains": { + "defaultMessage": "Trop de domaines, le maximum est {max}" + }, + "error.maximum": { + "defaultMessage": "Le maximum est {max}" + }, + "error.min-character-length": { + "defaultMessage": "La longueur minimale est {min} caractère{min, plural, one {} other {s}}" + }, + "error.minimum": { + "defaultMessage": "Le minimum est {min}" + }, + "error.passwords-must-match": { + "defaultMessage": "Les mots de passe doivent correspondre" + }, + "error.required": { + "defaultMessage": "Ceci est obligatoire" + }, + "expires.on": { + "defaultMessage": "Expire : {date}" + }, + "footer.github-fork": { + "defaultMessage": "Forkez-moi sur Github" + }, + "host.flags.block-exploits": { + "defaultMessage": "Bloquer les exploits courants" + }, + "host.flags.cache-assets": { + "defaultMessage": "Ressources du cache" + }, + "host.flags.preserve-path": { + "defaultMessage": "Préserver le chemin" + }, + "host.flags.protocols": { + "defaultMessage": "Protocoles" + }, + "host.flags.websockets-upgrade": { + "defaultMessage": "Prise en charge de Websockets" + }, + "host.forward-port": { + "defaultMessage": "Port de redirection" + }, + "host.forward-scheme": { + "defaultMessage": "Schéma" + }, + "hosts": { + "defaultMessage": "Hôtes" + }, + "http-only": { + "defaultMessage": "HTTP uniquement" + }, + "lets-encrypt": { + "defaultMessage": "Let's Encrypt" + }, + "lets-encrypt-via-dns": { + "defaultMessage": "Let's Encrypt via DNS" + }, + "lets-encrypt-via-http": { + "defaultMessage": "Let's Encrypt via HTTP" + }, + "loading": { + "defaultMessage": "Chargement…" + }, + "login.title": { + "defaultMessage": "Connectez-vous à votre compte" + }, + "nginx-config.label": { + "defaultMessage": "Configuration Nginx personnalisée" + }, + "nginx-config.placeholder": { + "defaultMessage": "# Mettez ici votre configuration Nginx personnalisé à vos risques et périls !" + }, + "no-permission-error": { + "defaultMessage": "Vous n'avez pas la permission de voir ce contenu." + }, + "notfound.action": { + "defaultMessage": "Ramenez-moi à l'accueil" + }, + "notfound.content": { + "defaultMessage": "Nous sommes désolés, mais la page que vous cherchez est introuvable" + }, + "notfound.title": { + "defaultMessage": "Oops… Vous avez découvert une page d'erreur" + }, + "notification.error": { + "defaultMessage": "Erreur" + }, + "notification.object-deleted": { + "defaultMessage": "{object} a été supprimé" + }, + "notification.object-disabled": { + "defaultMessage": "{object} a été désactivé" + }, + "notification.object-enabled": { + "defaultMessage": "{object} a été activé" + }, + "notification.object-renewed": { + "defaultMessage": "{object} a été renouvelé" + }, + "notification.object-saved": { + "defaultMessage": "{object} a été enregistré" + }, + "notification.success": { + "defaultMessage": "Réussi" + }, + "object.actions-title": { + "defaultMessage": "{object} #{id}" + }, + "object.add": { + "defaultMessage": "Ajouter {object}" + }, + "object.delete": { + "defaultMessage": "Supprimer {object}" + }, + "object.delete.content": { + "defaultMessage": "Êtes-vous sûr de vouloir supprimer {object} ?" + }, + "object.edit": { + "defaultMessage": "Modifier {object}" + }, + "object.empty": { + "defaultMessage": "Il n'y a aucun {objects}" + }, + "object.event.created": { + "defaultMessage": "{object} créé" + }, + "object.event.deleted": { + "defaultMessage": "{object} supprimé" + }, + "object.event.disabled": { + "defaultMessage": "{object} désactivé" + }, + "object.event.enabled": { + "defaultMessage": "{object} activé" + }, + "object.event.renewed": { + "defaultMessage": "{object} renouvelé" + }, + "object.event.updated": { + "defaultMessage": "{object} mis à jour" + }, + "offline": { + "defaultMessage": "Hors ligne" + }, + "online": { + "defaultMessage": "En ligne" + }, + "options": { + "defaultMessage": "Options" + }, + "password": { + "defaultMessage": "Mot de passe" + }, + "password.generate": { + "defaultMessage": "Générer un mot de passe aléatoire" + }, + "password.hide": { + "defaultMessage": "Masquer le mot de passe" + }, + "password.show": { + "defaultMessage": "Afficher le mot de passe" + }, + "permissions.hidden": { + "defaultMessage": "Masquer" + }, + "permissions.manage": { + "defaultMessage": "Gérer" + }, + "permissions.view": { + "defaultMessage": "Voir uniquement" + }, + "permissions.visibility.all": { + "defaultMessage": "Tous les éléments" + }, + "permissions.visibility.title": { + "defaultMessage": "Éléments visibles" + }, + "permissions.visibility.user": { + "defaultMessage": "Éléments créés uniquement" + }, + "proxy-host": { + "defaultMessage": "Hôte proxy" + }, + "proxy-host.forward-host": { + "defaultMessage": "Nom d'hôte de redirection / IP" + }, + "proxy-hosts": { + "defaultMessage": "Hôtes proxy" + }, + "proxy-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Hôte proxy} other {Hôtes proxy}}" + }, + "public": { + "defaultMessage": "Publique" + }, + "redirection-host": { + "defaultMessage": "Hôte de redirection" + }, + "redirection-host.forward-domain": { + "defaultMessage": "Domaine de redirection" + }, + "redirection-host.forward-http-code": { + "defaultMessage": "Code HTTP" + }, + "redirection-hosts": { + "defaultMessage": "Hôtes de redirection" + }, + "redirection-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Hôte de redirection} other {Hôtes de redirection}}" + }, + "role.admin": { + "defaultMessage": "Administrateur" + }, + "role.standard-user": { + "defaultMessage": "Utilisateur standard" + }, + "save": { + "defaultMessage": "Enregistrer" + }, + "setting": { + "defaultMessage": "Paramètre" + }, + "settings": { + "defaultMessage": "Paramètres" + }, + "settings.default-site": { + "defaultMessage": "Site par défaut" + }, + "settings.default-site.404": { + "defaultMessage": "Page 404" + }, + "settings.default-site.444": { + "defaultMessage": "Aucune réponse (444)" + }, + "settings.default-site.congratulations": { + "defaultMessage": "Page de félicitations" + }, + "settings.default-site.description": { + "defaultMessage": "ce qu'il faut afficher lorsqu'un hôte inconnu est détecté par Nginx" + }, + "settings.default-site.html": { + "defaultMessage": "HTML personnalisé" + }, + "settings.default-site.html.placeholder": { + "defaultMessage": "" + }, + "settings.default-site.redirect": { + "defaultMessage": "Redirection" + }, + "setup.preamble": { + "defaultMessage": "Commencez par créer votre compte administrateur." + }, + "setup.title": { + "defaultMessage": "Bienvenue !" + }, + "sign-in": { + "defaultMessage": "Se connecter" + }, + "ssl-certificate": { + "defaultMessage": "Certificat SSL" + }, + "stream": { + "defaultMessage": "Stream" + }, + "stream.forward-host": { + "defaultMessage": "Hôte destinataire" + }, + "stream.incoming-port": { + "defaultMessage": "Port d'entrée" + }, + "streams": { + "defaultMessage": "Streams" + }, + "streams.count": { + "defaultMessage": "{count} {count, plural, one {Stream} other {Streams}}" + }, + "streams.tcp": { + "defaultMessage": "TCP" + }, + "streams.udp": { + "defaultMessage": "UDP" + }, + "test": { + "defaultMessage": "Test" + }, + "user": { + "defaultMessage": "Utilisateur" + }, + "user.change-password": { + "defaultMessage": "Modifier le mot de passe" + }, + "user.confirm-password": { + "defaultMessage": "Confirmer le mot de passe" + }, + "user.current-password": { + "defaultMessage": "Mot de passe actuel" + }, + "user.edit-profile": { + "defaultMessage": "Modifier le profil" + }, + "user.full-name": { + "defaultMessage": "Nom complet" + }, + "user.login-as": { + "defaultMessage": "Se connecter en tant que {name}" + }, + "user.logout": { + "defaultMessage": "Déconnexion" + }, + "user.new-password": { + "defaultMessage": "Nouveau mot de passe" + }, + "user.nickname": { + "defaultMessage": "Pseudonyme" + }, + "user.set-password": { + "defaultMessage": "Définir le mot de passe" + }, + "user.set-permissions": { + "defaultMessage": "Définir les autorisations pour {name}" + }, + "user.switch-dark": { + "defaultMessage": "Passer au mode Sombre" + }, + "user.switch-light": { + "defaultMessage": "Passer au mode Lumineux" + }, + "username": { + "defaultMessage": "Nom d'utilisateur" + }, + "users": { + "defaultMessage": "Utilisateurs" + } } From d49cab1c0e3e159ea4651ca9c64567d6c13114e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 11:05:43 +0000 Subject: [PATCH 025/113] Bump rollup from 4.24.0 to 4.59.0 in /docs Bumps [rollup](https://github.com/rollup/rollup) from 4.24.0 to 4.59.0. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.24.0...v4.59.0) --- updated-dependencies: - dependency-name: rollup dependency-version: 4.59.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- docs/yarn.lock | 260 +++++++++++++++++++++++++++++-------------------- 1 file changed, 157 insertions(+), 103 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 823a55c633..78a286abc2 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -335,85 +335,130 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@rollup/rollup-android-arm-eabi@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz#1661ff5ea9beb362795304cb916049aba7ac9c54" - integrity sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA== - -"@rollup/rollup-android-arm64@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz#2ffaa91f1b55a0082b8a722525741aadcbd3971e" - integrity sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA== - -"@rollup/rollup-darwin-arm64@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz#627007221b24b8cc3063703eee0b9177edf49c1f" - integrity sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA== - -"@rollup/rollup-darwin-x64@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz#0605506142b9e796c370d59c5984ae95b9758724" - integrity sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz#62dfd196d4b10c0c2db833897164d2d319ee0cbb" - integrity sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA== - -"@rollup/rollup-linux-arm-musleabihf@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz#53ce72aeb982f1f34b58b380baafaf6a240fddb3" - integrity sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw== - -"@rollup/rollup-linux-arm64-gnu@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz#1632990f62a75c74f43e4b14ab3597d7ed416496" - integrity sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA== - -"@rollup/rollup-linux-arm64-musl@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz#8c03a996efb41e257b414b2e0560b7a21f2d9065" - integrity sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw== - -"@rollup/rollup-linux-powerpc64le-gnu@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz#5b98729628d5bcc8f7f37b58b04d6845f85c7b5d" - integrity sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw== - -"@rollup/rollup-linux-riscv64-gnu@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz#48e42e41f4cabf3573cfefcb448599c512e22983" - integrity sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg== - -"@rollup/rollup-linux-s390x-gnu@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz#e0b4f9a966872cb7d3e21b9e412a4b7efd7f0b58" - integrity sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g== - -"@rollup/rollup-linux-x64-gnu@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz#78144741993100f47bd3da72fce215e077ae036b" - integrity sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A== - -"@rollup/rollup-linux-x64-musl@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz#d9fe32971883cd1bd858336bd33a1c3ca6146127" - integrity sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ== - -"@rollup/rollup-win32-arm64-msvc@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz#71fa3ea369316db703a909c790743972e98afae5" - integrity sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ== - -"@rollup/rollup-win32-ia32-msvc@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz#653f5989a60658e17d7576a3996deb3902e342e2" - integrity sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ== - -"@rollup/rollup-win32-x64-msvc@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz#0574d7e87b44ee8511d08cc7f914bcb802b70818" - integrity sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw== +"@rollup/rollup-android-arm-eabi@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz#a6742c74c7d9d6d604ef8a48f99326b4ecda3d82" + integrity sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg== + +"@rollup/rollup-android-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz#97247be098de4df0c11971089fd2edf80a5da8cf" + integrity sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q== + +"@rollup/rollup-darwin-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz#674852cf14cf11b8056e0b1a2f4e872b523576cf" + integrity sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg== + +"@rollup/rollup-darwin-x64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz#36dfd7ed0aaf4d9d89d9ef983af72632455b0246" + integrity sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w== + +"@rollup/rollup-freebsd-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz#2f87c2074b4220260fdb52a9996246edfc633c22" + integrity sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA== + +"@rollup/rollup-freebsd-x64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz#9b5a26522a38a95dc06616d1939d4d9a76937803" + integrity sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg== + +"@rollup/rollup-linux-arm-gnueabihf@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz#86aa4859385a8734235b5e40a48e52d770758c3a" + integrity sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw== + +"@rollup/rollup-linux-arm-musleabihf@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz#cbe70e56e6ece8dac83eb773b624fc9e5a460976" + integrity sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA== + +"@rollup/rollup-linux-arm64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz#d14992a2e653bc3263d284bc6579b7a2890e1c45" + integrity sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA== + +"@rollup/rollup-linux-arm64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz#2fdd1ddc434ea90aeaa0851d2044789b4d07f6da" + integrity sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA== + +"@rollup/rollup-linux-loong64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz#8a181e6f89f969f21666a743cd411416c80099e7" + integrity sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg== + +"@rollup/rollup-linux-loong64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz#904125af2babc395f8061daa27b5af1f4e3f2f78" + integrity sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q== + +"@rollup/rollup-linux-ppc64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz#a57970ac6864c9a3447411a658224bdcf948be22" + integrity sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA== + +"@rollup/rollup-linux-ppc64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz#bb84de5b26870567a4267666e08891e80bb56a63" + integrity sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA== + +"@rollup/rollup-linux-riscv64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz#72d00d2c7fb375ce3564e759db33f17a35bffab9" + integrity sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg== + +"@rollup/rollup-linux-riscv64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz#4c166ef58e718f9245bd31873384ba15a5c1a883" + integrity sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg== + +"@rollup/rollup-linux-s390x-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz#bb5025cde9a61db478c2ca7215808ad3bce73a09" + integrity sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w== + +"@rollup/rollup-linux-x64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz#9b66b1f9cd95c6624c788f021c756269ffed1552" + integrity sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg== + +"@rollup/rollup-linux-x64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz#b007ca255dc7166017d57d7d2451963f0bd23fd9" + integrity sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg== + +"@rollup/rollup-openbsd-x64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz#e8b357b2d1aa2c8d76a98f5f0d889eabe93f4ef9" + integrity sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ== + +"@rollup/rollup-openharmony-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz#96c2e3f4aacd3d921981329831ff8dde492204dc" + integrity sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA== + +"@rollup/rollup-win32-arm64-msvc@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz#2d865149d706d938df8b4b8f117e69a77646d581" + integrity sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A== + +"@rollup/rollup-win32-ia32-msvc@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz#abe1593be0fa92325e9971c8da429c5e05b92c36" + integrity sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA== + +"@rollup/rollup-win32-x64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz#c4af3e9518c9a5cd4b1c163dc81d0ad4d82e7eab" + integrity sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA== + +"@rollup/rollup-win32-x64-msvc@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz#4584a8a87b29188a4c1fe987a9fcf701e256d86c" + integrity sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA== "@shikijs/core@2.5.0", "@shikijs/core@^2.1.0": version "2.5.0" @@ -479,10 +524,10 @@ resolved "https://registry.yarnpkg.com/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz#a90ab31d0cc1dfb54c66a69e515bf624fa7b2224" integrity sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg== -"@types/estree@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== +"@types/estree@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/hast@^3.0.0", "@types/hast@^3.0.4": version "3.0.4" @@ -994,28 +1039,37 @@ rfdc@^1.4.1: integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rollup@^4.20.0: - version "4.24.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.24.0.tgz#c14a3576f20622ea6a5c9cad7caca5e6e9555d05" - integrity sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg== + version "4.59.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.59.0.tgz#cf74edac17c1486f562d728a4d923a694abdf06f" + integrity sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg== dependencies: - "@types/estree" "1.0.6" + "@types/estree" "1.0.8" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.24.0" - "@rollup/rollup-android-arm64" "4.24.0" - "@rollup/rollup-darwin-arm64" "4.24.0" - "@rollup/rollup-darwin-x64" "4.24.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.24.0" - "@rollup/rollup-linux-arm-musleabihf" "4.24.0" - "@rollup/rollup-linux-arm64-gnu" "4.24.0" - "@rollup/rollup-linux-arm64-musl" "4.24.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.24.0" - "@rollup/rollup-linux-riscv64-gnu" "4.24.0" - "@rollup/rollup-linux-s390x-gnu" "4.24.0" - "@rollup/rollup-linux-x64-gnu" "4.24.0" - "@rollup/rollup-linux-x64-musl" "4.24.0" - "@rollup/rollup-win32-arm64-msvc" "4.24.0" - "@rollup/rollup-win32-ia32-msvc" "4.24.0" - "@rollup/rollup-win32-x64-msvc" "4.24.0" + "@rollup/rollup-android-arm-eabi" "4.59.0" + "@rollup/rollup-android-arm64" "4.59.0" + "@rollup/rollup-darwin-arm64" "4.59.0" + "@rollup/rollup-darwin-x64" "4.59.0" + "@rollup/rollup-freebsd-arm64" "4.59.0" + "@rollup/rollup-freebsd-x64" "4.59.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.59.0" + "@rollup/rollup-linux-arm-musleabihf" "4.59.0" + "@rollup/rollup-linux-arm64-gnu" "4.59.0" + "@rollup/rollup-linux-arm64-musl" "4.59.0" + "@rollup/rollup-linux-loong64-gnu" "4.59.0" + "@rollup/rollup-linux-loong64-musl" "4.59.0" + "@rollup/rollup-linux-ppc64-gnu" "4.59.0" + "@rollup/rollup-linux-ppc64-musl" "4.59.0" + "@rollup/rollup-linux-riscv64-gnu" "4.59.0" + "@rollup/rollup-linux-riscv64-musl" "4.59.0" + "@rollup/rollup-linux-s390x-gnu" "4.59.0" + "@rollup/rollup-linux-x64-gnu" "4.59.0" + "@rollup/rollup-linux-x64-musl" "4.59.0" + "@rollup/rollup-openbsd-x64" "4.59.0" + "@rollup/rollup-openharmony-arm64" "4.59.0" + "@rollup/rollup-win32-arm64-msvc" "4.59.0" + "@rollup/rollup-win32-ia32-msvc" "4.59.0" + "@rollup/rollup-win32-x64-gnu" "4.59.0" + "@rollup/rollup-win32-x64-msvc" "4.59.0" fsevents "~2.3.2" shiki@^2.1.0: From c85b11ee3319b046887b3b83d801c8aacef6624a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 22:11:06 +0000 Subject: [PATCH 026/113] Bump rollup from 4.57.1 to 4.59.0 in /frontend Bumps [rollup](https://github.com/rollup/rollup) from 4.57.1 to 4.59.0. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.57.1...v4.59.0) --- updated-dependencies: - dependency-name: rollup dependency-version: 4.59.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/yarn.lock | 304 ++++++++++++++++++++++----------------------- 1 file changed, 152 insertions(+), 152 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index af56b137f4..4beafdf1f5 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -689,130 +689,130 @@ resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz#8a88cc92a0f741befc7bc109cb1a4c6b9408e1c5" integrity sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q== -"@rollup/rollup-android-arm-eabi@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz#add5e608d4e7be55bc3ca3d962490b8b1890e088" - integrity sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg== - -"@rollup/rollup-android-arm64@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz#10bd0382b73592beee6e9800a69401a29da625c4" - integrity sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w== - -"@rollup/rollup-darwin-arm64@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz#1e99ab04c0b8c619dd7bbde725ba2b87b55bfd81" - integrity sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg== - -"@rollup/rollup-darwin-x64@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz#69e741aeb2839d2e8f0da2ce7a33d8bd23632423" - integrity sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w== - -"@rollup/rollup-freebsd-arm64@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz#3736c232a999c7bef7131355d83ebdf9651a0839" - integrity sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug== - -"@rollup/rollup-freebsd-x64@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz#227dcb8f466684070169942bd3998901c9bfc065" - integrity sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q== - -"@rollup/rollup-linux-arm-gnueabihf@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz#ba004b30df31b724f99ce66e7128248bea17cb0c" - integrity sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw== - -"@rollup/rollup-linux-arm-musleabihf@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz#6929f3e07be6b6da5991f63c6b68b3e473d0a65a" - integrity sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw== - -"@rollup/rollup-linux-arm64-gnu@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz#06e89fd4a25d21fe5575d60b6f913c0e65297bfa" - integrity sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g== - -"@rollup/rollup-linux-arm64-musl@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz#fddabf395b90990d5194038e6cd8c00156ed8ac0" - integrity sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q== - -"@rollup/rollup-linux-loong64-gnu@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz#04c10bb764bbf09a3c1bd90432e92f58d6603c36" - integrity sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA== - -"@rollup/rollup-linux-loong64-musl@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz#f2450361790de80581d8687ea19142d8a4de5c0f" - integrity sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw== - -"@rollup/rollup-linux-ppc64-gnu@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz#0474f4667259e407eee1a6d38e29041b708f6a30" - integrity sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w== - -"@rollup/rollup-linux-ppc64-musl@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz#9f32074819eeb1ddbe51f50ea9dcd61a6745ec33" - integrity sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw== - -"@rollup/rollup-linux-riscv64-gnu@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz#3fdb9d4b1e29fb6b6a6da9f15654d42eb77b99b2" - integrity sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A== - -"@rollup/rollup-linux-riscv64-musl@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz#1de780d64e6be0e3e8762035c22e0d8ea68df8ed" - integrity sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw== - -"@rollup/rollup-linux-s390x-gnu@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz#1da022ffd2d9e9f0fd8344ea49e113001fbcac64" - integrity sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg== - -"@rollup/rollup-linux-x64-gnu@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz#78c16eef9520bd10e1ea7a112593bb58e2842622" - integrity sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg== - -"@rollup/rollup-linux-x64-musl@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz#a7598591b4d9af96cb3167b50a5bf1e02dfea06c" - integrity sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw== - -"@rollup/rollup-openbsd-x64@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz#c51d48c07cd6c466560e5bed934aec688ce02614" - integrity sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw== - -"@rollup/rollup-openharmony-arm64@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz#f09921d0b2a0b60afbf3586d2a7a7f208ba6df17" - integrity sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ== - -"@rollup/rollup-win32-arm64-msvc@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz#08d491717135376e4a99529821c94ecd433d5b36" - integrity sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ== - -"@rollup/rollup-win32-ia32-msvc@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz#b0c12aac1104a8b8f26a5e0098e5facbb3e3964a" - integrity sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew== - -"@rollup/rollup-win32-x64-gnu@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz#b9cccef26f5e6fdc013bf3c0911a3c77428509d0" - integrity sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ== - -"@rollup/rollup-win32-x64-msvc@4.57.1": - version "4.57.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz#a03348e7b559c792b6277cc58874b89ef46e1e72" - integrity sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA== +"@rollup/rollup-android-arm-eabi@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz#a6742c74c7d9d6d604ef8a48f99326b4ecda3d82" + integrity sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg== + +"@rollup/rollup-android-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz#97247be098de4df0c11971089fd2edf80a5da8cf" + integrity sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q== + +"@rollup/rollup-darwin-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz#674852cf14cf11b8056e0b1a2f4e872b523576cf" + integrity sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg== + +"@rollup/rollup-darwin-x64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz#36dfd7ed0aaf4d9d89d9ef983af72632455b0246" + integrity sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w== + +"@rollup/rollup-freebsd-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz#2f87c2074b4220260fdb52a9996246edfc633c22" + integrity sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA== + +"@rollup/rollup-freebsd-x64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz#9b5a26522a38a95dc06616d1939d4d9a76937803" + integrity sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg== + +"@rollup/rollup-linux-arm-gnueabihf@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz#86aa4859385a8734235b5e40a48e52d770758c3a" + integrity sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw== + +"@rollup/rollup-linux-arm-musleabihf@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz#cbe70e56e6ece8dac83eb773b624fc9e5a460976" + integrity sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA== + +"@rollup/rollup-linux-arm64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz#d14992a2e653bc3263d284bc6579b7a2890e1c45" + integrity sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA== + +"@rollup/rollup-linux-arm64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz#2fdd1ddc434ea90aeaa0851d2044789b4d07f6da" + integrity sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA== + +"@rollup/rollup-linux-loong64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz#8a181e6f89f969f21666a743cd411416c80099e7" + integrity sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg== + +"@rollup/rollup-linux-loong64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz#904125af2babc395f8061daa27b5af1f4e3f2f78" + integrity sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q== + +"@rollup/rollup-linux-ppc64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz#a57970ac6864c9a3447411a658224bdcf948be22" + integrity sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA== + +"@rollup/rollup-linux-ppc64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz#bb84de5b26870567a4267666e08891e80bb56a63" + integrity sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA== + +"@rollup/rollup-linux-riscv64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz#72d00d2c7fb375ce3564e759db33f17a35bffab9" + integrity sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg== + +"@rollup/rollup-linux-riscv64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz#4c166ef58e718f9245bd31873384ba15a5c1a883" + integrity sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg== + +"@rollup/rollup-linux-s390x-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz#bb5025cde9a61db478c2ca7215808ad3bce73a09" + integrity sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w== + +"@rollup/rollup-linux-x64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz#9b66b1f9cd95c6624c788f021c756269ffed1552" + integrity sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg== + +"@rollup/rollup-linux-x64-musl@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz#b007ca255dc7166017d57d7d2451963f0bd23fd9" + integrity sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg== + +"@rollup/rollup-openbsd-x64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz#e8b357b2d1aa2c8d76a98f5f0d889eabe93f4ef9" + integrity sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ== + +"@rollup/rollup-openharmony-arm64@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz#96c2e3f4aacd3d921981329831ff8dde492204dc" + integrity sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA== + +"@rollup/rollup-win32-arm64-msvc@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz#2d865149d706d938df8b4b8f117e69a77646d581" + integrity sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A== + +"@rollup/rollup-win32-ia32-msvc@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz#abe1593be0fa92325e9971c8da429c5e05b92c36" + integrity sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA== + +"@rollup/rollup-win32-x64-gnu@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz#c4af3e9518c9a5cd4b1c163dc81d0ad4d82e7eab" + integrity sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA== + +"@rollup/rollup-win32-x64-msvc@4.59.0": + version "4.59.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz#4584a8a87b29188a4c1fe987a9fcf701e256d86c" + integrity sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA== "@standard-schema/spec@^1.0.0": version "1.1.0" @@ -2642,37 +2642,37 @@ resolve@^1.19.0: supports-preserve-symlinks-flag "^1.0.0" rollup@^4.43.0: - version "4.57.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.57.1.tgz#947f70baca32db2b9c594267fe9150aa316e5a88" - integrity sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A== + version "4.59.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.59.0.tgz#cf74edac17c1486f562d728a4d923a694abdf06f" + integrity sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg== dependencies: "@types/estree" "1.0.8" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.57.1" - "@rollup/rollup-android-arm64" "4.57.1" - "@rollup/rollup-darwin-arm64" "4.57.1" - "@rollup/rollup-darwin-x64" "4.57.1" - "@rollup/rollup-freebsd-arm64" "4.57.1" - "@rollup/rollup-freebsd-x64" "4.57.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.57.1" - "@rollup/rollup-linux-arm-musleabihf" "4.57.1" - "@rollup/rollup-linux-arm64-gnu" "4.57.1" - "@rollup/rollup-linux-arm64-musl" "4.57.1" - "@rollup/rollup-linux-loong64-gnu" "4.57.1" - "@rollup/rollup-linux-loong64-musl" "4.57.1" - "@rollup/rollup-linux-ppc64-gnu" "4.57.1" - "@rollup/rollup-linux-ppc64-musl" "4.57.1" - "@rollup/rollup-linux-riscv64-gnu" "4.57.1" - "@rollup/rollup-linux-riscv64-musl" "4.57.1" - "@rollup/rollup-linux-s390x-gnu" "4.57.1" - "@rollup/rollup-linux-x64-gnu" "4.57.1" - "@rollup/rollup-linux-x64-musl" "4.57.1" - "@rollup/rollup-openbsd-x64" "4.57.1" - "@rollup/rollup-openharmony-arm64" "4.57.1" - "@rollup/rollup-win32-arm64-msvc" "4.57.1" - "@rollup/rollup-win32-ia32-msvc" "4.57.1" - "@rollup/rollup-win32-x64-gnu" "4.57.1" - "@rollup/rollup-win32-x64-msvc" "4.57.1" + "@rollup/rollup-android-arm-eabi" "4.59.0" + "@rollup/rollup-android-arm64" "4.59.0" + "@rollup/rollup-darwin-arm64" "4.59.0" + "@rollup/rollup-darwin-x64" "4.59.0" + "@rollup/rollup-freebsd-arm64" "4.59.0" + "@rollup/rollup-freebsd-x64" "4.59.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.59.0" + "@rollup/rollup-linux-arm-musleabihf" "4.59.0" + "@rollup/rollup-linux-arm64-gnu" "4.59.0" + "@rollup/rollup-linux-arm64-musl" "4.59.0" + "@rollup/rollup-linux-loong64-gnu" "4.59.0" + "@rollup/rollup-linux-loong64-musl" "4.59.0" + "@rollup/rollup-linux-ppc64-gnu" "4.59.0" + "@rollup/rollup-linux-ppc64-musl" "4.59.0" + "@rollup/rollup-linux-riscv64-gnu" "4.59.0" + "@rollup/rollup-linux-riscv64-musl" "4.59.0" + "@rollup/rollup-linux-s390x-gnu" "4.59.0" + "@rollup/rollup-linux-x64-gnu" "4.59.0" + "@rollup/rollup-linux-x64-musl" "4.59.0" + "@rollup/rollup-openbsd-x64" "4.59.0" + "@rollup/rollup-openharmony-arm64" "4.59.0" + "@rollup/rollup-win32-arm64-msvc" "4.59.0" + "@rollup/rollup-win32-ia32-msvc" "4.59.0" + "@rollup/rollup-win32-x64-gnu" "4.59.0" + "@rollup/rollup-win32-x64-msvc" "4.59.0" fsevents "~2.3.2" rooks@^9.5.0: From 278b1c92b3812946e0a93cf9dad80bfdfbae1a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammet=20Eren=20Karaku=C5=9F?= Date: Mon, 2 Mar 2026 11:05:45 +0300 Subject: [PATCH 027/113] fix(i18n): correct Irish locale flag and language label - Fix locale key in lang-list.json from "locale-ie-GA" to "locale-ga-IE" to match the actual locale code used in IntlProvider - Add ga -> ie mapping in getFlagCodeForLocale() so the Ireland flag is shown instead of the Gabon flag - Add missing ["ga", "ga-IE"] entry to check-locales.cjs validation list Fixes NginxProxyManager/nginx-proxy-manager#5354 --- frontend/check-locales.cjs | 1 + frontend/src/locale/IntlProvider.tsx | 1 + frontend/src/locale/src/lang-list.json | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/check-locales.cjs b/frontend/check-locales.cjs index 75d2d8fce7..deb418a3ec 100755 --- a/frontend/check-locales.cjs +++ b/frontend/check-locales.cjs @@ -13,6 +13,7 @@ const allLocales = [ ["es", "es-ES"], ["et", "et-EE"], ["fr", "fr-FR"], + ["ga", "ga-IE"], ["it", "it-IT"], ["ja", "ja-JP"], ["nl", "nl-NL"], diff --git a/frontend/src/locale/IntlProvider.tsx b/frontend/src/locale/IntlProvider.tsx index dabe81b5e5..a5fb956c0d 100755 --- a/frontend/src/locale/IntlProvider.tsx +++ b/frontend/src/locale/IntlProvider.tsx @@ -72,6 +72,7 @@ const getFlagCodeForLocale = (locale?: string) => { vi: "vn", // Vietnam ko: "kr", // Korea cs: "cz", // Czechia + ga: "ie", // Ireland (Irish) }; if (specialCases[thisLocale]) { diff --git a/frontend/src/locale/src/lang-list.json b/frontend/src/locale/src/lang-list.json index 79dabe22b5..2e7112cf48 100644 --- a/frontend/src/locale/src/lang-list.json +++ b/frontend/src/locale/src/lang-list.json @@ -8,7 +8,7 @@ "locale-et-EE": { "defaultMessage": "Eesti" }, - "locale-ie-GA": { + "locale-ga-IE": { "defaultMessage": "Gaeilge" }, "locale-de-DE": { From cbcbd95812035ab291f34c625b56f3604a2cb764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammet=20Eren=20Karaku=C5=9F?= Date: Mon, 2 Mar 2026 11:15:03 +0300 Subject: [PATCH 028/113] test(i18n): add tests for getFlagCodeForLocale flag mapping Cover standard locales, all special-case mappings (ja, zh, vi, ko, cs, ga), and the undefined/fallback path to prevent future flag regressions. --- frontend/src/locale/Utils.test.tsx | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/frontend/src/locale/Utils.test.tsx b/frontend/src/locale/Utils.test.tsx index e998dc319c..a49460fee0 100644 --- a/frontend/src/locale/Utils.test.tsx +++ b/frontend/src/locale/Utils.test.tsx @@ -1,4 +1,4 @@ -import { formatDateTime } from "src/locale"; +import { formatDateTime, getFlagCodeForLocale } from "src/locale"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; describe("DateFormatter", () => { @@ -72,3 +72,28 @@ describe("DateFormatter", () => { expect(text).toBe("-100"); }); }); + +describe("getFlagCodeForLocale", () => { + it("returns correct flag code for standard locales", () => { + expect(getFlagCodeForLocale("en-US")).toBe("EN"); + expect(getFlagCodeForLocale("de-DE")).toBe("DE"); + expect(getFlagCodeForLocale("fr-FR")).toBe("FR"); + }); + + it("returns correct flag code for special-case locales", () => { + expect(getFlagCodeForLocale("ja-JP")).toBe("JP"); + expect(getFlagCodeForLocale("zh-CN")).toBe("CN"); + expect(getFlagCodeForLocale("vi-VN")).toBe("VN"); + expect(getFlagCodeForLocale("ko-KR")).toBe("KR"); + expect(getFlagCodeForLocale("cs-CZ")).toBe("CZ"); + }); + + it("returns IE (Ireland) for Irish locale, not GA (Gabon)", () => { + expect(getFlagCodeForLocale("ga-IE")).toBe("IE"); + }); + + it("falls back to EN when no locale is provided", () => { + expect(getFlagCodeForLocale()).toBe("EN"); + expect(getFlagCodeForLocale(undefined)).toBe("EN"); + }); +}); From a62068275da00752cf0b7a4441d060eb53bd52a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 13:44:15 +0000 Subject: [PATCH 029/113] Bump the prod-patch-updates group in /test with 2 updates Bumps the prod-patch-updates group in /test with 2 updates: [axios](https://github.com/axios/axios) and [eslint](https://github.com/eslint/eslint). Updates `axios` from 1.13.5 to 1.13.6 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.13.6) Updates `eslint` from 10.0.1 to 10.0.2 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.0.1...v10.0.2) --- updated-dependencies: - dependency-name: axios dependency-version: 1.13.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates - dependency-name: eslint dependency-version: 10.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index c4b499d8ff..a40fb08039 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -279,10 +279,10 @@ ajv-formats@^3.0.1: dependencies: ajv "^8.0.0" -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ajv@^6.14.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a" + integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -381,9 +381,9 @@ aws4@^1.8.0: integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== axios@^1.13.5, axios@^1.7.7: - version "1.13.5" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.5.tgz#5e464688fa127e11a660a2c49441c009f6567a43" - integrity sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q== + version "1.13.6" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.6.tgz#c3f92da917dc209a15dd29936d20d5089b6b6c98" + integrity sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ== dependencies: follow-redirects "^1.15.11" form-data "^4.0.5" @@ -871,9 +871,9 @@ eslint-visitor-keys@^5.0.1: integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== eslint@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.0.1.tgz#b5c5f7706782a21590ba6451e7a30d2947273c2d" - integrity sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ== + version "10.0.2" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.0.2.tgz#1009263467591810320f2e1ad52b8a750d1acbab" + integrity sha512-uYixubwmqJZH+KLVYIVKY1JQt7tysXhtj21WSvjcSmU5SVNzMus1bgLe+pAt816yQ8opKfheVVoPLqvVMGejYw== dependencies: "@eslint-community/eslint-utils" "^4.8.0" "@eslint-community/regexpp" "^4.12.2" @@ -885,7 +885,7 @@ eslint@^10.0.0: "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.2" "@types/estree" "^1.0.6" - ajv "^6.12.4" + ajv "^6.14.0" cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" From b87bedc34700f8de4eb5902cfe80fd35f20e909b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 13:44:34 +0000 Subject: [PATCH 030/113] Bump the prod-minor-updates group in /test with 2 updates Bumps the prod-minor-updates group in /test with 2 updates: [@quobix/vacuum](https://github.com/daveshanley/vacuum) and [cypress](https://github.com/cypress-io/cypress). Updates `@quobix/vacuum` from 0.23.8 to 0.24.0 - [Release notes](https://github.com/daveshanley/vacuum/releases) - [Commits](https://github.com/daveshanley/vacuum/compare/v0.23.8...v0.24.0) Updates `cypress` from 15.10.0 to 15.11.0 - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md) - [Commits](https://github.com/cypress-io/cypress/compare/v15.10.0...v15.11.0) --- updated-dependencies: - dependency-name: "@quobix/vacuum" dependency-version: 0.24.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates - dependency-name: cypress dependency-version: 15.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] --- test/package.json | 2 +- test/yarn.lock | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/test/package.json b/test/package.json index c8eb9cd3cc..0704f79899 100644 --- a/test/package.json +++ b/test/package.json @@ -5,7 +5,7 @@ "main": "index.js", "dependencies": { "@jc21/cypress-swagger-validation": "^0.3.2", - "@quobix/vacuum": "^0.23.8", + "@quobix/vacuum": "^0.24.0", "axios": "^1.13.5", "chalk": "^5.6.2", "cypress": "^15.10.0", diff --git a/test/yarn.lock b/test/yarn.lock index c4b499d8ff..faad23fe36 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -191,10 +191,10 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@quobix/vacuum@^0.23.8": - version "0.23.8" - resolved "https://registry.yarnpkg.com/@quobix/vacuum/-/vacuum-0.23.8.tgz#a994d6db71b483bc34b6683c8c069ef4f26e3e2b" - integrity sha512-fdxBgELoyJWabN5yeaQWlu0IREabqlPQb5EgFQjA7Plc1YjUFIXzh4RMFpQ1OJ/D6OtxXY6SeifEAy0HihQ7Qw== +"@quobix/vacuum@^0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@quobix/vacuum/-/vacuum-0.24.0.tgz#7461d0f745e1a97827fc20b04f8c1701a5f1a0e0" + integrity sha512-Ee7c2XF6FY3bf3BzOCh/Ku2abxMN2iqYADHf933EkgAQ4u3x3eXXvlAa8UQo/lt7ZhWk0HHXQ55hnMhpbJsuPg== dependencies: https-proxy-agent "^7.0.6" node-fetch "^3.3.2" @@ -635,9 +635,9 @@ cypress-wait-until@^3.0.2: integrity sha512-iemies796dD5CgjG5kV0MnpEmKSH+s7O83ZoJLVzuVbZmm4lheMsZqAVT73hlMx4QlkwhxbyUzhOBUOZwoOe0w== cypress@^15.10.0: - version "15.10.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.10.0.tgz#06bed98a690fad1b98a21010613f9c8c7fa9f639" - integrity sha512-OtUh7OMrfEjKoXydlAD1CfG2BvKxIqgWGY4/RMjrqQ3BKGBo5JFKoYNH+Tpcj4xKxWH4XK0Xri+9y8WkxhYbqQ== + version "15.11.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.11.0.tgz#7402d0a2bb4573b6c6655191ad170cff1985ff3f" + integrity sha512-NXDE6/fqZuzh1Zr53nyhCCa4lcANNTYWQNP9fJO+tzD3qVTDaTUni5xXMuigYjMujQ7CRiT9RkJJONmPQSsDFw== dependencies: "@cypress/request" "^3.0.10" "@cypress/xvfb" "^1.2.4" @@ -676,9 +676,10 @@ cypress@^15.10.0: proxy-from-env "1.0.0" request-progress "^3.0.0" supports-color "^8.1.1" - systeminformation "^5.27.14" + systeminformation "^5.31.1" tmp "~0.2.4" tree-kill "1.2.2" + tslib "1.14.1" untildify "^4.0.0" yauzl "^2.10.0" @@ -2050,7 +2051,7 @@ supports-color@^8.1.1: dependencies: has-flag "^4.0.0" -systeminformation@^5.27.14: +systeminformation@^5.31.1: version "5.31.1" resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.1.tgz#5f88aa1db7470af87b6288baf1738603cafd1c4a" integrity sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA== @@ -2105,6 +2106,11 @@ tree-kill@1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== +tslib@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@^2.1.0: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" From a714b41fd6b882186df605ab8113fba7d8f8e5f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 13:45:00 +0000 Subject: [PATCH 031/113] Bump the prod-minor-updates group in /backend with 3 updates Bumps the prod-minor-updates group in /backend with 3 updates: [@apidevtools/json-schema-ref-parser](https://github.com/APIDevTools/json-schema-ref-parser), [mysql2](https://github.com/sidorares/node-mysql2) and [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg). Updates `@apidevtools/json-schema-ref-parser` from 15.2.2 to 15.3.1 - [Release notes](https://github.com/APIDevTools/json-schema-ref-parser/releases) - [Commits](https://github.com/APIDevTools/json-schema-ref-parser/compare/v15.2.2...v15.3.1) Updates `mysql2` from 3.17.5 to 3.18.2 - [Release notes](https://github.com/sidorares/node-mysql2/releases) - [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md) - [Commits](https://github.com/sidorares/node-mysql2/compare/v3.17.5...v3.18.2) Updates `pg` from 8.18.0 to 8.19.0 - [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md) - [Commits](https://github.com/brianc/node-postgres/commits/pg@8.19.0/packages/pg) --- updated-dependencies: - dependency-name: "@apidevtools/json-schema-ref-parser" dependency-version: 15.3.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates - dependency-name: mysql2 dependency-version: 3.18.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates - dependency-name: pg dependency-version: 8.19.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] --- backend/package.json | 6 +++--- backend/yarn.lock | 44 ++++++++++++++++++++++---------------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/backend/package.json b/backend/package.json index 8fd6f58b26..1a72abcb11 100644 --- a/backend/package.json +++ b/backend/package.json @@ -13,7 +13,7 @@ "regenerate-config": "node scripts/regenerate-config" }, "dependencies": { - "@apidevtools/json-schema-ref-parser": "^15.2.2", + "@apidevtools/json-schema-ref-parser": "^15.3.1", "ajv": "^8.18.0", "archiver": "^7.0.1", "batchflow": "^0.4.0", @@ -29,12 +29,12 @@ "liquidjs": "10.24.0", "lodash": "^4.17.23", "moment": "^2.30.1", - "mysql2": "^3.17.5", + "mysql2": "^3.18.2", "node-rsa": "^1.1.1", "objection": "3.1.5", "otplib": "^13.3.0", "path": "^0.12.7", - "pg": "^8.18.0", + "pg": "^8.19.0", "proxy-agent": "^6.5.0", "signale": "1.4.0", "sqlite3": "^5.1.7", diff --git a/backend/yarn.lock b/backend/yarn.lock index 84e2bd7740..4a567b69b7 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -10,10 +10,10 @@ "@types/json-schema" "^7.0.15" js-yaml "^4.1.0" -"@apidevtools/json-schema-ref-parser@^15.2.2": - version "15.2.2" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.2.2.tgz#2eb1efe8534c17125901c172e49485c7179835ce" - integrity sha512-54fvjSwWiBTdVviiUItOCeyxtPSBmCrSEjlOl8XFEDuYD3lXY1lOBWKim/WJ3i1EYzdGx6rSOjK5KRDMppLI4Q== +"@apidevtools/json-schema-ref-parser@^15.3.1": + version "15.3.1" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.3.1.tgz#93f70004a085f62319705e32f25af748752ea5a4" + integrity sha512-FIweGOR9zrNuskfDXn8dfsA4eJEe8LmmGsGSDikEZvgYm36SO36yMhasXSOX7/OTGZ3b7I9iPhOxB24D8xL5uQ== dependencies: js-yaml "^4.1.1" @@ -1877,10 +1877,10 @@ ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -mysql2@^3.17.5: - version "3.17.5" - resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.17.5.tgz#c0a0fdd73812ba65d08d47ee639df5ec46409087" - integrity sha512-Qb5kOObI10PUTjMRrvJhegiu2i7EmbCm2F2tbYHp9gCfpbLWjk39+TeoA6ususBc8xZa3pmRI6z0kPQldpcA8A== +mysql2@^3.18.2: + version "3.18.2" + resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.18.2.tgz#11d30fbc03a456d076760bd60e6ebf17abc6323d" + integrity sha512-UfEShBFAZZEAKjySnTUuE7BgqkYT4mx+RjoJ5aqtmwSSvNcJ/QxQPXz/y3jSxNiVRedPfgccmuBtiPCSiEEytw== dependencies: aws-ssl-profiles "^1.1.2" denque "^2.1.0" @@ -2197,15 +2197,15 @@ pg-int8@1.0.1: resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== -pg-pool@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.11.0.tgz#adf9a6651a30c839f565a3cc400110949c473d69" - integrity sha512-MJYfvHwtGp870aeusDh+hg9apvOe2zmpZJpyt+BMtzUWlVqbhFmMK6bOBXLBUPd7iRtIF9fZplDc7KrPN3PN7w== +pg-pool@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.12.0.tgz#798c84ec7d42ba03fff056ebe575daa6e14feab8" + integrity sha512-eIJ0DES8BLaziFHW7VgJEBPi5hg3Nyng5iKpYtj3wbcAUV9A1wLgWiY7ajf/f/oO1wfxt83phXPY8Emztg7ITg== -pg-protocol@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.11.0.tgz#2502908893edaa1e8c0feeba262dd7b40b317b53" - integrity sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g== +pg-protocol@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.12.0.tgz#e9827f3e1dae6cdcb78d009cba5bb699d88ae998" + integrity sha512-uOANXNRACNdElMXJ0tPz6RBM0XQ61nONGAwlt8da5zs/iUOOCLBQOHSXnrC6fMsvtjxbOJrZZl5IScGv+7mpbg== pg-types@2.2.0: version "2.2.0" @@ -2218,14 +2218,14 @@ pg-types@2.2.0: postgres-date "~1.0.4" postgres-interval "^1.1.0" -pg@^8.18.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.18.0.tgz#e9ee214206f5d9231240f1b82f22d2fa9de5cb75" - integrity sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ== +pg@^8.19.0: + version "8.19.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.19.0.tgz#2cb45322471c1ed05786ee7ec09bd91abdfe3eeb" + integrity sha512-QIcLGi508BAHkQ3pJNptsFz5WQMlpGbuBGBaIaXsWK8mel2kQ/rThYI+DbgjUvZrIr7MiuEuc9LcChJoEZK1xQ== dependencies: pg-connection-string "^2.11.0" - pg-pool "^3.11.0" - pg-protocol "^1.11.0" + pg-pool "^3.12.0" + pg-protocol "^1.12.0" pg-types "2.2.0" pgpass "1.0.5" optionalDependencies: From 37712ba2a4f6778e4746af57e52fbb5688a9733b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 13:45:09 +0000 Subject: [PATCH 032/113] Bump the prod-patch-updates group in /frontend with 2 updates Bumps the prod-patch-updates group in /frontend with 2 updates: [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons) and [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom). Updates `country-flag-icons` from 1.6.14 to 1.6.15 - [Changelog](https://gitlab.com/catamphetamine/country-flag-icons/blob/master/CHANGELOG.md) - [Commits](https://gitlab.com/catamphetamine/country-flag-icons/compare/v1.6.14...v1.6.15) Updates `react-router-dom` from 7.13.0 to 7.13.1 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.13.1/packages/react-router-dom) --- updated-dependencies: - dependency-name: country-flag-icons dependency-version: 1.6.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates - dependency-name: react-router-dom dependency-version: 7.13.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 4 ++-- frontend/yarn.lock | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 179e5484f1..5723f1437e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -22,7 +22,7 @@ "@tanstack/react-table": "^8.21.3", "@uiw/react-textarea-code-editor": "^3.1.1", "classnames": "^2.5.1", - "country-flag-icons": "^1.6.14", + "country-flag-icons": "^1.6.15", "date-fns": "^4.1.0", "ez-modal-react": "^1.0.5", "formik": "^2.4.9", @@ -34,7 +34,7 @@ "react-dom": "^19.2.4", "react-intl": "^8.1.3", "react-markdown": "^10.1.0", - "react-router-dom": "^7.13.0", + "react-router-dom": "^7.13.1", "react-select": "^5.10.2", "react-toastify": "^11.0.5", "rooks": "^9.5.0" diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 4beafdf1f5..8d9d498ab7 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1348,10 +1348,10 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -country-flag-icons@^1.6.14: - version "1.6.14" - resolved "https://registry.yarnpkg.com/country-flag-icons/-/country-flag-icons-1.6.14.tgz#4d4f73e03330f54a066b4a3d45ea80f7c0a961df" - integrity sha512-tPis+tN/esXXSuQJZCbkUhnIeUrZmtDKSjUuSI7Sss2GHsgAGvbSAQkx4Ut0qethZbDfPGYco8EjzOPElxYIFw== +country-flag-icons@^1.6.15: + version "1.6.15" + resolved "https://registry.yarnpkg.com/country-flag-icons/-/country-flag-icons-1.6.15.tgz#f89014f84534d4f35109280d88930e6c371684a9" + integrity sha512-92HoA8l6DluEidku8tKBftjuFRj4Rv3zDW1lXxCuNnqAxhUSkvso9gM/Afj4F5BnK+wneHIe3ydI+s+4NA29/Q== css.escape@^1.5.1: version "1.5.1" @@ -2491,17 +2491,17 @@ react-refresh@^0.18.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.18.0.tgz#2dce97f4fe932a4d8142fa1630e475c1729c8062" integrity sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw== -react-router-dom@^7.13.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.13.0.tgz#8b5f7204fadca680f0e94f207c163f0dcd1cfdf5" - integrity sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g== +react-router-dom@^7.13.1: + version "7.13.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.13.1.tgz#74c045acc333ca94612b889cd1b1e1ee9534dead" + integrity sha512-UJnV3Rxc5TgUPJt2KJpo1Jpy0OKQr0AjgbZzBFjaPJcFOb2Y8jA5H3LT8HUJAiRLlWrEXWHbF1Z4SCZaQjWDHw== dependencies: - react-router "7.13.0" + react-router "7.13.1" -react-router@7.13.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.13.0.tgz#de9484aee764f4f65b93275836ff5944d7f5bd3b" - integrity sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw== +react-router@7.13.1: + version "7.13.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.13.1.tgz#5e2b3ebafd6c78d9775e135474bf5060645077f7" + integrity sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA== dependencies: cookie "^1.0.1" set-cookie-parser "^2.6.0" From e869518dd18b0caa632ca278486c756b9be2a5da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 13:45:33 +0000 Subject: [PATCH 033/113] Bump @tabler/icons-react in /frontend in the prod-minor-updates group Bumps the prod-minor-updates group in /frontend with 1 update: [@tabler/icons-react](https://github.com/tabler/tabler-icons/tree/HEAD/packages/icons-react). Updates `@tabler/icons-react` from 3.37.1 to 3.38.0 - [Release notes](https://github.com/tabler/tabler-icons/releases) - [Commits](https://github.com/tabler/tabler-icons/commits/v3.38.0/packages/icons-react) --- updated-dependencies: - dependency-name: "@tabler/icons-react" dependency-version: 3.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 2 +- frontend/yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 179e5484f1..26b23039f0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "@tabler/core": "^1.4.0", - "@tabler/icons-react": "^3.37.1", + "@tabler/icons-react": "^3.38.0", "@tanstack/react-query": "^5.90.21", "@tanstack/react-table": "^8.21.3", "@uiw/react-textarea-code-editor": "^3.1.1", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 4beafdf1f5..22e171a2f9 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -834,17 +834,17 @@ "@popperjs/core" "^2.11.8" bootstrap "5.3.7" -"@tabler/icons-react@^3.37.1": - version "3.37.1" - resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.37.1.tgz#f8da613ede004580d27bb6eb1eeddb8b30950241" - integrity sha512-R7UE71Jji7i4Su56Y9zU1uYEBakUejuDJvyuYVmBuUoqp/x3Pn4cv2huarexR3P0GJ2eHg4rUj9l5zccqS6K/Q== +"@tabler/icons-react@^3.38.0": + version "3.38.0" + resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.38.0.tgz#c568dabae83fd3bf68f09e7db55c72c6df0b77b4" + integrity sha512-kR5wv+m4+GgmnSszg3rQd6SrTFAQ/XnQC/yTwIfuRJSfqB12KoIC7fPbIijFgOHTFlBN5DARnN0IVrR7KYG6/A== dependencies: - "@tabler/icons" "" + "@tabler/icons" "3.38.0" -"@tabler/icons@": - version "3.37.1" - resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.37.1.tgz#63321590040eba80b8257631648023c5139d6d3c" - integrity sha512-neLCWkuyNHEPXCyYu6nbN4S3g/59BTa4qyITAugYVpq1YzYNDOZooW7/vRWH98ZItXAudxdKU8muFT7y1PqzuA== +"@tabler/icons@3.38.0": + version "3.38.0" + resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.38.0.tgz#cb7bf6802a6d64b65cddda2c81fc21300d13dfe1" + integrity sha512-FdETQSpQ3lN7BEjEUzjKhsfTDCamrvMDops4HEMphTm3DmkIFpThoODn8XXZ8Q9MhjshIvphIYVHHB7zpq167w== "@tanstack/query-core@5.90.20": version "5.90.20" From eb67b3bfb637f369a1ac0766863e0f839c13c2ad Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Tue, 3 Mar 2026 08:44:42 +1000 Subject: [PATCH 034/113] Regenerate configs improvements - Fix certificates - Adds dry run - code cleanup --- backend/internal/dead-host.js | 4 +- backend/internal/proxy-host.js | 12 ++-- backend/internal/redirection-host.js | 5 +- backend/internal/stream.js | 5 +- backend/models/dead_host.js | 14 +++- backend/models/proxy_host.js | 14 +++- backend/models/redirection_host.js | 14 +++- backend/models/stream.js | 14 +++- backend/scripts/regenerate-config | 100 ++++++++++----------------- 9 files changed, 100 insertions(+), 82 deletions(-) diff --git a/backend/internal/dead-host.js b/backend/internal/dead-host.js index 21b120124f..34c94fda97 100644 --- a/backend/internal/dead-host.js +++ b/backend/internal/dead-host.js @@ -194,7 +194,7 @@ const internalDeadHost = { .query() .where("is_deleted", 0) .andWhere("id", data.id) - .allowGraph("[owner,certificate]") + .allowGraph(deadHostModel.defaultAllowGraph) .first(); if (accessData.permission_visibility !== "all") { @@ -347,7 +347,7 @@ const internalDeadHost = { .query() .where("is_deleted", 0) .groupBy("id") - .allowGraph("[owner,certificate]") + .allowGraph(deadHostModel.defaultAllowGraph) .orderBy(castJsonIfNeed("domain_names"), "ASC"); if (accessData.permission_visibility !== "all") { diff --git a/backend/internal/proxy-host.js b/backend/internal/proxy-host.js index 3299012a6b..34475c99f7 100644 --- a/backend/internal/proxy-host.js +++ b/backend/internal/proxy-host.js @@ -115,9 +115,9 @@ const internalProxyHost = { */ update: (access, data) => { let thisData = data; - const create_certificate = thisData.certificate_id === "new"; + const createCertificate = thisData.certificate_id === "new"; - if (create_certificate) { + if (createCertificate) { delete thisData.certificate_id; } @@ -155,7 +155,7 @@ const internalProxyHost = { ); } - if (create_certificate) { + if (createCertificate) { return internalCertificate .createQuickCertificate(access, { domain_names: thisData.domain_names || row.domain_names, @@ -232,7 +232,6 @@ const internalProxyHost = { */ get: (access, data) => { const thisData = data || {}; - return access .can("proxy_hosts:get", thisData.id) .then((access_data) => { @@ -240,7 +239,7 @@ const internalProxyHost = { .query() .where("is_deleted", 0) .andWhere("id", thisData.id) - .allowGraph("[owner,access_list.[clients,items],certificate]") + .allowGraph(proxyHostModel.defaultAllowGraph) .first(); if (access_data.permission_visibility !== "all") { @@ -422,11 +421,12 @@ const internalProxyHost = { */ getAll: async (access, expand, searchQuery) => { const accessData = await access.can("proxy_hosts:list"); + const query = proxyHostModel .query() .where("is_deleted", 0) .groupBy("id") - .allowGraph("[owner,access_list,certificate]") + .allowGraph(proxyHostModel.defaultAllowGraph) .orderBy(castJsonIfNeed("domain_names"), "ASC"); if (accessData.permission_visibility !== "all") { diff --git a/backend/internal/redirection-host.js b/backend/internal/redirection-host.js index 159ffd8b5e..5237859cfd 100644 --- a/backend/internal/redirection-host.js +++ b/backend/internal/redirection-host.js @@ -229,7 +229,6 @@ const internalRedirectionHost = { */ get: (access, data) => { const thisData = data || {}; - return access .can("redirection_hosts:get", thisData.id) .then((access_data) => { @@ -237,7 +236,7 @@ const internalRedirectionHost = { .query() .where("is_deleted", 0) .andWhere("id", thisData.id) - .allowGraph("[owner,certificate]") + .allowGraph(redirectionHostModel.defaultAllowGraph) .first(); if (access_data.permission_visibility !== "all") { @@ -426,7 +425,7 @@ const internalRedirectionHost = { .query() .where("is_deleted", 0) .groupBy("id") - .allowGraph("[owner,certificate]") + .allowGraph(redirectionHostModel.defaultAllowGraph) .orderBy(castJsonIfNeed("domain_names"), "ASC"); if (access_data.permission_visibility !== "all") { diff --git a/backend/internal/stream.js b/backend/internal/stream.js index 805b6652a1..909c92f842 100644 --- a/backend/internal/stream.js +++ b/backend/internal/stream.js @@ -178,7 +178,6 @@ const internalStream = { */ get: (access, data) => { const thisData = data || {}; - return access .can("streams:get", thisData.id) .then((access_data) => { @@ -186,7 +185,7 @@ const internalStream = { .query() .where("is_deleted", 0) .andWhere("id", thisData.id) - .allowGraph("[owner,certificate]") + .allowGraph(streamModel.defaultAllowGraph) .first(); if (access_data.permission_visibility !== "all") { @@ -375,7 +374,7 @@ const internalStream = { .query() .where("is_deleted", 0) .groupBy("id") - .allowGraph("[owner,certificate]") + .allowGraph(streamModel.defaultAllowGraph) .orderBy("incoming_port", "ASC"); if (access_data.permission_visibility !== "all") { diff --git a/backend/models/dead_host.js b/backend/models/dead_host.js index 0acf7ca76a..dc7c775ff9 100644 --- a/backend/models/dead_host.js +++ b/backend/models/dead_host.js @@ -3,7 +3,7 @@ import { Model } from "objection"; import db from "../db.js"; -import { convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; +import { castJsonIfNeed, convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; import Certificate from "./certificate.js"; import now from "./now_helper.js"; import User from "./user.js"; @@ -61,6 +61,18 @@ class DeadHost extends Model { return ["domain_names", "meta"]; } + static get defaultAllowGraph() { + return "[owner,certificate]"; + } + + static get defaultExpand() { + return ["certificate", "owner"]; + } + + static get defaultOrder() { + return [castJsonIfNeed("domain_names"), "ASC"]; + } + static get relationMappings() { return { owner: { diff --git a/backend/models/proxy_host.js b/backend/models/proxy_host.js index e8f447c8e7..acb8da9358 100644 --- a/backend/models/proxy_host.js +++ b/backend/models/proxy_host.js @@ -3,7 +3,7 @@ import { Model } from "objection"; import db from "../db.js"; -import { convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; +import { castJsonIfNeed, convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; import AccessList from "./access_list.js"; import Certificate from "./certificate.js"; import now from "./now_helper.js"; @@ -73,6 +73,18 @@ class ProxyHost extends Model { return ["domain_names", "meta", "locations"]; } + static get defaultAllowGraph() { + return "[owner,access_list.[clients,items],certificate]"; + } + + static get defaultExpand() { + return ["owner", "certificate", "access_list.[clients,items]"]; + } + + static get defaultOrder() { + return [castJsonIfNeed("domain_names"), "ASC"]; + } + static get relationMappings() { return { owner: { diff --git a/backend/models/redirection_host.js b/backend/models/redirection_host.js index 46c7301754..0c47de623d 100644 --- a/backend/models/redirection_host.js +++ b/backend/models/redirection_host.js @@ -3,7 +3,7 @@ import { Model } from "objection"; import db from "../db.js"; -import { convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; +import { castJsonIfNeed, convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; import Certificate from "./certificate.js"; import now from "./now_helper.js"; import User from "./user.js"; @@ -70,6 +70,18 @@ class RedirectionHost extends Model { return ["domain_names", "meta"]; } + static get defaultAllowGraph() { + return "[owner,certificate]"; + } + + static get defaultExpand() { + return ["certificate", "owner"]; + } + + static get defaultOrder() { + return [castJsonIfNeed("domain_names"), "ASC"]; + } + static get relationMappings() { return { owner: { diff --git a/backend/models/stream.js b/backend/models/stream.js index 5f61945a65..20a23a26f8 100644 --- a/backend/models/stream.js +++ b/backend/models/stream.js @@ -1,6 +1,6 @@ import { Model } from "objection"; import db from "../db.js"; -import { convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; +import { castJsonIfNeed, convertBoolFieldsToInt, convertIntFieldsToBool } from "../lib/helpers.js"; import Certificate from "./certificate.js"; import now from "./now_helper.js"; import User from "./user.js"; @@ -46,6 +46,18 @@ class Stream extends Model { return ["meta"]; } + static get defaultAllowGraph() { + return "[owner,certificate]"; + } + + static get defaultExpand() { + return ["certificate", "owner"]; + } + + static get defaultOrder() { + return [castJsonIfNeed("incoming_port"), "ASC"]; + } + static get relationMappings() { return { owner: { diff --git a/backend/scripts/regenerate-config b/backend/scripts/regenerate-config index 1254ded8f1..00f8411310 100755 --- a/backend/scripts/regenerate-config +++ b/backend/scripts/regenerate-config @@ -2,7 +2,6 @@ import * as process from "node:process"; // Use the node: protocol for built-ins import internalNginx from "../internal/nginx.js"; -import { castJsonIfNeed } from "../lib/helpers.js"; import { global as logger } from "../logger.js"; import deadHostModel from "../models/dead_host.js"; import proxyHostModel from "../models/proxy_host.js"; @@ -11,12 +10,16 @@ import streamModel from "../models/stream.js"; const args = process.argv.slice(2); const UNATTENDED = args.includes("-y") || args.includes("--yes"); -if (args.includes("--help")) { - console.log("Usage: ./regenerate-config [--help] [-y|--yes]"); +const DRY_RUN = args.includes("--dry-run"); + +if (args.includes("--help") || args.includes("-h")) { + console.log("\nThis will iterate over all Hosts and regnerate their Nginx configs.\n") + console.log("Usage: ./regenerate-config [-h|--help] [-y|--yes] [--dry-run]\n"); + process.exit(0); } // ask for the user to confirm the action if not in unattended mode -if (!UNATTENDED) { +if (!UNATTENDED && !DRY_RUN) { const readline = await import("node:readline"); const rl = readline.createInterface({ input: process.stdin, @@ -37,68 +40,37 @@ if (!UNATTENDED) { } } -// Let's do it. - -// Proxy hosts -const proxyRows = await proxyHostModel - .query() - .where("is_deleted", 0) - .andWhere("enabled", 1) - .groupBy("id") - .allowGraph("[owner,access_list,certificate]") - .orderBy(castJsonIfNeed("domain_names"), "ASC"); - -for (const row of proxyRows) { - logger.info( - `Regenerating config for Proxy Host #${row.id}: ${row.domain_names.join(", ")}`, - ); - await internalNginx.configure(proxyHostModel, "proxy_host", row); -} - -// Redirection hosts -const redirectionRows = await redirectionHostModel - .query() - .where("is_deleted", 0) - .andWhere("enabled", 1) - .groupBy("id") - .allowGraph("[owner,access_list,certificate]") - .orderBy(castJsonIfNeed("domain_names"), "ASC"); - -for (const row of redirectionRows) { - logger.info( - `Regenerating config for Redirection Host #${row.id}: ${row.domain_names.join(", ")}`, - ); - await internalNginx.configure(redirectionHostModel, "redirection_host", row); -} - -// 404 hosts -const deadRows = await deadHostModel - .query() - .where("is_deleted", 0) - .andWhere("enabled", 1) - .groupBy("id") - .allowGraph("[owner,access_list,certificate]") - .orderBy(castJsonIfNeed("domain_names"), "ASC"); +const logIt = (msg, type = "info") => logger[type]( + `${DRY_RUN ? '[DRY RUN] ' : ''}${msg}`, +); -for (const row of deadRows) { - logger.info( - `Regenerating config for 404 Host #${row.id}: ${row.domain_names.join(", ")}`, - ); - await internalNginx.configure(deadHostModel, "dead_host", row); -} +// Let's do it. -// Streams -const streamRows = await streamModel - .query() - .where("is_deleted", 0) - .andWhere("enabled", 1) - .groupBy("id") - .allowGraph("[owner,access_list,certificate]"); +const processItems = async (model, type) => { + const rows = await model + .query() + .where("is_deleted", 0) + .andWhere("enabled", 1) + .groupBy("id") + .allowGraph(model.defaultAllowGraph) + .withGraphFetched(`[${model.defaultExpand.join(", ")}]`) + .orderBy(...model.defaultOrder); + + logIt(`[${type}] Found ${rows.length} rows to process...`); + for (const row of rows) { + if (!DRY_RUN) { + logIt(`[${type}] Regenerating config #${row.id}: ${row.domain_names ? row.domain_names.join(", ") : 'port ' + row.incoming_port}`); + await internalNginx.configure(proxyHostModel, "proxy_host", row); + } else { + logIt(`[${type}] Skipping generation of config #${row.id}: ${row.domain_names ? row.domain_names.join(", ") : 'port ' + row.incoming_port}`); + } + } +}; -for (const row of streamRows) { - logger.info(`Regenerating config for Stream #${row.id}: ${row.incoming_port} -> ${row.forwarding_host}:${row.forwarding_port}`); - await internalNginx.configure(deadHostModel, "stream", row); -} +await processItems(proxyHostModel, "Proxy Host"); +await processItems(redirectionHostModel, "Redirection Host"); +await processItems(deadHostModel, "404 Host"); +await processItems(streamModel, "Stream"); -logger.success("Completed"); +logIt("Completed", "success"); process.exit(0); From 604b32ffbf33cbbcf133b87ff2dc4fd834607d45 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 5 Mar 2026 06:25:32 +1000 Subject: [PATCH 035/113] Fix incorrect html description --- frontend/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/index.html b/frontend/index.html index c6a2012266..08c760964f 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,7 +4,7 @@ Nginx Proxy Manager - + Date: Thu, 5 Mar 2026 06:37:10 +1000 Subject: [PATCH 036/113] Update all deps --- backend/biome.json | 2 +- backend/package.json | 2 +- backend/yarn.lock | 104 +++++++++++++++++----------------- frontend/biome.json | 2 +- frontend/package.json | 6 +- frontend/yarn.lock | 121 +++++++++++++++++++++------------------- test/cypress/Dockerfile | 2 +- test/package.json | 8 +-- test/yarn.lock | 8 +-- 9 files changed, 132 insertions(+), 123 deletions(-) diff --git a/backend/biome.json b/backend/biome.json index 403fe97253..ab68104658 100644 --- a/backend/biome.json +++ b/backend/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.3/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.5/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/backend/package.json b/backend/package.json index 1a72abcb11..e31bf22325 100644 --- a/backend/package.json +++ b/backend/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@apidevtools/swagger-parser": "^12.1.0", - "@biomejs/biome": "^2.4.3", + "@biomejs/biome": "^2.4.5", "chalk": "5.6.2", "nodemon": "^3.1.14" }, diff --git a/backend/yarn.lock b/backend/yarn.lock index 4a567b69b7..4fbf7eee8a 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -39,59 +39,59 @@ ajv-draft-04 "^1.0.0" call-me-maybe "^1.0.2" -"@biomejs/biome@^2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.3.tgz#eb7a48f1763fe333949665b3ff7814267eda000f" - integrity sha512-cBrjf6PNF6yfL8+kcNl85AjiK2YHNsbU0EvDOwiZjBPbMbQ5QcgVGFpjD0O52p8nec5O8NYw7PKw3xUR7fPAkQ== +"@biomejs/biome@^2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.5.tgz#90e75c1b6c60eb5bf8e8bfb193a1fbe9dc868f16" + integrity sha512-OWNCyMS0Q011R6YifXNOg6qsOg64IVc7XX6SqGsrGszPbkVCoaO7Sr/lISFnXZ9hjQhDewwZ40789QmrG0GYgQ== optionalDependencies: - "@biomejs/cli-darwin-arm64" "2.4.3" - "@biomejs/cli-darwin-x64" "2.4.3" - "@biomejs/cli-linux-arm64" "2.4.3" - "@biomejs/cli-linux-arm64-musl" "2.4.3" - "@biomejs/cli-linux-x64" "2.4.3" - "@biomejs/cli-linux-x64-musl" "2.4.3" - "@biomejs/cli-win32-arm64" "2.4.3" - "@biomejs/cli-win32-x64" "2.4.3" - -"@biomejs/cli-darwin-arm64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.3.tgz#ca188065f29940de1bb0029df2fd639719c92750" - integrity sha512-eOafSFlI/CF4id2tlwq9CVHgeEqvTL5SrhWff6ZORp6S3NL65zdsR3ugybItkgF8Pf4D9GSgtbB6sE3UNgOM9w== - -"@biomejs/cli-darwin-x64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.3.tgz#418c55c0bfd1f5d4d22c48cddf8bbd78b02e7fd7" - integrity sha512-V2+av4ilbWcBMNufTtMMXVW00nPwyIjI5qf7n9wSvUaZ+tt0EvMGk46g9sAFDJBEDOzSyoRXiSP6pCvKTOEbPA== - -"@biomejs/cli-linux-arm64-musl@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.3.tgz#58da6a862764cc6c02c27a2d737a4f187a446bcd" - integrity sha512-QuFzvsGo8BA4Xm7jGX5idkw6BqFblcCPySMTvq0AhGYnhUej5VJIDJbmTKfHqwjHepZiC4fA+T5i6wmiZolZNw== - -"@biomejs/cli-linux-arm64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.3.tgz#7642518e76df8fc2dcd0675042e85e58c03f6a74" - integrity sha512-0m+O0x9FgK99FAwDK+fiDtjs2wnqq7bvfj17KJVeCkTwT/liI+Q9njJG7lwXK0iSJVXeFNRIxukpVI3SifMYAA== - -"@biomejs/cli-linux-x64-musl@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.3.tgz#2a2fe720f636fc3894debf23925e9fe1c06da079" - integrity sha512-qEc0OCpj/uytruQ4wLM0yWNJLZy0Up8H1Er5MW3SrstqM6J2d4XqdNA86xzCy8MQCHpoVZ3lFye3GBlIL4/ljw== - -"@biomejs/cli-linux-x64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.3.tgz#dad0a81804ed2043e9ea3e4b29b3bb352c4eb26a" - integrity sha512-NVqh0saIU0u5OfOp/0jFdlKRE59+XyMvWmtx0f6Nm/2OpdxBl04coRIftBbY9d1gfu+23JVv4CItAqPYrjYh5w== - -"@biomejs/cli-win32-arm64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.3.tgz#1da3559be0924e891f9b986c8c0db7d503a34a11" - integrity sha512-gRO96vrIARilv/Cp2ZnmNNL5LSZg3RO75GPp13hsLO3N4YVpE7saaMDp2bcyV48y2N2Pbit1brkGVGta0yd6VQ== - -"@biomejs/cli-win32-x64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.3.tgz#58ddb4e205b274d693940f3d334debd6f4c94ff4" - integrity sha512-vSm/vOJe06pf14aGHfHl3Ar91Nlx4YYmohElDJ+17UbRwe99n987S/MhAlQOkONqf1utJor04ChkCPmKb8SWdw== + "@biomejs/cli-darwin-arm64" "2.4.5" + "@biomejs/cli-darwin-x64" "2.4.5" + "@biomejs/cli-linux-arm64" "2.4.5" + "@biomejs/cli-linux-arm64-musl" "2.4.5" + "@biomejs/cli-linux-x64" "2.4.5" + "@biomejs/cli-linux-x64-musl" "2.4.5" + "@biomejs/cli-win32-arm64" "2.4.5" + "@biomejs/cli-win32-x64" "2.4.5" + +"@biomejs/cli-darwin-arm64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.5.tgz#a62472ab3529a3905b16e1f3fdbbc74f2e5f0023" + integrity sha512-lGS4Nd5O3KQJ6TeWv10mElnx1phERhBxqGP/IKq0SvZl78kcWDFMaTtVK+w3v3lusRFxJY78n07PbKplirsU5g== + +"@biomejs/cli-darwin-x64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.5.tgz#e8bb001fcf6a8c751b0971cccf53993e9ba2e6e9" + integrity sha512-6MoH4tyISIBNkZ2Q5T1R7dLd5BsITb2yhhhrU9jHZxnNSNMWl+s2Mxu7NBF8Y3a7JJcqq9nsk8i637z4gqkJxQ== + +"@biomejs/cli-linux-arm64-musl@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.5.tgz#b7ef7902237f16113061659a4c54aff5ad4513d5" + integrity sha512-iqLDgpzobG7gpBF0fwEVS/LT8kmN7+S0E2YKFDtqliJfzNLnAiV2Nnyb+ehCDCJgAZBASkYHR2o60VQWikpqIg== + +"@biomejs/cli-linux-arm64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.5.tgz#f110af748965cb1b57624dbbbd7acba729da8780" + integrity sha512-U1GAG6FTjhAO04MyH4xn23wRNBkT6H7NentHh+8UxD6ShXKBm5SY4RedKJzkUThANxb9rUKIPc7B8ew9Xo/cWg== + +"@biomejs/cli-linux-x64-musl@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.5.tgz#c3493eba094216e735538c55354dbc8867b51909" + integrity sha512-NlKa7GpbQmNhZf9kakQeddqZyT7itN7jjWdakELeXyTU3pg/83fTysRRDPJD0akTfKDl6vZYNT9Zqn4MYZVBOA== + +"@biomejs/cli-linux-x64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.5.tgz#15805550db4e45ffbd6c42d140d0cb5c6dbe07af" + integrity sha512-NdODlSugMzTlENPTa4z0xB82dTUlCpsrOxc43///aNkTLblIYH4XpYflBbf5ySlQuP8AA4AZd1qXhV07IdrHdQ== + +"@biomejs/cli-win32-arm64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.5.tgz#8dae57dc8ffc1e82e00a59e623b5023c09726a4d" + integrity sha512-EBfrTqRIWOFSd7CQb/0ttjHMR88zm3hGravnDwUA9wHAaCAYsULKDebWcN5RmrEo1KBtl/gDVJMrFjNR0pdGUw== + +"@biomejs/cli-win32-x64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.5.tgz#0b4d3355e0d6856cff8ed722e05ec7b0652e43ab" + integrity sha512-Pmhv9zT95YzECfjEHNl3mN9Vhusw9VA5KHY0ZvlGsxsjwS5cb7vpRnHzJIv0vG7jB0JI7xEaMH9ddfZm/RozBw== "@gar/promisify@^1.0.1": version "1.1.3" diff --git a/frontend/biome.json b/frontend/biome.json index 442b838368..ccc3cd32a0 100644 --- a/frontend/biome.json +++ b/frontend/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.3/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.5/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/frontend/package.json b/frontend/package.json index 13c2d753f4..4223c67be5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -40,7 +40,7 @@ "rooks": "^9.5.0" }, "devDependencies": { - "@biomejs/biome": "^2.4.3", + "@biomejs/biome": "^2.4.5", "@formatjs/cli": "^6.13.0", "@tanstack/react-query-devtools": "^5.91.3", "@testing-library/dom": "^10.4.1", @@ -52,8 +52,8 @@ "@types/react-dom": "^19.2.3", "@types/react-table": "^7.7.20", "@vitejs/plugin-react": "^5.1.4", - "happy-dom": "^20.7.0", - "postcss": "^8.5.6", + "happy-dom": "^20.8.3", + "postcss": "^8.5.8", "postcss-simple-vars": "^7.0.1", "sass": "^1.97.3", "tmp": "^0.2.5", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 6091b3f45e..401d0590fd 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -170,59 +170,59 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" -"@biomejs/biome@^2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.3.tgz#eb7a48f1763fe333949665b3ff7814267eda000f" - integrity sha512-cBrjf6PNF6yfL8+kcNl85AjiK2YHNsbU0EvDOwiZjBPbMbQ5QcgVGFpjD0O52p8nec5O8NYw7PKw3xUR7fPAkQ== +"@biomejs/biome@^2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.5.tgz#90e75c1b6c60eb5bf8e8bfb193a1fbe9dc868f16" + integrity sha512-OWNCyMS0Q011R6YifXNOg6qsOg64IVc7XX6SqGsrGszPbkVCoaO7Sr/lISFnXZ9hjQhDewwZ40789QmrG0GYgQ== optionalDependencies: - "@biomejs/cli-darwin-arm64" "2.4.3" - "@biomejs/cli-darwin-x64" "2.4.3" - "@biomejs/cli-linux-arm64" "2.4.3" - "@biomejs/cli-linux-arm64-musl" "2.4.3" - "@biomejs/cli-linux-x64" "2.4.3" - "@biomejs/cli-linux-x64-musl" "2.4.3" - "@biomejs/cli-win32-arm64" "2.4.3" - "@biomejs/cli-win32-x64" "2.4.3" - -"@biomejs/cli-darwin-arm64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.3.tgz#ca188065f29940de1bb0029df2fd639719c92750" - integrity sha512-eOafSFlI/CF4id2tlwq9CVHgeEqvTL5SrhWff6ZORp6S3NL65zdsR3ugybItkgF8Pf4D9GSgtbB6sE3UNgOM9w== - -"@biomejs/cli-darwin-x64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.3.tgz#418c55c0bfd1f5d4d22c48cddf8bbd78b02e7fd7" - integrity sha512-V2+av4ilbWcBMNufTtMMXVW00nPwyIjI5qf7n9wSvUaZ+tt0EvMGk46g9sAFDJBEDOzSyoRXiSP6pCvKTOEbPA== - -"@biomejs/cli-linux-arm64-musl@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.3.tgz#58da6a862764cc6c02c27a2d737a4f187a446bcd" - integrity sha512-QuFzvsGo8BA4Xm7jGX5idkw6BqFblcCPySMTvq0AhGYnhUej5VJIDJbmTKfHqwjHepZiC4fA+T5i6wmiZolZNw== - -"@biomejs/cli-linux-arm64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.3.tgz#7642518e76df8fc2dcd0675042e85e58c03f6a74" - integrity sha512-0m+O0x9FgK99FAwDK+fiDtjs2wnqq7bvfj17KJVeCkTwT/liI+Q9njJG7lwXK0iSJVXeFNRIxukpVI3SifMYAA== - -"@biomejs/cli-linux-x64-musl@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.3.tgz#2a2fe720f636fc3894debf23925e9fe1c06da079" - integrity sha512-qEc0OCpj/uytruQ4wLM0yWNJLZy0Up8H1Er5MW3SrstqM6J2d4XqdNA86xzCy8MQCHpoVZ3lFye3GBlIL4/ljw== - -"@biomejs/cli-linux-x64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.3.tgz#dad0a81804ed2043e9ea3e4b29b3bb352c4eb26a" - integrity sha512-NVqh0saIU0u5OfOp/0jFdlKRE59+XyMvWmtx0f6Nm/2OpdxBl04coRIftBbY9d1gfu+23JVv4CItAqPYrjYh5w== - -"@biomejs/cli-win32-arm64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.3.tgz#1da3559be0924e891f9b986c8c0db7d503a34a11" - integrity sha512-gRO96vrIARilv/Cp2ZnmNNL5LSZg3RO75GPp13hsLO3N4YVpE7saaMDp2bcyV48y2N2Pbit1brkGVGta0yd6VQ== - -"@biomejs/cli-win32-x64@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.3.tgz#58ddb4e205b274d693940f3d334debd6f4c94ff4" - integrity sha512-vSm/vOJe06pf14aGHfHl3Ar91Nlx4YYmohElDJ+17UbRwe99n987S/MhAlQOkONqf1utJor04ChkCPmKb8SWdw== + "@biomejs/cli-darwin-arm64" "2.4.5" + "@biomejs/cli-darwin-x64" "2.4.5" + "@biomejs/cli-linux-arm64" "2.4.5" + "@biomejs/cli-linux-arm64-musl" "2.4.5" + "@biomejs/cli-linux-x64" "2.4.5" + "@biomejs/cli-linux-x64-musl" "2.4.5" + "@biomejs/cli-win32-arm64" "2.4.5" + "@biomejs/cli-win32-x64" "2.4.5" + +"@biomejs/cli-darwin-arm64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.5.tgz#a62472ab3529a3905b16e1f3fdbbc74f2e5f0023" + integrity sha512-lGS4Nd5O3KQJ6TeWv10mElnx1phERhBxqGP/IKq0SvZl78kcWDFMaTtVK+w3v3lusRFxJY78n07PbKplirsU5g== + +"@biomejs/cli-darwin-x64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.5.tgz#e8bb001fcf6a8c751b0971cccf53993e9ba2e6e9" + integrity sha512-6MoH4tyISIBNkZ2Q5T1R7dLd5BsITb2yhhhrU9jHZxnNSNMWl+s2Mxu7NBF8Y3a7JJcqq9nsk8i637z4gqkJxQ== + +"@biomejs/cli-linux-arm64-musl@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.5.tgz#b7ef7902237f16113061659a4c54aff5ad4513d5" + integrity sha512-iqLDgpzobG7gpBF0fwEVS/LT8kmN7+S0E2YKFDtqliJfzNLnAiV2Nnyb+ehCDCJgAZBASkYHR2o60VQWikpqIg== + +"@biomejs/cli-linux-arm64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.5.tgz#f110af748965cb1b57624dbbbd7acba729da8780" + integrity sha512-U1GAG6FTjhAO04MyH4xn23wRNBkT6H7NentHh+8UxD6ShXKBm5SY4RedKJzkUThANxb9rUKIPc7B8ew9Xo/cWg== + +"@biomejs/cli-linux-x64-musl@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.5.tgz#c3493eba094216e735538c55354dbc8867b51909" + integrity sha512-NlKa7GpbQmNhZf9kakQeddqZyT7itN7jjWdakELeXyTU3pg/83fTysRRDPJD0akTfKDl6vZYNT9Zqn4MYZVBOA== + +"@biomejs/cli-linux-x64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.5.tgz#15805550db4e45ffbd6c42d140d0cb5c6dbe07af" + integrity sha512-NdODlSugMzTlENPTa4z0xB82dTUlCpsrOxc43///aNkTLblIYH4XpYflBbf5ySlQuP8AA4AZd1qXhV07IdrHdQ== + +"@biomejs/cli-win32-arm64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.5.tgz#8dae57dc8ffc1e82e00a59e623b5023c09726a4d" + integrity sha512-EBfrTqRIWOFSd7CQb/0ttjHMR88zm3hGravnDwUA9wHAaCAYsULKDebWcN5RmrEo1KBtl/gDVJMrFjNR0pdGUw== + +"@biomejs/cli-win32-x64@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.5.tgz#0b4d3355e0d6856cff8ed722e05ec7b0652e43ab" + integrity sha512-Pmhv9zT95YzECfjEHNl3mN9Vhusw9VA5KHY0ZvlGsxsjwS5cb7vpRnHzJIv0vG7jB0JI7xEaMH9ddfZm/RozBw== "@emotion/babel-plugin@^11.13.5": version "11.13.5" @@ -1590,10 +1590,10 @@ globrex@^0.1.2: resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== -happy-dom@^20.7.0: - version "20.7.0" - resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.7.0.tgz#b0b02f8c9b7553e093ca7ef414f17ad95436e43b" - integrity sha512-hR/uLYQdngTyEfxnOoa+e6KTcfBFyc1hgFj/Cc144A5JJUuHFYqIEBDcD4FeGqUeKLRZqJ9eN9u7/GDjYEgS1g== +happy-dom@^20.8.3: + version "20.8.3" + resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.8.3.tgz#aa59a13c0e43c48819190d913ab5e36800e87431" + integrity sha512-lMHQRRwIPyJ70HV0kkFT7jH/gXzSI7yDkQFe07E2flwmNDFoWUTRMKpW2sglsnpeA7b6S2TJPp98EbQxai8eaQ== dependencies: "@types/node" ">=20.0.0" "@types/whatwg-mimetype" "^3.0.2" @@ -2351,6 +2351,15 @@ postcss@^8.5.6: picocolors "^1.1.1" source-map-js "^1.2.1" +postcss@^8.5.8: + version "8.5.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.8.tgz#6230ecc8fb02e7a0f6982e53990937857e13f399" + integrity sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg== + dependencies: + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" + pretty-format@^27.0.2: version "27.5.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" diff --git a/test/cypress/Dockerfile b/test/cypress/Dockerfile index 99eb2236e8..bd821085a2 100644 --- a/test/cypress/Dockerfile +++ b/test/cypress/Dockerfile @@ -1,4 +1,4 @@ -FROM cypress/included:15.10.0 +FROM cypress/included:15.11.0 # Disable Cypress CLI colors ENV FORCE_COLOR=0 diff --git a/test/package.json b/test/package.json index 0704f79899..bb454ba04c 100644 --- a/test/package.json +++ b/test/package.json @@ -6,15 +6,15 @@ "dependencies": { "@jc21/cypress-swagger-validation": "^0.3.2", "@quobix/vacuum": "^0.24.0", - "axios": "^1.13.5", + "axios": "^1.13.6", "chalk": "^5.6.2", - "cypress": "^15.10.0", + "cypress": "^15.11.0", "cypress-multi-reporters": "^2.0.5", "cypress-wait-until": "^3.0.2", - "eslint": "^10.0.0", + "eslint": "^10.0.2", "eslint-plugin-align-assignments": "^1.1.2", "eslint-plugin-chai-friendly": "^1.1.0", - "eslint-plugin-cypress": "^6.0.0", + "eslint-plugin-cypress": "^6.1.0", "form-data": "^4.0.5", "lodash": "^4.17.23", "mocha": "^11.7.5", diff --git a/test/yarn.lock b/test/yarn.lock index c966033ef3..e1be367b1e 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -380,7 +380,7 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== -axios@^1.13.5, axios@^1.7.7: +axios@^1.13.6, axios@^1.7.7: version "1.13.6" resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.6.tgz#c3f92da917dc209a15dd29936d20d5089b6b6c98" integrity sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ== @@ -634,7 +634,7 @@ cypress-wait-until@^3.0.2: resolved "https://registry.yarnpkg.com/cypress-wait-until/-/cypress-wait-until-3.0.2.tgz#c90dddfa4c46a2c422f5b91d486531c560bae46e" integrity sha512-iemies796dD5CgjG5kV0MnpEmKSH+s7O83ZoJLVzuVbZmm4lheMsZqAVT73hlMx4QlkwhxbyUzhOBUOZwoOe0w== -cypress@^15.10.0: +cypress@^15.11.0: version "15.11.0" resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.11.0.tgz#7402d0a2bb4573b6c6655191ad170cff1985ff3f" integrity sha512-NXDE6/fqZuzh1Zr53nyhCCa4lcANNTYWQNP9fJO+tzD3qVTDaTUni5xXMuigYjMujQ7CRiT9RkJJONmPQSsDFw== @@ -844,7 +844,7 @@ eslint-plugin-chai-friendly@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-1.1.0.tgz#e21cbd301ff0d4c1c563d3bbc865e9ac0296fb7c" integrity sha512-+T1rClpDdXkgBAhC16vRQMI5umiWojVqkj9oUTdpma50+uByCZM/oBfxitZiOkjMRlm725mwFfz/RVgyDRvCKA== -eslint-plugin-cypress@^6.0.0: +eslint-plugin-cypress@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-6.1.0.tgz#5619ceb67d09d74cb5225408bb36c962afb94880" integrity sha512-B8sxtNpINDxFkmsu1qKYjg70VsP8SGneEXgLcZMk1bUZcW08S+JyaiMdof1x6dmt02FgOD7YkT4wOaOD5HotJw== @@ -871,7 +871,7 @@ eslint-visitor-keys@^5.0.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be" integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== -eslint@^10.0.0: +eslint@^10.0.2: version "10.0.2" resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.0.2.tgz#1009263467591810320f2e1ad52b8a750d1acbab" integrity sha512-uYixubwmqJZH+KLVYIVKY1JQt7tysXhtj21WSvjcSmU5SVNzMus1bgLe+pAt816yQ8opKfheVVoPLqvVMGejYw== From 4a9ad2baf7d7c44e3dee3ad97f03765e28d9c820 Mon Sep 17 00:00:00 2001 From: Nishant <5211104+roundone@users.noreply.github.com> Date: Fri, 6 Mar 2026 19:37:51 +0530 Subject: [PATCH 037/113] docs: add selfhosting.sh guide to third-party list --- docs/src/third-party/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/src/third-party/index.md b/docs/src/third-party/index.md index cd54b45b97..dac77ee991 100644 --- a/docs/src/third-party/index.md +++ b/docs/src/third-party/index.md @@ -14,7 +14,8 @@ Known integrations: - [Proxmox Scripts](https://github.com/ej52/proxmox-scripts/tree/main/apps/nginx-proxy-manager) - [Proxmox VE Helper-Scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=nginxproxymanager) - [nginxproxymanagerGraf](https://github.com/ma-karai/nginxproxymanagerGraf) +- [selfhosting.sh Nginx Proxy Manager Guide](https://selfhosting.sh/apps/nginx-proxy-manager/) - Complete Docker Compose setup guide with SSL configuration, access lists, and proxy host management. If you would like your integration of NPM listed, please open a -[Github issue](https://github.com/NginxProxyManager/nginx-proxy-manager/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=) +[Github issue](https://github.com/NginxProxyManager/nginx-proxy-manager/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=) \ No newline at end of file From d88f0b26186c14236f3c307876545fa7e82ece78 Mon Sep 17 00:00:00 2001 From: Alexey Krainev Date: Fri, 13 Mar 2026 01:19:22 +0500 Subject: [PATCH 038/113] Update ru.json --- frontend/src/locale/src/ru.json | 134 ++++++++++++++++++++++++++++++-- 1 file changed, 127 insertions(+), 7 deletions(-) diff --git a/frontend/src/locale/src/ru.json b/frontend/src/locale/src/ru.json index 44dff1294c..d81a4cc802 100644 --- a/frontend/src/locale/src/ru.json +++ b/frontend/src/locale/src/ru.json @@ -1,4 +1,61 @@ { + "2fa.backup-codes-remaining": { + "defaultMessage": "Осталось резервных кодов: {count}" + }, + "2fa.backup-warning": { + "defaultMessage": "Сохраните коды в надежном месте. Они одноразовые." + }, + "2fa.disable": { + "defaultMessage": "Выключить двухфакторную аутентификацию" + }, + "2fa.disable-confirm": { + "defaultMessage": "Выключить 2FA" + }, + "2fa.disable-warning": { + "defaultMessage": "Выключение двухфакторной аутентификации снизит защиту вашего аккаунта." + }, + "2fa.disabled": { + "defaultMessage": "Выключена" + }, + "2fa.done": { + "defaultMessage": "Я сохранил резервные коды" + }, + "2fa.enable": { + "defaultMessage": "Включить двухфакторную аутентификацию" + }, + "2fa.enabled": { + "defaultMessage": "Включена" + }, + "2fa.enter-code": { + "defaultMessage": "Введите код подтверждения" + }, + "2fa.enter-code-disable": { + "defaultMessage": "Введите код подтверждения для отключения" + }, + "2fa.regenerate": { + "defaultMessage": "Перевыпустить" + }, + "2fa.regenerate-backup": { + "defaultMessage": "Перевыпустить резервные коды" + }, + "2fa.regenerate-instructions": { + "defaultMessage": "Введите код проверки, чтобы создать новые резервные коды. Прежние перестанут работать." + }, + "2fa.secret-key": { + "defaultMessage": "Секретный ключ" + }, + "2fa.setup-instructions": { + "defaultMessage": "Отсканируйте QR-код приложением или введите ключ настройки вручную." + }, + "2fa.status": { + "defaultMessage": "Статус" + }, + "2fa.title": { + "defaultMessage": "Двухфакторная аутентификация" + }, + "2fa.verify-enable": { + "defaultMessage": "Проверить и включить" + }, "access-list": { "defaultMessage": "Список доступа" }, @@ -15,14 +72,17 @@ "defaultMessage": "Обратите внимание: разрешающие и запрещающие директивы применяются в порядке их определения." }, "access-list.pass-auth": { - "defaultMessage": "Передавать авторизацию на upstream-сервер" + "defaultMessage": "Проксировать авторизацию" }, "access-list.public": { - "defaultMessage": "Общедоступный" + "defaultMessage": "Публичный" }, "access-list.public.subtitle": { "defaultMessage": "Без аутентификации" }, + "access-list.rule-source.placeholder": { + "defaultMessage": "192.168.1.100 или 192.168.1.0/24 или 2001:0db8::/32" + }, "access-list.satisfy-any": { "defaultMessage": "Любое совпадение" }, @@ -38,12 +98,18 @@ "action.add-location": { "defaultMessage": "Добавить маршрут" }, + "action.allow": { + "defaultMessage": "Разрешить" + }, "action.close": { "defaultMessage": "Закрыть" }, "action.delete": { "defaultMessage": "Удалить" }, + "action.deny": { + "defaultMessage": "Запретить" + }, "action.disable": { "defaultMessage": "Выключить" }, @@ -68,6 +134,9 @@ "auditlogs": { "defaultMessage": "Журнал аудита" }, + "auto": { + "defaultMessage": "Авто" + }, "cancel": { "defaultMessage": "Отменить" }, @@ -128,6 +197,9 @@ "certificates.dns.provider": { "defaultMessage": "DNS-провайдер" }, + "certificates.dns.provider.placeholder": { + "defaultMessage": "Выберите провайдера..." + }, "certificates.dns.warning": { "defaultMessage": "Этот раздел требует знаний о Certbot и его DNS-плагинах. Пожалуйста, обратитесь к документации соответствующих плагинов." }, @@ -275,6 +347,9 @@ "domain-names.wildcards-not-supported": { "defaultMessage": "Подстановочные домены не поддерживаются этим центром сертификации" }, + "domains.advanced": { + "defaultMessage": "Расширенные" + }, "domains.force-ssl": { "defaultMessage": "Всегда SSL" }, @@ -287,6 +362,9 @@ "domains.http2-support": { "defaultMessage": "Поддержка HTTP/2" }, + "domains.trust-forwarded-proto": { + "defaultMessage": "Доверять X-Forwarded-Proto" + }, "domains.use-dns": { "defaultMessage": "Проверка через DNS" }, @@ -360,7 +438,7 @@ "defaultMessage": "Поддержка WebSocket" }, "host.forward-port": { - "defaultMessage": "Порт перенаправления" + "defaultMessage": "Целевой порт" }, "host.forward-scheme": { "defaultMessage": "Схема" @@ -383,6 +461,21 @@ "loading": { "defaultMessage": "Загрузка…" }, + "login.2fa-code": { + "defaultMessage": "Код проверки" + }, + "login.2fa-code-placeholder": { + "defaultMessage": "Введите код" + }, + "login.2fa-description": { + "defaultMessage": "Введите код из приложения для аутентификации" + }, + "login.2fa-title": { + "defaultMessage": "Двухфакторная аутентификация" + }, + "login.2fa-verify": { + "defaultMessage": "Проверить" + }, "login.title": { "defaultMessage": "Авторизация" }, @@ -504,7 +597,7 @@ "defaultMessage": "Прокси-хост" }, "proxy-host.forward-host": { - "defaultMessage": "Хост / IP перенаправления" + "defaultMessage": "Целевой хост" }, "proxy-hosts": { "defaultMessage": "Прокси-хосты" @@ -513,13 +606,13 @@ "defaultMessage": "{count} {count, plural, one {прокси-хост} few {прокси-хоста} many {прокси-хостов} other {прокси-хоста}}" }, "public": { - "defaultMessage": "Общедоступный" + "defaultMessage": "Публичный" }, "redirection-host": { "defaultMessage": "Редирект-хост" }, "redirection-host.forward-domain": { - "defaultMessage": "Домен перенаправления" + "defaultMessage": "Целевой домен" }, "redirection-host.forward-http-code": { "defaultMessage": "HTTP-код" @@ -530,6 +623,24 @@ "redirection-hosts.count": { "defaultMessage": "{count} {count, plural, one {редирект-хост} few {редирект-хоста} many {редирект-хостов} other {редирект-хоста}}" }, + "redirection-hosts.http-code.300": { + "defaultMessage": "300 Множественный выбор" + }, + "redirection-hosts.http-code.301": { + "defaultMessage": "301 Ресурс перемещен навсегда" + }, + "redirection-hosts.http-code.302": { + "defaultMessage": "302 Ресурс временно перемещен" + }, + "redirection-hosts.http-code.303": { + "defaultMessage": "303 Смотрите другой ресурс" + }, + "redirection-hosts.http-code.307": { + "defaultMessage": "307 Временное перенаправление" + }, + "redirection-hosts.http-code.308": { + "defaultMessage": "308 Ресурс перемещен навсегда" + }, "role.admin": { "defaultMessage": "Администратор" }, @@ -585,7 +696,10 @@ "defaultMessage": "Поток" }, "stream.forward-host": { - "defaultMessage": "Хост перенаправления" + "defaultMessage": "Целевой хост" + }, + "stream.forward-host.placeholder": { + "defaultMessage": "example.com или 10.0.0.1 или 2001:db8:3333:4444:5555:6666:7777:8888" }, "stream.incoming-port": { "defaultMessage": "Входящий порт" @@ -605,6 +719,9 @@ "test": { "defaultMessage": "Проверить" }, + "update-available": { + "defaultMessage": "Доступно обновление: {latestVersion}" + }, "user": { "defaultMessage": "Пользователь" }, @@ -647,6 +764,9 @@ "user.switch-light": { "defaultMessage": "Включить светлую тему" }, + "user.two-factor": { + "defaultMessage": "Настроить 2FA" + }, "username": { "defaultMessage": "Имя пользователя" }, From 10e33b39d7a73ed2f0389453270aa55205ab2a8c Mon Sep 17 00:00:00 2001 From: Alexey Krainev Date: Fri, 13 Mar 2026 01:50:55 +0500 Subject: [PATCH 039/113] Fix ru.json --- frontend/src/locale/src/ru.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/locale/src/ru.json b/frontend/src/locale/src/ru.json index d81a4cc802..c18be998f9 100644 --- a/frontend/src/locale/src/ru.json +++ b/frontend/src/locale/src/ru.json @@ -27,10 +27,10 @@ "defaultMessage": "Включена" }, "2fa.enter-code": { - "defaultMessage": "Введите код подтверждения" + "defaultMessage": "Введите код проверки" }, "2fa.enter-code-disable": { - "defaultMessage": "Введите код подтверждения для отключения" + "defaultMessage": "Введите код проверки для выключения" }, "2fa.regenerate": { "defaultMessage": "Перевыпустить" From 9e4c92a066d8e5f537284635c1fdbbf0e20dd5f7 Mon Sep 17 00:00:00 2001 From: Terry Git Cracken Date: Sat, 14 Mar 2026 20:08:49 -0500 Subject: [PATCH 040/113] docs: add NPM Auth Gateway to third-party integrations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add NPM Auth Gateway — a companion app that adds user-level access control with auto IP whitelisting on top of NPM's access list system. NPM remains authoritative. The gateway only reads/writes through NPM's REST API. If the gateway goes down, all existing IP whitelists persist in NPM. Running in production managing 90+ proxy hosts. --- docs/src/third-party/index.md | 1 + docs/src/third-party/npm-auth-gateway.md | 83 ++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 docs/src/third-party/npm-auth-gateway.md diff --git a/docs/src/third-party/index.md b/docs/src/third-party/index.md index cd54b45b97..60768b5a76 100644 --- a/docs/src/third-party/index.md +++ b/docs/src/third-party/index.md @@ -14,6 +14,7 @@ Known integrations: - [Proxmox Scripts](https://github.com/ej52/proxmox-scripts/tree/main/apps/nginx-proxy-manager) - [Proxmox VE Helper-Scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=nginxproxymanager) - [nginxproxymanagerGraf](https://github.com/ma-karai/nginxproxymanagerGraf) +- [NPM Auth Gateway](https://github.com/Mark0025/npm-auth-gateway) — User-level access control with auto IP whitelisting via auth providers. [Details](/third-party/npm-auth-gateway) If you would like your integration of NPM listed, please open a diff --git a/docs/src/third-party/npm-auth-gateway.md b/docs/src/third-party/npm-auth-gateway.md new file mode 100644 index 0000000000..7dce9327f6 --- /dev/null +++ b/docs/src/third-party/npm-auth-gateway.md @@ -0,0 +1,83 @@ +--- +outline: deep +--- + +# NPM Auth Gateway + +User-level access control for Nginx Proxy Manager with auto IP whitelisting. + +**Repository:** [github.com/Mark0025/npm-auth-gateway](https://github.com/Mark0025/npm-auth-gateway) + +## What It Does + +NPM Auth Gateway is a companion app that adds user management on top of NPM's access list system. Instead of manually adding IPs to access lists, users log in through an auth provider and their IP is automatically whitelisted on the access lists they've been assigned to. + +NPM remains fully in control — the gateway only reads and writes through NPM's REST API. All access enforcement stays in NPM's nginx config. + +## The Problem It Solves + +- **Manual IP management** — every time a user needs access, an admin manually adds their IP to an access list +- **IP changes** — mobile users, VPNs, and travel mean IPs change constantly +- **No user visibility** — access lists contain IPs, but there's no record of who each IP belongs to +- **Scaling** — managing 10+ users across multiple access lists gets tedious + +## How It Works + +``` +Browser → NPM (SSL) → Auth Gateway → Auth Provider + ↓ + NPM REST API (:81) + auto-add IP to access lists +``` + +1. Admin creates a user by email +2. Admin assigns access — a table of proxy hosts with checkboxes showing which hosts each access list protects +3. User logs in → IP detected → automatically added to their assigned NPM access lists +4. User's IP changes → they log in again → new IP auto-added +5. Admin revokes access → user's IPs removed from all access lists + +## Key Features + +- **Auto IP whitelisting** on login +- **Per-host access control** with checkboxes (not abstract groups) +- **Admin/user roles** — admin sees everything, users see only their assigned hosts +- **Personalized dashboard** — users see their services as clickable cards +- **Login logging** with IP history per user +- **One-click revoke** — removes user's IPs from all access lists +- **Searchable tables** for proxy hosts and users +- **Survives gateway failure** — NPM keeps enforcing existing whitelists + +## Architecture + +| Responsibility | Who Handles It | +|---|---| +| SSL termination | **NPM** | +| Proxy host configuration | **NPM** | +| Access list enforcement | **NPM** | +| IP whitelisting | **NPM** | +| User identity | **Auth Provider** | +| User → access list mapping | **Gateway** | +| Auto IP whitelisting | **Gateway** | + +**No database required.** NPM stores all proxy/ACL config. User metadata lives in the auth provider. Zero state duplication. + +## NPM API Endpoints Used + +| Endpoint | Purpose | +|---|---| +| `POST /api/tokens` | Authentication | +| `GET /api/nginx/proxy-hosts` | List proxy hosts | +| `GET /api/nginx/access-lists` | List access lists | +| `PUT /api/nginx/access-lists/:id` | Update access list IPs | +| `POST /api/nginx/access-lists` | Create access list | +| `GET /api/nginx/certificates` | List SSL certificates | + +## Setup + +See the [repository README](https://github.com/Mark0025/npm-auth-gateway) for Docker deployment instructions. + +## Tech Stack + +Next.js / React / TypeScript / Docker + +The auth provider is swappable — the proof of concept uses Clerk, but any OIDC provider works (Auth0, Keycloak, Authentik, etc.). From cafb614b8063774639407efa22ce9209754f8d1f Mon Sep 17 00:00:00 2001 From: 12LuA <71656192+12LuA@users.noreply.github.com> Date: Wed, 18 Mar 2026 13:47:03 +0100 Subject: [PATCH 041/113] Fix typo in debug mode comment --- backend/lib/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/lib/config.js b/backend/lib/config.js index 544bbfecb0..a491c190e8 100644 --- a/backend/lib/config.js +++ b/backend/lib/config.js @@ -211,7 +211,7 @@ const isPostgres = () => { }; /** - * Are we running in debug mdoe? + * Are we running in debug mode? * * @returns {boolean} */ From 1b782997ef7db59f54dd129bf87e329765028050 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Thu, 19 Mar 2026 11:10:24 +0800 Subject: [PATCH 042/113] fix: postgres data volume path --- docs/src/setup/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/setup/index.md b/docs/src/setup/index.md index 286a2e3539..844a80dfdc 100644 --- a/docs/src/setup/index.md +++ b/docs/src/setup/index.md @@ -150,7 +150,7 @@ services: POSTGRES_PASSWORD: 'npmpass' POSTGRES_DB: 'npm' volumes: - - ./postgresql:/var/lib/postgresql + - ./postgres_data:/var/lib/postgresql/data ``` ::: warning From 40f39a7f19705fa51d7fe7cc25d388cd884169e1 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Sat, 21 Mar 2026 11:20:25 +0100 Subject: [PATCH 043/113] Update nl.json - completion and corrections Adding Ducth language translation for latest additions Capitalisation Infinitive verb form --- frontend/src/locale/src/nl.json | 273 +++++++++++++++++++++++--------- 1 file changed, 195 insertions(+), 78 deletions(-) diff --git a/frontend/src/locale/src/nl.json b/frontend/src/locale/src/nl.json index 81c37054ba..d37fcf4770 100644 --- a/frontend/src/locale/src/nl.json +++ b/frontend/src/locale/src/nl.json @@ -1,4 +1,61 @@ { + "2fa.backup-codes-remaining": { + "defaultMessage": "Resterende back-upcodes: {count}" + }, + "2fa.backup-warning": { + "defaultMessage": "Sla deze back-upcodes op een veilige plaats op. Elke code kan slechts één keer worden gebruikt." + }, + "2fa.disable": { + "defaultMessage": "Twee-Factor Authenticatie uitschakelen" + }, + "2fa.disable-confirm": { + "defaultMessage": "2FA uitschakelen" + }, + "2fa.disable-warning": { + "defaultMessage": "Als u tweefactorauthenticatie uitschakelt, wordt uw account minder veilig." + }, + "2fa.disabled": { + "defaultMessage": "Uitgeschakeld" + }, + "2fa.done": { + "defaultMessage": "Ik heb mijn back-upcodes opgeslagen" + }, + "2fa.enable": { + "defaultMessage": "Twee-Factor Authenticatie inschakelen" + }, + "2fa.enabled": { + "defaultMessage": "Ingeschakeld" + }, + "2fa.enter-code": { + "defaultMessage": "Verificatiecode invoeren" + }, + "2fa.enter-code-disable": { + "defaultMessage": "Verificatiecode invoeren om uit te schakelen" + }, + "2fa.regenerate": { + "defaultMessage": "Opnieuw genereren" + }, + "2fa.regenerate-backup": { + "defaultMessage": "Back-upcodes opnieuw genereren" + }, + "2fa.regenerate-instructions": { + "defaultMessage": "Voer een verificatiecode in om nieuwe back-upcodes te genereren. Oude codes worden ongeldig gemaakt." + }, + "2fa.secret-key": { + "defaultMessage": "Geheime sleutel" + }, + "2fa.setup-instructions": { + "defaultMessage": "Scan deze QR-code met uw authenticator-app, of voer de code handmatig in." + }, + "2fa.status": { + "defaultMessage": "Status" + }, + "2fa.title": { + "defaultMessage": "Twee-factor Authenticatie" + }, + "2fa.verify-enable": { + "defaultMessage": "Verifiëren en inschakelen" + }, "access-list": { "defaultMessage": "Toegangslijst" }, @@ -12,10 +69,10 @@ "defaultMessage": "Als er minimaal 1 regel bestaat, wordt deze regel als laatste toegevoegd" }, "access-list.help.rules-order": { - "defaultMessage": "Onthoud dat de regels van boven naar beneden worden toegevoegd." + "defaultMessage": "Houd er rekening mee dat de regels worden toegepast in de volgorde waarin ze zijn gedefinieerd." }, "access-list.pass-auth": { - "defaultMessage": "Pass Auth to Upstream" + "defaultMessage": "Authenticatie verder omhoog doorgeven" }, "access-list.public": { "defaultMessage": "Publiekelijk toegankelijk" @@ -23,6 +80,9 @@ "access-list.public.subtitle": { "defaultMessage": "Geen basisautentificatie vereist" }, + "access-list.rule-source.placeholder": { + "defaultMessage": "192.168.1.100 or 192.168.1.0/24 or 2001:0db8::/32" + }, "access-list.satisfy-any": { "defaultMessage": "Voldoe aan elke" }, @@ -36,7 +96,10 @@ "defaultMessage": "Toevoegen" }, "action.add-location": { - "defaultMessage": "Locatie Toevoegen" + "defaultMessage": "Locatie toevoegen" + }, + "action.allow": { + "defaultMessage": "Toestaan" }, "action.close": { "defaultMessage": "Sluiten" @@ -44,11 +107,14 @@ "action.delete": { "defaultMessage": "Verwijderen" }, + "action.deny": { + "defaultMessage": "Afwijzen" + }, "action.disable": { "defaultMessage": "Uitzetten" }, "action.download": { - "defaultMessage": "Download" + "defaultMessage": "Downloaden" }, "action.edit": { "defaultMessage": "Bewerken" @@ -57,17 +123,20 @@ "defaultMessage": "Aanzetten" }, "action.permissions": { - "defaultMessage": "Rechten" + "defaultMessage": "Machtigingen" }, "action.renew": { "defaultMessage": "Vernieuwen" }, "action.view-details": { - "defaultMessage": "Bekijk Details" + "defaultMessage": "Details weergeven" }, "auditlogs": { "defaultMessage": "Logboeken" }, + "auto": { + "defaultMessage": "Autom." + }, "cancel": { "defaultMessage": "Annuleren" }, @@ -78,13 +147,13 @@ "defaultMessage": "Certificaat" }, "certificate.custom-certificate-key": { - "defaultMessage": "Certificaat Sleutel" + "defaultMessage": "Certificaatsleutel" }, "certificate.custom-intermediate": { - "defaultMessage": "Intermediate Certificaat" + "defaultMessage": "Intermediate certificaat" }, "certificate.in-use": { - "defaultMessage": "In Gebruik" + "defaultMessage": "In gebruik" }, "certificate.none.subtitle": { "defaultMessage": "Geen certificaat toegewezen" @@ -96,58 +165,61 @@ "defaultMessage": "Geen" }, "certificate.not-in-use": { - "defaultMessage": "Niet Gebruikt" + "defaultMessage": "Niet gebruikt" }, "certificate.renew": { - "defaultMessage": "Certificaat Vernieuwen" + "defaultMessage": "Certificaat vernieuwen" }, "certificates": { "defaultMessage": "Certificaten" }, "certificates.custom": { - "defaultMessage": "Aangepast Certificaat" + "defaultMessage": "Aangepast certificaat" }, "certificates.custom.warning": { - "defaultMessage": "Sleutels met een wachtzin zijn niet ondersteund." + "defaultMessage": "Sleutels met een wachtwoordzin zijn niet ondersteund." }, "certificates.dns.credentials": { - "defaultMessage": "Credentials File Content" + "defaultMessage": "Inloggegevens bestandsinhoud" }, "certificates.dns.credentials-note": { - "defaultMessage": "Deze plugin vereist een configuratiebestand met een API token of andere gegevens van de provider." + "defaultMessage": "Deze plugin vereist een configuratiebestand met een API-token of andere gegevens van de provider." }, "certificates.dns.credentials-warning": { - "defaultMessage": "Deze data zal worden opgeslagen als plaintext in de database en in een bestand!" + "defaultMessage": "Deze gegevens worden opgeslagen als plaintext in de database en in een bestand!" }, "certificates.dns.propagation-seconds": { "defaultMessage": "Verwerkingstijd (seconden)" }, "certificates.dns.propagation-seconds-note": { - "defaultMessage": "Laat leeg om de standaardwaarde van de plugin te gebruiken. Aantal seconden om te wachten op DNS propagatie." + "defaultMessage": "Laat leeg om de standaardwaarde van de plugin te gebruiken. Aantal seconden om te wachten op DNS-propagatie." }, "certificates.dns.provider": { - "defaultMessage": "DNS Provider" + "defaultMessage": "DNS-leverancier" + }, + "certificates.dns.provider.placeholder": { + "defaultMessage": "Kiese een leverancier..." }, "certificates.dns.warning": { "defaultMessage": "Deze sectie vereist wat informatie over Certbot en zijn DNS plugins. Gebruik de documentatie van de bijbehorende plugins." }, "certificates.http.reachability-404": { - "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar dat lijkt niet Nginx Proxy Manager te zijn. Zorg ervoor dat je domein naar het IP waar je NPM instance draait wijst." + "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar dat lijkt niet Nginx Proxy Manager te zijn. Zorg ervoor dat je domein verwijst naar het IP waar je NPM-instantie draait." }, "certificates.http.reachability-failed-to-check": { "defaultMessage": "Bereikbaarheid kan niet worden bepaald door een communicatiefout met site24x7.com." }, "certificates.http.reachability-not-resolved": { - "defaultMessage": "Er is geen server beschikbaar op dit domein. Zorg ervoor dat je domein bestaat en naar het IP waar je NPM instance draait wijst en eventueel port 80 wordt doorgegeven in je router." + "defaultMessage": "Er is geen server beschikbaar op dit domein. Zorg ervoor dat je domein bestaat en verwijst naar het IP waar je NPM-instantie draait en eventueel port 80 wordt doorgegeven in je router." }, "certificates.http.reachability-ok": { - "defaultMessage": "Jouw server is bereikbaar en certificaten kunnen worden aangemaakt." + "defaultMessage": "Je server is bereikbaar en certificaten kunnen worden aangemaakt." }, "certificates.http.reachability-other": { - "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte statuscode ({code}) teruggegeven. Is dat de NPM server? Zorg ervoor dat je domein naar het IP waar je NPM instance draait wijst." + "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte statuscode ({code}) teruggegeven. Is dat de NPM-server? Zorg ervoor dat je domein verwijst naar het IP waar je NPM-instantie draait." }, "certificates.http.reachability-wrong-data": { - "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte gegevens teruggegeven. Is dat de NPM server? Zorg ervoor dat je domein naar het IP waar je NPM instance draait wijst." + "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte gegevens teruggegeven. Is dat de NPM-server? Zorg ervoor dat je domein verwijst naar het IP waar je NPM-instantie draait." }, "certificates.http.test-results": { "defaultMessage": "Testresultaten" @@ -171,19 +243,19 @@ "defaultMessage": "met Let's Encrypt" }, "certificates.request.title": { - "defaultMessage": "Vraag een nieuwe Certificaat aan" + "defaultMessage": "Vraag een nieuw certificaat aan" }, "column.access": { "defaultMessage": "Toegang" }, "column.authorization": { - "defaultMessage": "Authorizatie" + "defaultMessage": "Authorisatie" }, "column.authorizations": { - "defaultMessage": "Authorizaties" + "defaultMessage": "Authorisaties" }, "column.custom-locations": { - "defaultMessage": "Aangepaste Locaties" + "defaultMessage": "Aangepaste locaties" }, "column.destination": { "defaultMessage": "Doel" @@ -192,7 +264,7 @@ "defaultMessage": "Details" }, "column.email": { - "defaultMessage": "Email" + "defaultMessage": "E-mail" }, "column.event": { "defaultMessage": "Gebeurtenis" @@ -201,10 +273,10 @@ "defaultMessage": "Verloopt" }, "column.http-code": { - "defaultMessage": "HTTP Code" + "defaultMessage": "HTTP-code" }, "column.incoming-port": { - "defaultMessage": "Inkomende Poort" + "defaultMessage": "Inkomende poort" }, "column.name": { "defaultMessage": "Naam" @@ -222,7 +294,7 @@ "defaultMessage": "Regels" }, "column.satisfy": { - "defaultMessage": "Vervul" + "defaultMessage": "Vervullen" }, "column.satisfy-all": { "defaultMessage": "Alle" @@ -246,7 +318,7 @@ "defaultMessage": "Aangemaakt: {date}" }, "dashboard": { - "defaultMessage": "Dashboard" + "defaultMessage": "Bedieningspaneel" }, "dead-host": { "defaultMessage": "404 Host" @@ -275,20 +347,26 @@ "domain-names.wildcards-not-supported": { "defaultMessage": "Wildcards zijn niet ondersteund voor deze CA" }, + "domains.advanced": { + "defaultMessage": "Geavanceerd" + }, "domains.force-ssl": { - "defaultMessage": "Forceer SSL" + "defaultMessage": "SSL forceren" }, "domains.hsts-enabled": { - "defaultMessage": "HSTS Aangezet" + "defaultMessage": "HSTS ingeschakeld" }, "domains.hsts-subdomains": { - "defaultMessage": "HSTS Subdomein" + "defaultMessage": "HSTS-subdomein" }, "domains.http2-support": { - "defaultMessage": "HTTP/2 Ondersteuning" + "defaultMessage": "HTTP/2-ondersteuning" + }, + "domains.trust-forwarded-proto": { + "defaultMessage": "Upstream Forwarded Proto Headers vertrouwen" }, "domains.use-dns": { - "defaultMessage": "Gebruik DNS Challenge" + "defaultMessage": "DNS Challenge gebruiken" }, "email-address": { "defaultMessage": "E-mailadres" @@ -297,19 +375,19 @@ "defaultMessage": "Geen resultaten gevonden" }, "empty-subtitle": { - "defaultMessage": "Waarom niet een maken?" + "defaultMessage": "Waarom maak je er geen aan?" }, "enabled": { "defaultMessage": "Aangezet" }, "error.access.at-least-one": { - "defaultMessage": "Minimaal één authorizatie- of één toegangsregel is vereist" + "defaultMessage": "Minstens één authorisatie- of één toegangsregel is vereist" }, "error.access.duplicate-usernames": { "defaultMessage": "Gebruikersnamen moeten uniek zijn" }, "error.invalid-auth": { - "defaultMessage": "Ongeldige email of wachtwoord" + "defaultMessage": "Ongeldige e-mail of wachtwoord" }, "error.invalid-domain": { "defaultMessage": "Ongeldige domeinnaam: {domain}" @@ -318,19 +396,19 @@ "defaultMessage": "Ongeldig e-mailadres" }, "error.max-character-length": { - "defaultMessage": "Maximale lengte is {max} karakter{max, plural, one {} other {s}}" + "defaultMessage": "Maximale lengte is {max} teken{max, plural, one {} other {s}}" }, "error.max-domains": { "defaultMessage": "Te veel domeinnamen, max is {max}" }, "error.maximum": { - "defaultMessage": "Maximale is {max}" + "defaultMessage": "Maximum is {max}" }, "error.min-character-length": { - "defaultMessage": "Minimale lengte is {min} karakter{min, plural, one {} other {s}}" + "defaultMessage": "Minimale lengte is {min} teken{min, plural, one {} other {s}}" }, "error.minimum": { - "defaultMessage": "Minimale is {min}" + "defaultMessage": "Minimum is {min}" }, "error.passwords-must-match": { "defaultMessage": "Wachtwoorden moeten overeenkomen" @@ -345,19 +423,19 @@ "defaultMessage": "Maak een Fork op Github" }, "host.flags.block-exploits": { - "defaultMessage": "Blokkeer Veelvoorkomende Kwetsbaarheden" + "defaultMessage": "Veelvoorkomende kwetsbaarheden blokkeren" }, "host.flags.cache-assets": { "defaultMessage": "Cache Assets" }, "host.flags.preserve-path": { - "defaultMessage": "Pad Behouden" + "defaultMessage": "Pad behouden" }, "host.flags.protocols": { "defaultMessage": "Protocollen" }, "host.flags.websockets-upgrade": { - "defaultMessage": "Websockets Ondersteuning" + "defaultMessage": "Websockets-ondersteuning" }, "host.forward-port": { "defaultMessage": "Poort Doorsturen" @@ -383,17 +461,32 @@ "loading": { "defaultMessage": "Laden…" }, + "login.2fa-code": { + "defaultMessage": "Verificatiecode" + }, + "login.2fa-code-placeholder": { + "defaultMessage": "Code invoeren" + }, + "login.2fa-description": { + "defaultMessage": "Voer de code in vanuit uw authenticator-app" + }, + "login.2fa-title": { + "defaultMessage": "Twee-factor Authenticatie" + }, + "login.2fa-verify": { + "defaultMessage": "Verifiëren" + }, "login.title": { "defaultMessage": "Inloggen" }, "nginx-config.label": { - "defaultMessage": "Aangepaste Nginx Configuratie" + "defaultMessage": "Aangepaste Nginx-configuratie" }, "nginx-config.placeholder": { - "defaultMessage": "# Voeg jouw aangepaste Nginx configuratie hier op eigen risico toe!" + "defaultMessage": "# Voer hier je aangepaste Nginx-configuratie in op eigen risico!" }, "no-permission-error": { - "defaultMessage": "Jij hebt geen toegang om dit te bekijken." + "defaultMessage": "Je hebt geen toegang om dit te bekijken." }, "notfound.action": { "defaultMessage": "Thuis" @@ -429,16 +522,16 @@ "defaultMessage": "{object} #{id}" }, "object.add": { - "defaultMessage": "Voeg {object} toe" + "defaultMessage": "{object} toevoegen" }, "object.delete": { - "defaultMessage": "Verwijder {object}" + "defaultMessage": "{object} verwijderen" }, "object.delete.content": { "defaultMessage": "Weet je zeker dat je {object} wilt verwijderen?" }, "object.edit": { - "defaultMessage": "Bewerk {object}" + "defaultMessage": "{object} bewerken" }, "object.empty": { "defaultMessage": "Er zijn geen {objects}" @@ -477,28 +570,28 @@ "defaultMessage": "Willekeurig wachtwoord genereren" }, "password.hide": { - "defaultMessage": "Wachtwoord Verbergen" + "defaultMessage": "Wachtwoord verbergen" }, "password.show": { - "defaultMessage": "Toon Wachtwoord" + "defaultMessage": "Wachtwoord weergeven" }, "permissions.hidden": { "defaultMessage": "Verborgen" }, "permissions.manage": { - "defaultMessage": "Beheer" + "defaultMessage": "Beheren" }, "permissions.view": { - "defaultMessage": "Alleen Bekijken" + "defaultMessage": "Alleen weergeven" }, "permissions.visibility.all": { - "defaultMessage": "Alle Items" + "defaultMessage": "Alle items" }, "permissions.visibility.title": { - "defaultMessage": "Item Zichtbaarheid" + "defaultMessage": "Zichtbaarheid" }, "permissions.visibility.user": { - "defaultMessage": "Alleen Aangemaakte Items" + "defaultMessage": "Alleen aangemaakte items" }, "proxy-host": { "defaultMessage": "Proxy Host" @@ -516,25 +609,43 @@ "defaultMessage": "Openbaar" }, "redirection-host": { - "defaultMessage": "Redirection Host" + "defaultMessage": "Doorgestuurde Host" }, "redirection-host.forward-domain": { "defaultMessage": "Doorgestuurd Domein" }, "redirection-host.forward-http-code": { - "defaultMessage": "HTTP Code" + "defaultMessage": "HTTP-code" }, "redirection-hosts": { - "defaultMessage": "Redirection Hosts" + "defaultMessage": "Doorgestuurde Hosts" }, "redirection-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Redirection Host} other {Redirection Hosts}}" + "defaultMessage": "{count} {count, plural, one {Doorgestuurde Host} other {Doorgestuurde Hosts}}" + }, + "redirection-hosts.http-code.300": { + "defaultMessage": "300 Meerdere opties" + }, + "redirection-hosts.http-code.301": { + "defaultMessage": "301 Permanent verplaatst" + }, + "redirection-hosts.http-code.302": { + "defaultMessage": "302 Tijdelijk verplaatst" + }, + "redirection-hosts.http-code.303": { + "defaultMessage": "303 Zie overig" + }, + "redirection-hosts.http-code.307": { + "defaultMessage": "307 Tijdelijk doorgestuurd" + }, + "redirection-hosts.http-code.308": { + "defaultMessage": "308 Permanent doorgestuurd" }, "role.admin": { "defaultMessage": "Beheerder" }, "role.standard-user": { - "defaultMessage": "Standaard Gebruiker" + "defaultMessage": "Standaardgebruiker" }, "save": { "defaultMessage": "Opslaan" @@ -564,13 +675,13 @@ "defaultMessage": "Aangepaste HTML" }, "settings.default-site.html.placeholder": { - "defaultMessage": "" + "defaultMessage": "" }, "settings.default-site.redirect": { "defaultMessage": "Omleiding" }, "setup.preamble": { - "defaultMessage": "Begin met het aanmaken van je beheerder account." + "defaultMessage": "Begin met het aanmaken van je beheerderaccount." }, "setup.title": { "defaultMessage": "Welkom!" @@ -579,7 +690,7 @@ "defaultMessage": "Inloggen" }, "ssl-certificate": { - "defaultMessage": "SSL Certificaten" + "defaultMessage": "SSL-certificaat" }, "stream": { "defaultMessage": "Stream" @@ -587,6 +698,9 @@ "stream.forward-host": { "defaultMessage": "Doorgestuurde Host" }, + "stream.forward-host.placeholder": { + "defaultMessage": "example.com or 10.0.0.1 or 2001:db8:3333:4444:5555:6666:7777:8888" + }, "stream.incoming-port": { "defaultMessage": "Inkomende Poort" }, @@ -603,25 +717,25 @@ "defaultMessage": "UDP" }, "test": { - "defaultMessage": "Test" + "defaultMessage": "Testen" }, "update-available": { - "defaultMessage": "Update Beschikbaar: {latestVersion}" + "defaultMessage": "Update beschikbaar: {latestVersion}" }, "user": { "defaultMessage": "Gebruiker" }, "user.change-password": { - "defaultMessage": "Verander Wachtwoord" + "defaultMessage": "Wachtwoord wijzigen" }, "user.confirm-password": { - "defaultMessage": "Bevestig Wachtwoord" + "defaultMessage": "Wachtwoord bevestigen" }, "user.current-password": { "defaultMessage": "Huidig Wachtwoord" }, "user.edit-profile": { - "defaultMessage": "Profiel Bewerken" + "defaultMessage": "Profiel bewerken" }, "user.full-name": { "defaultMessage": "Volledige Naam" @@ -633,22 +747,25 @@ "defaultMessage": "Uitloggen" }, "user.new-password": { - "defaultMessage": "Nieuw Wachtwoord" + "defaultMessage": "Nieuw wachtwoord" }, "user.nickname": { "defaultMessage": "Bijnaam" }, "user.set-password": { - "defaultMessage": "Zet Wachtwoord" + "defaultMessage": "Wachtwoord instellen" }, "user.set-permissions": { - "defaultMessage": "Zet machtigingen voor {name}" + "defaultMessage": "Machtigingen instellen voor {name}" }, "user.switch-dark": { - "defaultMessage": "Verander naar donkere modus" + "defaultMessage": "Donkere modus inschakelen" }, "user.switch-light": { - "defaultMessage": "Verander naar lichte modus" + "defaultMessage": "Lichte modus inschakelen" + }, + "user.two-factor": { + "defaultMessage": "Twee-factor Auth" }, "username": { "defaultMessage": "Gebruikersnaam" From 1635e512c729f84693f94edd9f289aa7b71bacf5 Mon Sep 17 00:00:00 2001 From: Edward Klesel Date: Sat, 21 Mar 2026 21:49:28 +0000 Subject: [PATCH 044/113] Change access list client insert to synchronous to ensure order preserved --- backend/internal/access-list.js | 47 +++++++++++++-------------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/backend/internal/access-list.js b/backend/internal/access-list.js index 60a7105dbe..2107f21964 100644 --- a/backend/internal/access-list.js +++ b/backend/internal/access-list.js @@ -48,20 +48,17 @@ const internalAccessList = { return true; }); - // Clients - data.clients?.map((client) => { - promises.push( - accessListClientModel.query().insert({ - access_list_id: row.id, - address: client.address, - directive: client.directive, - }), - ); - return true; - }); - await Promise.all(promises); + // Clients + for (const client of data.clients ?? []) { + await accessListClientModel.query().insert({ + access_list_id: row.id, + address: client.address, + directive: client.directive, + }); + } + // re-fetch with expansions const freshRow = await internalAccessList.get( access, @@ -154,25 +151,17 @@ const internalAccessList = { // Check for clients and add/update/remove them if (typeof data.clients !== "undefined" && data.clients) { - const clientPromises = []; - data.clients.map((client) => { - if (client.address) { - clientPromises.push( - accessListClientModel.query().insert({ - access_list_id: data.id, - address: client.address, - directive: client.directive, - }), - ); - } - return true; - }); - const query = accessListClientModel.query().delete().where("access_list_id", data.id); await query; - // Add new clitens - if (clientPromises.length) { - await Promise.all(clientPromises); + + for (const client of data.clients) { + if (client.address) { + await accessListClientModel.query().insert({ + access_list_id: data.id, + address: client.address, + directive: client.directive, + }); + } } } From 34374cbe099580e62dfb17c436640e48d3f0b11f Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 23 Mar 2026 07:29:12 +1000 Subject: [PATCH 045/113] Adds name.com certbot dns support and sorts and organises the json file --- backend/certbot/dns-plugins.json | 714 ++++++++++++++++--------------- 1 file changed, 361 insertions(+), 353 deletions(-) diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index 8f592f66db..0588f98512 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -1,658 +1,666 @@ { "acmedns": { + "credentials": "dns_acmedns_api_url = http://acmedns-server/\ndns_acmedns_registration_file = /data/acme-registration.json", + "dependencies": "", + "full_plugin_name": "dns-acmedns", "name": "ACME-DNS", "package_name": "certbot-dns-acmedns", - "version": "~=0.1.0", - "dependencies": "", - "credentials": "dns_acmedns_api_url = http://acmedns-server/\ndns_acmedns_registration_file = /data/acme-registration.json", - "full_plugin_name": "dns-acmedns" + "version": "~=0.1.0" }, "active24": { + "credentials": "dns_active24_api_key = \ndns_active24_secret = ", + "dependencies": "", + "full_plugin_name": "dns-active24", "name": "Active24", "package_name": "certbot-dns-active24", - "version": "~=2.0.0", - "dependencies": "", - "credentials": "dns_active24_api_key = \ndns_active24_secret = ", - "full_plugin_name": "dns-active24" + "version": "~=2.0.0" }, "aliyun": { + "credentials": "dns_aliyun_access_key = 12345678\ndns_aliyun_access_key_secret = 1234567890abcdef1234567890abcdef", + "dependencies": "", + "full_plugin_name": "dns-aliyun", "name": "Aliyun", "package_name": "certbot-dns-aliyun", - "version": "~=2.0.0", - "dependencies": "", - "credentials": "dns_aliyun_access_key = 12345678\ndns_aliyun_access_key_secret = 1234567890abcdef1234567890abcdef", - "full_plugin_name": "dns-aliyun" + "version": "~=2.0.0" }, "arvan": { - "name": "ArvanCloud", - "package_name": "certbot-dns-arvan", - "version": ">=0.1.0", - "dependencies": "", - "credentials": "dns_arvan_key = Apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", - "full_plugin_name": "dns-arvan" - }, + "credentials": "dns_arvan_key = Apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "dependencies": "", + "full_plugin_name": "dns-arvan", + "name": "ArvanCloud", + "package_name": "certbot-dns-arvan", + "version": ">=0.1.0" + }, "azure": { + "credentials": "# This plugin supported API authentication using either Service Principals or utilizing a Managed Identity assigned to the virtual machine.\n# Regardless which authentication method used, the identity will need the “DNS Zone Contributor” role assigned to it.\n# As multiple Azure DNS Zones in multiple resource groups can exist, the config file needs a mapping of zone to resource group ID. Multiple zones -> ID mappings can be listed by using the key dns_azure_zoneX where X is a unique number. At least 1 zone mapping is required.\n\n# Using a service principal (option 1)\ndns_azure_sp_client_id = 912ce44a-0156-4669-ae22-c16a17d34ca5\ndns_azure_sp_client_secret = E-xqXU83Y-jzTI6xe9fs2YC~mck3ZzUih9\ndns_azure_tenant_id = ed1090f3-ab18-4b12-816c-599af8a88cf7\n\n# Using used assigned MSI (option 2)\n# dns_azure_msi_client_id = 912ce44a-0156-4669-ae22-c16a17d34ca5\n\n# Using system assigned MSI (option 3)\n# dns_azure_msi_system_assigned = true\n\n# Zones (at least one always required)\ndns_azure_zone1 = example.com:/subscriptions/c135abce-d87d-48df-936c-15596c6968a5/resourceGroups/dns1\ndns_azure_zone2 = example.org:/subscriptions/99800903-fb14-4992-9aff-12eaf2744622/resourceGroups/dns2", + "dependencies": "azure-mgmt-dns==8.2.0", + "full_plugin_name": "dns-azure", "name": "Azure", "package_name": "certbot-dns-azure", - "version": "~=2.6.1", - "dependencies": "azure-mgmt-dns==8.2.0", - "credentials": "# This plugin supported API authentication using either Service Principals or utilizing a Managed Identity assigned to the virtual machine.\n# Regardless which authentication method used, the identity will need the “DNS Zone Contributor” role assigned to it.\n# As multiple Azure DNS Zones in multiple resource groups can exist, the config file needs a mapping of zone to resource group ID. Multiple zones -> ID mappings can be listed by using the key dns_azure_zoneX where X is a unique number. At least 1 zone mapping is required.\n\n# Using a service principal (option 1)\ndns_azure_sp_client_id = 912ce44a-0156-4669-ae22-c16a17d34ca5\ndns_azure_sp_client_secret = E-xqXU83Y-jzTI6xe9fs2YC~mck3ZzUih9\ndns_azure_tenant_id = ed1090f3-ab18-4b12-816c-599af8a88cf7\n\n# Using used assigned MSI (option 2)\n# dns_azure_msi_client_id = 912ce44a-0156-4669-ae22-c16a17d34ca5\n\n# Using system assigned MSI (option 3)\n# dns_azure_msi_system_assigned = true\n\n# Zones (at least one always required)\ndns_azure_zone1 = example.com:/subscriptions/c135abce-d87d-48df-936c-15596c6968a5/resourceGroups/dns1\ndns_azure_zone2 = example.org:/subscriptions/99800903-fb14-4992-9aff-12eaf2744622/resourceGroups/dns2", - "full_plugin_name": "dns-azure" + "version": "~=2.6.1" }, "baidu": { + "credentials": "dns_baidu_access_key = 12345678\ndns_baidu_secret_key = 1234567890abcdef1234567890abcdef", + "dependencies": "", + "full_plugin_name": "dns-baidu", "name": "baidu", "package_name": "certbot-dns-baidu", - "version": "~=0.1.1", - "dependencies": "", - "credentials": "dns_baidu_access_key = 12345678\ndns_baidu_secret_key = 1234567890abcdef1234567890abcdef", - "full_plugin_name": "dns-baidu" + "version": "~=0.1.1" }, "beget": { - "name":"Beget", - "package_name": "certbot-beget-plugin", - "version": "~=1.0.0.dev9", - "dependencies": "", "credentials": "# Beget API credentials used by Certbot\nbeget_plugin_username = username\nbeget_plugin_password = password", - "full_plugin_name": "beget-plugin" + "dependencies": "", + "full_plugin_name": "beget-plugin", + "name": "Beget", + "package_name": "certbot-beget-plugin", + "version": "~=1.0.0.dev9" }, "bunny": { + "credentials": "# Bunny API token used by Certbot (see https://dash.bunny.net/account/settings)\ndns_bunny_api_key = xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", + "dependencies": "", + "full_plugin_name": "dns-bunny", "name": "bunny.net", "package_name": "certbot-dns-bunny", - "version": "~=0.0.9", - "dependencies": "", - "credentials": "# Bunny API token used by Certbot (see https://dash.bunny.net/account/settings)\ndns_bunny_api_key = xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", - "full_plugin_name": "dns-bunny" + "version": "~=0.0.9" }, "cdmon": { + "credentials": "dns_cdmon_api_key=your-cdmon-api-token\ndns_cdmon_domain=your_domain_is_optional", + "dependencies": "", + "full_plugin_name": "dns-cdmon", "name": "cdmon", "package_name": "certbot-dns-cdmon", - "version": "~=0.4.1", - "dependencies": "", - "credentials": "dns_cdmon_api_key=your-cdmon-api-token\ndns_cdmon_domain=your_domain_is_optional", - "full_plugin_name": "dns-cdmon" + "version": "~=0.4.1" }, "cloudflare": { + "credentials": "# Cloudflare API token\ndns_cloudflare_api_token=0123456789abcdef0123456789abcdef01234567", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-cloudflare", "name": "Cloudflare", "package_name": "certbot-dns-cloudflare", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "# Cloudflare API token\ndns_cloudflare_api_token=0123456789abcdef0123456789abcdef01234567", - "full_plugin_name": "dns-cloudflare" + "version": "=={{certbot-version}}" }, "cloudns": { + "credentials": "# Target user ID (see https://www.cloudns.net/api-settings/)\n\tdns_cloudns_auth_id=1234\n\t# Alternatively, one of the following two options can be set:\n\t# dns_cloudns_sub_auth_id=1234\n\t# dns_cloudns_sub_auth_user=foobar\n\n\t# API password\n\tdns_cloudns_auth_password=password1", + "dependencies": "", + "full_plugin_name": "dns-cloudns", "name": "ClouDNS", "package_name": "certbot-dns-cloudns", - "version": "~=0.7.0", - "dependencies": "", - "credentials": "# Target user ID (see https://www.cloudns.net/api-settings/)\n\tdns_cloudns_auth_id=1234\n\t# Alternatively, one of the following two options can be set:\n\t# dns_cloudns_sub_auth_id=1234\n\t# dns_cloudns_sub_auth_user=foobar\n\n\t# API password\n\tdns_cloudns_auth_password=password1", - "full_plugin_name": "dns-cloudns" + "version": "~=0.7.0" }, "cloudxns": { + "credentials": "dns_cloudxns_api_key = 1234567890abcdef1234567890abcdef\ndns_cloudxns_secret_key = 1122334455667788", + "dependencies": "", + "full_plugin_name": "dns-cloudxns", "name": "CloudXNS", "package_name": "certbot-dns-cloudxns", - "version": "~=1.32.0", - "dependencies": "", - "credentials": "dns_cloudxns_api_key = 1234567890abcdef1234567890abcdef\ndns_cloudxns_secret_key = 1122334455667788", - "full_plugin_name": "dns-cloudxns" + "version": "~=1.32.0" }, "constellix": { + "credentials": "dns_constellix_apikey = 5fb4e76f-ac91-43e5-f982458bc595\ndns_constellix_secretkey = 47d99fd0-32e7-4e07-85b46d08e70b\ndns_constellix_endpoint = https://api.dns.constellix.com/v1", + "dependencies": "", + "full_plugin_name": "dns-constellix", "name": "Constellix", "package_name": "certbot-dns-constellix", - "version": "~=0.2.1", - "dependencies": "", - "credentials": "dns_constellix_apikey = 5fb4e76f-ac91-43e5-f982458bc595\ndns_constellix_secretkey = 47d99fd0-32e7-4e07-85b46d08e70b\ndns_constellix_endpoint = https://api.dns.constellix.com/v1", - "full_plugin_name": "dns-constellix" + "version": "~=0.2.1" }, "corenetworks": { + "credentials": "dns_corenetworks_username = asaHB12r\ndns_corenetworks_password = secure_password", + "dependencies": "", + "full_plugin_name": "dns-corenetworks", "name": "Core Networks", "package_name": "certbot-dns-corenetworks", - "version": "~=0.1.4", - "dependencies": "", - "credentials": "dns_corenetworks_username = asaHB12r\ndns_corenetworks_password = secure_password", - "full_plugin_name": "dns-corenetworks" + "version": "~=0.1.4" }, "cpanel": { + "credentials": "cpanel_url = https://cpanel.example.com:2083\ncpanel_username = your_username\ncpanel_password = your_password\ncpanel_token = your_api_token", + "dependencies": "", + "full_plugin_name": "cpanel", "name": "cPanel", "package_name": "certbot-dns-cpanel", - "version": "~=0.4.0", - "dependencies": "", - "credentials": "cpanel_url = https://cpanel.example.com:2083\ncpanel_username = your_username\ncpanel_password = your_password\ncpanel_token = your_api_token", - "full_plugin_name": "cpanel" + "version": "~=0.4.0" }, "ddnss": { + "credentials": "dns_ddnss_token = YOUR_DDNSS_API_TOKEN", + "dependencies": "", + "full_plugin_name": "dns-ddnss", "name": "DDNSS", "package_name": "certbot-dns-ddnss", - "version": "~=1.1.0", - "dependencies": "", - "credentials": "dns_ddnss_token = YOUR_DDNSS_API_TOKEN", - "full_plugin_name": "dns-ddnss" + "version": "~=1.1.0" }, "desec": { - "name": "deSEC", - "package_name": "certbot-dns-desec", - "version": "~=1.2.1", - "dependencies": "", "credentials": "dns_desec_token = YOUR_DESEC_API_TOKEN\ndns_desec_endpoint = https://desec.io/api/v1/", - "full_plugin_name": "dns-desec" - }, - "duckdns": { - "name": "DuckDNS", - "package_name": "certbot-dns-duckdns", - "version": "~=1.0", "dependencies": "", - "credentials": "dns_duckdns_token=your-duckdns-token", - "full_plugin_name": "dns-duckdns" + "full_plugin_name": "dns-desec", + "name": "deSEC", + "package_name": "certbot-dns-desec", + "version": "~=1.2.1" }, "digitalocean": { + "credentials": "dns_digitalocean_token = 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-digitalocean", "name": "DigitalOcean", "package_name": "certbot-dns-digitalocean", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "dns_digitalocean_token = 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff", - "full_plugin_name": "dns-digitalocean" + "version": "=={{certbot-version}}" }, "directadmin": { + "credentials": "directadmin_url = https://my.directadminserver.com:2222\ndirectadmin_username = username\ndirectadmin_password = aSuperStrongPassword", + "dependencies": "", + "full_plugin_name": "directadmin", "name": "DirectAdmin", "package_name": "certbot-dns-directadmin", - "version": "~=0.0.23", - "dependencies": "", - "credentials": "directadmin_url = https://my.directadminserver.com:2222\ndirectadmin_username = username\ndirectadmin_password = aSuperStrongPassword", - "full_plugin_name": "directadmin" + "version": "~=0.0.23" }, "dnsimple": { + "credentials": "dns_dnsimple_token = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-dnsimple", "name": "DNSimple", "package_name": "certbot-dns-dnsimple", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "dns_dnsimple_token = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw", - "full_plugin_name": "dns-dnsimple" + "version": "=={{certbot-version}}" }, "dnsmadeeasy": { + "credentials": "dns_dnsmadeeasy_api_key = 1c1a3c91-4770-4ce7-96f4-54c0eb0e457a\ndns_dnsmadeeasy_secret_key = c9b5625f-9834-4ff8-baba-4ed5f32cae55", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-dnsmadeeasy", "name": "DNS Made Easy", "package_name": "certbot-dns-dnsmadeeasy", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "dns_dnsmadeeasy_api_key = 1c1a3c91-4770-4ce7-96f4-54c0eb0e457a\ndns_dnsmadeeasy_secret_key = c9b5625f-9834-4ff8-baba-4ed5f32cae55", - "full_plugin_name": "dns-dnsmadeeasy" + "version": "=={{certbot-version}}" }, "dnsmulti": { + "credentials": "# See https://go-acme.github.io/lego/dns/#dns-providers for list of providers and their settings\n# Example provider configuration for DreamHost\n# dns_multi_provider = dreamhost\n# DREAMHOST_API_KEY = ABCDEFG1234", + "dependencies": "", + "full_plugin_name": "dns-multi", "name": "DnsMulti", "package_name": "certbot-dns-multi", - "version": "~=4.9", - "dependencies": "", - "credentials": "# See https://go-acme.github.io/lego/dns/#dns-providers for list of providers and their settings\n# Example provider configuration for DreamHost\n# dns_multi_provider = dreamhost\n# DREAMHOST_API_KEY = ABCDEFG1234", - "full_plugin_name": "dns-multi" + "version": "~=4.9" }, "dnspod": { + "credentials": "dns_dnspod_email = \"email@example.com\"\ndns_dnspod_api_token = \"id,key\"", + "dependencies": "", + "full_plugin_name": "dns-dnspod", "name": "DNSPod", "package_name": "certbot-dns-dnspod", - "version": "~=0.1.0", - "dependencies": "", - "credentials": "dns_dnspod_email = \"email@example.com\"\ndns_dnspod_api_token = \"id,key\"", - "full_plugin_name": "dns-dnspod" + "version": "~=0.1.0" }, "domainoffensive": { + "credentials": "dns_domainoffensive_api_token = YOUR_DO_DE_AUTH_TOKEN", + "dependencies": "", + "full_plugin_name": "dns-domainoffensive", "name": "DomainOffensive (do.de)", "package_name": "certbot-dns-domainoffensive", - "version": "~=2.0.0", - "dependencies": "", - "credentials": "dns_domainoffensive_api_token = YOUR_DO_DE_AUTH_TOKEN", - "full_plugin_name": "dns-domainoffensive" + "version": "~=2.0.0" }, "domeneshop": { + "credentials": "dns_domeneshop_client_token=YOUR_DOMENESHOP_CLIENT_TOKEN\ndns_domeneshop_client_secret=YOUR_DOMENESHOP_CLIENT_SECRET", + "dependencies": "", + "full_plugin_name": "dns-domeneshop", "name": "Domeneshop", "package_name": "certbot-dns-domeneshop", - "version": "~=0.2.8", + "version": "~=0.2.8" + }, + "duckdns": { + "credentials": "dns_duckdns_token=your-duckdns-token", "dependencies": "", - "credentials": "dns_domeneshop_client_token=YOUR_DOMENESHOP_CLIENT_TOKEN\ndns_domeneshop_client_secret=YOUR_DOMENESHOP_CLIENT_SECRET", - "full_plugin_name": "dns-domeneshop" + "full_plugin_name": "dns-duckdns", + "name": "DuckDNS", + "package_name": "certbot-dns-duckdns", + "version": "~=1.0" }, "dynu": { + "credentials": "dns_dynu_auth_token = YOUR_DYNU_AUTH_TOKEN", + "dependencies": "", + "full_plugin_name": "dns-dynu", "name": "Dynu", "package_name": "certbot-dns-dynu", - "version": "~=0.0.1", - "dependencies": "", - "credentials": "dns_dynu_auth_token = YOUR_DYNU_AUTH_TOKEN", - "full_plugin_name": "dns-dynu" + "version": "~=0.0.1" }, "easydns": { + "credentials": "dns_easydns_usertoken = YOUR_EASYDNS_USERTOKEN\ndns_easydns_userkey = YOUR_EASYDNS_USERKEY\ndns_easydns_endpoint = https://rest.easydns.net", + "dependencies": "", + "full_plugin_name": "dns-easydns", "name": "easyDNS", "package_name": "certbot-dns-easydns", - "version": "~=0.1.2", + "version": "~=0.1.2" + }, + "edgedns": { + "credentials": "edgedns_client_secret = as3d1asd5d1a32sdfsdfs2d1asd5=\nedgedns_host = sdflskjdf-dfsdfsdf-sdfsdfsdf.luna.akamaiapis.net\nedgedns_access_token = kjdsi3-34rfsdfsdf-234234fsdfsdf\nedgedns_client_token = dkfjdf-342fsdfsd-23fsdfsdfsdf", "dependencies": "", - "credentials": "dns_easydns_usertoken = YOUR_EASYDNS_USERTOKEN\ndns_easydns_userkey = YOUR_EASYDNS_USERKEY\ndns_easydns_endpoint = https://rest.easydns.net", - "full_plugin_name": "dns-easydns" + "full_plugin_name": "edgedns", + "name": "Akamai Edge DNS", + "package_name": "certbot-plugin-edgedns", + "version": "~=0.1.0" }, "eurodns": { + "credentials": "dns_eurodns_applicationId = myuser\ndns_eurodns_apiKey = mysecretpassword\ndns_eurodns_endpoint = https://rest-api.eurodns.com/user-api-gateway/proxy", + "dependencies": "", + "full_plugin_name": "dns-eurodns", "name": "EuroDNS", "package_name": "certbot-dns-eurodns", - "version": "~=0.0.4", - "dependencies": "", - "credentials": "dns_eurodns_applicationId = myuser\ndns_eurodns_apiKey = mysecretpassword\ndns_eurodns_endpoint = https://rest-api.eurodns.com/user-api-gateway/proxy", - "full_plugin_name": "dns-eurodns" + "version": "~=0.0.4" }, "firstdomains": { - "name": "First Domains", - "package_name": "certbot-dns-firstdomains", - "version": ">=1.0", - "dependencies": "", - "credentials": "dns_firstdomains_username = myremoteuser\ndns_firstdomains_password = verysecureremoteuserpassword", - "full_plugin_name": "dns-firstdomains" - }, + "credentials": "dns_firstdomains_username = myremoteuser\ndns_firstdomains_password = verysecureremoteuserpassword", + "dependencies": "", + "full_plugin_name": "dns-firstdomains", + "name": "First Domains", + "package_name": "certbot-dns-firstdomains", + "version": ">=1.0" + }, "freedns": { + "credentials": "dns_freedns_username = myremoteuser\ndns_freedns_password = verysecureremoteuserpassword", + "dependencies": "", + "full_plugin_name": "dns-freedns", "name": "FreeDNS", "package_name": "certbot-dns-freedns", - "version": "~=0.1.0", - "dependencies": "", - "credentials": "dns_freedns_username = myremoteuser\ndns_freedns_password = verysecureremoteuserpassword", - "full_plugin_name": "dns-freedns" + "version": "~=0.1.0" }, "gandi": { + "credentials": "# Gandi personal access token\ndns_gandi_token=PERSONAL_ACCESS_TOKEN", + "dependencies": "", + "full_plugin_name": "dns-gandi", "name": "Gandi Live DNS", "package_name": "certbot-dns-gandi", - "version": "~=1.6.1", - "dependencies": "", - "credentials": "# Gandi personal access token\ndns_gandi_token=PERSONAL_ACCESS_TOKEN", - "full_plugin_name": "dns-gandi" + "version": "~=1.6.1" }, "gcore": { + "credentials": "dns_gcore_apitoken = 0123456789abcdef0123456789abcdef01234567", + "dependencies": "", + "full_plugin_name": "dns-gcore", "name": "Gcore DNS", "package_name": "certbot-dns-gcore", - "version": "~=0.1.8", - "dependencies": "", - "credentials": "dns_gcore_apitoken = 0123456789abcdef0123456789abcdef01234567", - "full_plugin_name": "dns-gcore" + "version": "~=0.1.8" }, "glesys": { + "credentials": "dns_glesys_user = CL00000\ndns_glesys_password = apikeyvalue", + "dependencies": "", + "full_plugin_name": "dns-glesys", "name": "Glesys", "package_name": "certbot-dns-glesys", - "version": "~=2.1.0", - "dependencies": "", - "credentials": "dns_glesys_user = CL00000\ndns_glesys_password = apikeyvalue", - "full_plugin_name": "dns-glesys" + "version": "~=2.1.0" }, "godaddy": { + "credentials": "dns_godaddy_secret = 0123456789abcdef0123456789abcdef01234567\ndns_godaddy_key = abcdef0123456789abcdef01234567abcdef0123", + "dependencies": "", + "full_plugin_name": "dns-godaddy", "name": "GoDaddy", "package_name": "certbot-dns-godaddy", - "version": "==2.8.0", - "dependencies": "", - "credentials": "dns_godaddy_secret = 0123456789abcdef0123456789abcdef01234567\ndns_godaddy_key = abcdef0123456789abcdef01234567abcdef0123", - "full_plugin_name": "dns-godaddy" + "version": "==2.8.0" }, "google": { + "credentials": "{\n\"type\": \"service_account\",\n...\n}", + "dependencies": "", + "full_plugin_name": "dns-google", "name": "Google", "package_name": "certbot-dns-google", - "version": "=={{certbot-version}}", - "dependencies": "", - "credentials": "{\n\"type\": \"service_account\",\n...\n}", - "full_plugin_name": "dns-google" + "version": "=={{certbot-version}}" }, "googledomains": { + "credentials": "dns_google_domains_access_token = 0123456789abcdef0123456789abcdef01234567\ndns_google_domains_zone = \"example.com\"", + "dependencies": "", + "full_plugin_name": "dns-google-domains", "name": "GoogleDomainsDNS", "package_name": "certbot-dns-google-domains", - "version": "~=0.1.5", - "dependencies": "", - "credentials": "dns_google_domains_access_token = 0123456789abcdef0123456789abcdef01234567\ndns_google_domains_zone = \"example.com\"", - "full_plugin_name": "dns-google-domains" + "version": "~=0.1.5" }, "he": { + "credentials": "dns_he_user = Me\ndns_he_pass = my HE password", + "dependencies": "", + "full_plugin_name": "dns-he", "name": "Hurricane Electric", "package_name": "certbot-dns-he", - "version": "~=1.0.0", - "dependencies": "", - "credentials": "dns_he_user = Me\ndns_he_pass = my HE password", - "full_plugin_name": "dns-he" + "version": "~=1.0.0" }, "he-ddns": { + "credentials": "dns_he_ddns_password = verysecurepassword", + "dependencies": "", + "full_plugin_name": "dns-he-ddns", "name": "Hurricane Electric - DDNS", "package_name": "certbot-dns-he-ddns", - "version": "~=0.1.0", - "dependencies": "", - "credentials": "dns_he_ddns_password = verysecurepassword", - "full_plugin_name": "dns-he-ddns" + "version": "~=0.1.0" }, "hetzner": { + "credentials": "dns_hetzner_api_token = 0123456789abcdef0123456789abcdef", + "dependencies": "", + "full_plugin_name": "dns-hetzner", "name": "Hetzner", "package_name": "certbot-dns-hetzner", - "version": "~=1.0.4", - "dependencies": "", - "credentials": "dns_hetzner_api_token = 0123456789abcdef0123456789abcdef", - "full_plugin_name": "dns-hetzner" + "version": "~=1.0.4" }, "hetzner-cloud": { + "credentials": "dns_hetzner_cloud_api_token = your_api_token_here", + "dependencies": "", + "full_plugin_name": "dns-hetzner-cloud", "name": "Hetzner Cloud", "package_name": "certbot-dns-hetzner-cloud", - "version": "~=1.0.4", - "dependencies": "", - "credentials": "dns_hetzner_cloud_api_token = your_api_token_here", - "full_plugin_name": "dns-hetzner-cloud" - }, + "version": "~=1.0.4" + }, "hostingnl": { + "credentials": "dns_hostingnl_api_key = 0123456789abcdef0123456789abcdef", + "dependencies": "", + "full_plugin_name": "dns-hostingnl", "name": "Hosting.nl", "package_name": "certbot-dns-hostingnl", - "version": "~=0.1.5", - "dependencies": "", - "credentials": "dns_hostingnl_api_key = 0123456789abcdef0123456789abcdef", - "full_plugin_name": "dns-hostingnl" + "version": "~=0.1.5" }, "hover": { + "credentials": "dns_hover_hoverurl = https://www.hover.com\ndns_hover_username = hover-admin-username\ndns_hover_password = hover-admin-password\ndns_hover_totpsecret = 2fa-totp-secret", + "dependencies": "", + "full_plugin_name": "dns-hover", "name": "Hover", "package_name": "certbot-dns-hover", - "version": "~=1.2.1", - "dependencies": "", - "credentials": "dns_hover_hoverurl = https://www.hover.com\ndns_hover_username = hover-admin-username\ndns_hover_password = hover-admin-password\ndns_hover_totpsecret = 2fa-totp-secret", - "full_plugin_name": "dns-hover" + "version": "~=1.2.1" }, "infomaniak": { + "credentials": "dns_infomaniak_token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "dependencies": "", + "full_plugin_name": "dns-infomaniak", "name": "Infomaniak", "package_name": "certbot-dns-infomaniak", - "version": "~=0.2.2", - "dependencies": "", - "credentials": "dns_infomaniak_token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "full_plugin_name": "dns-infomaniak" + "version": "~=0.2.2" }, "inwx": { + "credentials": "dns_inwx_url = https://api.domrobot.com/xmlrpc/\ndns_inwx_username = your_username\ndns_inwx_password = your_password\ndns_inwx_shared_secret = your_shared_secret optional", + "dependencies": "", + "full_plugin_name": "dns-inwx", "name": "INWX", "package_name": "certbot-dns-inwx", - "version": "~=2.1.2", - "dependencies": "", - "credentials": "dns_inwx_url = https://api.domrobot.com/xmlrpc/\ndns_inwx_username = your_username\ndns_inwx_password = your_password\ndns_inwx_shared_secret = your_shared_secret optional", - "full_plugin_name": "dns-inwx" + "version": "~=2.1.2" }, "ionos": { + "credentials": "dns_ionos_prefix = myapikeyprefix\ndns_ionos_secret = verysecureapikeysecret\ndns_ionos_endpoint = https://api.hosting.ionos.com", + "dependencies": "", + "full_plugin_name": "dns-ionos", "name": "IONOS", "package_name": "certbot-dns-ionos", - "version": "==2022.11.24", - "dependencies": "", - "credentials": "dns_ionos_prefix = myapikeyprefix\ndns_ionos_secret = verysecureapikeysecret\ndns_ionos_endpoint = https://api.hosting.ionos.com", - "full_plugin_name": "dns-ionos" + "version": "==2022.11.24" }, "ispconfig": { + "credentials": "dns_ispconfig_username = myremoteuser\ndns_ispconfig_password = verysecureremoteuserpassword\ndns_ispconfig_endpoint = https://localhost:8080", + "dependencies": "", + "full_plugin_name": "dns-ispconfig", "name": "ISPConfig", "package_name": "certbot-dns-ispconfig", - "version": "~=0.2.0", - "dependencies": "", - "credentials": "dns_ispconfig_username = myremoteuser\ndns_ispconfig_password = verysecureremoteuserpassword\ndns_ispconfig_endpoint = https://localhost:8080", - "full_plugin_name": "dns-ispconfig" + "version": "~=0.2.0" }, "isset": { + "credentials": "dns_isset_endpoint=\"https://customer.isset.net/api\"\ndns_isset_token=\"\"", + "dependencies": "", + "full_plugin_name": "dns-isset", "name": "Isset", "package_name": "certbot-dns-isset", - "version": "~=0.0.3", - "dependencies": "", - "credentials": "dns_isset_endpoint=\"https://customer.isset.net/api\"\ndns_isset_token=\"\"", - "full_plugin_name": "dns-isset" + "version": "~=0.0.3" }, "joker": { + "credentials": "dns_joker_username = \ndns_joker_password = \ndns_joker_domain = ", + "dependencies": "", + "full_plugin_name": "dns-joker", "name": "Joker", "package_name": "certbot-dns-joker", - "version": "~=1.1.0", - "dependencies": "", - "credentials": "dns_joker_username = \ndns_joker_password = \ndns_joker_domain = ", - "full_plugin_name": "dns-joker" + "version": "~=1.1.0" }, "kas": { - "name": "All-Inkl", - "package_name": "certbot-dns-kas", - "version": "~=0.1.1", - "dependencies": "kasserver", - "credentials": "dns_kas_user = your_kas_user\ndns_kas_password = your_kas_password", - "full_plugin_name": "dns-kas" - }, + "credentials": "dns_kas_user = your_kas_user\ndns_kas_password = your_kas_password", + "dependencies": "kasserver", + "full_plugin_name": "dns-kas", + "name": "All-Inkl", + "package_name": "certbot-dns-kas", + "version": "~=0.1.1" + }, "leaseweb": { + "credentials": "dns_leaseweb_api_token = 01234556789", + "dependencies": "", + "full_plugin_name": "dns-leaseweb", "name": "LeaseWeb", "package_name": "certbot-dns-leaseweb", - "version": "~=1.0.3", - "dependencies": "", - "credentials": "dns_leaseweb_api_token = 01234556789", - "full_plugin_name": "dns-leaseweb" + "version": "~=1.0.3" }, "linode": { + "credentials": "dns_linode_key = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ64\ndns_linode_version = [|3|4]", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-linode", "name": "Linode", "package_name": "certbot-dns-linode", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "dns_linode_key = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ64\ndns_linode_version = [|3|4]", - "full_plugin_name": "dns-linode" + "version": "=={{certbot-version}}" }, "loopia": { + "credentials": "dns_loopia_user = user@loopiaapi\ndns_loopia_password = abcdef0123456789abcdef01234567abcdef0123", + "dependencies": "", + "full_plugin_name": "dns-loopia", "name": "Loopia", "package_name": "certbot-dns-loopia", - "version": "~=1.0.0", - "dependencies": "", - "credentials": "dns_loopia_user = user@loopiaapi\ndns_loopia_password = abcdef0123456789abcdef01234567abcdef0123", - "full_plugin_name": "dns-loopia" + "version": "~=1.0.0" }, "luadns": { + "credentials": "dns_luadns_email = user@example.com\ndns_luadns_token = 0123456789abcdef0123456789abcdef", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-luadns", "name": "LuaDNS", "package_name": "certbot-dns-luadns", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "dns_luadns_email = user@example.com\ndns_luadns_token = 0123456789abcdef0123456789abcdef", - "full_plugin_name": "dns-luadns" + "version": "=={{certbot-version}}" }, "mchost24": { + "credentials": "# Obtain API token using https://github.com/JoeJoeTV/mchost24-api-python\ndns_mchost24_api_token=", + "dependencies": "", + "full_plugin_name": "dns-mchost24", "name": "MC-HOST24", "package_name": "certbot-dns-mchost24", - "version": "", - "dependencies": "", - "credentials": "# Obtain API token using https://github.com/JoeJoeTV/mchost24-api-python\ndns_mchost24_api_token=", - "full_plugin_name": "dns-mchost24" + "version": "" }, "mijnhost": { + "credentials": "dns_mijn_host_api_key=0123456789abcdef0123456789abcdef", + "dependencies": "", + "full_plugin_name": "dns-mijn-host", "name": "mijn.host", "package_name": "certbot-dns-mijn-host", - "version": "~=0.0.4", - "dependencies": "", - "credentials": "dns_mijn_host_api_key=0123456789abcdef0123456789abcdef", - "full_plugin_name": "dns-mijn-host" + "version": "~=0.0.4" }, "namecheap": { + "credentials": "dns_namecheap_username = 123456\ndns_namecheap_api_key = 0123456789abcdef0123456789abcdef01234567", + "dependencies": "", + "full_plugin_name": "dns-namecheap", "name": "Namecheap", "package_name": "certbot-dns-namecheap", - "version": "~=1.0.0", + "version": "~=1.0.0" + }, + "namecom": { + "credentials": "dns_namecom_username = myusername\ndns_namecom_token = 0123456789abcdef0123456789abcdef01234567", "dependencies": "", - "credentials": "dns_namecheap_username = 123456\ndns_namecheap_api_key = 0123456789abcdef0123456789abcdef01234567", - "full_plugin_name": "dns-namecheap" + "full_plugin_name": "dns-namecom", + "name": "Name.com", + "package_name": "certbot-dns-namecom", + "version": "~=1.0.0" }, "netcup": { + "credentials": "dns_netcup_customer_id = 123456\ndns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567\ndns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123", + "dependencies": "", + "full_plugin_name": "dns-netcup", "name": "netcup", "package_name": "certbot-dns-netcup", - "version": "~=1.0.0", - "dependencies": "", - "credentials": "dns_netcup_customer_id = 123456\ndns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567\ndns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123", - "full_plugin_name": "dns-netcup" + "version": "~=1.0.0" }, "nicru": { + "credentials": "dns_nicru_client_id = application-id\ndns_nicru_client_secret = application-token\ndns_nicru_username = 0001110/NIC-D\ndns_nicru_password = password\ndns_nicru_scope = .+:.+/zones/example.com(/.+)?\ndns_nicru_service = DNS_SERVICE_NAME\ndns_nicru_zone = example.com", + "dependencies": "", + "full_plugin_name": "dns-nicru", "name": "nic.ru", "package_name": "certbot-dns-nicru", - "version": "~=1.0.3", - "dependencies": "", - "credentials": "dns_nicru_client_id = application-id\ndns_nicru_client_secret = application-token\ndns_nicru_username = 0001110/NIC-D\ndns_nicru_password = password\ndns_nicru_scope = .+:.+/zones/example.com(/.+)?\ndns_nicru_service = DNS_SERVICE_NAME\ndns_nicru_zone = example.com", - "full_plugin_name": "dns-nicru" + "version": "~=1.0.3" }, "njalla": { + "credentials": "dns_njalla_token = 0123456789abcdef0123456789abcdef01234567", + "dependencies": "", + "full_plugin_name": "dns-njalla", "name": "Njalla", "package_name": "certbot-dns-njalla", - "version": "~=1.0.0", - "dependencies": "", - "credentials": "dns_njalla_token = 0123456789abcdef0123456789abcdef01234567", - "full_plugin_name": "dns-njalla" + "version": "~=1.0.0" }, "nsone": { + "credentials": "dns_nsone_api_key = MDAwMDAwMDAwMDAwMDAw", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-nsone", "name": "NS1", "package_name": "certbot-dns-nsone", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "dns_nsone_api_key = MDAwMDAwMDAwMDAwMDAw", - "full_plugin_name": "dns-nsone" + "version": "=={{certbot-version}}" }, "oci": { + "credentials": "[DEFAULT]\nuser = ocid1.user.oc1...\nfingerprint = xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx\ntenancy = ocid1.tenancy.oc1...\nregion = us-ashburn-1\nkey_file = ~/.oci/oci_api_key.pem", + "dependencies": "oci", + "full_plugin_name": "dns-oci", "name": "Oracle Cloud Infrastructure DNS", "package_name": "certbot-dns-oci", - "version": "~=0.3.6", - "dependencies": "oci", - "credentials": "[DEFAULT]\nuser = ocid1.user.oc1...\nfingerprint = xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx\ntenancy = ocid1.tenancy.oc1...\nregion = us-ashburn-1\nkey_file = ~/.oci/oci_api_key.pem", - "full_plugin_name": "dns-oci" + "version": "~=0.3.6" }, "ovh": { + "credentials": "dns_ovh_endpoint = ovh-eu\ndns_ovh_application_key = MDAwMDAwMDAwMDAw\ndns_ovh_application_secret = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw\ndns_ovh_consumer_key = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-ovh", "name": "OVH", "package_name": "certbot-dns-ovh", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "dns_ovh_endpoint = ovh-eu\ndns_ovh_application_key = MDAwMDAwMDAwMDAw\ndns_ovh_application_secret = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw\ndns_ovh_consumer_key = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw", - "full_plugin_name": "dns-ovh" + "version": "=={{certbot-version}}" }, "plesk": { + "credentials": "dns_plesk_username = your-username\ndns_plesk_password = secret\ndns_plesk_api_url = https://plesk-api-host:8443", + "dependencies": "", + "full_plugin_name": "dns-plesk", "name": "Plesk", "package_name": "certbot-dns-plesk", - "version": "~=0.3.0", - "dependencies": "", - "credentials": "dns_plesk_username = your-username\ndns_plesk_password = secret\ndns_plesk_api_url = https://plesk-api-host:8443", - "full_plugin_name": "dns-plesk" + "version": "~=0.3.0" }, "porkbun": { + "credentials": "dns_porkbun_key=your-porkbun-api-key\ndns_porkbun_secret=your-porkbun-api-secret", + "dependencies": "", + "full_plugin_name": "dns-porkbun", "name": "Porkbun", "package_name": "certbot-dns-porkbun", - "version": "~=0.11.0", - "dependencies": "", - "credentials": "dns_porkbun_key=your-porkbun-api-key\ndns_porkbun_secret=your-porkbun-api-secret", - "full_plugin_name": "dns-porkbun" + "version": "~=0.11.0" }, "powerdns": { + "credentials": "dns_powerdns_api_url = https://api.mypowerdns.example.org\ndns_powerdns_api_key = AbCbASsd!@34", + "dependencies": "PyYAML==5.3.1", + "full_plugin_name": "dns-powerdns", "name": "PowerDNS", "package_name": "certbot-dns-powerdns", - "version": "~=0.2.1", - "dependencies": "PyYAML==5.3.1", - "credentials": "dns_powerdns_api_url = https://api.mypowerdns.example.org\ndns_powerdns_api_key = AbCbASsd!@34", - "full_plugin_name": "dns-powerdns" + "version": "~=0.2.1" }, "regru": { + "credentials": "dns_username=username\ndns_password=password", + "dependencies": "", + "full_plugin_name": "dns", "name": "reg.ru", "package_name": "certbot-regru", - "version": "~=1.0.2", - "dependencies": "", - "credentials": "dns_username=username\ndns_password=password", - "full_plugin_name": "dns" + "version": "~=1.0.2" }, "rfc2136": { + "credentials": "# Target DNS server\ndns_rfc2136_server = 192.0.2.1\n# Target DNS port\ndns_rfc2136_port = 53\n# TSIG key name\ndns_rfc2136_name = keyname.\n# TSIG key secret\ndns_rfc2136_secret = 4q4wM/2I180UXoMyN4INVhJNi8V9BCV+jMw2mXgZw/CSuxUT8C7NKKFs AmKd7ak51vWKgSl12ib86oQRPkpDjg==\n# TSIG key algorithm\ndns_rfc2136_algorithm = HMAC-SHA512", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-rfc2136", "name": "RFC 2136", "package_name": "certbot-dns-rfc2136", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "# Target DNS server\ndns_rfc2136_server = 192.0.2.1\n# Target DNS port\ndns_rfc2136_port = 53\n# TSIG key name\ndns_rfc2136_name = keyname.\n# TSIG key secret\ndns_rfc2136_secret = 4q4wM/2I180UXoMyN4INVhJNi8V9BCV+jMw2mXgZw/CSuxUT8C7NKKFs AmKd7ak51vWKgSl12ib86oQRPkpDjg==\n# TSIG key algorithm\ndns_rfc2136_algorithm = HMAC-SHA512", - "full_plugin_name": "dns-rfc2136" + "version": "=={{certbot-version}}" }, "rockenstein": { + "credentials": "dns_rockenstein_token=", + "dependencies": "", + "full_plugin_name": "dns-rockenstein", "name": "rockenstein AG", "package_name": "certbot-dns-rockenstein", - "version": "~=1.0.0", - "dependencies": "", - "credentials": "dns_rockenstein_token=", - "full_plugin_name": "dns-rockenstein" + "version": "~=1.0.0" }, "route53": { + "credentials": "[default]\naws_access_key_id=AKIAIOSFODNN7EXAMPLE\naws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", + "dependencies": "acme=={{certbot-version}}", + "full_plugin_name": "dns-route53", "name": "Route 53 (Amazon)", "package_name": "certbot-dns-route53", - "version": "=={{certbot-version}}", - "dependencies": "acme=={{certbot-version}}", - "credentials": "[default]\naws_access_key_id=AKIAIOSFODNN7EXAMPLE\naws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", - "full_plugin_name": "dns-route53" + "version": "=={{certbot-version}}" + }, + "selectelv2": { + "credentials": "dns_selectel_api_v2_account_id = your_account_id\ndns_selectel_api_v2_project_name = your_project\ndns_selectel_api_v2_username = your_username\ndns_selectel_api_v2_password = your_password", + "dependencies": "", + "full_plugin_name": "dns-selectel-api-v2", + "name": "Selectel api v2", + "package_name": "certbot-dns-selectel-api-v2", + "version": "~=0.3.0" }, "simply": { + "credentials": "dns_simply_account_name = UExxxxxx\ndns_simply_api_key = DsHJdsjh2812872sahj", + "dependencies": "", + "full_plugin_name": "dns-simply", "name": "Simply", "package_name": "certbot-dns-simply", - "version": "~=0.1.2", - "dependencies": "", - "credentials": "dns_simply_account_name = UExxxxxx\ndns_simply_api_key = DsHJdsjh2812872sahj", - "full_plugin_name": "dns-simply" + "version": "~=0.1.2" }, "spaceship": { + "credentials": "[spaceship]\napi_key=your_api_key\napi_secret=your_api_secret", + "dependencies": "", + "full_plugin_name": "dns-spaceship", "name": "Spaceship", "package_name": "certbot-dns-spaceship", - "version": "~=1.0.4", - "dependencies": "", - "credentials": "[spaceship]\napi_key=your_api_key\napi_secret=your_api_secret", - "full_plugin_name": "dns-spaceship" + "version": "~=1.0.4" }, "strato": { + "credentials": "dns_strato_username = user\ndns_strato_password = pass\n# uncomment if youre using two factor authentication:\n# dns_strato_totp_devicename = 2fa_device\n# dns_strato_totp_secret = 2fa_secret\n#\n# uncomment if domain name contains special characters\n# insert domain display name as seen on your account page here\n# dns_strato_domain_display_name = my-punicode-url.de\n#\n# if youre not using strato.de or another special endpoint you can customise it below\n# you will probably only need to adjust the host, but you can also change the complete endpoint url\n# dns_strato_custom_api_scheme = https\n# dns_strato_custom_api_host = www.strato.de\n# dns_strato_custom_api_port = 443\n# dns_strato_custom_api_path = \"/apps/CustomerService\"", + "dependencies": "", + "full_plugin_name": "dns-strato", "name": "Strato", "package_name": "certbot-dns-strato", - "version": "~=0.2.2", + "version": "~=0.2.2" + }, + "tencentcloud": { + "credentials": "dns_tencentcloud_secret_id = TENCENT_CLOUD_SECRET_ID\ndns_tencentcloud_secret_key = TENCENT_CLOUD_SECRET_KEY", "dependencies": "", - "credentials": "dns_strato_username = user\ndns_strato_password = pass\n# uncomment if youre using two factor authentication:\n# dns_strato_totp_devicename = 2fa_device\n# dns_strato_totp_secret = 2fa_secret\n#\n# uncomment if domain name contains special characters\n# insert domain display name as seen on your account page here\n# dns_strato_domain_display_name = my-punicode-url.de\n#\n# if youre not using strato.de or another special endpoint you can customise it below\n# you will probably only need to adjust the host, but you can also change the complete endpoint url\n# dns_strato_custom_api_scheme = https\n# dns_strato_custom_api_host = www.strato.de\n# dns_strato_custom_api_port = 443\n# dns_strato_custom_api_path = \"/apps/CustomerService\"", - "full_plugin_name": "dns-strato" - }, - "selectelv2": { - "name": "Selectel api v2", - "package_name": "certbot-dns-selectel-api-v2", - "version": "~=0.3.0", - "dependencies": "", - "credentials": "dns_selectel_api_v2_account_id = your_account_id\ndns_selectel_api_v2_project_name = your_project\ndns_selectel_api_v2_username = your_username\ndns_selectel_api_v2_password = your_password", - "full_plugin_name": "dns-selectel-api-v2" - }, + "full_plugin_name": "dns-tencentcloud", + "name": "Tencent Cloud", + "package_name": "certbot-dns-tencentcloud", + "version": "~=2.0.2" + }, "timeweb": { + "credentials": "dns_timeweb_api_key = XXXXXXXXXXXXXXXXXXX", + "dependencies": "", + "full_plugin_name": "dns-timeweb", "name": "Timeweb Cloud", "package_name": "certbot-dns-timeweb", - "version": "~=1.0.1", - "dependencies": "", - "credentials": "dns_timeweb_api_key = XXXXXXXXXXXXXXXXXXX", - "full_plugin_name": "dns-timeweb" + "version": "~=1.0.1" }, "transip": { - "name": "TransIP", - "package_name": "certbot-dns-transip", - "version": "~=0.5.2", - "dependencies": "", "credentials": "dns_transip_username = my_username\ndns_transip_key_file = /etc/letsencrypt/transip-rsa.key", - "full_plugin_name": "dns-transip" - }, - "tencentcloud": { - "name": "Tencent Cloud", - "package_name": "certbot-dns-tencentcloud", - "version": "~=2.0.2", "dependencies": "", - "credentials": "dns_tencentcloud_secret_id = TENCENT_CLOUD_SECRET_ID\ndns_tencentcloud_secret_key = TENCENT_CLOUD_SECRET_KEY", - "full_plugin_name": "dns-tencentcloud" + "full_plugin_name": "dns-transip", + "name": "TransIP", + "package_name": "certbot-dns-transip", + "version": "~=0.5.2" }, "vultr": { + "credentials": "dns_vultr_key = YOUR_VULTR_API_KEY", + "dependencies": "", + "full_plugin_name": "dns-vultr", "name": "Vultr", "package_name": "certbot-dns-vultr", - "version": "~=1.1.0", - "dependencies": "", - "credentials": "dns_vultr_key = YOUR_VULTR_API_KEY", - "full_plugin_name": "dns-vultr" + "version": "~=1.1.0" }, "websupport": { + "credentials": "dns_websupport_identifier = \ndns_websupport_secret_key = ", + "dependencies": "", + "full_plugin_name": "dns-websupport", "name": "Websupport.sk", "package_name": "certbot-dns-websupport", - "version": "~=2.0.1", - "dependencies": "", - "credentials": "dns_websupport_identifier = \ndns_websupport_secret_key = ", - "full_plugin_name": "dns-websupport" + "version": "~=2.0.1" }, "wedos": { - "name": "Wedos", - "package_name": "certbot-dns-wedos", - "version": "~=2.2", - "dependencies": "", "credentials": "dns_wedos_user = \ndns_wedos_auth = ", - "full_plugin_name": "dns-wedos" - }, - "edgedns": { - "name": "Akamai Edge DNS", - "package_name": "certbot-plugin-edgedns", - "version": "~=0.1.0", "dependencies": "", - "credentials": "edgedns_client_secret = as3d1asd5d1a32sdfsdfs2d1asd5=\nedgedns_host = sdflskjdf-dfsdfsdf-sdfsdfsdf.luna.akamaiapis.net\nedgedns_access_token = kjdsi3-34rfsdfsdf-234234fsdfsdf\nedgedns_client_token = dkfjdf-342fsdfsd-23fsdfsdfsdf", - "full_plugin_name": "edgedns" + "full_plugin_name": "dns-wedos", + "name": "Wedos", + "package_name": "certbot-dns-wedos", + "version": "~=2.2" }, "zoneedit": { + "credentials": "dns_zoneedit_user = \ndns_zoneedit_token = ", + "dependencies": "--no-deps dnspython", + "full_plugin_name": "dns-zoneedit", "name": "ZoneEdit", "package_name": "certbot-dns-zoneedit", - "version": "~=0.3.2", - "dependencies": "--no-deps dnspython", - "credentials": "dns_zoneedit_user = \ndns_zoneedit_token = ", - "full_plugin_name": "dns-zoneedit" - } + "version": "~=0.3.2" + } } From 7cfac7354d2d0e744b982ddae3bd2957e52d57e4 Mon Sep 17 00:00:00 2001 From: Arihant Jain <47983999+Arihant101@users.noreply.github.com> Date: Wed, 25 Mar 2026 02:33:16 -0400 Subject: [PATCH 046/113] Fix grammar and clarity issues in README.md Corrected minor grammatical errors and improved clarity in README.md. --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ae162fbc86..c22f12fad4 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@

-This project comes as a pre-built docker image that enables you to easily forward to your websites +This project comes as a pre-built Docker image that enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. - [Quick Setup](#quick-setup) @@ -20,9 +20,9 @@ running at home or otherwise, including free SSL, without having to know too muc ## Project Goal I created this project to fill a personal need to provide users with an easy way to accomplish reverse -proxying hosts with SSL termination and it had to be so easy that a monkey could do it. This goal hasn't changed. -While there might be advanced options they are optional and the project should be as simple as possible -so that the barrier for entry here is low. +proxying hosts with SSL termination, and it had to be so easy that a monkey could do it. This goal hasn't changed. +While there might be advanced options, they are optional, and the project should be as simple as possible +so that the barrier to entry here is low. Buy Me A Coffee @@ -30,11 +30,11 @@ so that the barrier for entry here is low. ## Features - Beautiful and Secure Admin Interface based on [Tabler](https://tabler.github.io/) -- Easily create forwarding domains, redirections, streams and 404 hosts without knowing anything about Nginx +- Easily create forwarding domains, redirections, streams, and 404 hosts without knowing anything about Nginx - Free SSL using Let's Encrypt or provide your own custom SSL certificates - Access Lists and basic HTTP Authentication for your hosts - Advanced Nginx configuration available for super users -- User management, permissions and audit log +- User management, permissions, and audit log ::: warning `armv7` is no longer supported in version 2.14+. This is due to Nodejs dropping support for armhf. Please @@ -43,15 +43,15 @@ use the `2.13.7` image tag if this applies to you. ## Hosting your home network -I won't go in to too much detail here but here are the basics for someone new to this self-hosted world. +I won't go into too much detail here, but here are the basics for someone new to this self-hosted world. 1. Your home router will have a Port Forwarding section somewhere. Log in and find it -2. Add port forwarding for port 80 and 443 to the server hosting this project +2. Add port forwarding for ports 80 and 443 to the server hosting this project 3. Configure your domain name details to point to your home, either with a static ip or a service like - DuckDNS - [Amazon Route53](https://github.com/jc21/route53-ddns) - [Cloudflare](https://github.com/jc21/cloudflare-ddns) -4. Use the Nginx Proxy Manager as your gateway to forward to your other web based services +4. Use the Nginx Proxy Manager as your gateway to forward to your other web-based services ## Quick Setup From 65b905789fe0290239cdbf2fb979e3200f97f8e9 Mon Sep 17 00:00:00 2001 From: Flop Date: Fri, 27 Mar 2026 15:44:54 -0400 Subject: [PATCH 047/113] Updating french translation --- frontend/src/locale/src/fr.json | 137 +++++++++++++++++++++++++++++++- 1 file changed, 133 insertions(+), 4 deletions(-) diff --git a/frontend/src/locale/src/fr.json b/frontend/src/locale/src/fr.json index c715c028a6..04320266d3 100644 --- a/frontend/src/locale/src/fr.json +++ b/frontend/src/locale/src/fr.json @@ -1,4 +1,61 @@ { + "2fa.backup-codes-remaining": { + "defaultMessage": "Codes de secours restants : {count}" + }, + "2fa.backup-warning": { + "defaultMessage": "Sauvegardez ces codes de secours dans un endroit sûr. Chaque code ne peut être utilisé qu'une seule fois." + }, + "2fa.disable": { + "defaultMessage": "Désactiver l'authentification à deux facteurs" + }, + "2fa.disable-confirm": { + "defaultMessage": "Désactiver la 2FA" + }, + "2fa.disable-warning": { + "defaultMessage": "La désactivation de l'authentification à deux facteurs rendra votre compte moins sécurisé." + }, + "2fa.disabled": { + "defaultMessage": "Désactivée" + }, + "2fa.done": { + "defaultMessage": "J'ai sauvegardé mes codes de secours" + }, + "2fa.enable": { + "defaultMessage": "Activer l'authentification à deux facteurs" + }, + "2fa.enabled": { + "defaultMessage": "Activée" + }, + "2fa.enter-code": { + "defaultMessage": "Entrez le code de vérification" + }, + "2fa.enter-code-disable": { + "defaultMessage": "Entrez le code de vérification pour désactiver" + }, + "2fa.regenerate": { + "defaultMessage": "Régénérer" + }, + "2fa.regenerate-backup": { + "defaultMessage": "Régénérer les codes de secours" + }, + "2fa.regenerate-instructions": { + "defaultMessage": "Entrez un code de vérification pour générer de nouveaux codes de secours. Vos anciens codes seront invalidés." + }, + "2fa.secret-key": { + "defaultMessage": "Clé secrète" + }, + "2fa.setup-instructions": { + "defaultMessage": "Scannez ce QR code avec votre application d'authentification, ou entrez la clé secrète manuellement." + }, + "2fa.status": { + "defaultMessage": "Statut" + }, + "2fa.title": { + "defaultMessage": "Authentification à deux facteurs" + }, + "2fa.verify-enable": { + "defaultMessage": "Vérifier et activer" + }, "access-list": { "defaultMessage": "Liste d'accès" }, @@ -23,6 +80,9 @@ "access-list.public.subtitle": { "defaultMessage": "Aucune authentification de base requise" }, + "access-list.rule-source.placeholder": { + "defaultMessage": "192.168.1.100 ou 192.168.1.0/24 ou 2001:0db8::/32" + }, "access-list.satisfy-any": { "defaultMessage": "Valide n'importe quelle règle" }, @@ -38,12 +98,18 @@ "action.add-location": { "defaultMessage": "Ajouter localisation" }, + "action.allow": { + "defaultMessage": "Autoriser" + }, "action.close": { "defaultMessage": "Fermer" }, "action.delete": { "defaultMessage": "Supprimer" }, + "action.deny": { + "defaultMessage": "Refuser" + }, "action.disable": { "defaultMessage": "Désactiver" }, @@ -68,6 +134,9 @@ "auditlogs": { "defaultMessage": "Journaux d'audit" }, + "auto": { + "defaultMessage": "Auto" + }, "cancel": { "defaultMessage": "Annuler" }, @@ -128,6 +197,9 @@ "certificates.dns.provider": { "defaultMessage": "Fournisseur DNS" }, + "certificates.dns.provider.placeholder": { + "defaultMessage": "Sélectionner un fournisseur..." + }, "certificates.dns.warning": { "defaultMessage": "Cette section requiert une certaine connaissance de Certbot et de ses plugins DNS. Veuillez consulter la documentation des plugins correspondants." }, @@ -155,6 +227,18 @@ "certificates.http.warning": { "defaultMessage": "Ces domaines doivent déjà être configurés pour pointer vers cette installation." }, + "certificates.key-type": { + "defaultMessage": "Type de clé" + }, + "certificates.key-type-description": { + "defaultMessage": "RSA est largement compatible, ECDSA est plus rapide et plus sécurisé mais peut ne pas être pris en charge par les anciens systèmes" + }, + "certificates.key-type-ecdsa": { + "defaultMessage": "ECDSA 256" + }, + "certificates.key-type-rsa": { + "defaultMessage": "RSA 2048" + }, "certificates.request.subtitle": { "defaultMessage": "avec Let's Encrypt" }, @@ -180,7 +264,7 @@ "defaultMessage": "Détails" }, "column.email": { - "defaultMessage": "eMail" + "defaultMessage": "e-mail" }, "column.event": { "defaultMessage": "Évènement" @@ -263,6 +347,9 @@ "domain-names.wildcards-not-supported": { "defaultMessage": "Les Wildcards ne sont pas prises en charge par cette autorité de certification." }, + "domains.advanced": { + "defaultMessage": "Avancé" + }, "domains.force-ssl": { "defaultMessage": "Forcer SSL" }, @@ -275,11 +362,14 @@ "domains.http2-support": { "defaultMessage": "Prise en charge de HTTP/2" }, + "domains.trust-forwarded-proto": { + "defaultMessage": "Faire confiance aux en-têtes Forwarded Proto en amont" + }, "domains.use-dns": { "defaultMessage": "Utiliser le challenge DNS" }, "email-address": { - "defaultMessage": "Adresse eMail" + "defaultMessage": "Adresse e-mail" }, "empty-search": { "defaultMessage": "Aucun résultat trouvé" @@ -297,13 +387,13 @@ "defaultMessage": "Les noms d'utilisateurs autorisés doivent être uniques" }, "error.invalid-auth": { - "defaultMessage": "Adresse eMail ou mot de passe invalide" + "defaultMessage": "Adresse e-mail ou mot de passe invalide" }, "error.invalid-domain": { "defaultMessage": "Domaine invalide : {domain}" }, "error.invalid-email": { - "defaultMessage": "Adresse eMail invalide" + "defaultMessage": "Adresse e-mail invalide" }, "error.max-character-length": { "defaultMessage": "La longueur maximale est {max} caractère{max, plural, one {} other {s}}" @@ -371,6 +461,21 @@ "loading": { "defaultMessage": "Chargement…" }, + "login.2fa-code": { + "defaultMessage": "Code de vérification" + }, + "login.2fa-code-placeholder": { + "defaultMessage": "Entrez le code" + }, + "login.2fa-description": { + "defaultMessage": "Entrez le code depuis votre application d'authentification" + }, + "login.2fa-title": { + "defaultMessage": "Authentification à deux facteurs" + }, + "login.2fa-verify": { + "defaultMessage": "Vérifier" + }, "login.title": { "defaultMessage": "Connectez-vous à votre compte" }, @@ -518,6 +623,24 @@ "redirection-hosts.count": { "defaultMessage": "{count} {count, plural, one {Hôte de redirection} other {Hôtes de redirection}}" }, + "redirection-hosts.http-code.300": { + "defaultMessage": "300 Choix multiples" + }, + "redirection-hosts.http-code.301": { + "defaultMessage": "301 Déplacé définitivement" + }, + "redirection-hosts.http-code.302": { + "defaultMessage": "302 Déplacé temporairement" + }, + "redirection-hosts.http-code.303": { + "defaultMessage": "303 Voir autre" + }, + "redirection-hosts.http-code.307": { + "defaultMessage": "307 Redirection temporaire" + }, + "redirection-hosts.http-code.308": { + "defaultMessage": "308 Redirection permanente" + }, "role.admin": { "defaultMessage": "Administrateur" }, @@ -575,6 +698,9 @@ "stream.forward-host": { "defaultMessage": "Hôte destinataire" }, + "stream.forward-host.placeholder": { + "defaultMessage": "example.com ou 10.0.0.1 ou 2001:db8:3333:4444:5555:6666:7777:8888" + }, "stream.incoming-port": { "defaultMessage": "Port d'entrée" }, @@ -638,6 +764,9 @@ "user.switch-light": { "defaultMessage": "Passer au mode Lumineux" }, + "user.two-factor": { + "defaultMessage": "Auth. à deux facteurs" + }, "username": { "defaultMessage": "Nom d'utilisateur" }, From 986c4cae6cc6e7f300866f46624de2f22c4a4630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=E1=BA=A7n=20B=C3=A1ch?= <45133811+barttran2k@users.noreply.github.com> Date: Tue, 7 Apr 2026 00:09:34 +0700 Subject: [PATCH 048/113] fix(security): undefined variable `next` referenced in route erro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The GET /schema route handler's function signature is `(req, res)` (only two parameters), but the catch block calls `next(err)`. Since `next` is not defined in this scope, this will throw a `ReferenceError` at runtime when an error occurs, potentially crashing the process or causing an unhandled rejection instead of properly returning an error response. Affected files: schema.js Signed-off-by: Trần Bách <45133811+barttran2k@users.noreply.github.com> --- backend/routes/schema.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/routes/schema.js b/backend/routes/schema.js index 86bc18660d..0a57c57c87 100644 --- a/backend/routes/schema.js +++ b/backend/routes/schema.js @@ -18,7 +18,7 @@ router /** * GET /schema */ - .get(async (req, res) => { + .get(async (req, res, next) => { try { const swaggerJSON = await getCompiledSchema(); From 82a326ea0ba700275f76c9af9e4279febbdf1666 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Fri, 10 Apr 2026 15:24:48 +0200 Subject: [PATCH 049/113] Update nl.json Consistency in Dutch translation of 'enable' and 'disable' --- frontend/src/locale/src/nl.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/src/locale/src/nl.json b/frontend/src/locale/src/nl.json index d37fcf4770..ed6cd17c02 100644 --- a/frontend/src/locale/src/nl.json +++ b/frontend/src/locale/src/nl.json @@ -111,7 +111,7 @@ "defaultMessage": "Afwijzen" }, "action.disable": { - "defaultMessage": "Uitzetten" + "defaultMessage": "Uitschakelen" }, "action.download": { "defaultMessage": "Downloaden" @@ -120,7 +120,7 @@ "defaultMessage": "Bewerken" }, "action.enable": { - "defaultMessage": "Aanzetten" + "defaultMessage": "Inschakelen" }, "action.permissions": { "defaultMessage": "Machtigingen" @@ -330,7 +330,7 @@ "defaultMessage": "{count} {count, plural, one {404 Host} other {404 Hosts}}" }, "disabled": { - "defaultMessage": "Uitgezet" + "defaultMessage": "Uitgeschakeld" }, "domain-names": { "defaultMessage": "Domeinnamen" @@ -504,10 +504,10 @@ "defaultMessage": "{object} is verwijderd" }, "notification.object-disabled": { - "defaultMessage": "{object} is uitgezet" + "defaultMessage": "{object} is uitgeschakeld" }, "notification.object-enabled": { - "defaultMessage": "{object} is aangezet" + "defaultMessage": "{object} is ingeschakeld" }, "notification.object-renewed": { "defaultMessage": "{object} is vernieuwd" @@ -543,10 +543,10 @@ "defaultMessage": "{object} is verwijderd" }, "object.event.disabled": { - "defaultMessage": "{object} is uitgezet" + "defaultMessage": "{object} is uitgeschakeld" }, "object.event.enabled": { - "defaultMessage": "{object} is aangezet" + "defaultMessage": "{object} is ingeschakeld" }, "object.event.renewed": { "defaultMessage": "{object} is vernieuwd" From d161b944b16d96688852a08c9aa268c370d5fca5 Mon Sep 17 00:00:00 2001 From: MichaelJanssenNesai Date: Mon, 13 Apr 2026 15:30:32 +0200 Subject: [PATCH 050/113] Update dns plugin for deSec to 1.3.2 There a a couple of bug fixes (e.g. for DNS challenge with CNAME) for deSec. --- backend/certbot/dns-plugins.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index 0588f98512..c2f65d26b4 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -133,7 +133,7 @@ "full_plugin_name": "dns-desec", "name": "deSEC", "package_name": "certbot-dns-desec", - "version": "~=1.2.1" + "version": "~=1.3.2" }, "digitalocean": { "credentials": "dns_digitalocean_token = 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff", From 871787ac95f9d44df706aad5b113d1db06464965 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Mon, 13 Apr 2026 16:18:04 +0200 Subject: [PATCH 051/113] Update nl.json fixes for CRs by @TheMazeIsAmazing Thanks. Well spotted! --- frontend/src/locale/src/nl.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/frontend/src/locale/src/nl.json b/frontend/src/locale/src/nl.json index ed6cd17c02..6bb1ac5798 100644 --- a/frontend/src/locale/src/nl.json +++ b/frontend/src/locale/src/nl.json @@ -3,7 +3,7 @@ "defaultMessage": "Resterende back-upcodes: {count}" }, "2fa.backup-warning": { - "defaultMessage": "Sla deze back-upcodes op een veilige plaats op. Elke code kan slechts één keer worden gebruikt." + "defaultMessage": "Bewaar deze back-upcodes op een veilige plaats. Elke code kan slechts één keer worden gebruikt." }, "2fa.disable": { "defaultMessage": "Twee-Factor Authenticatie uitschakelen" @@ -12,7 +12,7 @@ "defaultMessage": "2FA uitschakelen" }, "2fa.disable-warning": { - "defaultMessage": "Als u tweefactorauthenticatie uitschakelt, wordt uw account minder veilig." + "defaultMessage": "Als je tweefactorauthenticatie uitschakelt, wordt je account minder beveiligd." }, "2fa.disabled": { "defaultMessage": "Uitgeschakeld" @@ -45,7 +45,7 @@ "defaultMessage": "Geheime sleutel" }, "2fa.setup-instructions": { - "defaultMessage": "Scan deze QR-code met uw authenticator-app, of voer de code handmatig in." + "defaultMessage": "Scan deze QR-code met je authenticator-app, of voer de code handmatig in." }, "2fa.status": { "defaultMessage": "Status" @@ -81,7 +81,7 @@ "defaultMessage": "Geen basisautentificatie vereist" }, "access-list.rule-source.placeholder": { - "defaultMessage": "192.168.1.100 or 192.168.1.0/24 or 2001:0db8::/32" + "defaultMessage": "192.168.1.100 of 192.168.1.0/24 of 2001:0db8::/32" }, "access-list.satisfy-any": { "defaultMessage": "Voldoe aan elke" @@ -183,7 +183,7 @@ "defaultMessage": "Inloggegevens bestandsinhoud" }, "certificates.dns.credentials-note": { - "defaultMessage": "Deze plugin vereist een configuratiebestand met een API-token of andere gegevens van de provider." + "defaultMessage": "Deze plugin vereist een configuratiebestand met een API-token of andere gegevens van je provider." }, "certificates.dns.credentials-warning": { "defaultMessage": "Deze gegevens worden opgeslagen als plaintext in de database en in een bestand!" @@ -198,7 +198,7 @@ "defaultMessage": "DNS-leverancier" }, "certificates.dns.provider.placeholder": { - "defaultMessage": "Kiese een leverancier..." + "defaultMessage": "Kies een leverancier..." }, "certificates.dns.warning": { "defaultMessage": "Deze sectie vereist wat informatie over Certbot en zijn DNS plugins. Gebruik de documentatie van de bijbehorende plugins." @@ -216,10 +216,10 @@ "defaultMessage": "Je server is bereikbaar en certificaten kunnen worden aangemaakt." }, "certificates.http.reachability-other": { - "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte statuscode ({code}) teruggegeven. Is dat de NPM-server? Zorg ervoor dat je domein verwijst naar het IP waar je NPM-instantie draait." + "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte statuscode ({code}) teruggegeven. Is dat de NPM-server? Zorg ervoor dat je domein verwijst naar het IP waar jouw NPM-instantie draait." }, "certificates.http.reachability-wrong-data": { - "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte gegevens teruggegeven. Is dat de NPM-server? Zorg ervoor dat je domein verwijst naar het IP waar je NPM-instantie draait." + "defaultMessage": "Er is een server gevonden op deze domeinnaam, maar heeft een onverwachte gegevens teruggegeven. Is dat de NPM-server? Zorg ervoor dat je domein verwijst naar het IP waar jouw NPM-instantie draait." }, "certificates.http.test-results": { "defaultMessage": "Testresultaten" @@ -231,7 +231,7 @@ "defaultMessage": "Sleuteltype" }, "certificates.key-type-description": { - "defaultMessage": "RSA is breed compatibel, ECDSA is sneller en veiliger maar wordt mogelijk niet ondersteund door oudere systemen" + "defaultMessage": "RSA is algemeen toepasbaar, ECDSA is sneller en veiliger maar wordt mogelijk niet ondersteund door oudere systemen" }, "certificates.key-type-ecdsa": { "defaultMessage": "ECDSA 256" @@ -318,7 +318,7 @@ "defaultMessage": "Aangemaakt: {date}" }, "dashboard": { - "defaultMessage": "Bedieningspaneel" + "defaultMessage": "Dashboard" }, "dead-host": { "defaultMessage": "404 Host" @@ -468,7 +468,7 @@ "defaultMessage": "Code invoeren" }, "login.2fa-description": { - "defaultMessage": "Voer de code in vanuit uw authenticator-app" + "defaultMessage": "Voer de code in vanuit je authenticator-app" }, "login.2fa-title": { "defaultMessage": "Twee-factor Authenticatie" @@ -477,7 +477,7 @@ "defaultMessage": "Verifiëren" }, "login.title": { - "defaultMessage": "Inloggen" + "defaultMessage": "Log in op je account" }, "nginx-config.label": { "defaultMessage": "Aangepaste Nginx-configuratie" @@ -681,7 +681,7 @@ "defaultMessage": "Omleiding" }, "setup.preamble": { - "defaultMessage": "Begin met het aanmaken van je beheerderaccount." + "defaultMessage": "Begin met het aanmaken van jouw beheerderaccount." }, "setup.title": { "defaultMessage": "Welkom!" @@ -699,7 +699,7 @@ "defaultMessage": "Doorgestuurde Host" }, "stream.forward-host.placeholder": { - "defaultMessage": "example.com or 10.0.0.1 or 2001:db8:3333:4444:5555:6666:7777:8888" + "defaultMessage": "voorbeeld.nl of 10.0.0.1 of 2001:db8:3333:4444:5555:6666:7777:8888" }, "stream.incoming-port": { "defaultMessage": "Inkomende Poort" From a03c47932ec60155ffe8632d7ad78e3e4fec3367 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Mon, 13 Apr 2026 16:56:54 +0200 Subject: [PATCH 052/113] Update nl.json More updates after running the PR-version on live server. Applied consistency with https://nl.wikipedia.org/wiki/Lijst_van_HTTP-statuscodes --- frontend/src/locale/src/nl.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/frontend/src/locale/src/nl.json b/frontend/src/locale/src/nl.json index 6bb1ac5798..e4bada9bbc 100644 --- a/frontend/src/locale/src/nl.json +++ b/frontend/src/locale/src/nl.json @@ -210,7 +210,7 @@ "defaultMessage": "Bereikbaarheid kan niet worden bepaald door een communicatiefout met site24x7.com." }, "certificates.http.reachability-not-resolved": { - "defaultMessage": "Er is geen server beschikbaar op dit domein. Zorg ervoor dat je domein bestaat en verwijst naar het IP waar je NPM-instantie draait en eventueel port 80 wordt doorgegeven in je router." + "defaultMessage": "Er is geen server beschikbaar op dit domein. Zorg ervoor dat je domein bestaat en verwijst naar het IP waar je NPM-instantie draait en eventueel port 80 wordt doorgestuurd in je router." }, "certificates.http.reachability-ok": { "defaultMessage": "Je server is bereikbaar en certificaten kunnen worden aangemaakt." @@ -609,7 +609,7 @@ "defaultMessage": "Openbaar" }, "redirection-host": { - "defaultMessage": "Doorgestuurde Host" + "defaultMessage": "Omgeleide Host" }, "redirection-host.forward-domain": { "defaultMessage": "Doorgestuurd Domein" @@ -618,28 +618,28 @@ "defaultMessage": "HTTP-code" }, "redirection-hosts": { - "defaultMessage": "Doorgestuurde Hosts" + "defaultMessage": "Omgeleide Hosts" }, "redirection-hosts.count": { - "defaultMessage": "{count} {count, plural, one {Doorgestuurde Host} other {Doorgestuurde Hosts}}" + "defaultMessage": "{count} {count, plural, one {Omgeleide Host} other {Omgeleide Hosts}}" }, "redirection-hosts.http-code.300": { - "defaultMessage": "300 Meerdere opties" + "defaultMessage": "300 Meerkeuze" }, "redirection-hosts.http-code.301": { - "defaultMessage": "301 Permanent verplaatst" + "defaultMessage": "301 Definitief verplaatst" }, "redirection-hosts.http-code.302": { "defaultMessage": "302 Tijdelijk verplaatst" }, "redirection-hosts.http-code.303": { - "defaultMessage": "303 Zie overig" + "defaultMessage": "303 Zie andere" }, "redirection-hosts.http-code.307": { - "defaultMessage": "307 Tijdelijk doorgestuurd" + "defaultMessage": "307 Tijdelijke omleiding" }, "redirection-hosts.http-code.308": { - "defaultMessage": "308 Permanent doorgestuurd" + "defaultMessage": "308 Definitieve omleiding" }, "role.admin": { "defaultMessage": "Beheerder" @@ -657,19 +657,19 @@ "defaultMessage": "Instellingen" }, "settings.default-site": { - "defaultMessage": "Standaard Site" + "defaultMessage": "Standaardbestemming" }, "settings.default-site.404": { - "defaultMessage": "404 Pagina" + "defaultMessage": "404-pagina" }, "settings.default-site.444": { - "defaultMessage": "Geen Antwoord (444)" + "defaultMessage": "Geen reactie (444)" }, "settings.default-site.congratulations": { - "defaultMessage": "Felicitatiepagina" + "defaultMessage": "Felicitatie-pagina" }, "settings.default-site.description": { - "defaultMessage": "Wat te tonen als Nginx een onbekende Host ontvangt" + "defaultMessage": "Wat als Nginx een onbekende Host ontvangt?" }, "settings.default-site.html": { "defaultMessage": "Aangepaste HTML" @@ -678,7 +678,7 @@ "defaultMessage": "" }, "settings.default-site.redirect": { - "defaultMessage": "Omleiding" + "defaultMessage": "Omleiden" }, "setup.preamble": { "defaultMessage": "Begin met het aanmaken van jouw beheerderaccount." From 218e32bf150486f39645b684efd1f9256afd6560 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Mon, 13 Apr 2026 17:24:39 +0200 Subject: [PATCH 053/113] Update nl.json Hyphen inserted for "404-Host" --- frontend/src/locale/src/nl.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/locale/src/nl.json b/frontend/src/locale/src/nl.json index e4bada9bbc..f8a751b66e 100644 --- a/frontend/src/locale/src/nl.json +++ b/frontend/src/locale/src/nl.json @@ -321,13 +321,13 @@ "defaultMessage": "Dashboard" }, "dead-host": { - "defaultMessage": "404 Host" + "defaultMessage": "404-Host" }, "dead-hosts": { - "defaultMessage": "404 Hosts" + "defaultMessage": "404-Hosts" }, "dead-hosts.count": { - "defaultMessage": "{count} {count, plural, one {404 Host} other {404 Hosts}}" + "defaultMessage": "{count} {count, plural, one {404-Host} other {404-Hosts}}" }, "disabled": { "defaultMessage": "Uitgeschakeld" From 69d94b4a53c7cc54e16070eae8230338f915897f Mon Sep 17 00:00:00 2001 From: Jhonatan carvajal antigua <54653531+jcarvajalantigua@users.noreply.github.com> Date: Tue, 14 Apr 2026 00:03:10 -0400 Subject: [PATCH 054/113] Add SECURITY.md for security policy and reporting Added a security policy document outlining supported versions and vulnerability reporting procedures. --- SECURITY.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000000..1594798350 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,30 @@ +# Security Policy + +## Supported Versions + +Only the latest stable release receives security updates. +Older versions are not actively maintained. + +| Version | Supported | +| ------- | --------- | +| 2.14.x (latest) | :white_check_mark: | +| < 2.14.0 | :x: | + +Docker images: `jc21/nginx-proxy-manager:latest`, `jc21/nginx-proxy-manager:2` + +See all releases: https://github.com/NginxProxyManager/nginx-proxy-manager/releases + +## Reporting a Vulnerability + +**Do NOT open a public GitHub Issue to report a security vulnerability.** + +Use GitHub's private vulnerability reporting: +https://github.com/NginxProxyManager/nginx-proxy-manager/security/advisories/new + +Please include: +- Affected version (Docker image tag or release) +- Description of the vulnerability +- Steps to reproduce +- Potential impact + +Once a fix is available, a public GitHub Security Advisory will be published. From cea69e4ba5c52c1f750752d8b007e507613056a1 Mon Sep 17 00:00:00 2001 From: Alexander Gumi Date: Tue, 14 Apr 2026 11:05:03 +0300 Subject: [PATCH 055/113] Add hoster.by DNS provider --- backend/certbot/dns-plugins.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index 0588f98512..a4ec821d5c 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -351,6 +351,14 @@ "package_name": "certbot-dns-hover", "version": "~=1.2.1" }, + "hosterby": { + "credentials": "dns_hosterby_access_key = YOUR_ACCESS_KEY\ndns_hosterby_secret_key = YOUR_SECRET_KEY", + "dependencies": "", + "full_plugin_name": "dns-hosterby", + "name": "hoster.by", + "package_name": "certbot-dns-hosterby", + "version": "~=0.1.0" + }, "infomaniak": { "credentials": "dns_infomaniak_token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dependencies": "", From 26a2bcab4276ac54b543ec070d9fa25189175604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20B=C3=A1ra?= Date: Thu, 16 Apr 2026 09:13:10 +0200 Subject: [PATCH 056/113] Fix translation in streams table ignoring current enable/disable state --- frontend/src/pages/Nginx/Streams/Table.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/Nginx/Streams/Table.tsx b/frontend/src/pages/Nginx/Streams/Table.tsx index 4b9ff7d600..64c0780f77 100644 --- a/frontend/src/pages/Nginx/Streams/Table.tsx +++ b/frontend/src/pages/Nginx/Streams/Table.tsx @@ -130,7 +130,7 @@ export default function Table({ data, isFetching, isFiltered, onEdit, onDelete, }} > - +
Date: Sun, 26 Apr 2026 14:14:30 +0200 Subject: [PATCH 057/113] fix #5441 --- backend/internal/user.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/internal/user.js b/backend/internal/user.js index d13931d54a..fad0de2838 100644 --- a/backend/internal/user.js +++ b/backend/internal/user.js @@ -87,7 +87,13 @@ const internalUser = { } return access - .can("users:update", data.id) + .can("users:permissions", data.id) + .catch(() => { + delete data.roles; + }) + .then(() => { + return access.can("users:update", data.id); + }) .then(() => { // Make sure that the user being updated doesn't change their email to another user that is already using it // 1. get user we want to update From f7c2219680d12b71a128c730dff98a6ad108c273 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Tue, 5 May 2026 19:13:52 +0200 Subject: [PATCH 058/113] Update nl.json More improvements re. @TheMazeIsAmazing --- frontend/src/locale/src/nl.json | 48 ++++++++++++++++----------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/frontend/src/locale/src/nl.json b/frontend/src/locale/src/nl.json index f8a751b66e..70d4a0e2a8 100644 --- a/frontend/src/locale/src/nl.json +++ b/frontend/src/locale/src/nl.json @@ -6,7 +6,7 @@ "defaultMessage": "Bewaar deze back-upcodes op een veilige plaats. Elke code kan slechts één keer worden gebruikt." }, "2fa.disable": { - "defaultMessage": "Twee-Factor Authenticatie uitschakelen" + "defaultMessage": "Tweefactorauthenticatie uitschakelen" }, "2fa.disable-confirm": { "defaultMessage": "2FA uitschakelen" @@ -21,7 +21,7 @@ "defaultMessage": "Ik heb mijn back-upcodes opgeslagen" }, "2fa.enable": { - "defaultMessage": "Twee-Factor Authenticatie inschakelen" + "defaultMessage": "Tweefactorauthenticatie inschakelen" }, "2fa.enabled": { "defaultMessage": "Ingeschakeld" @@ -51,7 +51,7 @@ "defaultMessage": "Status" }, "2fa.title": { - "defaultMessage": "Twee-factor Authenticatie" + "defaultMessage": "-factor Authenticatie" }, "2fa.verify-enable": { "defaultMessage": "Verifiëren en inschakelen" @@ -72,7 +72,7 @@ "defaultMessage": "Houd er rekening mee dat de regels worden toegepast in de volgorde waarin ze zijn gedefinieerd." }, "access-list.pass-auth": { - "defaultMessage": "Authenticatie verder omhoog doorgeven" + "defaultMessage": "Authenticatie naar upstream doorgeven" }, "access-list.public": { "defaultMessage": "Publiekelijk toegankelijk" @@ -183,7 +183,7 @@ "defaultMessage": "Inloggegevens bestandsinhoud" }, "certificates.dns.credentials-note": { - "defaultMessage": "Deze plugin vereist een configuratiebestand met een API-token of andere gegevens van je provider." + "defaultMessage": "Deze plugin vereist een configuratiebestand met een API-token of andere gegevens van je aanbieder." }, "certificates.dns.credentials-warning": { "defaultMessage": "Deze gegevens worden opgeslagen als plaintext in de database en in een bestand!" @@ -195,10 +195,10 @@ "defaultMessage": "Laat leeg om de standaardwaarde van de plugin te gebruiken. Aantal seconden om te wachten op DNS-propagatie." }, "certificates.dns.provider": { - "defaultMessage": "DNS-leverancier" + "defaultMessage": "DNS-aanbieder" }, "certificates.dns.provider.placeholder": { - "defaultMessage": "Kies een leverancier..." + "defaultMessage": "Kies een aanbieder..." }, "certificates.dns.warning": { "defaultMessage": "Deze sectie vereist wat informatie over Certbot en zijn DNS plugins. Gebruik de documentatie van de bijbehorende plugins." @@ -285,7 +285,7 @@ "defaultMessage": "Protocol" }, "column.provider": { - "defaultMessage": "Provider" + "defaultMessage": "Aanbieder" }, "column.roles": { "defaultMessage": "Rollen" @@ -363,10 +363,10 @@ "defaultMessage": "HTTP/2-ondersteuning" }, "domains.trust-forwarded-proto": { - "defaultMessage": "Upstream Forwarded Proto Headers vertrouwen" + "defaultMessage": "Forwarded-Proto-headers van upstream vertrouwen" }, "domains.use-dns": { - "defaultMessage": "DNS Challenge gebruiken" + "defaultMessage": "DNS-challenge gebruiken" }, "email-address": { "defaultMessage": "E-mailadres" @@ -387,7 +387,7 @@ "defaultMessage": "Gebruikersnamen moeten uniek zijn" }, "error.invalid-auth": { - "defaultMessage": "Ongeldige e-mail of wachtwoord" + "defaultMessage": "Ongeldig e-mail of wachtwoord" }, "error.invalid-domain": { "defaultMessage": "Ongeldige domeinnaam: {domain}" @@ -426,7 +426,7 @@ "defaultMessage": "Veelvoorkomende kwetsbaarheden blokkeren" }, "host.flags.cache-assets": { - "defaultMessage": "Cache Assets" + "defaultMessage": "Assets opslaan" }, "host.flags.preserve-path": { "defaultMessage": "Pad behouden" @@ -438,7 +438,7 @@ "defaultMessage": "Websockets-ondersteuning" }, "host.forward-port": { - "defaultMessage": "Poort Doorsturen" + "defaultMessage": "Poort doorsturen" }, "host.forward-scheme": { "defaultMessage": "Schema" @@ -468,10 +468,10 @@ "defaultMessage": "Code invoeren" }, "login.2fa-description": { - "defaultMessage": "Voer de code in vanuit je authenticator-app" + "defaultMessage": "Voer de code in vanuit je Authenticator-app" }, "login.2fa-title": { - "defaultMessage": "Twee-factor Authenticatie" + "defaultMessage": "Tweefactorauthenticatie" }, "login.2fa-verify": { "defaultMessage": "Verifiëren" @@ -594,13 +594,13 @@ "defaultMessage": "Alleen aangemaakte items" }, "proxy-host": { - "defaultMessage": "Proxy Host" + "defaultMessage": "Proxyhost" }, "proxy-host.forward-host": { "defaultMessage": "Hostname / IP Doorsturen" }, "proxy-hosts": { - "defaultMessage": "Proxy Hosts" + "defaultMessage": "Proxyhosts" }, "proxy-hosts.count": { "defaultMessage": "{count} {count, plural, one {Proxy Host} other {Proxy Hosts}}" @@ -609,7 +609,7 @@ "defaultMessage": "Openbaar" }, "redirection-host": { - "defaultMessage": "Omgeleide Host" + "defaultMessage": "Omleidingshost" }, "redirection-host.forward-domain": { "defaultMessage": "Doorgestuurd Domein" @@ -666,7 +666,7 @@ "defaultMessage": "Geen reactie (444)" }, "settings.default-site.congratulations": { - "defaultMessage": "Felicitatie-pagina" + "defaultMessage": "Felicitatiepagina" }, "settings.default-site.description": { "defaultMessage": "Wat als Nginx een onbekende Host ontvangt?" @@ -696,13 +696,13 @@ "defaultMessage": "Stream" }, "stream.forward-host": { - "defaultMessage": "Doorgestuurde Host" + "defaultMessage": "Doelhost" }, "stream.forward-host.placeholder": { "defaultMessage": "voorbeeld.nl of 10.0.0.1 of 2001:db8:3333:4444:5555:6666:7777:8888" }, "stream.incoming-port": { - "defaultMessage": "Inkomende Poort" + "defaultMessage": "Inkomende poort" }, "streams": { "defaultMessage": "Streams" @@ -732,13 +732,13 @@ "defaultMessage": "Wachtwoord bevestigen" }, "user.current-password": { - "defaultMessage": "Huidig Wachtwoord" + "defaultMessage": "Huidig wachtwoord" }, "user.edit-profile": { "defaultMessage": "Profiel bewerken" }, "user.full-name": { - "defaultMessage": "Volledige Naam" + "defaultMessage": "Volledige naam" }, "user.login-as": { "defaultMessage": "Inloggen als {name}" @@ -765,7 +765,7 @@ "defaultMessage": "Lichte modus inschakelen" }, "user.two-factor": { - "defaultMessage": "Twee-factor Auth" + "defaultMessage": "Tweefactorauthenticatie" }, "username": { "defaultMessage": "Gebruikersnaam" From a6f8b7dd1d225e16f0f8b7ac77e1796fd23dc714 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Tue, 5 May 2026 19:53:16 +0200 Subject: [PATCH 059/113] Update nl.json --- frontend/src/locale/src/nl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/locale/src/nl.json b/frontend/src/locale/src/nl.json index 70d4a0e2a8..86d49d95e2 100644 --- a/frontend/src/locale/src/nl.json +++ b/frontend/src/locale/src/nl.json @@ -51,7 +51,7 @@ "defaultMessage": "Status" }, "2fa.title": { - "defaultMessage": "-factor Authenticatie" + "defaultMessage": "Tweefactorauthenticatie" }, "2fa.verify-enable": { "defaultMessage": "Verifiëren en inschakelen" From ff066d56266e1598f32c61cd96eefa357c4736a6 Mon Sep 17 00:00:00 2001 From: DOLBA3B Date: Tue, 5 May 2026 21:12:04 +0200 Subject: [PATCH 060/113] Adds column sorting to Nginx tables --- frontend/src/components/Table/TableHeader.tsx | 31 +++++++++++++++++-- frontend/src/pages/Nginx/DeadHosts/Table.tsx | 22 +++++++++++-- frontend/src/pages/Nginx/ProxyHosts/Table.tsx | 28 +++++++++++++++-- .../pages/Nginx/RedirectionHosts/Table.tsx | 22 +++++++++++-- frontend/src/pages/Nginx/Streams/Table.tsx | 24 ++++++++++++-- 5 files changed, 117 insertions(+), 10 deletions(-) diff --git a/frontend/src/components/Table/TableHeader.tsx b/frontend/src/components/Table/TableHeader.tsx index bf627ce992..dd409d59d8 100644 --- a/frontend/src/components/Table/TableHeader.tsx +++ b/frontend/src/components/Table/TableHeader.tsx @@ -1,3 +1,5 @@ +import { IconArrowsSort, IconChevronDown, IconChevronUp } from "@tabler/icons-react"; +import { flexRender } from "@tanstack/react-table"; import type { TableLayoutProps } from "src/components"; function TableHeader(props: TableLayoutProps) { @@ -11,9 +13,34 @@ function TableHeader(props: TableLayoutProps) { {headerGroup.headers.map((header: any) => { const { column } = header; const { className } = (column.columnDef.meta as any) ?? {}; + const canSort = column.getCanSort(); + const sortDir = column.getIsSorted(); + + const headerContent = header.isPlaceholder + ? null + : typeof column.columnDef.header === "string" + ? column.columnDef.header + : flexRender(column.columnDef.header, header.getContext()); + + const sortIcon = canSort ? ( + sortDir === "asc" ? ( + + ) : sortDir === "desc" ? ( + + ) : ( + + ) + ) : null; + return ( - - {typeof column.columnDef.header === "string" ? `${column.columnDef.header}` : null} + + {headerContent} + {sortIcon} ); })} diff --git a/frontend/src/pages/Nginx/DeadHosts/Table.tsx b/frontend/src/pages/Nginx/DeadHosts/Table.tsx index f8a1a27542..17143e7504 100644 --- a/frontend/src/pages/Nginx/DeadHosts/Table.tsx +++ b/frontend/src/pages/Nginx/DeadHosts/Table.tsx @@ -1,6 +1,12 @@ import { IconDotsVertical, IconEdit, IconPower, IconTrash } from "@tabler/icons-react"; -import { createColumnHelper, getCoreRowModel, useReactTable } from "@tanstack/react-table"; -import { useMemo } from "react"; +import { + createColumnHelper, + getCoreRowModel, + getSortedRowModel, + type SortingState, + useReactTable, +} from "@tanstack/react-table"; +import { useMemo, useState } from "react"; import type { DeadHost } from "src/api/backend"; import { CertificateFormatter, @@ -29,6 +35,7 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog () => [ columnHelper.accessor((row: any) => row.owner, { id: "owner", + enableSorting: false, cell: (info: any) => { const value = info.getValue(); return ; @@ -40,6 +47,11 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog columnHelper.accessor((row: any) => row, { id: "domainNames", header: intl.formatMessage({ id: "column.source" }), + sortingFn: (a, b) => { + const aVal = a.original.domainNames?.[0] ?? ""; + const bVal = b.original.domainNames?.[0] ?? ""; + return aVal.localeCompare(bVal); + }, cell: (info: any) => { const value = info.getValue(); return ; @@ -47,6 +59,7 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog }), columnHelper.accessor((row: any) => row.certificate, { id: "certificate", + enableSorting: false, header: intl.formatMessage({ id: "column.ssl" }), cell: (info: any) => { return ; @@ -128,10 +141,15 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog [columnHelper, onDelete, onEdit, onDisableToggle], ); + const [sorting, setSorting] = useState([]); + const tableInstance = useReactTable({ columns, data, + state: { sorting }, + onSortingChange: setSorting, getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), rowCount: data.length, meta: { isFetching, diff --git a/frontend/src/pages/Nginx/ProxyHosts/Table.tsx b/frontend/src/pages/Nginx/ProxyHosts/Table.tsx index 9d58b26acd..5af58081ad 100644 --- a/frontend/src/pages/Nginx/ProxyHosts/Table.tsx +++ b/frontend/src/pages/Nginx/ProxyHosts/Table.tsx @@ -1,6 +1,12 @@ import { IconDotsVertical, IconEdit, IconPower, IconTrash } from "@tabler/icons-react"; -import { createColumnHelper, getCoreRowModel, useReactTable } from "@tanstack/react-table"; -import { useMemo } from "react"; +import { + createColumnHelper, + getCoreRowModel, + getSortedRowModel, + type SortingState, + useReactTable, +} from "@tanstack/react-table"; +import { useMemo, useState } from "react"; import type { ProxyHost } from "src/api/backend"; import { AccessListFormatter, @@ -30,6 +36,7 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog () => [ columnHelper.accessor((row: any) => row.owner, { id: "owner", + enableSorting: false, cell: (info: any) => { const value = info.getValue(); return ; @@ -41,6 +48,11 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog columnHelper.accessor((row: any) => row, { id: "domainNames", header: intl.formatMessage({ id: "column.source" }), + sortingFn: (a, b) => { + const aVal = a.original.domainNames?.[0] ?? ""; + const bVal = b.original.domainNames?.[0] ?? ""; + return aVal.localeCompare(bVal); + }, cell: (info: any) => { const value = info.getValue(); return ; @@ -49,6 +61,11 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog columnHelper.accessor((row: any) => row, { id: "forwardHost", header: intl.formatMessage({ id: "column.destination" }), + sortingFn: (a, b) => { + const aVal = `${a.original.forwardHost}:${a.original.forwardPort}`; + const bVal = `${b.original.forwardHost}:${b.original.forwardPort}`; + return aVal.localeCompare(bVal); + }, cell: (info: any) => { const value = info.getValue(); return `${value.forwardScheme}://${value.forwardHost}:${value.forwardPort}`; @@ -56,6 +73,7 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog }), columnHelper.accessor((row: any) => row.certificate, { id: "certificate", + enableSorting: false, header: intl.formatMessage({ id: "column.ssl" }), cell: (info: any) => { return ; @@ -63,6 +81,7 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog }), columnHelper.accessor((row: any) => row.accessList, { id: "accessList", + enableSorting: false, header: intl.formatMessage({ id: "column.access" }), cell: (info: any) => { return ; @@ -144,10 +163,15 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog [columnHelper, onEdit, onDisableToggle, onDelete], ); + const [sorting, setSorting] = useState([]); + const tableInstance = useReactTable({ columns, data, + state: { sorting }, + onSortingChange: setSorting, getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), rowCount: data.length, meta: { isFetching, diff --git a/frontend/src/pages/Nginx/RedirectionHosts/Table.tsx b/frontend/src/pages/Nginx/RedirectionHosts/Table.tsx index 6ac4152348..8e2d90f555 100644 --- a/frontend/src/pages/Nginx/RedirectionHosts/Table.tsx +++ b/frontend/src/pages/Nginx/RedirectionHosts/Table.tsx @@ -1,6 +1,12 @@ import { IconDotsVertical, IconEdit, IconPower, IconTrash } from "@tabler/icons-react"; -import { createColumnHelper, getCoreRowModel, useReactTable } from "@tanstack/react-table"; -import { useMemo } from "react"; +import { + createColumnHelper, + getCoreRowModel, + getSortedRowModel, + type SortingState, + useReactTable, +} from "@tanstack/react-table"; +import { useMemo, useState } from "react"; import type { RedirectionHost } from "src/api/backend"; import { CertificateFormatter, @@ -29,6 +35,7 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog () => [ columnHelper.accessor((row: any) => row.owner, { id: "owner", + enableSorting: false, cell: (info: any) => { const value = info.getValue(); return ; @@ -40,6 +47,11 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog columnHelper.accessor((row: any) => row, { id: "domainNames", header: intl.formatMessage({ id: "column.source" }), + sortingFn: (a, b) => { + const aVal = a.original.domainNames?.[0] ?? ""; + const bVal = b.original.domainNames?.[0] ?? ""; + return aVal.localeCompare(bVal); + }, cell: (info: any) => { const value = info.getValue(); return ; @@ -68,6 +80,7 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog }), columnHelper.accessor((row: any) => row.certificate, { id: "certificate", + enableSorting: false, header: intl.formatMessage({ id: "column.ssl" }), cell: (info: any) => { return ; @@ -149,10 +162,15 @@ export default function Table({ data, isFetching, onEdit, onDelete, onDisableTog [columnHelper, onEdit, onDisableToggle, onDelete], ); + const [sorting, setSorting] = useState([]); + const tableInstance = useReactTable({ columns, data, + state: { sorting }, + onSortingChange: setSorting, getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), rowCount: data.length, meta: { isFetching, diff --git a/frontend/src/pages/Nginx/Streams/Table.tsx b/frontend/src/pages/Nginx/Streams/Table.tsx index 4b9ff7d600..9ccddf73dc 100644 --- a/frontend/src/pages/Nginx/Streams/Table.tsx +++ b/frontend/src/pages/Nginx/Streams/Table.tsx @@ -1,6 +1,12 @@ import { IconDotsVertical, IconEdit, IconPower, IconTrash } from "@tabler/icons-react"; -import { createColumnHelper, getCoreRowModel, useReactTable } from "@tanstack/react-table"; -import { useMemo } from "react"; +import { + createColumnHelper, + getCoreRowModel, + getSortedRowModel, + type SortingState, + useReactTable, +} from "@tanstack/react-table"; +import { useMemo, useState } from "react"; import type { Stream } from "src/api/backend"; import { CertificateFormatter, @@ -29,6 +35,7 @@ export default function Table({ data, isFetching, isFiltered, onEdit, onDelete, () => [ columnHelper.accessor((row: any) => row.owner, { id: "owner", + enableSorting: false, cell: (info: any) => { const value = info.getValue(); return ; @@ -40,6 +47,7 @@ export default function Table({ data, isFetching, isFiltered, onEdit, onDelete, columnHelper.accessor((row: any) => row, { id: "incomingPort", header: intl.formatMessage({ id: "column.incoming-port" }), + sortingFn: (a, b) => (a.original.incomingPort ?? 0) - (b.original.incomingPort ?? 0), cell: (info: any) => { const value = info.getValue(); return ; @@ -48,6 +56,11 @@ export default function Table({ data, isFetching, isFiltered, onEdit, onDelete, columnHelper.accessor((row: any) => row, { id: "forwardHttpCode", header: intl.formatMessage({ id: "column.destination" }), + sortingFn: (a, b) => { + const aVal = `${a.original.forwardingHost}:${a.original.forwardingPort}`; + const bVal = `${b.original.forwardingHost}:${b.original.forwardingPort}`; + return aVal.localeCompare(bVal); + }, cell: (info: any) => { const value = info.getValue(); return `${value.forwardingHost}:${value.forwardingPort}`; @@ -55,6 +68,7 @@ export default function Table({ data, isFetching, isFiltered, onEdit, onDelete, }), columnHelper.accessor((row: any) => row, { id: "tcpForwarding", + enableSorting: false, header: intl.formatMessage({ id: "column.protocol" }), cell: (info: any) => { const value = info.getValue(); @@ -76,6 +90,7 @@ export default function Table({ data, isFetching, isFiltered, onEdit, onDelete, }), columnHelper.accessor((row: any) => row.certificate, { id: "certificate", + enableSorting: false, header: intl.formatMessage({ id: "column.ssl" }), cell: (info: any) => { return ; @@ -157,10 +172,15 @@ export default function Table({ data, isFetching, isFiltered, onEdit, onDelete, [columnHelper, onEdit, onDisableToggle, onDelete], ); + const [sorting, setSorting] = useState([]); + const tableInstance = useReactTable({ columns, data, + state: { sorting }, + onSortingChange: setSorting, getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), rowCount: data.length, meta: { isFetching, From c869d5a42b222a3f22c7a848e4f8397c98546efc Mon Sep 17 00:00:00 2001 From: Ludovic <56892223+Ludo-code@users.noreply.github.com> Date: Tue, 12 May 2026 01:56:05 +0200 Subject: [PATCH 061/113] Add RcodeZero DNS plugin to dns-plugins.json --- backend/certbot/dns-plugins.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index 0588f98512..6baf37c1d0 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -662,5 +662,13 @@ "name": "ZoneEdit", "package_name": "certbot-dns-zoneedit", "version": "~=0.3.2" + }, + "rcode0": { + "credentials": "dns_rcode0_api_key = acme_0123456789abcdef0123456789abcdef01234567", + "dependencies": "", + "full_plugin_name": "dns-rcode0", + "name": "RcodeZero", + "package_name": "certbot-dns-rcode0", + "version": "~=0.0.0.2" } } From b66fd9d3aecfa09db5babffa8a04f4f1369dec86 Mon Sep 17 00:00:00 2001 From: Markus Date: Tue, 12 May 2026 09:24:28 +0200 Subject: [PATCH 062/113] Added PUT and DELETE method to Access-Control-Allow-Methods field --- backend/lib/express/cors.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/lib/express/cors.js b/backend/lib/express/cors.js index 6fbf3baf6d..e6d1d633eb 100644 --- a/backend/lib/express/cors.js +++ b/backend/lib/express/cors.js @@ -3,7 +3,7 @@ export default (req, res, next) => { res.set({ "Access-Control-Allow-Origin": req.headers.origin, "Access-Control-Allow-Credentials": true, - "Access-Control-Allow-Methods": "OPTIONS, GET, POST", + "Access-Control-Allow-Methods": "OPTIONS, GET, POST, PUT, DELETE", "Access-Control-Allow-Headers": "Content-Type, Cache-Control, Pragma, Expires, Authorization, X-Dataset-Total, X-Dataset-Offset, X-Dataset-Limit", "Access-Control-Max-Age": 5 * 60, From 18b3404f46b98dd4672d46795720c7d0e6065ed0 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 13 May 2026 13:27:59 +1000 Subject: [PATCH 063/113] Update all packages and fix related problems --- backend/biome.json | 2 +- backend/internal/certificate.js | 4 +- backend/package.json | 26 +- backend/yarn.lock | 1349 +++++++++-------------------- frontend/biome.json | 2 +- frontend/package.json | 42 +- frontend/tsconfig.json | 4 +- frontend/vite.config.ts | 5 +- frontend/yarn.lock | 1424 ++++++++++++------------------- test/package.json | 14 +- test/yarn.lock | 484 ++++++----- 11 files changed, 1254 insertions(+), 2102 deletions(-) diff --git a/backend/biome.json b/backend/biome.json index ab68104658..a0164fd99c 100644 --- a/backend/biome.json +++ b/backend/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.5/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js index d54e941d2e..499e146354 100644 --- a/backend/internal/certificate.js +++ b/backend/internal/certificate.js @@ -1,7 +1,7 @@ import fs from "node:fs"; import https from "node:https"; import path from "path"; -import archiver from "archiver"; +import { ZipArchive } from "archiver"; import _ from "lodash"; import moment from "moment"; import { ProxyAgent } from "proxy-agent"; @@ -370,7 +370,7 @@ const internalCertificate = { * @returns {Promise} */ zipFiles: async (source, out) => { - const archive = archiver("zip", { zlib: { level: 9 } }); + const archive = new ZipArchive({ zlib: { level: 9 } }); const stream = fs.createWriteStream(out); return new Promise((resolve, reject) => { diff --git a/backend/package.json b/backend/package.json index e31bf22325..34c39217c8 100644 --- a/backend/package.json +++ b/backend/package.json @@ -13,36 +13,36 @@ "regenerate-config": "node scripts/regenerate-config" }, "dependencies": { - "@apidevtools/json-schema-ref-parser": "^15.3.1", - "ajv": "^8.18.0", - "archiver": "^7.0.1", + "@apidevtools/json-schema-ref-parser": "^15.3.5", + "ajv": "^8.20.0", + "archiver": "^8.0.0", "batchflow": "^0.4.0", "bcrypt": "^6.0.0", - "better-sqlite3": "^12.6.2", + "better-sqlite3": "^12.10.0", "body-parser": "^2.2.2", "compression": "^1.8.1", "express": "^5.2.1", "express-fileupload": "^1.5.2", "gravatar": "^1.8.2", "jsonwebtoken": "^9.0.3", - "knex": "3.1.0", - "liquidjs": "10.24.0", - "lodash": "^4.17.23", + "knex": "3.2.10", + "liquidjs": "10.25.7", + "lodash": "^4.18.1", "moment": "^2.30.1", - "mysql2": "^3.18.2", + "mysql2": "^3.22.3", "node-rsa": "^1.1.1", "objection": "3.1.5", - "otplib": "^13.3.0", + "otplib": "^13.4.0", "path": "^0.12.7", - "pg": "^8.19.0", - "proxy-agent": "^6.5.0", + "pg": "^8.20.0", + "proxy-agent": "^8.0.1", "signale": "1.4.0", - "sqlite3": "^5.1.7", + "sqlite3": "^6.0.1", "temp-write": "^6.0.1" }, "devDependencies": { "@apidevtools/swagger-parser": "^12.1.0", - "@biomejs/biome": "^2.4.5", + "@biomejs/biome": "^2.4.15", "chalk": "5.6.2", "nodemon": "^3.1.14" }, diff --git a/backend/yarn.lock b/backend/yarn.lock index 4fbf7eee8a..c1f18e64b0 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -10,10 +10,10 @@ "@types/json-schema" "^7.0.15" js-yaml "^4.1.0" -"@apidevtools/json-schema-ref-parser@^15.3.1": - version "15.3.1" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.3.1.tgz#93f70004a085f62319705e32f25af748752ea5a4" - integrity sha512-FIweGOR9zrNuskfDXn8dfsA4eJEe8LmmGsGSDikEZvgYm36SO36yMhasXSOX7/OTGZ3b7I9iPhOxB24D8xL5uQ== +"@apidevtools/json-schema-ref-parser@^15.3.5": + version "15.3.5" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.3.5.tgz#503726178d8d792eea7b195566272aaee6837e2f" + integrity sha512-orNOYXw3hYXxxisXMldjzjBzqqTLBPbwOtHg7ovBPvfBHDue1qM9YJENZ3W2BQuS+7z4ThogMbEzEsov57Itkg== dependencies: js-yaml "^4.1.1" @@ -39,172 +39,131 @@ ajv-draft-04 "^1.0.0" call-me-maybe "^1.0.2" -"@biomejs/biome@^2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.5.tgz#90e75c1b6c60eb5bf8e8bfb193a1fbe9dc868f16" - integrity sha512-OWNCyMS0Q011R6YifXNOg6qsOg64IVc7XX6SqGsrGszPbkVCoaO7Sr/lISFnXZ9hjQhDewwZ40789QmrG0GYgQ== +"@biomejs/biome@^2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.15.tgz#cb84ad6eb4235e7230b3c105a825e9bc03399944" + integrity sha512-j5VH3a/h/HXTKBM50MDMxRCzkeLv9S2XJcW2WgnZT1+xyisi+0bISrXR82gCX+8S9lvK0skEvHJRN+3Ktr2hlw== optionalDependencies: - "@biomejs/cli-darwin-arm64" "2.4.5" - "@biomejs/cli-darwin-x64" "2.4.5" - "@biomejs/cli-linux-arm64" "2.4.5" - "@biomejs/cli-linux-arm64-musl" "2.4.5" - "@biomejs/cli-linux-x64" "2.4.5" - "@biomejs/cli-linux-x64-musl" "2.4.5" - "@biomejs/cli-win32-arm64" "2.4.5" - "@biomejs/cli-win32-x64" "2.4.5" - -"@biomejs/cli-darwin-arm64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.5.tgz#a62472ab3529a3905b16e1f3fdbbc74f2e5f0023" - integrity sha512-lGS4Nd5O3KQJ6TeWv10mElnx1phERhBxqGP/IKq0SvZl78kcWDFMaTtVK+w3v3lusRFxJY78n07PbKplirsU5g== - -"@biomejs/cli-darwin-x64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.5.tgz#e8bb001fcf6a8c751b0971cccf53993e9ba2e6e9" - integrity sha512-6MoH4tyISIBNkZ2Q5T1R7dLd5BsITb2yhhhrU9jHZxnNSNMWl+s2Mxu7NBF8Y3a7JJcqq9nsk8i637z4gqkJxQ== - -"@biomejs/cli-linux-arm64-musl@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.5.tgz#b7ef7902237f16113061659a4c54aff5ad4513d5" - integrity sha512-iqLDgpzobG7gpBF0fwEVS/LT8kmN7+S0E2YKFDtqliJfzNLnAiV2Nnyb+ehCDCJgAZBASkYHR2o60VQWikpqIg== - -"@biomejs/cli-linux-arm64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.5.tgz#f110af748965cb1b57624dbbbd7acba729da8780" - integrity sha512-U1GAG6FTjhAO04MyH4xn23wRNBkT6H7NentHh+8UxD6ShXKBm5SY4RedKJzkUThANxb9rUKIPc7B8ew9Xo/cWg== - -"@biomejs/cli-linux-x64-musl@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.5.tgz#c3493eba094216e735538c55354dbc8867b51909" - integrity sha512-NlKa7GpbQmNhZf9kakQeddqZyT7itN7jjWdakELeXyTU3pg/83fTysRRDPJD0akTfKDl6vZYNT9Zqn4MYZVBOA== - -"@biomejs/cli-linux-x64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.5.tgz#15805550db4e45ffbd6c42d140d0cb5c6dbe07af" - integrity sha512-NdODlSugMzTlENPTa4z0xB82dTUlCpsrOxc43///aNkTLblIYH4XpYflBbf5ySlQuP8AA4AZd1qXhV07IdrHdQ== - -"@biomejs/cli-win32-arm64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.5.tgz#8dae57dc8ffc1e82e00a59e623b5023c09726a4d" - integrity sha512-EBfrTqRIWOFSd7CQb/0ttjHMR88zm3hGravnDwUA9wHAaCAYsULKDebWcN5RmrEo1KBtl/gDVJMrFjNR0pdGUw== - -"@biomejs/cli-win32-x64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.5.tgz#0b4d3355e0d6856cff8ed722e05ec7b0652e43ab" - integrity sha512-Pmhv9zT95YzECfjEHNl3mN9Vhusw9VA5KHY0ZvlGsxsjwS5cb7vpRnHzJIv0vG7jB0JI7xEaMH9ddfZm/RozBw== - -"@gar/promisify@^1.0.1": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + "@biomejs/cli-darwin-arm64" "2.4.15" + "@biomejs/cli-darwin-x64" "2.4.15" + "@biomejs/cli-linux-arm64" "2.4.15" + "@biomejs/cli-linux-arm64-musl" "2.4.15" + "@biomejs/cli-linux-x64" "2.4.15" + "@biomejs/cli-linux-x64-musl" "2.4.15" + "@biomejs/cli-win32-arm64" "2.4.15" + "@biomejs/cli-win32-x64" "2.4.15" + +"@biomejs/cli-darwin-arm64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.15.tgz#3469daa56ac3ff4f16588a120df706381a96f65c" + integrity sha512-rF3PPqLq1yoST79zaQbDjVJwsuIeci/O+9bgNmC5QpgOqz6aqYuzA4abyAGx+mgyiDXn4A049xAN8gijbuR1Qg== + +"@biomejs/cli-darwin-x64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.15.tgz#0697b81089409635da16682ac1e539165c262006" + integrity sha512-/5KHXYMfSJs1fNXiX30xFtI8JcCFV6zaVVLxOa0M2sfqBKHkpQhRTv94yxQWxeTY2lzo2OuTlNvPC+hDQt2wcQ== + +"@biomejs/cli-linux-arm64-musl@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.15.tgz#c6af054e3732c361e9ad8c44070f909666b5616f" + integrity sha512-ZPcxznxm0pogHBLZhYntyR3sR+MrZjqJIKEr7ZqVen0Rl+P/4upVmfYXjftizi9RoqZntg33fv/1fbdhbYXpEQ== + +"@biomejs/cli-linux-arm64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.15.tgz#527cef60339649a442d51a9cd129ae9dfe9da926" + integrity sha512-owaAMZD/T4LrD0ELNCk0Km3qrRHuM0X6EAyVE1FSqGY0rbLoiDLrO4Us2tllm6cAeB2Ioa9C2C08NZPdr8+0Ug== + +"@biomejs/cli-linux-x64-musl@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.15.tgz#b39292ad106c3d5a612bf3c61ba3119f66833013" + integrity sha512-CNq/9W38SYSH023lfcQ4KKU8K0YX8T//FZUhcgtMMRABDojx5XsMV7jlweAvGSl389wJQB29Qo6Zb/a+jdvt+w== + +"@biomejs/cli-linux-x64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.15.tgz#7360b7f81ff03ec6d9350bedc76b89f783b0945d" + integrity sha512-0jj7THz12GbUOLmMibktK6DZjqz2zV64KFxyBtcFTKPiiOIY0a7vns1elpO1dERvxpsZ5ik0oFfz0oGwFde1+g== + +"@biomejs/cli-win32-arm64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.15.tgz#9542aac679174892a9379267e0c0048f8eee4d9f" + integrity sha512-ouhkYdlhp/1GghEJPdWwD/Vi3gQ1nFxuSpMolWsbq3Lsq3QUR4jl6UdhhscdCugKU5vOEuMiJhvKj66O0OCq+w== + +"@biomejs/cli-win32-x64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.15.tgz#80288e4eea8f916fc5c876e9a486baadb8de537d" + integrity sha512-zBrGq5mx5wwpnow4+2BxUvleDM+GNd4sLbPaMapsSLQLD0NGRCquqPBTgN+7XkUteHvj7M+BstuI8tmnV7+HgQ== + +"@isaacs/fs-minipass@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32" + integrity sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + minipass "^7.0.4" "@noble/hashes@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-2.0.1.tgz#fc1a928061d1232b0a52bb754393c37a5216c89e" integrity sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw== -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@otplib/core@13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@otplib/core/-/core-13.3.0.tgz#7f037af6cc5907c2cff9cf6092952088a0ce5a6e" - integrity sha512-pnQDOuCmFVeF/XnboJq9TOJgLoo2idNPJKMymOF8vGqJJ+ReKRYM9bUGjNPRWC0tHjMwu1TXbnzyBp494JgRag== +"@otplib/core@13.4.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@otplib/core/-/core-13.4.0.tgz#14db803de5bd09f7c412eba86c7d193a09d57187" + integrity sha512-JqOGcvZQi2wIkEQo8f3/iAjstavpXy6gouIDMHygjNuH6Q0FjbHOiXMdcE94RwfgDNMABhzwUmvaPsxvgm9NYw== -"@otplib/hotp@13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@otplib/hotp/-/hotp-13.3.0.tgz#135e45c6350ae60bbc1170a1801a6100e49794b8" - integrity sha512-XJMZGz2bg4QJwK7ulvl1GUI2VMn/flaIk/E/BTKAejHsX2kUtPF1bRhlZ2+elq8uU5Fs9Z9FHcQK2CPZNQbbUQ== +"@otplib/hotp@13.4.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@otplib/hotp/-/hotp-13.4.0.tgz#e12a69cc54c000213e4bf2d92dc9741a6897d3a2" + integrity sha512-MJjE0x06mn2ptymz5qZmQveb+vWFuaIftqE0b5/TZZqUOK7l97cV8lRTmid5BpAQMwJDNLW6RnYxGeCRiNdekw== dependencies: - "@otplib/core" "13.3.0" - "@otplib/uri" "13.3.0" + "@otplib/core" "13.4.0" + "@otplib/uri" "13.4.0" -"@otplib/plugin-base32-scure@13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@otplib/plugin-base32-scure/-/plugin-base32-scure-13.3.0.tgz#3362fc5dd568e9cecac913fd0fa169148c469142" - integrity sha512-/jYbL5S6GB0Ie3XGEWtLIr9s5ZICl/BfmNL7+8/W7usZaUU4GiyLd2S+JGsNCslPyqNekSudD864nDAvRI0s8w== +"@otplib/plugin-base32-scure@13.4.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@otplib/plugin-base32-scure/-/plugin-base32-scure-13.4.0.tgz#04c3b31075bc733ed3fb54d3335a65813faed0fe" + integrity sha512-/t9YWJmMbB8bF5z8mXrBZc2FXBe8B/3hG5FhWr9K8cFwFhyxScbPysmZe8s1UTzSA6N+s8Uv8aIfCtVXPNjJWw== dependencies: - "@otplib/core" "13.3.0" + "@otplib/core" "13.4.0" "@scure/base" "^2.0.0" -"@otplib/plugin-crypto-noble@13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@otplib/plugin-crypto-noble/-/plugin-crypto-noble-13.3.0.tgz#edfd6c8c54730cfdfc52c6a3fcd797e204fdd0e2" - integrity sha512-wmV+jBVncepgwv99G7Plrdzd0tHfbpXk2U+OD7MO7DzpDqOYEgOPi+IIneksJSTL8QvWdfi+uQEuhnER4fKouA== +"@otplib/plugin-crypto-noble@13.4.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@otplib/plugin-crypto-noble/-/plugin-crypto-noble-13.4.0.tgz#048c6ad84fd718a2b66f108048aa2f7fd118e5d8" + integrity sha512-KrvE4m7Zv+TT1944HzgqFJWJpKb6AyoxDbvhPStmBqdMlv5Gekb80d66cuFRL08kkPgJ5gXUSb5SFpYeB+bACg== dependencies: "@noble/hashes" "^2.0.1" - "@otplib/core" "13.3.0" + "@otplib/core" "13.4.0" -"@otplib/totp@13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@otplib/totp/-/totp-13.3.0.tgz#1d1f61cfd1acd773e1051e6b918227ae34545808" - integrity sha512-XfjGNoN8d9S3Ove2j7AwkVV7+QDFsV7Lm7YwSiezNaHffkWtJ60aJYpmf+01dARdPST71U2ptueMsRJso4sq4A== +"@otplib/totp@13.4.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@otplib/totp/-/totp-13.4.0.tgz#f43543435f9ea4c7798913ef8f975462f80fce63" + integrity sha512-dK+vl0f0ekzf6mCENRI9AKS2NJUC7OjI3+X8e7QSnhQ2WM7I+i4PGpb3QxKi5hxjTtwVuoZwXR2CFtXdcRtNdQ== dependencies: - "@otplib/core" "13.3.0" - "@otplib/hotp" "13.3.0" - "@otplib/uri" "13.3.0" + "@otplib/core" "13.4.0" + "@otplib/hotp" "13.4.0" + "@otplib/uri" "13.4.0" -"@otplib/uri@13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@otplib/uri/-/uri-13.3.0.tgz#7474d6dc0fdf8ab2d0cf2b79e2001446c4e7b6b3" - integrity sha512-3oh6nBXy+cm3UX9cxEAGZiDrfxHU2gfelYFV+XNCx+8dq39VaQVymwlU2yjPZiMAi/3agaUeEftf2RwM5F+Cyg== +"@otplib/uri@13.4.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@otplib/uri/-/uri-13.4.0.tgz#23fa0b727bec026bb871afd42e1c3e5ff57bed1d" + integrity sha512-x1ozBa5bPbdZCrrTL/HK21qchiK7jYElTu+0ft22abeEhiLYgH1+SIULvOcVk3CK8YwF4kdcidvkq4ciejucJA== dependencies: - "@otplib/core" "13.3.0" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + "@otplib/core" "13.4.0" "@scure/base@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@scure/base/-/base-2.0.0.tgz#ba6371fddf92c2727e88ad6ab485db6e624f9a98" integrity sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w== -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@tootallnate/quickjs-emscripten@^0.23.0": - version "0.23.0" - resolved "https://registry.yarnpkg.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz#db4ecfd499a9765ab24002c3b696d02e6d32a12c" - integrity sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== - "@types/json-schema@^7.0.15": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abbrev@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-4.0.0.tgz#ec933f0e27b6cd60e89b5c6b2a304af42209bb05" + integrity sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA== abort-controller@^3.0.0: version "3.0.0" @@ -221,32 +180,10 @@ accepts@^2.0.0: mime-types "^3.0.0" negotiator "^1.0.0" -agent-base@6, agent-base@^6.0.2: - 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@^7.1.0, agent-base@^7.1.2: - version "7.1.4" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" - integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== - -agentkeepalive@^4.1.3: - version "4.6.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz#35f73e94b3f40bf65f105219c623ad19c136ea6a" - integrity sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ== - dependencies: - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" +agent-base@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-9.0.0.tgz#ec9efb08314e1e75b0852d74aabf9a387f99834e" + integrity sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA== ajv-draft-04@^1.0.0: version "1.0.0" @@ -260,7 +197,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv@^8.0.0, ajv@^8.17.1, ajv@^8.18.0: +ajv@^8.0.0, ajv@^8.17.1: version "8.18.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.18.0.tgz#8864186b6738d003eb3a933172bb3833e10cefbc" integrity sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A== @@ -270,16 +207,21 @@ ajv@^8.0.0, ajv@^8.17.1, ajv@^8.18.0: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" +ajv@^8.20.0: + version "8.20.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.20.0.tgz#304b3636add88ba7d936760dd50ece006dea95f9" + integrity sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" - integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== - ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -294,11 +236,6 @@ ansi-styles@^4.0.0: dependencies: color-convert "^2.0.1" -ansi-styles@^6.1.0: - version "6.2.3" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" - integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== - anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" @@ -307,44 +244,20 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -"aproba@^1.0.3 || ^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.1.0.tgz#75500a190313d95c64e871e7e4284c6ac219f0b1" - integrity sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew== - -archiver-utils@^5.0.0, archiver-utils@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-5.0.2.tgz#63bc719d951803efc72cf961a56ef810760dd14d" - integrity sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA== - dependencies: - glob "^10.0.0" - graceful-fs "^4.2.0" - is-stream "^2.0.1" - lazystream "^1.0.0" - lodash "^4.17.15" - normalize-path "^3.0.0" - readable-stream "^4.0.0" - -archiver@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-7.0.1.tgz#c9d91c350362040b8927379c7aa69c0655122f61" - integrity sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ== +archiver@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-8.0.0.tgz#b02b8d0b978488e6dbebf1e0ebbc4103f5ffae3b" + integrity sha512-fV1orZfsnPn9BaSByR/qE67rJCLJEy2Ox5bq7nJh+jquWaNh6Sfec75kJ2T6PtdGUbPQlrVoSVCEOa5SdiTQ1g== dependencies: - archiver-utils "^5.0.2" async "^3.2.4" buffer-crc32 "^1.0.0" + is-stream "^4.0.0" + lazystream "^1.0.0" + normalize-path "^3.0.0" readable-stream "^4.0.0" - readdir-glob "^1.1.2" + readdir-glob "^3.0.0" tar-stream "^3.0.0" - zip-stream "^6.0.1" - -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" + zip-stream "^7.0.2" argparse@^2.0.1: version "2.0.1" @@ -380,11 +293,6 @@ b4a@^1.6.4: resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.8.0.tgz#1ca3ba0edc9469aaabef5647e769a83d50180b1a" integrity sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg== -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - balanced-match@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.3.tgz#6337a2f23e0604a30481423432f99eac603599f9" @@ -400,10 +308,10 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -basic-ftp@^5.0.2: - version "5.2.0" - resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.2.0.tgz#7c2dff63c918bde60e6bad1f2ff93dcf5137a40a" - integrity sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw== +basic-ftp@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.3.1.tgz#3148ee9af43c0522514a4f973fecb1d3cbb6d71e" + integrity sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw== batchflow@^0.4.0: version "0.4.0" @@ -418,10 +326,10 @@ bcrypt@^6.0.0: node-addon-api "^8.3.0" node-gyp-build "^4.8.4" -better-sqlite3@^12.6.2: - version "12.6.2" - resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-12.6.2.tgz#770649f28a62e543a360f3dfa1afe4cc944b1937" - integrity sha512-8VYKM3MjCa9WcaSAI3hzwhmyHVlH8tiGFwf0RlTsZPWJ1I5MkzjiudCo4KC4DxOaL/53A5B1sI/IbldNFDbsKA== +better-sqlite3@^12.10.0: + version "12.10.0" + resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-12.10.0.tgz#bde622d14a18008583a53bc53501ae98f1a12221" + integrity sha512-CyzaZRQKyHkB2ZInfTTl2nvT33EbDpjkLEbE8/Zck3Ll6O0qqvuGdrJ45HgtH+HykRg88ITY3AdreBGN70aBSQ== dependencies: bindings "^1.5.0" prebuild-install "^7.1.1" @@ -467,21 +375,6 @@ body-parser@^2.2.1, body-parser@^2.2.2: raw-body "^3.0.1" type-is "^2.0.1" -brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" - integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== - dependencies: - balanced-match "^1.0.0" - brace-expansion@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.2.tgz#b6c16d0791087af6c2bc463f52a8142046c06b6f" @@ -489,6 +382,13 @@ brace-expansion@^5.0.2: dependencies: balanced-match "^4.0.2" +brace-expansion@^5.0.5: + version "5.0.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.6.tgz#ec68fe0a641a29d8711579caf641d05bae1f2285" + integrity sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g== + dependencies: + balanced-match "^4.0.2" + braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" @@ -534,30 +434,6 @@ bytes@3.1.2, bytes@^3.1.2, bytes@~3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" @@ -618,15 +494,10 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +chownr@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-3.0.0.tgz#9855e64ecd240a9cc4267ce8a4aa5d24a1da15e4" + integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== cliui@^6.0.0: version "6.0.0" @@ -661,11 +532,6 @@ 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== -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - colorette@2.0.19: version "2.0.19" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" @@ -676,14 +542,14 @@ commander@^10.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -compress-commons@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-6.0.2.tgz#26d31251a66b9d6ba23a84064ecd3a6a71d2609e" - integrity sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg== +compress-commons@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-7.0.1.tgz#280665524f98e02d704b0df511842c2da19077fd" + integrity sha512-g0S8KAD8qf4+V//pr3BfB1aBnARLXNz2Gx+jmHU0LEriUuoQUOPOulVquHKTJ8+EAIIO7fhseNDr9wK5Q9FKBQ== dependencies: crc-32 "^1.2.0" - crc32-stream "^6.0.0" - is-stream "^2.0.1" + crc32-stream "^7.0.1" + is-stream "^4.0.0" normalize-path "^3.0.0" readable-stream "^4.0.0" @@ -707,16 +573,6 @@ compression@^1.8.1: safe-buffer "5.2.1" vary "~1.1.2" -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - content-disposition@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-1.0.1.tgz#a8b7bbeb2904befdfb6787e5c0c086959f605f9b" @@ -747,27 +603,18 @@ crc-32@^1.2.0: resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== -crc32-stream@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-6.0.0.tgz#8529a3868f8b27abb915f6c3617c0fadedbf9430" - integrity sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g== +crc32-stream@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-7.0.1.tgz#e573ff657b789e8b5a131cb298f731d7d12e0f42" + integrity sha512-IBWsY8xznyQrcHn8h4bC8/4ErNke5elzgG8GcqF4RFPw6aHkWWRc7Tgw6upjaTX/CT/yQgqYENkxYsTYN+hW2g== dependencies: crc-32 "^1.2.0" readable-stream "^4.0.0" -cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -data-uri-to-buffer@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz#8a58bb67384b261a38ef18bea1810cb01badd28b" - integrity sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== +data-uri-to-buffer@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-8.0.0.tgz#c642ffbc96d8fae76cccecbad43cbddd7818c785" + integrity sha512-6UHfyCux51b8PTGDgveqtz1tvphBku5DrMKKJbFAZAJOI2zsjDpDoYE1+QGj7FOMS4BdTFNJsJiR3zEB0xH0yQ== db-errors@^0.2.3: version "0.2.3" @@ -781,13 +628,6 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4, debug@^4.3.3, debug@^4.3.4, debug@^4.4.0, debug@^4.4.3: - version "4.4.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" - integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== - dependencies: - ms "^2.1.3" - debug@4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -795,6 +635,13 @@ debug@4.3.4: dependencies: ms "2.1.2" +debug@^4, debug@^4.3.4, debug@^4.4.0, debug@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -812,20 +659,15 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -degenerator@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5" - integrity sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== +degenerator@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-7.0.1.tgz#9b057747a2e5d058b0ef8fd753faccc109957467" + integrity sha512-ABErK0IefDSyHjlPH7WUEenIAX2rPPnrDcDM+TS3z3+zu9TfyKKi07BQM+8rmxpdE2y1v5fjjdoAS/x4D2U60w== dependencies: ast-types "^0.13.4" escodegen "^2.1.0" esprima "^4.0.1" -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - denque@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" @@ -850,11 +692,6 @@ dunder-proto@^1.0.1: es-errors "^1.3.0" gopd "^1.2.0" -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - 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" @@ -877,23 +714,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - encodeurl@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== -encoding@^0.1.12: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.5" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" @@ -906,11 +731,6 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - error-ex@^1.3.1: version "1.3.4" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" @@ -1008,6 +828,11 @@ expand-template@^2.0.3: resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== +exponential-backoff@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.3.tgz#51cf92c1c0493c766053f9d3abee4434c244d2f6" + integrity sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA== + express-fileupload@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/express-fileupload/-/express-fileupload-1.5.2.tgz#4da70ba6f2ffd4c736eab0776445865a9dbd9bfa" @@ -1064,6 +889,11 @@ fast-uri@^3.0.1: resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -1110,14 +940,6 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -foreground-child@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" - integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== - dependencies: - cross-spawn "^7.0.6" - signal-exit "^4.0.1" - forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -1133,18 +955,6 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" @@ -1155,20 +965,6 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - generate-function@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" @@ -1210,13 +1006,13 @@ get-proto@^1.0.1: dunder-proto "^1.0.1" es-object-atoms "^1.0.0" -get-uri@^6.0.1: - version "6.0.5" - resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-6.0.5.tgz#714892aa4a871db671abc5395e5e9447bc306a16" - integrity sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg== +get-uri@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-8.0.0.tgz#3ac2e278c4bd8a717be70c8f8f8841e7d6aead93" + integrity sha512-CqtZlMKvfJeY0Zxv8wazDwXmSKmnMnsmNy8j8+wudi8EyG/pMUB1NqHc+Tv1QaNtpYsK9nOYjb7r7Ufu32RPSw== dependencies: - basic-ftp "^5.0.2" - data-uri-to-buffer "^6.0.2" + basic-ftp "^5.2.0" + data-uri-to-buffer "8.0.0" debug "^4.3.4" getopts@2.3.0: @@ -1236,36 +1032,12 @@ glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob@^10.0.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" - integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^3.1.2" - minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^1.11.1" - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - gopd@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -graceful-fs@^4.1.2, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.6: +graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.6: version "4.2.11" 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== @@ -1290,11 +1062,6 @@ has-symbols@^1.1.0: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -1302,11 +1069,6 @@ hasown@^2.0.2: dependencies: function-bind "^1.1.2" -http-cache-semantics@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" - integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== - http-errors@^2.0.0, http-errors@^2.0.1, http-errors@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.1.tgz#36d2f65bc909c8790018dd36fb4d93da6caae06b" @@ -1318,52 +1080,21 @@ http-errors@^2.0.0, http-errors@^2.0.1, http-errors@~2.0.1: statuses "~2.0.2" toidentifier "~1.0.1" -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== +http-proxy-agent@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-9.0.0.tgz#473fe9c2b8ffea87611f8c68dfb9872b835c91d1" + integrity sha512-FcF8VhXYLQcxWCnt/cCpT2apKsRDUGeVEeMqGu4HSTu29U8Yw0TLOjdYIlDsYk3IkUh+taX4IDWpPcCqKDhCjA== dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" - integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== - dependencies: - agent-base "^7.1.0" + agent-base "9.0.0" debug "^4.3.4" -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.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" - integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== - dependencies: - agent-base "^7.1.2" - debug "4" - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== +https-proxy-agent@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-9.0.0.tgz#89256adf9dc20926fe43ea1d3ca0feb9e23cc4bd" + integrity sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g== dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" + agent-base "9.0.0" + debug "^4.3.4" iconv-lite@^0.7.0, iconv-lite@^0.7.2, iconv-lite@~0.7.0: version "0.7.2" @@ -1382,39 +1113,16 @@ ignore-by-default@^1.0.1: resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== +inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" @@ -1471,11 +1179,6 @@ is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -1491,12 +1194,7 @@ is-property@^1.0.2: resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" integrity sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g== -is-stream@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-stream@^4.0.1: +is-stream@^4.0.0, is-stream@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-4.0.1.tgz#375cf891e16d2e4baec250b85926cffc14720d9b" integrity sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A== @@ -1506,19 +1204,10 @@ isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" +isexe@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-4.0.0.tgz#48f6576af8e87a18feb796b7ed5e2e5903b43dca" + integrity sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw== js-yaml@^4.1.0, js-yaml@^4.1.1: version "4.1.1" @@ -1570,10 +1259,10 @@ jws@^4.0.1: jwa "^2.0.1" safe-buffer "^5.0.1" -knex@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/knex/-/knex-3.1.0.tgz#b6ddd5b5ad26a6315234a5b09ec38dc4a370bd8c" - integrity sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw== +knex@3.2.10: + version "3.2.10" + resolved "https://registry.yarnpkg.com/knex/-/knex-3.2.10.tgz#ca8f77a10851b1e18b26463a6dc995e563c3b165" + integrity sha512-oypTHfrc9i72iyxaUQBKHOxhcr0xM65MPf6FpN02nimsftXwzXprIkLjfXdubvhbu4PMWLp023q8o8CYvHSuZw== dependencies: colorette "2.0.19" commander "^10.0.0" @@ -1583,7 +1272,7 @@ knex@3.1.0: get-package-type "^0.1.0" getopts "2.3.0" interpret "^2.2.0" - lodash "^4.17.21" + lodash "^4.18.1" pg-connection-string "2.6.2" rechoir "^0.8.0" resolve-from "^5.0.0" @@ -1597,10 +1286,10 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" -liquidjs@10.24.0: - version "10.24.0" - resolved "https://registry.yarnpkg.com/liquidjs/-/liquidjs-10.24.0.tgz#1aa832189b48b4102049dfa7a8eea40281fa9389" - integrity sha512-TAUNAdgwaAXjjcUFuYVJm9kOVH7zc0mTKxsG9t9Lu4qdWjB2BEblyVIYpjWcmJLMGgiYqnGNJjpNMHx0gp/46A== +liquidjs@10.25.7: + version "10.25.7" + resolved "https://registry.yarnpkg.com/liquidjs/-/liquidjs-10.25.7.tgz#75c5765ae42e04da30fba15ae20daab57c4a7a8c" + integrity sha512-rPCjJLiD4eDhQjvv964AeXFC+HbeYBbZrd7Z82Q6hqv1lX7G+5w4SJcKLn9CAAAwHI4aS3dTdo083UB79K3pDA== dependencies: commander "^10.0.0" @@ -1664,28 +1353,16 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.23: - version "4.17.23" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" - integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== +lodash@^4.18.1: + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" + integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== long@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - lru-cache@^7.14.1: version "7.18.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" @@ -1696,28 +1373,6 @@ lru.min@^1.1.0, lru.min@^1.1.4: resolved "https://registry.yarnpkg.com/lru.min/-/lru.min-1.1.4.tgz#6ea1737a8c1ba2300cc87ad46910a4bdffa0117b" integrity sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA== -make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - math-intrinsics@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" @@ -1757,106 +1412,35 @@ minimatch@^10.2.1: dependencies: brace-expansion "^5.0.2" -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.1.0: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== +minimatch@^10.2.2: + version "10.2.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" + integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" + brace-expansion "^5.0.5" minimist@^1.2.0, minimist@^1.2.3: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" - optionalDependencies: - encoding "^0.1.12" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: +minipass@^7.0.4, minipass@^7.1.2: version "7.1.3" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== -minizlib@^2.0.0, minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== +minizlib@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.1.0.tgz#6ad76c3a8f10227c9b51d1c9ac8e30b27f5a251c" + integrity sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw== dependencies: - minipass "^3.0.0" - yallist "^4.0.0" + minipass "^7.1.2" mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - moment@^2.30.1: version "2.30.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" @@ -1872,15 +1456,15 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.0.0, 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" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -mysql2@^3.18.2: - version "3.18.2" - resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.18.2.tgz#11d30fbc03a456d076760bd60e6ebf17abc6323d" - integrity sha512-UfEShBFAZZEAKjySnTUuE7BgqkYT4mx+RjoJ5aqtmwSSvNcJ/QxQPXz/y3jSxNiVRedPfgccmuBtiPCSiEEytw== +mysql2@^3.22.3: + version "3.22.3" + resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.22.3.tgz#884a36a1171501ef752ba90057dbcde528f322e3" + integrity sha512-uWWxvZSRvRhtBdh2CdcuK83YcOfPdmEeEYB069bAmPnV93QApDGVPuvCQOLjlh7tYHEWdgQPrn6kosDxHBVLkA== dependencies: aws-ssl-profiles "^1.1.2" denque "^2.1.0" @@ -1903,16 +1487,16 @@ napi-build-utils@^2.0.0: resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-2.0.0.tgz#13c22c0187fcfccce1461844136372a47ddc027e" integrity sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== -negotiator@^0.6.2, negotiator@~0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" - integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== - negotiator@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + netmask@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" @@ -1925,10 +1509,10 @@ node-abi@^3.3.0: dependencies: semver "^7.3.5" -node-addon-api@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" - integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== +node-addon-api@^8.0.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-8.7.0.tgz#f64f8413456ecbe900221305a3f883c37666473f" + integrity sha512-9MdFxmkKaOYVTV+XVRG8ArDwwQ77XIgIPyKASB1k3JPq3M8fGQQQE3YpMOrKm6g//Ktx8ivZr8xo1Qmtqub+GA== node-addon-api@^8.3.0: version "8.5.0" @@ -1940,21 +1524,21 @@ node-gyp-build@^4.8.4: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== -node-gyp@8.x: - version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== +node-gyp@12.x: + version "12.3.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-12.3.0.tgz#a0e0d9364779451eaf4148b6f9a7366f98000b3f" + integrity sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg== dependencies: env-paths "^2.2.0" - glob "^7.1.4" + exponential-backoff "^3.1.1" graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" - nopt "^5.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" + nopt "^9.0.0" + proc-log "^6.0.0" semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" + tar "^7.5.4" + tinyglobby "^0.2.12" + undici "^6.25.0" + which "^6.0.0" node-rsa@^1.1.1: version "1.1.1" @@ -1979,28 +1563,18 @@ nodemon@^3.1.14: touch "^3.1.0" undefsafe "^2.0.5" -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== +nopt@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-9.0.0.tgz#6bff0836b2964d24508b6b41b5a9a49c4f4a1f96" + integrity sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw== dependencies: - abbrev "1" + abbrev "^4.0.0" 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== -npmlog@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - object-inspect@^1.13.3: version "1.13.4" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" @@ -2027,24 +1601,24 @@ on-headers@~1.1.0: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65" integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.1, 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== dependencies: wrappy "1" -otplib@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/otplib/-/otplib-13.3.0.tgz#2ead040ab29d1a829d1d7c510b059a3e4c76b2b0" - integrity sha512-VYMKyyDG8yt2q+z58sz54/EIyTh7+tyMrjeemR44iVh5+dkKtIs57irTqxjH+IkAL1uMmG1JIFhG5CxTpqdU5g== +otplib@^13.4.0: + version "13.4.0" + resolved "https://registry.yarnpkg.com/otplib/-/otplib-13.4.0.tgz#5743391a7fe1900cb1ac364af0bbb407a72af76b" + integrity sha512-RUcYcRMCgRWhUE/XabRppXpUwCwaWBNHe5iPXhdvP8wwDGpGpsIf/kxX/ec3zFsOaM1Oq8lEhUqDwk6W7DHkwg== dependencies: - "@otplib/core" "13.3.0" - "@otplib/hotp" "13.3.0" - "@otplib/plugin-base32-scure" "13.3.0" - "@otplib/plugin-crypto-noble" "13.3.0" - "@otplib/totp" "13.3.0" - "@otplib/uri" "13.3.0" + "@otplib/core" "13.4.0" + "@otplib/hotp" "13.4.0" + "@otplib/plugin-base32-scure" "13.4.0" + "@otplib/plugin-crypto-noble" "13.4.0" + "@otplib/totp" "13.4.0" + "@otplib/uri" "13.4.0" p-limit@^1.1.0: version "1.3.0" @@ -2074,13 +1648,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -2091,33 +1658,28 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pac-proxy-agent@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz#9cfaf33ff25da36f6147a20844230ec92c06e5df" - integrity sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA== +pac-proxy-agent@9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-9.0.1.tgz#9cee1f8b41b00c53418f10824a8a41b3e07587dd" + integrity sha512-3ZOSpLboOlpW4yp8Cuv21KlTULRqyJ5Uuad3wXpSKFrxdNgcHEyoa22GRaZ2UlgCVuR6z+5BiavtYVvbajL/Yw== dependencies: - "@tootallnate/quickjs-emscripten" "^0.23.0" - agent-base "^7.1.2" + agent-base "9.0.0" debug "^4.3.4" - get-uri "^6.0.1" - http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.6" - pac-resolver "^7.0.1" - socks-proxy-agent "^8.0.5" - -pac-resolver@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-7.0.1.tgz#54675558ea368b64d210fd9c92a640b5f3b8abb6" - integrity sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== - dependencies: - degenerator "^5.0.0" + get-uri "8.0.0" + http-proxy-agent "9.0.0" + https-proxy-agent "9.0.0" + pac-resolver "9.0.1" + quickjs-wasi "^2.2.0" + socks-proxy-agent "10.0.0" + +pac-resolver@9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-9.0.1.tgz#a90b1518e4e832b3fcb197ada974d6f6ceaa7f8a" + integrity sha512-lJbS008tmkj08VhoM8Hzuv/VE5tK9MS0OIQ/7+s0lIF+BYhiQWFYzkSpML7lXs9iBu2jfmzBTLzhe9n6BX+dYw== + dependencies: + degenerator "7.0.1" netmask "^2.0.2" -package-json-from-dist@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" - integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -2141,29 +1703,11 @@ path-exists@^4.0.0: 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.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - 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.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-to-regexp@^8.0.0: version "8.3.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.3.0.tgz#aa818a6981f99321003a08987d3cec9c3474cd1f" @@ -2187,25 +1731,25 @@ pg-connection-string@2.6.2: resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.6.2.tgz#713d82053de4e2bd166fab70cd4f26ad36aab475" integrity sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== -pg-connection-string@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.11.0.tgz#5dca53ff595df33ba9db812e181b19909866d10b" - integrity sha512-kecgoJwhOpxYU21rZjULrmrBJ698U2RxXofKVzOn5UDj61BPj/qMb7diYUR1nLScCDbrztQFl1TaQZT0t1EtzQ== +pg-connection-string@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.12.0.tgz#4084f917902bb2daae3dc1376fe24ac7b4eaccf2" + integrity sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ== pg-int8@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== -pg-pool@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.12.0.tgz#798c84ec7d42ba03fff056ebe575daa6e14feab8" - integrity sha512-eIJ0DES8BLaziFHW7VgJEBPi5hg3Nyng5iKpYtj3wbcAUV9A1wLgWiY7ajf/f/oO1wfxt83phXPY8Emztg7ITg== +pg-pool@^3.13.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.13.0.tgz#416482e9700e8f80c685a6ae5681697a413c13a3" + integrity sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA== -pg-protocol@^1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.12.0.tgz#e9827f3e1dae6cdcb78d009cba5bb699d88ae998" - integrity sha512-uOANXNRACNdElMXJ0tPz6RBM0XQ61nONGAwlt8da5zs/iUOOCLBQOHSXnrC6fMsvtjxbOJrZZl5IScGv+7mpbg== +pg-protocol@^1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.13.0.tgz#fdaf6d020bca590d58bb991b4b16fc448efe0511" + integrity sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w== pg-types@2.2.0: version "2.2.0" @@ -2218,14 +1762,14 @@ pg-types@2.2.0: postgres-date "~1.0.4" postgres-interval "^1.1.0" -pg@^8.19.0: - version "8.19.0" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.19.0.tgz#2cb45322471c1ed05786ee7ec09bd91abdfe3eeb" - integrity sha512-QIcLGi508BAHkQ3pJNptsFz5WQMlpGbuBGBaIaXsWK8mel2kQ/rThYI+DbgjUvZrIr7MiuEuc9LcChJoEZK1xQ== +pg@^8.20.0: + version "8.20.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.20.0.tgz#1a274de944cb329fd6dd77a6d371a005ba6b136d" + integrity sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA== dependencies: - pg-connection-string "^2.11.0" - pg-pool "^3.12.0" - pg-protocol "^1.12.0" + pg-connection-string "^2.12.0" + pg-pool "^3.13.0" + pg-protocol "^1.13.0" pg-types "2.2.0" pgpass "1.0.5" optionalDependencies: @@ -2243,6 +1787,11 @@ picomatch@^2.0.4, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" + integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -2278,7 +1827,7 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" -prebuild-install@^7.1.1: +prebuild-install@^7.1.1, prebuild-install@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.3.tgz#d630abad2b147443f20a212917beae68b8092eec" integrity sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== @@ -2296,6 +1845,11 @@ prebuild-install@^7.1.1: tar-fs "^2.0.0" tunnel-agent "^0.6.0" +proc-log@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-6.1.0.tgz#18519482a37d5198e231133a70144a50f21f0215" + integrity sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -2306,19 +1860,6 @@ process@^0.11.1, process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - proxy-addr@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -2327,24 +1868,24 @@ proxy-addr@^2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-agent@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.5.0.tgz#9e49acba8e4ee234aacb539f89ed9c23d02f232d" - integrity sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A== +proxy-agent@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-8.0.1.tgz#4819c7b14637c6940424aeed840e9883a378a15d" + integrity sha512-kccqGBqHZXR8onQhY/ganJjoO8QIKKRiFBhPOzbTZK16attzSZ/0XSmp9H7jrRxPKHjhGyx1q32lMPrJ3uLFgA== dependencies: - agent-base "^7.1.2" + agent-base "9.0.0" debug "^4.3.4" - http-proxy-agent "^7.0.1" - https-proxy-agent "^7.0.6" + http-proxy-agent "9.0.0" + https-proxy-agent "9.0.0" lru-cache "^7.14.1" - pac-proxy-agent "^7.1.0" - proxy-from-env "^1.1.0" - socks-proxy-agent "^8.0.5" + pac-proxy-agent "9.0.1" + proxy-from-env "^2.0.0" + socks-proxy-agent "10.0.0" -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +proxy-from-env@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== pstree.remy@^1.1.8: version "1.1.8" @@ -2371,6 +1912,11 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== +quickjs-wasi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/quickjs-wasi/-/quickjs-wasi-2.2.0.tgz#85d8984aa1b048546e5634c764165034c6e22d48" + integrity sha512-zQxXmQMrEoD3S+jQdYsloq4qAuaxKFHZj6hHqOYGwB2iQZH+q9e/lf5zQPXCKOk0WJuAjzRFbO4KwHIp2D05Iw== + range-parser@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -2409,7 +1955,7 @@ readable-stream@^2.0.5: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.1.1, readable-stream@^3.4.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -2429,12 +1975,12 @@ readable-stream@^4.0.0: process "^0.11.10" string_decoder "^1.3.0" -readdir-glob@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.3.tgz#c3d831f51f5e7bfa62fa2ffbe4b508c640f09584" - integrity sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== +readdir-glob@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-3.0.0.tgz#a3545e0cef84d88c30fe44118d1a7e20496e9245" + integrity sha512-AhNB2KgKeVJr16nK9LLZbJNWnYoT23ZrumNKFDebHBdkC8KHSqWo871JAUhoWC/RtjEVdqNMFpM6qrwRbaUqpw== dependencies: - minimatch "^5.1.0" + minimatch "^10.2.2" readdirp@~3.6.0: version "3.6.0" @@ -2479,18 +2025,6 @@ resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - router@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef" @@ -2559,18 +2093,6 @@ setprototypeof@~1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -shebang-command@^2.0.0: - version "2.0.0" - 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.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - side-channel-list@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" @@ -2611,16 +2133,6 @@ side-channel@^1.1.0: side-channel-map "^1.0.1" side-channel-weakmap "^1.0.2" -signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - signale@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" @@ -2656,25 +2168,16 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socks-proxy-agent@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" - integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== +socks-proxy-agent@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-10.0.0.tgz#e94a497f890d790a67274c19837c5bbe3f182220" + integrity sha512-pyp2YR3mNxAMu0mGLtzs4g7O3uT4/9sQOLAKcViAkaS9fJWkud7nmaf6ZREFqQEi24IPkBcjfHjXhPTUWjo3uA== dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - -socks-proxy-agent@^8.0.5: - version "8.0.5" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee" - integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== - dependencies: - agent-base "^7.1.2" + agent-base "9.0.0" debug "^4.3.4" socks "^2.8.3" -socks@^2.6.2, socks@^2.8.3: +socks@^2.8.3: version "2.8.7" resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.7.tgz#e2fb1d9a603add75050a2067db8c381a0b5669ea" integrity sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A== @@ -2697,24 +2200,17 @@ sql-escaper@^1.3.3: resolved "https://registry.yarnpkg.com/sql-escaper/-/sql-escaper-1.3.3.tgz#65faf89f048d26bb9a75566b82b5990ddf8a5b7f" integrity sha512-BsTCV265VpTp8tm1wyIm1xqQCS+Q9NHx2Sr+WcnUrgLrQ6yiDIvHYJV5gHxsj1lMBy2zm5twLaZao8Jd+S8JJw== -sqlite3@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.1.7.tgz#59ca1053c1ab38647396586edad019b1551041b7" - integrity sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog== +sqlite3@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-6.0.1.tgz#c0956e7834931c406b283c87b66771c847a6abfc" + integrity sha512-X0czUUMG2tmSqJpEQa3tCuZSHKIx8PwM53vLZzKp/o6Rpy25fiVfjdbnZ988M8+O3ZWR1ih0K255VumCb3MAnQ== dependencies: bindings "^1.5.0" - node-addon-api "^7.0.0" - prebuild-install "^7.1.1" - tar "^6.1.11" + node-addon-api "^8.0.0" + prebuild-install "^7.1.3" + tar "^7.5.10" optionalDependencies: - node-gyp "8.x" - -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" + node-gyp "12.x" statuses@^2.0.1, statuses@^2.0.2, statuses@~2.0.2: version "2.0.2" @@ -2735,16 +2231,7 @@ streamx@^2.15.0: fast-fifo "^1.3.2" text-decoder "^1.1.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - 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-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -2753,15 +2240,6 @@ streamx@^2.15.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -2776,13 +2254,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - 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-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -2790,13 +2261,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" - integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== - dependencies: - ansi-regex "^6.0.1" - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -2849,17 +2313,16 @@ tar-stream@^3.0.0: fast-fifo "^1.2.0" streamx "^2.15.0" -tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" - integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== +tar@^7.5.10, tar@^7.5.4: + version "7.5.15" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.15.tgz#afe6d1316cddf614a566e3813e42fe01aed46fee" + integrity sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ== dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" + "@isaacs/fs-minipass" "^4.0.0" + chownr "^3.0.0" + minipass "^7.1.2" + minizlib "^3.1.0" + yallist "^5.0.0" tarn@^3.0.2: version "3.0.2" @@ -2892,6 +2355,14 @@ tildify@2.0.0: resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== +tinyglobby@^0.2.12: + version "0.2.16" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" + integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.4" + 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" @@ -2935,19 +2406,10 @@ undefsafe@^2.0.5: resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" +undici@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.25.0.tgz#8c4efb8c998dc187fc1cfb5dde1ef19a211849fb" + integrity sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg== unpipe@~1.0.0: version "1.0.0" @@ -2976,28 +2438,12 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -"wrap-ansi-cjs@npm: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== +which@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/which/-/which-6.0.1.tgz#021642443a198fb93b784a5606721cb18cfcbfce" + integrity sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg== dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" + isexe "^4.0.0" wrap-ansi@^6.2.0: version "6.2.0" @@ -3008,15 +2454,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -3032,10 +2469,10 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yallist@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" + integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== yargs-parser@^18.1.2: version "18.1.3" @@ -3062,11 +2499,11 @@ yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" -zip-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-6.0.1.tgz#e141b930ed60ccaf5d7fa9c8260e0d1748a2bbfb" - integrity sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA== +zip-stream@^7.0.2: + version "7.0.5" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-7.0.5.tgz#57b25db7c1be3cb4934ab480338dea490eb5ab8c" + integrity sha512-dSvYKdvLsAHCDqPOhIwk/q5CvuWtTB3Dgpoe0uVEFjTzIOAmsQpprX25InCvrvJsirEbu1OHyy67n/kAj1Sw/w== dependencies: - archiver-utils "^5.0.0" - compress-commons "^6.0.2" + compress-commons "^7.0.0" + normalize-path "^3.0.0" readable-stream "^4.0.0" diff --git a/frontend/biome.json b/frontend/biome.json index ccc3cd32a0..13f21e36ba 100644 --- a/frontend/biome.json +++ b/frontend/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.5/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/frontend/package.json b/frontend/package.json index 4223c67be5..1d98b5d48e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,50 +17,50 @@ }, "dependencies": { "@tabler/core": "^1.4.0", - "@tabler/icons-react": "^3.38.0", - "@tanstack/react-query": "^5.90.21", + "@tabler/icons-react": "^3.44.0", + "@tanstack/react-query": "^5.100.10", "@tanstack/react-table": "^8.21.3", "@uiw/react-textarea-code-editor": "^3.1.1", "classnames": "^2.5.1", - "country-flag-icons": "^1.6.15", + "country-flag-icons": "^1.6.17", "date-fns": "^4.1.0", "ez-modal-react": "^1.0.5", "formik": "^2.4.9", "generate-password-browser": "^1.1.0", "humps": "^2.0.1", "query-string": "^9.3.1", - "react": "^19.2.4", + "react": "^19.2.6", "react-bootstrap": "^2.10.10", - "react-dom": "^19.2.4", - "react-intl": "^8.1.3", + "react-dom": "^19.2.6", + "react-intl": "^10.1.6", "react-markdown": "^10.1.0", - "react-router-dom": "^7.13.1", + "react-router-dom": "^7.15.0", "react-select": "^5.10.2", - "react-toastify": "^11.0.5", - "rooks": "^9.5.0" + "react-toastify": "^11.1.0", + "rooks": "^9.8.0" }, "devDependencies": { - "@biomejs/biome": "^2.4.5", - "@formatjs/cli": "^6.13.0", - "@tanstack/react-query-devtools": "^5.91.3", + "@biomejs/biome": "^2.4.15", + "@formatjs/cli": "^6.15.0", + "@tanstack/react-query-devtools": "^5.100.10", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/country-flag-icons": "^1.2.2", "@types/humps": "^2.0.6", + "@types/node": "^25.7.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/react-table": "^7.7.20", - "@vitejs/plugin-react": "^5.1.4", - "happy-dom": "^20.8.3", - "postcss": "^8.5.8", + "@vitejs/plugin-react": "^6.0.1", + "happy-dom": "^20.9.0", + "postcss": "^8.5.14", "postcss-simple-vars": "^7.0.1", - "sass": "^1.97.3", + "sass": "^1.99.0", "tmp": "^0.2.5", - "typescript": "5.9.3", - "vite": "^7.3.1", - "vite-plugin-checker": "^0.12.0", - "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.0.18" + "typescript": "6.0.3", + "vite": "^8.0.12", + "vite-plugin-checker": "^0.13.0", + "vitest": "^4.1.6" } } diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index fb86d45b53..8eba5b172b 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -7,9 +7,11 @@ "DOM", "DOM.Iterable" ], + "types": [ + "node" + ], "module": "ESNext", "skipLibCheck": true, - "baseUrl": ".", /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 1e21d90f0c..1e00d067f2 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -1,7 +1,6 @@ import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; import checker from "vite-plugin-checker"; -import tsconfigPaths from "vite-tsconfig-paths"; import "vitest/config"; import { execFile } from "node:child_process"; @@ -45,8 +44,10 @@ export default defineConfig({ // e.g. use TypeScript check typescript: true, }), - tsconfigPaths(), ], + resolve: { + tsconfigPaths: true, + }, server: { host: true, port: 5173, diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 401d0590fd..985ab9ae1f 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -16,32 +16,6 @@ js-tokens "^4.0.0" picocolors "^1.1.1" -"@babel/compat-data@^7.28.6": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.0.tgz#00d03e8c0ac24dd9be942c5370990cbe1f17d88d" - integrity sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg== - -"@babel/core@^7.29.0": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.0.tgz#5286ad785df7f79d656e88ce86e650d16ca5f322" - integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== - dependencies: - "@babel/code-frame" "^7.29.0" - "@babel/generator" "^7.29.0" - "@babel/helper-compilation-targets" "^7.28.6" - "@babel/helper-module-transforms" "^7.28.6" - "@babel/helpers" "^7.28.6" - "@babel/parser" "^7.29.0" - "@babel/template" "^7.28.6" - "@babel/traverse" "^7.29.0" - "@babel/types" "^7.29.0" - "@jridgewell/remapping" "^2.3.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/generator@^7.29.0": version "7.29.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.1.tgz#d09876290111abbb00ef962a7b83a5307fba0d50" @@ -53,23 +27,12 @@ "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" - integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== - dependencies: - "@babel/compat-data" "^7.28.6" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - "@babel/helper-globals@^7.28.0": version "7.28.0" resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.28.6": +"@babel/helper-module-imports@^7.16.7": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== @@ -77,20 +40,6 @@ "@babel/traverse" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/helper-module-transforms@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" - integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== - dependencies: - "@babel/helper-module-imports" "^7.28.6" - "@babel/helper-validator-identifier" "^7.28.5" - "@babel/traverse" "^7.28.6" - -"@babel/helper-plugin-utils@^7.27.1": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz#6f13ea251b68c8532e985fd532f28741a8af9ac8" - integrity sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== - "@babel/helper-string-parser@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" @@ -101,40 +50,13 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/helpers@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" - integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== - dependencies: - "@babel/template" "^7.28.6" - "@babel/types" "^7.28.6" - -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": +"@babel/parser@^7.28.6", "@babel/parser@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" integrity sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== dependencies: "@babel/types" "^7.29.0" -"@babel/plugin-transform-react-jsx-self@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz#af678d8506acf52c577cac73ff7fe6615c85fc92" - integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-react-jsx-source@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz#dcfe2c24094bb757bf73960374e7c55e434f19f0" - integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.24.7", "@babel/runtime@^7.26.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.6.tgz#d267a43cb1836dc4d182cce93ae75ba954ef6d2b" @@ -149,7 +71,7 @@ "@babel/parser" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": +"@babel/traverse@^7.28.6": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" integrity sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA== @@ -162,7 +84,7 @@ "@babel/types" "^7.29.0" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6", "@babel/types@^7.29.0": +"@babel/types@^7.28.6", "@babel/types@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== @@ -170,59 +92,81 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" -"@biomejs/biome@^2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.5.tgz#90e75c1b6c60eb5bf8e8bfb193a1fbe9dc868f16" - integrity sha512-OWNCyMS0Q011R6YifXNOg6qsOg64IVc7XX6SqGsrGszPbkVCoaO7Sr/lISFnXZ9hjQhDewwZ40789QmrG0GYgQ== +"@biomejs/biome@^2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-2.4.15.tgz#cb84ad6eb4235e7230b3c105a825e9bc03399944" + integrity sha512-j5VH3a/h/HXTKBM50MDMxRCzkeLv9S2XJcW2WgnZT1+xyisi+0bISrXR82gCX+8S9lvK0skEvHJRN+3Ktr2hlw== optionalDependencies: - "@biomejs/cli-darwin-arm64" "2.4.5" - "@biomejs/cli-darwin-x64" "2.4.5" - "@biomejs/cli-linux-arm64" "2.4.5" - "@biomejs/cli-linux-arm64-musl" "2.4.5" - "@biomejs/cli-linux-x64" "2.4.5" - "@biomejs/cli-linux-x64-musl" "2.4.5" - "@biomejs/cli-win32-arm64" "2.4.5" - "@biomejs/cli-win32-x64" "2.4.5" - -"@biomejs/cli-darwin-arm64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.5.tgz#a62472ab3529a3905b16e1f3fdbbc74f2e5f0023" - integrity sha512-lGS4Nd5O3KQJ6TeWv10mElnx1phERhBxqGP/IKq0SvZl78kcWDFMaTtVK+w3v3lusRFxJY78n07PbKplirsU5g== - -"@biomejs/cli-darwin-x64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.5.tgz#e8bb001fcf6a8c751b0971cccf53993e9ba2e6e9" - integrity sha512-6MoH4tyISIBNkZ2Q5T1R7dLd5BsITb2yhhhrU9jHZxnNSNMWl+s2Mxu7NBF8Y3a7JJcqq9nsk8i637z4gqkJxQ== - -"@biomejs/cli-linux-arm64-musl@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.5.tgz#b7ef7902237f16113061659a4c54aff5ad4513d5" - integrity sha512-iqLDgpzobG7gpBF0fwEVS/LT8kmN7+S0E2YKFDtqliJfzNLnAiV2Nnyb+ehCDCJgAZBASkYHR2o60VQWikpqIg== - -"@biomejs/cli-linux-arm64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.5.tgz#f110af748965cb1b57624dbbbd7acba729da8780" - integrity sha512-U1GAG6FTjhAO04MyH4xn23wRNBkT6H7NentHh+8UxD6ShXKBm5SY4RedKJzkUThANxb9rUKIPc7B8ew9Xo/cWg== - -"@biomejs/cli-linux-x64-musl@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.5.tgz#c3493eba094216e735538c55354dbc8867b51909" - integrity sha512-NlKa7GpbQmNhZf9kakQeddqZyT7itN7jjWdakELeXyTU3pg/83fTysRRDPJD0akTfKDl6vZYNT9Zqn4MYZVBOA== - -"@biomejs/cli-linux-x64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.5.tgz#15805550db4e45ffbd6c42d140d0cb5c6dbe07af" - integrity sha512-NdODlSugMzTlENPTa4z0xB82dTUlCpsrOxc43///aNkTLblIYH4XpYflBbf5ySlQuP8AA4AZd1qXhV07IdrHdQ== - -"@biomejs/cli-win32-arm64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.5.tgz#8dae57dc8ffc1e82e00a59e623b5023c09726a4d" - integrity sha512-EBfrTqRIWOFSd7CQb/0ttjHMR88zm3hGravnDwUA9wHAaCAYsULKDebWcN5RmrEo1KBtl/gDVJMrFjNR0pdGUw== - -"@biomejs/cli-win32-x64@2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.5.tgz#0b4d3355e0d6856cff8ed722e05ec7b0652e43ab" - integrity sha512-Pmhv9zT95YzECfjEHNl3mN9Vhusw9VA5KHY0ZvlGsxsjwS5cb7vpRnHzJIv0vG7jB0JI7xEaMH9ddfZm/RozBw== + "@biomejs/cli-darwin-arm64" "2.4.15" + "@biomejs/cli-darwin-x64" "2.4.15" + "@biomejs/cli-linux-arm64" "2.4.15" + "@biomejs/cli-linux-arm64-musl" "2.4.15" + "@biomejs/cli-linux-x64" "2.4.15" + "@biomejs/cli-linux-x64-musl" "2.4.15" + "@biomejs/cli-win32-arm64" "2.4.15" + "@biomejs/cli-win32-x64" "2.4.15" + +"@biomejs/cli-darwin-arm64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.15.tgz#3469daa56ac3ff4f16588a120df706381a96f65c" + integrity sha512-rF3PPqLq1yoST79zaQbDjVJwsuIeci/O+9bgNmC5QpgOqz6aqYuzA4abyAGx+mgyiDXn4A049xAN8gijbuR1Qg== + +"@biomejs/cli-darwin-x64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.15.tgz#0697b81089409635da16682ac1e539165c262006" + integrity sha512-/5KHXYMfSJs1fNXiX30xFtI8JcCFV6zaVVLxOa0M2sfqBKHkpQhRTv94yxQWxeTY2lzo2OuTlNvPC+hDQt2wcQ== + +"@biomejs/cli-linux-arm64-musl@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.15.tgz#c6af054e3732c361e9ad8c44070f909666b5616f" + integrity sha512-ZPcxznxm0pogHBLZhYntyR3sR+MrZjqJIKEr7ZqVen0Rl+P/4upVmfYXjftizi9RoqZntg33fv/1fbdhbYXpEQ== + +"@biomejs/cli-linux-arm64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.15.tgz#527cef60339649a442d51a9cd129ae9dfe9da926" + integrity sha512-owaAMZD/T4LrD0ELNCk0Km3qrRHuM0X6EAyVE1FSqGY0rbLoiDLrO4Us2tllm6cAeB2Ioa9C2C08NZPdr8+0Ug== + +"@biomejs/cli-linux-x64-musl@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.15.tgz#b39292ad106c3d5a612bf3c61ba3119f66833013" + integrity sha512-CNq/9W38SYSH023lfcQ4KKU8K0YX8T//FZUhcgtMMRABDojx5XsMV7jlweAvGSl389wJQB29Qo6Zb/a+jdvt+w== + +"@biomejs/cli-linux-x64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.15.tgz#7360b7f81ff03ec6d9350bedc76b89f783b0945d" + integrity sha512-0jj7THz12GbUOLmMibktK6DZjqz2zV64KFxyBtcFTKPiiOIY0a7vns1elpO1dERvxpsZ5ik0oFfz0oGwFde1+g== + +"@biomejs/cli-win32-arm64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.15.tgz#9542aac679174892a9379267e0c0048f8eee4d9f" + integrity sha512-ouhkYdlhp/1GghEJPdWwD/Vi3gQ1nFxuSpMolWsbq3Lsq3QUR4jl6UdhhscdCugKU5vOEuMiJhvKj66O0OCq+w== + +"@biomejs/cli-win32-x64@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.15.tgz#80288e4eea8f916fc5c876e9a486baadb8de537d" + integrity sha512-zBrGq5mx5wwpnow4+2BxUvleDM+GNd4sLbPaMapsSLQLD0NGRCquqPBTgN+7XkUteHvj7M+BstuI8tmnV7+HgQ== + +"@emnapi/core@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.10.0.tgz#380ccc8f2412ea22d1d972df7f8ee23a3b9c7467" + integrity sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw== + dependencies: + "@emnapi/wasi-threads" "1.2.1" + tslib "^2.4.0" + +"@emnapi/runtime@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.10.0.tgz#4b260c0d3534204e98c6110b8db1a987d26ec87c" + integrity sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz#28fed21a1ba1ce797c44a070abc94d42f3ae8548" + integrity sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w== + dependencies: + tslib "^2.4.0" "@emotion/babel-plugin@^11.13.5": version "11.13.5" @@ -312,136 +256,6 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== -"@esbuild/aix-ppc64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz#815b39267f9bffd3407ea6c376ac32946e24f8d2" - integrity sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg== - -"@esbuild/android-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz#19b882408829ad8e12b10aff2840711b2da361e8" - integrity sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg== - -"@esbuild/android-arm@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.27.3.tgz#90be58de27915efa27b767fcbdb37a4470627d7b" - integrity sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA== - -"@esbuild/android-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.27.3.tgz#d7dcc976f16e01a9aaa2f9b938fbec7389f895ac" - integrity sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ== - -"@esbuild/darwin-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz#9f6cac72b3a8532298a6a4493ed639a8988e8abd" - integrity sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg== - -"@esbuild/darwin-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz#ac61d645faa37fd650340f1866b0812e1fb14d6a" - integrity sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg== - -"@esbuild/freebsd-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz#b8625689d73cf1830fe58c39051acdc12474ea1b" - integrity sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w== - -"@esbuild/freebsd-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz#07be7dd3c9d42fe0eccd2ab9f9ded780bc53bead" - integrity sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA== - -"@esbuild/linux-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz#bf31918fe5c798586460d2b3d6c46ed2c01ca0b6" - integrity sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg== - -"@esbuild/linux-arm@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz#28493ee46abec1dc3f500223cd9f8d2df08f9d11" - integrity sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw== - -"@esbuild/linux-ia32@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz#750752a8b30b43647402561eea764d0a41d0ee29" - integrity sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg== - -"@esbuild/linux-loong64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz#a5a92813a04e71198c50f05adfaf18fc1e95b9ed" - integrity sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA== - -"@esbuild/linux-mips64el@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz#deb45d7fd2d2161eadf1fbc593637ed766d50bb1" - integrity sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw== - -"@esbuild/linux-ppc64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz#6f39ae0b8c4d3d2d61a65b26df79f6e12a1c3d78" - integrity sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA== - -"@esbuild/linux-riscv64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz#4c5c19c3916612ec8e3915187030b9df0b955c1d" - integrity sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ== - -"@esbuild/linux-s390x@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz#9ed17b3198fa08ad5ccaa9e74f6c0aff7ad0156d" - integrity sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw== - -"@esbuild/linux-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz#12383dcbf71b7cf6513e58b4b08d95a710bf52a5" - integrity sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA== - -"@esbuild/netbsd-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz#dd0cb2fa543205fcd931df44f4786bfcce6df7d7" - integrity sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA== - -"@esbuild/netbsd-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz#028ad1807a8e03e155153b2d025b506c3787354b" - integrity sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA== - -"@esbuild/openbsd-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz#e3c16ff3490c9b59b969fffca87f350ffc0e2af5" - integrity sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw== - -"@esbuild/openbsd-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz#c5a4693fcb03d1cbecbf8b422422468dfc0d2a8b" - integrity sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ== - -"@esbuild/openharmony-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz#082082444f12db564a0775a41e1991c0e125055e" - integrity sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g== - -"@esbuild/sunos-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz#5ab036c53f929e8405c4e96e865a424160a1b537" - integrity sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA== - -"@esbuild/win32-arm64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz#38de700ef4b960a0045370c171794526e589862e" - integrity sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA== - -"@esbuild/win32-ia32@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz#451b93dc03ec5d4f38619e6cd64d9f9eff06f55c" - integrity sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q== - -"@esbuild/win32-x64@0.27.3": - version "0.27.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz#0eaf705c941a218a43dba8e09f1df1d6cd2f1f17" - integrity sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA== - "@floating-ui/core@^1.7.4": version "1.7.4" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.7.4.tgz#4a006a6e01565c0f87ba222c317b056a2cffd2f4" @@ -462,65 +276,51 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.10.tgz#a2a1e3812d14525f725d011a73eceb41fef5bc1c" integrity sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ== -"@formatjs/cli@^6.13.0": - version "6.13.0" - resolved "https://registry.yarnpkg.com/@formatjs/cli/-/cli-6.13.0.tgz#e3922c6e35790ffd4fcc56202452e8ecd61a5e06" - integrity sha512-bl4+FNg7S6RPNa9cSAE8HqdXu84n7LpzDdkDAPqS0sk58XNbY/1Le6GdWqCKzELWX+FhI58gyZtZecmWsZ+Bhg== +"@formatjs/cli-native-darwin-arm64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@formatjs/cli-native-darwin-arm64/-/cli-native-darwin-arm64-1.1.0.tgz#c47df2ec7c1d27643900af77c474bd224b4587dc" + integrity sha512-ygEpFpmRjbAKanWaeto/eUItyuK18667mdDzpDg3CTzc15WYzjZKnwJNFUuPFvFA4hiod1tnhXT1eiXmc1wWNg== -"@formatjs/ecma402-abstract@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-3.1.1.tgz#329fa5eed8024ee389e9c82be8c798315631b11d" - integrity sha512-jhZbTwda+2tcNrs4kKvxrPLPjx8QsBCLCUgrrJ/S+G9YrGHWLhAyFMMBHJBnBoOwuLHd7L14FgYudviKaxkO2Q== - dependencies: - "@formatjs/fast-memoize" "3.1.0" - "@formatjs/intl-localematcher" "0.8.1" - decimal.js "^10.6.0" - tslib "^2.8.1" +"@formatjs/cli-native-linux-x64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@formatjs/cli-native-linux-x64/-/cli-native-linux-x64-1.1.0.tgz#1a3f01ea47f971a0dd0d7f49b98df237375862fa" + integrity sha512-AxORf5LR14HvXU4ov9gnhLrNIS2DYKqKMkRkprUhuh+ljba1riF05msK8KzslEPYQoeYKc5A0OZp57poh4xz/g== -"@formatjs/fast-memoize@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-3.1.0.tgz#f8643d44803df8f579506d40804f4faeba6f5da2" - integrity sha512-b5mvSWCI+XVKiz5WhnBCY3RJ4ZwfjAidU0yVlKa3d3MSgKmH1hC3tBGEAtYyN5mqL7N0G5x0BOUYyO8CEupWgg== - dependencies: - tslib "^2.8.1" +"@formatjs/cli@^6.15.0": + version "6.15.0" + resolved "https://registry.yarnpkg.com/@formatjs/cli/-/cli-6.15.0.tgz#060fc613f3121f7a90b46ca41e9f23ac9e501155" + integrity sha512-U8kd1jf7JEEZRhEranEiCv+QWdD+Spz+GUQRuaLyACCDp1q1wWIxdNAR3UETwD3Q37CAajHeMYSVfVBzfGj79g== + optionalDependencies: + "@formatjs/cli-native-darwin-arm64" "1.1.0" + "@formatjs/cli-native-linux-x64" "1.1.0" -"@formatjs/icu-messageformat-parser@3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.1.tgz#a08faadbbb333d9e4fa7276c92a2b66a37788aa1" - integrity sha512-sSDmSvmmoVQ92XqWb499KrIhv/vLisJU8ITFrx7T7NZHUmMY7EL9xgRowAosaljhqnj/5iufG24QrdzB6X3ItA== - dependencies: - "@formatjs/ecma402-abstract" "3.1.1" - "@formatjs/icu-skeleton-parser" "2.1.1" - tslib "^2.8.1" +"@formatjs/fast-memoize@3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-3.1.5.tgz#bdfe0b884cdecc25100534086f36a0b30bd15b3b" + integrity sha512-KLi3fan6WnCHmigd9pmEEN8Hid0v4wiFBW576M/d07KMWYecf1CvyMI3n34vCmHT4AoVqG2n702kiHbXjzZX2A== -"@formatjs/icu-skeleton-parser@2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.1.tgz#a05b45733bd0f277c50f31b32e4a73375569d3c8" - integrity sha512-PSFABlcNefjI6yyk8f7nyX1DC7NHmq6WaCHZLySEXBrXuLOB2f935YsnzuPjlz+ibhb9yWTdPeVX1OVcj24w2Q== +"@formatjs/icu-messageformat-parser@3.5.8": + version "3.5.8" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.8.tgz#73719113084e045ac9ce42c0bcec19016e3a8214" + integrity sha512-uZLvzLFN7iV2l8cbDdROwgKGtdELeLI4bpnsuz1DnyscHDxn8TdDE0anHzcfjtWK66XYCllGLV3Mi3CYcEPg/g== dependencies: - "@formatjs/ecma402-abstract" "3.1.1" - tslib "^2.8.1" + "@formatjs/icu-skeleton-parser" "2.1.8" -"@formatjs/intl-localematcher@0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.8.1.tgz#554fe5f8c746ba52d430674de9a242fae64f67ff" - integrity sha512-xwEuwQFdtSq1UKtQnyTZWC+eHdv7Uygoa+H2k/9uzBVQjDyp9r20LNDNKedWXll7FssT3GRHvqsdJGYSUWqYFA== - dependencies: - "@formatjs/fast-memoize" "3.1.0" - tslib "^2.8.1" +"@formatjs/icu-skeleton-parser@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.8.tgz#a84262d173d5141d411fc41d24437b68800561ef" + integrity sha512-iX5i0O15gPf69l1WqmLFYwn7wq53lauvytvWFnHamIfX/5Ta56gpFj6fdeHRcKTV58IhrKv8QOvWfTYZYm7f+g== -"@formatjs/intl@4.1.2": - version "4.1.2" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-4.1.2.tgz#4a0d487e6290067462f93d034ef36a8aaf6f671b" - integrity sha512-V60fNY/X/7zqmRffr7qPwscGmVGYDmlKF069mSQ2a/7fE22q602NtIfOQY8vzRA63Gr/O/U6vjRVBHMabrnA9A== +"@formatjs/intl@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-4.1.10.tgz#960a75306264dd017f189c81919fd62bfc587368" + integrity sha512-Zv9FqRVdEFsHLsXGkcthyuXv4hlTLvbvTr4Fi16w+VCd7MSz2RtI18mXd4B44N7nuvF5be2+JGauU3QoJ2wELw== dependencies: - "@formatjs/ecma402-abstract" "3.1.1" - "@formatjs/fast-memoize" "3.1.0" - "@formatjs/icu-messageformat-parser" "3.5.1" - intl-messageformat "11.1.2" - tslib "^2.8.1" + "@formatjs/fast-memoize" "3.1.5" + "@formatjs/icu-messageformat-parser" "3.5.8" + intl-messageformat "11.2.5" -"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": +"@jridgewell/gen-mapping@^0.3.12": version "0.3.13" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== @@ -528,14 +328,6 @@ "@jridgewell/sourcemap-codec" "^1.5.0" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/remapping@^2.3.5": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" - integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" @@ -554,6 +346,25 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@js-temporal/polyfill@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@js-temporal/polyfill/-/polyfill-0.5.1.tgz#c9726fdb7fbdbc6419292ba94294b10a08852c32" + integrity sha512-hloP58zRVCRSpgDxmqCWJNlizAlUgJFqG2ypq79DCvyv9tHjRYMDOcPFjzfl/A1/YxDvRCZz8wvZvmapQnKwFQ== + dependencies: + jsbi "^4.3.0" + +"@napi-rs/wasm-runtime@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz#a46bbfedc29751b7170c5d23bc1d8ee8c7e3c1e1" + integrity sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow== + dependencies: + "@tybys/wasm-util" "^0.10.1" + +"@oxc-project/types@=0.129.0": + version "0.129.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.129.0.tgz#8e6362388ce6092feafd14f3a73ae6407b1285d9" + integrity sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg== + "@parcel/watcher-android-arm64@2.5.6": version "2.5.6" resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz#5f32e0dba356f4ac9a11068d2a5c134ca3ba6564" @@ -684,137 +495,96 @@ uncontrollable "^8.0.4" warning "^4.0.3" -"@rolldown/pluginutils@1.0.0-rc.3": - version "1.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz#8a88cc92a0f741befc7bc109cb1a4c6b9408e1c5" - integrity sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q== - -"@rollup/rollup-android-arm-eabi@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz#a6742c74c7d9d6d604ef8a48f99326b4ecda3d82" - integrity sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg== - -"@rollup/rollup-android-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz#97247be098de4df0c11971089fd2edf80a5da8cf" - integrity sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q== - -"@rollup/rollup-darwin-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz#674852cf14cf11b8056e0b1a2f4e872b523576cf" - integrity sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg== - -"@rollup/rollup-darwin-x64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz#36dfd7ed0aaf4d9d89d9ef983af72632455b0246" - integrity sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w== - -"@rollup/rollup-freebsd-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz#2f87c2074b4220260fdb52a9996246edfc633c22" - integrity sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA== - -"@rollup/rollup-freebsd-x64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz#9b5a26522a38a95dc06616d1939d4d9a76937803" - integrity sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg== - -"@rollup/rollup-linux-arm-gnueabihf@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz#86aa4859385a8734235b5e40a48e52d770758c3a" - integrity sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw== - -"@rollup/rollup-linux-arm-musleabihf@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz#cbe70e56e6ece8dac83eb773b624fc9e5a460976" - integrity sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA== - -"@rollup/rollup-linux-arm64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz#d14992a2e653bc3263d284bc6579b7a2890e1c45" - integrity sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA== - -"@rollup/rollup-linux-arm64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz#2fdd1ddc434ea90aeaa0851d2044789b4d07f6da" - integrity sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA== - -"@rollup/rollup-linux-loong64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz#8a181e6f89f969f21666a743cd411416c80099e7" - integrity sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg== - -"@rollup/rollup-linux-loong64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz#904125af2babc395f8061daa27b5af1f4e3f2f78" - integrity sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q== - -"@rollup/rollup-linux-ppc64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz#a57970ac6864c9a3447411a658224bdcf948be22" - integrity sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA== - -"@rollup/rollup-linux-ppc64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz#bb84de5b26870567a4267666e08891e80bb56a63" - integrity sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA== - -"@rollup/rollup-linux-riscv64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz#72d00d2c7fb375ce3564e759db33f17a35bffab9" - integrity sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg== - -"@rollup/rollup-linux-riscv64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz#4c166ef58e718f9245bd31873384ba15a5c1a883" - integrity sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg== - -"@rollup/rollup-linux-s390x-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz#bb5025cde9a61db478c2ca7215808ad3bce73a09" - integrity sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w== - -"@rollup/rollup-linux-x64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz#9b66b1f9cd95c6624c788f021c756269ffed1552" - integrity sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg== - -"@rollup/rollup-linux-x64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz#b007ca255dc7166017d57d7d2451963f0bd23fd9" - integrity sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg== - -"@rollup/rollup-openbsd-x64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz#e8b357b2d1aa2c8d76a98f5f0d889eabe93f4ef9" - integrity sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ== - -"@rollup/rollup-openharmony-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz#96c2e3f4aacd3d921981329831ff8dde492204dc" - integrity sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA== - -"@rollup/rollup-win32-arm64-msvc@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz#2d865149d706d938df8b4b8f117e69a77646d581" - integrity sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A== - -"@rollup/rollup-win32-ia32-msvc@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz#abe1593be0fa92325e9971c8da429c5e05b92c36" - integrity sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA== - -"@rollup/rollup-win32-x64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz#c4af3e9518c9a5cd4b1c163dc81d0ad4d82e7eab" - integrity sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA== - -"@rollup/rollup-win32-x64-msvc@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz#4584a8a87b29188a4c1fe987a9fcf701e256d86c" - integrity sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA== - -"@standard-schema/spec@^1.0.0": +"@rolldown/binding-android-arm64@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0.tgz#aefa7afdcabc1269b1933d50cad31013cb697143" + integrity sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA== + +"@rolldown/binding-darwin-arm64@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0.tgz#83e708d97f9f8f3791e79ef8c24d5fcc5e8f29df" + integrity sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew== + +"@rolldown/binding-darwin-x64@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0.tgz#4649bb4db634850f6de2b2f1ec37fc39a18adcf8" + integrity sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ== + +"@rolldown/binding-freebsd-x64@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0.tgz#2b0e50fdc926fa9680dca9d6acc4c3729b7df899" + integrity sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0.tgz#8fd160371f4c160a2fa52de8f9ede51fbd43fc5b" + integrity sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A== + +"@rolldown/binding-linux-arm64-gnu@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0.tgz#9915488c96cb0fc49a70bd27c030def3cbbc8cbb" + integrity sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ== + +"@rolldown/binding-linux-arm64-musl@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0.tgz#74bb160f2747404eed2f917bea01b0548c783848" + integrity sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA== + +"@rolldown/binding-linux-ppc64-gnu@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0.tgz#fdc876160b6738ff34a7d719c4ea42edb38a70bc" + integrity sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg== + +"@rolldown/binding-linux-s390x-gnu@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0.tgz#39668ce16e8c2ac16308fdb7116ebd5b44acab65" + integrity sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA== + +"@rolldown/binding-linux-x64-gnu@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0.tgz#02a7e4a0fa3af90bf4e937ecd1f4c0dc07ab2397" + integrity sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA== + +"@rolldown/binding-linux-x64-musl@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0.tgz#610a08a3055d21f287c550e16a5541501883f2b1" + integrity sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw== + +"@rolldown/binding-openharmony-arm64@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0.tgz#62e5da4d623b446a57c9f472b598fedaf5289a3d" + integrity sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig== + +"@rolldown/binding-wasm32-wasi@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0.tgz#57191a2986e7f43a920fc618da92f29b0b8123c9" + integrity sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg== + dependencies: + "@emnapi/core" "1.10.0" + "@emnapi/runtime" "1.10.0" + "@napi-rs/wasm-runtime" "^1.1.4" + +"@rolldown/binding-win32-arm64-msvc@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0.tgz#77faf1e28521411bd0be6f4e55f3c4c5f17cd619" + integrity sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow== + +"@rolldown/binding-win32-x64-msvc@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0.tgz#980a8f9983b0bd3d35ee867ade85cb020eca27ba" + integrity sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg== + +"@rolldown/pluginutils@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0.tgz#d660b953fd500d552fc17213f279e29037f08c2d" + integrity sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ== + +"@rolldown/pluginutils@1.0.0-rc.7": + version "1.0.0-rc.7" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz#0414869467f0e471a6515d4f506c85fde867e022" + integrity sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA== + +"@standard-schema/spec@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.1.0.tgz#a79b55dbaf8604812f52d140b2c9ab41bc150bb8" integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== @@ -834,41 +604,41 @@ "@popperjs/core" "^2.11.8" bootstrap "5.3.7" -"@tabler/icons-react@^3.38.0": - version "3.38.0" - resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.38.0.tgz#c568dabae83fd3bf68f09e7db55c72c6df0b77b4" - integrity sha512-kR5wv+m4+GgmnSszg3rQd6SrTFAQ/XnQC/yTwIfuRJSfqB12KoIC7fPbIijFgOHTFlBN5DARnN0IVrR7KYG6/A== +"@tabler/icons-react@^3.44.0": + version "3.44.0" + resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.44.0.tgz#26e84ee0ef756bfae5dcbd8265312ba3cd5a91d9" + integrity sha512-8+rvzBbVm/1Z3sG3x7GUNAaxIKxwgz8xaMhRs23nrCnMTKRFAhEC+82zAIFeAA0seXdrAGX5HFCkaLpGK2rVHg== dependencies: - "@tabler/icons" "3.38.0" + "@tabler/icons" "3.44.0" -"@tabler/icons@3.38.0": - version "3.38.0" - resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.38.0.tgz#cb7bf6802a6d64b65cddda2c81fc21300d13dfe1" - integrity sha512-FdETQSpQ3lN7BEjEUzjKhsfTDCamrvMDops4HEMphTm3DmkIFpThoODn8XXZ8Q9MhjshIvphIYVHHB7zpq167w== +"@tabler/icons@3.44.0": + version "3.44.0" + resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.44.0.tgz#286b203aac98591e27360de03974762568bbb272" + integrity sha512-Wn0AOZG9sg0L+bjfMqq4eNhC6pQjIrk94LvvWYNYkY8KH8wC3YILRzQlrnVJc4FUeMxH/AK97QsYCX35H3LndA== -"@tanstack/query-core@5.90.20": - version "5.90.20" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.90.20.tgz#e12128e39210715d4ce4fb299c33498ac297771e" - integrity sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg== +"@tanstack/query-core@5.100.10": + version "5.100.10" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.100.10.tgz#aeb34d301fd4ff9762e67dfa018adc33b7a18be4" + integrity sha512-8UR0yJR+GiQ40m3lPhUr0xbfAupe6GSQiksSBSa9SM2NjezFyxXCIA69/lz8cSoNKZLrw1/PktIyQBJcVeMi3w== -"@tanstack/query-devtools@5.93.0": - version "5.93.0" - resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.93.0.tgz#517f61d4e2cfb9af671e34ad5e7e871052bca814" - integrity sha512-+kpsx1NQnOFTZsw6HAFCW3HkKg0+2cepGtAWXjiiSOJJ1CtQpt72EE2nyZb+AjAbLRPoeRmPJ8MtQd8r8gsPdg== +"@tanstack/query-devtools@5.100.10": + version "5.100.10" + resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.100.10.tgz#1972789fdc7c4cb9ec2062d51f25bc4dc655a27b" + integrity sha512-3DmJf25hDPus5IpVvp6ujXv6bKV2zPzI9vpbAmpJigsL/H6DPvPjmf7/Q9yVKEke//8fgeQ45abjgnLuyYxAiw== -"@tanstack/react-query-devtools@^5.91.3": - version "5.91.3" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.91.3.tgz#0f65340fa3f7e7d5575de928ad70cfa6b5f74ff1" - integrity sha512-nlahjMtd/J1h7IzOOfqeyDh5LNfG0eULwlltPEonYy0QL+nqrBB+nyzJfULV+moL7sZyxc2sHdNJki+vLA9BSA== +"@tanstack/react-query-devtools@^5.100.10": + version "5.100.10" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.100.10.tgz#cca3479cc2c8b434637c31f8119fe6ff93e5832c" + integrity sha512-zes0+o9ef5rAZXJ9f/SeaLs2nufJaeVkZkl/Or9NGrWVF41kL9Od9ED9nCwtQlgiF2VGtrzhEw5AU/igAO+aAg== dependencies: - "@tanstack/query-devtools" "5.93.0" + "@tanstack/query-devtools" "5.100.10" -"@tanstack/react-query@^5.90.21": - version "5.90.21" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.90.21.tgz#e0eb40831a76510be438109435b8807ef63ab1b9" - integrity sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg== +"@tanstack/react-query@^5.100.10": + version "5.100.10" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.100.10.tgz#3bf1844efd76f5f68f9f39da2917fc4c6023e726" + integrity sha512-FLaZf2RCrA/Zgp4aiu5tG3TyasTRO7aZ99skxQpr3Hg/zXOhu6yq5FZCYQ/tRaJtM9ylnoK8tFK7PolXQadv6Q== dependencies: - "@tanstack/query-core" "5.90.20" + "@tanstack/query-core" "5.100.10" "@tanstack/react-table@^8.21.3": version "8.21.3" @@ -915,44 +685,18 @@ dependencies: "@babel/runtime" "^7.12.5" +"@tybys/wasm-util@^0.10.1": + version "0.10.2" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.2.tgz#12b3a1b33db1f9cad4ddff1f604ab7dd00bf464e" + integrity sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg== + dependencies: + tslib "^2.4.0" + "@types/aria-query@^5.0.1": version "5.0.4" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== -"@types/babel__core@^7.20.5": - 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.27.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" - integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== - 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@*": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" - integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== - dependencies: - "@babel/types" "^7.28.2" - "@types/chai@^5.2.2": version "5.2.3" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.3.tgz#8e9cd9e1c3581fa6b341a5aed5588eb285be0b4a" @@ -985,7 +729,7 @@ dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@1.0.8", "@types/estree@^1.0.0": +"@types/estree@*", "@types/estree@^1.0.0": version "1.0.8" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== @@ -1035,6 +779,13 @@ dependencies: undici-types "~7.18.0" +"@types/node@^25.7.0": + version "25.7.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.7.0.tgz#7498f82e90dbdce7c34b75aaaa256c498a0ebe6c" + integrity sha512-z+pdZyxE+RTQE9AcboAZCb4otwcrvgHD+GlBpPgn0emDVt0ohrTMhAwlr2Wd9nZ+nihhYFxO2pThz3C5qSu2Eg== + dependencies: + undici-types "~7.21.0" + "@types/parse-json@^4.0.0": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" @@ -1115,75 +866,72 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@vitejs/plugin-react@^5.1.4": - version "5.1.4" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz#5b477e060bf612a7394c4febacc5de33a219b0e4" - integrity sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA== +"@vitejs/plugin-react@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz#d9113b71a0a592714913eafd9e5e63bcafd0ff15" + integrity sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ== dependencies: - "@babel/core" "^7.29.0" - "@babel/plugin-transform-react-jsx-self" "^7.27.1" - "@babel/plugin-transform-react-jsx-source" "^7.27.1" - "@rolldown/pluginutils" "1.0.0-rc.3" - "@types/babel__core" "^7.20.5" - react-refresh "^0.18.0" + "@rolldown/pluginutils" "1.0.0-rc.7" -"@vitest/expect@4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-4.0.18.tgz#361510d99fbf20eb814222e4afcb8539d79dc94d" - integrity sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ== +"@vitest/expect@4.1.6": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-4.1.6.tgz#b50c9390aae6957ab4d9e20722cebb17d5bf169a" + integrity sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg== dependencies: - "@standard-schema/spec" "^1.0.0" + "@standard-schema/spec" "^1.1.0" "@types/chai" "^5.2.2" - "@vitest/spy" "4.0.18" - "@vitest/utils" "4.0.18" - chai "^6.2.1" - tinyrainbow "^3.0.3" + "@vitest/spy" "4.1.6" + "@vitest/utils" "4.1.6" + chai "^6.2.2" + tinyrainbow "^3.1.0" -"@vitest/mocker@4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-4.0.18.tgz#b9735da114ef65ea95652c5bdf13159c6fab4865" - integrity sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ== +"@vitest/mocker@4.1.6": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-4.1.6.tgz#6b624045745236b02aca879a02aef68b72d9d4cd" + integrity sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ== dependencies: - "@vitest/spy" "4.0.18" + "@vitest/spy" "4.1.6" estree-walker "^3.0.3" magic-string "^0.30.21" -"@vitest/pretty-format@4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.0.18.tgz#fbccd4d910774072ec15463553edb8ca5ce53218" - integrity sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw== +"@vitest/pretty-format@4.1.6": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.6.tgz#24a1c03a6b68a8775f8ddfec51d3636315edc3f5" + integrity sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw== dependencies: - tinyrainbow "^3.0.3" + tinyrainbow "^3.1.0" -"@vitest/runner@4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.0.18.tgz#c2c0a3ed226ec85e9312f9cc8c43c5b3a893a8b1" - integrity sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw== +"@vitest/runner@4.1.6": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.1.6.tgz#b6d189e68bd9927c4f111ad089ff96e4757591b1" + integrity sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA== dependencies: - "@vitest/utils" "4.0.18" + "@vitest/utils" "4.1.6" pathe "^2.0.3" -"@vitest/snapshot@4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-4.0.18.tgz#bcb40fd6d742679c2ac927ba295b66af1c6c34c5" - integrity sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA== +"@vitest/snapshot@4.1.6": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-4.1.6.tgz#14fdfc8baf6b4b3e4e35763431dbea3aaa8aa0eb" + integrity sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw== dependencies: - "@vitest/pretty-format" "4.0.18" + "@vitest/pretty-format" "4.1.6" + "@vitest/utils" "4.1.6" magic-string "^0.30.21" pathe "^2.0.3" -"@vitest/spy@4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-4.0.18.tgz#ba0f20503fb6d08baf3309d690b3efabdfa88762" - integrity sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw== +"@vitest/spy@4.1.6": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-4.1.6.tgz#0a316893630f47fa545e33026cfc91575070d165" + integrity sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg== -"@vitest/utils@4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.0.18.tgz#9636b16d86a4152ec68a8d6859cff702896433d4" - integrity sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA== +"@vitest/utils@4.1.6": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.6.tgz#3f4acf1f60e135ec1ce896f10baa4cd6466d0d38" + integrity sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ== dependencies: - "@vitest/pretty-format" "4.0.18" - tinyrainbow "^3.0.3" + "@vitest/pretty-format" "4.1.6" + convert-source-map "^2.0.0" + tinyrainbow "^3.1.0" ansi-regex@^5.0.1: version "5.0.1" @@ -1231,27 +979,11 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -baseline-browser-mapping@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz#5b09935025bf8a80e29130251e337c6a7fc8cbb9" - integrity sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA== - bootstrap@5.3.7: version "5.3.7" resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.7.tgz#8640065036124d961d885d80b5945745e1154d90" integrity sha512-7KgiD8UHjfcPBHEpDNg+zGz8L3LqR3GVwqZiBRFX04a1BCArZOz1r2kjly2HQ0WokqTO0v1nF+QAt8dsW4lKlw== -browserslist@^4.24.0: - version "4.28.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" - integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== - dependencies: - baseline-browser-mapping "^2.9.0" - caniuse-lite "^1.0.30001759" - electron-to-chromium "^1.5.263" - node-releases "^2.0.27" - update-browserslist-db "^1.2.0" - buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" @@ -1265,17 +997,12 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -caniuse-lite@^1.0.30001759: - version "1.0.30001770" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz#4dc47d3b263a50fbb243448034921e0a88591a84" - integrity sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw== - ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chai@^6.2.1: +chai@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/chai/-/chai-6.2.2.tgz#ae41b52c9aca87734505362717f3255facda360e" integrity sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== @@ -1348,10 +1075,10 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -country-flag-icons@^1.6.15: - version "1.6.15" - resolved "https://registry.yarnpkg.com/country-flag-icons/-/country-flag-icons-1.6.15.tgz#f89014f84534d4f35109280d88930e6c371684a9" - integrity sha512-92HoA8l6DluEidku8tKBftjuFRj4Rv3zDW1lXxCuNnqAxhUSkvso9gM/Afj4F5BnK+wneHIe3ydI+s+4NA29/Q== +country-flag-icons@^1.6.17: + version "1.6.17" + resolved "https://registry.yarnpkg.com/country-flag-icons/-/country-flag-icons-1.6.17.tgz#875cf35eb2a0d7fcb0f07166fed9fc65863e03f8" + integrity sha512-Nmik0289ZVZSI3c7mJR/amg6DyY7Z59b0sTFSKayeX72mHfPzCPJygwJs2pYgQULzuAyWeCUgwAJ+Dq8OR+JFw== css.escape@^1.5.1: version "1.5.1" @@ -1368,18 +1095,13 @@ date-fns@^4.1.0: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: +debug@^4.0.0, debug@^4.3.1: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" -decimal.js@^10.6.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" - integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== - decode-named-character-reference@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz#3e40603760874c2e5867691b599d73a7da25b53f" @@ -1432,11 +1154,6 @@ dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -electron-to-chromium@^1.5.263: - version "1.5.286" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz#142be1ab5e1cd5044954db0e5898f60a4960384e" - integrity sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A== - entities@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" @@ -1454,47 +1171,10 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-module-lexer@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" - integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== - -esbuild@^0.27.0: - version "0.27.3" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.27.3.tgz#5859ca8e70a3af956b26895ce4954d7e73bd27a8" - integrity sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg== - optionalDependencies: - "@esbuild/aix-ppc64" "0.27.3" - "@esbuild/android-arm" "0.27.3" - "@esbuild/android-arm64" "0.27.3" - "@esbuild/android-x64" "0.27.3" - "@esbuild/darwin-arm64" "0.27.3" - "@esbuild/darwin-x64" "0.27.3" - "@esbuild/freebsd-arm64" "0.27.3" - "@esbuild/freebsd-x64" "0.27.3" - "@esbuild/linux-arm" "0.27.3" - "@esbuild/linux-arm64" "0.27.3" - "@esbuild/linux-ia32" "0.27.3" - "@esbuild/linux-loong64" "0.27.3" - "@esbuild/linux-mips64el" "0.27.3" - "@esbuild/linux-ppc64" "0.27.3" - "@esbuild/linux-riscv64" "0.27.3" - "@esbuild/linux-s390x" "0.27.3" - "@esbuild/linux-x64" "0.27.3" - "@esbuild/netbsd-arm64" "0.27.3" - "@esbuild/netbsd-x64" "0.27.3" - "@esbuild/openbsd-arm64" "0.27.3" - "@esbuild/openbsd-x64" "0.27.3" - "@esbuild/openharmony-arm64" "0.27.3" - "@esbuild/sunos-x64" "0.27.3" - "@esbuild/win32-arm64" "0.27.3" - "@esbuild/win32-ia32" "0.27.3" - "@esbuild/win32-x64" "0.27.3" - -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== +es-module-lexer@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.1.0.tgz#1dfcbb5ea3bbfb63f28e1fc3676c3676d1c9624c" + integrity sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ== escape-string-regexp@^4.0.0: version "4.0.0" @@ -1513,7 +1193,7 @@ estree-walker@^3.0.3: dependencies: "@types/estree" "^1.0.0" -expect-type@^1.2.2: +expect-type@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.3.0.tgz#0d58ed361877a31bbc4dd6cf71bbfef7faf6bd68" integrity sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== @@ -1562,7 +1242,7 @@ formik@^2.4.9: tiny-warning "^1.0.2" tslib "^2.0.0" -fsevents@~2.3.2, fsevents@~2.3.3: +fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -1580,20 +1260,15 @@ generate-password-browser@^1.1.0: buffer "^6.0.3" randombytes "^2.0.5" -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" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== +graceful-fs@^4.2.4: + version "4.2.11" + 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== -happy-dom@^20.8.3: - version "20.8.3" - resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.8.3.tgz#aa59a13c0e43c48819190d913ab5e36800e87431" - integrity sha512-lMHQRRwIPyJ70HV0kkFT7jH/gXzSI7yDkQFe07E2flwmNDFoWUTRMKpW2sglsnpeA7b6S2TJPp98EbQxai8eaQ== +happy-dom@^20.9.0: + version "20.9.0" + resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.9.0.tgz#22fa4f2b8a34d2fbd0fb43eb48227e4bf8e206e8" + integrity sha512-GZZ9mKe8r646NUAf/zemnGbjYh4Bt8/MqASJY+pSm5ZDtc3YQox+4gsLI7yi1hba6o+eCsGxpHn5+iEVn31/FQ== dependencies: "@types/node" ">=20.0.0" "@types/whatwg-mimetype" "^3.0.2" @@ -1723,7 +1398,7 @@ hastscript@^9.0.0: property-information "^7.0.0" space-separated-tokens "^2.0.0" -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -1750,10 +1425,10 @@ ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -immutable@^5.0.2: - version "5.1.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.4.tgz#e3f8c1fe7b567d56cf26698f31918c241dae8c1f" - integrity sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA== +immutable@^5.1.5: + version "5.1.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.5.tgz#93ee4db5c2a9ab42a4a783069f3c5d8847d40165" + integrity sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A== import-fresh@^3.2.1: version "3.3.1" @@ -1773,15 +1448,13 @@ inline-style-parser@0.2.7: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz#b1fc68bfc0313b8685745e4464e37f9376b9c909" integrity sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA== -intl-messageformat@11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-11.1.2.tgz#c72879165d15633f38b092479822c5d831c21ac5" - integrity sha512-ucSrQmZGAxfiBHfBRXW/k7UC8MaGFlEj4Ry1tKiDcmgwQm1y3EDl40u+4VNHYomxJQMJi9NEI3riDRlth96jKg== +intl-messageformat@11.2.5: + version "11.2.5" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-11.2.5.tgz#08934613ab77b14730cf51c9454b0792853982bd" + integrity sha512-zaROHiUsnlSFXVypU54AsQuAm3DLmmSH8KfDhiUuG1XZ9NTQ4o3xlxIJYVNmeWAklyp3CWg0lhexNUnee8PsYQ== dependencies: - "@formatjs/ecma402-abstract" "3.1.1" - "@formatjs/fast-memoize" "3.1.0" - "@formatjs/icu-messageformat-parser" "3.5.1" - tslib "^2.8.1" + "@formatjs/fast-memoize" "3.1.5" + "@formatjs/icu-messageformat-parser" "3.5.8" invariant@^2.2.4: version "2.2.4" @@ -1847,6 +1520,11 @@ is-plain-obj@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +jsbi@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-4.3.2.tgz#8a4d05d4e09907d73042135b6aa55a6d161ee955" + integrity sha512-9fqMSQbhJykSeii05nxKl4m6Eqn2P6rOlYiS+C5Dr/HPIU/7yZxu5qzbs40tgaFORiw2Amd0mirjxatXYMkIew== + jsesc@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" @@ -1857,10 +1535,79 @@ json-parse-even-better-errors@^2.3.0: 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== -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +lightningcss-android-arm64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" + integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== + +lightningcss-darwin-arm64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5" + integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== + +lightningcss-darwin-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" + integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== + +lightningcss-freebsd-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" + integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== + +lightningcss-linux-arm-gnueabihf@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" + integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== + +lightningcss-linux-arm64-gnu@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335" + integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== + +lightningcss-linux-arm64-musl@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133" + integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== + +lightningcss-linux-x64-gnu@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" + integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== + +lightningcss-linux-x64-musl@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" + integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== + +lightningcss-win32-arm64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" + integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== + +lightningcss-win32-x64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a" + integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== + +lightningcss@^1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.32.0.tgz#b85aae96486dcb1bf49a7c8571221273f4f1e4a9" + integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== + dependencies: + detect-libc "^2.0.3" + optionalDependencies: + lightningcss-android-arm64 "1.32.0" + lightningcss-darwin-arm64 "1.32.0" + lightningcss-darwin-x64 "1.32.0" + lightningcss-freebsd-x64 "1.32.0" + lightningcss-linux-arm-gnueabihf "1.32.0" + lightningcss-linux-arm64-gnu "1.32.0" + lightningcss-linux-arm64-musl "1.32.0" + lightningcss-linux-x64-gnu "1.32.0" + lightningcss-linux-x64-musl "1.32.0" + lightningcss-win32-arm64-msvc "1.32.0" + lightningcss-win32-x64-msvc "1.32.0" lines-and-columns@^1.1.6: version "1.2.4" @@ -1894,13 +1641,6 @@ loose-envify@^1.0.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - lz-string@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" @@ -2237,11 +1977,6 @@ node-addon-api@^7.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== -node-releases@^2.0.27: - version "2.0.27" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" - integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== - npm-run-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-6.0.0.tgz#25cfdc4eae04976f3349c0b1afc089052c362537" @@ -2337,24 +2072,20 @@ picomatch@^4.0.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== +picomatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" + integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== + postcss-simple-vars@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-simple-vars/-/postcss-simple-vars-7.0.1.tgz#836b3097a54dcd13dbd3c36a5dbdd512fad2954c" integrity sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A== -postcss@^8.5.6: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== - dependencies: - nanoid "^3.3.11" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -postcss@^8.5.8: - version "8.5.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.8.tgz#6230ecc8fb02e7a0f6982e53990937857e13f399" - integrity sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg== +postcss@^8.5.14: + version "8.5.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.14.tgz#a66c2d7808fadf69ebb5b84a03f8bafd76c4919c" + integrity sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg== dependencies: nanoid "^3.3.11" picocolors "^1.1.1" @@ -2386,6 +2117,15 @@ prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" +proper-lockfile@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== + dependencies: + graceful-fs "^4.2.4" + retry "^0.12.0" + signal-exit "^3.0.2" + property-information@^6.0.0: version "6.5.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" @@ -2438,10 +2178,10 @@ react-bootstrap@^2.10.10: uncontrollable "^7.2.1" warning "^4.0.3" -react-dom@^19.2.4: - version "19.2.4" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.2.4.tgz#6fac6bd96f7db477d966c7ec17c1a2b1ad8e6591" - integrity sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ== +react-dom@^19.2.6: + version "19.2.6" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.2.6.tgz#44a81b0bcca22da814c00847d09d01c8615529b7" + integrity sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g== dependencies: scheduler "^0.27.0" @@ -2450,18 +2190,14 @@ react-fast-compare@^2.0.1: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== -react-intl@^8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-8.1.3.tgz#216e0a916c40a535c590995c3103fe9e2525d2e4" - integrity sha512-eL1/d+uQdnapirynOGAriW0K9uAoyarjRGL3V9LaTRuohNSvPgCfJX06EZl5M52h/Hu7Gz7A1sD7dNHcos1lNg== +react-intl@^10.1.6: + version "10.1.6" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-10.1.6.tgz#febefb819581be56731b9d428d496c48e1d7c367" + integrity sha512-cXXRQ+M/uot4OYIerz2q752wfYUKnRYlm++eny9d2u1LBmRo54KZviPb+modE0WcYg8ZB4mfokIOCaFZkZlD0w== dependencies: - "@formatjs/ecma402-abstract" "3.1.1" - "@formatjs/icu-messageformat-parser" "3.5.1" - "@formatjs/intl" "4.1.2" - "@types/hoist-non-react-statics" "^3.3.1" - hoist-non-react-statics "^3.3.2" - intl-messageformat "11.1.2" - tslib "^2.8.1" + "@formatjs/icu-messageformat-parser" "3.5.8" + "@formatjs/intl" "4.1.10" + intl-messageformat "11.2.5" react-is@^16.13.1, react-is@^16.3.2, react-is@^16.7.0: version "16.13.1" @@ -2495,22 +2231,17 @@ react-markdown@^10.1.0: unist-util-visit "^5.0.0" vfile "^6.0.0" -react-refresh@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.18.0.tgz#2dce97f4fe932a4d8142fa1630e475c1729c8062" - integrity sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw== - -react-router-dom@^7.13.1: - version "7.13.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.13.1.tgz#74c045acc333ca94612b889cd1b1e1ee9534dead" - integrity sha512-UJnV3Rxc5TgUPJt2KJpo1Jpy0OKQr0AjgbZzBFjaPJcFOb2Y8jA5H3LT8HUJAiRLlWrEXWHbF1Z4SCZaQjWDHw== +react-router-dom@^7.15.0: + version "7.15.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.15.0.tgz#a4b95c4402d896c2ad437014aff9076b94673063" + integrity sha512-VcrVg64Fo8nwBvDscajG8gRTLIuTC6N50nb22l2HOOV4PTOHgoGp8mUjy9wLiHYoYTSYI36tUnXZgasSRFZorQ== dependencies: - react-router "7.13.1" + react-router "7.15.0" -react-router@7.13.1: - version "7.13.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.13.1.tgz#5e2b3ebafd6c78d9775e135474bf5060645077f7" - integrity sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA== +react-router@7.15.0: + version "7.15.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.15.0.tgz#cb438ff254ab5a1e356ef5a23d7821d8f6fbe652" + integrity sha512-HW9vYwuM8f4yx66Izy8xfrzCM+SBJluoZcCbww9A1TySax11S5Vgw6fi3ZjMONw9J4gQwngL7PzkyIpJJpJ7RQ== dependencies: cookie "^1.0.1" set-cookie-parser "^2.6.0" @@ -2530,10 +2261,10 @@ react-select@^5.10.2: react-transition-group "^4.3.0" use-isomorphic-layout-effect "^1.2.0" -react-toastify@^11.0.5: - version "11.0.5" - resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-11.0.5.tgz#ce4c42d10eeb433988ab2264d3e445c4e9d13313" - integrity sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA== +react-toastify@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-11.1.0.tgz#3d3c73a44d5cac868ee9a52e0f90dd706532c4a4" + integrity sha512-e9h23x3phN0wbFeB6yovmWp7lobzV4CaCH0LO8nVP6H7Y+3GbcLpIzMm9dJhcp1RXbpyfvjgpfXqO80QAmn7sg== dependencies: clsx "^2.1.1" @@ -2547,10 +2278,10 @@ react-transition-group@^4.3.0, react-transition-group@^4.4.5: loose-envify "^1.4.0" prop-types "^15.6.2" -react@^19.2.4: - version "19.2.4" - resolved "https://registry.yarnpkg.com/react/-/react-19.2.4.tgz#438e57baa19b77cb23aab516cf635cd0579ee09a" - integrity sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ== +react@^19.2.6: + version "19.2.6" + resolved "https://registry.yarnpkg.com/react/-/react-19.2.6.tgz#3dadb8e12b2a7934c1d5317973e5dce1301f9a4d" + integrity sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q== readdirp@^4.0.1: version "4.1.2" @@ -2650,62 +2381,59 @@ resolve@^1.19.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -rollup@^4.43.0: - version "4.59.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.59.0.tgz#cf74edac17c1486f562d728a4d923a694abdf06f" - integrity sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg== +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +rolldown@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0.tgz#9baf1407c4117570f19f75f697c4a0216065d12e" + integrity sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA== dependencies: - "@types/estree" "1.0.8" + "@oxc-project/types" "=0.129.0" + "@rolldown/pluginutils" "1.0.0" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.59.0" - "@rollup/rollup-android-arm64" "4.59.0" - "@rollup/rollup-darwin-arm64" "4.59.0" - "@rollup/rollup-darwin-x64" "4.59.0" - "@rollup/rollup-freebsd-arm64" "4.59.0" - "@rollup/rollup-freebsd-x64" "4.59.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.59.0" - "@rollup/rollup-linux-arm-musleabihf" "4.59.0" - "@rollup/rollup-linux-arm64-gnu" "4.59.0" - "@rollup/rollup-linux-arm64-musl" "4.59.0" - "@rollup/rollup-linux-loong64-gnu" "4.59.0" - "@rollup/rollup-linux-loong64-musl" "4.59.0" - "@rollup/rollup-linux-ppc64-gnu" "4.59.0" - "@rollup/rollup-linux-ppc64-musl" "4.59.0" - "@rollup/rollup-linux-riscv64-gnu" "4.59.0" - "@rollup/rollup-linux-riscv64-musl" "4.59.0" - "@rollup/rollup-linux-s390x-gnu" "4.59.0" - "@rollup/rollup-linux-x64-gnu" "4.59.0" - "@rollup/rollup-linux-x64-musl" "4.59.0" - "@rollup/rollup-openbsd-x64" "4.59.0" - "@rollup/rollup-openharmony-arm64" "4.59.0" - "@rollup/rollup-win32-arm64-msvc" "4.59.0" - "@rollup/rollup-win32-ia32-msvc" "4.59.0" - "@rollup/rollup-win32-x64-gnu" "4.59.0" - "@rollup/rollup-win32-x64-msvc" "4.59.0" - fsevents "~2.3.2" - -rooks@^9.5.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/rooks/-/rooks-9.5.0.tgz#bbe15fdf64fff44b9a1750cc913de3401572f012" - integrity sha512-AtmaX8yjQkJAW7EXW+UU481bpGwuk455hjD/aEUuy7N7VjvXlNmO8BErQ+jEUQp1DRA/PTWonv+Dq1nEkJdgkw== + "@rolldown/binding-android-arm64" "1.0.0" + "@rolldown/binding-darwin-arm64" "1.0.0" + "@rolldown/binding-darwin-x64" "1.0.0" + "@rolldown/binding-freebsd-x64" "1.0.0" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0" + "@rolldown/binding-linux-arm64-gnu" "1.0.0" + "@rolldown/binding-linux-arm64-musl" "1.0.0" + "@rolldown/binding-linux-ppc64-gnu" "1.0.0" + "@rolldown/binding-linux-s390x-gnu" "1.0.0" + "@rolldown/binding-linux-x64-gnu" "1.0.0" + "@rolldown/binding-linux-x64-musl" "1.0.0" + "@rolldown/binding-openharmony-arm64" "1.0.0" + "@rolldown/binding-wasm32-wasi" "1.0.0" + "@rolldown/binding-win32-arm64-msvc" "1.0.0" + "@rolldown/binding-win32-x64-msvc" "1.0.0" + +rooks@^9.8.0: + version "9.8.0" + resolved "https://registry.yarnpkg.com/rooks/-/rooks-9.8.0.tgz#bf4790f1d379cb9d2f60570202e39d297ed88f8a" + integrity sha512-S6FqnmERx5zgl8ZUEcnyTe1jgjwE5xeFCgOV4bzgQHKp26P7YA7uPnzzOgacojtoX6E7pQTcewSGqN83wVyz+g== dependencies: fast-deep-equal "^3.1.3" lodash.debounce "^4.0.8" raf "^3.4.1" - use-sync-external-store "^1.4.0" + use-sync-external-store "^1.6.0" + optionalDependencies: + "@js-temporal/polyfill" "^0.5.1" 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== -sass@^1.97.3: - version "1.97.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.97.3.tgz#9cb59339514fa7e2aec592b9700953ac6e331ab2" - integrity sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg== +sass@^1.99.0: + version "1.99.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.99.0.tgz#ff9d1594da4886249dfaafabbeea2dea2dc74b26" + integrity sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q== dependencies: chokidar "^4.0.0" - immutable "^5.0.2" + immutable "^5.1.5" source-map-js ">=0.6.2 <2.0.0" optionalDependencies: "@parcel/watcher" "^2.4.1" @@ -2715,11 +2443,6 @@ scheduler@^0.27.0: resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.27.0.tgz#0c4ef82d67d1e5c1e359e8fc76d3a87f045fe5bd" integrity sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q== -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - set-cookie-parser@^2.6.0: version "2.7.2" resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz#ccd08673a9ae5d2e44ea2a2de25089e67c7edf68" @@ -2730,6 +2453,11 @@ siginfo@^2.0.0: resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" @@ -2755,10 +2483,10 @@ stackback@0.0.2: resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== -std-env@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.10.0.tgz#d810b27e3a073047b2b5e40034881f5ea6f9c83b" - integrity sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== +std-env@^4.0.0-rc.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-4.1.0.tgz#45899abc590d86d682e87f0acd1033a75084cd3f" + integrity sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ== stringify-entities@^4.0.0: version "4.0.4" @@ -2827,10 +2555,18 @@ tinyglobby@^0.2.15: fdir "^6.5.0" picomatch "^4.0.3" -tinyrainbow@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.0.3.tgz#984a5b1c1b25854a9b6bccbe77964d0593d1ea42" - integrity sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q== +tinyglobby@^0.2.16: + version "0.2.16" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" + integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.4" + +tinyrainbow@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.1.0.tgz#1d8a623893f95cf0a2ddb9e5d11150e191409421" + integrity sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== tmp@^0.2.5: version "0.2.5" @@ -2847,20 +2583,15 @@ trough@^2.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== -tsconfck@^3.0.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.1.6.tgz#da1f0b10d82237ac23422374b3fce1edb23c3ead" - integrity sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w== - -tslib@^2.0.0, tslib@^2.8.0, tslib@^2.8.1: +tslib@^2.0.0, tslib@^2.4.0, tslib@^2.8.0: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== -typescript@5.9.3: - version "5.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" - integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== +typescript@6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-6.0.3.tgz#90251dc007916e972786cb94d74d15b185577d21" + integrity sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw== uncontrollable@^7.2.1: version "7.2.1" @@ -2882,6 +2613,11 @@ undici-types@~7.18.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== +undici-types@~7.21.0: + version "7.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.21.0.tgz#433f7dd1b5daa9ab4dacb721a5e11a8de51eadda" + integrity sha512-w9IMgQrz4O0YN1LtB7K5P63vhlIOvC7opSmouCJ+ZywlPAlO9gIkJ+otk6LvGpAs2wg4econaCz3TvQ9xPoyuQ== + unicorn-magic@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104" @@ -2947,20 +2683,12 @@ unist-util-visit@^5.0.0: unist-util-is "^6.0.0" unist-util-visit-parents "^6.0.0" -update-browserslist-db@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz#64d76db58713136acbeb4c49114366cc6cc2e80d" - integrity sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - use-isomorphic-layout-effect@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz#2f11a525628f56424521c748feabc2ffcc962fce" integrity sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA== -use-sync-external-store@^1.4.0: +use-sync-external-store@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d" integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== @@ -2989,67 +2717,58 @@ vfile@^6.0.0: "@types/unist" "^3.0.0" vfile-message "^4.0.0" -vite-plugin-checker@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/vite-plugin-checker/-/vite-plugin-checker-0.12.0.tgz#1e9688a5a10f5de1fd833bc1351618eed54db3bc" - integrity sha512-CmdZdDOGss7kdQwv73UyVgLPv0FVYe5czAgnmRX2oKljgEvSrODGuClaV3PDR2+3ou7N/OKGauDDBjy2MB07Rg== +vite-plugin-checker@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/vite-plugin-checker/-/vite-plugin-checker-0.13.0.tgz#5593c19281a201546c81ee66c79e0c097ba5140a" + integrity sha512-14EkOZmfinVZNxRmg2uCNDwtqGc/33lU/UEJansHgu27+ad+r6mMBf1Xtnq57jGZWiO/xzwtiEKPYsganw7ZFQ== dependencies: "@babel/code-frame" "^7.27.1" chokidar "^4.0.3" npm-run-path "^6.0.0" picocolors "^1.1.1" - picomatch "^4.0.3" + picomatch "^4.0.4" + proper-lockfile "^4.1.2" tiny-invariant "^1.3.3" tinyglobby "^0.2.15" vscode-uri "^3.1.0" -vite-tsconfig-paths@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.1.tgz#d5c28cba79c89ebf76489ef1040024b21df6da3a" - integrity sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg== - dependencies: - debug "^4.1.1" - globrex "^0.1.2" - tsconfck "^3.0.3" - -"vite@^6.0.0 || ^7.0.0", vite@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/vite/-/vite-7.3.1.tgz#7f6cfe8fb9074138605e822a75d9d30b814d6507" - integrity sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA== +"vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^8.0.12: + version "8.0.12" + resolved "https://registry.yarnpkg.com/vite/-/vite-8.0.12.tgz#105cce7bcb60733f9159842ec2a5a10aadf2da86" + integrity sha512-w2dDofOWv2QB09ZITZBsvKTVAlYvPR4IAmrY/v0ir9KvLs0xybR7i48wxhM1/oyBWO34wPns+bPGw5ZrZqDpZg== dependencies: - esbuild "^0.27.0" - fdir "^6.5.0" - picomatch "^4.0.3" - postcss "^8.5.6" - rollup "^4.43.0" - tinyglobby "^0.2.15" + lightningcss "^1.32.0" + picomatch "^4.0.4" + postcss "^8.5.14" + rolldown "1.0.0" + tinyglobby "^0.2.16" optionalDependencies: fsevents "~2.3.3" -vitest@^4.0.18: - version "4.0.18" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.0.18.tgz#56f966353eca0b50f4df7540cd4350ca6d454a05" - integrity sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ== - dependencies: - "@vitest/expect" "4.0.18" - "@vitest/mocker" "4.0.18" - "@vitest/pretty-format" "4.0.18" - "@vitest/runner" "4.0.18" - "@vitest/snapshot" "4.0.18" - "@vitest/spy" "4.0.18" - "@vitest/utils" "4.0.18" - es-module-lexer "^1.7.0" - expect-type "^1.2.2" +vitest@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.1.6.tgz#754875c9a09c5a3e8ca7d07d440659d92c19787f" + integrity sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ== + dependencies: + "@vitest/expect" "4.1.6" + "@vitest/mocker" "4.1.6" + "@vitest/pretty-format" "4.1.6" + "@vitest/runner" "4.1.6" + "@vitest/snapshot" "4.1.6" + "@vitest/spy" "4.1.6" + "@vitest/utils" "4.1.6" + es-module-lexer "^2.0.0" + expect-type "^1.3.0" magic-string "^0.30.21" obug "^2.1.1" pathe "^2.0.3" picomatch "^4.0.3" - std-env "^3.10.0" + std-env "^4.0.0-rc.1" tinybench "^2.9.0" tinyexec "^1.0.2" tinyglobby "^0.2.15" - tinyrainbow "^3.0.3" - vite "^6.0.0 || ^7.0.0" + tinyrainbow "^3.1.0" + vite "^6.0.0 || ^7.0.0 || ^8.0.0" why-is-node-running "^2.3.0" vscode-uri@^3.1.0: @@ -3087,11 +2806,6 @@ ws@^8.18.3: resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" diff --git a/test/package.json b/test/package.json index bb454ba04c..555bb6c29c 100644 --- a/test/package.json +++ b/test/package.json @@ -5,18 +5,18 @@ "main": "index.js", "dependencies": { "@jc21/cypress-swagger-validation": "^0.3.2", - "@quobix/vacuum": "^0.24.0", - "axios": "^1.13.6", + "@quobix/vacuum": "^0.26.4", + "axios": "^1.16.0", "chalk": "^5.6.2", - "cypress": "^15.11.0", + "cypress": "^15.15.0", "cypress-multi-reporters": "^2.0.5", "cypress-wait-until": "^3.0.2", - "eslint": "^10.0.2", + "eslint": "^10.3.0", "eslint-plugin-align-assignments": "^1.1.2", - "eslint-plugin-chai-friendly": "^1.1.0", - "eslint-plugin-cypress": "^6.1.0", + "eslint-plugin-chai-friendly": "^1.2.0", + "eslint-plugin-cypress": "^6.4.1", "form-data": "^4.0.5", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "mocha": "^11.7.5", "mocha-junit-reporter": "^2.2.1" }, diff --git a/test/yarn.lock b/test/yarn.lock index e1be367b1e..2dd7a9bb47 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -43,10 +43,10 @@ ajv-draft-04 "^1.0.0" call-me-maybe "^1.0.2" -"@cypress/request@^3.0.10": - version "3.0.10" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.10.tgz#e09c695e8460a82acafe6cfaf089cf2ca06dc054" - integrity sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ== +"@cypress/request@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-4.0.0.tgz#2bc3a10a7d50f338dc644dc5fd14a60107c6f3e2" + integrity sha512-wGTQfwDMMMiz/muFw4YbCLwTh0uZsXKK+6zWBzftADpitSi6iM62C8GzEhNcng2srUiGPksOriQkA8zakW2R0g== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -65,7 +65,6 @@ safe-buffer "^5.1.2" tough-cookie "^5.0.0" tunnel-agent "^0.6.0" - uuid "^8.3.2" "@cypress/xvfb@^1.2.4": version "1.2.4" @@ -87,40 +86,40 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== -"@eslint/config-array@^0.23.2": - version "0.23.2" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.23.2.tgz#db85beeff7facc685a5775caacb1c845669b9470" - integrity sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A== +"@eslint/config-array@^0.23.5": + version "0.23.5" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.23.5.tgz#56e86d243049195d8acc0c06a1b3dfdc3fa3de95" + integrity sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA== dependencies: - "@eslint/object-schema" "^3.0.2" + "@eslint/object-schema" "^3.0.5" debug "^4.3.1" - minimatch "^10.2.1" + minimatch "^10.2.4" -"@eslint/config-helpers@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.5.2.tgz#314c7b03d02a371ad8c0a7f6821d5a8a8437ba9d" - integrity sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ== +"@eslint/config-helpers@^0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.5.5.tgz#ae16134e4792ac5fbdc533548a24ac1ea9f7f3ae" + integrity sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w== dependencies: - "@eslint/core" "^1.1.0" + "@eslint/core" "^1.2.1" -"@eslint/core@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-1.1.0.tgz#51f5cd970e216fbdae6721ac84491f57f965836d" - integrity sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw== +"@eslint/core@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-1.2.1.tgz#c1da7cd1b82fa8787f98b5629fb811848a1b63ce" + integrity sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ== dependencies: "@types/json-schema" "^7.0.15" -"@eslint/object-schema@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-3.0.2.tgz#c59c6a94aa4b428ed7f1615b6a4495c0a21f7a22" - integrity sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw== +"@eslint/object-schema@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-3.0.5.tgz#88e9bf4d11d2b19c082e78ebe7ce88724a5eb091" + integrity sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw== -"@eslint/plugin-kit@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.6.0.tgz#e0cb12ec66719cb2211ad36499fb516f2a63899d" - integrity sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ== +"@eslint/plugin-kit@^0.7.1": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz#c4125fd015eceeb09b793109fdbcd4dd0a02d346" + integrity sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ== dependencies: - "@eslint/core" "^1.1.0" + "@eslint/core" "^1.2.1" levn "^0.4.1" "@humanfs/core@^0.19.1": @@ -191,14 +190,14 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@quobix/vacuum@^0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@quobix/vacuum/-/vacuum-0.24.0.tgz#7461d0f745e1a97827fc20b04f8c1701a5f1a0e0" - integrity sha512-Ee7c2XF6FY3bf3BzOCh/Ku2abxMN2iqYADHf933EkgAQ4u3x3eXXvlAa8UQo/lt7ZhWk0HHXQ55hnMhpbJsuPg== +"@quobix/vacuum@^0.26.4": + version "0.26.4" + resolved "https://registry.yarnpkg.com/@quobix/vacuum/-/vacuum-0.26.4.tgz#b3b2af1cf14edffeb9e5fcdb02db8871d92c1b7c" + integrity sha512-jSfJJtN20ypOHHvN6tWPF1j0RkgjebVfHDuF+eiLV/Nt/QwQ1wJpEb4bVVJWh25cK4FiuoW7yNLSDwegQLqETA== dependencies: https-proxy-agent "^7.0.6" node-fetch "^3.3.2" - tar "^7.5.2" + tar "^7.5.13" "@types/esrecurse@^4.3.1": version "4.3.1" @@ -259,14 +258,6 @@ agent-base@^7.1.2: resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - ajv-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" @@ -299,24 +290,19 @@ ajv@^8.0.0, ajv@^8.17.1: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" -ansi-colors@^4.1.1: - 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== - -ansi-escapes@^4.3.0: - 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== +ansi-escapes@^7.0.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.3.0.tgz#5395bb74b2150a4a1d6e3c2565f4aeca78d28627" + integrity sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg== dependencies: - type-fest "^0.21.3" + environment "^1.0.0" ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: +ansi-regex@^6.0.1, ansi-regex@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== @@ -328,7 +314,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^6.1.0: +ansi-styles@^6.1.0, ansi-styles@^6.2.1, ansi-styles@^6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== @@ -355,11 +341,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -380,7 +361,16 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== -axios@^1.13.6, axios@^1.7.7: +axios@^1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.16.0.tgz#f8e5dd931cef2a5f8c32216d5784eda2f8750eb7" + integrity sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w== + dependencies: + follow-redirects "^1.16.0" + form-data "^4.0.5" + proxy-from-env "^2.1.0" + +axios@^1.7.7: version "1.13.6" resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.6.tgz#c3f92da917dc209a15dd29936d20d5089b6b6c98" integrity sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ== @@ -428,10 +418,10 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -brace-expansion@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.2.tgz#b6c16d0791087af6c2bc463f52a8142046c06b6f" - integrity sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== +brace-expansion@^5.0.5: + version "5.0.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.6.tgz#ec68fe0a641a29d8711579caf641d05bae1f2285" + integrity sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g== dependencies: balanced-match "^4.0.2" @@ -453,7 +443,7 @@ buffer@^5.7.1: base64-js "^1.3.1" ieee754 "^1.1.13" -cachedir@^2.3.0: +cachedir@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== @@ -524,17 +514,12 @@ ci-info@^4.1.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.4.0.tgz#7d54eff9f54b45b62401c26032696eb59c8bd18c" integrity sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg== -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== dependencies: - restore-cursor "^3.1.0" + restore-cursor "^5.0.0" cli-table3@0.6.1: version "0.6.1" @@ -545,13 +530,13 @@ cli-table3@0.6.1: optionalDependencies: colors "1.4.0" -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== +cli-truncate@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-5.2.0.tgz#c8e72aaca8339c773d128c36e0a17c6315b694eb" + integrity sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw== dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" + slice-ansi "^8.0.0" + string-width "^8.2.0" cliui@^8.0.1: version "8.0.1" @@ -574,7 +559,7 @@ 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== -colorette@^2.0.16: +colorette@^2.0.20: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -634,12 +619,12 @@ cypress-wait-until@^3.0.2: resolved "https://registry.yarnpkg.com/cypress-wait-until/-/cypress-wait-until-3.0.2.tgz#c90dddfa4c46a2c422f5b91d486531c560bae46e" integrity sha512-iemies796dD5CgjG5kV0MnpEmKSH+s7O83ZoJLVzuVbZmm4lheMsZqAVT73hlMx4QlkwhxbyUzhOBUOZwoOe0w== -cypress@^15.11.0: - version "15.11.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.11.0.tgz#7402d0a2bb4573b6c6655191ad170cff1985ff3f" - integrity sha512-NXDE6/fqZuzh1Zr53nyhCCa4lcANNTYWQNP9fJO+tzD3qVTDaTUni5xXMuigYjMujQ7CRiT9RkJJONmPQSsDFw== +cypress@^15.15.0: + version "15.15.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.15.0.tgz#5f9d9e8304636f7add7cb296130c0262960648bc" + integrity sha512-N8qBv3AUYn6xfIG73O5O58kTClUBSZ7a3C08IQFkSGTUdEauJ3BqwTFb/f9KPZgadftoZjllC0XSwD7xNNolbA== dependencies: - "@cypress/request" "^3.0.10" + "@cypress/request" "^4.0.0" "@cypress/xvfb" "^1.2.4" "@types/sinonjs__fake-timers" "8.1.1" "@types/sizzle" "^2.3.2" @@ -648,25 +633,22 @@ cypress@^15.11.0: blob-util "^2.0.2" bluebird "^3.7.2" buffer "^5.7.1" - cachedir "^2.3.0" + cachedir "^2.4.0" chalk "^4.1.0" ci-info "^4.1.0" - cli-cursor "^3.1.0" cli-table3 "0.6.1" commander "^6.2.1" common-tags "^1.8.0" dayjs "^1.10.4" debug "^4.3.4" - enquirer "^2.3.6" eventemitter2 "6.4.7" execa "4.1.0" executable "^4.1.1" extract-zip "2.0.1" - figures "^3.2.0" fs-extra "^9.1.0" hasha "5.2.2" is-installed-globally "~0.4.0" - listr2 "^3.8.3" + listr2 "^9.0.5" lodash "^4.17.23" log-symbols "^4.0.0" minimist "^1.2.8" @@ -756,6 +738,11 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +emoji-regex@^10.3.0: + version "10.6.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.6.0.tgz#bf3d6e8f7f8fd22a65d9703475bc0147357a6b0d" + integrity sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -773,13 +760,10 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enquirer@^2.3.6: - version "2.4.1" - 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" - strip-ansi "^6.0.1" +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== es-define-property@^1.0.1: version "1.0.1" @@ -813,11 +797,6 @@ escalade@^3.1.1: 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" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - 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" @@ -839,22 +818,22 @@ eslint-plugin-align-assignments@^1.1.2: resolved "https://registry.yarnpkg.com/eslint-plugin-align-assignments/-/eslint-plugin-align-assignments-1.1.2.tgz#83e1a8a826d4adf29e82b52d0bb39c88b301b576" integrity sha512-I1ZJgk9EjHfGVU9M2Ex8UkVkkjLL5Y9BS6VNnQHq79eHj2H4/Cgxf36lQSUTLgm2ntB03A2NtF+zg9fyi5vChg== -eslint-plugin-chai-friendly@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-1.1.0.tgz#e21cbd301ff0d4c1c563d3bbc865e9ac0296fb7c" - integrity sha512-+T1rClpDdXkgBAhC16vRQMI5umiWojVqkj9oUTdpma50+uByCZM/oBfxitZiOkjMRlm725mwFfz/RVgyDRvCKA== +eslint-plugin-chai-friendly@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-1.2.0.tgz#2a54b481bcbc26ab5a581b2b7e7c304465837c15" + integrity sha512-um2pBb4ZXNCoTRPRAWiUaXeIaw1dRaPOEZ+G/qcZqfyTdkCXXwOBctnfnbIRbZiQf4AXl3ImV1grt423SlK+mg== -eslint-plugin-cypress@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-6.1.0.tgz#5619ceb67d09d74cb5225408bb36c962afb94880" - integrity sha512-B8sxtNpINDxFkmsu1qKYjg70VsP8SGneEXgLcZMk1bUZcW08S+JyaiMdof1x6dmt02FgOD7YkT4wOaOD5HotJw== +eslint-plugin-cypress@^6.4.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-6.4.1.tgz#2aa64e5a2dcc56b8b916fdf8398a81b31a61c462" + integrity sha512-8mnfR3q0Lr41Fu9SYZGeZ5nbSBgtS44+bbtSs7k0KvfoQ2pPmK43IvaTP6FGTfwBTN6S7w027CpqjrLAd65AYA== dependencies: - globals "^17.3.0" + globals "^17.6.0" -eslint-scope@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-9.1.1.tgz#f6a209486e38bd28356b5feb07d445cc99c89967" - integrity sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw== +eslint-scope@^9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-9.1.2.tgz#b9de6ace2fab1cff24d2e58d85b74c8fcea39802" + integrity sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ== dependencies: "@types/esrecurse" "^4.3.1" "@types/estree" "^1.0.8" @@ -871,17 +850,17 @@ eslint-visitor-keys@^5.0.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be" integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== -eslint@^10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.0.2.tgz#1009263467591810320f2e1ad52b8a750d1acbab" - integrity sha512-uYixubwmqJZH+KLVYIVKY1JQt7tysXhtj21WSvjcSmU5SVNzMus1bgLe+pAt816yQ8opKfheVVoPLqvVMGejYw== +eslint@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.3.0.tgz#ed5b810eb8e0191bf24bddcf9cdb45b974e0a16d" + integrity sha512-XbEXaRva5cF0ZQB8w6MluHA0kZZfV2DuCMJ3ozyEOHLwDpZX2Lmm/7Pp0xdJmI0GL1W05VH5VwIFHEm1Vcw2gw== dependencies: "@eslint-community/eslint-utils" "^4.8.0" "@eslint-community/regexpp" "^4.12.2" - "@eslint/config-array" "^0.23.2" - "@eslint/config-helpers" "^0.5.2" - "@eslint/core" "^1.1.0" - "@eslint/plugin-kit" "^0.6.0" + "@eslint/config-array" "^0.23.5" + "@eslint/config-helpers" "^0.5.5" + "@eslint/core" "^1.2.1" + "@eslint/plugin-kit" "^0.7.1" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.2" @@ -890,9 +869,9 @@ eslint@^10.0.2: cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^9.1.1" + eslint-scope "^9.1.2" eslint-visitor-keys "^5.0.1" - espree "^11.1.1" + espree "^11.2.0" esquery "^1.7.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -903,14 +882,14 @@ eslint@^10.0.2: imurmurhash "^0.1.4" is-glob "^4.0.0" json-stable-stringify-without-jsonify "^1.0.1" - minimatch "^10.2.1" + minimatch "^10.2.4" natural-compare "^1.4.0" optionator "^0.9.3" -espree@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-11.1.1.tgz#866f6bc9ccccd6f28876b7a6463abb281b9cb847" - integrity sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ== +espree@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-11.2.0.tgz#01d5e47dc332aaba3059008362454a8cc34ccaa5" + integrity sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw== dependencies: acorn "^8.16.0" acorn-jsx "^5.3.2" @@ -955,6 +934,11 @@ eventemitter2@6.4.7: resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== +eventemitter3@^5.0.1: + version "5.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.4.tgz#a86d66170433712dde814707ac52b5271ceb1feb" + integrity sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw== + execa@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" @@ -1038,13 +1022,6 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" @@ -1083,6 +1060,11 @@ follow-redirects@^1.15.11: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== +follow-redirects@^1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" + integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== + foreground-child@^3.1.0: version "3.3.1" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" @@ -1134,6 +1116,11 @@ 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-east-asian-width@^1.0.0, get-east-asian-width@^1.3.1, get-east-asian-width@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz#216900f91df11a8b2c198c3e1d93d6c035a776b9" + integrity sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA== + get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" @@ -1198,10 +1185,10 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" -globals@^17.3.0: - version "17.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-17.3.0.tgz#8b96544c2fa91afada02747cc9731c002a96f3b9" - integrity sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw== +globals@^17.6.0: + version "17.6.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-17.6.0.tgz#0f0be018d5cca8690e6375ead1f65c4bb96191fc" + integrity sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA== gopd@^1.2.0: version "1.2.0" @@ -1287,11 +1274,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - ini@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" @@ -1312,6 +1294,13 @@ is-fullwidth-code-point@^3.0.0: 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-fullwidth-code-point@^5.0.0, is-fullwidth-code-point@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz#046b2a6d4f6b156b2233d3207d4b5a9783999b98" + integrity sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ== + dependencies: + get-east-asian-width "^1.3.1" + is-glob@^4.0.0, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -1456,19 +1445,17 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" +listr2@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-9.0.5.tgz#92df7c4416a6da630eb9ef46da469b70de97b316" + integrity sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g== + dependencies: + cli-truncate "^5.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.1.0" + rfdc "^1.4.1" + wrap-ansi "^9.0.0" locate-path@^6.0.0: version "6.0.0" @@ -1487,6 +1474,11 @@ lodash@^4.17.21, lodash@^4.17.23: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== +lodash@^4.18.1: + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" + integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== + log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -1495,15 +1487,16 @@ log-symbols@^4.0.0, log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== +log-update@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" + integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" + ansi-escapes "^7.0.0" + cli-cursor "^5.0.0" + slice-ansi "^7.1.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" lru-cache@^10.2.0: version "10.4.3" @@ -1546,12 +1539,17 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@^10.2.1: - version "10.2.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.2.tgz#361603ee323cfb83496fea2ae17cc44ea4e1f99f" - integrity sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw== +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== + +minimatch@^10.2.4: + version "10.2.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" + integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== dependencies: - brace-expansion "^5.0.2" + brace-expansion "^5.0.5" minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" @@ -1670,6 +1668,13 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== + dependencies: + mimic-function "^5.0.0" + openapi-types@^12.1.3: version "12.1.3" resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3" @@ -1706,13 +1711,6 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - package-json-from-dist@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" @@ -1781,6 +1779,11 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +proxy-from-env@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== + pump@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" @@ -1830,26 +1833,19 @@ require-from-string@^2.0.2: 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== -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + onetime "^7.0.0" + signal-exit "^4.1.0" -rfdc@^1.3.0: +rfdc@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== -rxjs@^7.5.1: - version "7.8.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" - integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== - dependencies: - tslib "^2.1.0" - safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -1929,28 +1925,26 @@ signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1: +signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== +slice-ansi@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.2.tgz#adf7be70aa6d72162d907cd0e6d5c11f507b5403" + integrity sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w== dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== +slice-ansi@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-8.0.0.tgz#22d0b66d18bc5c57f488bfcf36cbde3bef731537" + integrity sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg== dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" + ansi-styles "^6.2.3" + is-fullwidth-code-point "^5.1.0" source-map@~0.6.1: version "0.6.1" @@ -2006,6 +2000,23 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string-width@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + +string-width@^8.2.0: + version "8.2.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-8.2.1.tgz#165089cfa527cc88fbc23dd73313f5e334af1ea1" + integrity sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA== + dependencies: + get-east-asian-width "^1.5.0" + strip-ansi "^7.1.2" + "strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -2027,6 +2038,13 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" +strip-ansi@^7.1.0, strip-ansi@^7.1.2: + version "7.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" + integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== + dependencies: + ansi-regex "^6.2.2" + 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" @@ -2056,10 +2074,10 @@ systeminformation@^5.31.1: resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.1.tgz#5f88aa1db7470af87b6288baf1738603cafd1c4a" integrity sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA== -tar@^7.5.2: - version "7.5.9" - resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.9.tgz#817ac12a54bc4362c51340875b8985d7dc9724b8" - integrity sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg== +tar@^7.5.13: + version "7.5.15" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.15.tgz#afe6d1316cddf614a566e3813e42fe01aed46fee" + integrity sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ== dependencies: "@isaacs/fs-minipass" "^4.0.0" chownr "^3.0.0" @@ -2072,11 +2090,6 @@ throttleit@^1.0.0: resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - tldts-core@^6.1.86: version "6.1.86" resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.86.tgz#a93e6ed9d505cb54c542ce43feb14c73913265d8" @@ -2111,11 +2124,6 @@ tslib@1.14.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -2135,11 +2143,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -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.8.0: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -2172,11 +2175,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -2217,15 +2215,6 @@ workerpool@^9.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -2244,6 +2233,15 @@ wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" +wrap-ansi@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.2.tgz#956832dea9494306e6d209eb871643bb873d7c98" + integrity sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" From c17475968f8a8c659b504a1a1b0f7df7be9f8341 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 13 May 2026 13:35:19 +1000 Subject: [PATCH 064/113] Fix frontend linting --- frontend/src/components/Table/Formatter/DomainsFormatter.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/components/Table/Formatter/DomainsFormatter.tsx b/frontend/src/components/Table/Formatter/DomainsFormatter.tsx index 35e8393e39..3ccc4d804a 100644 --- a/frontend/src/components/Table/Formatter/DomainsFormatter.tsx +++ b/frontend/src/components/Table/Formatter/DomainsFormatter.tsx @@ -26,6 +26,7 @@ const DomainLink = ({ domain, color }: { domain?: string; color?: string }) => { key={domain} href={`http://${domain}`} target="_blank" + rel="noopener" onClick={onClick} className={cn("badge", color ? `bg-${color}-lt` : null, "domain-name", "me-2")} > From 7d58c579fa163e047467ccc7430ba0c8a2f9b0da Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 13 May 2026 13:40:06 +1000 Subject: [PATCH 065/113] Fix backend linting --- backend/internal/access-list.js | 4 ++-- backend/internal/certificate.js | 8 ++++---- backend/internal/dead-host.js | 8 ++++---- backend/internal/proxy-host.js | 8 ++++---- backend/internal/redirection-host.js | 8 ++++---- backend/internal/stream.js | 8 ++++---- backend/internal/user.js | 2 +- .../migrations/20260131163528_trust_forwarded_proto.js | 4 ++-- 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/backend/internal/access-list.js b/backend/internal/access-list.js index 60a7105dbe..d82e60346e 100644 --- a/backend/internal/access-list.js +++ b/backend/internal/access-list.js @@ -241,7 +241,7 @@ const internalAccessList = { let row = await query.then(utils.omitRow(omissions())); - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(thisData.id); } if (!skipMasking && typeof row.items !== "undefined" && row.items) { @@ -268,7 +268,7 @@ const internalAccessList = { expand: ["proxy_hosts", "items", "clients"], }); - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js index 499e146354..59c13bf694 100644 --- a/backend/internal/certificate.js +++ b/backend/internal/certificate.js @@ -66,7 +66,7 @@ const internalCertificate = { .andWhere("provider", "letsencrypt") .andWhere("expires_on", "<", expirationThreshold) .then((certificates) => { - if (!certificates || !certificates.length) { + if (!certificates?.length) { return null; } @@ -143,7 +143,7 @@ const internalCertificate = { await internalCertificate.disableInUseHosts(inUseResult); const user = await userModel.query().where("is_deleted", 0).andWhere("id", data.owner_user_id).first(); - if (!user || !user.email) { + if (!user?.email) { throw new error.ValidationError( "A valid email address must be set on your user account to use Let's Encrypt", ); @@ -305,7 +305,7 @@ const internalCertificate = { } const row = await query.then(utils.omitRow(omissions())); - if (!row || !row.id) { + if (!row?.id) { throw new error.ItemNotFoundError(data.id); } // Custom omissions @@ -397,7 +397,7 @@ const internalCertificate = { await access.can("certificates:delete", data.id); const row = await internalCertificate.get(access, { id: data.id }); - if (!row || !row.id) { + if (!row?.id) { throw new error.ItemNotFoundError(data.id); } diff --git a/backend/internal/dead-host.js b/backend/internal/dead-host.js index 34c94fda97..ee27e53cc5 100644 --- a/backend/internal/dead-host.js +++ b/backend/internal/dead-host.js @@ -206,7 +206,7 @@ const internalDeadHost = { } const row = await query.then(utils.omitRow(omissions())); - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } // Custom omissions @@ -226,7 +226,7 @@ const internalDeadHost = { delete: async (access, data) => { await access.can("dead_hosts:delete", data.id) const row = await internalDeadHost.get(access, { id: data.id }); - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } @@ -264,7 +264,7 @@ const internalDeadHost = { id: data.id, expand: ["certificate", "owner"], }); - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (row.enabled) { @@ -303,7 +303,7 @@ const internalDeadHost = { disable: async (access, data) => { await access.can("dead_hosts:update", data.id) const row = await internalDeadHost.get(access, { id: data.id }); - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (!row.enabled) { diff --git a/backend/internal/proxy-host.js b/backend/internal/proxy-host.js index 34475c99f7..2c159d48ad 100644 --- a/backend/internal/proxy-host.js +++ b/backend/internal/proxy-host.js @@ -253,7 +253,7 @@ const internalProxyHost = { return query.then(utils.omitRow(omissions())); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(thisData.id); } const thisRow = internalHost.cleanRowCertificateMeta(row); @@ -279,7 +279,7 @@ const internalProxyHost = { return internalProxyHost.get(access, { id: data.id }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } @@ -327,7 +327,7 @@ const internalProxyHost = { }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (row.enabled) { @@ -375,7 +375,7 @@ const internalProxyHost = { return internalProxyHost.get(access, { id: data.id }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (!row.enabled) { diff --git a/backend/internal/redirection-host.js b/backend/internal/redirection-host.js index 5237859cfd..542439fd36 100644 --- a/backend/internal/redirection-host.js +++ b/backend/internal/redirection-host.js @@ -251,7 +251,7 @@ const internalRedirectionHost = { }) .then((row) => { let thisRow = row; - if (!thisRow || !thisRow.id) { + if (!thisRow?.id) { throw new errs.ItemNotFoundError(thisData.id); } thisRow = internalHost.cleanRowCertificateMeta(thisRow); @@ -277,7 +277,7 @@ const internalRedirectionHost = { return internalRedirectionHost.get(access, { id: data.id }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } @@ -325,7 +325,7 @@ const internalRedirectionHost = { }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (row.enabled) { @@ -373,7 +373,7 @@ const internalRedirectionHost = { return internalRedirectionHost.get(access, { id: data.id }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (!row.enabled) { diff --git a/backend/internal/stream.js b/backend/internal/stream.js index 909c92f842..a68e09e02b 100644 --- a/backend/internal/stream.js +++ b/backend/internal/stream.js @@ -200,7 +200,7 @@ const internalStream = { }) .then((row) => { let thisRow = row; - if (!thisRow || !thisRow.id) { + if (!thisRow?.id) { throw new errs.ItemNotFoundError(thisData.id); } thisRow = internalHost.cleanRowCertificateMeta(thisRow); @@ -226,7 +226,7 @@ const internalStream = { return internalStream.get(access, { id: data.id }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } @@ -274,7 +274,7 @@ const internalStream = { }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (row.enabled) { @@ -322,7 +322,7 @@ const internalStream = { return internalStream.get(access, { id: data.id }); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(data.id); } if (!row.enabled) { diff --git a/backend/internal/user.js b/backend/internal/user.js index d13931d54a..176e34902d 100644 --- a/backend/internal/user.js +++ b/backend/internal/user.js @@ -171,7 +171,7 @@ const internalUser = { return query.then(utils.omitRow(omissions())); }) .then((row) => { - if (!row || !row.id) { + if (!row?.id) { throw new errs.ItemNotFoundError(thisData.id); } // Custom omissions diff --git a/backend/migrations/20260131163528_trust_forwarded_proto.js b/backend/migrations/20260131163528_trust_forwarded_proto.js index 546cbca674..c32c6fb697 100644 --- a/backend/migrations/20260131163528_trust_forwarded_proto.js +++ b/backend/migrations/20260131163528_trust_forwarded_proto.js @@ -10,7 +10,7 @@ const migrateName = "trust_forwarded_proto"; * @param {Object} knex * @returns {Promise} */ -const up = function (knex) { +const up = (knex) => { logger.info(`[${migrateName}] Migrating Up...`); return knex.schema @@ -28,7 +28,7 @@ const up = function (knex) { * @param {Object} knex * @returns {Promise} */ -const down = function (knex) { +const down = (knex) => { logger.info(`[${migrateName}] Migrating Down...`); return knex.schema From 04b43d072c3ecfb7335e2760f9a565a3838a12a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:47:12 +0000 Subject: [PATCH 066/113] Bump fast-uri from 3.1.0 to 3.1.2 in /test Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2. - [Release notes](https://github.com/fastify/fast-uri/releases) - [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2) --- updated-dependencies: - dependency-name: fast-uri dependency-version: 3.1.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 2dd7a9bb47..65fa15d6a5 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -1003,9 +1003,9 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" - integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec" + integrity sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ== fd-slicer@~1.1.0: version "1.1.0" From 41c32ebf0a176aac5005f4f29b44005c5696d214 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:47:12 +0000 Subject: [PATCH 067/113] Bump fast-uri from 3.1.0 to 3.1.2 in /backend Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2. - [Release notes](https://github.com/fastify/fast-uri/releases) - [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2) --- updated-dependencies: - dependency-name: fast-uri dependency-version: 3.1.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index c1f18e64b0..3ddbd17dcb 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -885,9 +885,9 @@ fast-fifo@^1.2.0, fast-fifo@^1.3.2: integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== fast-uri@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" - integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec" + integrity sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ== fdir@^6.5.0: version "6.5.0" From dc84b4b94bc5cedb6149f7b75875ed54b6d190cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:47:17 +0000 Subject: [PATCH 068/113] Bump ip-address from 10.1.0 to 10.2.0 in /backend Bumps [ip-address](https://github.com/beaugunderson/ip-address) from 10.1.0 to 10.2.0. - [Commits](https://github.com/beaugunderson/ip-address/commits) --- updated-dependencies: - dependency-name: ip-address dependency-version: 10.2.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index c1f18e64b0..ac7003b1d5 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -1134,9 +1134,9 @@ interpret@^2.2.0: integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== ip-address@^10.0.1: - version "10.1.0" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.1.0.tgz#d8dcffb34d0e02eb241427444a6e23f5b0595aa4" - integrity sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q== + version "10.2.0" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.2.0.tgz#805fc178b20c518bd4c8548b24fe30892d7f3206" + integrity sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA== ipaddr.js@1.9.1: version "1.9.1" From 738afde96e5c36c19dbab6401597947235bfd3c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:47:36 +0000 Subject: [PATCH 069/113] Bump lodash from 4.17.23 to 4.18.1 in /frontend Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.18.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 985ab9ae1f..c37ce00340 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1625,9 +1625,9 @@ lodash.debounce@^4.0.8: integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash@^4.17.21: - version "4.17.23" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" - integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" + integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== longest-streak@^3.0.0: version "3.1.0" From 6537fb248eb81cc05d953ac047093a44651ae505 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:48:35 +0000 Subject: [PATCH 070/113] Bump lodash-es from 4.17.23 to 4.18.1 in /frontend Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1) --- updated-dependencies: - dependency-name: lodash-es dependency-version: 4.18.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 985ab9ae1f..8290e929ef 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1615,9 +1615,9 @@ lines-and-columns@^1.1.6: integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lodash-es@^4.17.21: - version "4.17.23" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.23.tgz#58c4360fd1b5d33afc6c0bbd3d1149349b1138e0" - integrity sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg== + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.18.1.tgz#b962eeb80d9d983a900bf342961fb7418ca10b1d" + integrity sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A== lodash.debounce@^4.0.8: version "4.0.8" From 8b24059e3baee53d4118348fb3ce3a52062eff6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:49:03 +0000 Subject: [PATCH 071/113] Bump path-to-regexp from 8.3.0 to 8.4.2 in /backend Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 8.3.0 to 8.4.2. - [Release notes](https://github.com/pillarjs/path-to-regexp/releases) - [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md) - [Commits](https://github.com/pillarjs/path-to-regexp/compare/v8.3.0...v8.4.2) --- updated-dependencies: - dependency-name: path-to-regexp dependency-version: 8.4.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index c1f18e64b0..33bc2cfda0 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -1709,9 +1709,9 @@ path-parse@^1.0.7: integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@^8.0.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.3.0.tgz#aa818a6981f99321003a08987d3cec9c3474cd1f" - integrity sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA== + version "8.4.2" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.4.2.tgz#795c420c4f7ca45c5b887366f622ee0c9852cccd" + integrity sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA== path@^0.12.7: version "0.12.7" From dad08083c64fc15a3d4938d77a3b8416fa42991b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:49:09 +0000 Subject: [PATCH 072/113] Bump picomatch from 4.0.3 to 4.0.4 in /frontend Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4. - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4) --- updated-dependencies: - dependency-name: picomatch dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/yarn.lock | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 985ab9ae1f..5045cb83e8 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -2067,12 +2067,7 @@ picocolors@1.1.1, picocolors@^1.1.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" - integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== - -picomatch@^4.0.4: +picomatch@^4.0.3, picomatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== From 6ed6210a7b070c825ecfdf5e6abc0f9cf68cfd23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:49:18 +0000 Subject: [PATCH 073/113] Bump picomatch from 2.3.1 to 2.3.2 in /backend Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2. - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2) --- updated-dependencies: - dependency-name: picomatch dependency-version: 2.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index c1f18e64b0..dbdc687588 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -1783,9 +1783,9 @@ pgpass@1.0.5: split2 "^4.1.0" picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + version "2.3.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== picomatch@^4.0.4: version "4.0.4" From f06c53330afe12c3be887ff6a3ad7c97608138de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:49:25 +0000 Subject: [PATCH 074/113] Bump yaml from 1.10.2 to 1.10.3 in /frontend Bumps [yaml](https://github.com/eemeli/yaml) from 1.10.2 to 1.10.3. - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](https://github.com/eemeli/yaml/compare/v1.10.2...v1.10.3) --- updated-dependencies: - dependency-name: yaml dependency-version: 1.10.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 985ab9ae1f..31caf9fddf 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -2807,9 +2807,9 @@ ws@^8.18.3: integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + version "1.10.3" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.3.tgz#76e407ed95c42684fb8e14641e5de62fe65bbcb3" + integrity sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA== zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" From 2fe460557a32ef174878a55043b934d50d1deac7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 03:49:31 +0000 Subject: [PATCH 075/113] Bump flatted from 3.3.3 to 3.4.2 in /test Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2. - [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2) --- updated-dependencies: - dependency-name: flatted dependency-version: 3.4.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 2dd7a9bb47..a2679a9c13 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -1051,9 +1051,9 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: - version "3.3.3" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" - integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== + version "3.4.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" + integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== follow-redirects@^1.15.11: version "1.15.11" From e49af3cc872f39fc37d2240fc10b5681888d4eb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 04:12:48 +0000 Subject: [PATCH 076/113] Bump postcss from 8.4.47 to 8.5.14 in /docs Bumps [postcss](https://github.com/postcss/postcss) from 8.4.47 to 8.5.14. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.47...8.5.14) --- updated-dependencies: - dependency-name: postcss dependency-version: 8.5.14 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- docs/yarn.lock | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 78a286abc2..c756948271 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -957,11 +957,6 @@ nanoid@^3.3.11: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== -nanoid@^3.3.7: - version "3.3.8" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" - integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== - oniguruma-to-es@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz#480e4bac4d3bc9439ac0d2124f0725e7a0d76d17" @@ -976,29 +971,15 @@ perfect-debounce@^1.0.0: resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== -picocolors@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== - picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -postcss@^8.4.43: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== - dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" - source-map-js "^1.2.1" - -postcss@^8.5.6: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== +postcss@^8.4.43, postcss@^8.5.6: + version "8.5.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.14.tgz#a66c2d7808fadf69ebb5b84a03f8bafd76c4919c" + integrity sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg== dependencies: nanoid "^3.3.11" picocolors "^1.1.1" From 7bb34a72735ba10de63914bd88ee472e43188fcf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 07:31:29 +0000 Subject: [PATCH 077/113] Bump axios from 1.13.6 to 1.16.0 in /test Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.16.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.16.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.16.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index a2679a9c13..47d33d195e 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -361,7 +361,7 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== -axios@^1.16.0: +axios@^1.16.0, axios@^1.7.7: version "1.16.0" resolved "https://registry.yarnpkg.com/axios/-/axios-1.16.0.tgz#f8e5dd931cef2a5f8c32216d5784eda2f8750eb7" integrity sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w== @@ -370,15 +370,6 @@ axios@^1.16.0: form-data "^4.0.5" proxy-from-env "^2.1.0" -axios@^1.7.7: - version "1.13.6" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.6.tgz#c3f92da917dc209a15dd29936d20d5089b6b6c98" - integrity sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ== - dependencies: - follow-redirects "^1.15.11" - form-data "^4.0.5" - proxy-from-env "^1.1.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1055,11 +1046,6 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== -follow-redirects@^1.15.11: - version "1.15.11" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" - integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== - follow-redirects@^1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" @@ -1774,11 +1760,6 @@ proxy-from-env@1.0.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - proxy-from-env@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" From 5dbfd63477e1cba85cbb7359a6576611b40bda2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 16:04:32 +0000 Subject: [PATCH 078/113] Bump systeminformation from 5.31.1 to 5.31.6 in /test Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 5.31.1 to 5.31.6. - [Release notes](https://github.com/sebhildebrandt/systeminformation/releases) - [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md) - [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v5.31.1...v5.31.6) --- updated-dependencies: - dependency-name: systeminformation dependency-version: 5.31.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 9a11ffe15e..57e4b47328 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -2051,9 +2051,9 @@ supports-color@^8.1.1: has-flag "^4.0.0" systeminformation@^5.31.1: - version "5.31.1" - resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.1.tgz#5f88aa1db7470af87b6288baf1738603cafd1c4a" - integrity sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA== + version "5.31.6" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.6.tgz#2da4979a7262974fd068a3a306ded30aed6127c0" + integrity sha512-Uv2b2uGGM6ns+26czgW2cYRabYdnswM0ddSOOlryHOaelzsmDSet1iM/NT7VOYxW8x/BW+HkY+b1Ve2pLTSGSA== tar@^7.5.13: version "7.5.15" From 982c16a86d7132a4531b7c7a96daf9f9b6abe99e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 20:13:44 +0000 Subject: [PATCH 079/113] Bump minimatch from 10.2.2 to 10.2.5 in /backend Bumps [minimatch](https://github.com/isaacs/minimatch) from 10.2.2 to 10.2.5. - [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md) - [Commits](https://github.com/isaacs/minimatch/compare/v10.2.2...v10.2.5) --- updated-dependencies: - dependency-name: minimatch dependency-version: 10.2.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/yarn.lock | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index b4097ffba8..c1de2bee86 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -375,13 +375,6 @@ body-parser@^2.2.1, body-parser@^2.2.2: raw-body "^3.0.1" type-is "^2.0.1" -brace-expansion@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.2.tgz#b6c16d0791087af6c2bc463f52a8142046c06b6f" - integrity sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== - dependencies: - balanced-match "^4.0.2" - brace-expansion@^5.0.5: version "5.0.6" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.6.tgz#ec68fe0a641a29d8711579caf641d05bae1f2285" @@ -1405,14 +1398,7 @@ mimic-response@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== -minimatch@^10.2.1: - version "10.2.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.2.tgz#361603ee323cfb83496fea2ae17cc44ea4e1f99f" - integrity sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw== - dependencies: - brace-expansion "^5.0.2" - -minimatch@^10.2.2: +minimatch@^10.2.1, minimatch@^10.2.2: version "10.2.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== From edb56c285fe032ebeb3294a6c946930ac24fd1d7 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 14 May 2026 08:33:00 +1000 Subject: [PATCH 080/113] Add pull request template, too many PR's don't have descriptions --- .github/PULL_REQUEST_TEMPLATE.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..c503bf16e9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,17 @@ + + +## Why + + + +## Type of Change + + + +- [ ] Bug fix (non-breaking change that fixes an issue) +- [ ] New feature (non-breaking change that adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to change) +- [ ] Documentation update +- [ ] Code refactoring +- [ ] Performance improvement +- [ ] Test addition or update From 5fafeff7c0d5fa90b081b246e119d086414ac4db Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 14 May 2026 08:35:04 +1000 Subject: [PATCH 081/113] Update pull request template to include api --- .github/PULL_REQUEST_TEMPLATE.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c503bf16e9..9d3fd48821 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,14 +4,19 @@ + + ## Type of Change - + - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring +- [ ] API changes - [ ] Performance improvement - [ ] Test addition or update + From 673082ab5b2cb2418980bc0c5a67e5aa38d33a73 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 14 May 2026 10:03:03 +1000 Subject: [PATCH 082/113] Update pull request template to include AI --- .github/PULL_REQUEST_TEMPLATE.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 9d3fd48821..e463486410 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -20,3 +20,10 @@ you change will break API for existing users --> - [ ] Performance improvement - [ ] Test addition or update +## AI Usage + + + +- [ ] AI was used to write this +- [ ] AI was used to review this + From 31500c225d6b940e5ada72b7549b73d14df926b0 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 14 May 2026 10:32:20 +1000 Subject: [PATCH 083/113] Update pull request template to include duplicate warning --- .github/PULL_REQUEST_TEMPLATE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e463486410..f3fddbc0ce 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,7 @@ + + ## Why From 0242187db0ca1dc9ecfe647208d8b991e8cc68dc Mon Sep 17 00:00:00 2001 From: jc21 Date: Thu, 14 May 2026 14:16:00 +1000 Subject: [PATCH 084/113] Add message for available update in French locale --- frontend/src/locale/src/fr.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/locale/src/fr.json b/frontend/src/locale/src/fr.json index f37561276c..5a2d86a5b0 100644 --- a/frontend/src/locale/src/fr.json +++ b/frontend/src/locale/src/fr.json @@ -605,6 +605,9 @@ "test": { "defaultMessage": "Test" }, + "update-available": { + "defaultMessage": "Mise à jour disponible : {latestVersion}" + }, "user": { "defaultMessage": "Utilisateur" }, From 52c32b473d32ac4951ce5c2d2b3ee0de38966f2c Mon Sep 17 00:00:00 2001 From: Matthew Kilpatrick <16194494+Matthew-Kilpatrick@users.noreply.github.com> Date: Fri, 15 May 2026 18:55:46 +0000 Subject: [PATCH 085/113] fix: omit "Access rules" directives if no rules configured When an access list was associated with a template which had users (items) but no rules (clients), a `deny all` directive was inserted to the config. This resulted in all requests, including those with valid credentials, being rejected due to the lack of any `allow` directive. This commit wraps the access rule configuration inside of an if block, so the `deny all;` directive is only present when at least one rule is configured. --- backend/templates/_access.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/templates/_access.conf b/backend/templates/_access.conf index 4f38854513..81983f3a3c 100644 --- a/backend/templates/_access.conf +++ b/backend/templates/_access.conf @@ -10,11 +10,13 @@ {% endif %} + {% if access_list.clients.length > 0 %} # Access Rules: {{ access_list.clients | size }} total {% for client in access_list.clients %} {{client | nginxAccessRule}} {% endfor %} deny all; + {% endif %} # Access checks must... {% if access_list.satisfy_any == 1 or access_list.satisfy_any == true %} From 6008a666dd884b66779031c28d446d9dc4962d3d Mon Sep 17 00:00:00 2001 From: DOLBAEB Date: Sat, 16 May 2026 14:18:48 +0200 Subject: [PATCH 086/113] Adds host info to proxy host delete confirmation modal --- .../pages/Nginx/ProxyHosts/TableWrapper.tsx | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/frontend/src/pages/Nginx/ProxyHosts/TableWrapper.tsx b/frontend/src/pages/Nginx/ProxyHosts/TableWrapper.tsx index 68af43e10a..5d6602e2db 100644 --- a/frontend/src/pages/Nginx/ProxyHosts/TableWrapper.tsx +++ b/frontend/src/pages/Nginx/ProxyHosts/TableWrapper.tsx @@ -99,14 +99,27 @@ export default function TableWrapper() { isFiltered={!!search} isFetching={isFetching} onEdit={(id: number) => showProxyHostModal(id)} - onDelete={(id: number) => + onDelete={(id: number) => { + const host = data?.find((h) => h.id === id); showDeleteConfirmModal({ title: , onConfirm: () => handleDelete(id), invalidations: [["proxy-hosts"], ["proxy-host", id]], - children: , - }) - } + children: ( + <> + + {host?.domainNames?.length ? ( +
{host.domainNames.join(", ")}
+ ) : null} + {host?.forwardHost ? ( +
+ ({host.forwardScheme}://{host.forwardHost}:{host.forwardPort}) +
+ ) : null} + + ), + }); + }} onDisableToggle={handleDisableToggle} onNew={() => showProxyHostModal("new")} /> From 387f8d942445b0fa812975081904dc18333b32fb Mon Sep 17 00:00:00 2001 From: Daan Selen Date: Sun, 17 May 2026 20:23:22 +0200 Subject: [PATCH 087/113] cherry-pick requested changes --- backend/certbot/dns-plugins.json | 4 ++-- docker/Dockerfile | 3 ++- frontend/src/components/SiteFooter.tsx | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index 4cf2c87840..6cc7ef01c3 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -232,12 +232,12 @@ "version": "~=0.1.0" }, "eurodns": { - "credentials": "dns_eurodns_applicationId = myuser\ndns_eurodns_apiKey = mysecretpassword\ndns_eurodns_endpoint = https://rest-api.eurodns.com/user-api-gateway/proxy", + "credentials": "dns_eurodns_applicationId = myuser\ndns_eurodns_apiKey = mysecretpassword\ndns_eurodns_endpoint = https://rest-api.eurodns.com/dns-zones/", "dependencies": "", "full_plugin_name": "dns-eurodns", "name": "EuroDNS", "package_name": "certbot-dns-eurodns", - "version": "~=0.0.4" + "version": "~=1.8.2" }, "firstdomains": { "credentials": "dns_firstdomains_username = myremoteuser\ndns_firstdomains_password = verysecureremoteuserpassword", diff --git a/docker/Dockerfile b/docker/Dockerfile index 88ce95ed1b..f0f9a27d80 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -3,8 +3,9 @@ # This file assumes that the frontend has been built using ./scripts/frontend-build +ARG BASE_IMAGE=nginxproxymanager/nginx-full:certbot-node FROM nginxproxymanager/testca AS testca -FROM nginxproxymanager/nginx-full:certbot-node +FROM $BASE_IMAGE ARG TARGETPLATFORM ARG BUILD_VERSION diff --git a/frontend/src/components/SiteFooter.tsx b/frontend/src/components/SiteFooter.tsx index 57bb21946b..df903a6099 100644 --- a/frontend/src/components/SiteFooter.tsx +++ b/frontend/src/components/SiteFooter.tsx @@ -34,7 +34,7 @@ export function SiteFooter() {
  • - © 2025{" "} + © 2026{" "} jc21.com From ef0ec0b188c31699fd86aae0975b170a0d0dc5bc Mon Sep 17 00:00:00 2001 From: Reinaldo Ferro Date: Sun, 17 May 2026 22:16:48 +0200 Subject: [PATCH 088/113] Add Hostinger DNS plugin configuration --- backend/certbot/dns-plugins.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index 0588f98512..7f474512da 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -335,6 +335,14 @@ "package_name": "certbot-dns-hetzner-cloud", "version": "~=1.0.4" }, + "hostinger": { + "credentials": "dns_hostinger_api_token = 0123456789abcdef0123456789abcdef", + "dependencies": "", + "full_plugin_name": "dns-hostinger", + "name": "Hostinger.com", + "package_name": "certbot-dns-hostinger", + "version": "~=0.1.5" + }, "hostingnl": { "credentials": "dns_hostingnl_api_key = 0123456789abcdef0123456789abcdef", "dependencies": "", From 1e22574000d8893e66066ac689d8d8d8c444547d Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 18 May 2026 15:04:27 +1000 Subject: [PATCH 089/113] Fix nulls showing in certificate rows --- backend/models/certificate.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/backend/models/certificate.js b/backend/models/certificate.js index ad6e0a65fe..857c067e41 100644 --- a/backend/models/certificate.js +++ b/backend/models/certificate.js @@ -15,6 +15,16 @@ Model.knex(db()); const boolFields = ["is_deleted"]; +const cleanDomainNames = (domainNames) => { + // Sort domain_names + if (typeof domainNames !== "undefined") { + const newDomainNames = domainNames.filter((name) => name !== null); + newDomainNames.sort(); + return newDomainNames; + } + return []; +}; + class Certificate extends Model { $beforeInsert() { this.created_on = now(); @@ -26,25 +36,17 @@ class Certificate extends Model { } // Default for domain_names - if (typeof this.domain_names === "undefined") { - this.domain_names = []; - } + this.domain_names = cleanDomainNames(this.domain_names); // Default for meta if (typeof this.meta === "undefined") { this.meta = {}; } - - this.domain_names.sort(); } $beforeUpdate() { this.modified_on = now(); - - // Sort domain_names - if (typeof this.domain_names !== "undefined") { - this.domain_names.sort(); - } + this.domain_names = cleanDomainNames(this.domain_names); } $parseDatabaseJson(json) { From 84886383a7c0f2b45b197b5fb78df321f445d4ff Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 18 May 2026 15:21:55 +1000 Subject: [PATCH 090/113] Fix certificates getting null domain names whgen no cn exists --- backend/internal/certificate.js | 2 +- backend/models/certificate.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js index 59c13bf694..e37100e62a 100644 --- a/backend/internal/certificate.js +++ b/backend/internal/certificate.js @@ -614,7 +614,7 @@ const internalCertificate = { const certificate = await internalCertificate.update(access, { id: data.id, expires_on: moment(validations.certificate.dates.to, "X").format("YYYY-MM-DD HH:mm:ss"), - domain_names: [validations.certificate.cn], + domain_names: validations.certificate.cn ? [validations.certificate.cn] : [], meta: _.clone(row.meta), // Prevent the update method from changing this value that we'll use later }); diff --git a/backend/models/certificate.js b/backend/models/certificate.js index 857c067e41..9a349f3093 100644 --- a/backend/models/certificate.js +++ b/backend/models/certificate.js @@ -18,7 +18,7 @@ const boolFields = ["is_deleted"]; const cleanDomainNames = (domainNames) => { // Sort domain_names if (typeof domainNames !== "undefined") { - const newDomainNames = domainNames.filter((name) => name !== null); + const newDomainNames = domainNames.filter((name) => name != null); newDomainNames.sort(); return newDomainNames; } From 7330d0441c68ce60f51bab31d188d5801dc2a1df Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 18 May 2026 15:34:29 +1000 Subject: [PATCH 091/113] Loose validation on certificate domain names --- backend/schema/common.json | 6 ++---- backend/schema/components/certificate-object.json | 10 +--------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/backend/schema/common.json b/backend/schema/common.json index 00b06e005f..e56c9f70a0 100644 --- a/backend/schema/common.json +++ b/backend/schema/common.json @@ -77,14 +77,12 @@ "example": 3 }, "domain_names": { - "description": "Domain Names separated by a comma", + "description": "Domain Names array", "type": "array", - "minItems": 1, - "maxItems": 100, "uniqueItems": true, "items": { "type": "string", - "pattern": "^[^&| @!#%^();:/\\\\}{=+?<>,~`'\"]+$" + "minLength": 1 }, "example": ["example.com", "www.example.com"] }, diff --git a/backend/schema/components/certificate-object.json b/backend/schema/components/certificate-object.json index 80cd92befe..4ef666b44a 100644 --- a/backend/schema/components/certificate-object.json +++ b/backend/schema/components/certificate-object.json @@ -25,15 +25,7 @@ "example": "My Custom Cert" }, "domain_names": { - "description": "Domain Names separated by a comma", - "type": "array", - "maxItems": 100, - "uniqueItems": true, - "items": { - "type": "string", - "pattern": "^[^&| @!#%^();:/\\\\}{=+?<>,~`'\"]+$" - }, - "example": ["example.com", "www.example.com"] + "$ref": "../common.json#/properties/domain_names" }, "expires_on": { "description": "Date and time of expiration", From 2bf9e9b21355b23cd5d89bfdb487e7bc02e457e0 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 18 May 2026 15:52:52 +1000 Subject: [PATCH 092/113] Support different cert info output in new version of debian --- backend/internal/certificate.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js index e37100e62a..a93bf85756 100644 --- a/backend/internal/certificate.js +++ b/backend/internal/certificate.js @@ -686,10 +686,18 @@ const internalCertificate = { // Examples: // subject=CN = *.jc21.com // subject=CN = something.example.com + // CN=something.example.com const regex = /(?:subject=)?[^=]+=\s+(\S+)/gim; const match = regex.exec(result); if (match && typeof match[1] !== "undefined") { certData.cn = match[1]; + } else { + // CN is likely formatted differently + const regex11 = /CN=(\S+)/gim; + const match11 = regex11.exec(result); + if (match11 && typeof match11[1] !== "undefined") { + certData.cn = match11[1]; + } } const result2 = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-issuer", "-noout"]); From 8b256c33e9131d7d6d4c1f8cec32560217306599 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 18 May 2026 15:55:54 +1000 Subject: [PATCH 093/113] Sorted fr locale --- frontend/src/locale/src/fr.json | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/frontend/src/locale/src/fr.json b/frontend/src/locale/src/fr.json index cdceb79dd2..0911eedc39 100644 --- a/frontend/src/locale/src/fr.json +++ b/frontend/src/locale/src/fr.json @@ -231,7 +231,7 @@ "defaultMessage": "Type de clé" }, "certificates.key-type-description": { - "defaultMessage": "RSA est largement compatible, ECDSA est plus rapide et plus sécurisé mais peut ne pas être pris en charge par les anciens systèmes" + "defaultMessage": "RSA est largement répandu, ECDSA est plus rapide et plus sécurisé, mais peut ne pas être supporté par les systèmes plus anciens" }, "certificates.key-type-ecdsa": { "defaultMessage": "ECDSA 256" @@ -245,18 +245,6 @@ "certificates.request.title": { "defaultMessage": "Demander un nouveau certificat" }, - "certificates.key-type": { - "defaultMessage": "Type de clé" - }, - "certificates.key-type-description": { - "defaultMessage": "RSA est largement répandu, ECDSA est plus rapide et plus sécurisé, mais peut ne pas être supporté par les systèmes plus anciens" - }, - "certificates.key-type-ecdsa": { - "defaultMessage": "ECDSA 256" - }, - "certificates.key-type-rsa": { - "defaultMessage": "RSA 2048" - }, "column.access": { "defaultMessage": "Accès" }, From 586dfd36a93150a65ace3b8596c11ecad3196ece Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 18 May 2026 16:12:02 +1000 Subject: [PATCH 094/113] Fix openssl3 formatting of subject cn --- backend/internal/certificate.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js index a93bf85756..82a47b926f 100644 --- a/backend/internal/certificate.js +++ b/backend/internal/certificate.js @@ -683,21 +683,15 @@ const internalCertificate = { try { const result = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-subject", "-noout"]); + console.log("openssl result: ", result); // Examples: // subject=CN = *.jc21.com // subject=CN = something.example.com - // CN=something.example.com - const regex = /(?:subject=)?[^=]+=\s+(\S+)/gim; + // subject=CN=*.jc21.com + const regex = /(?:subject=)?[^=]+=\s*(\S+)/gim; const match = regex.exec(result); if (match && typeof match[1] !== "undefined") { - certData.cn = match[1]; - } else { - // CN is likely formatted differently - const regex11 = /CN=(\S+)/gim; - const match11 = regex11.exec(result); - if (match11 && typeof match11[1] !== "undefined") { - certData.cn = match11[1]; - } + certData.cn = match[1].trim(); } const result2 = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-issuer", "-noout"]); From ee1f7ba551c245db25b35dc354f18f948e9629ca Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 18 May 2026 16:55:41 +1000 Subject: [PATCH 095/113] Fall back to error code 500 when not set in error object --- backend/app.js | 2 +- backend/internal/certificate.js | 319 +++++++++++++++++++++++--------- 2 files changed, 234 insertions(+), 87 deletions(-) diff --git a/backend/app.js b/backend/app.js index 3039bbb8ea..b1f047661c 100644 --- a/backend/app.js +++ b/backend/app.js @@ -62,7 +62,7 @@ app.use("/", mainRoutes); app.use((err, req, res, _) => { const payload = { error: { - code: err.status, + code: err.status || 500, message: err.public ? err.message : "Internal Error", }, }; diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js index 82a47b926f..0c2e546e57 100644 --- a/backend/internal/certificate.js +++ b/backend/internal/certificate.js @@ -1,9 +1,9 @@ import fs from "node:fs"; import https from "node:https"; -import path from "path"; import { ZipArchive } from "archiver"; import _ from "lodash"; import moment from "moment"; +import path from "path"; import { ProxyAgent } from "proxy-agent"; import tempWrite from "temp-write"; import dnsPlugins from "../certbot/dns-plugins.json" with { type: "json" }; @@ -29,7 +29,11 @@ const omissions = () => { }; const internalCertificate = { - allowedSslFiles: ["certificate", "certificate_key", "intermediate_certificate"], + allowedSslFiles: [ + "certificate", + "certificate_key", + "intermediate_certificate", + ], intervalTimeout: 1000 * 60 * 60, // 1 hour interval: null, intervalProcessing: false, @@ -56,7 +60,10 @@ const internalCertificate = { ); const expirationThreshold = moment() - .add(internalCertificate.renewBeforeExpirationBy[0], internalCertificate.renewBeforeExpirationBy[1]) + .add( + internalCertificate.renewBeforeExpirationBy[0], + internalCertificate.renewBeforeExpirationBy[1], + ) .format("YYYY-MM-DD HH:mm:ss"); // Fetch all the letsencrypt certs from the db that will expire within the configured threshold @@ -137,12 +144,18 @@ const internalCertificate = { // 6. Re-instate previously disabled hosts // 1. Find out any hosts that are using any of the hostnames in this cert - const inUseResult = await internalHost.getHostsWithDomains(certificate.domain_names); + const inUseResult = await internalHost.getHostsWithDomains( + certificate.domain_names, + ); // 2. Disable them in nginx temporarily await internalCertificate.disableInUseHosts(inUseResult); - const user = await userModel.query().where("is_deleted", 0).andWhere("id", data.owner_user_id).first(); + const user = await userModel + .query() + .where("is_deleted", 0) + .andWhere("id", data.owner_user_id) + .first(); if (!user?.email) { throw new error.ValidationError( "A valid email address must be set on your user account to use Let's Encrypt", @@ -154,7 +167,10 @@ const internalCertificate = { try { await internalNginx.reload(); // 4. Request cert - await internalCertificate.requestLetsEncryptSslWithDnsChallenge(certificate, user.email); + await internalCertificate.requestLetsEncryptSslWithDnsChallenge( + certificate, + user.email, + ); await internalNginx.reload(); // 6. Re-instate previously disabled hosts await internalCertificate.enableInUseHosts(inUseResult); @@ -171,7 +187,10 @@ const internalCertificate = { await internalNginx.reload(); setTimeout(() => {}, 5000); // 4. Request cert - await internalCertificate.requestLetsEncryptSsl(certificate, user.email); + await internalCertificate.requestLetsEncryptSsl( + certificate, + user.email, + ); // 5. Remove LE config await internalNginx.deleteLetsEncryptRequestConfig(certificate); await internalNginx.reload(); @@ -195,7 +214,9 @@ const internalCertificate = { const savedRow = await certificateModel .query() .patchAndFetchById(certificate.id, { - expires_on: moment(certInfo.dates.to, "X").format("YYYY-MM-DD HH:mm:ss"), + expires_on: moment(certInfo.dates.to, "X").format( + "YYYY-MM-DD HH:mm:ss", + ), }) .then(utils.omitRow(omissions())); @@ -204,7 +225,11 @@ const internalCertificate = { letsencrypt_certificate: certInfo, }); - await internalCertificate.addCreatedAuditLog(access, certificate.id, savedRow); + await internalCertificate.addCreatedAuditLog( + access, + certificate.id, + savedRow, + ); return savedRow; } catch (err) { @@ -222,7 +247,11 @@ const internalCertificate = { data.meta = _.assign({}, data.meta || {}, certificate.meta); // Add to audit log - await internalCertificate.addCreatedAuditLog(access, certificate.id, utils.omitRow(omissions())(data)); + await internalCertificate.addCreatedAuditLog( + access, + certificate.id, + utils.omitRow(omissions())(data), + ); return utils.omitRow(omissions())(certificate); }, @@ -321,7 +350,9 @@ const internalCertificate = { row.proxy_hosts = utils.omitRows(["is_deleted"])(row.proxy_hosts); } if (typeof row.redirection_hosts !== "undefined") { - row.redirection_hosts = utils.omitRows(["is_deleted"])(row.redirection_hosts); + row.redirection_hosts = utils.omitRows(["is_deleted"])( + row.redirection_hosts, + ); } if (typeof row.dead_hosts !== "undefined") { row.dead_hosts = utils.omitRows(["is_deleted"])(row.dead_hosts); @@ -344,7 +375,9 @@ const internalCertificate = { if (certificate.provider === "letsencrypt") { const zipDirectory = internalCertificate.getLiveCertPath(data.id); if (!fs.existsSync(zipDirectory)) { - throw new error.ItemNotFoundError(`Certificate ${certificate.nice_name} does not exists`); + throw new error.ItemNotFoundError( + `Certificate ${certificate.nice_name} does not exists`, + ); } const certFiles = fs @@ -361,7 +394,9 @@ const internalCertificate = { fileName: opName, }; } - throw new error.ValidationError("Only Let'sEncrypt certificates can be downloaded"); + throw new error.ValidationError( + "Only Let'sEncrypt certificates can be downloaded", + ); }, /** @@ -470,7 +505,10 @@ const internalCertificate = { * @returns {Promise} */ getCount: async (userId, visibility) => { - const query = certificateModel.query().count("id as count").where("is_deleted", 0); + const query = certificateModel + .query() + .count("id as count") + .where("is_deleted", 0); if (visibility !== "all") { query.andWhere("owner_user_id", userId); @@ -518,13 +556,17 @@ const internalCertificate = { }); }).then(() => { return new Promise((resolve, reject) => { - fs.writeFile(`${dir}/privkey.pem`, certificate.meta.certificate_key, (err) => { - if (err) { - reject(err); - } else { - resolve(); - } - }); + fs.writeFile( + `${dir}/privkey.pem`, + certificate.meta.certificate_key, + (err) => { + if (err) { + reject(err); + } else { + resolve(); + } + }, + ); }); }); }, @@ -597,7 +639,9 @@ const internalCertificate = { upload: async (access, data) => { const row = await internalCertificate.get(access, { id: data.id }); if (row.provider !== "other") { - throw new error.ValidationError("Cannot upload certificates for this type of provider"); + throw new error.ValidationError( + "Cannot upload certificates for this type of provider", + ); } const validations = await internalCertificate.validate(data); @@ -613,8 +657,12 @@ const internalCertificate = { const certificate = await internalCertificate.update(access, { id: data.id, - expires_on: moment(validations.certificate.dates.to, "X").format("YYYY-MM-DD HH:mm:ss"), - domain_names: validations.certificate.cn ? [validations.certificate.cn] : [], + expires_on: moment(validations.certificate.dates.to, "X").format( + "YYYY-MM-DD HH:mm:ss", + ), + domain_names: validations.certificate.cn + ? [validations.certificate.cn] + : [], meta: _.clone(row.meta), // Prevent the update method from changing this value that we'll use later }); @@ -638,7 +686,9 @@ const internalCertificate = { }, 10000); try { - const result = await utils.exec(`openssl pkey -in ${filepath} -check -noout 2>&1 `); + const result = await utils.exec( + `openssl pkey -in ${filepath} -check -noout 2>&1 `, + ); clearTimeout(failTimeout); if (!result.toLowerCase().includes("key is valid")) { throw new error.ValidationError(`Result Validation Error: ${result}`); @@ -648,7 +698,10 @@ const internalCertificate = { } catch (err) { clearTimeout(failTimeout); fs.unlinkSync(filepath); - throw new error.ValidationError(`Certificate Key is not valid (${err.message})`, err); + throw new error.ValidationError( + `Certificate Key is not valid (${err.message})`, + err, + ); } }, @@ -662,7 +715,10 @@ const internalCertificate = { getCertificateInfo: async (certificate, throwExpired) => { const filepath = await tempWrite(certificate); try { - const certData = await internalCertificate.getCertificateInfoFromFile(filepath, throwExpired); + const certData = await internalCertificate.getCertificateInfoFromFile( + filepath, + throwExpired, + ); fs.unlinkSync(filepath); return certData; } catch (err) { @@ -682,7 +738,13 @@ const internalCertificate = { const certData = {}; try { - const result = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-subject", "-noout"]); + const result = await utils.execFile("openssl", [ + "x509", + "-in", + certificateFile, + "-subject", + "-noout", + ]); console.log("openssl result: ", result); // Examples: // subject=CN = *.jc21.com @@ -694,7 +756,13 @@ const internalCertificate = { certData.cn = match[1].trim(); } - const result2 = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-issuer", "-noout"]); + const result2 = await utils.execFile("openssl", [ + "x509", + "-in", + certificateFile, + "-issuer", + "-noout", + ]); // Examples: // issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 // issuer=C = US, O = Let's Encrypt, CN = E5 @@ -705,7 +773,13 @@ const internalCertificate = { certData.issuer = match2[1]; } - const result3 = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-dates", "-noout"]); + const result3 = await utils.execFile("openssl", [ + "x509", + "-in", + certificateFile, + "-dates", + "-noout", + ]); // notBefore=Jul 14 04:04:29 2018 GMT // notAfter=Oct 12 04:04:29 2018 GMT let validFrom = null; @@ -717,7 +791,10 @@ const internalCertificate = { const match = regex.exec(str.trim()); if (match && typeof match[2] !== "undefined") { - const date = Number.parseInt(moment(match[2], "MMM DD HH:mm:ss YYYY z").format("X"), 10); + const date = Number.parseInt( + moment(match[2], "MMM DD HH:mm:ss YYYY z").format("X"), + 10, + ); if (match[1].toLowerCase() === "notbefore") { validFrom = date; @@ -729,10 +806,15 @@ const internalCertificate = { }); if (!validFrom || !validTo) { - throw new error.ValidationError(`Could not determine dates from certificate: ${result}`); + throw new error.ValidationError( + `Could not determine dates from certificate: ${result}`, + ); } - if (throw_expired && validTo < Number.parseInt(moment().format("X"), 10)) { + if ( + throw_expired && + validTo < Number.parseInt(moment().format("X"), 10) + ) { throw new error.ValidationError("Certificate has expired"); } @@ -743,7 +825,10 @@ const internalCertificate = { return certData; } catch (err) { - throw new error.ValidationError(`Certificate is not valid (${err.message})`, err); + throw new error.ValidationError( + `Certificate is not valid (${err.message})`, + err, + ); } }, @@ -781,6 +866,7 @@ const internalCertificate = { const args = [ "certonly", + "-n", // non-interactive "--config", letsencryptConfig, "--work-dir", @@ -829,13 +915,18 @@ const internalCertificate = { const credentialsLocation = `/etc/letsencrypt/credentials/credentials-${certificate.id}`; fs.mkdirSync("/etc/letsencrypt/credentials", { recursive: true }); - fs.writeFileSync(credentialsLocation, certificate.meta.dns_provider_credentials, { mode: 0o600 }); + fs.writeFileSync( + credentialsLocation, + certificate.meta.dns_provider_credentials, + { mode: 0o600 }, + ); // Whether the plugin has a ---credentials argument const hasConfigArg = certificate.meta.dns_provider !== "route53"; const args = [ "certonly", + "-n", // non-interactive "--config", letsencryptConfig, "--work-dir", @@ -856,7 +947,10 @@ const internalCertificate = { ]; if (hasConfigArg) { - args.push(`--${dnsPlugin.full_plugin_name}-credentials`, credentialsLocation); + args.push( + `--${dnsPlugin.full_plugin_name}-credentials`, + credentialsLocation, + ); } if (certificate.meta.propagation_seconds !== undefined) { args.push( @@ -870,7 +964,10 @@ const internalCertificate = { args.push("--key-type", certificate.meta.key_type); } - const adds = internalCertificate.getAdditionalCertbotArgs(certificate.id, certificate.meta.dns_provider); + const adds = internalCertificate.getAdditionalCertbotArgs( + certificate.id, + certificate.meta.dns_provider, + ); args.push(...adds.args); logger.info(`Command: ${certbotCommand} ${args ? args.join(" ") : ""}`); @@ -906,9 +1003,13 @@ const internalCertificate = { `${internalCertificate.getLiveCertPath(certificate.id)}/fullchain.pem`, ); - const updatedCertificate = await certificateModel.query().patchAndFetchById(certificate.id, { - expires_on: moment(certInfo.dates.to, "X").format("YYYY-MM-DD HH:mm:ss"), - }); + const updatedCertificate = await certificateModel + .query() + .patchAndFetchById(certificate.id, { + expires_on: moment(certInfo.dates.to, "X").format( + "YYYY-MM-DD HH:mm:ss", + ), + }); // Add to audit log await internalAuditLog.add(access, { @@ -921,7 +1022,9 @@ const internalCertificate = { return updatedCertificate; } - throw new error.ValidationError("Only Let'sEncrypt certificates can be renewed"); + throw new error.ValidationError( + "Only Let'sEncrypt certificates can be renewed", + ); }, /** @@ -955,7 +1058,10 @@ const internalCertificate = { args.push("--key-type", certificate.meta.key_type); } - const adds = internalCertificate.getAdditionalCertbotArgs(certificate.id, certificate.meta.dns_provider); + const adds = internalCertificate.getAdditionalCertbotArgs( + certificate.id, + certificate.meta.dns_provider, + ); args.push(...adds.args); logger.info(`Command: ${certbotCommand} ${args ? args.join(" ") : ""}`); @@ -1001,7 +1107,10 @@ const internalCertificate = { args.push("--key-type", certificate.meta.key_type); } - const adds = internalCertificate.getAdditionalCertbotArgs(certificate.id, certificate.meta.dns_provider); + const adds = internalCertificate.getAdditionalCertbotArgs( + certificate.id, + certificate.meta.dns_provider, + ); args.push(...adds.args); logger.info(`Command: ${certbotCommand} ${args ? args.join(" ") : ""}`); @@ -1041,7 +1150,9 @@ const internalCertificate = { try { const result = await utils.execFile(certbotCommand, args, adds.opts); - await utils.exec(`rm -f '/etc/letsencrypt/credentials/credentials-${certificate.id}' || true`); + await utils.exec( + `rm -f '/etc/letsencrypt/credentials/credentials-${certificate.id}' || true`, + ); logger.info(result); return result; } catch (err) { @@ -1058,7 +1169,10 @@ const internalCertificate = { */ hasLetsEncryptSslCerts: (certificate) => { const letsencryptPath = internalCertificate.getLiveCertPath(certificate.id); - return fs.existsSync(`${letsencryptPath}/fullchain.pem`) && fs.existsSync(`${letsencryptPath}/privkey.pem`); + return ( + fs.existsSync(`${letsencryptPath}/fullchain.pem`) && + fs.existsSync(`${letsencryptPath}/privkey.pem`) + ); }, /** @@ -1072,15 +1186,24 @@ const internalCertificate = { disableInUseHosts: async (inUseResult) => { if (inUseResult?.total_count) { if (inUseResult?.proxy_hosts.length) { - await internalNginx.bulkDeleteConfigs("proxy_host", inUseResult.proxy_hosts); + await internalNginx.bulkDeleteConfigs( + "proxy_host", + inUseResult.proxy_hosts, + ); } if (inUseResult?.redirection_hosts.length) { - await internalNginx.bulkDeleteConfigs("redirection_host", inUseResult.redirection_hosts); + await internalNginx.bulkDeleteConfigs( + "redirection_host", + inUseResult.redirection_hosts, + ); } if (inUseResult?.dead_hosts.length) { - await internalNginx.bulkDeleteConfigs("dead_host", inUseResult.dead_hosts); + await internalNginx.bulkDeleteConfigs( + "dead_host", + inUseResult.dead_hosts, + ); } } }, @@ -1096,15 +1219,24 @@ const internalCertificate = { enableInUseHosts: async (inUseResult) => { if (inUseResult.total_count) { if (inUseResult.proxy_hosts.length) { - await internalNginx.bulkGenerateConfigs("proxy_host", inUseResult.proxy_hosts); + await internalNginx.bulkGenerateConfigs( + "proxy_host", + inUseResult.proxy_hosts, + ); } if (inUseResult.redirection_hosts.length) { - await internalNginx.bulkGenerateConfigs("redirection_host", inUseResult.redirection_hosts); + await internalNginx.bulkGenerateConfigs( + "redirection_host", + inUseResult.redirection_hosts, + ); } if (inUseResult.dead_hosts.length) { - await internalNginx.bulkGenerateConfigs("dead_host", inUseResult.dead_hosts); + await internalNginx.bulkGenerateConfigs( + "dead_host", + inUseResult.dead_hosts, + ); } } }, @@ -1119,7 +1251,8 @@ const internalCertificate = { await access.can("certificates:list"); // Create a test challenge file - const testChallengeDir = "/data/letsencrypt-acme-challenge/.well-known/acme-challenge"; + const testChallengeDir = + "/data/letsencrypt-acme-challenge/.well-known/acme-challenge"; const testChallengeFile = `${testChallengeDir}/test-challenge`; fs.mkdirSync(testChallengeDir, { recursive: true }); fs.writeFileSync(testChallengeFile, "Success", { encoding: "utf8" }); @@ -1151,38 +1284,42 @@ const internalCertificate = { }; const result = await new Promise((resolve) => { - const req = https.request("https://www.site24x7.com/tools/restapi-tester", options, (res) => { - let responseBody = ""; - - res.on("data", (chunk) => { - responseBody = responseBody + chunk; - }); + const req = https.request( + "https://www.site24x7.com/tools/restapi-tester", + options, + (res) => { + let responseBody = ""; + + res.on("data", (chunk) => { + responseBody = responseBody + chunk; + }); - res.on("end", () => { - try { - const parsedBody = JSON.parse(`${responseBody}`); - if (res.statusCode !== 200) { - logger.warn( - `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned: ${parsedBody.message}`, - ); + res.on("end", () => { + try { + const parsedBody = JSON.parse(`${responseBody}`); + if (res.statusCode !== 200) { + logger.warn( + `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned: ${parsedBody.message}`, + ); + resolve(undefined); + } else { + resolve(parsedBody); + } + } catch (err) { + if (res.statusCode !== 200) { + logger.warn( + `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned`, + ); + } else { + logger.warn( + `Failed to test HTTP challenge for domain ${domain} because response failed to be parsed: ${err.message}`, + ); + } resolve(undefined); - } else { - resolve(parsedBody); - } - } catch (err) { - if (res.statusCode !== 200) { - logger.warn( - `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned`, - ); - } else { - logger.warn( - `Failed to test HTTP challenge for domain ${domain} because response failed to be parsed: ${err.message}`, - ); } - resolve(undefined); - } - }); - }); + }); + }, + ); // Make sure to write the request body. req.write(formBody); @@ -1203,7 +1340,10 @@ const internalCertificate = { ); return `other:${result.error.msg}`; } - if (`${result.responsecode}` === "200" && result.htmlresponse === "Success") { + if ( + `${result.responsecode}` === "200" && + result.htmlresponse === "Success" + ) { // Server exists and has responded with the correct data return "ok"; } @@ -1217,19 +1357,26 @@ const internalCertificate = { } if (`${result.responsecode}` === "404") { // Server exists but responded with a 404 - logger.info(`HTTP challenge test failed for domain ${domain} because code 404 was returned`); + logger.info( + `HTTP challenge test failed for domain ${domain} because code 404 was returned`, + ); return "404"; } if ( `${result.responsecode}` === "0" || - (typeof result.reason === "string" && result.reason.toLowerCase() === "host unavailable") + (typeof result.reason === "string" && + result.reason.toLowerCase() === "host unavailable") ) { // Server does not exist at domain - logger.info(`HTTP challenge test failed for domain ${domain} the host was not found`); + logger.info( + `HTTP challenge test failed for domain ${domain} the host was not found`, + ); return "no-host"; } // Other errors - logger.info(`HTTP challenge test failed for domain ${domain} because code ${result.responsecode} was returned`); + logger.info( + `HTTP challenge test failed for domain ${domain} because code ${result.responsecode} was returned`, + ); return `other:${result.responsecode}`; }, From f53bf88f4dfec6732893dc97a544fc6b4967a044 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Tue, 19 May 2026 08:04:49 +1000 Subject: [PATCH 096/113] Update cypress docker version, generate custom certs each time --- backend/internal/certificate.js | 319 +++++------------- test/cypress/Dockerfile | 2 +- test/cypress/e2e/api/Certificates.cy.js | 1 + test/cypress/e2e/api/Ldap.cy.js | 2 +- test/cypress/e2e/api/OAuth.cy.js | 2 +- .../cypress/fixtures/test.example.com-key.pem | 28 -- test/cypress/fixtures/test.example.com.pem | 26 -- test/cypress/support/commands.mjs | 25 +- test/package.json | 1 + test/yarn.lock | 18 + 10 files changed, 134 insertions(+), 290 deletions(-) delete mode 100644 test/cypress/fixtures/test.example.com-key.pem delete mode 100644 test/cypress/fixtures/test.example.com.pem diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js index 0c2e546e57..6498422c61 100644 --- a/backend/internal/certificate.js +++ b/backend/internal/certificate.js @@ -1,9 +1,9 @@ import fs from "node:fs"; import https from "node:https"; +import path from "path"; import { ZipArchive } from "archiver"; import _ from "lodash"; import moment from "moment"; -import path from "path"; import { ProxyAgent } from "proxy-agent"; import tempWrite from "temp-write"; import dnsPlugins from "../certbot/dns-plugins.json" with { type: "json" }; @@ -29,11 +29,7 @@ const omissions = () => { }; const internalCertificate = { - allowedSslFiles: [ - "certificate", - "certificate_key", - "intermediate_certificate", - ], + allowedSslFiles: ["certificate", "certificate_key", "intermediate_certificate"], intervalTimeout: 1000 * 60 * 60, // 1 hour interval: null, intervalProcessing: false, @@ -60,10 +56,7 @@ const internalCertificate = { ); const expirationThreshold = moment() - .add( - internalCertificate.renewBeforeExpirationBy[0], - internalCertificate.renewBeforeExpirationBy[1], - ) + .add(internalCertificate.renewBeforeExpirationBy[0], internalCertificate.renewBeforeExpirationBy[1]) .format("YYYY-MM-DD HH:mm:ss"); // Fetch all the letsencrypt certs from the db that will expire within the configured threshold @@ -144,18 +137,12 @@ const internalCertificate = { // 6. Re-instate previously disabled hosts // 1. Find out any hosts that are using any of the hostnames in this cert - const inUseResult = await internalHost.getHostsWithDomains( - certificate.domain_names, - ); + const inUseResult = await internalHost.getHostsWithDomains(certificate.domain_names); // 2. Disable them in nginx temporarily await internalCertificate.disableInUseHosts(inUseResult); - const user = await userModel - .query() - .where("is_deleted", 0) - .andWhere("id", data.owner_user_id) - .first(); + const user = await userModel.query().where("is_deleted", 0).andWhere("id", data.owner_user_id).first(); if (!user?.email) { throw new error.ValidationError( "A valid email address must be set on your user account to use Let's Encrypt", @@ -167,10 +154,7 @@ const internalCertificate = { try { await internalNginx.reload(); // 4. Request cert - await internalCertificate.requestLetsEncryptSslWithDnsChallenge( - certificate, - user.email, - ); + await internalCertificate.requestLetsEncryptSslWithDnsChallenge(certificate, user.email); await internalNginx.reload(); // 6. Re-instate previously disabled hosts await internalCertificate.enableInUseHosts(inUseResult); @@ -187,10 +171,7 @@ const internalCertificate = { await internalNginx.reload(); setTimeout(() => {}, 5000); // 4. Request cert - await internalCertificate.requestLetsEncryptSsl( - certificate, - user.email, - ); + await internalCertificate.requestLetsEncryptSsl(certificate, user.email); // 5. Remove LE config await internalNginx.deleteLetsEncryptRequestConfig(certificate); await internalNginx.reload(); @@ -214,9 +195,7 @@ const internalCertificate = { const savedRow = await certificateModel .query() .patchAndFetchById(certificate.id, { - expires_on: moment(certInfo.dates.to, "X").format( - "YYYY-MM-DD HH:mm:ss", - ), + expires_on: moment(certInfo.dates.to, "X").format("YYYY-MM-DD HH:mm:ss"), }) .then(utils.omitRow(omissions())); @@ -225,11 +204,7 @@ const internalCertificate = { letsencrypt_certificate: certInfo, }); - await internalCertificate.addCreatedAuditLog( - access, - certificate.id, - savedRow, - ); + await internalCertificate.addCreatedAuditLog(access, certificate.id, savedRow); return savedRow; } catch (err) { @@ -247,11 +222,7 @@ const internalCertificate = { data.meta = _.assign({}, data.meta || {}, certificate.meta); // Add to audit log - await internalCertificate.addCreatedAuditLog( - access, - certificate.id, - utils.omitRow(omissions())(data), - ); + await internalCertificate.addCreatedAuditLog(access, certificate.id, utils.omitRow(omissions())(data)); return utils.omitRow(omissions())(certificate); }, @@ -350,9 +321,7 @@ const internalCertificate = { row.proxy_hosts = utils.omitRows(["is_deleted"])(row.proxy_hosts); } if (typeof row.redirection_hosts !== "undefined") { - row.redirection_hosts = utils.omitRows(["is_deleted"])( - row.redirection_hosts, - ); + row.redirection_hosts = utils.omitRows(["is_deleted"])(row.redirection_hosts); } if (typeof row.dead_hosts !== "undefined") { row.dead_hosts = utils.omitRows(["is_deleted"])(row.dead_hosts); @@ -375,9 +344,7 @@ const internalCertificate = { if (certificate.provider === "letsencrypt") { const zipDirectory = internalCertificate.getLiveCertPath(data.id); if (!fs.existsSync(zipDirectory)) { - throw new error.ItemNotFoundError( - `Certificate ${certificate.nice_name} does not exists`, - ); + throw new error.ItemNotFoundError(`Certificate ${certificate.nice_name} does not exists`); } const certFiles = fs @@ -394,9 +361,7 @@ const internalCertificate = { fileName: opName, }; } - throw new error.ValidationError( - "Only Let'sEncrypt certificates can be downloaded", - ); + throw new error.ValidationError("Only Let'sEncrypt certificates can be downloaded"); }, /** @@ -505,10 +470,7 @@ const internalCertificate = { * @returns {Promise} */ getCount: async (userId, visibility) => { - const query = certificateModel - .query() - .count("id as count") - .where("is_deleted", 0); + const query = certificateModel.query().count("id as count").where("is_deleted", 0); if (visibility !== "all") { query.andWhere("owner_user_id", userId); @@ -556,17 +518,13 @@ const internalCertificate = { }); }).then(() => { return new Promise((resolve, reject) => { - fs.writeFile( - `${dir}/privkey.pem`, - certificate.meta.certificate_key, - (err) => { - if (err) { - reject(err); - } else { - resolve(); - } - }, - ); + fs.writeFile(`${dir}/privkey.pem`, certificate.meta.certificate_key, (err) => { + if (err) { + reject(err); + } else { + resolve(); + } + }); }); }); }, @@ -639,9 +597,7 @@ const internalCertificate = { upload: async (access, data) => { const row = await internalCertificate.get(access, { id: data.id }); if (row.provider !== "other") { - throw new error.ValidationError( - "Cannot upload certificates for this type of provider", - ); + throw new error.ValidationError("Cannot upload certificates for this type of provider"); } const validations = await internalCertificate.validate(data); @@ -657,12 +613,8 @@ const internalCertificate = { const certificate = await internalCertificate.update(access, { id: data.id, - expires_on: moment(validations.certificate.dates.to, "X").format( - "YYYY-MM-DD HH:mm:ss", - ), - domain_names: validations.certificate.cn - ? [validations.certificate.cn] - : [], + expires_on: moment(validations.certificate.dates.to, "X").format("YYYY-MM-DD HH:mm:ss"), + domain_names: validations.certificate.cn ? [validations.certificate.cn] : [], meta: _.clone(row.meta), // Prevent the update method from changing this value that we'll use later }); @@ -686,9 +638,7 @@ const internalCertificate = { }, 10000); try { - const result = await utils.exec( - `openssl pkey -in ${filepath} -check -noout 2>&1 `, - ); + const result = await utils.exec(`openssl pkey -in ${filepath} -check -noout 2>&1 `); clearTimeout(failTimeout); if (!result.toLowerCase().includes("key is valid")) { throw new error.ValidationError(`Result Validation Error: ${result}`); @@ -698,10 +648,7 @@ const internalCertificate = { } catch (err) { clearTimeout(failTimeout); fs.unlinkSync(filepath); - throw new error.ValidationError( - `Certificate Key is not valid (${err.message})`, - err, - ); + throw new error.ValidationError(`Certificate Key is not valid (${err.message})`, err); } }, @@ -715,10 +662,7 @@ const internalCertificate = { getCertificateInfo: async (certificate, throwExpired) => { const filepath = await tempWrite(certificate); try { - const certData = await internalCertificate.getCertificateInfoFromFile( - filepath, - throwExpired, - ); + const certData = await internalCertificate.getCertificateInfoFromFile(filepath, throwExpired); fs.unlinkSync(filepath); return certData; } catch (err) { @@ -738,14 +682,8 @@ const internalCertificate = { const certData = {}; try { - const result = await utils.execFile("openssl", [ - "x509", - "-in", - certificateFile, - "-subject", - "-noout", - ]); - console.log("openssl result: ", result); + const result = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-subject", "-noout"]); + // Examples: // subject=CN = *.jc21.com // subject=CN = something.example.com @@ -756,13 +694,7 @@ const internalCertificate = { certData.cn = match[1].trim(); } - const result2 = await utils.execFile("openssl", [ - "x509", - "-in", - certificateFile, - "-issuer", - "-noout", - ]); + const result2 = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-issuer", "-noout"]); // Examples: // issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 // issuer=C = US, O = Let's Encrypt, CN = E5 @@ -773,13 +705,7 @@ const internalCertificate = { certData.issuer = match2[1]; } - const result3 = await utils.execFile("openssl", [ - "x509", - "-in", - certificateFile, - "-dates", - "-noout", - ]); + const result3 = await utils.execFile("openssl", ["x509", "-in", certificateFile, "-dates", "-noout"]); // notBefore=Jul 14 04:04:29 2018 GMT // notAfter=Oct 12 04:04:29 2018 GMT let validFrom = null; @@ -791,10 +717,7 @@ const internalCertificate = { const match = regex.exec(str.trim()); if (match && typeof match[2] !== "undefined") { - const date = Number.parseInt( - moment(match[2], "MMM DD HH:mm:ss YYYY z").format("X"), - 10, - ); + const date = Number.parseInt(moment(match[2], "MMM DD HH:mm:ss YYYY z").format("X"), 10); if (match[1].toLowerCase() === "notbefore") { validFrom = date; @@ -806,15 +729,10 @@ const internalCertificate = { }); if (!validFrom || !validTo) { - throw new error.ValidationError( - `Could not determine dates from certificate: ${result}`, - ); + throw new error.ValidationError(`Could not determine dates from certificate: ${result}`); } - if ( - throw_expired && - validTo < Number.parseInt(moment().format("X"), 10) - ) { + if (throw_expired && validTo < Number.parseInt(moment().format("X"), 10)) { throw new error.ValidationError("Certificate has expired"); } @@ -825,10 +743,7 @@ const internalCertificate = { return certData; } catch (err) { - throw new error.ValidationError( - `Certificate is not valid (${err.message})`, - err, - ); + throw new error.ValidationError(`Certificate is not valid (${err.message})`, err); } }, @@ -915,11 +830,7 @@ const internalCertificate = { const credentialsLocation = `/etc/letsencrypt/credentials/credentials-${certificate.id}`; fs.mkdirSync("/etc/letsencrypt/credentials", { recursive: true }); - fs.writeFileSync( - credentialsLocation, - certificate.meta.dns_provider_credentials, - { mode: 0o600 }, - ); + fs.writeFileSync(credentialsLocation, certificate.meta.dns_provider_credentials, { mode: 0o600 }); // Whether the plugin has a ---credentials argument const hasConfigArg = certificate.meta.dns_provider !== "route53"; @@ -947,10 +858,7 @@ const internalCertificate = { ]; if (hasConfigArg) { - args.push( - `--${dnsPlugin.full_plugin_name}-credentials`, - credentialsLocation, - ); + args.push(`--${dnsPlugin.full_plugin_name}-credentials`, credentialsLocation); } if (certificate.meta.propagation_seconds !== undefined) { args.push( @@ -964,10 +872,7 @@ const internalCertificate = { args.push("--key-type", certificate.meta.key_type); } - const adds = internalCertificate.getAdditionalCertbotArgs( - certificate.id, - certificate.meta.dns_provider, - ); + const adds = internalCertificate.getAdditionalCertbotArgs(certificate.id, certificate.meta.dns_provider); args.push(...adds.args); logger.info(`Command: ${certbotCommand} ${args ? args.join(" ") : ""}`); @@ -1003,13 +908,9 @@ const internalCertificate = { `${internalCertificate.getLiveCertPath(certificate.id)}/fullchain.pem`, ); - const updatedCertificate = await certificateModel - .query() - .patchAndFetchById(certificate.id, { - expires_on: moment(certInfo.dates.to, "X").format( - "YYYY-MM-DD HH:mm:ss", - ), - }); + const updatedCertificate = await certificateModel.query().patchAndFetchById(certificate.id, { + expires_on: moment(certInfo.dates.to, "X").format("YYYY-MM-DD HH:mm:ss"), + }); // Add to audit log await internalAuditLog.add(access, { @@ -1022,9 +923,7 @@ const internalCertificate = { return updatedCertificate; } - throw new error.ValidationError( - "Only Let'sEncrypt certificates can be renewed", - ); + throw new error.ValidationError("Only Let'sEncrypt certificates can be renewed"); }, /** @@ -1058,10 +957,7 @@ const internalCertificate = { args.push("--key-type", certificate.meta.key_type); } - const adds = internalCertificate.getAdditionalCertbotArgs( - certificate.id, - certificate.meta.dns_provider, - ); + const adds = internalCertificate.getAdditionalCertbotArgs(certificate.id, certificate.meta.dns_provider); args.push(...adds.args); logger.info(`Command: ${certbotCommand} ${args ? args.join(" ") : ""}`); @@ -1107,10 +1003,7 @@ const internalCertificate = { args.push("--key-type", certificate.meta.key_type); } - const adds = internalCertificate.getAdditionalCertbotArgs( - certificate.id, - certificate.meta.dns_provider, - ); + const adds = internalCertificate.getAdditionalCertbotArgs(certificate.id, certificate.meta.dns_provider); args.push(...adds.args); logger.info(`Command: ${certbotCommand} ${args ? args.join(" ") : ""}`); @@ -1150,9 +1043,7 @@ const internalCertificate = { try { const result = await utils.execFile(certbotCommand, args, adds.opts); - await utils.exec( - `rm -f '/etc/letsencrypt/credentials/credentials-${certificate.id}' || true`, - ); + await utils.exec(`rm -f '/etc/letsencrypt/credentials/credentials-${certificate.id}' || true`); logger.info(result); return result; } catch (err) { @@ -1169,10 +1060,7 @@ const internalCertificate = { */ hasLetsEncryptSslCerts: (certificate) => { const letsencryptPath = internalCertificate.getLiveCertPath(certificate.id); - return ( - fs.existsSync(`${letsencryptPath}/fullchain.pem`) && - fs.existsSync(`${letsencryptPath}/privkey.pem`) - ); + return fs.existsSync(`${letsencryptPath}/fullchain.pem`) && fs.existsSync(`${letsencryptPath}/privkey.pem`); }, /** @@ -1186,24 +1074,15 @@ const internalCertificate = { disableInUseHosts: async (inUseResult) => { if (inUseResult?.total_count) { if (inUseResult?.proxy_hosts.length) { - await internalNginx.bulkDeleteConfigs( - "proxy_host", - inUseResult.proxy_hosts, - ); + await internalNginx.bulkDeleteConfigs("proxy_host", inUseResult.proxy_hosts); } if (inUseResult?.redirection_hosts.length) { - await internalNginx.bulkDeleteConfigs( - "redirection_host", - inUseResult.redirection_hosts, - ); + await internalNginx.bulkDeleteConfigs("redirection_host", inUseResult.redirection_hosts); } if (inUseResult?.dead_hosts.length) { - await internalNginx.bulkDeleteConfigs( - "dead_host", - inUseResult.dead_hosts, - ); + await internalNginx.bulkDeleteConfigs("dead_host", inUseResult.dead_hosts); } } }, @@ -1219,24 +1098,15 @@ const internalCertificate = { enableInUseHosts: async (inUseResult) => { if (inUseResult.total_count) { if (inUseResult.proxy_hosts.length) { - await internalNginx.bulkGenerateConfigs( - "proxy_host", - inUseResult.proxy_hosts, - ); + await internalNginx.bulkGenerateConfigs("proxy_host", inUseResult.proxy_hosts); } if (inUseResult.redirection_hosts.length) { - await internalNginx.bulkGenerateConfigs( - "redirection_host", - inUseResult.redirection_hosts, - ); + await internalNginx.bulkGenerateConfigs("redirection_host", inUseResult.redirection_hosts); } if (inUseResult.dead_hosts.length) { - await internalNginx.bulkGenerateConfigs( - "dead_host", - inUseResult.dead_hosts, - ); + await internalNginx.bulkGenerateConfigs("dead_host", inUseResult.dead_hosts); } } }, @@ -1251,8 +1121,7 @@ const internalCertificate = { await access.can("certificates:list"); // Create a test challenge file - const testChallengeDir = - "/data/letsencrypt-acme-challenge/.well-known/acme-challenge"; + const testChallengeDir = "/data/letsencrypt-acme-challenge/.well-known/acme-challenge"; const testChallengeFile = `${testChallengeDir}/test-challenge`; fs.mkdirSync(testChallengeDir, { recursive: true }); fs.writeFileSync(testChallengeFile, "Success", { encoding: "utf8" }); @@ -1284,42 +1153,38 @@ const internalCertificate = { }; const result = await new Promise((resolve) => { - const req = https.request( - "https://www.site24x7.com/tools/restapi-tester", - options, - (res) => { - let responseBody = ""; - - res.on("data", (chunk) => { - responseBody = responseBody + chunk; - }); + const req = https.request("https://www.site24x7.com/tools/restapi-tester", options, (res) => { + let responseBody = ""; + + res.on("data", (chunk) => { + responseBody = responseBody + chunk; + }); - res.on("end", () => { - try { - const parsedBody = JSON.parse(`${responseBody}`); - if (res.statusCode !== 200) { - logger.warn( - `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned: ${parsedBody.message}`, - ); - resolve(undefined); - } else { - resolve(parsedBody); - } - } catch (err) { - if (res.statusCode !== 200) { - logger.warn( - `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned`, - ); - } else { - logger.warn( - `Failed to test HTTP challenge for domain ${domain} because response failed to be parsed: ${err.message}`, - ); - } + res.on("end", () => { + try { + const parsedBody = JSON.parse(`${responseBody}`); + if (res.statusCode !== 200) { + logger.warn( + `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned: ${parsedBody.message}`, + ); resolve(undefined); + } else { + resolve(parsedBody); } - }); - }, - ); + } catch (err) { + if (res.statusCode !== 200) { + logger.warn( + `Failed to test HTTP challenge for domain ${domain} because HTTP status code ${res.statusCode} was returned`, + ); + } else { + logger.warn( + `Failed to test HTTP challenge for domain ${domain} because response failed to be parsed: ${err.message}`, + ); + } + resolve(undefined); + } + }); + }); // Make sure to write the request body. req.write(formBody); @@ -1340,10 +1205,7 @@ const internalCertificate = { ); return `other:${result.error.msg}`; } - if ( - `${result.responsecode}` === "200" && - result.htmlresponse === "Success" - ) { + if (`${result.responsecode}` === "200" && result.htmlresponse === "Success") { // Server exists and has responded with the correct data return "ok"; } @@ -1357,26 +1219,19 @@ const internalCertificate = { } if (`${result.responsecode}` === "404") { // Server exists but responded with a 404 - logger.info( - `HTTP challenge test failed for domain ${domain} because code 404 was returned`, - ); + logger.info(`HTTP challenge test failed for domain ${domain} because code 404 was returned`); return "404"; } if ( `${result.responsecode}` === "0" || - (typeof result.reason === "string" && - result.reason.toLowerCase() === "host unavailable") + (typeof result.reason === "string" && result.reason.toLowerCase() === "host unavailable") ) { // Server does not exist at domain - logger.info( - `HTTP challenge test failed for domain ${domain} the host was not found`, - ); + logger.info(`HTTP challenge test failed for domain ${domain} the host was not found`); return "no-host"; } // Other errors - logger.info( - `HTTP challenge test failed for domain ${domain} because code ${result.responsecode} was returned`, - ); + logger.info(`HTTP challenge test failed for domain ${domain} because code ${result.responsecode} was returned`); return `other:${result.responsecode}`; }, diff --git a/test/cypress/Dockerfile b/test/cypress/Dockerfile index bd821085a2..cf071bafd9 100644 --- a/test/cypress/Dockerfile +++ b/test/cypress/Dockerfile @@ -1,4 +1,4 @@ -FROM cypress/included:15.11.0 +FROM cypress/included:15.15.0 # Disable Cypress CLI colors ENV FORCE_COLOR=0 diff --git a/test/cypress/e2e/api/Certificates.cy.js b/test/cypress/e2e/api/Certificates.cy.js index 00da38b224..ce4200fba4 100644 --- a/test/cypress/e2e/api/Certificates.cy.js +++ b/test/cypress/e2e/api/Certificates.cy.js @@ -5,6 +5,7 @@ describe('Certificates endpoints', () => { let certID; before(() => { + cy.createCustomCerts(); cy.resetUsers(); cy.getToken().then((tok) => { token = tok; diff --git a/test/cypress/e2e/api/Ldap.cy.js b/test/cypress/e2e/api/Ldap.cy.js index 64e177303d..e1a999760a 100644 --- a/test/cypress/e2e/api/Ldap.cy.js +++ b/test/cypress/e2e/api/Ldap.cy.js @@ -2,7 +2,7 @@ describe('LDAP with Authentik', () => { let _token; - if (Cypress.env('skipStackCheck') === 'true' || Cypress.env('stack') === 'postgres') { + if (cy.env('skipStackCheck') === 'true' || cy.env('stack') === 'postgres') { before(() => { cy.resetUsers(); diff --git a/test/cypress/e2e/api/OAuth.cy.js b/test/cypress/e2e/api/OAuth.cy.js index c5c819f9ba..55e78f52df 100644 --- a/test/cypress/e2e/api/OAuth.cy.js +++ b/test/cypress/e2e/api/OAuth.cy.js @@ -2,7 +2,7 @@ describe('OAuth with Authentik', () => { let _token; - if (Cypress.env('skipStackCheck') === 'true' || Cypress.env('stack') === 'postgres') { + if (cy.env('skipStackCheck') === 'true' || cy.env('stack') === 'postgres') { before(() => { cy.getToken().then((tok) => { diff --git a/test/cypress/fixtures/test.example.com-key.pem b/test/cypress/fixtures/test.example.com-key.pem deleted file mode 100644 index 307cdc307b..0000000000 --- a/test/cypress/fixtures/test.example.com-key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC1n9j9C5Bes1nd -qACDckERauxXVNKCnUlUM1buGBx1xc+j2e2Ar23wUJJuWBY18VfT8yqfqVDktO2w -rbmvZvLuPmXePOKbIKS+XXh+2NG9L5bDG9rwGFCRXnbQj+GWCdMfzx14+CR1IHge -Yz6Cv/Si2/LJPCh/CoBfM4hUQJON3lxAWrWBpdbZnKYMrxuPBRfW9OuzTbCVXToQ -oxRAHiOR9081Xn1WeoKr7kVBIa5UphlvWXa12w1YmUwJu7YndnJGIavLWeNCVc7Z -Eo+nS8Wr/4QWicatIWZXpVaEOPhRoeplQDxNWg5b/Q26rYoVd7PrCmRs7sVcH79X -zGONeH1PAgMBAAECggEAANb3Wtwl07pCjRrMvc7WbC0xYIn82yu8/g2qtjkYUJcU -ia5lQbYN7RGCS85Oc/tkq48xQEG5JQWNH8b918jDEMTrFab0aUEyYcru1q9L8PL6 -YHaNgZSrMrDcHcS8h0QOXNRJT5jeGkiHJaTR0irvB526tqF3knbK9yW22KTfycUe -a0Z9voKn5xRk1DCbHi/nk2EpT7xnjeQeLFaTIRXbS68omkr4YGhwWm5OizoyEGZu -W0Zum5BkQyMr6kor3wdxOTG97ske2rcyvvHi+ErnwL0xBv0qY0Dhe8DpuXpDezqw -o72yY8h31Fu84i7sAj24YuE5Df8DozItFXQpkgbQ6QKBgQDPrufhvIFm2S/MzBdW -H8JxY7CJlJPyxOvc1NIl9RczQGAQR90kx52cgIcuIGEG6/wJ/xnGfMmW40F0DnQ+ -N+oLgB9SFxeLkRb7s9Z/8N3uIN8JJFYcerEOiRQeN2BXEEWJ7bUThNtsVrAcKoUh -ELsDmnHW/3V+GKwhd0vpk842+wKBgQDf4PGLG9PTE5tlAoyHFodJRd2RhTJQkwsU -MDNjLJ+KecLv+Nl+QiJhoflG1ccqtSFlBSCG067CDQ5LV0xm3mLJ7pfJoMgjcq31 -qjEmX4Ls91GuVOPtbwst3yFKjsHaSoKB5fBvWRcKFpBUezM7Qcw2JP3+dQT+bQIq -cMTkRWDSvQKBgQDOdCQFDjxg/lR7NQOZ1PaZe61aBz5P3pxNqa7ClvMaOsuEQ7w9 -vMYcdtRq8TsjA2JImbSI0TIg8gb2FQxPcYwTJKl+FICOeIwtaSg5hTtJZpnxX5LO -utTaC0DZjNkTk5RdOdWA8tihyUdGqKoxJY2TVmwGe2rUEDjFB++J4inkEwKBgB6V -g0nmtkxanFrzOzFlMXwgEEHF+Xaqb9QFNa/xs6XeNnREAapO7JV75Cr6H2hFMFe1 -mJjyqCgYUoCWX3iaHtLJRnEkBtNY4kzyQB6m46LtsnnnXO/dwKA2oDyoPfFNRoDq -YatEd3JIXNU9s2T/+x7WdOBjKhh72dTkbPFmTPDdAoGAU6rlPBevqOFdObYxdPq8 -EQWu44xqky3Mf5sBpOwtu6rqCYuziLiN7K4sjN5GD5mb1cEU+oS92ZiNcUQ7MFXk -8yTYZ7U0VcXyAcpYreWwE8thmb0BohJBr+Mp3wLTx32x0HKdO6vpUa0d35LUTUmM -RrKmPK/msHKK/sVHiL+NFqo= ------END PRIVATE KEY----- diff --git a/test/cypress/fixtures/test.example.com.pem b/test/cypress/fixtures/test.example.com.pem deleted file mode 100644 index 16340cdfd2..0000000000 --- a/test/cypress/fixtures/test.example.com.pem +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEYDCCAsigAwIBAgIRAPoSC0hvitb26ODMlsH6YbowDQYJKoZIhvcNAQELBQAw -gZExHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTEzMDEGA1UECwwqamN1 -cm5vd0BKYW1pZXMtTGFwdG9wLmxvY2FsIChKYW1pZSBDdXJub3cpMTowOAYDVQQD -DDFta2NlcnQgamN1cm5vd0BKYW1pZXMtTGFwdG9wLmxvY2FsIChKYW1pZSBDdXJu -b3cpMB4XDTI0MTAwOTA3MjIxN1oXDTI3MDEwOTA3MjIxN1owXjEnMCUGA1UEChMe -bWtjZXJ0IGRldmVsb3BtZW50IGNlcnRpZmljYXRlMTMwMQYDVQQLDCpqY3Vybm93 -QEphbWllcy1MYXB0b3AubG9jYWwgKEphbWllIEN1cm5vdykwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQC1n9j9C5Bes1ndqACDckERauxXVNKCnUlUM1bu -GBx1xc+j2e2Ar23wUJJuWBY18VfT8yqfqVDktO2wrbmvZvLuPmXePOKbIKS+XXh+ -2NG9L5bDG9rwGFCRXnbQj+GWCdMfzx14+CR1IHgeYz6Cv/Si2/LJPCh/CoBfM4hU -QJON3lxAWrWBpdbZnKYMrxuPBRfW9OuzTbCVXToQoxRAHiOR9081Xn1WeoKr7kVB -Ia5UphlvWXa12w1YmUwJu7YndnJGIavLWeNCVc7ZEo+nS8Wr/4QWicatIWZXpVaE -OPhRoeplQDxNWg5b/Q26rYoVd7PrCmRs7sVcH79XzGONeH1PAgMBAAGjZTBjMA4G -A1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAfBgNVHSMEGDAWgBSB -/vfmBUd4W7CvyEMl7YpMVQs8vTAbBgNVHREEFDASghB0ZXN0LmV4YW1wbGUuY29t -MA0GCSqGSIb3DQEBCwUAA4IBgQASwON/jPAHzcARSenY0ZGY1m5OVTYoQ/JWH0oy -l8SyFCQFEXt7UHDD/eTtLT0vMyc190nP57P8lTnZGf7hSinZz1B1d6V4cmzxpk0s -VXZT+irL6bJVJoMBHRpllKAhGULIo33baTrWFKA0oBuWx4AevSWKcLW5j87kEawn -ATCuMQ1I3ifR1mSlB7X8fb+vF+571q0NGuB3a42j6rdtXJ6SmH4+9B4qO0sfHDNt -IImpLCH/tycDpcYrGSCn1QrekFG1bSEh+Bb9i8rqMDSDsYrTFPZTuOQ3EtjGni9u -m+rEP3OyJg+md8c+0LVP7/UU4QWWnw3/Wolo5kSCxE8vNTFqi4GhVbdLnUtcIdTV -XxuR6cKyW87Snj1a0nG76ZLclt/akxDhtzqeV60BO0p8pmiev8frp+E94wFNYCmp -1cr3CnMEGRaficLSDFC6EBENzlZW2BQT6OMIV+g0NBgSyQe39s2zcdEl5+SzDVuw -hp8bJUp/QN7pnOVCDbjTQ+HVMXw= ------END CERTIFICATE----- diff --git a/test/cypress/support/commands.mjs b/test/cypress/support/commands.mjs index 7d9224d09b..3f12d0ef77 100644 --- a/test/cypress/support/commands.mjs +++ b/test/cypress/support/commands.mjs @@ -10,6 +10,7 @@ // import 'cypress-wait-until'; +import { createCA, createCert } from 'mkcert'; Cypress.Commands.add('randomString', (length) => { let result = ''; @@ -49,7 +50,7 @@ Cypress.Commands.add("validateSwaggerFile", (url, savePath) => { */ Cypress.Commands.add('validateSwaggerSchema', (method, code, path, data) => { cy.task('validateSwaggerSchema', { - file: Cypress.env('swaggerBase'), + file: cy.env('swaggerBase'), endpoint: path, method: method, statusCode: code, @@ -151,3 +152,25 @@ Cypress.Commands.add('waitForCertificateStatus', (token, certID, expected, timeo interval: 5000 }); }); + +// Creates CA files for testing, if they already exist they will be deleted +// and recreated with the same content. This is to ensure that the files exist +// for testing and are in a known state. +Cypress.Commands.add('createCustomCerts', async () => { + const ca = await createCA({ + organization: "NPM CA", + countryCode: "AU", + state: "QLD", + locality: "Brisbane", + validity: 365 + }); + + const cert = await createCert({ + ca: { key: ca.key, cert: ca.cert }, + domains: ["test.example.com"], + validity: 365 + }); + + cy.writeFile(`${config.fixturesFolder}/test.example.com.pem`, cert.cert); + cy.writeFile(`${config.fixturesFolder}/test.example.com-key.pem`, cert.key); +}); diff --git a/test/package.json b/test/package.json index 555bb6c29c..b243cc410c 100644 --- a/test/package.json +++ b/test/package.json @@ -17,6 +17,7 @@ "eslint-plugin-cypress": "^6.4.1", "form-data": "^4.0.5", "lodash": "^4.18.1", + "mkcert": "^3.2.0", "mocha": "^11.7.5", "mocha-junit-reporter": "^2.2.1" }, diff --git a/test/yarn.lock b/test/yarn.lock index 57e4b47328..0d3f07143c 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -567,6 +567,11 @@ combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + commander@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" @@ -1561,6 +1566,14 @@ minizlib@^3.1.0: dependencies: minipass "^7.1.2" +mkcert@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mkcert/-/mkcert-3.2.0.tgz#6c4d58bbb31dbf76efd24f197d454702b14020f4" + integrity sha512-026Eivq9RoOjOuLJGzbhGwXUAjBxRX11Z7Jbm4/7lqT/Av+XNy9SPrJte6+UpEt7i+W3e/HZYxQqlQcqXZWSzg== + dependencies: + commander "^11.0.0" + node-forge "^1.3.1" + mkdirp@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" @@ -1628,6 +1641,11 @@ node-fetch@^3.3.2: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" +node-forge@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.4.0.tgz#1c7b7d8bdc2d078739f58287d589d903a11b2fc2" + integrity sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ== + npm-run-path@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" From 11955e5dff517a76379ee18c05449226e519cb1d Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Tue, 19 May 2026 08:51:52 +1000 Subject: [PATCH 097/113] Cypress improvements, move mkcert back to command line --- test/cypress/config/ci.mjs | 1 + test/cypress/config/dev.mjs | 1 + test/cypress/e2e/api/Ldap.cy.js | 65 ------------------- test/cypress/e2e/api/OAuth.cy.js | 97 ---------------------------- test/cypress/e2e/api/Streams.cy.js | 10 +-- test/cypress/plugins/index.mjs | 5 ++ test/cypress/support/commands.mjs | 45 ++++++------- test/cypress/support/task.mjs | 100 +++++++++++++++++++++++++++++ test/package.json | 1 - test/yarn.lock | 18 ------ 10 files changed, 133 insertions(+), 210 deletions(-) delete mode 100644 test/cypress/e2e/api/Ldap.cy.js delete mode 100644 test/cypress/e2e/api/OAuth.cy.js create mode 100644 test/cypress/support/task.mjs diff --git a/test/cypress/config/ci.mjs b/test/cypress/config/ci.mjs index 2597c194ce..ea203a89ee 100644 --- a/test/cypress/config/ci.mjs +++ b/test/cypress/config/ci.mjs @@ -2,6 +2,7 @@ import { defineConfig } from 'cypress'; import pluginSetup from '../plugins/index.mjs'; export default defineConfig({ + allowCypressEnv: false, requestTimeout: 30000, defaultCommandTimeout: 20000, reporter: "cypress-multi-reporters", diff --git a/test/cypress/config/dev.mjs b/test/cypress/config/dev.mjs index f32d973c85..636c3095cd 100644 --- a/test/cypress/config/dev.mjs +++ b/test/cypress/config/dev.mjs @@ -2,6 +2,7 @@ import { defineConfig } from 'cypress'; import pluginSetup from '../plugins/index.mjs'; export default defineConfig({ + allowCypressEnv: false, requestTimeout: 30000, defaultCommandTimeout: 20000, reporter: "cypress-multi-reporters", diff --git a/test/cypress/e2e/api/Ldap.cy.js b/test/cypress/e2e/api/Ldap.cy.js deleted file mode 100644 index e1a999760a..0000000000 --- a/test/cypress/e2e/api/Ldap.cy.js +++ /dev/null @@ -1,65 +0,0 @@ -/// - -describe('LDAP with Authentik', () => { - let _token; - if (cy.env('skipStackCheck') === 'true' || cy.env('stack') === 'postgres') { - - before(() => { - cy.resetUsers(); - cy.getToken().then((tok) => { - _token = tok; - - // cy.task('backendApiPut', { - // token: token, - // path: '/api/settings/ldap-auth', - // data: { - // value: { - // host: 'authentik-ldap:3389', - // base_dn: 'ou=users,DC=ldap,DC=goauthentik,DC=io', - // user_dn: 'cn={{USERNAME}},ou=users,DC=ldap,DC=goauthentik,DC=io', - // email_property: 'mail', - // name_property: 'sn', - // self_filter: '(&(cn={{USERNAME}})(ak-active=TRUE))', - // auto_create_user: true - // } - // } - // }).then((data) => { - // cy.validateSwaggerSchema('put', 200, '/settings/{name}', data); - // expect(data.result).to.have.property('id'); - // expect(data.result.id).to.be.greaterThan(0); - // }); - - // cy.task('backendApiPut', { - // token: token, - // path: '/api/settings/auth-methods', - // data: { - // value: [ - // 'local', - // 'ldap' - // ] - // } - // }).then((data) => { - // cy.validateSwaggerSchema('put', 200, '/settings/{name}', data); - // expect(data.result).to.have.property('id'); - // expect(data.result.id).to.be.greaterThan(0); - // }); - }); - }); - - it.skip('Should log in with LDAP', () => { - // cy.task('backendApiPost', { - // token: token, - // path: '/api/auth', - // data: { - // // Authentik LDAP creds: - // type: 'ldap', - // identity: 'cypress', - // secret: 'fqXBfUYqHvYqiwBHWW7f' - // } - // }).then((data) => { - // cy.validateSwaggerSchema('post', 200, '/auth', data); - // expect(data.result).to.have.property('token'); - // }); - }); - } -}); diff --git a/test/cypress/e2e/api/OAuth.cy.js b/test/cypress/e2e/api/OAuth.cy.js deleted file mode 100644 index 55e78f52df..0000000000 --- a/test/cypress/e2e/api/OAuth.cy.js +++ /dev/null @@ -1,97 +0,0 @@ -/// - -describe('OAuth with Authentik', () => { - let _token; - if (cy.env('skipStackCheck') === 'true' || cy.env('stack') === 'postgres') { - - before(() => { - cy.getToken().then((tok) => { - _token = tok; - - // cy.task('backendApiPut', { - // token: token, - // path: '/api/settings/oauth-auth', - // data: { - // value: { - // client_id: '7iO2AvuUp9JxiSVkCcjiIbQn4mHmUMBj7yU8EjqU', - // client_secret: 'VUMZzaGTrmXJ8PLksyqzyZ6lrtz04VvejFhPMBP9hGZNCMrn2LLBanySs4ta7XGrDr05xexPyZT1XThaf4ubg00WqvHRVvlu4Naa1aMootNmSRx3VAk6RSslUJmGyHzq', - // authorization_url: 'http://authentik:9000/application/o/authorize/', - // resource_url: 'http://authentik:9000/application/o/userinfo/', - // token_url: 'http://authentik:9000/application/o/token/', - // logout_url: 'http://authentik:9000/application/o/npm/end-session/', - // identifier: 'preferred_username', - // scopes: [], - // auto_create_user: true - // } - // } - // }).then((data) => { - // cy.validateSwaggerSchema('put', 200, '/settings/{name}', data); - // expect(data.result).to.have.property('id'); - // expect(data.result.id).to.be.greaterThan(0); - // }); - - // cy.task('backendApiPut', { - // token: token, - // path: '/api/settings/auth-methods', - // data: { - // value: [ - // 'local', - // 'oauth' - // ] - // } - // }).then((data) => { - // cy.validateSwaggerSchema('put', 200, '/settings/{name}', data); - // expect(data.result).to.have.property('id'); - // expect(data.result.id).to.be.greaterThan(0); - // }); - }); - }); - - it.skip('Should log in with OAuth', () => { - // cy.task('backendApiGet', { - // path: '/oauth/login?redirect_base=' + encodeURI(Cypress.config('baseUrl')), - // }).then((data) => { - // expect(data).to.have.property('result'); - - // cy.origin('http://authentik:9000', {args: data.result}, (url) => { - // cy.visit(url); - // cy.get('ak-flow-executor') - // .shadow() - // .find('ak-stage-identification') - // .shadow() - // .find('input[name="uidField"]', { visible: true }) - // .type('cypress'); - - // cy.get('ak-flow-executor') - // .shadow() - // .find('ak-stage-identification') - // .shadow() - // .find('button[type="submit"]', { visible: true }) - // .click(); - - // cy.get('ak-flow-executor') - // .shadow() - // .find('ak-stage-password') - // .shadow() - // .find('input[name="password"]', { visible: true }) - // .type('fqXBfUYqHvYqiwBHWW7f'); - - // cy.get('ak-flow-executor') - // .shadow() - // .find('ak-stage-password') - // .shadow() - // .find('button[type="submit"]', { visible: true }) - // .click(); - // }) - - // // we should be logged in - // cy.get('#root p.chakra-text') - // .first() - // .should('have.text', 'Nginx Proxy Manager'); - - // // logout: - // cy.clearLocalStorage(); - // }); - }); - } -}); diff --git a/test/cypress/e2e/api/Streams.cy.js b/test/cypress/e2e/api/Streams.cy.js index 10809f8948..b2c97b440f 100644 --- a/test/cypress/e2e/api/Streams.cy.js +++ b/test/cypress/e2e/api/Streams.cy.js @@ -23,11 +23,13 @@ describe('Streams', () => { }); // Create a custom cert pair - cy.exec('mkcert -cert-file=/test/cypress/fixtures/website1.pem -key-file=/test/cypress/fixtures/website1.key.pem website1.example.com').then((result) => { - expect(result.exitCode).to.eq(0); - // Install CA - cy.exec('mkcert -install').then((result) => { + cy.task('getFixturesFolder').then((fixturesFolder) => { + cy.exec(`mkcert -cert-file=${fixturesFolder}/website1.pem -key-file=${fixturesFolder}/website1.key.pem website1.example.com`).then((result) => { expect(result.exitCode).to.eq(0); + // Install CA + cy.exec('mkcert -install').then((result) => { + expect(result.exitCode).to.eq(0); + }); }); }); diff --git a/test/cypress/plugins/index.mjs b/test/cypress/plugins/index.mjs index 1058d63381..dc09527dc4 100644 --- a/test/cypress/plugins/index.mjs +++ b/test/cypress/plugins/index.mjs @@ -22,6 +22,11 @@ export default (on, config) => { return null; }, }); + on('task', { + getFixturesFolder() { + return config.fixturesFolder + }, + }); return config; }; diff --git a/test/cypress/support/commands.mjs b/test/cypress/support/commands.mjs index 3f12d0ef77..12db1994e5 100644 --- a/test/cypress/support/commands.mjs +++ b/test/cypress/support/commands.mjs @@ -10,7 +10,6 @@ // import 'cypress-wait-until'; -import { createCA, createCert } from 'mkcert'; Cypress.Commands.add('randomString', (length) => { let result = ''; @@ -49,14 +48,16 @@ Cypress.Commands.add("validateSwaggerFile", (url, savePath) => { * @param {*} data The API response data to check against the swagger schema */ Cypress.Commands.add('validateSwaggerSchema', (method, code, path, data) => { - cy.task('validateSwaggerSchema', { - file: cy.env('swaggerBase'), - endpoint: path, - method: method, - statusCode: code, - responseSchema: data, - verbose: true - }).should('equal', null); + cy.env(['swaggerBase']).then(({ swaggerBase }) => { + cy.task('validateSwaggerSchema', { + file: swaggerBase, + endpoint: path, + method: method, + statusCode: code, + responseSchema: data, + verbose: true + }).should('equal', null); + }); }); Cypress.Commands.add('createInitialUser', (defaultUser) => { @@ -156,21 +157,15 @@ Cypress.Commands.add('waitForCertificateStatus', (token, certID, expected, timeo // Creates CA files for testing, if they already exist they will be deleted // and recreated with the same content. This is to ensure that the files exist // for testing and are in a known state. -Cypress.Commands.add('createCustomCerts', async () => { - const ca = await createCA({ - organization: "NPM CA", - countryCode: "AU", - state: "QLD", - locality: "Brisbane", - validity: 365 - }); - - const cert = await createCert({ - ca: { key: ca.key, cert: ca.cert }, - domains: ["test.example.com"], - validity: 365 +Cypress.Commands.add('createCustomCerts', () => { + cy.task('getFixturesFolder').then((fixturesFolder) => { + cy.exec(`mkcert -cert-file=${fixturesFolder}/test.example.com.pem -key-file=${fixturesFolder}/test.example.com-key.pem test.example.com`) + .then((result) => { + expect(result.exitCode).to.eq(0); + // Install CA + cy.exec('mkcert -install').then((result) => { + expect(result.exitCode).to.eq(0); + }); + }); }); - - cy.writeFile(`${config.fixturesFolder}/test.example.com.pem`, cert.cert); - cy.writeFile(`${config.fixturesFolder}/test.example.com-key.pem`, cert.key); }); diff --git a/test/cypress/support/task.mjs b/test/cypress/support/task.mjs new file mode 100644 index 0000000000..edc5015c69 --- /dev/null +++ b/test/cypress/support/task.mjs @@ -0,0 +1,100 @@ +import fs from "node:fs"; +import FormData from "form-data"; +import Client from "./client.mjs"; +import logger from "./logger.mjs"; + +export default (config) => { + logger("Client Ready using", config.baseUrl); + + return { + /** + * @param {object} options + * @param {string} options.path API path + * @param {string} [options.token] JWT + * @param {bool} [options.returnOnError] If true, will return instead of throwing errors + * @returns {string} + */ + backendApiGet: (options) => { + const api = new Client(config); + api.setToken(options.token); + return api.request("get", options.path, options.returnOnError || false); + }, + + /** + * @param {object} options + * @param {string} options.token JWT + * @param {string} options.path API path + * @param {object} options.data + * @param {bool} [options.returnOnError] If true, will return instead of throwing errors + * @returns {string} + */ + backendApiPost: (options) => { + const api = new Client(config); + api.setToken(options.token); + return api.request( + "post", + options.path, + options.returnOnError || false, + options.data, + ); + }, + + /** + * @param {object} options + * @param {string} options.token JWT + * @param {string} options.path API path + * @param {object} options.files + * @param {bool} [options.returnOnError] If true, will return instead of throwing errors + * @returns {string} + */ + backendApiPostFiles: (options) => { + const api = new Client(config); + api.setToken(options.token); + + const form = new FormData(); + for (const [key, value] of Object.entries(options.files)) { + form.append( + key, + fs.createReadStream(`${config.fixturesFolder}/${value}`), + ); + } + return api.postForm(options.path, form, options.returnOnError || false); + }, + + /** + * @param {object} options + * @param {string} options.token JWT + * @param {string} options.path API path + * @param {object} options.data + * @param {bool} [options.returnOnError] If true, will return instead of throwing errors + * @returns {string} + */ + backendApiPut: (options) => { + const api = new Client(config); + api.setToken(options.token); + return api.request( + "put", + options.path, + options.returnOnError || false, + options.data, + ); + }, + + /** + * @param {object} options + * @param {string} options.token JWT + * @param {string} options.path API path + * @param {bool} [options.returnOnError] If true, will return instead of throwing errors + * @returns {string} + */ + backendApiDelete: (options) => { + const api = new Client(config); + api.setToken(options.token); + return api.request( + "delete", + options.path, + options.returnOnError || false, + ); + }, + }; +}; diff --git a/test/package.json b/test/package.json index b243cc410c..555bb6c29c 100644 --- a/test/package.json +++ b/test/package.json @@ -17,7 +17,6 @@ "eslint-plugin-cypress": "^6.4.1", "form-data": "^4.0.5", "lodash": "^4.18.1", - "mkcert": "^3.2.0", "mocha": "^11.7.5", "mocha-junit-reporter": "^2.2.1" }, diff --git a/test/yarn.lock b/test/yarn.lock index 0d3f07143c..57e4b47328 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -567,11 +567,6 @@ combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^11.0.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" - integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== - commander@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" @@ -1566,14 +1561,6 @@ minizlib@^3.1.0: dependencies: minipass "^7.1.2" -mkcert@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mkcert/-/mkcert-3.2.0.tgz#6c4d58bbb31dbf76efd24f197d454702b14020f4" - integrity sha512-026Eivq9RoOjOuLJGzbhGwXUAjBxRX11Z7Jbm4/7lqT/Av+XNy9SPrJte6+UpEt7i+W3e/HZYxQqlQcqXZWSzg== - dependencies: - commander "^11.0.0" - node-forge "^1.3.1" - mkdirp@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" @@ -1641,11 +1628,6 @@ node-fetch@^3.3.2: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -node-forge@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.4.0.tgz#1c7b7d8bdc2d078739f58287d589d903a11b2fc2" - integrity sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ== - npm-run-path@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" From dff978a63c5b8998cd7dadbf01e84e55aa4e7164 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 20 May 2026 07:52:46 +1000 Subject: [PATCH 098/113] Tests: install mkcert before generating --- test/cypress/support/commands.mjs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/cypress/support/commands.mjs b/test/cypress/support/commands.mjs index 12db1994e5..5d753abcd9 100644 --- a/test/cypress/support/commands.mjs +++ b/test/cypress/support/commands.mjs @@ -159,13 +159,12 @@ Cypress.Commands.add('waitForCertificateStatus', (token, certID, expected, timeo // for testing and are in a known state. Cypress.Commands.add('createCustomCerts', () => { cy.task('getFixturesFolder').then((fixturesFolder) => { - cy.exec(`mkcert -cert-file=${fixturesFolder}/test.example.com.pem -key-file=${fixturesFolder}/test.example.com-key.pem test.example.com`) - .then((result) => { - expect(result.exitCode).to.eq(0); - // Install CA - cy.exec('mkcert -install').then((result) => { + cy.exec('mkcert -install').then((result) => { + expect(result.exitCode).to.eq(0); + cy.exec(`mkcert -cert-file=${fixturesFolder}/test.example.com.pem -key-file=${fixturesFolder}/test.example.com-key.pem test.example.com`) + .then((result) => { expect(result.exitCode).to.eq(0); }); - }); + }); }); }); From c354238c3524fdd0d99985dad52798f0289c9542 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 20 May 2026 08:05:24 +1000 Subject: [PATCH 099/113] Testing mkcert in test suite --- test/cypress/support/commands.mjs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/cypress/support/commands.mjs b/test/cypress/support/commands.mjs index 5d753abcd9..0001ded8e7 100644 --- a/test/cypress/support/commands.mjs +++ b/test/cypress/support/commands.mjs @@ -159,12 +159,8 @@ Cypress.Commands.add('waitForCertificateStatus', (token, certID, expected, timeo // for testing and are in a known state. Cypress.Commands.add('createCustomCerts', () => { cy.task('getFixturesFolder').then((fixturesFolder) => { - cy.exec('mkcert -install').then((result) => { - expect(result.exitCode).to.eq(0); - cy.exec(`mkcert -cert-file=${fixturesFolder}/test.example.com.pem -key-file=${fixturesFolder}/test.example.com-key.pem test.example.com`) - .then((result) => { - expect(result.exitCode).to.eq(0); - }); + cy.exec('mkcert -install', {failOnNonZeroExit: false}).then(() => { + cy.exec(`mkcert -cert-file=${fixturesFolder}/test.example.com.pem -key-file=${fixturesFolder}/test.example.com-key.pem test.example.com`, {failOnNonZeroExit: false}); }); }); }); From 03c70e3902a9618db59a6f635b44cddd3f799aa3 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 20 May 2026 08:16:10 +1000 Subject: [PATCH 100/113] Fixes for upgraded debian trixie - Adds request logging in debug mode for some endpoints - Moves certbot version determination to the startup scripts and removes bash script encapsulation when installing plugins - Revert loose domain validation, which was there for a specific reason addressing CVE's - Fix Cypress suite for cert generation - Adds Cypress test that iterates over the entire certbot plugins list and installs each one, ensuring at the very least that the install works - Fixed some plugins based on this - (!) Still some work to do on this, hostinger is still broken at least - Improved cypress tests for custom certs; they will generate on each run instead of being baked in. The baked ones were due to expire soon --- .gitignore | 2 + backend/certbot/dns-plugins.json | 6 +- backend/lib/certbot.js | 29 +++++---- backend/lib/express/log-request.js | 7 +++ backend/lib/utils.js | 3 - backend/package.json | 2 +- backend/routes/ci.js | 59 +++++++++++++++++++ backend/routes/main.js | 10 ++++ backend/schema/common.json | 6 +- .../schema/components/certificate-object.json | 10 +++- docker/docker-compose.ci.sqlite.yml | 7 ++- .../rootfs/etc/s6-overlay/s6-rc.d/backend/run | 4 +- docker/rootfs/usr/bin/common.sh | 4 ++ test/cypress/e2e/api/CertbotPlugins.cy.js | 28 +++++++++ test/cypress/e2e/api/Certificates.cy.js | 18 ++++-- test/cypress/e2e/api/Streams.cy.js | 24 ++++---- test/cypress/fixtures/.gitignore | 1 + test/cypress/fixtures/.gitkeep | 0 test/cypress/support/commands.mjs | 26 ++++++-- 19 files changed, 197 insertions(+), 49 deletions(-) create mode 100644 backend/lib/express/log-request.js create mode 100644 backend/routes/ci.js create mode 100644 test/cypress/e2e/api/CertbotPlugins.cy.js create mode 100644 test/cypress/fixtures/.gitignore create mode 100644 test/cypress/fixtures/.gitkeep diff --git a/.gitignore b/.gitignore index 5bf37c0df1..a83a2110e0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ test/node_modules */node_modules docker/dev/dnsrouter-config.json.tmp docker/dev/resolv.conf +.claude + diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index 974c726589..a84cca6b77 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -341,8 +341,8 @@ "full_plugin_name": "dns-hostinger", "name": "Hostinger.com", "package_name": "certbot-dns-hostinger", - "version": "~=0.1.5" - }, + "version": "~=0.1.3" + }, "hostingnl": { "credentials": "dns_hostingnl_api_key = 0123456789abcdef0123456789abcdef", "dependencies": "", @@ -553,7 +553,7 @@ }, "powerdns": { "credentials": "dns_powerdns_api_url = https://api.mypowerdns.example.org\ndns_powerdns_api_key = AbCbASsd!@34", - "dependencies": "PyYAML==5.3.1", + "dependencies": "PyYAML>=6.0.1", "full_plugin_name": "dns-powerdns", "name": "PowerDNS", "package_name": "certbot-dns-powerdns", diff --git a/backend/lib/certbot.js b/backend/lib/certbot.js index 3a2dd072ed..3cafe50f69 100644 --- a/backend/lib/certbot.js +++ b/backend/lib/certbot.js @@ -4,8 +4,6 @@ import { certbot as logger } from "../logger.js"; import errs from "./error.js"; import utils from "./utils.js"; -const CERTBOT_VERSION_REPLACEMENT = "$(certbot --version | grep -Eo '[0-9](\\.[0-9]+)+')"; - /** * Installs a cerbot plugin given the key for the object from * ../certbot/dns-plugins.json @@ -15,24 +13,31 @@ const CERTBOT_VERSION_REPLACEMENT = "$(certbot --version | grep -Eo '[0-9](\\.[0 */ const installPlugin = async (pluginKey) => { if (typeof dnsPlugins[pluginKey] === "undefined") { - // throw Error(`Certbot plugin ${pluginKey} not found`); throw new errs.ItemNotFoundError(pluginKey); } const plugin = dnsPlugins[pluginKey]; logger.start(`Installing ${pluginKey}...`); - plugin.version = plugin.version.replace(/{{certbot-version}}/g, CERTBOT_VERSION_REPLACEMENT); - plugin.dependencies = plugin.dependencies.replace(/{{certbot-version}}/g, CERTBOT_VERSION_REPLACEMENT); + plugin.version = plugin.version.replace(/{{certbot-version}}/g, process.env.CERTBOT_VERSION); + plugin.dependencies = plugin.dependencies.replace(/{{certbot-version}}/g, process.env.CERTBOT_VERSION); - // SETUPTOOLS_USE_DISTUTILS is required for certbot plugins to install correctly - // in new versions of Python - let env = Object.assign({}, process.env, { SETUPTOOLS_USE_DISTUTILS: "stdlib" }); + // SETUPTOOLS_USE_DISTUTILS=local uses setuptools' own bundled distutils. + // "stdlib" breaks Python 3.13+ where distutils was removed from the standard library. + let env = Object.assign({}, process.env, { SETUPTOOLS_USE_DISTUTILS: "local" }); if (typeof plugin.env === "object") { env = Object.assign(env, plugin.env); } - const cmd = `. /opt/certbot/bin/activate && pip install --no-cache-dir ${plugin.dependencies} ${plugin.package_name}${plugin.version} && deactivate`; + const quotedDeps = plugin.dependencies.trim() + ? plugin.dependencies + .trim() + .split(/\s+/) + .filter(Boolean) + .map((d) => `'${d}'`) + .join(" ") + : ""; + const cmd = `. /opt/certbot/bin/activate && pip install --no-cache-dir ${quotedDeps} '${plugin.package_name}${plugin.version}' && deactivate`; return utils .exec(cmd, { env }) .then((result) => { @@ -73,9 +78,7 @@ const installPlugins = async (pluginKeys) => { }) .end(() => { if (hasErrors) { - reject( - new errs.CommandError("Some plugins failed to install. Please check the logs above", 1), - ); + reject(new errs.CommandError("Some plugins failed to install. Please check the logs above", 1)); } else { resolve(); } @@ -83,4 +86,4 @@ const installPlugins = async (pluginKeys) => { }); }; -export { installPlugins, installPlugin }; +export { installPlugin, installPlugins }; diff --git a/backend/lib/express/log-request.js b/backend/lib/express/log-request.js new file mode 100644 index 0000000000..a70ecc713b --- /dev/null +++ b/backend/lib/express/log-request.js @@ -0,0 +1,7 @@ +import chalk from "chalk"; +import { debug, express as logger } from "../../logger.js"; + +export default (req, _res, next) => { + debug(logger, `[${chalk.yellow(req.method.toUpperCase())}] ${chalk.green(req.path)}`); + next(); +}; diff --git a/backend/lib/utils.js b/backend/lib/utils.js index af7ad3c952..a19142af03 100644 --- a/backend/lib/utils.js +++ b/backend/lib/utils.js @@ -3,14 +3,12 @@ import { dirname } from "node:path"; import { fileURLToPath } from "node:url"; import { Liquid } from "liquidjs"; import _ from "lodash"; -import { debug, global as logger } from "../logger.js"; import errs from "./error.js"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const exec = async (cmd, options = {}) => { - debug(logger, "CMD:", cmd); const { stdout, stderr } = await new Promise((resolve, reject) => { const child = nodeExec(cmd, options, (isError, stdout, stderr) => { if (isError) { @@ -34,7 +32,6 @@ const exec = async (cmd, options = {}) => { * @returns {Promise} */ const execFile = (cmd, args, options) => { - debug(logger, `CMD: ${cmd} ${args ? args.join(" ") : ""}`); const opts = options || {}; return new Promise((resolve, reject) => { diff --git a/backend/package.json b/backend/package.json index 34c39217c8..4cafa403d5 100644 --- a/backend/package.json +++ b/backend/package.json @@ -20,6 +20,7 @@ "bcrypt": "^6.0.0", "better-sqlite3": "^12.10.0", "body-parser": "^2.2.2", + "chalk": "5.6.2", "compression": "^1.8.1", "express": "^5.2.1", "express-fileupload": "^1.5.2", @@ -43,7 +44,6 @@ "devDependencies": { "@apidevtools/swagger-parser": "^12.1.0", "@biomejs/biome": "^2.4.15", - "chalk": "5.6.2", "nodemon": "^3.1.14" }, "signale": { diff --git a/backend/routes/ci.js b/backend/routes/ci.js new file mode 100644 index 0000000000..a6f8be03a2 --- /dev/null +++ b/backend/routes/ci.js @@ -0,0 +1,59 @@ +import express from "express"; +import dnsPlugins from "../certbot/dns-plugins.json" with { type: "json" }; +import { installPlugin } from "../lib/certbot.js"; +import { debug, express as logger } from "../logger.js"; + +const router = express.Router({ + caseSensitive: true, + strict: true, + mergeParams: true, +}); + +/** + * ONLY AVAILABLE IN CI ENVIRONMENT! + */ + +/** + * /api/ci/certbot-plugins + */ +router + .route("/certbot-plugins") + .options((_, res) => { + res.sendStatus(204); + }) + + // Return all certbot plugins + .get(async (_req, res, _next) => { + res.status(200).send(dnsPlugins); + }); + +/** + * /api/ci/certbot-plugins/{plugin} + */ +router + .route("/certbot-plugins/:plugin") + .options((_, res) => { + res.sendStatus(204); + }) + + // Install a certbot plugin + .post(async (req, res, next) => { + try { + const pluginName = req.params.plugin; + // check if plugin exists + if (!dnsPlugins[pluginName]) { + return res.status(404).send({ + error: "Plugin not found", + }); + } + + await installPlugin(pluginName); + res.status(200).send(true); + } catch (err) { + debug(logger, `${req.method.toUpperCase()} ${req.path}: ${err}`); + next(err); + } + return; + }); + +export default router; diff --git a/backend/routes/main.js b/backend/routes/main.js index 94682cfba4..a308ea6179 100644 --- a/backend/routes/main.js +++ b/backend/routes/main.js @@ -1,8 +1,11 @@ import express from "express"; +import { isCI } from "../lib/config.js"; import errs from "../lib/error.js"; +import logRequest from "../lib/express/log-request.js"; import pjson from "../package.json" with { type: "json" }; import { isSetup } from "../setup.js"; import auditLogRoutes from "./audit-log.js"; +import ciRoutes from "./ci.js"; import accessListsRoutes from "./nginx/access_lists.js"; import certificatesHostsRoutes from "./nginx/certificates.js"; import deadHostsRoutes from "./nginx/dead_hosts.js"; @@ -22,6 +25,8 @@ const router = express.Router({ mergeParams: true, }); +router.use(logRequest); + /** * Health Check * GET /api @@ -55,6 +60,11 @@ router.use("/nginx/streams", streamsRoutes); router.use("/nginx/access-lists", accessListsRoutes); router.use("/nginx/certificates", certificatesHostsRoutes); +// Only include CI routes if we're in a CI environment +if (isCI()) { + router.use("/ci", ciRoutes); +} + /** * API 404 for all other routes * diff --git a/backend/schema/common.json b/backend/schema/common.json index e56c9f70a0..00b06e005f 100644 --- a/backend/schema/common.json +++ b/backend/schema/common.json @@ -77,12 +77,14 @@ "example": 3 }, "domain_names": { - "description": "Domain Names array", + "description": "Domain Names separated by a comma", "type": "array", + "minItems": 1, + "maxItems": 100, "uniqueItems": true, "items": { "type": "string", - "minLength": 1 + "pattern": "^[^&| @!#%^();:/\\\\}{=+?<>,~`'\"]+$" }, "example": ["example.com", "www.example.com"] }, diff --git a/backend/schema/components/certificate-object.json b/backend/schema/components/certificate-object.json index 4ef666b44a..80cd92befe 100644 --- a/backend/schema/components/certificate-object.json +++ b/backend/schema/components/certificate-object.json @@ -25,7 +25,15 @@ "example": "My Custom Cert" }, "domain_names": { - "$ref": "../common.json#/properties/domain_names" + "description": "Domain Names separated by a comma", + "type": "array", + "maxItems": 100, + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[^&| @!#%^();:/\\\\}{=+?<>,~`'\"]+$" + }, + "example": ["example.com", "www.example.com"] }, "expires_on": { "description": "Date and time of expiration", diff --git a/docker/docker-compose.ci.sqlite.yml b/docker/docker-compose.ci.sqlite.yml index 1c5be48e92..a8e057a864 100644 --- a/docker/docker-compose.ci.sqlite.yml +++ b/docker/docker-compose.ci.sqlite.yml @@ -1,9 +1,12 @@ # WARNING: This is a CI docker-compose file used for building and testing of the entire app, it should not be used for production. services: + cypress: + environment: + CYPRESS_stack: "sqlite" fullstack: environment: - DB_SQLITE_FILE: '/data/mydb.sqlite' + DB_SQLITE_FILE: "/data/mydb.sqlite" PUID: 1000 PGID: 1000 - DISABLE_IPV6: 'true' + DISABLE_IPV6: "true" diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/backend/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/backend/run index 37a95f7d1f..b140257b75 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/backend/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/backend/run @@ -11,11 +11,11 @@ log_info 'Starting backend ...' if [ "${DEVELOPMENT:-}" = 'true' ]; then s6-setuidgid "$PUID:$PGID" yarn install - exec s6-setuidgid "$PUID:$PGID" bash -c "export HOME=$NPMHOME;node --max_old_space_size=250 --abort_on_uncaught_exception node_modules/nodemon/bin/nodemon.js" + exec s6-setuidgid "$PUID:$PGID" bash -c "export HOME=$NPMHOME;export CERTBOT_VERSION=$CERTBOT_VERSION;node --max_old_space_size=250 --abort_on_uncaught_exception node_modules/nodemon/bin/nodemon.js" else while : do - s6-setuidgid "$PUID:$PGID" bash -c "export HOME=$NPMHOME;node --abort_on_uncaught_exception --max_old_space_size=250 index.js" + s6-setuidgid "$PUID:$PGID" bash -c "export HOME=$NPMHOME;export CERTBOT_VERSION=$CERTBOT_VERSION;node --abort_on_uncaught_exception --max_old_space_size=250 index.js" sleep 1 done fi diff --git a/docker/rootfs/usr/bin/common.sh b/docker/rootfs/usr/bin/common.sh index 46529870a3..92bf19d9c6 100644 --- a/docker/rootfs/usr/bin/common.sh +++ b/docker/rootfs/usr/bin/common.sh @@ -21,6 +21,10 @@ NPMGROUP=npm NPMHOME=/tmp/npmuserhome export NPMUSER NPMGROUP NPMHOME +# Query the certbot version just once and use it elsewhere +CERTBOT_VERSION="$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+')" +export CERTBOT_VERSION + if [[ "$PUID" -ne '0' ]] && [ "$PGID" = '0' ]; then # set group id to same as user id, # the user probably forgot to specify the group id and diff --git a/test/cypress/e2e/api/CertbotPlugins.cy.js b/test/cypress/e2e/api/CertbotPlugins.cy.js new file mode 100644 index 0000000000..acf769c041 --- /dev/null +++ b/test/cypress/e2e/api/CertbotPlugins.cy.js @@ -0,0 +1,28 @@ +/// + +// Only tested once in the sqlite stack + +describe('CertbotPlugins', () => { + it('Should install all certbot plugins', () => { + cy.env(['stack']).then(({ stack }) => { + cy.log(`CertbotPlugins.cy.js - Running tests for stack: ${stack}`); + if (stack === 'sqlite') { + cy.task('backendApiGet', { + path: '/api/ci/certbot-plugins', + }).then((data) => { + expect(data).to.be.an('object'); + + // Install each plugin + for (const plugin of Object.keys(data)) { + cy.log(`Installing plugin: ${plugin}`); + cy.task('backendApiPost', { + path: `/api/ci/certbot-plugins/${plugin}`, + }).then((result) => { + expect(result).to.be.true; + }); + } + }); + } + }); + }); +}); diff --git a/test/cypress/e2e/api/Certificates.cy.js b/test/cypress/e2e/api/Certificates.cy.js index ce4200fba4..25d1b8c41f 100644 --- a/test/cypress/e2e/api/Certificates.cy.js +++ b/test/cypress/e2e/api/Certificates.cy.js @@ -4,8 +4,16 @@ describe('Certificates endpoints', () => { let token; let certID; + const certFile = 'test.example.com.pem'; + const keyFile = 'test.example.com-key.pem'; + before(() => { - cy.createCustomCerts(); + cy.createCustomCerts({ + domain: 'test.example.com', + certFile, + keyFile, + }) + cy.resetUsers(); cy.getToken().then((tok) => { token = tok; @@ -17,8 +25,8 @@ describe('Certificates endpoints', () => { token: token, path: '/api/nginx/certificates/validate', files: { - certificate: 'test.example.com.pem', - certificate_key: 'test.example.com-key.pem', + certificate: certFile, + certificate_key: keyFile, }, }).then((data) => { cy.validateSwaggerSchema('post', 200, '/nginx/certificates/validate', data); @@ -46,8 +54,8 @@ describe('Certificates endpoints', () => { token: token, path: `/api/nginx/certificates/${certID}/upload`, files: { - certificate: 'test.example.com.pem', - certificate_key: 'test.example.com-key.pem', + certificate: certFile, + certificate_key: keyFile, }, }).then((data) => { cy.validateSwaggerSchema('post', 200, '/nginx/certificates/{certID}/upload', data); diff --git a/test/cypress/e2e/api/Streams.cy.js b/test/cypress/e2e/api/Streams.cy.js index b2c97b440f..95c6dba134 100644 --- a/test/cypress/e2e/api/Streams.cy.js +++ b/test/cypress/e2e/api/Streams.cy.js @@ -3,7 +3,16 @@ describe('Streams', () => { let token; + const certFile = 'website1.pem'; + const keyFile = 'website1.key.pem'; + before(() => { + cy.createCustomCerts({ + domain: 'website1.example.com', + certFile, + keyFile, + }) + cy.resetUsers(); cy.getToken().then((tok) => { token = tok; @@ -22,17 +31,6 @@ describe('Streams', () => { }); }); - // Create a custom cert pair - cy.task('getFixturesFolder').then((fixturesFolder) => { - cy.exec(`mkcert -cert-file=${fixturesFolder}/website1.pem -key-file=${fixturesFolder}/website1.key.pem website1.example.com`).then((result) => { - expect(result.exitCode).to.eq(0); - // Install CA - cy.exec('mkcert -install').then((result) => { - expect(result.exitCode).to.eq(0); - }); - }); - }); - cy.exec('rm -f /test/results/testssl.json'); }); @@ -136,8 +134,8 @@ describe('Streams', () => { token: token, path: `/api/nginx/certificates/${certID}/upload`, files: { - certificate: 'website1.pem', - certificate_key: 'website1.key.pem', + certificate: certFile, + certificate_key: keyFile, }, }).then((data) => { cy.validateSwaggerSchema('post', 200, '/nginx/certificates/{certID}/upload', data); diff --git a/test/cypress/fixtures/.gitignore b/test/cypress/fixtures/.gitignore new file mode 100644 index 0000000000..cfaad76118 --- /dev/null +++ b/test/cypress/fixtures/.gitignore @@ -0,0 +1 @@ +*.pem diff --git a/test/cypress/fixtures/.gitkeep b/test/cypress/fixtures/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/cypress/support/commands.mjs b/test/cypress/support/commands.mjs index 0001ded8e7..03c5bf2243 100644 --- a/test/cypress/support/commands.mjs +++ b/test/cypress/support/commands.mjs @@ -157,10 +157,28 @@ Cypress.Commands.add('waitForCertificateStatus', (token, certID, expected, timeo // Creates CA files for testing, if they already exist they will be deleted // and recreated with the same content. This is to ensure that the files exist // for testing and are in a known state. -Cypress.Commands.add('createCustomCerts', () => { - cy.task('getFixturesFolder').then((fixturesFolder) => { - cy.exec('mkcert -install', {failOnNonZeroExit: false}).then(() => { - cy.exec(`mkcert -cert-file=${fixturesFolder}/test.example.com.pem -key-file=${fixturesFolder}/test.example.com-key.pem test.example.com`, {failOnNonZeroExit: false}); +Cypress.Commands.add('createCustomCerts', ({domain, certFile, keyFile}) => { + domain = domain || 'website1.example.com'; + certFile = certFile || 'website1.pem'; + keyFile = keyFile || 'website1.key.pem'; + + return cy.task('getFixturesFolder').then((fixturesFolder) => { + const fullCertFile = `${fixturesFolder}/${certFile}`; + const fullKeyFile = `${fixturesFolder}/${keyFile}`; + const cmd = `mkcert -cert-file="${fullCertFile}" -key-file="${fullKeyFile}" "${domain}"`; + cy.log(`Creating custom certs with command: ${cmd}`); + return cy.exec(cmd).then((result) => { + cy.log(`mkcert output:\n${JSON.stringify(result)}`); + expect(result.exitCode).to.eq(0); + return cy.exec('mkcert -install').then((result2) => { + cy.log(`mkcert install output:\n${JSON.stringify(result2)}`); + expect(result2.exitCode).to.eq(0); + }).then(() => { + return cy.wrap({ + certFile: fullCertFile, + keyFile: fullKeyFile, + }); + }); }); }); }); From 7e9cc32f970f269f17f37ade01a9b81d47ef3813 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 25 May 2026 12:40:10 +1000 Subject: [PATCH 101/113] Fix cypress suite - split out cypress tests for plugins to be isolated - use updated testca image from proper location --- backend/certbot/dns-plugins.json | 2 +- backend/lib/certbot.js | 1 + docker/Dockerfile | 10 +- docker/dev/Dockerfile | 10 +- docker/docker-compose.ci.isolated.yml | 13 ++ docker/docker-compose.ci.yml | 4 +- docker/docker-compose.dev.yml | 2 +- scripts/ci/fulltest-cypress | 6 +- test/cypress/e2e/api/CertbotPlugins.cy.js | 2 +- test/cypress/plugins/index.mjs | 7 +- test/cypress/support/e2e.js | 8 +- test/package.json | 1 + test/yarn.lock | 235 +++++++++++++++++++++- 13 files changed, 279 insertions(+), 22 deletions(-) create mode 100644 docker/docker-compose.ci.isolated.yml diff --git a/backend/certbot/dns-plugins.json b/backend/certbot/dns-plugins.json index a84cca6b77..672940b5df 100644 --- a/backend/certbot/dns-plugins.json +++ b/backend/certbot/dns-plugins.json @@ -553,7 +553,7 @@ }, "powerdns": { "credentials": "dns_powerdns_api_url = https://api.mypowerdns.example.org\ndns_powerdns_api_key = AbCbASsd!@34", - "dependencies": "PyYAML>=6.0.1", + "dependencies": "acme=={{certbot-version}}", "full_plugin_name": "dns-powerdns", "name": "PowerDNS", "package_name": "certbot-dns-powerdns", diff --git a/backend/lib/certbot.js b/backend/lib/certbot.js index 3cafe50f69..2b9e181b04 100644 --- a/backend/lib/certbot.js +++ b/backend/lib/certbot.js @@ -37,6 +37,7 @@ const installPlugin = async (pluginKey) => { .map((d) => `'${d}'`) .join(" ") : ""; + const cmd = `. /opt/certbot/bin/activate && pip install --no-cache-dir ${quotedDeps} '${plugin.package_name}${plugin.version}' && deactivate`; return utils .exec(cmd, { env }) diff --git a/docker/Dockerfile b/docker/Dockerfile index 88ce95ed1b..4ba2d89cf8 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -38,15 +38,17 @@ EXPOSE 80 81 443 COPY backend /app COPY frontend/dist /app/frontend +COPY docker/rootfs / + +# Copy test CA cert for use in container and add to trusted certs from a self-signed CA +COPY --from=testca /home/step/certs/root_ca.crt /etc/ssl/certs/NginxProxyManager.crt +WORKDIR /etc/ssl/certs +RUN ln -s NginxProxyManager.crt 1d0e3f10.0 && update-ca-certificates WORKDIR /app RUN yarn install \ && yarn cache clean -# add late to limit cache-busting by modifications -COPY docker/rootfs / -COPY --from=testca /home/step/certs/root_ca.crt /etc/ssl/certs/NginxProxyManager.crt - # Remove frontend service not required for prod, dev nginx config as well RUN rm -rf /etc/s6-overlay/s6-rc.d/user/contents.d/frontend /etc/nginx/conf.d/dev.conf \ && chmod 644 /etc/logrotate.d/nginx-proxy-manager diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index f0f5ec60d8..8593fd5ef6 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -20,10 +20,10 @@ RUN echo "fs.file-max = 65535" > /etc/sysctl.conf \ # Task WORKDIR /usr -RUN curl -sL https://taskfile.dev/install.sh | sh -WORKDIR /root +RUN curl -sL 'https://taskfile.dev/install.sh' | sh COPY rootfs / + COPY scripts/install-s6 /tmp/install-s6 RUN rm -f /etc/nginx/conf.d/production.conf \ && chmod 644 /etc/logrotate.d/nginx-proxy-manager \ @@ -31,8 +31,12 @@ RUN rm -f /etc/nginx/conf.d/production.conf \ && rm -f /tmp/install-s6 \ && chmod 644 -R /root/.cache -# Certs for testing purposes +# Copy test CA cert for use in container and add to trusted certs from a self-signed CA COPY --from=testca /home/step/certs/root_ca.crt /etc/ssl/certs/NginxProxyManager.crt +WORKDIR /etc/ssl/certs +RUN ln -s NginxProxyManager.crt 1d0e3f10.0 && update-ca-certificates + +WORKDIR /root EXPOSE 80 81 443 ENTRYPOINT [ "/init" ] diff --git a/docker/docker-compose.ci.isolated.yml b/docker/docker-compose.ci.isolated.yml new file mode 100644 index 0000000000..b2d88f7193 --- /dev/null +++ b/docker/docker-compose.ci.isolated.yml @@ -0,0 +1,13 @@ +# WARNING: This is a CI docker-compose file used for building and testing of the entire app, it should not be used for production. +services: + cypress: + environment: + CYPRESS_stack: "sqlite" + command: cypress run --browser chrome --config-file=cypress/config/ci.mjs --expose grepTags="@isolated" + + fullstack: + environment: + DB_SQLITE_FILE: "/data/mydb.sqlite" + PUID: 1000 + PGID: 1000 + DISABLE_IPV6: "true" diff --git a/docker/docker-compose.ci.yml b/docker/docker-compose.ci.yml index 1bf6dade2d..6130f82e3c 100644 --- a/docker/docker-compose.ci.yml +++ b/docker/docker-compose.ci.yml @@ -39,7 +39,7 @@ services: - website3.example.com stepca: - image: jc21/testca + image: nginxproxymanager/testca volumes: - "./dev/resolv.conf:/etc/resolv.conf:ro" - "/etc/localtime:/etc/localtime:ro" @@ -109,7 +109,7 @@ services: - "cypress_logs:/test/results" - "./dev/resolv.conf:/etc/resolv.conf:ro" - "/etc/localtime:/etc/localtime:ro" - command: cypress run --browser chrome --config-file=cypress/config/ci.mjs + command: cypress run --browser chrome --config-file=cypress/config/ci.mjs --expose grepTags="-@isolated" networks: - fulltest diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 4d519f8acd..d6b07ec012 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -94,7 +94,7 @@ services: - pgdb.internal stepca: - image: jc21/testca + image: nginxproxymanager/testca container_name: npm2dev.stepca volumes: - "./dev/resolv.conf:/etc/resolv.conf:ro" diff --git a/scripts/ci/fulltest-cypress b/scripts/ci/fulltest-cypress index 54fa0528d6..8fb896967c 100755 --- a/scripts/ci/fulltest-cypress +++ b/scripts/ci/fulltest-cypress @@ -52,7 +52,7 @@ jq --arg a "$PDNS_IP" '.servers[0].upstreams[1].upstream = $a' "$LOCAL_DNSROUTER docker compose up -d dnsrouter DNSROUTER_IP=$(get_container_ip "dnsrouter") -echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}" +echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}${RESET}" if [ "${DNSROUTER_IP:-}" = "" ]; then echo -e "${RED}❯ ERROR: DNS Router IP is not set${RESET}" @@ -76,7 +76,8 @@ bash "$DIR/../wait-healthy" "$(docker compose ps --all -q fullstack)" 120 # Run tests rm -rf "$DIR/../../test/results" -docker compose up --build cypress +docker compose build cypress +docker compose up cypress # Get results docker cp -L "$(docker compose ps --all -q cypress):/test/results" "$DIR/../../test/" @@ -88,4 +89,3 @@ if [ "$2" = "cleanup" ]; then fi echo -e "${BLUE}❯ ${GREEN}Fullstack cypress testing complete${RESET}" - diff --git a/test/cypress/e2e/api/CertbotPlugins.cy.js b/test/cypress/e2e/api/CertbotPlugins.cy.js index acf769c041..554f97b60c 100644 --- a/test/cypress/e2e/api/CertbotPlugins.cy.js +++ b/test/cypress/e2e/api/CertbotPlugins.cy.js @@ -2,7 +2,7 @@ // Only tested once in the sqlite stack -describe('CertbotPlugins', () => { +describe('CertbotPlugins', { tags: '@isolated' }, () => { it('Should install all certbot plugins', () => { cy.env(['stack']).then(({ stack }) => { cy.log(`CertbotPlugins.cy.js - Running tests for stack: ${stack}`); diff --git a/test/cypress/plugins/index.mjs b/test/cypress/plugins/index.mjs index dc09527dc4..6a2ff9ffb8 100644 --- a/test/cypress/plugins/index.mjs +++ b/test/cypress/plugins/index.mjs @@ -1,3 +1,4 @@ +import { plugin as cypressGrepPlugin } from "@cypress/grep/plugin"; import { SwaggerValidation } from "@jc21/cypress-swagger-validation"; import chalk from "chalk"; import backendTask from "./backendApi/task.mjs"; @@ -11,6 +12,8 @@ export default (on, config) => { ); } + cypressGrepPlugin(config); + // Plugin Events on("task", SwaggerValidation(config)); on("task", backendTask(config)); @@ -22,9 +25,9 @@ export default (on, config) => { return null; }, }); - on('task', { + on("task", { getFixturesFolder() { - return config.fixturesFolder + return config.fixturesFolder; }, }); diff --git a/test/cypress/support/e2e.js b/test/cypress/support/e2e.js index 2d8a13a76b..f8ef2a6949 100644 --- a/test/cypress/support/e2e.js +++ b/test/cypress/support/e2e.js @@ -1,6 +1,10 @@ -import './commands.mjs'; +import "./commands.mjs"; -Cypress.on('uncaught:exception', (/*err, runnable*/) => { +import { register as registerCypressGrep } from "@cypress/grep"; + +registerCypressGrep(); + +Cypress.on("uncaught:exception", (/*err, runnable*/) => { // returning false here prevents Cypress from // failing the test return false; diff --git a/test/package.json b/test/package.json index 555bb6c29c..c1a79d9b88 100644 --- a/test/package.json +++ b/test/package.json @@ -4,6 +4,7 @@ "description": "", "main": "index.js", "dependencies": { + "@cypress/grep": "^6.0.0", "@jc21/cypress-swagger-validation": "^0.3.2", "@quobix/vacuum": "^0.26.4", "axios": "^1.16.0", diff --git a/test/yarn.lock b/test/yarn.lock index 57e4b47328..515ef259e8 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -43,6 +43,52 @@ ajv-draft-04 "^1.0.0" call-me-maybe "^1.0.2" +"@babel/helper-plugin-utils@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz#c0a0766f1a13617d8a17407d7ab8f9d486225ea4" + integrity sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw== + +"@babel/helper-string-parser@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz#7f0871d99824d23137d60f86fcf6130fd5a1b51f" + integrity sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw== + +"@babel/helper-validator-identifier@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz#bd87084ced0c796ec46bda492de6e83d29e89fc2" + integrity sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== + +"@babel/parser@^7.27.2": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.7.tgz#837b87387cbf5ec5530cb634b3c622f68edb9334" + integrity sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg== + dependencies: + "@babel/types" "^7.29.7" + +"@babel/plugin-syntax-jsx@^7.27.1": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz#622c16f9ad63782fe6e83dadc7e40330744b7f1e" + integrity sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/types@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.7.tgz#8005e31d82712ee7adaef6e23c63b71a62770a92" + integrity sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA== + dependencies: + "@babel/helper-string-parser" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + +"@cypress/grep@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@cypress/grep/-/grep-6.0.0.tgz#fcc5f42d0086464e2752c4d84ac563c3cd21eb77" + integrity sha512-n3PCeqt8OwmLFz310igbRUm3qDE5WJgM9LW+2ejdULfMu2Sudqg3UX8koC8/JU/+ZcJ5UbaQAap1Nbi0QvzXwA== + dependencies: + debug "^4.3.4" + find-test-names "^1.28.18" + globby "^11.0.4" + "@cypress/request@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@cypress/request/-/request-4.0.0.tgz#2bc3a10a7d50f338dc644dc5fd14a60107c6f3e2" @@ -185,6 +231,27 @@ resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + 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.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.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" + fastq "^1.6.0" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -248,7 +315,14 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.16.0: +acorn-walk@^8.2.0: + version "8.3.5" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.5.tgz#8a6b8ca8fc5b34685af15dabb44118663c296496" + integrity sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.16.0: version "8.16.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== @@ -329,6 +403,11 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" @@ -416,6 +495,13 @@ brace-expansion@^5.0.5: dependencies: balanced-match "^4.0.2" +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + browser-stdout@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -673,7 +759,7 @@ dayjs@^1.10.4: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.19.tgz#15dc98e854bb43917f12021806af897c58ae2938" integrity sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw== -debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: +debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -707,6 +793,13 @@ diff@^7.0.0: resolved "https://registry.yarnpkg.com/diff/-/diff-7.0.0.tgz#3fb34d387cd76d803f6eebea67b921dab0182a9a" integrity sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw== +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + dunder-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" @@ -983,6 +1076,17 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-glob@^3.2.9: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + 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.8" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -998,6 +1102,13 @@ fast-uri@^3.0.1: resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec" integrity sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ== +fastq@^1.6.0: + version "1.20.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.20.1.tgz#ca750a10dc925bc8b18839fd203e3ef4b3ced675" + integrity sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw== + dependencies: + reusify "^1.0.4" + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -1005,6 +1116,11 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" @@ -1020,6 +1136,25 @@ file-entry-cache@^8.0.0: dependencies: flat-cache "^4.0.0" +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-test-names@^1.28.18: + version "1.29.19" + resolved "https://registry.yarnpkg.com/find-test-names/-/find-test-names-1.29.19.tgz#365a18aefbc55f88ba5c96b01145c9b616b0d0d2" + integrity sha512-fSO2GXgOU6dH+FdffmRXYN/kLdnd8zkBGIZrKsmAdfLSFUUDLpDFF7+F/h+wjmjDWQmMgD8hPfJZR+igiEUQHQ== + dependencies: + "@babel/parser" "^7.27.2" + "@babel/plugin-syntax-jsx" "^7.27.1" + acorn-walk "^8.2.0" + debug "^4.3.3" + simple-bin-help "^1.8.0" + tinyglobby "^0.2.13" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -1145,6 +1280,13 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" @@ -1176,6 +1318,18 @@ globals@^17.6.0: resolved "https://registry.yarnpkg.com/globals/-/globals-17.6.0.tgz#0f0be018d5cca8690e6375ead1f65c4bb96191fc" integrity sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA== +globby@^11.0.4: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + gopd@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" @@ -1287,7 +1441,7 @@ is-fullwidth-code-point@^5.0.0, is-fullwidth-code-point@^5.1.0: dependencies: get-east-asian-width "^1.3.1" -is-glob@^4.0.0, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -1302,6 +1456,11 @@ is-installed-globally@~0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -1508,6 +1667,19 @@ merge-stream@^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, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.8: + 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" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -1720,6 +1892,11 @@ path-scurry@^1.11.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.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" @@ -1735,6 +1912,16 @@ picocolors@^1.1.0, picocolors@^1.1.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== +picomatch@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== + +picomatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" + integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== + pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -1785,6 +1972,11 @@ qs@~6.14.1: dependencies: side-channel "^1.1.0" +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -1822,11 +2014,23 @@ restore-cursor@^5.0.0: onetime "^7.0.0" signal-exit "^4.1.0" +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + rfdc@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== +run-parallel@^1.1.9: + version "1.2.0" + 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-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -1911,6 +2115,16 @@ signal-exit@^4.0.1, signal-exit@^4.1.0: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== +simple-bin-help@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/simple-bin-help/-/simple-bin-help-1.8.0.tgz#21bb82c6bccd9fa8678f9c0fadf2956b54e2160a" + integrity sha512-0LxHn+P1lF5r2WwVB/za3hLRIsYoLaNq1CXqjbrs3ZvLuvlWnRKrUjEWzV7umZL7hpQ7xULiQMV+0iXdRa5iFg== + +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@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.2.tgz#adf7be70aa6d72162d907cd0e6d5c11f507b5403" @@ -2071,6 +2285,14 @@ throttleit@^1.0.0: resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== +tinyglobby@^0.2.13: + version "0.2.16" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" + integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.4" + tldts-core@^6.1.86: version "6.1.86" resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.86.tgz#a93e6ed9d505cb54c542ce43feb14c73913265d8" @@ -2088,6 +2310,13 @@ tmp@~0.2.4: resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== +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" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + tough-cookie@^5.0.0: version "5.1.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.1.2.tgz#66d774b4a1d9e12dc75089725af3ac75ec31bed7" From 553a69a9efed60ed009b2b0a0df1ab18fe22d2f1 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 27 May 2026 07:54:23 +1000 Subject: [PATCH 102/113] Adds Certbot document to docs site --- docs/.vitepress/config.mts | 111 ++++++++++++++++++++++++++----------- docs/src/certbot/index.md | 38 +++++++++++++ 2 files changed, 116 insertions(+), 33 deletions(-) create mode 100644 docs/src/certbot/index.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 52586bfc3b..b6f6f3f660 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -1,4 +1,4 @@ -import { defineConfig, type DefaultTheme } from 'vitepress'; +import { defineConfig } from "vitepress"; // https://vitepress.dev/reference/site-config export default defineConfig({ @@ -6,56 +6,101 @@ export default defineConfig({ description: "Expose your services easily and securely", head: [ ["link", { rel: "icon", href: "/icon.png" }], - ["meta", { name: "description", content: "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt" }], + [ + "meta", + { + name: "description", + content: + "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt", + }, + ], ["meta", { property: "og:title", content: "Nginx Proxy Manager" }], - ["meta", { property: "og:description", content: "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt"}], + [ + "meta", + { + property: "og:description", + content: + "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt", + }, + ], ["meta", { property: "og:type", content: "website" }], ["meta", { property: "og:url", content: "https://nginxproxymanager.com/" }], - ["meta", { property: "og:image", content: "https://nginxproxymanager.com/icon.png" }], - ["meta", { name: "twitter:card", content: "summary"}], - ["meta", { name: "twitter:title", content: "Nginx Proxy Manager"}], - ["meta", { name: "twitter:description", content: "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt"}], - ["meta", { name: "twitter:image", content: "https://nginxproxymanager.com/icon.png"}], - ["meta", { name: "twitter:alt", content: "Nginx Proxy Manager"}], + [ + "meta", + { + property: "og:image", + content: "https://nginxproxymanager.com/icon.png", + }, + ], + ["meta", { name: "twitter:card", content: "summary" }], + ["meta", { name: "twitter:title", content: "Nginx Proxy Manager" }], + [ + "meta", + { + name: "twitter:description", + content: + "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt", + }, + ], + [ + "meta", + { + name: "twitter:image", + content: "https://nginxproxymanager.com/icon.png", + }, + ], + ["meta", { name: "twitter:alt", content: "Nginx Proxy Manager" }], // GA - ['script', { async: 'true', src: 'https://www.googletagmanager.com/gtag/js?id=G-TXT8F5WY5B'}], - ['script', {}, "window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-TXT8F5WY5B');"], + [ + "script", + { + async: "true", + src: "https://www.googletagmanager.com/gtag/js?id=G-TXT8F5WY5B", + }, + ], + [ + "script", + {}, + "window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-TXT8F5WY5B');", + ], ], sitemap: { - hostname: 'https://nginxproxymanager.com' + hostname: "https://nginxproxymanager.com", }, metaChunk: true, - srcDir: './src', - outDir: './dist', + srcDir: "./src", + outDir: "./dist", themeConfig: { // https://vitepress.dev/reference/default-theme-config - logo: { src: '/logo.svg', width: 24, height: 24 }, - nav: [ - { text: 'Setup', link: '/setup/' }, - ], + logo: { src: "/logo.svg", width: 24, height: 24 }, + nav: [{ text: "Setup", link: "/setup/" }], sidebar: [ { items: [ // { text: 'Home', link: '/' }, - { text: 'Guide', link: '/guide/' }, - { text: 'Screenshots', link: '/screenshots/' }, - { text: 'Setup Instructions', link: '/setup/' }, - { text: 'Advanced Configuration', link: '/advanced-config/' }, - { text: 'Upgrading', link: '/upgrading/' }, - { text: 'Frequently Asked Questions', link: '/faq/' }, - { text: 'Third Party', link: '/third-party/' }, - ] - } + { text: "Guide", link: "/guide/" }, + { text: "Screenshots", link: "/screenshots/" }, + { text: "Setup Instructions", link: "/setup/" }, + { text: "Advanced Configuration", link: "/advanced-config/" }, + { text: "Upgrading", link: "/upgrading/" }, + { text: "Frequently Asked Questions", link: "/faq/" }, + { text: "Certbot", link: "/certbot/" }, + { text: "Third Party", link: "/third-party/" }, + ], + }, ], socialLinks: [ - { icon: 'github', link: 'https://github.com/NginxProxyManager/nginx-proxy-manager' } + { + icon: "github", + link: "https://github.com/NginxProxyManager/nginx-proxy-manager", + }, ], search: { - provider: 'local' + provider: "local", }, footer: { - message: 'Released under the MIT License.', - copyright: 'Copyright © 2016-present jc21.com' - } - } + message: "Released under the MIT License.", + copyright: "Copyright © 2016-present jc21.com", + }, + }, }); diff --git a/docs/src/certbot/index.md b/docs/src/certbot/index.md new file mode 100644 index 0000000000..f8845367c5 --- /dev/null +++ b/docs/src/certbot/index.md @@ -0,0 +1,38 @@ +--- +outline: deep +--- + +## Certbot DNS plugins in Nginx Proxy Manager + +Nginx Proxy Manager uses Certbot to issue and renew Let’s Encrypt certificates. + +When you request a certificate using a DNS challenge, Nginx Proxy Manager installs +the corresponding Certbot DNS plugin for the provider you selected. The available +providers and package versions are defined in +⁠[certbot-dns-plugins.json](https://github.com/NginxProxyManager/nginx-proxy-manager/blob/develop/backend/certbot/dns-plugins.json). + +## Important limitations + +DNS plugins are maintained independently from Certbot and from Nginx Proxy Manager. As a result: +- Some plugins may lag behind current Certbot or dependency versions. +- A plugin may install package versions that conflict with other Certbot components. +- Support quality varies between providers, and not every plugin is regularly tested in Nginx Proxy Manager. + +::: warning +Using more than one DNS provider in the same Nginx Proxy Manager instance may introduce Python +dependency conflicts between Certbot plugins. +::: + +## If a DNS plugin does not work + +1. Check the Nginx Proxy Manager container logs for Certbot or Python package installation errors. +2. Identify the plugin package and version defined for your provider in +⁠[certbot-dns-plugins.json](https://github.com/NginxProxyManager/nginx-proxy-manager/blob/develop/backend/certbot/dns-plugins.json). +3. Check [PyPI](https://pypi.org/) or the plugin project for a newer compatible release. +4. If needed, update the plugin definition, including any required dependency pins. +5. Submitting a pull request and CI will build a testable docker image for you. + +## File reference + +Use this file when reviewing or updating provider definitions: +- ⁠[certbot-dns-plugins.json](https://github.com/NginxProxyManager/nginx-proxy-manager/blob/develop/backend/certbot/dns-plugins.json) From c94cbb235bf4e20aff3bf47abd4f3745b9f42a22 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 May 2026 22:28:25 +0000 Subject: [PATCH 103/113] Bump the prod-patch-updates group across 1 directory with 3 updates Bumps the prod-patch-updates group with 3 updates in the /test directory: [@quobix/vacuum](https://github.com/daveshanley/vacuum), [axios](https://github.com/axios/axios) and [mocha](https://github.com/mochajs/mocha). Updates `@quobix/vacuum` from 0.26.4 to 0.26.8 - [Release notes](https://github.com/daveshanley/vacuum/releases) - [Commits](https://github.com/daveshanley/vacuum/compare/v0.26.4...v0.26.8) Updates `axios` from 1.16.0 to 1.16.1 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.16.0...v1.16.1) Updates `mocha` from 11.7.5 to 11.7.6 - [Release notes](https://github.com/mochajs/mocha/releases) - [Changelog](https://github.com/mochajs/mocha/blob/v11.7.6/CHANGELOG.md) - [Commits](https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6) --- updated-dependencies: - dependency-name: "@quobix/vacuum" dependency-version: 0.26.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates - dependency-name: axios dependency-version: 1.16.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates - dependency-name: mocha dependency-version: 11.7.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 515ef259e8..f2c5b3e144 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -258,9 +258,9 @@ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@quobix/vacuum@^0.26.4": - version "0.26.4" - resolved "https://registry.yarnpkg.com/@quobix/vacuum/-/vacuum-0.26.4.tgz#b3b2af1cf14edffeb9e5fcdb02db8871d92c1b7c" - integrity sha512-jSfJJtN20ypOHHvN6tWPF1j0RkgjebVfHDuF+eiLV/Nt/QwQ1wJpEb4bVVJWh25cK4FiuoW7yNLSDwegQLqETA== + version "0.26.8" + resolved "https://registry.yarnpkg.com/@quobix/vacuum/-/vacuum-0.26.8.tgz#1a912c10655ab59c5af7179ff0cbe76609fb44de" + integrity sha512-iTF9MScMs+oqoE9QXQZxo6AfyZMg5YOtAL97oLuZ6/1TBRiq/+tRK2STtaVFxs5Vd05xHeO9hRdssUurzmkIpQ== dependencies: https-proxy-agent "^7.0.6" node-fetch "^3.3.2" @@ -327,6 +327,13 @@ acorn@^8.11.0, acorn@^8.16.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== +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@^7.1.2: version "7.1.4" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" @@ -441,12 +448,13 @@ aws4@^1.8.0: integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== axios@^1.16.0, axios@^1.7.7: - version "1.16.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.16.0.tgz#f8e5dd931cef2a5f8c32216d5784eda2f8750eb7" - integrity sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w== + version "1.16.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.16.1.tgz#517e29291d19d6e8cf919ff264f4fe157261ba12" + integrity sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A== dependencies: follow-redirects "^1.16.0" form-data "^4.0.5" + https-proxy-agent "^5.0.1" proxy-from-env "^2.1.0" balanced-match@^1.0.0: @@ -1386,6 +1394,14 @@ http-signature@~1.4.0: jsprim "^2.0.2" sshpk "^1.18.0" +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + https-proxy-agent@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" @@ -1750,9 +1766,9 @@ mocha-junit-reporter@^2.2.1: xml "^1.0.1" mocha@^11.7.5: - version "11.7.5" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.5.tgz#58f5bbfa5e0211ce7e5ee6128107cefc2515a627" - integrity sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig== + version "11.7.6" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.6.tgz#ebbe22989d04cbb9424a36307320476624c41a33" + integrity sha512-nS9xOGbw2I3cjCpxwZAEJ9xK9lmJ08vEkQvLtz4du9ZrF9UrjRpeJGiIgl2Z+Qs++pmB4ecDe48Fwsh+j+j7xA== dependencies: browser-stdout "^1.3.1" chokidar "^4.0.1" From 33bf6d412d3228b334a16cd32895d0abdedbaa06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 May 2026 22:29:03 +0000 Subject: [PATCH 104/113] Bump the dev-minor-updates group across 1 directory with 4 updates Bumps the dev-minor-updates group with 4 updates in the /frontend directory: [@formatjs/cli](https://github.com/formatjs/formatjs), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [sass](https://github.com/sass/dart-sass) and [vite-plugin-checker](https://github.com/fi3ework/vite-plugin-checker). Updates `@formatjs/cli` from 6.15.0 to 6.16.3 - [Release notes](https://github.com/formatjs/formatjs/releases) - [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/cli@6.15.0...@formatjs/cli@6.16.3) Updates `@types/node` from 25.7.0 to 25.9.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `sass` from 1.99.0 to 1.100.0 - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.99.0...1.100.0) Updates `vite-plugin-checker` from 0.13.0 to 0.14.1 - [Release notes](https://github.com/fi3ework/vite-plugin-checker/releases) - [Commits](https://github.com/fi3ework/vite-plugin-checker/compare/vite-plugin-checker@0.13.0...vite-plugin-checker@0.14.1) --- updated-dependencies: - dependency-name: "@formatjs/cli" dependency-version: 6.16.3 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-minor-updates - dependency-name: "@types/node" dependency-version: 25.9.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-minor-updates - dependency-name: sass dependency-version: 1.100.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-minor-updates - dependency-name: vite-plugin-checker dependency-version: 0.14.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-minor-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 8 ++-- frontend/yarn.lock | 99 ++++++++++++++++++++----------------------- 2 files changed, 50 insertions(+), 57 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 1d98b5d48e..e06d21bb5a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -41,14 +41,14 @@ }, "devDependencies": { "@biomejs/biome": "^2.4.15", - "@formatjs/cli": "^6.15.0", + "@formatjs/cli": "^6.16.3", "@tanstack/react-query-devtools": "^5.100.10", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/country-flag-icons": "^1.2.2", "@types/humps": "^2.0.6", - "@types/node": "^25.7.0", + "@types/node": "^25.9.1", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/react-table": "^7.7.20", @@ -56,11 +56,11 @@ "happy-dom": "^20.9.0", "postcss": "^8.5.14", "postcss-simple-vars": "^7.0.1", - "sass": "^1.99.0", + "sass": "^1.100.0", "tmp": "^0.2.5", "typescript": "6.0.3", "vite": "^8.0.12", - "vite-plugin-checker": "^0.13.0", + "vite-plugin-checker": "^0.14.1", "vitest": "^4.1.6" } } diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 7895399f0a..9bc6efd340 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -7,7 +7,7 @@ resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.4.tgz#2856c55443d3d461693f32d2b96fb6ea92e1ffa9" integrity sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" integrity sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== @@ -281,18 +281,30 @@ resolved "https://registry.yarnpkg.com/@formatjs/cli-native-darwin-arm64/-/cli-native-darwin-arm64-1.1.0.tgz#c47df2ec7c1d27643900af77c474bd224b4587dc" integrity sha512-ygEpFpmRjbAKanWaeto/eUItyuK18667mdDzpDg3CTzc15WYzjZKnwJNFUuPFvFA4hiod1tnhXT1eiXmc1wWNg== +"@formatjs/cli-native-linux-arm64@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@formatjs/cli-native-linux-arm64/-/cli-native-linux-arm64-1.2.0.tgz#3ddcafb006351417e82785b809a1ab1fbbb2c577" + integrity sha512-G6YuIVD8D6hZjnsD/aYZQ2qMHSve7IadEiXgKiDfFQBbyrkjDAlt6LDSqq4qnuv3WJ7/jAOn/An6n/bGyt0rLg== + "@formatjs/cli-native-linux-x64@1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@formatjs/cli-native-linux-x64/-/cli-native-linux-x64-1.1.0.tgz#1a3f01ea47f971a0dd0d7f49b98df237375862fa" integrity sha512-AxORf5LR14HvXU4ov9gnhLrNIS2DYKqKMkRkprUhuh+ljba1riF05msK8KzslEPYQoeYKc5A0OZp57poh4xz/g== -"@formatjs/cli@^6.15.0": - version "6.15.0" - resolved "https://registry.yarnpkg.com/@formatjs/cli/-/cli-6.15.0.tgz#060fc613f3121f7a90b46ca41e9f23ac9e501155" - integrity sha512-U8kd1jf7JEEZRhEranEiCv+QWdD+Spz+GUQRuaLyACCDp1q1wWIxdNAR3UETwD3Q37CAajHeMYSVfVBzfGj79g== +"@formatjs/cli-native-win32-x64@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@formatjs/cli-native-win32-x64/-/cli-native-win32-x64-1.1.1.tgz#a911b22c8f5ccfe4aff5a00276ee4274f4b81079" + integrity sha512-2vYgm7dzAb7wA9KjOOJGxZiSShwBNK4dEmgiJ1lRpEIz6RKMZ6wBY4UVn03VdAv8djJ7r6RK4Xyd2ouGcbh9Bg== + +"@formatjs/cli@^6.16.3": + version "6.16.3" + resolved "https://registry.yarnpkg.com/@formatjs/cli/-/cli-6.16.3.tgz#728a17c1deaf1fec0ace554b2c72695f18253231" + integrity sha512-AN6uZR1xnl3V215HHJiKiA+DvNMrO/XfQ7hOyq3gXfHJwKSgLLQFtSFxw9A1O0SaGC2E2Kwo4mqwS1ZCLGe/qw== optionalDependencies: "@formatjs/cli-native-darwin-arm64" "1.1.0" + "@formatjs/cli-native-linux-arm64" "1.2.0" "@formatjs/cli-native-linux-x64" "1.1.0" + "@formatjs/cli-native-win32-x64" "1.1.1" "@formatjs/fast-memoize@3.1.5": version "3.1.5" @@ -772,19 +784,12 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== -"@types/node@*", "@types/node@>=20.0.0": - version "25.3.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.3.0.tgz#749b1bd4058e51b72e22bd41e9eab6ebd0180470" - integrity sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A== +"@types/node@*", "@types/node@>=20.0.0", "@types/node@^25.9.1": + version "25.9.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.9.1.tgz#3bda556db500ae4319c08e7fc9ab94f19013ba0b" + integrity sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg== dependencies: - undici-types "~7.18.0" - -"@types/node@^25.7.0": - version "25.7.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.7.0.tgz#7498f82e90dbdce7c34b75aaaa256c498a0ebe6c" - integrity sha512-z+pdZyxE+RTQE9AcboAZCb4otwcrvgHD+GlBpPgn0emDVt0ohrTMhAwlr2Wd9nZ+nihhYFxO2pThz3C5qSu2Eg== - dependencies: - undici-types "~7.21.0" + undici-types ">=7.24.0 <7.24.7" "@types/parse-json@^4.0.0": version "4.0.2" @@ -1027,12 +1032,12 @@ character-reference-invalid@^2.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== -chokidar@^4.0.0, chokidar@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" - integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== +chokidar@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-5.0.0.tgz#949c126a9238a80792be9a0265934f098af369a5" + integrity sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw== dependencies: - readdirp "^4.0.1" + readdirp "^5.0.0" classnames@^2.3.2, classnames@^2.5.1: version "2.5.1" @@ -2278,10 +2283,10 @@ react@^19.2.6: resolved "https://registry.yarnpkg.com/react/-/react-19.2.6.tgz#3dadb8e12b2a7934c1d5317973e5dce1301f9a4d" integrity sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q== -readdirp@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" - integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== +readdirp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-5.0.0.tgz#fbf1f71a727891d685bb1786f9ba74084f6e2f91" + integrity sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ== redent@^3.0.0: version "3.0.0" @@ -2422,12 +2427,12 @@ safe-buffer@^5.1.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -sass@^1.99.0: - version "1.99.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.99.0.tgz#ff9d1594da4886249dfaafabbeea2dea2dc74b26" - integrity sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q== +sass@^1.100.0: + version "1.100.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.100.0.tgz#b4cab1bed286fe22ac6c879c514f71cd36aa06c8" + integrity sha512-B5j0rYMlinhhOo9tjQebMVVn0TfyXAF+wB3b2ggZUuJ/is/Y+7+JGjirAMxHZ9Z3hIP98NPfamlAkBHa1lAaXQ== dependencies: - chokidar "^4.0.0" + chokidar "^5.0.0" immutable "^5.1.5" source-map-js ">=0.6.2 <2.0.0" optionalDependencies: @@ -2603,15 +2608,10 @@ uncontrollable@^8.0.4: resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-8.0.4.tgz#a0a8307f638795162fafd0550f4a1efa0f8c5eb6" integrity sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ== -undici-types@~7.18.0: - version "7.18.2" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" - integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== - -undici-types@~7.21.0: - version "7.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.21.0.tgz#433f7dd1b5daa9ab4dacb721a5e11a8de51eadda" - integrity sha512-w9IMgQrz4O0YN1LtB7K5P63vhlIOvC7opSmouCJ+ZywlPAlO9gIkJ+otk6LvGpAs2wg4econaCz3TvQ9xPoyuQ== +"undici-types@>=7.24.0 <7.24.7": + version "7.24.6" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.24.6.tgz#61275b485d7fd4e9d269c7cf04ec2873c9cc0f91" + integrity sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg== unicorn-magic@^0.3.0: version "0.3.0" @@ -2712,20 +2712,18 @@ vfile@^6.0.0: "@types/unist" "^3.0.0" vfile-message "^4.0.0" -vite-plugin-checker@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/vite-plugin-checker/-/vite-plugin-checker-0.13.0.tgz#5593c19281a201546c81ee66c79e0c097ba5140a" - integrity sha512-14EkOZmfinVZNxRmg2uCNDwtqGc/33lU/UEJansHgu27+ad+r6mMBf1Xtnq57jGZWiO/xzwtiEKPYsganw7ZFQ== +vite-plugin-checker@^0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/vite-plugin-checker/-/vite-plugin-checker-0.14.1.tgz#0fe694c6d90905c9da7658772fadab4823d7b881" + integrity sha512-Mv8oQc9XYBYf+XkP/riqqQCt8lBP6Iad75PZPho1lHRrpxQI0BwX2gwE10enn4f6Hgc+PvR1F7N38KARcaJtzw== dependencies: - "@babel/code-frame" "^7.27.1" - chokidar "^4.0.3" + "@babel/code-frame" "^7.29.0" + chokidar "^5.0.0" npm-run-path "^6.0.0" picocolors "^1.1.1" picomatch "^4.0.4" proper-lockfile "^4.1.2" tiny-invariant "^1.3.3" - tinyglobby "^0.2.15" - vscode-uri "^3.1.0" "vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^8.0.12: version "8.0.12" @@ -2766,11 +2764,6 @@ vitest@^4.1.6: vite "^6.0.0 || ^7.0.0 || ^8.0.0" why-is-node-running "^2.3.0" -vscode-uri@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.1.0.tgz#dd09ec5a66a38b5c3fffc774015713496d14e09c" - integrity sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ== - warning@^4.0.0, warning@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" From a47d401d867b4c9e26b7a39d0c89c0be71a0e3b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 May 2026 22:53:22 +0000 Subject: [PATCH 105/113] Bump qs from 6.15.0 to 6.15.2 in /backend Bumps [qs](https://github.com/ljharb/qs) from 6.15.0 to 6.15.2. - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](https://github.com/ljharb/qs/compare/v6.15.0...v6.15.2) --- updated-dependencies: - dependency-name: qs dependency-version: 6.15.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index c1de2bee86..7d694dffdd 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -1887,9 +1887,9 @@ pump@^3.0.0: once "^1.3.1" qs@^6.14.0, qs@^6.14.1: - version "6.15.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.0.tgz#db8fd5d1b1d2d6b5b33adaf87429805f1909e7b3" - integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ== + version "6.15.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.2.tgz#fd55426d710403ddccc45e0f9eab16db7727ece9" + integrity sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw== dependencies: side-channel "^1.1.0" From 79a0deedf74b1338f235179a5e843e0cda8089d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 May 2026 22:54:37 +0000 Subject: [PATCH 106/113] Bump date-fns Bumps the prod-minor-updates group with 1 update in the /frontend directory: [date-fns](https://github.com/date-fns/date-fns). Updates `date-fns` from 4.1.0 to 4.3.0 - [Release notes](https://github.com/date-fns/date-fns/releases) - [Commits](https://github.com/date-fns/date-fns/compare/v4.1.0...v4.3.0) --- updated-dependencies: - dependency-name: date-fns dependency-version: 4.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 2 +- frontend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 1d98b5d48e..1c0a3a2763 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -23,7 +23,7 @@ "@uiw/react-textarea-code-editor": "^3.1.1", "classnames": "^2.5.1", "country-flag-icons": "^1.6.17", - "date-fns": "^4.1.0", + "date-fns": "^4.3.0", "ez-modal-react": "^1.0.5", "formik": "^2.4.9", "generate-password-browser": "^1.1.0", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 7895399f0a..fed04c492c 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1090,10 +1090,10 @@ csstype@^3.0.2, csstype@^3.2.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== -date-fns@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" - integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== +date-fns@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.3.0.tgz#95663b78f2be5ce664eb6606d94582acc39c77ba" + integrity sha512-OYcL+3N/jyWbYdFGqoMAhytDgxP9pbYPUUiRCOgn4Fewaadk9l/Wam4Avciiyp2BgkpfQyBV9B+ehnVJych+eQ== debug@^4.0.0, debug@^4.3.1: version "4.4.3" From 6bb9a901033ac1bcaa6ad63df14ab0c0b8bf8528 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 May 2026 22:54:39 +0000 Subject: [PATCH 107/113] Bump the prod-minor-updates group across 1 directory with 2 updates Bumps the prod-minor-updates group with 2 updates in the /backend directory: [liquidjs](https://github.com/harttle/liquidjs) and [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg). Updates `liquidjs` from 10.25.7 to 10.27.0 - [Release notes](https://github.com/harttle/liquidjs/releases) - [Changelog](https://github.com/harttle/liquidjs/blob/master/CHANGELOG.md) - [Commits](https://github.com/harttle/liquidjs/compare/v10.25.7...v10.27.0) Updates `pg` from 8.20.0 to 8.21.0 - [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md) - [Commits](https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg) --- updated-dependencies: - dependency-name: liquidjs dependency-version: 10.27.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates - dependency-name: pg dependency-version: 8.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] --- backend/package.json | 4 ++-- backend/yarn.lock | 56 ++++++++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/backend/package.json b/backend/package.json index 4cafa403d5..80ae74b45e 100644 --- a/backend/package.json +++ b/backend/package.json @@ -27,7 +27,7 @@ "gravatar": "^1.8.2", "jsonwebtoken": "^9.0.3", "knex": "3.2.10", - "liquidjs": "10.25.7", + "liquidjs": "10.27.0", "lodash": "^4.18.1", "moment": "^2.30.1", "mysql2": "^3.22.3", @@ -35,7 +35,7 @@ "objection": "3.1.5", "otplib": "^13.4.0", "path": "^0.12.7", - "pg": "^8.20.0", + "pg": "^8.21.0", "proxy-agent": "^8.0.1", "signale": "1.4.0", "sqlite3": "^6.0.1", diff --git a/backend/yarn.lock b/backend/yarn.lock index c1de2bee86..5e25d92410 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -1279,10 +1279,10 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" -liquidjs@10.25.7: - version "10.25.7" - resolved "https://registry.yarnpkg.com/liquidjs/-/liquidjs-10.25.7.tgz#75c5765ae42e04da30fba15ae20daab57c4a7a8c" - integrity sha512-rPCjJLiD4eDhQjvv964AeXFC+HbeYBbZrd7Z82Q6hqv1lX7G+5w4SJcKLn9CAAAwHI4aS3dTdo083UB79K3pDA== +liquidjs@10.27.0: + version "10.27.0" + resolved "https://registry.yarnpkg.com/liquidjs/-/liquidjs-10.27.0.tgz#e31dc4c539e1a26aee46c847b4e60a6ede32564a" + integrity sha512-tw/OA59K7aIBlMKIrKlumr37fiZUheShVHXY8cVctWisgY1p9mc5hreOvlreoS0wTiwlWk14Ya7305c2a/Cg5w== dependencies: commander "^10.0.0" @@ -1707,35 +1707,35 @@ path@^0.12.7: process "^0.11.1" util "^0.10.3" -pg-cloudflare@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz#386035d4bfcf1a7045b026f8b21acf5353f14d65" - integrity sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ== +pg-cloudflare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz#4b4c20e6d8ae531d400730f4804571a8d62f1497" + integrity sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A== pg-connection-string@2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.6.2.tgz#713d82053de4e2bd166fab70cd4f26ad36aab475" integrity sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== -pg-connection-string@^2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.12.0.tgz#4084f917902bb2daae3dc1376fe24ac7b4eaccf2" - integrity sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ== +pg-connection-string@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.13.0.tgz#8678113465a5af3cc977dcb51eadc847b27aa2de" + integrity sha512-EMnU9E2fSULdsbErBbMaXJvFeD9B4+nPcM3f+4lsiCR0BHLPrLVjv3DbyM2hgQQviKJaTWIRRTjKjWlHg3p2ig== pg-int8@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== -pg-pool@^3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.13.0.tgz#416482e9700e8f80c685a6ae5681697a413c13a3" - integrity sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA== +pg-pool@^3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.14.0.tgz#f35ae4eb846780cad71af24099b3edfa9781ad90" + integrity sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw== -pg-protocol@^1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.13.0.tgz#fdaf6d020bca590d58bb991b4b16fc448efe0511" - integrity sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w== +pg-protocol@^1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.14.0.tgz#c1f045b74274b007078c687147141f785f59b8de" + integrity sha512-n5taZ1kO3s9ngDTVxsEznOqCyToTgz0FLuPq0B33COy5pPpuWJpY3/2oRBVETuOgzdqRXfWpM9HIhp2LBBT1BA== pg-types@2.2.0: version "2.2.0" @@ -1748,18 +1748,18 @@ pg-types@2.2.0: postgres-date "~1.0.4" postgres-interval "^1.1.0" -pg@^8.20.0: - version "8.20.0" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.20.0.tgz#1a274de944cb329fd6dd77a6d371a005ba6b136d" - integrity sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA== +pg@^8.21.0: + version "8.21.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.21.0.tgz#d7fa2118d960cec5cc7d2b24525f9850dd5932b0" + integrity sha512-AUP1EYJuHraQGsVoCQVIcM7TEJVGtDzxWtGFZd8rds9d+CCXlU5Js1rYgfLNvxy9iJrpHjGrRjoi/3BT9fRyiA== dependencies: - pg-connection-string "^2.12.0" - pg-pool "^3.13.0" - pg-protocol "^1.13.0" + pg-connection-string "^2.13.0" + pg-pool "^3.14.0" + pg-protocol "^1.14.0" pg-types "2.2.0" pgpass "1.0.5" optionalDependencies: - pg-cloudflare "^1.3.0" + pg-cloudflare "^1.4.0" pgpass@1.0.5: version "1.0.5" From f2e8ab520222740323f9d47e0434eb1f571dfe12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 May 2026 22:54:40 +0000 Subject: [PATCH 108/113] Bump the prod-minor-updates group across 1 directory with 2 updates Bumps the prod-minor-updates group with 2 updates in the /test directory: [cypress](https://github.com/cypress-io/cypress) and [eslint](https://github.com/eslint/eslint). Updates `cypress` from 15.15.0 to 15.16.0 - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md) - [Commits](https://github.com/cypress-io/cypress/compare/v15.15.0...v15.16.0) Updates `eslint` from 10.3.0 to 10.4.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0) --- updated-dependencies: - dependency-name: cypress dependency-version: 15.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates - dependency-name: eslint dependency-version: 10.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] --- test/yarn.lock | 83 ++++++++++++-------------------------------------- 1 file changed, 20 insertions(+), 63 deletions(-) diff --git a/test/yarn.lock b/test/yarn.lock index 515ef259e8..9e6a06964c 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -141,10 +141,10 @@ debug "^4.3.1" minimatch "^10.2.4" -"@eslint/config-helpers@^0.5.5": - version "0.5.5" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.5.5.tgz#ae16134e4792ac5fbdc533548a24ac1ea9f7f3ae" - integrity sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w== +"@eslint/config-helpers@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.6.0.tgz#ef9a36881d39dfd5dbeac22b0da997fabfb08b03" + integrity sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA== dependencies: "@eslint/core" "^1.2.1" @@ -281,13 +281,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -"@types/node@*": - version "25.3.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.3.0.tgz#749b1bd4058e51b72e22bd41e9eab6ebd0180470" - integrity sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A== - dependencies: - undici-types "~7.18.0" - "@types/sinonjs__fake-timers@8.1.1": version "8.1.1" resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" @@ -303,13 +296,6 @@ resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.6.tgz#d785ee90c52d7cc020e249c948c36f7b32d1e217" integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -697,9 +683,9 @@ cypress-wait-until@^3.0.2: integrity sha512-iemies796dD5CgjG5kV0MnpEmKSH+s7O83ZoJLVzuVbZmm4lheMsZqAVT73hlMx4QlkwhxbyUzhOBUOZwoOe0w== cypress@^15.15.0: - version "15.15.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.15.0.tgz#5f9d9e8304636f7add7cb296130c0262960648bc" - integrity sha512-N8qBv3AUYn6xfIG73O5O58kTClUBSZ7a3C08IQFkSGTUdEauJ3BqwTFb/f9KPZgadftoZjllC0XSwD7xNNolbA== + version "15.16.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.16.0.tgz#482f77e6f85aee98b94a5ad844d36f69dc212c28" + integrity sha512-fy0M0c9xDLEp4v9y7LLKFeAQhIdDsobxDSKpD3JcZpqQefjy9TSzEyVV3HA0zu7hUi0bGHlSYlI7ASub8wgR9A== dependencies: "@cypress/request" "^4.0.0" "@cypress/xvfb" "^1.2.4" @@ -721,7 +707,6 @@ cypress@^15.15.0: eventemitter2 "6.4.7" execa "4.1.0" executable "^4.1.1" - extract-zip "2.0.1" fs-extra "^9.1.0" hasha "5.2.2" is-installed-globally "~0.4.0" @@ -740,7 +725,7 @@ cypress@^15.15.0: tree-kill "1.2.2" tslib "1.14.1" untildify "^4.0.0" - yauzl "^2.10.0" + yauzl "^3.3.1" dashdash@^1.12.0: version "1.14.1" @@ -759,7 +744,7 @@ dayjs@^1.10.4: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.19.tgz#15dc98e854bb43917f12021806af897c58ae2938" integrity sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw== -debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: +debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -935,14 +920,14 @@ eslint-visitor-keys@^5.0.1: integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== eslint@^10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.3.0.tgz#ed5b810eb8e0191bf24bddcf9cdb45b974e0a16d" - integrity sha512-XbEXaRva5cF0ZQB8w6MluHA0kZZfV2DuCMJ3ozyEOHLwDpZX2Lmm/7Pp0xdJmI0GL1W05VH5VwIFHEm1Vcw2gw== + version "10.4.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.4.0.tgz#d86b6c405de0f19f3318c47139b8cb6771b3f592" + integrity sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ== dependencies: "@eslint-community/eslint-utils" "^4.8.0" "@eslint-community/regexpp" "^4.12.2" "@eslint/config-array" "^0.23.5" - "@eslint/config-helpers" "^0.5.5" + "@eslint/config-helpers" "^0.6.0" "@eslint/core" "^1.2.1" "@eslint/plugin-kit" "^0.7.1" "@humanfs/node" "^0.16.6" @@ -1050,17 +1035,6 @@ extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -1109,13 +1083,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -fd-slicer@~1.1.0: - version "1.1.0" - 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" - fdir@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" @@ -1266,7 +1233,7 @@ get-proto@^1.0.1: dunder-proto "^1.0.1" es-object-atoms "^1.0.0" -get-stream@^5.0.0, get-stream@^5.1.0: +get-stream@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -1614,12 +1581,7 @@ lodash.once@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash@^4.17.21, lodash@^4.17.23: - version "4.17.23" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" - integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== - -lodash@^4.18.1: +lodash@^4.17.21, lodash@^4.17.23, lodash@^4.18.1: version "4.18.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== @@ -2363,11 +2325,6 @@ underscore@1.13.6: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== -undici-types@~7.18.0: - version "7.18.2" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" - integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== - universalify@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" @@ -2500,13 +2457,13 @@ yargs@^17.7.2: y18n "^5.0.5" yargs-parser "^21.1.1" -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== +yauzl@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-3.3.1.tgz#b0de68ae3a862715e130849679a4236f54dba45f" + integrity sha512-RNPCUkiE/ZgO4w8i9U5yDQVHaFDdnzaFANElRvpJteCspvmv2VqrRb9lvS6odVD+jqI/zDsxAHJVsafpcheVQQ== dependencies: buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" + pend "~1.2.0" yocto-queue@^0.1.0: version "0.1.0" From 5fd8a305089e674a54217f3fe3b6be34f0f5264e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 00:04:14 +0000 Subject: [PATCH 109/113] Bump the dev-patch-updates group across 1 directory with 7 updates Bumps the dev-patch-updates group with 7 updates in the /frontend directory: | Package | From | To | | --- | --- | --- | | [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.100.10` | `5.100.14` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` | | [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` | | [postcss](https://github.com/postcss/postcss) | `8.5.14` | `8.5.15` | | [tmp](https://github.com/raszi/node-tmp) | `0.2.5` | `0.2.6` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.12` | `8.0.14` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.6` | `4.1.7` | Updates `@tanstack/react-query-devtools` from 5.100.10 to 5.100.14 - [Release notes](https://github.com/TanStack/query/releases) - [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md) - [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.100.14/packages/react-query-devtools) Updates `@types/react` from 19.2.14 to 19.2.15 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@vitejs/plugin-react` from 6.0.1 to 6.0.2 - [Release notes](https://github.com/vitejs/vite-plugin-react/releases) - [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.2/packages/plugin-react) Updates `postcss` from 8.5.14 to 8.5.15 - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.5.14...8.5.15) Updates `tmp` from 0.2.5 to 0.2.6 - [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md) - [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.6) Updates `vite` from 8.0.12 to 8.0.14 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.0.14/packages/vite) Updates `vitest` from 4.1.6 to 4.1.7 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest) --- updated-dependencies: - dependency-name: "@tanstack/react-query-devtools" dependency-version: 5.100.14 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@types/react" dependency-version: 19.2.15 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@vitejs/plugin-react" dependency-version: 6.0.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: postcss dependency-version: 8.5.15 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: tmp dependency-version: 0.2.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: vite dependency-version: 8.0.14 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: vitest dependency-version: 4.1.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 14 +- frontend/yarn.lock | 361 ++++++++++++++++++++---------------------- 2 files changed, 181 insertions(+), 194 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index e06d21bb5a..5c36aaf8ea 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -42,25 +42,25 @@ "devDependencies": { "@biomejs/biome": "^2.4.15", "@formatjs/cli": "^6.16.3", - "@tanstack/react-query-devtools": "^5.100.10", + "@tanstack/react-query-devtools": "^5.100.14", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/country-flag-icons": "^1.2.2", "@types/humps": "^2.0.6", "@types/node": "^25.9.1", - "@types/react": "^19.2.14", + "@types/react": "^19.2.15", "@types/react-dom": "^19.2.3", "@types/react-table": "^7.7.20", - "@vitejs/plugin-react": "^6.0.1", + "@vitejs/plugin-react": "^6.0.2", "happy-dom": "^20.9.0", - "postcss": "^8.5.14", + "postcss": "^8.5.15", "postcss-simple-vars": "^7.0.1", "sass": "^1.100.0", - "tmp": "^0.2.5", + "tmp": "^0.2.6", "typescript": "6.0.3", - "vite": "^8.0.12", + "vite": "^8.0.14", "vite-plugin-checker": "^0.14.1", - "vitest": "^4.1.6" + "vitest": "^4.1.7" } } diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 9bc6efd340..ed2a1b5af5 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -372,10 +372,10 @@ dependencies: "@tybys/wasm-util" "^0.10.1" -"@oxc-project/types@=0.129.0": - version "0.129.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.129.0.tgz#8e6362388ce6092feafd14f3a73ae6407b1285d9" - integrity sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg== +"@oxc-project/types@=0.132.0": + version "0.132.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.132.0.tgz#d77243df4fe1a0a1e60e12ac6240fa898d2363ff" + integrity sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ== "@parcel/watcher-android-arm64@2.5.6": version "2.5.6" @@ -507,94 +507,89 @@ uncontrollable "^8.0.4" warning "^4.0.3" -"@rolldown/binding-android-arm64@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0.tgz#aefa7afdcabc1269b1933d50cad31013cb697143" - integrity sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA== +"@rolldown/binding-android-arm64@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz#ebe1264e43ba5bb224c58c85e0ac238f87e5ad14" + integrity sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ== -"@rolldown/binding-darwin-arm64@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0.tgz#83e708d97f9f8f3791e79ef8c24d5fcc5e8f29df" - integrity sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew== +"@rolldown/binding-darwin-arm64@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz#f972fb71bc03840629bee923babbb7048d14a5d0" + integrity sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w== -"@rolldown/binding-darwin-x64@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0.tgz#4649bb4db634850f6de2b2f1ec37fc39a18adcf8" - integrity sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ== +"@rolldown/binding-darwin-x64@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz#da1c062c135e1e50067084be5ab8055cc1e05b29" + integrity sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA== -"@rolldown/binding-freebsd-x64@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0.tgz#2b0e50fdc926fa9680dca9d6acc4c3729b7df899" - integrity sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ== +"@rolldown/binding-freebsd-x64@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz#a4c8532072705ce597c0d75418513709b75b3f1d" + integrity sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA== -"@rolldown/binding-linux-arm-gnueabihf@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0.tgz#8fd160371f4c160a2fa52de8f9ede51fbd43fc5b" - integrity sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A== +"@rolldown/binding-linux-arm-gnueabihf@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz#78f3bd274a1bab07356017d728b70289f04011c1" + integrity sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w== -"@rolldown/binding-linux-arm64-gnu@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0.tgz#9915488c96cb0fc49a70bd27c030def3cbbc8cbb" - integrity sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ== +"@rolldown/binding-linux-arm64-gnu@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz#4dc530aed0b554762ffc1a5e4f016b8be495eea0" + integrity sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig== -"@rolldown/binding-linux-arm64-musl@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0.tgz#74bb160f2747404eed2f917bea01b0548c783848" - integrity sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA== +"@rolldown/binding-linux-arm64-musl@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz#56043cdf4768ea3184bb08a3f45b24f183003877" + integrity sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw== -"@rolldown/binding-linux-ppc64-gnu@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0.tgz#fdc876160b6738ff34a7d719c4ea42edb38a70bc" - integrity sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg== +"@rolldown/binding-linux-ppc64-gnu@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz#92eba998d5cd9e4cfc8b95407b4b80f46dacadf4" + integrity sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA== -"@rolldown/binding-linux-s390x-gnu@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0.tgz#39668ce16e8c2ac16308fdb7116ebd5b44acab65" - integrity sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA== +"@rolldown/binding-linux-s390x-gnu@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz#50b0e95dc3c22af1ecd1669ad7e6030e6860819e" + integrity sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ== -"@rolldown/binding-linux-x64-gnu@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0.tgz#02a7e4a0fa3af90bf4e937ecd1f4c0dc07ab2397" - integrity sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA== +"@rolldown/binding-linux-x64-gnu@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz#d9fd5af004a373a2d26a09ce8fb66bd0927cbc0b" + integrity sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ== -"@rolldown/binding-linux-x64-musl@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0.tgz#610a08a3055d21f287c550e16a5541501883f2b1" - integrity sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw== +"@rolldown/binding-linux-x64-musl@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz#c0ad80adf4d4df430d0ec309e97924db85065c3c" + integrity sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw== -"@rolldown/binding-openharmony-arm64@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0.tgz#62e5da4d623b446a57c9f472b598fedaf5289a3d" - integrity sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig== +"@rolldown/binding-openharmony-arm64@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz#341fc254ef7759f865bb219beb5cea6f5c9a44f6" + integrity sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w== -"@rolldown/binding-wasm32-wasi@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0.tgz#57191a2986e7f43a920fc618da92f29b0b8123c9" - integrity sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg== +"@rolldown/binding-wasm32-wasi@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz#65f9389f74168fd54e67b12d0630fb90348051f0" + integrity sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ== dependencies: "@emnapi/core" "1.10.0" "@emnapi/runtime" "1.10.0" "@napi-rs/wasm-runtime" "^1.1.4" -"@rolldown/binding-win32-arm64-msvc@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0.tgz#77faf1e28521411bd0be6f4e55f3c4c5f17cd619" - integrity sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow== - -"@rolldown/binding-win32-x64-msvc@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0.tgz#980a8f9983b0bd3d35ee867ade85cb020eca27ba" - integrity sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg== +"@rolldown/binding-win32-arm64-msvc@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz#17e80f3402308f12c76ff4172768d51715b522ac" + integrity sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A== -"@rolldown/pluginutils@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0.tgz#d660b953fd500d552fc17213f279e29037f08c2d" - integrity sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ== +"@rolldown/binding-win32-x64-msvc@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz#875cfa37f26d11692dbe28b8331499c97aa99d1f" + integrity sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ== -"@rolldown/pluginutils@1.0.0-rc.7": - version "1.0.0-rc.7" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz#0414869467f0e471a6515d4f506c85fde867e022" - integrity sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA== +"@rolldown/pluginutils@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz#e3fcee093fbb5ce765e1ad088ff4de2889f6f9be" + integrity sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw== "@standard-schema/spec@^1.1.0": version "1.1.0" @@ -633,17 +628,17 @@ resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.100.10.tgz#aeb34d301fd4ff9762e67dfa018adc33b7a18be4" integrity sha512-8UR0yJR+GiQ40m3lPhUr0xbfAupe6GSQiksSBSa9SM2NjezFyxXCIA69/lz8cSoNKZLrw1/PktIyQBJcVeMi3w== -"@tanstack/query-devtools@5.100.10": - version "5.100.10" - resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.100.10.tgz#1972789fdc7c4cb9ec2062d51f25bc4dc655a27b" - integrity sha512-3DmJf25hDPus5IpVvp6ujXv6bKV2zPzI9vpbAmpJigsL/H6DPvPjmf7/Q9yVKEke//8fgeQ45abjgnLuyYxAiw== +"@tanstack/query-devtools@5.100.14": + version "5.100.14" + resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.100.14.tgz#1555c8e1e4ea74db85dd2faaea2b7b50e135faf1" + integrity sha512-g96SmSSQecYTYcyuAMRXr895GplJv01UGt7qttQWPOUyZ5EGz5tbRc589bMc2m5BsPFD6O0PCEAHdbDYNP6UBw== -"@tanstack/react-query-devtools@^5.100.10": - version "5.100.10" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.100.10.tgz#cca3479cc2c8b434637c31f8119fe6ff93e5832c" - integrity sha512-zes0+o9ef5rAZXJ9f/SeaLs2nufJaeVkZkl/Or9NGrWVF41kL9Od9ED9nCwtQlgiF2VGtrzhEw5AU/igAO+aAg== +"@tanstack/react-query-devtools@^5.100.14": + version "5.100.14" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.100.14.tgz#0774021fdc0b417a86b67b196d5ffb9820cff10c" + integrity sha512-JkP5VDgKOw3t/QSA1OABRHEqx8BuNs5MfvZRooNqdvN57SzTuGq3fKR1a2IH5rqa5HDLUm+FOXUEnB9ueHiLzg== dependencies: - "@tanstack/query-devtools" "5.100.10" + "@tanstack/query-devtools" "5.100.14" "@tanstack/react-query@^5.100.10": version "5.100.10" @@ -823,10 +818,10 @@ resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@*", "@types/react@>=16.9.11", "@types/react@^19.2.14": - version "19.2.14" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.14.tgz#39604929b5e3957e3a6fa0001dafb17c7af70bad" - integrity sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w== +"@types/react@*", "@types/react@>=16.9.11", "@types/react@^19.2.15": + version "19.2.15" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.15.tgz#9e2c6a4251a290f5c525c3143caa872fa6e01e0d" + integrity sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q== dependencies: csstype "^3.2.2" @@ -871,70 +866,70 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@vitejs/plugin-react@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz#d9113b71a0a592714913eafd9e5e63bcafd0ff15" - integrity sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ== +"@vitejs/plugin-react@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-6.0.2.tgz#f70cb8ed0ce225dbc3055d78070f820d8aa35eda" + integrity sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg== dependencies: - "@rolldown/pluginutils" "1.0.0-rc.7" + "@rolldown/pluginutils" "^1.0.0" -"@vitest/expect@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-4.1.6.tgz#b50c9390aae6957ab4d9e20722cebb17d5bf169a" - integrity sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg== +"@vitest/expect@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-4.1.7.tgz#dc2918d51b54fa24ac5b4e7e802ef7440a11027f" + integrity sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w== dependencies: "@standard-schema/spec" "^1.1.0" "@types/chai" "^5.2.2" - "@vitest/spy" "4.1.6" - "@vitest/utils" "4.1.6" + "@vitest/spy" "4.1.7" + "@vitest/utils" "4.1.7" chai "^6.2.2" tinyrainbow "^3.1.0" -"@vitest/mocker@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-4.1.6.tgz#6b624045745236b02aca879a02aef68b72d9d4cd" - integrity sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ== +"@vitest/mocker@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-4.1.7.tgz#05c5b42968b56057c40ea3e4546f3227cf1bf6fc" + integrity sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA== dependencies: - "@vitest/spy" "4.1.6" + "@vitest/spy" "4.1.7" estree-walker "^3.0.3" magic-string "^0.30.21" -"@vitest/pretty-format@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.6.tgz#24a1c03a6b68a8775f8ddfec51d3636315edc3f5" - integrity sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw== +"@vitest/pretty-format@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.7.tgz#86b37ea96d4c5bd1357be66982e60a89a343c1bb" + integrity sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw== dependencies: tinyrainbow "^3.1.0" -"@vitest/runner@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.1.6.tgz#b6d189e68bd9927c4f111ad089ff96e4757591b1" - integrity sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA== +"@vitest/runner@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.1.7.tgz#a7c465a76c0edc7deb1e8927dad452b71c5797b5" + integrity sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw== dependencies: - "@vitest/utils" "4.1.6" + "@vitest/utils" "4.1.7" pathe "^2.0.3" -"@vitest/snapshot@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-4.1.6.tgz#14fdfc8baf6b4b3e4e35763431dbea3aaa8aa0eb" - integrity sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw== +"@vitest/snapshot@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-4.1.7.tgz#03ca7bed0cb3f2ce37de9feee7a159ba5d4893a4" + integrity sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw== dependencies: - "@vitest/pretty-format" "4.1.6" - "@vitest/utils" "4.1.6" + "@vitest/pretty-format" "4.1.7" + "@vitest/utils" "4.1.7" magic-string "^0.30.21" pathe "^2.0.3" -"@vitest/spy@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-4.1.6.tgz#0a316893630f47fa545e33026cfc91575070d165" - integrity sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg== +"@vitest/spy@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-4.1.7.tgz#459de6b5f2c80cb589e612b2fa8170a33393dee9" + integrity sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q== -"@vitest/utils@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.6.tgz#3f4acf1f60e135ec1ce896f10baa4cd6466d0d38" - integrity sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ== +"@vitest/utils@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.7.tgz#8d2350588f7054246f24d0dbadffbef5d3a5caff" + integrity sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw== dependencies: - "@vitest/pretty-format" "4.1.6" + "@vitest/pretty-format" "4.1.7" convert-source-map "^2.0.0" tinyrainbow "^3.1.0" @@ -1972,10 +1967,10 @@ ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== +nanoid@^3.3.12: + version "3.3.12" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.12.tgz#ab3d912e217a6d0a514f00a72a16543a28982c05" + integrity sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ== node-addon-api@^7.0.0: version "7.1.1" @@ -2082,12 +2077,12 @@ postcss-simple-vars@^7.0.1: resolved "https://registry.yarnpkg.com/postcss-simple-vars/-/postcss-simple-vars-7.0.1.tgz#836b3097a54dcd13dbd3c36a5dbdd512fad2954c" integrity sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A== -postcss@^8.5.14: - version "8.5.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.14.tgz#a66c2d7808fadf69ebb5b84a03f8bafd76c4919c" - integrity sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg== +postcss@^8.5.15: + version "8.5.15" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.15.tgz#d1eaf677a324e9ec02196da2d3fecf4a0b9a735c" + integrity sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A== dependencies: - nanoid "^3.3.11" + nanoid "^3.3.12" picocolors "^1.1.1" source-map-js "^1.2.1" @@ -2386,29 +2381,29 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== -rolldown@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0.tgz#9baf1407c4117570f19f75f697c4a0216065d12e" - integrity sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA== +rolldown@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.2.tgz#ea2c786c5f063d08fd22b49e51997f15ec532bbd" + integrity sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g== dependencies: - "@oxc-project/types" "=0.129.0" - "@rolldown/pluginutils" "1.0.0" + "@oxc-project/types" "=0.132.0" + "@rolldown/pluginutils" "^1.0.0" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0" - "@rolldown/binding-darwin-arm64" "1.0.0" - "@rolldown/binding-darwin-x64" "1.0.0" - "@rolldown/binding-freebsd-x64" "1.0.0" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0" - "@rolldown/binding-linux-arm64-gnu" "1.0.0" - "@rolldown/binding-linux-arm64-musl" "1.0.0" - "@rolldown/binding-linux-ppc64-gnu" "1.0.0" - "@rolldown/binding-linux-s390x-gnu" "1.0.0" - "@rolldown/binding-linux-x64-gnu" "1.0.0" - "@rolldown/binding-linux-x64-musl" "1.0.0" - "@rolldown/binding-openharmony-arm64" "1.0.0" - "@rolldown/binding-wasm32-wasi" "1.0.0" - "@rolldown/binding-win32-arm64-msvc" "1.0.0" - "@rolldown/binding-win32-x64-msvc" "1.0.0" + "@rolldown/binding-android-arm64" "1.0.2" + "@rolldown/binding-darwin-arm64" "1.0.2" + "@rolldown/binding-darwin-x64" "1.0.2" + "@rolldown/binding-freebsd-x64" "1.0.2" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.2" + "@rolldown/binding-linux-arm64-gnu" "1.0.2" + "@rolldown/binding-linux-arm64-musl" "1.0.2" + "@rolldown/binding-linux-ppc64-gnu" "1.0.2" + "@rolldown/binding-linux-s390x-gnu" "1.0.2" + "@rolldown/binding-linux-x64-gnu" "1.0.2" + "@rolldown/binding-linux-x64-musl" "1.0.2" + "@rolldown/binding-openharmony-arm64" "1.0.2" + "@rolldown/binding-wasm32-wasi" "1.0.2" + "@rolldown/binding-win32-arm64-msvc" "1.0.2" + "@rolldown/binding-win32-x64-msvc" "1.0.2" rooks@^9.8.0: version "9.8.0" @@ -2547,15 +2542,7 @@ tinyexec@^1.0.2: resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.0.2.tgz#bdd2737fe2ba40bd6f918ae26642f264b99ca251" integrity sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg== -tinyglobby@^0.2.15: - version "0.2.15" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" - integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== - dependencies: - fdir "^6.5.0" - picomatch "^4.0.3" - -tinyglobby@^0.2.16: +tinyglobby@^0.2.15, tinyglobby@^0.2.16: version "0.2.16" resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== @@ -2568,10 +2555,10 @@ tinyrainbow@^3.1.0: resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.1.0.tgz#1d8a623893f95cf0a2ddb9e5d11150e191409421" integrity sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== -tmp@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" - integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== +tmp@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.6.tgz#0dfac10fd09a9319288eb0e8f0ed524604e183b4" + integrity sha512-5sJPdPjfI5Kx+qbrDesxkglRBxW//g7hCsqspEjwkewGvBMGIKMOTKzLt1hFVJzyadba3lDUN20O9qhvbQUSTA== trim-lines@^3.0.0: version "3.0.1" @@ -2725,31 +2712,31 @@ vite-plugin-checker@^0.14.1: proper-lockfile "^4.1.2" tiny-invariant "^1.3.3" -"vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^8.0.12: - version "8.0.12" - resolved "https://registry.yarnpkg.com/vite/-/vite-8.0.12.tgz#105cce7bcb60733f9159842ec2a5a10aadf2da86" - integrity sha512-w2dDofOWv2QB09ZITZBsvKTVAlYvPR4IAmrY/v0ir9KvLs0xybR7i48wxhM1/oyBWO34wPns+bPGw5ZrZqDpZg== +"vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^8.0.14: + version "8.0.14" + resolved "https://registry.yarnpkg.com/vite/-/vite-8.0.14.tgz#da5d8d1f63dbd106385cbe9c211acbc7a7a5b192" + integrity sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw== dependencies: lightningcss "^1.32.0" picomatch "^4.0.4" - postcss "^8.5.14" - rolldown "1.0.0" + postcss "^8.5.15" + rolldown "1.0.2" tinyglobby "^0.2.16" optionalDependencies: fsevents "~2.3.3" -vitest@^4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.1.6.tgz#754875c9a09c5a3e8ca7d07d440659d92c19787f" - integrity sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ== - dependencies: - "@vitest/expect" "4.1.6" - "@vitest/mocker" "4.1.6" - "@vitest/pretty-format" "4.1.6" - "@vitest/runner" "4.1.6" - "@vitest/snapshot" "4.1.6" - "@vitest/spy" "4.1.6" - "@vitest/utils" "4.1.6" +vitest@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.1.7.tgz#5ae483c0a901081bbf1428e07dafe80c36e62e6c" + integrity sha512-flYyaFd2CgoCoU+0UKt3pxksgC+S02iTDN0n3LtqaMeXsI9SBcdNujc2k0DeFLzUn/0k538yNjOSdwgCqcrwJA== + dependencies: + "@vitest/expect" "4.1.7" + "@vitest/mocker" "4.1.7" + "@vitest/pretty-format" "4.1.7" + "@vitest/runner" "4.1.7" + "@vitest/snapshot" "4.1.7" + "@vitest/spy" "4.1.7" + "@vitest/utils" "4.1.7" es-module-lexer "^2.0.0" expect-type "^1.3.0" magic-string "^0.30.21" From e703a9adc4928a15b34aa0fb14528a2aae67b56d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 00:04:39 +0000 Subject: [PATCH 110/113] Bump the prod-patch-updates group across 1 directory with 3 updates Bumps the prod-patch-updates group with 3 updates in the /frontend directory: [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query), [react-intl](https://github.com/formatjs/formatjs) and [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom). Updates `@tanstack/react-query` from 5.100.10 to 5.100.14 - [Release notes](https://github.com/TanStack/query/releases) - [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md) - [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.100.14/packages/react-query) Updates `react-intl` from 10.1.6 to 10.1.9 - [Release notes](https://github.com/formatjs/formatjs/releases) - [Commits](https://github.com/formatjs/formatjs/compare/react-intl@10.1.6...react-intl@10.1.9) Updates `react-router-dom` from 7.15.0 to 7.15.1 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.15.1/packages/react-router-dom) --- updated-dependencies: - dependency-name: "@tanstack/react-query" dependency-version: 5.100.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates - dependency-name: react-intl dependency-version: 10.1.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates - dependency-name: react-router-dom dependency-version: 7.15.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] --- frontend/package.json | 6 +-- frontend/yarn.lock | 90 +++++++++++++++++++++---------------------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index e06d21bb5a..a5d7b729ee 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -18,7 +18,7 @@ "dependencies": { "@tabler/core": "^1.4.0", "@tabler/icons-react": "^3.44.0", - "@tanstack/react-query": "^5.100.10", + "@tanstack/react-query": "^5.100.14", "@tanstack/react-table": "^8.21.3", "@uiw/react-textarea-code-editor": "^3.1.1", "classnames": "^2.5.1", @@ -32,9 +32,9 @@ "react": "^19.2.6", "react-bootstrap": "^2.10.10", "react-dom": "^19.2.6", - "react-intl": "^10.1.6", + "react-intl": "^10.1.9", "react-markdown": "^10.1.0", - "react-router-dom": "^7.15.0", + "react-router-dom": "^7.15.1", "react-select": "^5.10.2", "react-toastify": "^11.1.0", "rooks": "^9.8.0" diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 9bc6efd340..a666067291 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -311,26 +311,26 @@ resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-3.1.5.tgz#bdfe0b884cdecc25100534086f36a0b30bd15b3b" integrity sha512-KLi3fan6WnCHmigd9pmEEN8Hid0v4wiFBW576M/d07KMWYecf1CvyMI3n34vCmHT4AoVqG2n702kiHbXjzZX2A== -"@formatjs/icu-messageformat-parser@3.5.8": - version "3.5.8" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.8.tgz#73719113084e045ac9ce42c0bcec19016e3a8214" - integrity sha512-uZLvzLFN7iV2l8cbDdROwgKGtdELeLI4bpnsuz1DnyscHDxn8TdDE0anHzcfjtWK66XYCllGLV3Mi3CYcEPg/g== +"@formatjs/icu-messageformat-parser@3.5.10": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.10.tgz#0ced2d6e8009eed57c6f0e7b4cc51dfea63b9bff" + integrity sha512-XeJihYLy1lCe19xfK1KWKG/betBOK2rB0luL8lSkjfvJj0zP+LTJvkC+RKd0jsFI8mWxN71LrarHSrEXE8xxOQ== dependencies: - "@formatjs/icu-skeleton-parser" "2.1.8" + "@formatjs/icu-skeleton-parser" "2.1.9" -"@formatjs/icu-skeleton-parser@2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.8.tgz#a84262d173d5141d411fc41d24437b68800561ef" - integrity sha512-iX5i0O15gPf69l1WqmLFYwn7wq53lauvytvWFnHamIfX/5Ta56gpFj6fdeHRcKTV58IhrKv8QOvWfTYZYm7f+g== +"@formatjs/icu-skeleton-parser@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.9.tgz#746edae664b2ef148df1301845d1bb40000bbebb" + integrity sha512-rsxswgHMfU1zUgB2byc08fesf83wLGjFnzLCEtuf00mx2doiqc6pYrf67raI37XqdRcGUviQepk2UKGqpng74Q== -"@formatjs/intl@4.1.10": - version "4.1.10" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-4.1.10.tgz#960a75306264dd017f189c81919fd62bfc587368" - integrity sha512-Zv9FqRVdEFsHLsXGkcthyuXv4hlTLvbvTr4Fi16w+VCd7MSz2RtI18mXd4B44N7nuvF5be2+JGauU3QoJ2wELw== +"@formatjs/intl@4.1.12": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-4.1.12.tgz#a29521f9bba79df1690c430f3d2cee8817778674" + integrity sha512-r288ut+p+CUQZSg+0gAT+D0i6xgrnoxE0B4HTbPY2zei/AtYmFhlu87BKjgCf1CweH4pZIbr152JFjxO8jVb1A== dependencies: "@formatjs/fast-memoize" "3.1.5" - "@formatjs/icu-messageformat-parser" "3.5.8" - intl-messageformat "11.2.5" + "@formatjs/icu-messageformat-parser" "3.5.10" + intl-messageformat "11.2.7" "@jridgewell/gen-mapping@^0.3.12": version "0.3.13" @@ -628,10 +628,10 @@ resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.44.0.tgz#286b203aac98591e27360de03974762568bbb272" integrity sha512-Wn0AOZG9sg0L+bjfMqq4eNhC6pQjIrk94LvvWYNYkY8KH8wC3YILRzQlrnVJc4FUeMxH/AK97QsYCX35H3LndA== -"@tanstack/query-core@5.100.10": - version "5.100.10" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.100.10.tgz#aeb34d301fd4ff9762e67dfa018adc33b7a18be4" - integrity sha512-8UR0yJR+GiQ40m3lPhUr0xbfAupe6GSQiksSBSa9SM2NjezFyxXCIA69/lz8cSoNKZLrw1/PktIyQBJcVeMi3w== +"@tanstack/query-core@5.100.14": + version "5.100.14" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.100.14.tgz#6bf11c9a6a33dbbbba21f05d880b93930d80000c" + integrity sha512-5X41dGpxgeaHISCRW2oYwcSycZeULZzAunaudXT9ov1KOTj9xwt0CH6hbwqP1/z74ZWF7rYFnDpyYH07XFcZew== "@tanstack/query-devtools@5.100.10": version "5.100.10" @@ -645,12 +645,12 @@ dependencies: "@tanstack/query-devtools" "5.100.10" -"@tanstack/react-query@^5.100.10": - version "5.100.10" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.100.10.tgz#3bf1844efd76f5f68f9f39da2917fc4c6023e726" - integrity sha512-FLaZf2RCrA/Zgp4aiu5tG3TyasTRO7aZ99skxQpr3Hg/zXOhu6yq5FZCYQ/tRaJtM9ylnoK8tFK7PolXQadv6Q== +"@tanstack/react-query@^5.100.14": + version "5.100.14" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.100.14.tgz#799fe305421fd84bf2f6df40930c859c945b42ab" + integrity sha512-oOr6aRdSFEwWhzxEkD/9ZcItM3+LjBSkeVmadWKwUssAHTsqd/7bOjWrX4AbvEkoEhgAxzN0Xk6H/aYzXiYBAw== dependencies: - "@tanstack/query-core" "5.100.10" + "@tanstack/query-core" "5.100.14" "@tanstack/react-table@^8.21.3": version "8.21.3" @@ -1453,13 +1453,13 @@ inline-style-parser@0.2.7: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz#b1fc68bfc0313b8685745e4464e37f9376b9c909" integrity sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA== -intl-messageformat@11.2.5: - version "11.2.5" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-11.2.5.tgz#08934613ab77b14730cf51c9454b0792853982bd" - integrity sha512-zaROHiUsnlSFXVypU54AsQuAm3DLmmSH8KfDhiUuG1XZ9NTQ4o3xlxIJYVNmeWAklyp3CWg0lhexNUnee8PsYQ== +intl-messageformat@11.2.7: + version "11.2.7" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-11.2.7.tgz#1d922a7df8964ec496c56f62928ef2134674bdae" + integrity sha512-+q6Ktg119nULZEpZ8YTuGOst9MyEzFtjD63FTGBlN1mLz0Z/MOUYDIvnpVKwq17eezIEh+cfJIebfJoCetpiNw== dependencies: "@formatjs/fast-memoize" "3.1.5" - "@formatjs/icu-messageformat-parser" "3.5.8" + "@formatjs/icu-messageformat-parser" "3.5.10" invariant@^2.2.4: version "2.2.4" @@ -2190,14 +2190,14 @@ react-fast-compare@^2.0.1: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== -react-intl@^10.1.6: - version "10.1.6" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-10.1.6.tgz#febefb819581be56731b9d428d496c48e1d7c367" - integrity sha512-cXXRQ+M/uot4OYIerz2q752wfYUKnRYlm++eny9d2u1LBmRo54KZviPb+modE0WcYg8ZB4mfokIOCaFZkZlD0w== +react-intl@^10.1.9: + version "10.1.9" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-10.1.9.tgz#e256f0c28a049d391d421bf658e49fe137fb2cdf" + integrity sha512-FOWpTmwnZnAfz8JegRzyGnjUiuzLW3xJFjp/o8VR4HZAQ+Eg++YaeMhoUULLY+LMx7gZm3czaZEqcU4hntwerw== dependencies: - "@formatjs/icu-messageformat-parser" "3.5.8" - "@formatjs/intl" "4.1.10" - intl-messageformat "11.2.5" + "@formatjs/icu-messageformat-parser" "3.5.10" + "@formatjs/intl" "4.1.12" + intl-messageformat "11.2.7" react-is@^16.13.1, react-is@^16.3.2, react-is@^16.7.0: version "16.13.1" @@ -2231,17 +2231,17 @@ react-markdown@^10.1.0: unist-util-visit "^5.0.0" vfile "^6.0.0" -react-router-dom@^7.15.0: - version "7.15.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.15.0.tgz#a4b95c4402d896c2ad437014aff9076b94673063" - integrity sha512-VcrVg64Fo8nwBvDscajG8gRTLIuTC6N50nb22l2HOOV4PTOHgoGp8mUjy9wLiHYoYTSYI36tUnXZgasSRFZorQ== +react-router-dom@^7.15.1: + version "7.15.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.15.1.tgz#cf5aee65a44e407a17a2e9718d5350482b1e281f" + integrity sha512-AzF62gjY6U9rkMq4RfP/r2EVtQ7DMfNMjyOp/flLTCrtRylLiK4wT4pSq6O8rOXZ2eXdZYJPEYe+ifomiv+Igg== dependencies: - react-router "7.15.0" + react-router "7.15.1" -react-router@7.15.0: - version "7.15.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.15.0.tgz#cb438ff254ab5a1e356ef5a23d7821d8f6fbe652" - integrity sha512-HW9vYwuM8f4yx66Izy8xfrzCM+SBJluoZcCbww9A1TySax11S5Vgw6fi3ZjMONw9J4gQwngL7PzkyIpJJpJ7RQ== +react-router@7.15.1: + version "7.15.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.15.1.tgz#0a12fece05887a47c54970480745385c793bcaac" + integrity sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A== dependencies: cookie "^1.0.1" set-cookie-parser "^2.6.0" From 0c151258309f40667ec682b4a4bf2bb45227388a Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 27 May 2026 11:30:25 +1000 Subject: [PATCH 111/113] Bump version --- .version | 2 +- README.md | 2 +- SECURITY.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.version b/.version index edcfe40d19..68e69e405e 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -2.14.0 +2.15.0 diff --git a/README.md b/README.md index c22f12fad4..0af3edecd8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@



    - + diff --git a/SECURITY.md b/SECURITY.md index 1594798350..66e4bb1f61 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -7,8 +7,8 @@ Older versions are not actively maintained. | Version | Supported | | ------- | --------- | -| 2.14.x (latest) | :white_check_mark: | -| < 2.14.0 | :x: | +| 2.15.x (latest) | :white_check_mark: | +| < 2.15.0 | :x: | Docker images: `jc21/nginx-proxy-manager:latest`, `jc21/nginx-proxy-manager:2` From a6b7a7dd9d05c95ff981800a6f5fd56826a7134b Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Thu, 28 May 2026 18:24:13 +1000 Subject: [PATCH 112/113] Only clean domain names on cert save if given --- backend/models/certificate.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/models/certificate.js b/backend/models/certificate.js index 9a349f3093..8ca859cd99 100644 --- a/backend/models/certificate.js +++ b/backend/models/certificate.js @@ -36,7 +36,9 @@ class Certificate extends Model { } // Default for domain_names - this.domain_names = cleanDomainNames(this.domain_names); + if (typeof this.domain_names !== "undefined") { + this.domain_names = cleanDomainNames(this.domain_names); + } // Default for meta if (typeof this.meta === "undefined") { @@ -46,7 +48,9 @@ class Certificate extends Model { $beforeUpdate() { this.modified_on = now(); - this.domain_names = cleanDomainNames(this.domain_names); + if (typeof this.domain_names !== "undefined") { + this.domain_names = cleanDomainNames(this.domain_names); + } } $parseDatabaseJson(json) { From fc1adb64a3379e1f436760ff16b9ef2e6c230fe9 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Fri, 29 May 2026 07:32:58 +1000 Subject: [PATCH 113/113] Fix regression of null domains in db creates --- backend/models/certificate.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/models/certificate.js b/backend/models/certificate.js index 8ca859cd99..954255b9e3 100644 --- a/backend/models/certificate.js +++ b/backend/models/certificate.js @@ -38,6 +38,8 @@ class Certificate extends Model { // Default for domain_names if (typeof this.domain_names !== "undefined") { this.domain_names = cleanDomainNames(this.domain_names); + } else { + this.domain_names = []; } // Default for meta