+
+
-
+
{% block title %}
{% endblock %}
@@ -90,42 +90,30 @@
- - settings {{ 'menu.left.config'|trans }}
+ {% if is_granted('EDIT_CONFIG') %}
+ - settings {{ 'menu.left.config'|trans }}
+ {% endif %}
- smartphone {{ 'menu.left.developer'|trans }}
- - import_export {{ 'menu.left.import'|trans }}
+ {% if is_granted('IMPORT_ENTRIES') %}
+ - import_export {{ 'menu.left.import'|trans }}
+ {% endif %}
{% if craue_setting('restricted_access') and is_granted('LIST_SITE_CREDENTIALS') %}
- vpn_key {{ 'menu.left.site_credentials'|trans }}
{% endif %}
@@ -146,19 +134,19 @@
{% endif %}
-
-
+
brightness_high
{{ 'menu.left.theme_toggle_light'|trans }}
-
-
+
brightness_low
{{ 'menu.left.theme_toggle_dark'|trans }}
-
-
+
brightness_auto
{{ 'menu.left.theme_toggle_auto'|trans }}
diff --git a/tests/Command/Import/UrlCommandTest.php b/tests/Command/Import/UrlCommandTest.php
new file mode 100644
index 000000000..c71c69ba7
--- /dev/null
+++ b/tests/Command/Import/UrlCommandTest.php
@@ -0,0 +1,99 @@
+expectException(RuntimeException::class);
+ $this->expectExceptionMessage('Not enough arguments');
+
+ $application = new Application($this->getTestClient()->getKernel());
+
+ $command = $application->find('wallabag:import:url');
+
+ $tester = new CommandTester($command);
+ $tester->execute([]);
+ }
+
+ public function testRunUrlCommandWithWrongUsername()
+ {
+ $this->expectException(NoResultException::class);
+
+ $application = new Application($this->getTestClient()->getKernel());
+
+ $command = $application->find('wallabag:import:url');
+
+ $tester = new CommandTester($command);
+ $tester->execute([
+ 'username' => 'random',
+ 'url' => $this->url,
+ ]);
+ }
+
+ public function testRunUrlCommand()
+ {
+ $application = new Application($this->getTestClient()->getKernel());
+
+ $command = $application->find('wallabag:import:url');
+
+ $tester = new CommandTester($command);
+ $tester->execute([
+ 'username' => 'admin',
+ 'url' => $this->url,
+ ]);
+
+ $this->assertStringContainsString('successfully imported', $tester->getDisplay());
+ }
+
+ public function testRunUrlCommandWithTags()
+ {
+ $application = new Application($this->getTestClient()->getKernel());
+
+ $command = $application->find('wallabag:import:url');
+
+ $tester = new CommandTester($command);
+ $tester->execute([
+ 'username' => 'admin',
+ 'url' => $this->url,
+ 'tags' => 'sport, football',
+ ]);
+
+ $this->assertStringContainsString('successfully imported', $tester->getDisplay());
+
+ $client = $this->getTestClient();
+ $em = $client->getContainer()->get(EntityManagerInterface::class);
+ $entry = $em->getRepository(Entry::class)->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
+ $this->assertContains('football', $entry->getTagsLabel());
+ $this->assertNotContains('basketball', $entry->getTagsLabel());
+ }
+
+ public function testRunUrlCommandWithUserId()
+ {
+ $this->logInAs('admin');
+
+ $application = new Application($this->getTestClient()->getKernel());
+
+ $command = $application->find('wallabag:import:url');
+
+ $tester = new CommandTester($command);
+ $tester->execute([
+ 'username' => $this->getLoggedInUserId(),
+ 'url' => $this->url,
+ '--useUserId' => true,
+ ]);
+
+ $this->assertStringContainsString('successfully imported', $tester->getDisplay());
+ }
+}
diff --git a/tests/Consumer/AMQPEntryConsumerTest.php b/tests/Consumer/AMQPEntryConsumerTest.php
index b12aa0f6b..c0940298c 100644
--- a/tests/Consumer/AMQPEntryConsumerTest.php
+++ b/tests/Consumer/AMQPEntryConsumerTest.php
@@ -25,7 +25,7 @@ class AMQPEntryConsumerTest extends TestCase
->method('flush');
$em
- ->expects($this->exactly(2))
+ ->expects($this->once())
->method('clear');
$body = <<<'JSON'
diff --git a/tests/Consumer/RedisEntryConsumerTest.php b/tests/Consumer/RedisEntryConsumerTest.php
index 6aa749f7d..0d4c6b758 100644
--- a/tests/Consumer/RedisEntryConsumerTest.php
+++ b/tests/Consumer/RedisEntryConsumerTest.php
@@ -24,7 +24,7 @@ class RedisEntryConsumerTest extends TestCase
->method('flush');
$em
- ->expects($this->exactly(2))
+ ->expects($this->once())
->method('clear');
$body = <<<'JSON'
diff --git a/tests/Controller/AnnotationControllerTest.php b/tests/Controller/AnnotationControllerTest.php
index b55e86efa..f4339955c 100644
--- a/tests/Controller/AnnotationControllerTest.php
+++ b/tests/Controller/AnnotationControllerTest.php
@@ -82,10 +82,7 @@ class AnnotationControllerTest extends WallabagTestCase
}
$this->client->request('GET', $prefixUrl . '/' . $entry->getId() . '.json');
- $this->assertSame(200, $this->client->getResponse()->getStatusCode());
-
- $content = json_decode($this->client->getResponse()->getContent(), true);
- $this->assertGreaterThanOrEqual(0, $content['total']);
+ $this->assertSame(404, $this->client->getResponse()->getStatusCode());
}
/**
diff --git a/tests/Controller/Api/DeveloperControllerTest.php b/tests/Controller/Api/DeveloperControllerTest.php
index 4fa29d4e1..11d7f3be5 100644
--- a/tests/Controller/Api/DeveloperControllerTest.php
+++ b/tests/Controller/Api/DeveloperControllerTest.php
@@ -5,6 +5,7 @@ namespace Tests\Wallabag\Controller\Api;
use Doctrine\ORM\EntityManagerInterface;
use Tests\Wallabag\WallabagTestCase;
use Wallabag\Entity\Api\Client;
+use Wallabag\Entity\User;
class DeveloperControllerTest extends WallabagTestCase
{
@@ -50,7 +51,7 @@ class DeveloperControllerTest extends WallabagTestCase
$this->assertSame(200, $client->getResponse()->getStatusCode());
- $data = json_decode($client->getResponse()->getContent(), true);
+ $data = json_decode((string) $client->getResponse()->getContent(), true);
$this->assertArrayHasKey('access_token', $data);
$this->assertArrayHasKey('expires_in', $data);
$this->assertArrayHasKey('token_type', $data);
@@ -105,7 +106,7 @@ class DeveloperControllerTest extends WallabagTestCase
$this->logInAs('bob');
$client->request('POST', '/developer/client/delete/' . $adminApiClient->getId());
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(400, $client->getResponse()->getStatusCode());
// Try to remove the admin's client with the good user
$this->logInAs('admin');
@@ -133,7 +134,10 @@ class DeveloperControllerTest extends WallabagTestCase
$client = $this->getTestClient();
$em = $client->getContainer()->get(EntityManagerInterface::class);
$userManager = static::getContainer()->get('fos_user.user_manager');
+
$user = $userManager->findUserBy(['username' => $username]);
+ \assert($user instanceof User);
+
$apiClient = new Client($user);
$apiClient->setName('My app');
$apiClient->setAllowedGrantTypes($grantTypes);
diff --git a/tests/Controller/Api/EntryRestControllerTest.php b/tests/Controller/Api/EntryRestControllerTest.php
index 2fa0c3399..edb379447 100644
--- a/tests/Controller/Api/EntryRestControllerTest.php
+++ b/tests/Controller/Api/EntryRestControllerTest.php
@@ -6,7 +6,6 @@ use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\DependencyInjection\Container;
use Wallabag\Entity\Entry;
use Wallabag\Entity\Tag;
-use Wallabag\Entity\User;
use Wallabag\Helper\ContentProxy;
class EntryRestControllerTest extends WallabagApiTestCase
@@ -110,7 +109,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
$this->client->request('GET', '/api/entries/' . $entry->getId() . '.json');
- $this->assertSame(403, $this->client->getResponse()->getStatusCode());
+ $this->assertSame(404, $this->client->getResponse()->getStatusCode());
}
public function testGetEntries()
@@ -228,6 +227,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
'public' => 0,
'notParsed' => 0,
'http_status' => 200,
+ 'annotations' => 1,
]);
$this->assertSame(200, $this->client->getResponse()->getStatusCode());
@@ -255,6 +255,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
$this->assertStringContainsString('tags=foo', $content['_links'][$link]['href']);
$this->assertStringContainsString('since=1443274283', $content['_links'][$link]['href']);
$this->assertStringContainsString('public=0', $content['_links'][$link]['href']);
+ $this->assertStringContainsString('annotations=1', $content['_links'][$link]['href']);
}
$this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
@@ -306,6 +307,86 @@ class EntryRestControllerTest extends WallabagApiTestCase
$this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
}
+ public function testGetEntriesWithAnnotationsFilter()
+ {
+ // Test filter for entries WITH annotations
+ // From fixtures: entry1 and entry2 have annotations, entry4, entry5, entry6, entry7 don't
+ $this->client->request('GET', '/api/entries', [
+ 'annotations' => 1,
+ ]);
+
+ $this->assertSame(200, $this->client->getResponse()->getStatusCode());
+
+ $content = json_decode($this->client->getResponse()->getContent(), true);
+
+ $this->assertArrayHasKey('items', $content['_embedded']);
+
+ // Check that only entries with annotations are returned
+ $entriesWithAnnotations = ['http://0.0.0.0/entry1', 'http://0.0.0.0/entry2'];
+ $entriesWithoutAnnotations = ['http://0.0.0.0/entry4', 'http://0.0.0.0/entry5', 'http://0.0.0.0/entry6', 'http://0.0.0.0/entry7'];
+
+ foreach ($content['_embedded']['items'] as $item) {
+ if (\in_array($item['url'], $entriesWithAnnotations, true)) {
+ $this->assertNotEmpty($item['annotations'], 'Entry with URL ' . $item['url'] . ' should have annotations');
+ }
+ $this->assertNotContains($item['url'], $entriesWithoutAnnotations, 'Entry without annotations should NOT be in the results');
+ }
+
+ // Ensure we have at least the entries with annotations
+ $foundUrls = array_column($content['_embedded']['items'], 'url');
+ $this->assertContains('http://0.0.0.0/entry1', $foundUrls, 'entry1 with annotations should be in the results');
+ $this->assertContains('http://0.0.0.0/entry2', $foundUrls, 'entry2 with annotations should be in the results');
+
+ // Check pagination links contain the filter
+ $this->assertArrayHasKey('_links', $content);
+ foreach (['self', 'first', 'last'] as $link) {
+ $this->assertArrayHasKey('href', $content['_links'][$link]);
+ $this->assertStringContainsString('annotations=1', $content['_links'][$link]['href']);
+ }
+
+ $this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
+ }
+
+ public function testGetEntriesWithoutAnnotationsFilter()
+ {
+ // Test filter for entries WITHOUT annotations
+ // From fixtures: entry1 and entry2 have annotations, entry4, entry5, entry6, entry7 don't
+ $this->client->request('GET', '/api/entries', [
+ 'annotations' => 0,
+ ]);
+
+ $this->assertSame(200, $this->client->getResponse()->getStatusCode());
+
+ $content = json_decode($this->client->getResponse()->getContent(), true);
+
+ $this->assertArrayHasKey('items', $content['_embedded']);
+
+ // Check that only entries without annotations are returned
+ $entriesWithAnnotations = ['http://0.0.0.0/entry1', 'http://0.0.0.0/entry2'];
+ $entriesWithoutAnnotations = ['http://0.0.0.0/entry4', 'http://0.0.0.0/entry5', 'http://0.0.0.0/entry6', 'http://0.0.0.0/entry7'];
+
+ foreach ($content['_embedded']['items'] as $item) {
+ $this->assertNotContains($item['url'], $entriesWithAnnotations, 'Entry with annotations should NOT be in the results');
+ if (\in_array($item['url'], $entriesWithoutAnnotations, true)) {
+ $this->assertEmpty($item['annotations'], 'Entry with URL ' . $item['url'] . ' should not have annotations');
+ }
+ }
+
+ // Ensure we have at least some entries without annotations
+ $foundUrls = array_column($content['_embedded']['items'], 'url');
+ $foundWithoutAnnotations = array_intersect($foundUrls, $entriesWithoutAnnotations);
+ $this->assertNotEmpty($foundWithoutAnnotations, 'Should have at least one entry without annotations in the results');
+
+ // Check pagination links contain the filter
+ $this->assertArrayHasKey('_links', $content);
+ foreach (['self', 'first', 'last'] as $link) {
+ $this->assertArrayHasKey('href', $content['_links'][$link]);
+ $this->assertStringContainsString('annotations=0', $content['_links'][$link]['href']);
+ }
+
+ $this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
+ }
+
public function testGetEntriesOnPageTwo()
{
$this->client->request('GET', '/api/entries', [
@@ -535,13 +616,13 @@ class EntryRestControllerTest extends WallabagApiTestCase
public function testDeleteEntry()
{
$em = $this->client->getContainer()->get(EntityManagerInterface::class);
- $entry = new Entry($em->getReference(User::class, 1));
+ $entry = new Entry($this->user);
$entry->setUrl('http://0.0.0.0/test-delete-entry');
$entry->setTitle('Test delete entry');
$em->persist($entry);
$em->flush();
- $em->clear();
+ $this->client = $this->createAuthorizedClient();
$e = [
'title' => $entry->getTitle(),
@@ -569,12 +650,12 @@ class EntryRestControllerTest extends WallabagApiTestCase
public function testDeleteEntryExpectId()
{
$em = $this->client->getContainer()->get(EntityManagerInterface::class);
- $entry = new Entry($em->getReference(User::class, 1));
+ $entry = new Entry($this->user);
$entry->setUrl('http://0.0.0.0/test-delete-entry-id');
$em->persist($entry);
$em->flush();
- $em->clear();
+ $this->client = $this->createAuthorizedClient();
$id = $entry->getId();
@@ -601,6 +682,25 @@ class EntryRestControllerTest extends WallabagApiTestCase
$this->assertSame(400, $this->client->getResponse()->getStatusCode());
}
+ public function testBadFormatURL()
+ {
+ $this->client->request('POST', '/api/entries.json', [
+ 'url' => 'wallabagIsAwesome',
+ 'tags' => 'google',
+ 'title' => 'New title for my article',
+ 'content' => 'my content',
+ 'language' => 'de',
+ 'published_at' => '2016-09-08T11:55:58+0200',
+ 'authors' => 'bob,helen',
+ 'public' => 1,
+ ]);
+
+ $this->assertSame(400, $this->client->getResponse()->getStatusCode());
+
+ $content = json_decode($this->client->getResponse()->getContent(), true);
+ $this->assertStringContainsString('The url \'"wallabagIsAwesome"\' is not a valid url', $content['message']);
+ }
+
public function testPostEntry()
{
$this->client->request('POST', '/api/entries.json', [
@@ -640,14 +740,15 @@ class EntryRestControllerTest extends WallabagApiTestCase
public function testPostSameEntry()
{
$em = $this->client->getContainer()->get(EntityManagerInterface::class);
- $entry = new Entry($em->getReference(User::class, $this->getUserId()));
+ $entry = new Entry($this->user);
$entry->setUrl('https://www.20minutes.fr/sport/jo_2024/4095122-20240712-jo-paris-2024-saut-ange-bombe-comment-anne-hidalgo-va-plonger-seine-si-fait-vraiment');
$entry->setArchived(true);
$entry->addTag((new Tag())->setLabel('google'));
$entry->addTag((new Tag())->setLabel('apple'));
$em->persist($entry);
$em->flush();
- $em->clear();
+
+ $this->client = $this->createAuthorizedClient();
$this->client->request('POST', '/api/entries.json', [
'url' => 'https://www.20minutes.fr/sport/jo_2024/4095122-20240712-jo-paris-2024-saut-ange-bombe-comment-anne-hidalgo-va-plonger-seine-si-fait-vraiment',
@@ -672,7 +773,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
$container = $this->client->getContainer();
$contentProxy = $this->getMockBuilder(ContentProxy::class)
->disableOriginalConstructor()
- ->setMethods(['updateEntry'])
+ ->onlyMethods(['updateEntry'])
->getMock();
$contentProxy->expects($this->any())
->method('updateEntry')
@@ -1241,14 +1342,14 @@ class EntryRestControllerTest extends WallabagApiTestCase
{
$this->client->request('GET', '/api/entries/exists?url=');
- $this->assertSame(403, $this->client->getResponse()->getStatusCode());
+ $this->assertSame(404, $this->client->getResponse()->getStatusCode());
}
public function testGetEntriesExistsWithNoHashedUrl()
{
$this->client->request('GET', '/api/entries/exists?hashed_url=');
- $this->assertSame(403, $this->client->getResponse()->getStatusCode());
+ $this->assertSame(404, $this->client->getResponse()->getStatusCode());
}
public function testReloadEntryErrorWhileFetching()
@@ -1335,14 +1436,14 @@ class EntryRestControllerTest extends WallabagApiTestCase
public function testDeleteEntriesTagsListAction()
{
$em = $this->client->getContainer()->get(EntityManagerInterface::class);
- $entry = new Entry($em->getReference(User::class, $this->getUserId()));
+ $entry = new Entry($this->user);
$entry->setUrl('http://0.0.0.0/test-entry');
$entry->addTag((new Tag())->setLabel('foo-tag'));
$entry->addTag((new Tag())->setLabel('bar-tag'));
$em->persist($entry);
$em->flush();
- $em->clear();
+ $this->client = $this->createAuthorizedClient();
$list = [
[
@@ -1403,10 +1504,12 @@ class EntryRestControllerTest extends WallabagApiTestCase
public function testDeleteEntriesListAction()
{
$em = $this->client->getContainer()->get(EntityManagerInterface::class);
- $em->persist((new Entry($em->getReference(User::class, $this->getUserId())))->setUrl('http://0.0.0.0/test-entry1'));
+ $em->persist((new Entry($this->user))->setUrl('http://0.0.0.0/test-entry1'));
$em->flush();
- $em->clear();
+
+ $this->client = $this->createAuthorizedClient();
+
$list = [
'http://0.0.0.0/test-entry1',
'http://0.0.0.0/test-entry-not-exist',
@@ -1461,14 +1564,15 @@ class EntryRestControllerTest extends WallabagApiTestCase
public function testRePostEntryAndReUsePublishedAt()
{
$em = $this->client->getContainer()->get(EntityManagerInterface::class);
- $entry = new Entry($em->getReference(User::class, $this->getUserId()));
+ $entry = new Entry($this->user);
$entry->setTitle('Antoine de Caunes : « Je veux avoir le droit de tâtonner »');
$entry->setContent('hihi');
$entry->setUrl('https://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html');
$entry->setPublishedAt(new \DateTime('2017-06-26T07:46:02+0200'));
$em->persist($entry);
$em->flush();
- $em->clear();
+
+ $this->client = $this->createAuthorizedClient();
$this->client->request('POST', '/api/entries.json', [
'url' => 'https://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html',
diff --git a/tests/Controller/Api/TagRestControllerTest.php b/tests/Controller/Api/TagRestControllerTest.php
index 615d34a23..927a2a236 100644
--- a/tests/Controller/Api/TagRestControllerTest.php
+++ b/tests/Controller/Api/TagRestControllerTest.php
@@ -23,9 +23,7 @@ class TagRestControllerTest extends WallabagApiTestCase
$this->assertArrayHasKey('label', $content[0]);
$this->assertArrayHasKey('nbEntries', $content[0]);
- $tagLabels = array_map(function ($i) {
- return $i['label'];
- }, $content);
+ $tagLabels = array_map(fn ($i) => $i['label'], $content);
$this->assertNotContains($this->otherUserTagLabel, $tagLabels, 'There is a possible tag leak');
}
@@ -49,7 +47,8 @@ class TagRestControllerTest extends WallabagApiTestCase
$em->persist($entry);
$em->flush();
- $em->clear();
+
+ $this->client = $this->createAuthorizedClient();
$this->client->request('DELETE', '/api/tags/' . $tag->getId() . '.json');
diff --git a/tests/Controller/Api/UserRestControllerTest.php b/tests/Controller/Api/UserRestControllerTest.php
index 89748efb6..23d8393c6 100644
--- a/tests/Controller/Api/UserRestControllerTest.php
+++ b/tests/Controller/Api/UserRestControllerTest.php
@@ -45,7 +45,7 @@ class UserRestControllerTest extends WallabagApiTestCase
public function testCreateNewUser()
{
- $this->client->getContainer()->get(Config::class)->set('api_user_registration', 1);
+ $this->client->getContainer()->get(Config::class)->set('api_user_registration', '1');
$this->client->request('PUT', '/api/user.json', [
'username' => 'google',
'password' => 'googlegoogle',
@@ -73,14 +73,14 @@ class UserRestControllerTest extends WallabagApiTestCase
$this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
- $this->client->getContainer()->get(Config::class)->set('api_user_registration', 0);
+ $this->client->getContainer()->get(Config::class)->set('api_user_registration', '0');
}
public function testCreateNewUserWithoutAuthentication()
{
// create a new client instead of using $this->client to be sure client isn't authenticated
$client = $this->createUnauthorizedClient();
- $client->getContainer()->get(Config::class)->set('api_user_registration', 1);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '1');
$client->request('PUT', '/api/user.json', [
'username' => 'google',
'password' => 'googlegoogle',
@@ -109,13 +109,13 @@ class UserRestControllerTest extends WallabagApiTestCase
$this->assertSame('application/json', $client->getResponse()->headers->get('Content-Type'));
- $client->getContainer()->get(Config::class)->set('api_user_registration', 0);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '0');
}
public function testCreateNewUserWithExistingEmail()
{
$client = $this->createUnauthorizedClient();
- $client->getContainer()->get(Config::class)->set('api_user_registration', 1);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '1');
$client->request('PUT', '/api/user.json', [
'username' => 'admin',
'password' => 'googlegoogle',
@@ -138,13 +138,13 @@ class UserRestControllerTest extends WallabagApiTestCase
$this->assertSame('application/json', $client->getResponse()->headers->get('Content-Type'));
- $client->getContainer()->get(Config::class)->set('api_user_registration', 0);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '0');
}
public function testCreateNewUserWithTooShortPassword()
{
$client = $this->createUnauthorizedClient();
- $client->getContainer()->get(Config::class)->set('api_user_registration', 1);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '1');
$client->request('PUT', '/api/user.json', [
'username' => 'facebook',
'password' => 'face',
@@ -162,7 +162,7 @@ class UserRestControllerTest extends WallabagApiTestCase
$this->assertSame('application/json', $client->getResponse()->headers->get('Content-Type'));
- $client->getContainer()->get(Config::class)->set('api_user_registration', 0);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '0');
}
public function testCreateNewUserWhenRegistrationIsDisabled()
diff --git a/tests/Controller/Api/WallabagApiTestCase.php b/tests/Controller/Api/WallabagApiTestCase.php
index 1037ab4db..e04020a6f 100644
--- a/tests/Controller/Api/WallabagApiTestCase.php
+++ b/tests/Controller/Api/WallabagApiTestCase.php
@@ -3,7 +3,6 @@
namespace Tests\Wallabag\Controller\Api;
use Doctrine\ORM\EntityManagerInterface;
-use FOS\UserBundle\Model\UserInterface;
use FOS\UserBundle\Model\UserManager;
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
@@ -17,7 +16,7 @@ abstract class WallabagApiTestCase extends WebTestCase
protected $client;
/**
- * @var UserInterface
+ * @var User
*/
protected $user;
@@ -49,9 +48,12 @@ abstract class WallabagApiTestCase extends WebTestCase
$userManager = $container->get('fos_user.user_manager');
$firewallName = $container->getParameter('fos_user.firewall_name');
- $this->user = $userManager->findUserBy(['username' => 'admin']);
+ $adminUser = $userManager->findUserBy(['username' => 'admin']);
+ \assert($adminUser instanceof User);
- $client->loginUser($this->user, $firewallName);
+ $this->user = $adminUser;
+
+ $client->loginUser($adminUser, $firewallName);
return $client;
}
diff --git a/tests/Controller/Api/WallabagRestControllerTest.php b/tests/Controller/Api/WallabagRestControllerTest.php
index d73115cd6..2a36d46cc 100644
--- a/tests/Controller/Api/WallabagRestControllerTest.php
+++ b/tests/Controller/Api/WallabagRestControllerTest.php
@@ -43,11 +43,9 @@ class WallabagRestControllerTest extends WallabagApiTestCase
if (!$client->getContainer()->getParameter('fosuser_registration')) {
$this->markTestSkipped('fosuser_registration is not enabled.');
-
- return;
}
- $client->getContainer()->get(Config::class)->set('api_user_registration', 1);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '1');
$client->request('GET', '/api/info');
@@ -55,7 +53,7 @@ class WallabagRestControllerTest extends WallabagApiTestCase
$this->assertTrue($content['allowed_registration']);
- $client->getContainer()->get(Config::class)->set('api_user_registration', 0);
+ $client->getContainer()->get(Config::class)->set('api_user_registration', '0');
$client->request('GET', '/api/info');
diff --git a/tests/Controller/ConfigControllerTest.php b/tests/Controller/ConfigControllerTest.php
index 922f8b28c..43014f7e1 100644
--- a/tests/Controller/ConfigControllerTest.php
+++ b/tests/Controller/ConfigControllerTest.php
@@ -3,6 +3,7 @@
namespace Tests\Wallabag\Controller;
use Doctrine\ORM\EntityManagerInterface;
+use Scheb\TwoFactorBundle\Security\TwoFactor\Provider\Google\GoogleAuthenticatorInterface;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
@@ -80,7 +81,8 @@ class ConfigControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
$crawler = $client->request('GET', '/unread/list');
$form = $crawler->filter('button[id=submit-filter]')->form();
@@ -327,7 +329,8 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
$this->assertStringContainsString('config.form_feed.no_token', $body[0]);
- $client->request('GET', '/generate-token');
+ $client->submit($crawler->selectButton('config.form_feed.token_create')->form());
+
$this->assertSame(302, $client->getResponse()->getStatusCode());
$crawler = $client->followRedirect();
@@ -336,38 +339,34 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertStringContainsString('config.form_feed.token_reset', $body[0]);
}
- public function testGenerateTokenAjax()
- {
- $this->logInAs('admin');
- $client = $this->getTestClient();
-
- $client->request(
- 'GET',
- '/generate-token',
- [],
- [],
- ['HTTP_X-Requested-With' => 'XMLHttpRequest']
- );
-
- $this->assertSame(200, $client->getResponse()->getStatusCode());
- $content = json_decode($client->getResponse()->getContent(), true);
- $this->assertArrayHasKey('token', $content);
- }
-
public function testRevokeTokenAjax()
{
$this->logInAs('admin');
$client = $this->getTestClient();
- $client->request(
- 'GET',
- '/revoke-token',
- [],
- [],
- ['HTTP_X-Requested-With' => 'XMLHttpRequest']
- );
+ // set the token
+ $em = $client->getContainer()->get(EntityManagerInterface::class);
+ $user = $em
+ ->getRepository(User::class)
+ ->findOneByUsername('admin');
- $this->assertSame(200, $client->getResponse()->getStatusCode());
+ if (!$user) {
+ $this->markTestSkipped('No user found in db.');
+ }
+
+ $config = $user->getConfig();
+ $config->setFeedToken('abcd1234');
+ $em->persist($config);
+ $em->flush();
+
+ $crawler = $client->request('GET', '/config');
+
+ $client->submit($crawler->selectButton('config.form_feed.token_revoke')->form());
+
+ $crawler = $client->followRedirect();
+
+ $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+ $this->assertStringContainsString('config.form_feed.token_create', $body[0]);
}
public function testFeedUpdate()
@@ -483,9 +482,8 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertStringContainsString('readingTime <= 30', $crawler->filter('body')->extract(['_text'])[0]);
- $deleteLink = $crawler->filter('.delete_tagging_rule')->last()->link();
+ $crawler = $client->submit($crawler->filter('#set5')->selectButton('delete')->form());
- $crawler = $client->click($deleteLink);
$this->assertSame(302, $client->getResponse()->getStatusCode());
$crawler = $client->followRedirect();
@@ -575,11 +573,11 @@ class ConfigControllerTest extends WallabagTestCase
->getRepository(TaggingRule::class)
->findAll()[0];
- $crawler = $client->request('GET', '/tagging-rule/delete/' . $rule->getId());
+ $crawler = $client->request('POST', '/tagging-rule/delete/' . $rule->getId());
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(404, $client->getResponse()->getStatusCode());
$this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
- $this->assertStringContainsString('You can not access this rule', $body[0]);
+ $this->assertStringContainsString('404: Not Found', $body[0]);
}
public function testEditingTaggingRuleFromAnOtherUser()
@@ -593,9 +591,9 @@ class ConfigControllerTest extends WallabagTestCase
$crawler = $client->request('GET', '/tagging-rule/edit/' . $rule->getId());
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(404, $client->getResponse()->getStatusCode());
$this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
- $this->assertStringContainsString('You can not access this rule', $body[0]);
+ $this->assertStringContainsString('404: Not Found', $body[0]);
}
public function testIgnoreOriginRuleCreation()
@@ -645,9 +643,9 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertStringContainsString('host = "example.org"', $crawler->filter('body')->extract(['_text'])[0]);
- $deleteLink = $crawler->filter('div[id=set6] a.delete')->last()->link();
+ $form = $crawler->filter('#set6')->selectButton('delete')->form();
- $crawler = $client->click($deleteLink);
+ $crawler = $client->submit($form);
$this->assertSame(302, $client->getResponse()->getStatusCode());
$crawler = $client->followRedirect();
@@ -712,11 +710,11 @@ class ConfigControllerTest extends WallabagTestCase
->getRepository(IgnoreOriginUserRule::class)
->findAll()[0];
- $crawler = $client->request('GET', '/ignore-origin-user-rule/edit/' . $rule->getId());
+ $crawler = $client->request('POST', '/ignore-origin-user-rule/delete/' . $rule->getId());
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(404, $client->getResponse()->getStatusCode());
$this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
- $this->assertStringContainsString('You can not access this rule', $body[0]);
+ $this->assertStringContainsString('404: Not Found', $body[0]);
}
public function testEditingIgnoreOriginRuleFromAnOtherUser()
@@ -730,9 +728,9 @@ class ConfigControllerTest extends WallabagTestCase
$crawler = $client->request('GET', '/ignore-origin-user-rule/edit/' . $rule->getId());
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(404, $client->getResponse()->getStatusCode());
$this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
- $this->assertStringContainsString('You can not access this rule', $body[0]);
+ $this->assertStringContainsString('404: Not Found', $body[0]);
}
public function testDeleteUserButtonVisibility()
@@ -767,7 +765,7 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertStringNotContainsString('config.form_user.delete.button', $body[0]);
$client->request('POST', '/account/delete');
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(400, $client->getResponse()->getStatusCode());
$user = $em
->getRepository(User::class)
@@ -1112,37 +1110,38 @@ class ConfigControllerTest extends WallabagTestCase
$this->logInAs('admin');
$client = $this->getTestClient();
- $client->request('GET', '/unread/list');
+ $crawler = $client->request('GET', '/unread/list');
$this->assertStringContainsString('row data', $client->getResponse()->getContent());
- $client->request('GET', '/config/view-mode');
- $crawler = $client->followRedirect();
+ $form = $crawler->filter('.nb-results')->selectButton('view_list')->form();
- $client->request('GET', '/unread/list');
+ $client->submit($form);
+
+ $client->followRedirect();
$this->assertStringContainsString('collection', $client->getResponse()->getContent());
-
- $client->request('GET', '/config/view-mode');
}
public function testChangeLocaleWithoutReferer()
{
$client = $this->getTestClient();
- $client->request('GET', '/locale/de');
- $client->followRedirect();
+ $crawler = $client->request('POST', '/locale/de');
- $this->assertSame('de', $client->getRequest()->getLocale());
- $this->assertSame('de', $client->getContainer()->get(SessionInterface::class)->get('_locale'));
+ $this->assertSame(400, $client->getResponse()->getStatusCode());
+ $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+ $this->assertStringContainsString('Bad CSRF token.', $body[0]);
}
public function testChangeLocaleWithReferer()
{
$client = $this->getTestClient();
- $client->request('GET', '/login');
- $client->request('GET', '/locale/de');
+ $crawler = $client->request('GET', '/login');
+
+ $client->submit($crawler->selectButton('Deutsch')->form());
+
$client->followRedirect();
$this->assertSame('de', $client->getRequest()->getLocale());
@@ -1153,8 +1152,12 @@ class ConfigControllerTest extends WallabagTestCase
{
$client = $this->getTestClient();
- $client->request('GET', '/login');
- $client->request('GET', '/locale/yuyuyuyu');
+ $crawler = $client->request('GET', '/login');
+ $token = $crawler->filter('form[action="/locale/de"] input[name=token]')->attr('value');
+
+ $client->request('POST', '/locale/yuyuyuyu', [
+ 'token' => $token,
+ ]);
$client->followRedirect();
$this->assertNotSame('yuyuyuyu', $client->getRequest()->getLocale());
@@ -1221,27 +1224,74 @@ class ConfigControllerTest extends WallabagTestCase
public function testUserEnable2faGoogle()
{
+ $googleAuthenticatorMock = $this->createMock(GoogleAuthenticatorInterface::class);
+ $googleAuthenticatorMock
+ ->method('generateSecret')
+ ->willReturn('DUMMYSECRET');
+ $googleAuthenticatorMock
+ ->method('checkCode')
+ ->willReturnCallback(function ($user, $code) {
+ return '123456' === $code;
+ });
+
$this->logInAs('admin');
$client = $this->getTestClient();
+ $client->disableReboot(); // Disable reboot to keep the mock in the container
+
+ // name::class notation does not work in this context
+ self::getContainer()->set('scheb_two_factor.security.google_authenticator', $googleAuthenticatorMock);
$crawler = $client->request('GET', '/config');
-
$form = $crawler->filter('form[name=config_otp_app]')->form();
- $client->submit($form);
+ $crawler = $client->submit($form);
$this->assertSame(200, $client->getResponse()->getStatusCode());
- // restore user
+ $secret = $crawler->filter('div#config_otp_app_secret pre code')->innerText();
+ $this->assertSame('DUMMYSECRET', $secret);
+
+ $em = $this->getEntityManager();
+ $user = $em
+ ->getRepository(User::class)
+ ->findOneByUsername('admin');
+ // At this phase, the user should not have 2FA enabled
+ $this->assertFalse($user->isGoogleTwoFactor());
+
+ // First test: send invalid OTP code
+ $form = $crawler->filter('form[name=config_otp_app_check]')->form();
+ $data = [
+ '_auth_code' => '000000',
+ ];
+ $client->submit($form, $data);
+
+ $this->assertSame(307, $client->getResponse()->getStatusCode());
+ $this->assertStringContainsString('flashes.config.notice.otp_code_invalid', $client->getContainer()->get(SessionInterface::class)->getFlashBag()->get('notice')[0]);
+
+ // Follow the redirect to the OTP check form again
+ $crawler = $client->followRedirect();
+
+ // Second test: send valid OTP code
+ $form = $crawler->filter('form[name=config_otp_app_check]')->form();
+ $data = [
+ '_auth_code' => '123456',
+ ];
+ $client->submit($form, $data);
+
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+ $this->assertStringContainsString('flashes.config.notice.otp_enabled', $client->getContainer()->get(SessionInterface::class)->getFlashBag()->get('notice')[0]);
+
$em = $this->getEntityManager();
$user = $em
->getRepository(User::class)
->findOneByUsername('admin');
$this->assertTrue($user->isGoogleTwoFactor());
- $this->assertGreaterThan(0, $user->getBackupCodes());
+ $this->assertGreaterThan(0, \count($user->getBackupCodes()));
- $user->setGoogleAuthenticatorSecret(false);
- $user->setBackupCodes(null);
+ // Restore user
+ $user->setGoogleAuthenticatorSecret('');
+ $user->setGoogleAuthenticator(false);
+ $user->setBackupCodes([]);
$em->persist($user);
$em->flush();
}
@@ -1257,6 +1307,7 @@ class ConfigControllerTest extends WallabagTestCase
->findOneByUsername('admin');
$user->setGoogleAuthenticatorSecret('Google2FA');
+ $user->setGoogleAuthenticator(true);
$em->persist($user);
$em->flush();
@@ -1269,7 +1320,6 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertStringContainsString('flashes.config.notice.otp_disabled', $client->getContainer()->get(SessionInterface::class)->getFlashBag()->get('notice')[0]);
- // restore user
$em = $this->getEntityManager();
$user = $em
->getRepository(User::class)
@@ -1277,6 +1327,7 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertEmpty($user->getGoogleAuthenticatorSecret());
$this->assertEmpty($user->getBackupCodes());
+ $this->assertFalse($user->isGoogleTwoFactor());
}
public function testExportTaggingRule()
@@ -1295,7 +1346,7 @@ class ConfigControllerTest extends WallabagTestCase
$this->assertSame('attachment; filename="tagging_rules_admin.json"', $headers->get('content-disposition'));
$this->assertSame('UTF-8', $headers->get('content-transfer-encoding'));
- $content = json_decode($client->getResponse()->getContent(), true);
+ $content = json_decode((string) $client->getResponse()->getContent(), true);
$this->assertCount(4, $content);
$this->assertSame('content matches "spurs"', $content[0]['rule']);
@@ -1375,8 +1426,6 @@ class ConfigControllerTest extends WallabagTestCase
$client->request('GET', '/unread/list');
$this->assertStringNotContainsString('class="preview"', $client->getResponse()->getContent());
-
- $client->request('GET', '/config/view-mode');
}
public function testGeneratedCSS()
diff --git a/tests/Controller/EntryControllerTest.php b/tests/Controller/EntryControllerTest.php
index daa21e98a..c90b2acac 100644
--- a/tests/Controller/EntryControllerTest.php
+++ b/tests/Controller/EntryControllerTest.php
@@ -20,6 +20,7 @@ class EntryControllerTest extends WallabagTestCase
public const AN_URL_CONTAINING_AN_ARTICLE_WITH_IMAGE = 'https://www.20minutes.fr/sport/jo_2024/4095122-20240712-jo-paris-2024-saut-ange-bombe-comment-anne-hidalgo-va-plonger-seine-si-fait-vraiment';
public $downloadImagesEnabled = false;
public $url = 'https://www.20minutes.fr/sport/jo_2024/4095122-20240712-jo-paris-2024-saut-ange-bombe-comment-anne-hidalgo-va-plonger-seine-si-fait-vraiment';
+ public $wrongUrl = 'wallabagIsAwesome';
private $entryDataTestAttribute = '[data-test="entry"]';
/**
@@ -31,7 +32,7 @@ class EntryControllerTest extends WallabagTestCase
{
if ($this->downloadImagesEnabled) {
$client = static::createClient();
- $client->getContainer()->get(Config::class)->set('download_images_enabled', 0);
+ $client->getContainer()->get(Config::class)->set('download_images_enabled', '0');
$this->downloadImagesEnabled = false;
}
@@ -137,9 +138,7 @@ class EntryControllerTest extends WallabagTestCase
$crawler = $client->submit($form);
- $this->assertSame(200, $client->getResponse()->getStatusCode());
- $this->assertCount(1, $alert = $crawler->filter('form ul li')->extract(['_text']));
- $this->assertSame('This value should not be blank.', $alert[0]);
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
}
/**
@@ -423,6 +422,38 @@ class EntryControllerTest extends WallabagTestCase
$em->flush();
}
+ /**
+ * @group NetworkCalls
+ */
+ public function testBadFormatURL()
+ {
+ $this->logInAs('admin');
+ $client = $this->getTestClient();
+
+ $client->getContainer()->get(Config::class)->set('store_article_headers', 1);
+
+ $crawler = $client->request('GET', '/new');
+
+ $this->assertSame(200, $client->getResponse()->getStatusCode());
+
+ $form = $crawler->filter('form[name=entry]')->form();
+
+ $data = [
+ 'entry[url]' => $this->wrongUrl,
+ ];
+
+ $client->submit($form, $data);
+
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+
+ $content = $client->getContainer()
+ ->get(EntityManagerInterface::class)
+ ->getRepository(Entry::class)
+ ->findByUrlAndUserId($this->wrongUrl, $this->getLoggedInUserId());
+
+ $this->assertFalse($content);
+ }
+
public function testArchive()
{
$this->logInAs('admin');
@@ -507,9 +538,12 @@ class EntryControllerTest extends WallabagTestCase
$entry->setContent('');
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
- $client->request('GET', '/reload/' . $entry->getId());
+ $client = $this->getTestClient();
+
+ $crawler = $client->request('GET', '/view/' . $entry->getId());
+
+ $client->submit($crawler->selectButton('entry.view.left_menu.re_fetch_content')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -530,7 +564,9 @@ class EntryControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $client->request('GET', '/reload/' . $entry->getId());
+ $crawler = $client->request('GET', '/view/' . $entry->getId());
+
+ $client->submit($crawler->selectButton('entry.view.left_menu.re_fetch_content')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -639,9 +675,12 @@ class EntryControllerTest extends WallabagTestCase
$entry->setUrl($this->url);
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
- $client->request('GET', '/archive/' . $entry->getId());
+ $client = $this->getTestClient();
+
+ $crawler = $client->request('GET', '/view/' . $entry->getId());
+
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.set_as_read')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -650,7 +689,7 @@ class EntryControllerTest extends WallabagTestCase
->getRepository(Entry::class)
->find($entry->getId());
- $this->assertSame(1, $res->isArchived());
+ $this->assertTrue($res->isArchived());
}
public function testToggleStar()
@@ -662,9 +701,12 @@ class EntryControllerTest extends WallabagTestCase
$entry->setUrl($this->url);
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
- $client->request('GET', '/star/' . $entry->getId());
+ $client = $this->getTestClient();
+
+ $crawler = $client->request('GET', '/view/' . $entry->getId());
+
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.set_as_starred')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -686,13 +728,11 @@ class EntryControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $client->request('GET', '/delete/' . $entry->getId());
+ $crawler = $client->request('POST', '/delete/' . $entry->getId());
- $this->assertSame(302, $client->getResponse()->getStatusCode());
-
- $client->request('GET', '/delete/' . $entry->getId());
-
- $this->assertSame(404, $client->getResponse()->getStatusCode());
+ $this->assertSame(400, $client->getResponse()->getStatusCode());
+ $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+ $this->assertStringContainsString('Bad CSRF token.', $body[0]);
}
/**
@@ -728,10 +768,11 @@ class EntryControllerTest extends WallabagTestCase
$em->persist($content);
$em->flush();
- $client->request('GET', '/view/' . $content->getId());
+ $crawler = $client->request('GET', '/view/' . $content->getId());
$this->assertSame(200, $client->getResponse()->getStatusCode());
- $client->request('GET', '/delete/' . $content->getId());
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.delete')->form());
+
$this->assertSame(302, $client->getResponse()->getStatusCode());
$client->followRedirect();
@@ -750,7 +791,7 @@ class EntryControllerTest extends WallabagTestCase
$client->request('GET', '/view/' . $content->getId());
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(404, $client->getResponse()->getStatusCode());
}
public function testFilterOnReadingTime()
@@ -1169,14 +1210,18 @@ class EntryControllerTest extends WallabagTestCase
$content->setUrl($this->url);
$this->getEntityManager()->persist($content);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
// no uid
$client->request('GET', '/share/' . $content->getUid());
$this->assertSame(404, $client->getResponse()->getStatusCode());
// generating the uid
- $client->request('GET', '/share/' . $content->getId());
+ $crawler = $client->request('GET', '/view/' . $content->getId());
+
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.public_link')->form());
+
$this->assertSame(302, $client->getResponse()->getStatusCode());
$shareUrl = $client->getResponse()->getTargetUrl();
@@ -1203,12 +1248,19 @@ class EntryControllerTest extends WallabagTestCase
$this->assertSame(404, $client->getResponse()->getStatusCode());
// removing the share
- $client->request('GET', '/share/delete/' . $content->getId());
+ $client->getContainer()->get(Config::class)->set('share_public', 1);
+ $this->logInAs('admin');
+ $crawler = $client->request('GET', '/view/' . $content->getId());
+
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.delete_public_link')->form());
+
$this->assertSame(302, $client->getResponse()->getStatusCode());
- // share is now disable
+ // share is now removed
$client->request('GET', '/share/' . $content->getUid());
$this->assertSame(404, $client->getResponse()->getStatusCode());
+
+ $client->getContainer()->get(Config::class)->set('share_public', 0);
}
/**
@@ -1248,7 +1300,7 @@ class EntryControllerTest extends WallabagTestCase
$this->assertSame($url, $entry->getUrl());
$this->assertStringContainsString('Comment Hidalgo', $entry->getTitle());
// instead of checking for the filename (which might change) check that the image is now local
- $this->assertStringContainsString(rtrim($client->getContainer()->getParameter('domain_name'), '/') . '/assets/images/', $entry->getContent());
+ $this->assertStringContainsString(rtrim((string) $client->getContainer()->getParameter('domain_name'), '/') . '/assets/images/', $entry->getContent());
$client->getContainer()->get(Config::class)->set('download_images_enabled', 0);
}
@@ -1284,7 +1336,9 @@ class EntryControllerTest extends WallabagTestCase
->getRepository(Entry::class)
->findByUrlAndUserId($url, $this->getLoggedInUserId());
- $client->request('GET', '/delete/' . $content->getId());
+ $crawler = $client->request('GET', '/view/' . $content->getId());
+
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.delete')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -1307,8 +1361,9 @@ class EntryControllerTest extends WallabagTestCase
$this->getEntityManager()->flush();
- $client->request('GET', '/view/' . $entry->getId());
- $client->request('GET', '/archive/' . $entry->getId());
+ $crawler = $client->request('GET', '/view/' . $entry->getId());
+
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.set_as_read')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());
$this->assertSame('/', $client->getResponse()->headers->get('location'));
@@ -1332,8 +1387,7 @@ class EntryControllerTest extends WallabagTestCase
$crawler = $client->request('GET', '/view/' . $entry->getId());
- $link = $crawler->filter('a[id="markAsRead"]')->link();
- $client->click($link);
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.set_as_read')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());
$this->assertStringContainsString('/view/' . $entry->getId(), $client->getResponse()->headers->get('location'));
@@ -1346,7 +1400,7 @@ class EntryControllerTest extends WallabagTestCase
$entry = new Entry($this->getLoggedInUser());
$entry->setUrl('https://www.lemonde.fr/incorrect-url/');
- $entry->setHttpStatus(404);
+ $entry->setHttpStatus('404');
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
@@ -1364,12 +1418,12 @@ class EntryControllerTest extends WallabagTestCase
$entry = new Entry($this->getLoggedInUser());
$entry->setUrl($this->url);
- $entry->setHttpStatus(200);
+ $entry->setHttpStatus('200');
$this->getEntityManager()->persist($entry);
$entry = new Entry($this->getLoggedInUser());
$entry->setUrl('http://www.nextinpact.com/news/101235-wallabag-alternative-libre-a-pocket-creuse-petit-a-petit-son-nid.htm');
- $entry->setHttpStatus(200);
+ $entry->setHttpStatus('200');
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
@@ -1469,7 +1523,8 @@ class EntryControllerTest extends WallabagTestCase
$crawler = $client->submit($form, $data);
$this->assertCount(1, $crawler->filter($this->entryDataTestAttribute));
- $client->request('GET', '/delete/' . $entry->getId());
+
+ $client->submit($crawler->filter('.tools, .tools-list')->selectButton('delete')->form());
// test on list of all articles
$crawler = $client->request('GET', '/all/list');
@@ -1526,11 +1581,43 @@ class EntryControllerTest extends WallabagTestCase
$this->assertCount(2, $crawler->filter($this->entryDataTestAttribute));
}
+ public function testActionInSearchResults()
+ {
+ $this->logInAs('admin');
+ $client = $this->getTestClient();
+
+ $config = $this->getLoggedInUser()->getConfig();
+ $config->setActionMarkAsRead(ConfigEntity::REDIRECT_TO_CURRENT_PAGE);
+ $this->getEntityManager()->persist($config);
+
+ $entry = new Entry($this->getLoggedInUser());
+ $entry->setUrl($this->url);
+ $entry->setTitle('ActionInSearchResults');
+ $this->getEntityManager()->persist($entry);
+ $this->getEntityManager()->flush();
+
+ // Search on unread list
+ $crawler = $client->request('GET', '/unread/list');
+
+ $form = $crawler->filter('form[name=search]')->form();
+ $data = [
+ 'search_entry[term]' => 'ActionInSearchResults',
+ ];
+
+ $crawler = $client->submit($form, $data);
+ $currentUrl = $client->getRequest()->getUri();
+ $form = $crawler->filter('.tools, .tools-list')->selectButton('delete')->form();
+ $client->submit($form);
+ $client->followRedirect();
+ $nextUrl = $client->getRequest()->getUri();
+ $this->assertSame($currentUrl, $nextUrl);
+ }
+
public function dataForLanguage()
{
return [
'ru' => [
- 'https://ru.wikipedia.org/wiki/Открытое_программное_обеспечение',
+ 'https://ru.wikipedia.org/wiki/%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA',
'ru',
],
'fr' => [
@@ -1538,23 +1625,23 @@ class EntryControllerTest extends WallabagTestCase
'fr',
],
'de' => [
- 'https://www.bild.de/politik/ausland/theresa-may/wahlbeben-grossbritannien-analyse-52108924.bild.html',
+ 'https://de.wikipedia.org/wiki/Deutsche_Sprache',
'de',
],
'it' => [
- 'https://www.ansa.it/sito/notizie/mondo/europa/2017/06/08/voto-gb-seggi-aperti-misure-sicurezza-rafforzate_0cb71f7f-e23b-4d5f-95ca-bc12296419f0.html',
+ 'https://it.wikipedia.org/wiki/Lingua_italiana',
'it',
],
- 'zh_CN' => [
- 'http://tuijian.hao123.com/tuijian/?__noscript__-=1',
- 'zh_CN',
+ 'zh' => [
+ 'https://zh.wikipedia.org/wiki/%E7%8F%BE%E4%BB%A3%E6%A8%99%E6%BA%96%E6%BC%A2%E8%AA%9E',
+ 'zh',
],
'pt_BR' => [
- 'https://esportes.r7.com/lance/futebol/victor-hugo-e-matheus-franca-devem-desfalcar-flamengo-no-carioca-22112022/',
+ 'https://www.monpetitbresil.com/pages/quem-somos',
'pt_BR',
],
- 'es-ES' => [
- 'https://elpais.com/internacional/2022-11-03/ultima-hora-de-la-guerra-entre-rusia-y-ucrania-hoy-en-directo.html',
+ 'es' => [
+ 'https://es.wikipedia.org/wiki/Idioma_espa%C3%B1ol',
'es',
],
];
@@ -1654,7 +1741,7 @@ class EntryControllerTest extends WallabagTestCase
$container = $client->getContainer();
$contentProxy = $this->getMockBuilder(ContentProxy::class)
->disableOriginalConstructor()
- ->setMethods(['updateEntry'])
+ ->onlyMethods(['updateEntry'])
->getMock();
$contentProxy->expects($this->any())
->method('updateEntry')
@@ -1693,7 +1780,7 @@ class EntryControllerTest extends WallabagTestCase
$this->assertSame('example.com', $content->getDomainName());
}
- public function testEntryDeleteTagLink()
+ public function testEntryDeleteTagForm()
{
$this->logInAs('admin');
$client = $this->getTestClient();
@@ -1704,10 +1791,7 @@ class EntryControllerTest extends WallabagTestCase
$crawler = $client->request('GET', '/view/' . $entry->getId());
- // As long as the deletion link of a tag is following
- // a link to the tag view, we take the second one to retrieve
- // the deletion link of the first tag
- $link = $crawler->filter('body div#article div.tools ul.tags li.chip a')->extract(['href'])[1];
+ $link = $crawler->filter('body div#article div.tools ul.tags li.chip form')->extract(['action'])[0];
$this->assertStringStartsWith(\sprintf('/remove-tag/%s/%s', $entry->getId(), $tag->getId()), $link);
}
@@ -1760,14 +1844,19 @@ class EntryControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry3);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
$entries = [];
- $entries[] = $entry1->getId();
- $entries[] = $entry2->getId();
+ $entries[] = $entry1Id = $entry1->getId();
+ $entries[] = $entry2Id = $entry2->getId();
+
+ $crawler = $client->request('GET', '/all/list');
+ $token = $crawler->filter('#form_mass_action input[name=token]')->attr('value');
// Mass actions : archive
$client->request('POST', '/mass', [
+ 'token' => $token,
'toggle-archive' => '',
'entry-checkbox' => $entries,
]);
@@ -1779,17 +1868,21 @@ class EntryControllerTest extends WallabagTestCase
->getRepository(Entry::class)
->find($entry1->getId());
- $this->assertSame(1, $res->isArchived());
+ $this->assertTrue($res->isArchived());
$res = $client->getContainer()
->get(EntityManagerInterface::class)
->getRepository(Entry::class)
->find($entry2->getId());
- $this->assertSame(1, $res->isArchived());
+ $this->assertTrue($res->isArchived());
+
+ $crawler = $client->request('GET', '/all/list');
+ $token = $crawler->filter('#form_mass_action input[name=token]')->attr('value');
// Mass actions : star
$client->request('POST', '/mass', [
+ 'token' => $token,
'toggle-star' => '',
'entry-checkbox' => $entries,
]);
@@ -1810,8 +1903,12 @@ class EntryControllerTest extends WallabagTestCase
$this->assertTrue($res->isStarred());
+ $crawler = $client->request('GET', '/all/list');
+ $token = $crawler->filter('#form_mass_action input[name=token]')->attr('value');
+
// Mass actions : tag
$client->request('POST', '/mass', [
+ 'token' => $token,
'tag' => '',
'tags' => 'foo',
'entry-checkbox' => $entries,
@@ -1840,17 +1937,29 @@ class EntryControllerTest extends WallabagTestCase
$this->assertNotContains('foo', $res->getTagsLabel());
+ $crawler = $client->request('GET', '/all/list');
+ $token = $crawler->filter('#form_mass_action input[name=token]')->attr('value');
+
// Mass actions : delete
$client->request('POST', '/mass', [
+ 'token' => $token,
'delete' => '',
'entry-checkbox' => $entries,
]);
- $client->request('GET', '/delete/' . $entry1->getId());
- $this->assertSame(404, $client->getResponse()->getStatusCode());
+ $res = $client->getContainer()
+ ->get(EntityManagerInterface::class)
+ ->getRepository(Entry::class)
+ ->find($entry1Id);
- $client->request('GET', '/delete/' . $entry2->getId());
- $this->assertSame(404, $client->getResponse()->getStatusCode());
+ $this->assertNull($res);
+
+ $res = $client->getContainer()
+ ->get(EntityManagerInterface::class)
+ ->getRepository(Entry::class)
+ ->find($entry2Id);
+
+ $this->assertNull($res);
}
public function testGetSameDomainEntries()
diff --git a/tests/Controller/ExportControllerTest.php b/tests/Controller/ExportControllerTest.php
index bb8e6995f..40adc896d 100644
--- a/tests/Controller/ExportControllerTest.php
+++ b/tests/Controller/ExportControllerTest.php
@@ -11,8 +11,6 @@ class ExportControllerTest extends WallabagTestCase
{
private $adminEntry;
private $bobEntry;
- private $sameDomainEntry;
- private $sameDomainEntry2;
public function testLogin()
{
@@ -177,7 +175,7 @@ class ExportControllerTest extends WallabagTestCase
$this->assertSame('attachment; filename="Archive articles.csv"', $headers->get('content-disposition'));
$this->assertSame('UTF-8', $headers->get('content-transfer-encoding'));
- $csv = str_getcsv($client->getResponse()->getContent(), "\n");
+ $csv = str_getcsv((string) $client->getResponse()->getContent(), "\n");
$this->assertGreaterThan(1, $csv);
// +1 for title line
@@ -216,7 +214,7 @@ class ExportControllerTest extends WallabagTestCase
$this->assertSame('attachment; filename="' . $this->getSanitizedFilename($contentInDB->getTitle()) . '.json"', $headers->get('content-disposition'));
$this->assertSame('UTF-8', $headers->get('content-transfer-encoding'));
- $content = json_decode($client->getResponse()->getContent(), true);
+ $content = json_decode((string) $client->getResponse()->getContent(), true);
$this->assertArrayHasKey('id', $content[0]);
$this->assertArrayHasKey('title', $content[0]);
$this->assertArrayHasKey('url', $content[0]);
@@ -262,7 +260,7 @@ class ExportControllerTest extends WallabagTestCase
$this->assertSame('attachment; filename="Search entry search articles.json"', $headers->get('content-disposition'));
$this->assertSame('UTF-8', $headers->get('content-transfer-encoding'));
- $content = json_decode($client->getResponse()->getContent(), true);
+ $content = json_decode((string) $client->getResponse()->getContent(), true);
$this->assertCount(1, $content);
$this->tearDownForJsonExportFromSearch();
@@ -339,7 +337,7 @@ class ExportControllerTest extends WallabagTestCase
$this->assertSame('attachment; filename="Same domain articles.json"', $headers->get('content-disposition'));
$this->assertSame('UTF-8', $headers->get('content-transfer-encoding'));
- $content = json_decode($client->getResponse()->getContent(), true);
+ $content = json_decode((string) $client->getResponse()->getContent(), true);
$this->assertCount(4, $content);
}
diff --git a/tests/Controller/FeedControllerTest.php b/tests/Controller/FeedControllerTest.php
index dadcff5b3..a2affdb67 100644
--- a/tests/Controller/FeedControllerTest.php
+++ b/tests/Controller/FeedControllerTest.php
@@ -36,7 +36,7 @@ class FeedControllerTest extends WallabagTestCase
$this->assertSame('admin', $xpath->query('/a:feed/a:author/a:name')->item(0)->nodeValue);
$this->assertSame(1, $xpath->query('/a:feed/a:subtitle')->length);
- if (null !== $tagValue && str_starts_with($type, 'tag')) {
+ if (null !== $tagValue && str_starts_with((string) $type, 'tag')) {
$this->assertSame('wallabag — ' . $type . ' ' . $tagValue . ' feed', $xpath->query('/a:feed/a:title')->item(0)->nodeValue);
$this->assertSame('Atom feed for entries tagged with ' . $tagValue, $xpath->query('/a:feed/a:subtitle')->item(0)->nodeValue);
} else {
@@ -45,7 +45,7 @@ class FeedControllerTest extends WallabagTestCase
}
$this->assertSame(1, $xpath->query('/a:feed/a:link[@rel="self"]')->length);
- $this->assertStringContainsString($type, $xpath->query('/a:feed/a:link[@rel="self"]')->item(0)->getAttribute('href'));
+ $this->assertStringContainsString($type, $xpath->query('/a:feed/a:link[@rel="self"]')->item(0)->attributes['href']->value);
$this->assertSame(1, $xpath->query('/a:feed/a:link[@rel="last"]')->length);
@@ -127,7 +127,7 @@ class FeedControllerTest extends WallabagTestCase
$client = $this->getTestClient();
$client->request('GET', '/feed/admin/SUPERTOKEN/starred');
- $this->assertSame(200, $client->getResponse()->getStatusCode(), 1);
+ $this->assertSame(200, $client->getResponse()->getStatusCode());
$this->validateDom($client->getResponse()->getContent(), 'starred');
}
diff --git a/tests/Controller/IgnoreOriginInstanceRuleControllerTest.php b/tests/Controller/IgnoreOriginInstanceRuleControllerTest.php
index 6800c4d98..dd1305bc7 100644
--- a/tests/Controller/IgnoreOriginInstanceRuleControllerTest.php
+++ b/tests/Controller/IgnoreOriginInstanceRuleControllerTest.php
@@ -11,7 +11,7 @@ class IgnoreOriginInstanceRuleControllerTest extends WallabagTestCase
$this->logInAs('admin');
$client = $this->getTestClient();
- $crawler = $client->request('GET', '/ignore-origin-instance-rules/');
+ $crawler = $client->request('GET', '/ignore-origin-instance-rules');
$this->assertSame(200, $client->getResponse()->getStatusCode());
diff --git a/tests/Controller/Import/ImportControllerTest.php b/tests/Controller/Import/ImportControllerTest.php
index 9c156a83e..14adf8318 100644
--- a/tests/Controller/Import/ImportControllerTest.php
+++ b/tests/Controller/Import/ImportControllerTest.php
@@ -23,6 +23,6 @@ class ImportControllerTest extends WallabagTestCase
$crawler = $client->request('GET', '/import/');
$this->assertSame(200, $client->getResponse()->getStatusCode());
- $this->assertSame(13, $crawler->filter('.card-title')->count());
+ $this->assertSame(14, $crawler->filter('.card-title')->count());
}
}
diff --git a/tests/Controller/Import/PocketControllerTest.php b/tests/Controller/Import/PocketControllerTest.php
index b6c7c97f9..4216a7cc1 100644
--- a/tests/Controller/Import/PocketControllerTest.php
+++ b/tests/Controller/Import/PocketControllerTest.php
@@ -56,7 +56,7 @@ class PocketControllerTest extends WallabagTestCase
$this->logInAs('admin');
$client = $this->getTestClient();
- $client->request('GET', '/import/pocket/auth');
+ $client->request('POST', '/import/pocket/auth');
$this->assertSame(302, $client->getResponse()->getStatusCode());
}
@@ -77,7 +77,7 @@ class PocketControllerTest extends WallabagTestCase
static::$kernel->getContainer()->set(PocketImport::class, $pocketImport);
- $client->request('GET', '/import/pocket/auth');
+ $client->request('POST', '/import/pocket/auth');
$this->assertSame(301, $client->getResponse()->getStatusCode());
$this->assertStringContainsString('getpocket.com/auth/authorize', $client->getResponse()->headers->get('location'));
diff --git a/tests/Controller/Import/PocketCsvControllerTest.php b/tests/Controller/Import/PocketCsvControllerTest.php
new file mode 100644
index 000000000..98d99b53a
--- /dev/null
+++ b/tests/Controller/Import/PocketCsvControllerTest.php
@@ -0,0 +1,168 @@
+logInAs('admin');
+ $client = $this->getTestClient();
+
+ $crawler = $client->request('GET', '/import/pocket_csv');
+
+ $this->assertSame(200, $client->getResponse()->getStatusCode());
+ $this->assertSame(1, $crawler->filter('form[name=upload_import_file] > button[type=submit]')->count());
+ $this->assertSame(1, $crawler->filter('input[type=file]')->count());
+ }
+
+ public function testImportPocketCsvWithRabbitEnabled()
+ {
+ $this->logInAs('admin');
+ $client = $this->getTestClient();
+
+ $client->getContainer()->get(Config::class)->set('import_with_rabbitmq', 1);
+
+ $crawler = $client->request('GET', '/import/pocket_csv');
+
+ $this->assertSame(200, $client->getResponse()->getStatusCode());
+ $this->assertSame(1, $crawler->filter('form[name=upload_import_file] > button[type=submit]')->count());
+ $this->assertSame(1, $crawler->filter('input[type=file]')->count());
+
+ $client->getContainer()->get(Config::class)->set('import_with_rabbitmq', 0);
+ }
+
+ public function testImportPocketCsvBadFile()
+ {
+ $this->logInAs('admin');
+ $client = $this->getTestClient();
+
+ $crawler = $client->request('GET', '/import/pocket_csv');
+ $form = $crawler->filter('form[name=upload_import_file] > button[type=submit]')->form();
+
+ $data = [
+ 'upload_import_file[file]' => '',
+ ];
+
+ $client->submit($form, $data);
+
+ $this->assertSame(200, $client->getResponse()->getStatusCode());
+ }
+
+ public function testImportPocketCsvWithRedisEnabled()
+ {
+ $this->checkRedis();
+ $this->logInAs('admin');
+ $client = $this->getTestClient();
+ $client->getContainer()->get(Config::class)->set('import_with_redis', 1);
+
+ $crawler = $client->request('GET', '/import/pocket_csv');
+
+ $this->assertSame(200, $client->getResponse()->getStatusCode());
+ $this->assertSame(1, $crawler->filter('form[name=upload_import_file] > button[type=submit]')->count());
+ $this->assertSame(1, $crawler->filter('input[type=file]')->count());
+
+ $form = $crawler->filter('form[name=upload_import_file] > button[type=submit]')->form();
+
+ $file = new UploadedFile(__DIR__ . '/../../fixtures/Import/pocket.csv', 'Bookmarks');
+
+ $data = [
+ 'upload_import_file[file]' => $file,
+ ];
+
+ $client->submit($form, $data);
+
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+
+ $crawler = $client->followRedirect();
+
+ $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+ $this->assertStringContainsString('flashes.import.notice.summary', $body[0]);
+
+ $this->assertNotEmpty($client->getContainer()->get(Client::class)->lpop('wallabag.import.pocket_csv'));
+
+ $client->getContainer()->get(Config::class)->set('import_with_redis', 0);
+ }
+
+ public function testImportWallabagWithPocketCsvFile()
+ {
+ $this->logInAs('admin');
+ $client = $this->getTestClient();
+
+ $crawler = $client->request('GET', '/import/pocket_csv');
+ $form = $crawler->filter('form[name=upload_import_file] > button[type=submit]')->form();
+
+ $file = new UploadedFile(__DIR__ . '/../../fixtures/Import/pocket.csv', 'Bookmarks');
+
+ $data = [
+ 'upload_import_file[file]' => $file,
+ ];
+
+ $client->submit($form, $data);
+
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+
+ $crawler = $client->followRedirect();
+
+ $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+ $this->assertStringContainsString('flashes.import.notice.summary', $body[0]);
+
+ $entries = $client->getContainer()
+ ->get(EntityManagerInterface::class)
+ ->getRepository(Entry::class)
+ ->findBy(['user' => $this->getLoggedInUserId()]);
+
+ $expectedEntries = [
+ 'http://youmightnotneedjquery.com/,1600322788',
+ 'https://jp-lambert.me/est-ce-que-jai-besoin-d-un-scrum-master-604f5a471c73',
+ 'https://www.monde-diplomatique.fr/2020/09/HALIMI/62165',
+ 'https://www.reddit.com/r/DataHoarder/comments/ioupbk/archivebox_question_how_do_i_import_links_from_a/',
+ 'https://www.numerama.com/politique/646826-tu-vas-pleurer-les-premieres-fois-que-se-passe-t-il-au-sein-du-studio-dubisoft-derriere-trackmania.html#utm_medium=distibuted&utm_source=rss&utm_campaign=646826',
+ 'https://www.nouvelobs.com/rue89/20200911.OBS33165/comment-konbini-s-est-fait-pieger-par-un-pere-masculiniste.html',
+ 'https://reporterre.net/Des-abeilles-pour-resoudre-les-conflits-entre-les-humains-et-les-elephants',
+ ];
+
+ $matchedEntries = array_map(function ($expectedUrl) use ($entries) {
+ foreach ($entries as $entry) {
+ if ($entry->getUrl() === $expectedUrl) {
+ return $entry;
+ }
+ }
+
+ return null;
+ }, $expectedEntries);
+
+ $this->assertCount(\count($expectedEntries), $matchedEntries, 'Should have 7 entries imported from pocket.csv');
+ }
+
+ public function testImportWallabagWithEmptyFile()
+ {
+ $this->logInAs('admin');
+ $client = $this->getTestClient();
+
+ $crawler = $client->request('GET', '/import/pocket_csv');
+ $form = $crawler->filter('form[name=upload_import_file] > button[type=submit]')->form();
+
+ $file = new UploadedFile(__DIR__ . '/../../fixtures/Import/test.csv', 'test.csv');
+
+ $data = [
+ 'upload_import_file[file]' => $file,
+ ];
+
+ $client->submit($form, $data);
+
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+
+ $crawler = $client->followRedirect();
+
+ $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+ $this->assertStringContainsString('flashes.import.notice.failed', $body[0]);
+ }
+}
diff --git a/tests/Controller/SecurityControllerTest.php b/tests/Controller/SecurityControllerTest.php
index 3ff4c57bf..110b3ab7f 100644
--- a/tests/Controller/SecurityControllerTest.php
+++ b/tests/Controller/SecurityControllerTest.php
@@ -66,6 +66,7 @@ class SecurityControllerTest extends WallabagTestCase
->getRepository(User::class)
->findOneByUsername('admin');
$user->setGoogleAuthenticatorSecret('26LDIHYGHNELOQEM');
+ $user->setGoogleAuthenticator(true);
$em->persist($user);
$em->flush();
@@ -78,6 +79,7 @@ class SecurityControllerTest extends WallabagTestCase
->getRepository(User::class)
->findOneByUsername('admin');
$user->setGoogleAuthenticatorSecret(null);
+ $user->setGoogleAuthenticator(false);
$em->persist($user);
$em->flush();
}
@@ -88,8 +90,6 @@ class SecurityControllerTest extends WallabagTestCase
if (!$client->getContainer()->getParameter('fosuser_registration')) {
$this->markTestSkipped('fosuser_registration is not enabled.');
-
- return;
}
$client->followRedirects();
diff --git a/tests/Controller/SettingsControllerTest.php b/tests/Controller/SettingsControllerTest.php
index 189f90888..480d1b5ea 100644
--- a/tests/Controller/SettingsControllerTest.php
+++ b/tests/Controller/SettingsControllerTest.php
@@ -27,6 +27,6 @@ class SettingsControllerTest extends WallabagTestCase
$crawler = $client->request('GET', '/settings');
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(404, $client->getResponse()->getStatusCode());
}
}
diff --git a/tests/Controller/SiteCredentialControllerTest.php b/tests/Controller/SiteCredentialControllerTest.php
index 73ddaac7a..c773f5d0a 100644
--- a/tests/Controller/SiteCredentialControllerTest.php
+++ b/tests/Controller/SiteCredentialControllerTest.php
@@ -17,7 +17,7 @@ class SiteCredentialControllerTest extends WallabagTestCase
$client->getContainer()->get(Config::class)->set('restricted_access', 0);
- $client->request('GET', '/site-credentials/');
+ $client->request('GET', '/site-credentials');
$this->assertSame(404, $client->getResponse()->getStatusCode());
@@ -29,7 +29,7 @@ class SiteCredentialControllerTest extends WallabagTestCase
$this->logInAs('admin');
$client = $this->getTestClient();
- $crawler = $client->request('GET', '/site-credentials/');
+ $crawler = $client->request('GET', '/site-credentials');
$this->assertSame(200, $client->getResponse()->getStatusCode());
@@ -114,7 +114,7 @@ class SiteCredentialControllerTest extends WallabagTestCase
$client->request('GET', '/site-credentials/' . $credential->getId() . '/edit');
- $this->assertSame(403, $client->getResponse()->getStatusCode());
+ $this->assertSame(404, $client->getResponse()->getStatusCode());
}
public function testDeleteSiteCredential()
diff --git a/tests/Controller/TagControllerTest.php b/tests/Controller/TagControllerTest.php
index 40051b7fa..12db58248 100644
--- a/tests/Controller/TagControllerTest.php
+++ b/tests/Controller/TagControllerTest.php
@@ -35,7 +35,8 @@ class TagControllerTest extends WallabagTestCase
$entry->setUrl('http://0.0.0.0/foo');
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
$crawler = $client->request('GET', '/view/' . $entry->getId());
@@ -120,14 +121,15 @@ class TagControllerTest extends WallabagTestCase
$entry->addTag($tag);
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
// We make a first request to set an history and test redirection after tag deletion
$crawler = $client->request('GET', '/view/' . $entry->getId());
$entryUri = $client->getRequest()->getRequestUri();
- $link = $crawler->filter('a[href^="/remove-tag/' . $entry->getId() . '/' . $tag->getId() . '"]')->link();
- $client->click($link);
+ $form = $crawler->filter('form[action^="/remove-tag/' . $entry->getId() . '/' . $tag->getId() . '"]')->form();
+ $client->submit($form);
$this->assertSame(302, $client->getResponse()->getStatusCode());
$this->assertSame($entryUri, $client->getResponse()->getTargetUrl());
@@ -136,9 +138,8 @@ class TagControllerTest extends WallabagTestCase
$entry = $this->getEntityManager()->getRepository(Entry::class)->find($entry->getId());
$this->assertNotContains($this->tagName, $entry->getTagsLabel());
- $client->request('GET', '/remove-tag/' . $entry->getId() . '/' . $tag->getId());
-
- $this->assertSame(404, $client->getResponse()->getStatusCode());
+ $client->request('GET', '/view/' . $entry->getId());
+ $this->assertStringNotContainsString('/remove-tag/' . $entry->getId() . '/' . $tag->getId(), $client->getResponse()->getContent());
$tag = $client->getContainer()
->get(EntityManagerInterface::class)
@@ -166,11 +167,12 @@ class TagControllerTest extends WallabagTestCase
$entry2->addTag($tag);
$this->getEntityManager()->persist($entry2);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
$crawler = $client->request('GET', '/tag/list');
- $link = $crawler->filter('a[id="delete-' . $tag->getSlug() . '"]')->link();
- $client->click($link);
+ $form = $crawler->filter('#tag-' . $tag->getId())->selectButton('delete')->form();
+ $client->submit($form);
$tag = $client->getContainer()
->get(EntityManagerInterface::class)
@@ -254,7 +256,8 @@ class TagControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry2);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
// We make a first request to set an history and test redirection after tag deletion
$crawler = $client->request('GET', '/tag/list');
@@ -321,7 +324,8 @@ class TagControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
// We make a first request to set an history and test redirection after tag deletion
$crawler = $client->request('GET', '/tag/list');
@@ -376,7 +380,8 @@ class TagControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
// We make a first request to set an history and test redirection after tag deletion
$crawler = $client->request('GET', '/tag/list');
@@ -446,7 +451,8 @@ class TagControllerTest extends WallabagTestCase
$this->getEntityManager()->persist($entry2);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
// We make a first request to set an history and test redirection after tag deletion
$crawler = $client->request('GET', '/tag/list');
@@ -496,7 +502,8 @@ class TagControllerTest extends WallabagTestCase
$entry->setUrl('http://0.0.0.0/tag-caché');
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
- $this->getEntityManager()->clear();
+
+ $client = $this->getTestClient();
$crawler = $client->request('GET', '/view/' . $entry->getId());
@@ -548,7 +555,7 @@ class TagControllerTest extends WallabagTestCase
$crawler = $client->submit($form, $data);
- $client->click($crawler->selectLink('entry.list.assign_search_tag')->link());
+ $client->submit($crawler->selectButton('entry.list.assign_search_tag')->form());
$client->followRedirect();
$entries = $client->getContainer()
diff --git a/tests/Event/Listener/AuthenticationFailureListenerTest.php b/tests/Event/Listener/AuthenticationFailureListenerTest.php
index dd746817e..4ae4d9002 100644
--- a/tests/Event/Listener/AuthenticationFailureListenerTest.php
+++ b/tests/Event/Listener/AuthenticationFailureListenerTest.php
@@ -8,10 +8,9 @@ use PHPUnit\Framework\TestCase;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
-use Symfony\Component\Security\Core\AuthenticationEvents;
-use Symfony\Component\Security\Core\Event\AuthenticationFailureEvent;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
+use Symfony\Component\Security\Http\Authenticator\AuthenticatorInterface;
+use Symfony\Component\Security\Http\Event\LoginFailureEvent;
use Wallabag\Event\Listener\AuthenticationFailureListener;
class AuthenticationFailureListenerTest extends TestCase
@@ -43,7 +42,7 @@ class AuthenticationFailureListenerTest extends TestCase
public function testOnAuthenticationFailure()
{
- $token = $this->getMockBuilder(TokenInterface::class)
+ $authenticator = $this->getMockBuilder(AuthenticatorInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -51,15 +50,9 @@ class AuthenticationFailureListenerTest extends TestCase
->disableOriginalConstructor()
->getMock();
- $event = new AuthenticationFailureEvent(
- $token,
- $exception
- );
+ $event = new LoginFailureEvent($exception, $authenticator, $this->requestStack->getMainRequest(), null, 'main', null);
- $this->dispatcher->dispatch(
- $event,
- AuthenticationEvents::AUTHENTICATION_FAILURE
- );
+ $this->dispatcher->dispatch($event);
$records = $this->logHandler->getRecords();
diff --git a/tests/Event/Listener/CreateConfigListenerTest.php b/tests/Event/Listener/CreateConfigListenerTest.php
index 19d40661d..23410738f 100644
--- a/tests/Event/Listener/CreateConfigListenerTest.php
+++ b/tests/Event/Listener/CreateConfigListenerTest.php
@@ -48,7 +48,7 @@ class CreateConfigListenerTest extends TestCase
$this->dispatcher->addSubscriber($this->listener);
$this->request = Request::create('/');
- $this->response = Response::create();
+ $this->response = new Response();
}
public function testWithValidUser()
diff --git a/tests/Event/Listener/LocaleListenerTest.php b/tests/Event/Listener/LocaleListenerTest.php
index fe8f6c569..eb31ea245 100644
--- a/tests/Event/Listener/LocaleListenerTest.php
+++ b/tests/Event/Listener/LocaleListenerTest.php
@@ -82,6 +82,6 @@ class LocaleListenerTest extends TestCase
->disableOriginalConstructor()
->getMock();
- return new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
+ return new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
}
}
diff --git a/tests/Event/Listener/UserLocaleListenerTest.php b/tests/Event/Listener/UserLocaleListenerTest.php
index 4710ec416..6ff8432d1 100644
--- a/tests/Event/Listener/UserLocaleListenerTest.php
+++ b/tests/Event/Listener/UserLocaleListenerTest.php
@@ -27,7 +27,7 @@ class UserLocaleListenerTest extends TestCase
$user->setConfig($config);
- $userToken = new UsernamePasswordToken($user, '', 'test');
+ $userToken = new UsernamePasswordToken($user, 'test');
$request = Request::create('/');
$event = new InteractiveLoginEvent($request, $userToken);
@@ -48,7 +48,7 @@ class UserLocaleListenerTest extends TestCase
$user->setConfig($config);
- $userToken = new UsernamePasswordToken($user, '', 'test');
+ $userToken = new UsernamePasswordToken($user, 'test');
$request = Request::create('/');
$event = new InteractiveLoginEvent($request, $userToken);
@@ -71,7 +71,7 @@ class UserLocaleListenerTest extends TestCase
$user->setConfig($config);
- $userToken = new UsernamePasswordToken($user, '', 'test');
+ $userToken = new UsernamePasswordToken($user, 'test');
$request = Request::create('/');
$event = new InteractiveLoginEvent($request, $userToken);
diff --git a/tests/Event/Subscriber/TablePrefixSubscriberTest.php b/tests/Event/Subscriber/TablePrefixSubscriberTest.php
index da80c293a..2872fb23f 100644
--- a/tests/Event/Subscriber/TablePrefixSubscriberTest.php
+++ b/tests/Event/Subscriber/TablePrefixSubscriberTest.php
@@ -9,7 +9,9 @@ use Doctrine\DBAL\Platforms\SqlitePlatform;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Event\LoadClassMetadataEventArgs;
use Doctrine\ORM\Mapping\ClassMetadata;
+use Doctrine\ORM\Mapping\DefaultQuoteStrategy;
use PHPUnit\Framework\TestCase;
+use Wallabag\Entity\Entry;
use Wallabag\Entity\User;
use Wallabag\Event\Subscriber\TablePrefixSubscriber;
@@ -57,7 +59,7 @@ class TablePrefixSubscriberTest extends TestCase
$subscriber->loadClassMetadata($metaDataEvent);
$this->assertSame($finalTableName, $metaDataEvent->getClassMetadata()->getTableName());
- $this->assertSame($finalTableNameQuoted, $metaDataEvent->getClassMetadata()->getQuotedTableName($platform));
+ $this->assertSame($finalTableNameQuoted, (new DefaultQuoteStrategy())->getTableName($metaClass, $platform));
}
/**
@@ -82,7 +84,7 @@ class TablePrefixSubscriberTest extends TestCase
$evm->dispatchEvent('loadClassMetadata', $metaDataEvent);
$this->assertSame($finalTableName, $metaDataEvent->getClassMetadata()->getTableName());
- $this->assertSame($finalTableNameQuoted, $metaDataEvent->getClassMetadata()->getQuotedTableName($platform));
+ $this->assertSame($finalTableNameQuoted, (new DefaultQuoteStrategy())->getTableName($metaClass, $platform));
}
public function testPrefixManyToMany()
@@ -93,7 +95,7 @@ class TablePrefixSubscriberTest extends TestCase
$subscriber = new TablePrefixSubscriber('yo_');
- $metaClass = new ClassMetadata('Wallabag\Entity\Entry');
+ $metaClass = new ClassMetadata(Entry::class);
$metaClass->setPrimaryTable(['name' => 'entry']);
$metaClass->mapManyToMany([
'fieldName' => 'tags',
@@ -115,6 +117,6 @@ class TablePrefixSubscriberTest extends TestCase
$this->assertSame('yo_entry', $metaDataEvent->getClassMetadata()->getTableName());
$this->assertSame('yo_entry_tag', $metaDataEvent->getClassMetadata()->associationMappings['tags']['joinTable']['name']);
- $this->assertSame('yo_entry', $metaDataEvent->getClassMetadata()->getQuotedTableName(new MySQLPlatform()));
+ $this->assertSame('yo_entry', (new DefaultQuoteStrategy())->getTableName($metaClass, new MySQLPlatform()));
}
}
diff --git a/tests/Guzzle/AuthenticatorSubscriberTest.php b/tests/Guzzle/AuthenticatorSubscriberTest.php
deleted file mode 100644
index 8ffb99208..000000000
--- a/tests/Guzzle/AuthenticatorSubscriberTest.php
+++ /dev/null
@@ -1,314 +0,0 @@
-getMockBuilder(LoginFormAuthenticator::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $subscriber = new AuthenticatorSubscriber(
- new ArraySiteConfigBuilder(),
- $authenticator
- );
- $events = $subscriber->getEvents();
-
- $this->assertArrayHasKey('before', $events);
- $this->assertArrayHasKey('complete', $events);
- $this->assertSame('loginIfRequired', $events['before'][0]);
- $this->assertSame('loginIfRequested', $events['complete'][0]);
- }
-
- public function testLoginIfRequiredNotRequired()
- {
- $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $builder = new ArraySiteConfigBuilder(['example.com' => []]);
- $subscriber = new AuthenticatorSubscriber($builder, $authenticator);
-
- $logger = new Logger('foo');
- $handler = new TestHandler();
- $logger->pushHandler($handler);
-
- $subscriber->setLogger($logger);
-
- $request = new Request('GET', 'http://www.example.com');
-
- $event = $this->getMockBuilder(BeforeEvent::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $event->expects($this->once())
- ->method('getRequest')
- ->willReturn($request);
-
- $subscriber->loginIfRequired($event);
-
- $records = $handler->getRecords();
-
- $this->assertCount(1, $records);
- $this->assertSame('loginIfRequired> will not require login', $records[0]['message']);
- }
-
- public function testLoginIfRequiredWithNotLoggedInUser()
- {
- $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $authenticator->expects($this->once())
- ->method('isLoggedIn')
- ->willReturn(false);
-
- $authenticator->expects($this->once())
- ->method('login');
-
- $builder = new ArraySiteConfigBuilder(['example.com' => ['requiresLogin' => true]]);
- $subscriber = new AuthenticatorSubscriber($builder, $authenticator);
-
- $logger = new Logger('foo');
- $handler = new TestHandler();
- $logger->pushHandler($handler);
-
- $subscriber->setLogger($logger);
-
- $response = new Response(
- 200,
- ['content-type' => 'text/html'],
- Stream::factory('')
- );
- $guzzle = new Client();
- $guzzle->getEmitter()->attach(new Mock([$response]));
-
- $request = new Request('GET', 'http://www.example.com');
-
- $event = $this->getMockBuilder(BeforeEvent::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $event->expects($this->once())
- ->method('getRequest')
- ->willReturn($request);
-
- $event->expects($this->once())
- ->method('getClient')
- ->willReturn($guzzle);
-
- $subscriber->loginIfRequired($event);
-
- $records = $handler->getRecords();
-
- $this->assertCount(1, $records);
- $this->assertSame('loginIfRequired> user is not logged in, attach authenticator', $records[0]['message']);
- }
-
- public function testLoginIfRequestedNotRequired()
- {
- $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $builder = new ArraySiteConfigBuilder(['example.com' => []]);
- $subscriber = new AuthenticatorSubscriber($builder, $authenticator);
-
- $logger = new Logger('foo');
- $handler = new TestHandler();
- $logger->pushHandler($handler);
-
- $subscriber->setLogger($logger);
-
- $request = new Request('GET', 'http://www.example.com');
-
- $event = $this->getMockBuilder(CompleteEvent::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $event->expects($this->once())
- ->method('getRequest')
- ->willReturn($request);
-
- $subscriber->loginIfRequested($event);
-
- $records = $handler->getRecords();
-
- $this->assertCount(1, $records);
- $this->assertSame('loginIfRequested> will not require login', $records[0]['message']);
- }
-
- public function testLoginIfRequestedNotRequested()
- {
- $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $authenticator->expects($this->once())
- ->method('isLoginRequired')
- ->willReturn(false);
-
- $builder = new ArraySiteConfigBuilder(['example.com' => [
- 'requiresLogin' => true,
- 'notLoggedInXpath' => '//html',
- ]]);
- $subscriber = new AuthenticatorSubscriber($builder, $authenticator);
-
- $logger = new Logger('foo');
- $handler = new TestHandler();
- $logger->pushHandler($handler);
-
- $subscriber->setLogger($logger);
-
- $response = new Response(
- 200,
- ['content-type' => 'text/html'],
- Stream::factory('
')
- );
- $request = new Request('GET', 'http://www.example.com');
-
- $event = $this->getMockBuilder(CompleteEvent::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $event->expects($this->once())
- ->method('getResponse')
- ->willReturn($response);
-
- $event->expects($this->once())
- ->method('getRequest')
- ->willReturn($request);
-
- $subscriber->loginIfRequested($event);
-
- $records = $handler->getRecords();
-
- $this->assertCount(1, $records);
- $this->assertSame('loginIfRequested> retry #0 with login not required', $records[0]['message']);
- }
-
- public function testLoginIfRequestedRequested()
- {
- $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $authenticator->expects($this->once())
- ->method('isLoginRequired')
- ->willReturn(true);
-
- $authenticator->expects($this->once())
- ->method('login');
-
- $builder = new ArraySiteConfigBuilder(['example.com' => [
- 'requiresLogin' => true,
- 'notLoggedInXpath' => '//html',
- ]]);
- $subscriber = new AuthenticatorSubscriber($builder, $authenticator);
-
- $logger = new Logger('foo');
- $handler = new TestHandler();
- $logger->pushHandler($handler);
-
- $subscriber->setLogger($logger);
-
- $response = new Response(
- 200,
- ['content-type' => 'text/html'],
- Stream::factory('
')
- );
- $guzzle = new Client();
- $guzzle->getEmitter()->attach(new Mock([$response]));
- $request = new Request('GET', 'http://www.example.com');
-
- $event = $this->getMockBuilder(CompleteEvent::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $event->expects($this->once())
- ->method('getResponse')
- ->willReturn($response);
-
- $event->expects($this->once())
- ->method('getRequest')
- ->willReturn($request);
-
- $event->expects($this->any())
- ->method('getClient')
- ->willReturn($guzzle);
-
- $subscriber->loginIfRequested($event);
-
- $records = $handler->getRecords();
-
- $this->assertCount(1, $records);
- $this->assertSame('loginIfRequested> retry #0 with login required', $records[0]['message']);
- }
-
- public function testLoginIfRequestedRedirect()
- {
- $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $builder = new ArraySiteConfigBuilder(['example.com' => [
- 'requiresLogin' => true,
- 'notLoggedInXpath' => '//html',
- ]]);
- $subscriber = new AuthenticatorSubscriber($builder, $authenticator);
-
- $logger = new Logger('foo');
- $handler = new TestHandler();
- $logger->pushHandler($handler);
-
- $subscriber->setLogger($logger);
-
- $response = new Response(
- 301,
- [],
- Stream::factory('')
- );
- $guzzle = new Client();
- $guzzle->getEmitter()->attach(new Mock([$response]));
- $request = new Request('GET', 'http://www.example.com');
-
- $event = $this->getMockBuilder(CompleteEvent::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $event->expects($this->once())
- ->method('getResponse')
- ->willReturn($response);
-
- $event->expects($this->once())
- ->method('getRequest')
- ->willReturn($request);
-
- $event->expects($this->any())
- ->method('getClient')
- ->willReturn($guzzle);
-
- $subscriber->loginIfRequested($event);
-
- $records = $handler->getRecords();
-
- $this->assertCount(1, $records);
- $this->assertSame('loginIfRequested> empty body, ignoring', $records[0]['message']);
- }
-}
diff --git a/tests/Helper/ContentProxyTest.php b/tests/Helper/ContentProxyTest.php
index c9ee0eddb..37cc72fc4 100644
--- a/tests/Helper/ContentProxyTest.php
+++ b/tests/Helper/ContentProxyTest.php
@@ -29,7 +29,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -55,7 +55,7 @@ class ContentProxyTest extends TestCase
$this->assertEmpty($entry->getPreviewPicture());
$this->assertEmpty($entry->getMimetype());
$this->assertEmpty($entry->getLanguage());
- $this->assertSame(0.0, $entry->getReadingTime());
+ $this->assertSame(0, $entry->getReadingTime());
$this->assertNull($entry->getDomainName());
$this->assertTrue($entry->isNotParsed());
}
@@ -69,7 +69,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -95,7 +95,7 @@ class ContentProxyTest extends TestCase
$this->assertEmpty($entry->getPreviewPicture());
$this->assertEmpty($entry->getMimetype());
$this->assertEmpty($entry->getLanguage());
- $this->assertSame(0.0, $entry->getReadingTime());
+ $this->assertSame(0, $entry->getReadingTime());
$this->assertSame('0.0.0.0', $entry->getDomainName());
$this->assertTrue($entry->isNotParsed());
}
@@ -109,7 +109,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -138,7 +138,7 @@ class ContentProxyTest extends TestCase
$this->assertEmpty($entry->getLanguage());
$this->assertEmpty($entry->getHttpStatus());
$this->assertEmpty($entry->getMimetype());
- $this->assertSame(0.0, $entry->getReadingTime());
+ $this->assertSame(0, $entry->getReadingTime());
$this->assertSame('domain.io', $entry->getDomainName());
$this->assertTrue($entry->isNotParsed());
}
@@ -154,7 +154,7 @@ class ContentProxyTest extends TestCase
->method('process');
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -184,7 +184,7 @@ class ContentProxyTest extends TestCase
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
$this->assertSame('200', $entry->getHttpStatus());
- $this->assertSame(4.0, $entry->getReadingTime());
+ $this->assertSame(4, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertFalse($entry->isNotParsed());
}
@@ -200,7 +200,7 @@ class ContentProxyTest extends TestCase
->method('process');
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -230,7 +230,7 @@ class ContentProxyTest extends TestCase
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
$this->assertSame('200', $entry->getHttpStatus());
- $this->assertSame(4.0, $entry->getReadingTime());
+ $this->assertSame(4, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertFalse($entry->isNotParsed());
}
@@ -246,7 +246,7 @@ class ContentProxyTest extends TestCase
->method('process');
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -275,7 +275,7 @@ class ContentProxyTest extends TestCase
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
$this->assertSame('200', $entry->getHttpStatus());
- $this->assertSame(0.0, $entry->getReadingTime());
+ $this->assertSame(0, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertFalse($entry->isNotParsed());
}
@@ -291,7 +291,7 @@ class ContentProxyTest extends TestCase
->method('process');
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -320,7 +320,7 @@ class ContentProxyTest extends TestCase
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
$this->assertSame('200', $entry->getHttpStatus());
- $this->assertSame(0.0, $entry->getReadingTime());
+ $this->assertSame(0, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertFalse($entry->isNotParsed());
}
@@ -341,7 +341,7 @@ class ContentProxyTest extends TestCase
->willReturn(new ConstraintViolationList([new ConstraintViolation('oops', 'oops', [], 'oops', 'language', 'dontexist')]));
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -368,7 +368,7 @@ class ContentProxyTest extends TestCase
$this->assertSame('text/html', $entry->getMimetype());
$this->assertNull($entry->getLanguage());
$this->assertSame('200', $entry->getHttpStatus());
- $this->assertSame(4.0, $entry->getReadingTime());
+ $this->assertSame(4, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertFalse($entry->isNotParsed());
}
@@ -392,7 +392,7 @@ class ContentProxyTest extends TestCase
));
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -422,7 +422,7 @@ class ContentProxyTest extends TestCase
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
$this->assertSame('200', $entry->getHttpStatus());
- $this->assertSame(4.0, $entry->getReadingTime());
+ $this->assertSame(4, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertFalse($entry->isNotParsed());
}
@@ -461,7 +461,7 @@ class ContentProxyTest extends TestCase
$this->assertStringContainsString('content', $entry->getContent());
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
- $this->assertSame(4.0, $entry->getReadingTime());
+ $this->assertSame(4, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertSame('24/03/2014', $entry->getPublishedAt()->format('d/m/Y'));
$this->assertContains('Jeremy', $entry->getPublishedBy());
@@ -505,7 +505,7 @@ class ContentProxyTest extends TestCase
$this->assertStringContainsString('content', $entry->getContent());
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
- $this->assertSame(4.0, $entry->getReadingTime());
+ $this->assertSame(4, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertSame('08/09/2016', $entry->getPublishedAt()->format('d/m/Y'));
$this->assertFalse($entry->isNotParsed());
@@ -545,7 +545,7 @@ class ContentProxyTest extends TestCase
$this->assertStringContainsString('content', $entry->getContent());
$this->assertSame('text/html', $entry->getMimetype());
$this->assertSame('fr', $entry->getLanguage());
- $this->assertSame(4.0, $entry->getReadingTime());
+ $this->assertSame(4, $entry->getReadingTime());
$this->assertSame('1.1.1.1', $entry->getDomainName());
$this->assertNull($entry->getPublishedAt());
$this->assertFalse($entry->isNotParsed());
@@ -649,7 +649,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -693,7 +693,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -732,7 +732,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -770,7 +770,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -808,7 +808,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -846,7 +846,7 @@ class ContentProxyTest extends TestCase
$ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
$graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
+ ->onlyMethods(['fetchContent'])
->disableOriginalConstructor()
->getMock();
@@ -883,42 +883,42 @@ class ContentProxyTest extends TestCase
*/
$this->markTestSkipped('Encoding issue in PHP >= 8.1');
- // See http://graphemica.com for more info about the characters
- // '😻ℤ�z' (U+1F63B or F09F98BB; U+2124 or E284A4; invalid character 81; U+007A or 7A) in hexadecimal and UTF-8
- // 0x81 is not a valid character for UTF16, UTF8 and WINDOWS-1252
- $actualTitle = $this->hexToStr('F09F98BB' . 'E284A4' . '81' . '7A');
-
- $tagger = $this->getTaggerMock();
- $tagger->expects($this->once())
- ->method('tag');
-
- $ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
-
- $graby = $this->getMockBuilder(Graby::class)
- ->setMethods(['fetchContent'])
- ->disableOriginalConstructor()
- ->getMock();
-
- $graby->expects($this->any())
- ->method('fetchContent')
- ->willReturn([
- 'html' => false,
- 'title' => $actualTitle,
- 'url' => '',
- 'headers' => [
- 'content-type' => 'application/pdf',
- ],
- 'language' => '',
- ]);
-
- $proxy = new ContentProxy($graby, $tagger, $ruleBasedIgnoreOriginProcessor, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
- $entry = new Entry(new User());
- $proxy->updateEntry($entry, 'http://0.0.0.0');
-
- // '😻ℤz' (U+1F63B or F09F98BB; U+2124 or E284A4; U+007A or 7A) in hexadecimal and UTF-8
- // the 0x81 (represented by �) is invalid for UTF16, UTF8 and WINDOWS-1252 and is removed
- $expectedTitle = 'F09F98BB' . 'E284A4' . '7A';
- $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
+ // // See http://graphemica.com for more info about the characters
+ // // '😻ℤ�z' (U+1F63B or F09F98BB; U+2124 or E284A4; invalid character 81; U+007A or 7A) in hexadecimal and UTF-8
+ // // 0x81 is not a valid character for UTF16, UTF8 and WINDOWS-1252
+ // $actualTitle = $this->hexToStr('F09F98BB' . 'E284A4' . '81' . '7A');
+ //
+ // $tagger = $this->getTaggerMock();
+ // $tagger->expects($this->once())
+ // ->method('tag');
+ //
+ // $ruleBasedIgnoreOriginProcessor = $this->getRuleBasedIgnoreOriginProcessorMock();
+ //
+ // $graby = $this->getMockBuilder(Graby::class)
+ // ->onlyMethods(['fetchContent'])
+ // ->disableOriginalConstructor()
+ // ->getMock();
+ //
+ // $graby->expects($this->any())
+ // ->method('fetchContent')
+ // ->willReturn([
+ // 'html' => false,
+ // 'title' => $actualTitle,
+ // 'url' => '',
+ // 'headers' => [
+ // 'content-type' => 'application/pdf',
+ // ],
+ // 'language' => '',
+ // ]);
+ //
+ // $proxy = new ContentProxy($graby, $tagger, $ruleBasedIgnoreOriginProcessor, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
+ // $entry = new Entry(new User());
+ // $proxy->updateEntry($entry, 'http://0.0.0.0');
+ //
+ // // '😻ℤz' (U+1F63B or F09F98BB; U+2124 or E284A4; U+007A or 7A) in hexadecimal and UTF-8
+ // // the 0x81 (represented by �) is invalid for UTF16, UTF8 and WINDOWS-1252 and is removed
+ // $expectedTitle = 'F09F98BB' . 'E284A4' . '7A';
+ // $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
}
/**
@@ -1074,7 +1074,7 @@ class ContentProxyTest extends TestCase
private function strToHex($string)
{
$hex = '';
- for ($i = 0; $i < \strlen($string); ++$i) {
+ for ($i = 0; $i < \strlen((string) $string); ++$i) {
$ord = \ord($string[$i]);
$hexCode = dechex($ord);
$hex .= substr('0' . $hexCode, -2);
@@ -1093,7 +1093,7 @@ class ContentProxyTest extends TestCase
private function hexToStr($hex)
{
$string = '';
- for ($i = 0; $i < \strlen($hex) - 1; $i += 2) {
+ for ($i = 0; $i < \strlen((string) $hex) - 1; $i += 2) {
$string .= \chr(hexdec($hex[$i] . $hex[$i + 1]));
}
@@ -1103,7 +1103,7 @@ class ContentProxyTest extends TestCase
private function getTaggerMock()
{
return $this->getMockBuilder(RuleBasedTagger::class)
- ->setMethods(['tag'])
+ ->onlyMethods(['tag'])
->disableOriginalConstructor()
->getMock();
}
@@ -1111,7 +1111,7 @@ class ContentProxyTest extends TestCase
private function getRuleBasedIgnoreOriginProcessorMock()
{
return $this->getMockBuilder(RuleBasedIgnoreOriginProcessor::class)
- ->setMethods(['process'])
+ ->onlyMethods(['process'])
->disableOriginalConstructor()
->getMock();
}
@@ -1124,7 +1124,7 @@ class ContentProxyTest extends TestCase
private function getValidator($withDefaultMock = true)
{
$mock = $this->getMockBuilder(RecursiveValidator::class)
- ->setMethods(['validate'])
+ ->onlyMethods(['validate'])
->disableOriginalConstructor()
->getMock();
diff --git a/tests/Helper/RedirectTest.php b/tests/Helper/RedirectTest.php
index 1c461eee0..06e47cf06 100644
--- a/tests/Helper/RedirectTest.php
+++ b/tests/Helper/RedirectTest.php
@@ -53,7 +53,7 @@ class RedirectTest extends TestCase
$this->user->setConfig($config);
- $this->token = new UsernamePasswordToken($this->user, 'password', 'key');
+ $this->token = new UsernamePasswordToken($this->user, 'key');
$tokenStorage = new TokenStorage();
$tokenStorage->setToken($this->token);
diff --git a/tests/Import/ChromeImportTest.php b/tests/Import/ChromeImportTest.php
index 35ab0aa67..558bfdec9 100644
--- a/tests/Import/ChromeImportTest.php
+++ b/tests/Import/ChromeImportTest.php
@@ -95,9 +95,7 @@ class ChromeImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $chromeImport->setMarkAsRead(true)->import();
diff --git a/tests/Import/FirefoxImportTest.php b/tests/Import/FirefoxImportTest.php
index 7250c412b..5ed6cb550 100644
--- a/tests/Import/FirefoxImportTest.php
+++ b/tests/Import/FirefoxImportTest.php
@@ -95,9 +95,7 @@ class FirefoxImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $firefoxImport->setMarkAsRead(true)->import();
diff --git a/tests/Import/InstapaperImportTest.php b/tests/Import/InstapaperImportTest.php
index 17a7b4e21..aaba729e4 100644
--- a/tests/Import/InstapaperImportTest.php
+++ b/tests/Import/InstapaperImportTest.php
@@ -97,9 +97,7 @@ class InstapaperImportTest extends TestCase
$this->em
->expects($this->once())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $instapaperImport->setMarkAsRead(true)->import();
diff --git a/tests/Import/PocketCsvImportTest.php b/tests/Import/PocketCsvImportTest.php
new file mode 100644
index 000000000..495f78da5
--- /dev/null
+++ b/tests/Import/PocketCsvImportTest.php
@@ -0,0 +1,252 @@
+getPocketCsvImport();
+
+ $this->assertSame('Pocket CSV', $pocketCsvImport->getName());
+ $this->assertNotEmpty($pocketCsvImport->getUrl());
+ $this->assertSame('import.pocket_csv.description', $pocketCsvImport->getDescription());
+ }
+
+ public function testImport()
+ {
+ $pocketCsvImport = $this->getPocketCsvImport(false, 7);
+ $pocketCsvImport->setFilepath(__DIR__ . '/../fixtures/Import/pocket.csv');
+
+ $entryRepo = $this->getMockBuilder(EntryRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $entryRepo->expects($this->exactly(7))
+ ->method('findByUrlAndUserId')
+ ->willReturn(false);
+
+ $this->em
+ ->expects($this->any())
+ ->method('getRepository')
+ ->willReturn($entryRepo);
+
+ $entry = $this->getMockBuilder(Entry::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->contentProxy
+ ->expects($this->exactly(7))
+ ->method('updateEntry')
+ ->willReturn($entry);
+
+ $res = $pocketCsvImport->import();
+
+ $this->assertTrue($res);
+ $this->assertSame(['skipped' => 0, 'imported' => 7, 'queued' => 0], $pocketCsvImport->getSummary());
+ }
+
+ public function testImportAndMarkAllAsRead()
+ {
+ $pocketCsvImport = $this->getPocketCsvImport(false, 1);
+ $pocketCsvImport->setFilepath(__DIR__ . '/../fixtures/Import/pocket.csv');
+
+ $entryRepo = $this->getMockBuilder(EntryRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $entryRepo->expects($this->exactly(7))
+ ->method('findByUrlAndUserId')
+ ->will($this->onConsecutiveCalls(false, true));
+
+ $this->em
+ ->expects($this->any())
+ ->method('getRepository')
+ ->willReturn($entryRepo);
+
+ $this->contentProxy
+ ->expects($this->exactly(1))
+ ->method('updateEntry')
+ ->willReturn(new Entry($this->user));
+
+ // check that every entry persisted are archived
+ $this->em
+ ->expects($this->any())
+ ->method('persist')
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
+
+ $res = $pocketCsvImport
+ ->setMarkAsRead(true)
+ ->import();
+
+ $this->assertTrue($res);
+
+ $this->assertSame(['skipped' => 6, 'imported' => 1, 'queued' => 0], $pocketCsvImport->getSummary());
+ }
+
+ public function testImportWithRabbit()
+ {
+ $pocketCsvImport = $this->getPocketCsvImport();
+ $pocketCsvImport->setFilepath(__DIR__ . '/../fixtures/Import/pocket.csv');
+
+ $entryRepo = $this->getMockBuilder(EntryRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $entryRepo->expects($this->never())
+ ->method('findByUrlAndUserId');
+
+ $this->em
+ ->expects($this->never())
+ ->method('getRepository');
+
+ $entry = $this->getMockBuilder(Entry::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->contentProxy
+ ->expects($this->never())
+ ->method('updateEntry');
+
+ $producer = $this->getMockBuilder(\OldSound\RabbitMqBundle\RabbitMq\Producer::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $producer
+ ->expects($this->exactly(7))
+ ->method('publish');
+
+ $pocketCsvImport->setProducer($producer);
+
+ $res = $pocketCsvImport->setMarkAsRead(true)->import();
+
+ $this->assertTrue($res);
+ $this->assertSame(['skipped' => 0, 'imported' => 0, 'queued' => 7], $pocketCsvImport->getSummary());
+ }
+
+ public function testImportWithRedis()
+ {
+ $pocketCsvImport = $this->getPocketCsvImport();
+ $pocketCsvImport->setFilepath(__DIR__ . '/../fixtures/Import/pocket.csv');
+
+ $entryRepo = $this->getMockBuilder(EntryRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $entryRepo->expects($this->never())
+ ->method('findByUrlAndUserId');
+
+ $this->em
+ ->expects($this->never())
+ ->method('getRepository');
+
+ $entry = $this->getMockBuilder(Entry::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->contentProxy
+ ->expects($this->never())
+ ->method('updateEntry');
+
+ $factory = new RedisMockFactory();
+ $redisMock = $factory->getAdapter(Client::class, true);
+
+ $queue = new RedisQueue($redisMock, 'pocket_csv');
+ $producer = new Producer($queue);
+
+ $pocketCsvImport->setProducer($producer);
+
+ $res = $pocketCsvImport->setMarkAsRead(true)->import();
+
+ $this->assertTrue($res);
+ $this->assertSame(['skipped' => 0, 'imported' => 0, 'queued' => 7], $pocketCsvImport->getSummary());
+
+ $this->assertNotEmpty($redisMock->lpop('pocket_csv'));
+ }
+
+ public function testImportBadFile()
+ {
+ $pocketCsvImport = $this->getPocketCsvImport();
+ $pocketCsvImport->setFilepath(__DIR__ . '/../fixtures/Import/wallabag-v1.jsonx');
+
+ $res = $pocketCsvImport->import();
+
+ $this->assertFalse($res);
+
+ $records = $this->logHandler->getRecords();
+ $this->assertStringContainsString('Pocket CSV Import: unable to read file', $records[0]['message']);
+ $this->assertSame('ERROR', $records[0]['level_name']);
+ }
+
+ public function testImportUserNotDefined()
+ {
+ $pocketCsvImport = $this->getPocketCsvImport(true);
+ $pocketCsvImport->setFilepath(__DIR__ . '/../fixtures/Import/pocket.csv');
+
+ $res = $pocketCsvImport->import();
+
+ $this->assertFalse($res);
+
+ $records = $this->logHandler->getRecords();
+ $this->assertStringContainsString('Pocket CSV Import: user is not defined', $records[0]['message']);
+ $this->assertSame('ERROR', $records[0]['level_name']);
+ }
+
+ private function getPocketCsvImport($unsetUser = false, $dispatched = 0)
+ {
+ $this->user = new User();
+
+ $this->em = $this->getMockBuilder(EntityManager::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->contentProxy = $this->getMockBuilder(ContentProxy::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->tagsAssigner = $this->getMockBuilder(TagsAssigner::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $dispatcher = $this->getMockBuilder(EventDispatcher::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $dispatcher
+ ->expects($this->exactly($dispatched))
+ ->method('dispatch');
+
+ $this->logHandler = new TestHandler();
+ $logger = new Logger('test', [$this->logHandler]);
+
+ $wallabag = new PocketCsvImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, $logger);
+
+ if (false === $unsetUser) {
+ $wallabag->setUser($this->user);
+ }
+
+ return $wallabag;
+ }
+}
diff --git a/tests/Import/PocketHtmlImportTest.php b/tests/Import/PocketHtmlImportTest.php
index 0f97a50c0..6bea2b98c 100644
--- a/tests/Import/PocketHtmlImportTest.php
+++ b/tests/Import/PocketHtmlImportTest.php
@@ -95,9 +95,7 @@ class PocketHtmlImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $pocketHtmlImport
->setMarkAsRead(true)
diff --git a/tests/Import/PocketImportTest.php b/tests/Import/PocketImportTest.php
index dc0880360..19e065fee 100644
--- a/tests/Import/PocketImportTest.php
+++ b/tests/Import/PocketImportTest.php
@@ -185,8 +185,7 @@ class PocketImportTest extends TestCase
}
}
}
-JSON
- , ['response_headers' => ['Content-Type: application/json']]),
+JSON, ['response_headers' => ['Content-Type: application/json']]),
]);
$pocketImport = $this->getPocketImport('ConsumerKey', 1);
@@ -207,9 +206,7 @@ JSON
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived() && (bool) $persistedEntry->isStarred();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived() && (bool) $persistedEntry->isStarred()));
$entry = new Entry($this->user);
@@ -276,8 +273,7 @@ JSON
}
}
}
-JSON
- , ['response_headers' => ['Content-Type: application/json']]),
+JSON, ['response_headers' => ['Content-Type: application/json']]),
]);
$pocketImport = $this->getPocketImport('ConsumerKey', 2);
@@ -299,9 +295,7 @@ JSON
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$entry = new Entry($this->user);
@@ -356,8 +350,7 @@ JSON;
"229279690": $body
}
}
-JSON
- , ['response_headers' => ['Content-Type: application/json']]),
+JSON, ['response_headers' => ['Content-Type: application/json']]),
]);
$pocketImport = $this->getPocketImport();
@@ -439,8 +432,7 @@ JSON;
"229279690": $body
}
}
-JSON
- , ['response_headers' => ['Content-Type: application/json']]),
+JSON, ['response_headers' => ['Content-Type: application/json']]),
]);
$pocketImport = $this->getPocketImport();
@@ -516,8 +508,7 @@ JSON
}
}
-JSON
- , ['response_headers' => ['Content-Type: application/json']]),
+JSON, ['response_headers' => ['Content-Type: application/json']]),
]);
$pocketImport = $this->getPocketImport('ConsumerKey', 1);
diff --git a/tests/Import/ReadabilityImportTest.php b/tests/Import/ReadabilityImportTest.php
index 851130bf9..cc7b7d828 100644
--- a/tests/Import/ReadabilityImportTest.php
+++ b/tests/Import/ReadabilityImportTest.php
@@ -95,9 +95,7 @@ class ReadabilityImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $readabilityImport->setMarkAsRead(true)->import();
diff --git a/tests/Import/ShaarliImportTest.php b/tests/Import/ShaarliImportTest.php
index f041e3005..7510a28e6 100644
--- a/tests/Import/ShaarliImportTest.php
+++ b/tests/Import/ShaarliImportTest.php
@@ -95,9 +95,7 @@ class ShaarliImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $shaarliImport
->setMarkAsRead(true)
diff --git a/tests/Import/WallabagV1ImportTest.php b/tests/Import/WallabagV1ImportTest.php
index f51a39edf..7b9cbe558 100644
--- a/tests/Import/WallabagV1ImportTest.php
+++ b/tests/Import/WallabagV1ImportTest.php
@@ -99,9 +99,7 @@ class WallabagV1ImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $wallabagV1Import->setMarkAsRead(true)->import();
diff --git a/tests/Import/WallabagV2ImportTest.php b/tests/Import/WallabagV2ImportTest.php
index cfe8e95de..04a772f40 100644
--- a/tests/Import/WallabagV2ImportTest.php
+++ b/tests/Import/WallabagV2ImportTest.php
@@ -93,9 +93,7 @@ class WallabagV2ImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
- ->with($this->callback(function ($persistedEntry) {
- return (bool) $persistedEntry->isArchived();
- }));
+ ->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $wallabagV2Import->setMarkAsRead(true)->import();
diff --git a/tests/Mailer/AuthCodeMailerTest.php b/tests/Mailer/AuthCodeMailerTest.php
index d9fae3928..4b6baaea0 100644
--- a/tests/Mailer/AuthCodeMailerTest.php
+++ b/tests/Mailer/AuthCodeMailerTest.php
@@ -54,7 +54,7 @@ TWIG;
$user = new User();
$user->setEmailTwoFactor(true);
- $user->setEmailAuthCode(666666);
+ $user->setEmailAuthCode('666666');
$user->setEmail('test@wallabag.io');
$user->setName('Bob');
@@ -63,8 +63,7 @@ TWIG;
$this->twig,
'nobody@test.io',
'wallabag test',
- 'http://0.0.0.0/support',
- 'http://0.0.0.0/'
+ 'http://0.0.0.0/support'
);
$authCodeMailer->sendAuthCode($user);
diff --git a/tests/Security/Voter/AnnotationVoterTest.php b/tests/Security/Voter/AnnotationVoterTest.php
new file mode 100644
index 000000000..002e72e6e
--- /dev/null
+++ b/tests/Security/Voter/AnnotationVoterTest.php
@@ -0,0 +1,85 @@
+token = $this->createMock(TokenInterface::class);
+
+ $this->annotationVoter = new AnnotationVoter();
+ }
+
+ public function testVoteReturnsAbstainForInvalidSubject(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->annotationVoter->vote($this->token, new \stdClass(), [AnnotationVoter::EDIT]));
+ }
+
+ public function testVoteReturnsAbstainForInvalidAttribute(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->annotationVoter->vote($this->token, new Annotation(new User()), ['INVALID']));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedEdit(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->annotationVoter->vote($this->token, new Annotation(new User()), [AnnotationVoter::EDIT]));
+ }
+
+ public function testVoteReturnsDeniedForOtherUserEdit(): void
+ {
+ $currentUser = new User();
+ $annotationUser = new User();
+
+ $this->token->method('getUser')->willReturn($currentUser);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->annotationVoter->vote($this->token, new Annotation($annotationUser), [AnnotationVoter::EDIT]));
+ }
+
+ public function testVoteReturnsGrantedForAnnotationUserEdit(): void
+ {
+ $user = new User();
+
+ $this->token->method('getUser')->willReturn($user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->annotationVoter->vote($this->token, new Annotation($user), [AnnotationVoter::EDIT]));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedDelete(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->annotationVoter->vote($this->token, new Annotation(new User()), [AnnotationVoter::DELETE]));
+ }
+
+ public function testVoteReturnsDeniedForOtherUserDelete(): void
+ {
+ $currentUser = new User();
+ $annotationUser = new User();
+
+ $this->token->method('getUser')->willReturn($currentUser);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->annotationVoter->vote($this->token, new Annotation($annotationUser), [AnnotationVoter::DELETE]));
+ }
+
+ public function testVoteReturnsGrantedForAnnotationUserDelete(): void
+ {
+ $user = new User();
+
+ $this->token->method('getUser')->willReturn($user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->annotationVoter->vote($this->token, new Annotation($user), [AnnotationVoter::DELETE]));
+ }
+}
diff --git a/tests/Security/Voter/EntryVoterTest.php b/tests/Security/Voter/EntryVoterTest.php
index 949858511..9cfb84645 100644
--- a/tests/Security/Voter/EntryVoterTest.php
+++ b/tests/Security/Voter/EntryVoterTest.php
@@ -1,6 +1,6 @@
assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::UNSHARE]));
}
+ public function testVoteReturnsDeniedForNonEntryUserExport(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::EXPORT]));
+ }
+
+ public function testVoteReturnsGrantedForEntryUserExport(): void
+ {
+ $this->token->method('getUser')->willReturn($this->user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::EXPORT]));
+ }
+
public function testVoteReturnsDeniedForNonEntryUserDelete(): void
{
$this->token->method('getUser')->willReturn(new User());
@@ -146,4 +160,74 @@ class EntryVoterTest extends TestCase
$this->assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::DELETE]));
}
+
+ public function testVoteReturnsDeniedForNonEntryUserListAnnotations(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::LIST_ANNOTATIONS]));
+ }
+
+ public function testVoteReturnsGrantedForEntryUserListAnnotations(): void
+ {
+ $this->token->method('getUser')->willReturn($this->user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::LIST_ANNOTATIONS]));
+ }
+
+ public function testVoteReturnsDeniedForNonEntryUserCreateAnnotations(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::CREATE_ANNOTATIONS]));
+ }
+
+ public function testVoteReturnsGrantedForEntryUserCreateAnnotations(): void
+ {
+ $this->token->method('getUser')->willReturn($this->user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::CREATE_ANNOTATIONS]));
+ }
+
+ public function testVoteReturnsDeniedForNonEntryUserListTags(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::LIST_TAGS]));
+ }
+
+ public function testVoteReturnsGrantedForEntryUserListTags(): void
+ {
+ $this->token->method('getUser')->willReturn($this->user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::LIST_TAGS]));
+ }
+
+ public function testVoteReturnsDeniedForNonEntryUserTag(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::TAG]));
+ }
+
+ public function testVoteReturnsGrantedForEntryUserTag(): void
+ {
+ $this->token->method('getUser')->willReturn($this->user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::TAG]));
+ }
+
+ public function testVoteReturnsDeniedForNonEntryUserUntag(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::UNTAG]));
+ }
+
+ public function testVoteReturnsGrantedForEntryUserUntag(): void
+ {
+ $this->token->method('getUser')->willReturn($this->user);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->entryVoter->vote($this->token, $this->entry, [EntryVoter::UNTAG]));
+ }
}
diff --git a/tests/Security/Voter/IgnoreOriginInstanceRuleVoterTest.php b/tests/Security/Voter/IgnoreOriginInstanceRuleVoterTest.php
index c17a6f328..4a11f9fc1 100644
--- a/tests/Security/Voter/IgnoreOriginInstanceRuleVoterTest.php
+++ b/tests/Security/Voter/IgnoreOriginInstanceRuleVoterTest.php
@@ -1,6 +1,6 @@
token = $this->createMock(TokenInterface::class);
+
+ $this->ignoreOriginUserRuleVoter = new IgnoreOriginUserRuleVoter();
+ }
+
+ public function testVoteReturnsAbstainForInvalidSubject(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->ignoreOriginUserRuleVoter->vote($this->token, new \stdClass(), [IgnoreOriginUserRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsAbstainForInvalidAttribute(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->ignoreOriginUserRuleVoter->vote($this->token, new IgnoreOriginUserRule(), ['INVALID']));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedEdit(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->ignoreOriginUserRuleVoter->vote($this->token, new IgnoreOriginUserRule(), [IgnoreOriginUserRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsDeniedForOtherUserEdit(): void
+ {
+ $currentUser = new User();
+
+ $this->token->method('getUser')->willReturn($currentUser);
+
+ $taggingRuleUser = new User();
+ $taggingRule = new IgnoreOriginUserRule();
+ $taggingRule->setConfig(new Config($taggingRuleUser));
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->ignoreOriginUserRuleVoter->vote($this->token, $taggingRule, [IgnoreOriginUserRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsGrantedForIgnoreOriginUserRuleUserEdit(): void
+ {
+ $user = new User();
+
+ $this->token->method('getUser')->willReturn($user);
+
+ $taggingRule = new IgnoreOriginUserRule();
+ $taggingRule->setConfig(new Config($user));
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->ignoreOriginUserRuleVoter->vote($this->token, $taggingRule, [IgnoreOriginUserRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedDelete(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->ignoreOriginUserRuleVoter->vote($this->token, new IgnoreOriginUserRule(), [IgnoreOriginUserRuleVoter::DELETE]));
+ }
+
+ public function testVoteReturnsDeniedForOtherUserDelete(): void
+ {
+ $currentUser = new User();
+
+ $this->token->method('getUser')->willReturn($currentUser);
+
+ $taggingRuleUser = new User();
+ $taggingRule = new IgnoreOriginUserRule();
+ $taggingRule->setConfig(new Config($taggingRuleUser));
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->ignoreOriginUserRuleVoter->vote($this->token, $taggingRule, [IgnoreOriginUserRuleVoter::DELETE]));
+ }
+
+ public function testVoteReturnsGrantedForIgnoreOriginUserRuleUserDelete(): void
+ {
+ $user = new User();
+
+ $this->token->method('getUser')->willReturn($user);
+
+ $taggingRule = new IgnoreOriginUserRule();
+ $taggingRule->setConfig(new Config($user));
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->ignoreOriginUserRuleVoter->vote($this->token, $taggingRule, [IgnoreOriginUserRuleVoter::DELETE]));
+ }
+}
diff --git a/tests/Security/Voter/MainVoterTest.php b/tests/Security/Voter/MainVoterTest.php
index eec969c3c..45870574b 100644
--- a/tests/Security/Voter/MainVoterTest.php
+++ b/tests/Security/Voter/MainVoterTest.php
@@ -1,6 +1,6 @@
assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::EDIT_ENTRIES]));
}
+ public function testVoteReturnsDeniedForNonUserExportEntries(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->mainVoter->vote($this->token, null, [MainVoter::EXPORT_ENTRIES]));
+ }
+
+ public function testVoteReturnsGrantedForUserExportEntries(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::EXPORT_ENTRIES]));
+ }
+
+ public function testVoteReturnsDeniedForNonUserImportEntries(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->mainVoter->vote($this->token, null, [MainVoter::IMPORT_ENTRIES]));
+ }
+
+ public function testVoteReturnsGrantedForUserImportEntries(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::IMPORT_ENTRIES]));
+ }
+
+ public function testVoteReturnsDeniedForNonUserDeleteEntries(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->mainVoter->vote($this->token, null, [MainVoter::DELETE_ENTRIES]));
+ }
+
+ public function testVoteReturnsGrantedForUserDeleteEntries(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::DELETE_ENTRIES]));
+ }
+
+ public function testVoteReturnsDeniedForNonUserListTags(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->mainVoter->vote($this->token, null, [MainVoter::LIST_TAGS]));
+ }
+
+ public function testVoteReturnsGrantedForUserListTags(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::LIST_TAGS]));
+ }
+
+ public function testVoteReturnsDeniedForNonUserCreateTags(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->mainVoter->vote($this->token, null, [MainVoter::CREATE_TAGS]));
+ }
+
+ public function testVoteReturnsGrantedForUserCreateTags(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::CREATE_TAGS]));
+ }
+
+ public function testVoteReturnsDeniedForNonUserDeleteTags(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->mainVoter->vote($this->token, null, [MainVoter::DELETE_TAGS]));
+ }
+
+ public function testVoteReturnsGrantedForUserDeleteTags(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::DELETE_TAGS]));
+ }
+
public function testVoteReturnsDeniedForNonUserListSiteCredentials(): void
{
$this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
@@ -111,4 +195,18 @@ class MainVoterTest extends TestCase
$this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::CREATE_SITE_CREDENTIALS]));
}
+
+ public function testVoteReturnsDeniedForNonUserEditConfig(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->mainVoter->vote($this->token, null, [MainVoter::EDIT_CONFIG]));
+ }
+
+ public function testVoteReturnsGrantedForUserEditConfig(): void
+ {
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->mainVoter->vote($this->token, null, [MainVoter::EDIT_CONFIG]));
+ }
}
diff --git a/tests/Security/Voter/SiteCredentialVoterTest.php b/tests/Security/Voter/SiteCredentialVoterTest.php
index dadfebe40..a35f2d102 100644
--- a/tests/Security/Voter/SiteCredentialVoterTest.php
+++ b/tests/Security/Voter/SiteCredentialVoterTest.php
@@ -1,6 +1,6 @@
security = $this->createMock(Security::class);
+
+ $this->token = $this->createMock(TokenInterface::class);
+
+ $this->tagVoter = new TagVoter($this->security);
+ }
+
+ public function testVoteReturnsAbstainForInvalidSubject(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->tagVoter->vote($this->token, new \stdClass(), [TagVoter::EDIT]));
+ }
+
+ public function testVoteReturnsAbstainForInvalidAttribute(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->tagVoter->vote($this->token, new Tag(), ['INVALID']));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedView(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::VIEW]));
+ }
+
+ public function testVoteReturnsGrantedForUnauthorizedUserView(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::VIEW]));
+ }
+
+ public function testVoteReturnsGrantedForAuthorizedUserView(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::VIEW]));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedEdit(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::EDIT]));
+ }
+
+ public function testVoteReturnsGrantedForUnauthorizedUserEdit(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::EDIT]));
+ }
+
+ public function testVoteReturnsGrantedForAuthorizedUserEdit(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::EDIT]));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedDelete(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::DELETE]));
+ }
+
+ public function testVoteReturnsGrantedForUnauthorizedUserDelete(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(false);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::DELETE]));
+ }
+
+ public function testVoteReturnsGrantedForAuthorizedUserDelete(): void
+ {
+ $this->token->method('getUser')->willReturn(new User());
+
+ $this->security->method('isGranted')->with('ROLE_USER')->willReturn(true);
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->tagVoter->vote($this->token, new Tag(), [TagVoter::DELETE]));
+ }
+}
diff --git a/tests/Security/Voter/TaggingRuleVoterTest.php b/tests/Security/Voter/TaggingRuleVoterTest.php
new file mode 100644
index 000000000..9a00040ef
--- /dev/null
+++ b/tests/Security/Voter/TaggingRuleVoterTest.php
@@ -0,0 +1,98 @@
+token = $this->createMock(TokenInterface::class);
+
+ $this->taggingRuleVoter = new TaggingRuleVoter();
+ }
+
+ public function testVoteReturnsAbstainForInvalidSubject(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->taggingRuleVoter->vote($this->token, new \stdClass(), [TaggingRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsAbstainForInvalidAttribute(): void
+ {
+ $this->assertSame(VoterInterface::ACCESS_ABSTAIN, $this->taggingRuleVoter->vote($this->token, new TaggingRule(), ['INVALID']));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedEdit(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->taggingRuleVoter->vote($this->token, new TaggingRule(), [TaggingRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsDeniedForOtherUserEdit(): void
+ {
+ $currentUser = new User();
+
+ $this->token->method('getUser')->willReturn($currentUser);
+
+ $taggingRuleUser = new User();
+ $taggingRule = new TaggingRule();
+ $taggingRule->setConfig(new Config($taggingRuleUser));
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->taggingRuleVoter->vote($this->token, $taggingRule, [TaggingRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsGrantedForTaggingRuleUserEdit(): void
+ {
+ $user = new User();
+
+ $this->token->method('getUser')->willReturn($user);
+
+ $taggingRule = new TaggingRule();
+ $taggingRule->setConfig(new Config($user));
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->taggingRuleVoter->vote($this->token, $taggingRule, [TaggingRuleVoter::EDIT]));
+ }
+
+ public function testVoteReturnsDeniedForUnauthenticatedDelete(): void
+ {
+ $this->token->method('getUser')->willReturn(null);
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->taggingRuleVoter->vote($this->token, new TaggingRule(), [TaggingRuleVoter::DELETE]));
+ }
+
+ public function testVoteReturnsDeniedForOtherUserDelete(): void
+ {
+ $currentUser = new User();
+
+ $this->token->method('getUser')->willReturn($currentUser);
+
+ $taggingRuleUser = new User();
+ $taggingRule = new TaggingRule();
+ $taggingRule->setConfig(new Config($taggingRuleUser));
+
+ $this->assertSame(VoterInterface::ACCESS_DENIED, $this->taggingRuleVoter->vote($this->token, $taggingRule, [TaggingRuleVoter::DELETE]));
+ }
+
+ public function testVoteReturnsGrantedForTaggingRuleUserDelete(): void
+ {
+ $user = new User();
+
+ $this->token->method('getUser')->willReturn($user);
+
+ $taggingRule = new TaggingRule();
+ $taggingRule->setConfig(new Config($user));
+
+ $this->assertSame(VoterInterface::ACCESS_GRANTED, $this->taggingRuleVoter->vote($this->token, $taggingRule, [TaggingRuleVoter::DELETE]));
+ }
+}
diff --git a/tests/SiteConfig/GrabySiteConfigBuilderTest.php b/tests/SiteConfig/GrabySiteConfigBuilderTest.php
index a10960164..c93ecde9d 100644
--- a/tests/SiteConfig/GrabySiteConfigBuilderTest.php
+++ b/tests/SiteConfig/GrabySiteConfigBuilderTest.php
@@ -55,7 +55,7 @@ class GrabySiteConfigBuilderTest extends WallabagTestCase
->method('getId')
->willReturn(1);
- $token = new UsernamePasswordToken($user, 'pass', 'provider');
+ $token = new UsernamePasswordToken($user, 'provider');
$tokenStorage = new TokenStorage();
$tokenStorage->setToken($token);
@@ -114,7 +114,7 @@ class GrabySiteConfigBuilderTest extends WallabagTestCase
->method('getId')
->willReturn(1);
- $token = new UsernamePasswordToken($user, 'pass', 'provider');
+ $token = new UsernamePasswordToken($user, 'provider');
$tokenStorage = new TokenStorage();
$tokenStorage->setToken($token);
@@ -173,7 +173,7 @@ class GrabySiteConfigBuilderTest extends WallabagTestCase
->method('getId')
->willReturn(1);
- $token = new UsernamePasswordToken($user, 'pass', 'provider');
+ $token = new UsernamePasswordToken($user, 'provider');
$tokenStorage = new TokenStorage();
$tokenStorage->setToken($token);
@@ -291,7 +291,7 @@ class GrabySiteConfigBuilderTest extends WallabagTestCase
->method('getId')
->willReturn(1);
- $token = new UsernamePasswordToken($user, 'pass', 'provider');
+ $token = new UsernamePasswordToken($user, 'provider');
$tokenStorage = new TokenStorage();
$tokenStorage->setToken($token);
diff --git a/tests/SiteConfig/LoginFormAuthenticatorTest.php b/tests/SiteConfig/LoginFormAuthenticatorTest.php
index e4f930754..6b87cd605 100644
--- a/tests/SiteConfig/LoginFormAuthenticatorTest.php
+++ b/tests/SiteConfig/LoginFormAuthenticatorTest.php
@@ -2,13 +2,12 @@
namespace Tests\Wallabag\SiteConfig;
-use GuzzleHttp\Client;
-use GuzzleHttp\Message\Response;
-use GuzzleHttp\Stream\Stream;
-use GuzzleHttp\Subscriber\Mock;
use PHPUnit\Framework\TestCase;
+use Symfony\Component\BrowserKit\HttpBrowser;
use Symfony\Component\HttpClient\MockHttpClient;
use Symfony\Component\HttpClient\Response\MockResponse;
+use Symfony\Contracts\HttpClient\HttpClientInterface;
+use Symfony\Contracts\HttpClient\ResponseInterface;
use Wallabag\ExpressionLanguage\AuthenticatorProvider;
use Wallabag\SiteConfig\LoginFormAuthenticator;
use Wallabag\SiteConfig\SiteConfig;
@@ -17,16 +16,6 @@ class LoginFormAuthenticatorTest extends TestCase
{
public function testLoginPost()
{
- $response = new Response(
- 200,
- ['content-type' => 'text/html'],
- Stream::factory('')
- );
- $guzzle = new Client();
- $guzzle->getEmitter()->attach(new Mock([$response]));
-
- $mockHttpClient = new MockHttpClient([new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']])]);
-
$siteConfig = new SiteConfig([
'host' => 'example.com',
'loginUri' => 'http://example.com/login',
@@ -40,25 +29,23 @@ class LoginFormAuthenticatorTest extends TestCase
'password' => 'unkn0wn',
]);
- $authenticatorProvider = new AuthenticatorProvider($mockHttpClient);
- $auth = new LoginFormAuthenticator($authenticatorProvider);
- $res = $auth->login($siteConfig, $guzzle);
+ $browserResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $browserClient = new MockHttpClient([$browserResponse]);
+ $browser = new HttpBrowser($browserClient);
+
+ $requestHtmlFunctionResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $requestHtmlFunctionClient = new MockHttpClient([$requestHtmlFunctionResponse]);
+ $authenticatorProvider = new AuthenticatorProvider($requestHtmlFunctionClient);
+
+ $auth = new LoginFormAuthenticator($browser, $authenticatorProvider);
+
+ $res = $auth->login($siteConfig);
$this->assertInstanceOf(LoginFormAuthenticator::class, $res);
}
public function testLoginPostWithExtraFieldsButEmptyHtml()
{
- $response = new Response(
- 200,
- ['content-type' => 'text/html'],
- Stream::factory('')
- );
- $guzzle = new Client();
- $guzzle->getEmitter()->attach(new Mock([$response, $response]));
-
- $mockHttpClient = new MockHttpClient([new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']])]);
-
$siteConfig = new SiteConfig([
'host' => 'example.com',
'loginUri' => 'http://example.com/login',
@@ -73,9 +60,17 @@ class LoginFormAuthenticatorTest extends TestCase
'password' => 'unkn0wn',
]);
- $authenticatorProvider = new AuthenticatorProvider($mockHttpClient);
- $auth = new LoginFormAuthenticator($authenticatorProvider);
- $res = $auth->login($siteConfig, $guzzle);
+ $browserResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $browserClient = new MockHttpClient([$browserResponse]);
+ $browser = new HttpBrowser($browserClient);
+
+ $requestHtmlFunctionResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $requestHtmlFunctionClient = new MockHttpClient([$requestHtmlFunctionResponse]);
+ $authenticatorProvider = new AuthenticatorProvider($requestHtmlFunctionClient);
+
+ $auth = new LoginFormAuthenticator($browser, $authenticatorProvider);
+
+ $res = $auth->login($siteConfig);
$this->assertInstanceOf(LoginFormAuthenticator::class, $res);
}
@@ -83,49 +78,6 @@ class LoginFormAuthenticatorTest extends TestCase
// testing preg_match
public function testLoginPostWithExtraFieldsWithRegex()
{
- $response = $this->getMockBuilder(Response::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $response->expects($this->any())
- ->method('getBody')
- ->willReturn(file_get_contents(__DIR__ . '/../fixtures/aoc.media.html'));
-
- $response->expects($this->any())
- ->method('getStatusCode')
- ->willReturn(200);
-
- $mockHttpClient = new MockHttpClient([new MockResponse(file_get_contents(__DIR__ . '/../fixtures/aoc.media.html'), ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']])]);
-
- $client = $this->getMockBuilder(Client::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $client->expects($this->any())
- ->method('post')
- ->with(
- $this->equalTo('https://aoc.media/wp-admin/admin-ajax.php'),
- $this->equalTo([
- 'body' => [
- 'nom' => 'johndoe',
- 'password' => 'unkn0wn',
- 'security' => 'c506c1b8bc',
- 'action' => 'login_user',
- ],
- 'allow_redirects' => true,
- 'verify' => false,
- ])
- )
- ->willReturn($response);
-
- $client->expects($this->any())
- ->method('get')
- ->with(
- $this->equalTo('https://aoc.media/'),
- $this->equalTo([])
- )
- ->willReturn($response);
-
$siteConfig = new SiteConfig([
'host' => 'aoc.media',
'loginUri' => 'https://aoc.media/wp-admin/admin-ajax.php',
@@ -139,78 +91,44 @@ class LoginFormAuthenticatorTest extends TestCase
'password' => 'unkn0wn',
]);
- $authenticatorProvider = new AuthenticatorProvider($mockHttpClient);
- $auth = new LoginFormAuthenticator($authenticatorProvider);
- $res = $auth->login($siteConfig, $client);
-
- $this->assertInstanceOf(LoginFormAuthenticator::class, $res);
- }
-
- public function testLoginPostWithExtraFieldsWithData()
- {
- $response = $this->getMockBuilder(Response::class)
- ->disableOriginalConstructor()
+ $browserResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $browserClient = new MockHttpClient([$browserResponse]);
+ $browser = $this->getMockBuilder(HttpBrowser::class)
+ ->setConstructorArgs([$browserClient])
->getMock();
-
- $response->expects($this->any())
- ->method('getBody')
- ->willReturn(file_get_contents(__DIR__ . '/../fixtures/nextinpact-login.html'));
-
- $response->expects($this->any())
- ->method('getStatusCode')
- ->willReturn(200);
-
- $mockHttpClient = new MockHttpClient([new MockResponse(file_get_contents(__DIR__ . '/../fixtures/nextinpact-login.html'), ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']])]);
-
- $client = $this->getMockBuilder(Client::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $client->expects($this->any())
- ->method('post')
+ $browser->expects($this->any())
+ ->method('request')
->with(
- $this->equalTo('https://compte.nextinpact.com/Account/Login'),
+ $this->equalTo('POST'),
+ $this->equalTo('https://aoc.media/wp-admin/admin-ajax.php'),
$this->equalTo([
- 'body' => [
- 'UserName' => 'johndoe',
- 'Password' => 'unkn0wn',
- '__RequestVerificationToken' => 's6x2QcnQDUL92mkKSi_JuUBXcgUYx_Plf-KyQ2eJypKAjQZIeTvaFHOsfEdTrcSXt3dt2CW39V7r9V16LUtvjszodAU1',
- 'returnUrl' => 'https://www.nextinpact.com/news/102835-pour-cour-comptes-fonctionnement-actuel-vote-par-internet-nest-pas-satisfaisant.htm',
- ],
- 'allow_redirects' => true,
- 'verify' => false,
+ 'nom' => 'johndoe',
+ 'password' => 'unkn0wn',
+ 'security' => 'c506c1b8bc',
+ 'action' => 'login_user',
])
)
- ->willReturn($response);
+ ;
- $client->expects($this->any())
- ->method('get')
+ $requestHtmlFunctionResponse = $this->getMockBuilder(ResponseInterface::class)->getMock();
+ $requestHtmlFunctionResponse->expects($this->any())
+ ->method('getContent')
+ ->willReturn(file_get_contents(__DIR__ . '/../fixtures/aoc.media.html'))
+ ;
+ $requestHtmlFunctionClient = $this->getMockBuilder(HttpClientInterface::class)->getMock();
+ $requestHtmlFunctionClient->expects($this->any())
+ ->method('request')
->with(
- $this->equalTo('https://compte.nextinpact.com/Account/Login?http://www.nextinpact.com/'),
- $this->equalTo([
- 'headers' => [
- 'X-Requested-With' => 'XMLHttpRequest',
- ],
- ])
+ $this->equalTo('GET'),
+ $this->equalTo('https://aoc.media/'),
)
- ->willReturn($response);
+ ->willReturn($requestHtmlFunctionResponse)
+ ;
+ $authenticatorProvider = new AuthenticatorProvider($requestHtmlFunctionClient);
- $siteConfig = new SiteConfig([
- 'host' => 'nextinpact.com',
- 'loginUri' => 'https://compte.nextinpact.com/Account/Login',
- 'usernameField' => 'UserName',
- 'passwordField' => 'Password',
- 'extraFields' => [
- '__RequestVerificationToken' => '@=xpath(\'//form[@action="/Account/Login"]/input[@name="__RequestVerificationToken"]\', request_html(\'https://compte.nextinpact.com/Account/Login?http://www.nextinpact.com/\', {\'headers\': {\'X-Requested-With\':\'XMLHttpRequest\'}}))',
- 'returnUrl' => 'https://www.nextinpact.com/news/102835-pour-cour-comptes-fonctionnement-actuel-vote-par-internet-nest-pas-satisfaisant.htm',
- ],
- 'username' => 'johndoe',
- 'password' => 'unkn0wn',
- ]);
+ $auth = new LoginFormAuthenticator($browser, $authenticatorProvider);
- $authenticatorProvider = new AuthenticatorProvider($mockHttpClient);
- $auth = new LoginFormAuthenticator($authenticatorProvider);
- $res = $auth->login($siteConfig, $client);
+ $res = $auth->login($siteConfig);
$this->assertInstanceOf(LoginFormAuthenticator::class, $res);
}
@@ -225,10 +143,16 @@ class LoginFormAuthenticatorTest extends TestCase
'password' => 'unkn0wn',
]);
- $mockHttpClient = new MockHttpClient();
+ $browserResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $browserClient = new MockHttpClient([$browserResponse]);
+ $browser = new HttpBrowser($browserClient);
+
+ $requestHtmlFunctionResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $requestHtmlFunctionClient = new MockHttpClient([$requestHtmlFunctionResponse]);
+ $authenticatorProvider = new AuthenticatorProvider($requestHtmlFunctionClient);
+
+ $auth = new LoginFormAuthenticator($browser, $authenticatorProvider);
- $authenticatorProvider = new AuthenticatorProvider($mockHttpClient);
- $auth = new LoginFormAuthenticator($authenticatorProvider);
$loginRequired = $auth->isLoginRequired($siteConfig, file_get_contents(__DIR__ . '/../fixtures/nextinpact-login.html'));
$this->assertFalse($loginRequired);
@@ -245,12 +169,76 @@ class LoginFormAuthenticatorTest extends TestCase
'notLoggedInXpath' => '//h2[@class="title_reserve_article"]',
]);
- $mockHttpClient = new MockHttpClient();
+ $browserResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $browserClient = new MockHttpClient([$browserResponse]);
+ $browser = new HttpBrowser($browserClient);
+
+ $requestHtmlFunctionResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $requestHtmlFunctionClient = new MockHttpClient([$requestHtmlFunctionResponse]);
+ $authenticatorProvider = new AuthenticatorProvider($requestHtmlFunctionClient);
+
+ $auth = new LoginFormAuthenticator($browser, $authenticatorProvider);
- $authenticatorProvider = new AuthenticatorProvider($mockHttpClient);
- $auth = new LoginFormAuthenticator($authenticatorProvider);
$loginRequired = $auth->isLoginRequired($siteConfig, file_get_contents(__DIR__ . '/../fixtures/nextinpact-article.html'));
$this->assertTrue($loginRequired);
}
+
+ public function testLoginPostWithUserAgentHeaderWithData()
+ {
+ $siteConfig = new SiteConfig([
+ 'host' => 'nextinpact.com',
+ 'loginUri' => 'https://compte.nextinpact.com/Account/Login',
+ 'usernameField' => 'UserName',
+ 'passwordField' => 'Password',
+ 'username' => 'johndoe',
+ 'password' => 'unkn0wn',
+ 'httpHeaders' => [
+ 'user-agent' => 'Wallabag (Guzzle/5)',
+ ],
+ ]);
+
+ $browserResponse = new MockResponse('', ['http_code' => 200, 'response_headers' => ['content-type' => 'text/html']]);
+ $browserClient = new MockHttpClient([$browserResponse]);
+ $browser = $this->getMockBuilder(HttpBrowser::class)
+ ->setConstructorArgs([$browserClient])
+ ->getMock();
+ $browser->expects($this->any())
+ ->method('request')
+ ->with(
+ $this->equalTo('POST'),
+ $this->equalTo('https://compte.nextinpact.com/Account/Login'),
+ $this->equalTo([
+ 'UserName' => 'johndoe',
+ 'Password' => 'unkn0wn',
+ ]),
+ $this->equalTo([]),
+ $this->equalTo([
+ 'HTTP_user-agent' => 'Wallabag (Guzzle/5)',
+ ]),
+ )
+ ;
+
+ $requestHtmlFunctionResponse = $this->getMockBuilder(ResponseInterface::class)->getMock();
+ $requestHtmlFunctionResponse->expects($this->any())
+ ->method('getContent')
+ ->willReturn(file_get_contents(__DIR__ . '/../fixtures/nextinpact-login.html'))
+ ;
+ $requestHtmlFunctionClient = $this->getMockBuilder(HttpClientInterface::class)->getMock();
+ $requestHtmlFunctionClient->expects($this->any())
+ ->method('request')
+ ->with(
+ $this->equalTo('GET'),
+ $this->equalTo('https://nextinpact.com/'),
+ )
+ ->willReturn($requestHtmlFunctionResponse)
+ ;
+ $authenticatorProvider = new AuthenticatorProvider($requestHtmlFunctionClient);
+
+ $auth = new LoginFormAuthenticator($browser, $authenticatorProvider);
+
+ $res = $auth->login($siteConfig);
+
+ $this->assertInstanceOf(LoginFormAuthenticator::class, $res);
+ }
}
diff --git a/tests/SiteConfig/SiteConfigTest.php b/tests/SiteConfig/SiteConfigTest.php
index 7a887ff01..af4496ba7 100644
--- a/tests/SiteConfig/SiteConfigTest.php
+++ b/tests/SiteConfig/SiteConfigTest.php
@@ -37,6 +37,9 @@ class SiteConfigTest extends TestCase
],
'username' => 'johndoe',
'password' => 'unkn0wn',
+ 'httpHeaders' => [
+ 'user-agent' => 'Wallabag (Guzzle/5)',
+ ],
]);
$this->assertInstanceOf(SiteConfig::class, $config);
diff --git a/tests/Tests/Wallabag/HttpClient/AuthenticatorTest.php b/tests/Tests/Wallabag/HttpClient/AuthenticatorTest.php
new file mode 100644
index 000000000..e47dc1c68
--- /dev/null
+++ b/tests/Tests/Wallabag/HttpClient/AuthenticatorTest.php
@@ -0,0 +1,239 @@
+getMockBuilder(LoginFormAuthenticator::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $builder = new ArraySiteConfigBuilder(['example.com' => []]);
+ $subscriber = new Authenticator($builder, $authenticator);
+
+ $logger = new Logger('foo');
+ $handler = new TestHandler();
+ $logger->pushHandler($handler);
+
+ $subscriber->setLogger($logger);
+
+ $login = $subscriber->loginIfRequired('http://www.example.com');
+
+ $this->assertFalse($login);
+
+ $records = $handler->getRecords();
+
+ $this->assertCount(1, $records);
+ $this->assertSame('loginIfRequired> will not require login', $records[0]['message']);
+ }
+
+ public function testLoginIfRequiredWithNotLoggedInUser()
+ {
+ $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $authenticator->expects($this->once())
+ ->method('isLoggedIn')
+ ->willReturn(false);
+
+ $authenticator->expects($this->once())
+ ->method('login');
+
+ $builder = new ArraySiteConfigBuilder(['example.com' => ['requiresLogin' => true]]);
+ $subscriber = new Authenticator($builder, $authenticator);
+
+ $logger = new Logger('foo');
+ $handler = new TestHandler();
+ $logger->pushHandler($handler);
+
+ $subscriber->setLogger($logger);
+
+ $login = $subscriber->loginIfRequired('http://www.example.com');
+
+ $this->assertTrue($login);
+
+ $records = $handler->getRecords();
+
+ $this->assertCount(1, $records);
+ $this->assertSame('loginIfRequired> user is not logged in, attach authenticator', $records[0]['message']);
+ }
+
+ public function testLoginIfRequestedNotRequired()
+ {
+ $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $builder = new ArraySiteConfigBuilder(['example.com' => []]);
+ $subscriber = new Authenticator($builder, $authenticator);
+
+ $logger = new Logger('foo');
+ $handler = new TestHandler();
+ $logger->pushHandler($handler);
+
+ $subscriber->setLogger($logger);
+
+ $response = $this->getMockBuilder(ResponseInterface::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $response->expects($this->once())
+ ->method('getInfo')
+ ->with($this->equalTo('url'))
+ ->willReturn('http://www.example.com');
+
+ $login = $subscriber->loginIfRequested($response);
+
+ $this->assertFalse($login);
+
+ $records = $handler->getRecords();
+
+ $this->assertCount(1, $records);
+ $this->assertSame('loginIfRequested> will not require login', $records[0]['message']);
+ }
+
+ public function testLoginIfRequestedNotRequested()
+ {
+ $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $authenticator->expects($this->once())
+ ->method('isLoginRequired')
+ ->willReturn(false);
+
+ $builder = new ArraySiteConfigBuilder(['example.com' => [
+ 'requiresLogin' => true,
+ 'notLoggedInXpath' => '//html',
+ ]]);
+ $subscriber = new Authenticator($builder, $authenticator);
+
+ $logger = new Logger('foo');
+ $handler = new TestHandler();
+ $logger->pushHandler($handler);
+
+ $subscriber->setLogger($logger);
+
+ $response = $this->getMockBuilder(ResponseInterface::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $response->expects($this->once())
+ ->method('getInfo')
+ ->with($this->equalTo('url'))
+ ->willReturn('http://www.example.com');
+
+ $response->expects($this->once())
+ ->method('getContent')
+ ->willReturn('
');
+
+ $login = $subscriber->loginIfRequested($response);
+
+ $this->assertFalse($login);
+
+ $records = $handler->getRecords();
+
+ $this->assertCount(1, $records);
+ $this->assertSame('loginIfRequested> retry with login not required', $records[0]['message']);
+ }
+
+ public function testLoginIfRequestedRequested()
+ {
+ $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $authenticator->expects($this->once())
+ ->method('isLoginRequired')
+ ->willReturn(true);
+
+ $authenticator->expects($this->once())
+ ->method('login');
+
+ $builder = new ArraySiteConfigBuilder(['example.com' => [
+ 'requiresLogin' => true,
+ 'notLoggedInXpath' => '//html',
+ ]]);
+ $subscriber = new Authenticator($builder, $authenticator);
+
+ $logger = new Logger('foo');
+ $handler = new TestHandler();
+ $logger->pushHandler($handler);
+
+ $subscriber->setLogger($logger);
+
+ $response = $this->getMockBuilder(ResponseInterface::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $response->expects($this->once())
+ ->method('getInfo')
+ ->with($this->equalTo('url'))
+ ->willReturn('http://www.example.com');
+
+ $response->expects($this->once())
+ ->method('getContent')
+ ->willReturn('
');
+
+ $login = $subscriber->loginIfRequested($response);
+
+ $this->assertTrue($login);
+
+ $records = $handler->getRecords();
+
+ $this->assertCount(1, $records);
+ $this->assertSame('loginIfRequested> retry with login required', $records[0]['message']);
+ }
+
+ public function testLoginIfRequestedRedirect()
+ {
+ $authenticator = $this->getMockBuilder(LoginFormAuthenticator::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $builder = new ArraySiteConfigBuilder(['example.com' => [
+ 'requiresLogin' => true,
+ 'notLoggedInXpath' => '//html',
+ ]]);
+ $subscriber = new Authenticator($builder, $authenticator);
+
+ $logger = new Logger('foo');
+ $handler = new TestHandler();
+ $logger->pushHandler($handler);
+
+ $subscriber->setLogger($logger);
+
+ $response = $this->getMockBuilder(ResponseInterface::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $response->expects($this->once())
+ ->method('getInfo')
+ ->with($this->equalTo('url'))
+ ->willReturn('http://www.example.com');
+
+ $response->expects($this->once())
+ ->method('getContent')
+ ->willReturn('');
+
+ $login = $subscriber->loginIfRequested($response);
+
+ $this->assertFalse($login);
+
+ $records = $handler->getRecords();
+
+ $this->assertCount(1, $records);
+ $this->assertSame('loginIfRequested> empty body, ignoring', $records[0]['message']);
+ }
+}
diff --git a/tests/Tools/UtilsTest.php b/tests/Tools/UtilsTest.php
index 0925a4c0e..e80ee2bd4 100644
--- a/tests/Tools/UtilsTest.php
+++ b/tests/Tools/UtilsTest.php
@@ -13,7 +13,7 @@ class UtilsTest extends TestCase
*/
public function testCorrectWordsCountForDifferentLanguages($filename, $text, $expectedCount)
{
- static::assertSame((float) $expectedCount, Utils::getReadingTime($text), 'Reading time for: ' . $filename);
+ static::assertSame($expectedCount, Utils::getReadingTime($text), 'Reading time for: ' . $filename);
}
public function examples()
@@ -30,7 +30,7 @@ class UtilsTest extends TestCase
$examples[] = [
$file->getRelativePathname(),
$match[1], // content
- $match[2], // reading time
+ (int) $match[2], // reading time
];
}
diff --git a/tests/Twig/WallabagExtensionTest.php b/tests/Twig/WallabagExtensionTest.php
index 6d8e94e04..8d31761cb 100644
--- a/tests/Twig/WallabagExtensionTest.php
+++ b/tests/Twig/WallabagExtensionTest.php
@@ -5,6 +5,7 @@ namespace Tests\Wallabag\Twig;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
+use Wallabag\Repository\AnnotationRepository;
use Wallabag\Repository\EntryRepository;
use Wallabag\Repository\TagRepository;
use Wallabag\Twig\WallabagExtension;
@@ -17,6 +18,10 @@ class WallabagExtensionTest extends TestCase
->disableOriginalConstructor()
->getMock();
+ $annotationRepository = $this->getMockBuilder(AnnotationRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
$tagRepository = $this->getMockBuilder(TagRepository::class)
->disableOriginalConstructor()
->getMock();
@@ -29,7 +34,7 @@ class WallabagExtensionTest extends TestCase
->disableOriginalConstructor()
->getMock();
- $extension = new WallabagExtension($entryRepository, $tagRepository, $tokenStorage, 0, $translator, '');
+ $extension = new WallabagExtension($entryRepository, $annotationRepository, $tagRepository, $tokenStorage, 0, $translator, '');
$this->assertSame('lemonde.fr', $extension->removeWww('www.lemonde.fr'));
$this->assertSame('lemonde.fr', $extension->removeWww('lemonde.fr'));
@@ -42,6 +47,10 @@ class WallabagExtensionTest extends TestCase
->disableOriginalConstructor()
->getMock();
+ $annotationRepository = $this->getMockBuilder(AnnotationRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
$tagRepository = $this->getMockBuilder(TagRepository::class)
->disableOriginalConstructor()
->getMock();
@@ -54,7 +63,7 @@ class WallabagExtensionTest extends TestCase
->disableOriginalConstructor()
->getMock();
- $extension = new WallabagExtension($entryRepository, $tagRepository, $tokenStorage, 0, $translator, '');
+ $extension = new WallabagExtension($entryRepository, $annotationRepository, $tagRepository, $tokenStorage, 0, $translator, '');
$this->assertSame('lemonde.fr', $extension->removeScheme('lemonde.fr'));
$this->assertSame('gist.github.com', $extension->removeScheme('gist.github.com'));
@@ -68,6 +77,10 @@ class WallabagExtensionTest extends TestCase
->disableOriginalConstructor()
->getMock();
+ $annotationRepository = $this->getMockBuilder(AnnotationRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
$tagRepository = $this->getMockBuilder(TagRepository::class)
->disableOriginalConstructor()
->getMock();
@@ -80,7 +93,7 @@ class WallabagExtensionTest extends TestCase
->disableOriginalConstructor()
->getMock();
- $extension = new WallabagExtension($entryRepository, $tagRepository, $tokenStorage, 0, $translator, '');
+ $extension = new WallabagExtension($entryRepository, $annotationRepository, $tagRepository, $tokenStorage, 0, $translator, '');
$this->assertSame('lemonde.fr', $extension->removeSchemeAndWww('www.lemonde.fr'));
$this->assertSame('lemonde.fr', $extension->removeSchemeAndWww('http://www.lemonde.fr'));
diff --git a/tests/WallabagTestCase.php b/tests/WallabagTestCase.php
index 8f70a115e..9b31f8029 100644
--- a/tests/WallabagTestCase.php
+++ b/tests/WallabagTestCase.php
@@ -3,6 +3,7 @@
namespace Tests\Wallabag;
use Doctrine\ORM\EntityManagerInterface;
+use Predis\Client;
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
@@ -118,8 +119,8 @@ abstract class WallabagTestCase extends WebTestCase
protected function checkRedis()
{
try {
- $this->client->getContainer()->get(\Predis\Client::class)->connect();
- } catch (\Exception $e) {
+ $this->client->getContainer()->get(Client::class)->connect();
+ } catch (\Exception) {
$this->markTestSkipped('Redis is not installed/activated');
}
}
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index fad77b3bb..370282e93 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -15,7 +15,7 @@ if (!isPartialRun()) {
'--force',
'--env=test',
'--no-debug',
- ]))->run(function ($type, $buffer) {
+ ]))->run(function ($type, $buffer): void {
echo $buffer;
});
@@ -25,7 +25,7 @@ if (!isPartialRun()) {
'doctrine:database:create',
'--env=test',
'--no-debug',
- ]))->mustRun(function ($type, $buffer) {
+ ]))->mustRun(function ($type, $buffer): void {
echo $buffer;
});
@@ -37,7 +37,7 @@ if (!isPartialRun()) {
'--env=test',
'--no-debug',
'-vv',
- ]))->mustRun(function ($type, $buffer) {
+ ]))->mustRun(function ($type, $buffer): void {
echo $buffer;
});
@@ -48,7 +48,7 @@ if (!isPartialRun()) {
'--no-interaction',
'--env=test',
'-v',
- ]))->mustRun(function ($type, $buffer) {
+ ]))->mustRun(function ($type, $buffer): void {
echo $buffer;
});
}
@@ -60,6 +60,6 @@ if (!isPartialRun()) {
'--no-interaction',
'--env=test',
'--no-debug',
-]))->mustRun(function ($type, $buffer) {
+]))->mustRun(function ($type, $buffer): void {
echo $buffer;
});
diff --git a/tests/fixtures/Import/pocket.csv b/tests/fixtures/Import/pocket.csv
new file mode 100644
index 000000000..085d3d86e
--- /dev/null
+++ b/tests/fixtures/Import/pocket.csv
@@ -0,0 +1,10 @@
+title,url,time_added,tags,status
+You Might Not Need jQuery,http://youmightnotneedjquery.com/,1600322788,,unread
+Est-ce que j’ai besoin d’un Scrum Master ? | by Jean-Pierre Lambert | Jean-,https://jp-lambert.me/est-ce-que-jai-besoin-d-un-scrum-master-604f5a471c73,1600172739,,unread
+"Avec les accusés d’El Halia, par Gisèle Halimi (Le Monde diplomatique, sept",https://www.monde-diplomatique.fr/2020/09/HALIMI/62165,1599806347,,unread
+ArchiveBox question: How do I import links from a RSS feed?,https://www.reddit.com/r/DataHoarder/comments/ioupbk/archivebox_question_how_do_i_import_links_from_a/,1600961496,,archive
+« Tu vas pleurer les premières fois » : que se passe-t-il au sein du studio,https://www.numerama.com/politique/646826-tu-vas-pleurer-les-premieres-fois-que-se-passe-t-il-au-sein-du-studio-dubisoft-derriere-trackmania.html#utm_medium=distibuted&utm_source=rss&utm_campaign=646826,1599809025,,unread
+Comment Konbini s’est fait piéger par un « père masculiniste »,https://www.nouvelobs.com/rue89/20200911.OBS33165/comment-konbini-s-est-fait-pieger-par-un-pere-masculiniste.html,1599819251,,archive
+"Des abeilles pour résoudre les « conflits » entre les humains
+
+et les élépha",https://reporterre.net/Des-abeilles-pour-resoudre-les-conflits-entre-les-humains-et-les-elephants,1599890673,,unread
\ No newline at end of file
diff --git a/tests/fixtures/Import/ril_export.html b/tests/fixtures/Import/ril_export.html
index 3a25056e9..73ddfc0bd 100644
--- a/tests/fixtures/Import/ril_export.html
+++ b/tests/fixtures/Import/ril_export.html
@@ -9,7 +9,7 @@
Unread
diff --git a/tests/fixtures/Import/shaarli-bookmarks.html b/tests/fixtures/Import/shaarli-bookmarks.html
index dd707c939..073fdd470 100644
--- a/tests/fixtures/Import/shaarli-bookmarks.html
+++ b/tests/fixtures/Import/shaarli-bookmarks.html
@@ -8,6 +8,6 @@
- The Legacy of Firefox OS. In the two years or so since Mozilla… | by Ben Francis | Medium
- In the two years or so since Mozilla announced the end of Firefox OS as a Mozilla-run project, the B2G source code has found its way into a surprising number of commercial products.
-
- Template Filters — Eleventy
+
- JO Paris 2024 : Où courir dans la capitale maintenant que les quais sont fermés ?
diff --git a/assets/_global/js/shortcuts/entry.js b/tests/fixtures/Import/test.csv
similarity index 100%
rename from assets/_global/js/shortcuts/entry.js
rename to tests/fixtures/Import/test.csv
diff --git a/tests/functions.php b/tests/functions.php
index a9b8881a7..02ab70fe7 100644
--- a/tests/functions.php
+++ b/tests/functions.php
@@ -11,19 +11,19 @@
function isPartialRun(): bool
{
foreach ($_SERVER['argv'] as $arg) {
- if (str_starts_with($arg, '--filter')) {
+ if (str_starts_with((string) $arg, '--filter')) {
return true;
}
- if (str_starts_with($arg, '--testsuite')) {
+ if (str_starts_with((string) $arg, '--testsuite')) {
return true;
}
- if (str_starts_with($arg, '--group')) {
+ if (str_starts_with((string) $arg, '--group')) {
return true;
}
- if (str_starts_with($arg, '--exclude-group')) {
+ if (str_starts_with((string) $arg, '--exclude-group')) {
return true;
}
}
diff --git a/translations/CraueConfigBundle.cs.yml b/translations/CraueConfigBundle.cs.yml
index 9361d2f97..e419342ef 100644
--- a/translations/CraueConfigBundle.cs.yml
+++ b/translations/CraueConfigBundle.cs.yml
@@ -32,3 +32,4 @@ wallabag_support_url: Adresa URL pro podporu Wallabag
show_printlink: Zobrazit odkaz pro vytištění obsahu
import_with_redis: Povolit Redis pro asynchronní import dat
import_with_rabbitmq: Povolit RabbitMQ pro asynchronní import dat
+share_linkding: Povolit sdílení na Linkding
diff --git a/translations/CraueConfigBundle.de.yml b/translations/CraueConfigBundle.de.yml
index 410c30a57..ce2875974 100644
--- a/translations/CraueConfigBundle.de.yml
+++ b/translations/CraueConfigBundle.de.yml
@@ -18,7 +18,6 @@ share_twitter: Freigabe für Twitter aktivieren
share_unmark: Freigabe für Unmark.it aktivieren
show_printlink: Link anzeigen, um den Inhalt auszudrucken
wallabag_support_url: Support-URL für wallabag
-wallabag_url: URL von *deiner* wallabag-Instanz
entry: Artikel
export: Export
import: Import
diff --git a/translations/CraueConfigBundle.kab.yml b/translations/CraueConfigBundle.kab.yml
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/translations/CraueConfigBundle.kab.yml
@@ -0,0 +1 @@
+{}
diff --git a/translations/CraueConfigBundle.nl.yml b/translations/CraueConfigBundle.nl.yml
index 701406a27..39c31cb5c 100644
--- a/translations/CraueConfigBundle.nl.yml
+++ b/translations/CraueConfigBundle.nl.yml
@@ -5,7 +5,7 @@ restricted_access: Schakel authenticatie voor betaalde websites in
download_images_enabled: Download afbeelding lokaal
matomo_enabled: Schakel Matomo in
matomo_site_id: ID van uw Matomo website
-matomo_host: Adres van uw Matomo website (zonder http:// of https://)
+matomo_host: Adres van jouw Matomo website (zonder http:// of https://)
modify_settings: bevestig
misc: overig
import: importeer
@@ -32,4 +32,5 @@ export_epub: Schakel ePub-export in
download_pictures: Download foto's naar jouw server
settings_changed: Instellingen bijgewerkt
diaspora_url: diaspora* URL, als de dienst is aangezet
-share_public: Sta openbare URL's toe voor items
+share_public: Sta openbare URL's toe voor artikelen
+share_linkding: Sta delen met Linkding toe
diff --git a/translations/CraueConfigBundle.oc.yml b/translations/CraueConfigBundle.oc.yml
index 511e11b2f..1ec15cdc2 100644
--- a/translations/CraueConfigBundle.oc.yml
+++ b/translations/CraueConfigBundle.oc.yml
@@ -33,3 +33,4 @@ restricted_access: Activar l'autenticacion pels sites amb peatge
api_user_registration: Autorizar los utilizaires a se marcar amb l'API
store_article_headers: Activar se wallabag garda las entèstas HTTP per cada article
shaarli_share_origin_url: Activar lo partatge de l’url amb Shaarli, se lo servici es activat
+share_linkding: Activar lo partiment amb Linkding
diff --git a/translations/CraueConfigBundle.pl.yml b/translations/CraueConfigBundle.pl.yml
index 5d443bf26..3fe2dc0e7 100644
--- a/translations/CraueConfigBundle.pl.yml
+++ b/translations/CraueConfigBundle.pl.yml
@@ -1,4 +1,4 @@
-settings_changed: Ustawienia zostały zaktualizowana
+settings_changed: Ustawienia zostały zaktualizowane
download_pictures: Pobierz obrazy na swój serwer
diaspora_url: Adres URL Diaspora, jeżeli ta usługa jest włączona
export_epub: Włącz eksport do ePub
diff --git a/translations/CraueConfigBundle.ru.yml b/translations/CraueConfigBundle.ru.yml
index d3d66aadb..a6cf88a31 100644
--- a/translations/CraueConfigBundle.ru.yml
+++ b/translations/CraueConfigBundle.ru.yml
@@ -18,7 +18,6 @@ share_twitter: "Включить возможность поделиться в
share_unmark: "Включить возможность поделиться в Unmark.it"
show_printlink: "Отображать ссылки в версии для печати"
wallabag_support_url: "Поддержка URL для wallabag"
-wallabag_url: "URL *вашего* wallabag сервиса"
entry: "запись"
export: "экспорт"
import: "импорт"
diff --git a/translations/messages.cs.yml b/translations/messages.cs.yml
index 2016550b7..f755aae86 100644
--- a/translations/messages.cs.yml
+++ b/translations/messages.cs.yml
@@ -251,14 +251,6 @@ config:
old_password_label: Aktuální heslo
description: Zde můžete změnit své heslo. Vaše nové heslo by mělo být alespoň 8 znaků dlouhé.
repeat_new_password_label: Zopakujte nové heslo
- form_rss:
- rss_limit: Počet položek v novinkovém kanálu
- rss_link:
- all: Všechny
- archive: Archivované
- unread: Nepřečtené
- token_create: Vytvořit váš token
- no_token: Žádný token
tab_menu:
rss: RSS
settings: Nastavení
@@ -309,6 +301,7 @@ config:
annotations: Odebrat VŠECHNY anotace
description: Stisknutím níže uvedených tlačítek budete mít možnost odebrat některé informace ze svého účtu. Uvědomte si, že tyto akce jsou NEVRATNÉ.
title: Oblast obnovení (alias nebezpečná zóna)
+ tagging_rules: Odstranit VŠECHNA pravidla štítkování
form_feed:
feed_limit: Počet položek v kanálu
feed_link:
@@ -357,6 +350,7 @@ quickstart:
email: E-mailem
github: Na GitHubu
description: Pokud potřebujete pomoc, jsme tu pro vás.
+ matrix: Na Matrixu
docs:
title: Úplná dokumentace
all_docs: A spousta dalších článků!
@@ -549,6 +543,7 @@ import:
elcurator:
description: Tento importér naimportuje všechny vaše články z elCurator.
page_title: Import > elCurator
+ how_to: Vyberte svůj export z elCuratoru a kliknutím na níže uvedené tlačítko jej nahrajte a importujte.
wallabag_v2:
description: Tento importér naimportuje všechny vaše články z wallabagu v2. Přejděte na Všechny články a pak na postranním panelu pro export klikněte na „JSON“. Získáte soubor „All articles.json“.
page_title: Import > Wallabag v2
@@ -563,7 +558,15 @@ import:
pocket_html:
how_to: Zvolte soubor zálohy záložek a kliknutím na níže uvedené tlačítko jej naimportujte. Pamatujte na to, že tento proces může trvat dlouho, protože je třeba načíst všechny články.
page_title: Import > Pocket HTML
- description: Tento importér naimportuje všechny vaše záložky z Pocket. Stačí přejít na https://getpocket.com/export) a exportovat soubor HTML, který bude stažen (například „ril_export.html“).
+ description: Tento importér naimportuje všechny vaše záložky z Pocketu (prostřednictvím HTML exportu). Stačí přejít na https://getpocket.com/export a exportovat soubor HTML, který bude stažen (například „ril_export.html“).
+ omnivore:
+ how_to: Rozbalte prosím svůj export z Omnivoru, následně nahrajte jeden po druhém všechny JSON soubory s názevem "metadata_x_to_y.json".
+ page_title: Import > Omnivore
+ description: Tento importér naimportuje všechny vaše články z Omnivore.
+ pocket_csv:
+ page_title: Import > Pocket CSV
+ description: Tento importér naimportuje všechny vaše záložky z Pocketu (prostřednictvím CSV exportu). Stačí přejít na https://getpocket.com/export a exportovat soubor. Stáhne se ZIP soubor (např. „pocket.zip“). Po rozbalení získáte CSV soubor, nazvaný „part_000000.csv“.
+ how_to: Zvolte soubor zálohy záložek a kliknutím na níže uvedené tlačítko jej naimportujte. Pamatujte na to, že tento proces může trvat dlouho, protože je třeba načíst všechny články.
flashes:
config:
notice:
@@ -585,6 +588,8 @@ flashes:
tagging_rules_updated: Pravidla štítkování byla aktualizována
user_updated: Informace byla aktualizována
config_saved: Konfigurace byla uložena.
+ tagging_rules_reset: Pravidla štítkování byla obnovena
+ otp_code_invalid: Neplatný dvoufaktorový autentizační kód
ignore_origin_instance_rule:
notice:
deleted: Globální pravidlo ignorování bylo odstraněno
diff --git a/translations/messages.de.yml b/translations/messages.de.yml
index 04852afbf..27cd7bc58 100644
--- a/translations/messages.de.yml
+++ b/translations/messages.de.yml
@@ -89,19 +89,6 @@ config:
help_reading_speed: wallabag berechnet eine Lesezeit pro Artikel. Hier kannst du definieren, ob du ein schneller oder langsamer Leser bist. wallabag wird die Lesezeiten danach neu berechnen.
help_language: Du kannst die Sprache der wallabag-Oberfläche ändern.
help_pocket_consumer_key: Nötig für den Pocket-Import. Du kannst ihn in deinem Pocket account einrichten.
- form_rss:
- description: Die RSS-Feeds von wallabag erlauben es dir, deine gespeicherten Artikel mit deinem bevorzugten RSS-Reader zu lesen. Vorher musst du jedoch einen Token erstellen.
- token_label: RSS-Token
- no_token: Kein Token
- token_create: Token erstellen
- token_reset: Token zurücksetzen
- rss_links: RSS-Links
- rss_link:
- unread: Ungelesene
- starred: Favoriten
- archive: Archivierte
- all: Alle
- rss_limit: Anzahl der Einträge pro Feed
form_user:
two_factor_description: Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertrauenswürdigen Verbindung.
name_label: Name
diff --git a/translations/messages.en.yml b/translations/messages.en.yml
index ea9d08698..fcf566acf 100644
--- a/translations/messages.en.yml
+++ b/translations/messages.en.yml
@@ -553,6 +553,10 @@ import:
page_title: Import > Pocket HTML
description: This importer will import all your Pocket bookmarks (via HTML export). Just go to https://getpocket.com/export, then export the HTML file. An HTML file will be downloaded (like "ril_export.html").
how_to: Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched.
+ pocket_csv:
+ page_title: Import > Pocket CSV
+ description: This importer will import all your Pocket bookmarks (via CSV export). Just go to https://getpocket.com/export, then export the file. A ZIP file will be downloaded (like "pocket.zip"). Extract it, you will obtain a CSV file, called "part_000000.csv".
+ how_to: Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched.
developer:
page_title: API clients management
welcome_message: Welcome to the wallabag API
@@ -687,6 +691,7 @@ flashes:
archived_reset: Archived entries deleted
otp_enabled: Two-factor authentication enabled
otp_disabled: Two-factor authentication disabled
+ otp_code_invalid: Invalid two-factor authentication code
tagging_rules_imported: Tagging rules imported
tagging_rules_not_imported: Error while importing tagging rules
ignore_origin_rules_deleted: 'Ignore origin rule deleted'
diff --git a/translations/messages.es.yml b/translations/messages.es.yml
index 557a47dee..47b497f12 100644
--- a/translations/messages.es.yml
+++ b/translations/messages.es.yml
@@ -99,20 +99,7 @@ config:
lineheight_label: Interlineación
maxwidth_label: Anchura máxima
help_display_thumbnails: Puedes decidir si deseas mostrar o no las miniaturas de los artículos. Útil para conexiones lentas.
- display_thumbnails_label: Mostrar las miniaturas de los artículos (útil para conexiones lentas).
- form_rss:
- description: 'Los feeds RSS proporcionados por wallabag permiten leer los artículos guardados con su lector RSS favorito. Primero necesitas generar un token.'
- token_label: 'Token RSS'
- no_token: 'Sin token'
- token_create: 'Crear un token'
- token_reset: 'Reiniciar el token'
- rss_links: 'URLs de feeds RSS'
- rss_link:
- unread: 'Sin leer'
- starred: 'Favoritos'
- archive: 'Archivados'
- all: Todos
- rss_limit: 'Número de artículos en el feed RSS'
+ display_thumbnails_label: Mostrar las miniaturas de los artículos (útil para conexiones lentas).'
form_user:
two_factor_description: "Activar la autenticación en dos pasos significa que recibirás un código por correo electrónico en cada nueva conexión que no sea de confianza."
name_label: 'Nombre'
diff --git a/translations/messages.fa.yml b/translations/messages.fa.yml
index 0b4aa2dc2..f186c8035 100644
--- a/translations/messages.fa.yml
+++ b/translations/messages.fa.yml
@@ -87,18 +87,6 @@ config:
redirect_current_page: ماندن در صفحه جاری
label: پس از حذف یا ستاره زدن یک مقاله یا علامت زدن به عنوان خوانده شده چه اتفاقی رخ دهد؟
help_items_per_page: تعداد مقالات نمایش داده شده در هر صفحه را تغییر دادید.
- form_rss:
- description: با خوراک آر-اس-اس که wallabag در اختیارتان میگذارد، میتوانید مقالههای ذخیرهشده را در نرمافزار آر-اس-اس دلخواه خود بخوانید. برای این کار نخست باید یک کد بسازید.
- token_label: کد آر-اس-اس
- no_token: بدون کد
- token_create: کد خود را بسازید
- token_reset: بازنشانی کد
- rss_links: پیوند آر-اس-اس
- rss_link:
- unread: خواندهنشده
- starred: برگزیده
- archive: بایگانی
- rss_limit: محدودیت آر-اس-اس
form_user:
two_factor_description: با فعالکردن تأیید ۲مرحلهای هر بار که اتصال تأییدنشدهای برقرار شد، به شما یک کد از راه ایمیل فرستاده میشود.
name_label: نام
diff --git a/translations/messages.fr.yml b/translations/messages.fr.yml
index 367a835db..0f9017d23 100644
--- a/translations/messages.fr.yml
+++ b/translations/messages.fr.yml
@@ -550,6 +550,14 @@ import:
page_title: Importer > Pocket HTML
description: Cet importateur importera toutes vos signets Pocket (via exportation HTML). Il suffit d'aller à https://getpocket.com/export, puis d'exporter le fichier HTML. Un fichier HTML sera téléchargé (comme « ril_export.html »).
how_to: Veuillez choisir le fichier de sauvegarde de signets et cliquez sur le bouton ci-dessous pour l'importer. Pensez au fait que le processus peut prendre longtemps puisque tous les articles doivent être récupérés.
+ pocket_csv:
+ page_title: Importer > Pocket CSV
+ description: Cet importateur importera toutes vos signets Pocket (via exportation CSV). Il suffit d'aller à https://getpocket.com/export, puis d'exporter le fichier. Un fichier ZIP sera téléchargé (comme « pocket.zip »). Décompressez le et vous obtiendrez un fichier CSV appelé "part_000000.csv".
+ how_to: Veuillez choisir le fichier de sauvegarde de signets et cliquez sur le bouton ci-dessous pour l'importer. Pensez au fait que le processus peut prendre longtemps puisque tous les articles doivent être récupérés.
+ omnivore:
+ description: Cet outil va importer tous vos articles depuis Omnivore.
+ page_title: Importer > Omnivore
+ how_to: Merci de dézipper votre export Omnivore, puis de déposer un par un chaque fichier JSON appelé "metadata_x_to_y.json".
developer:
page_title: Gestion des clients API
welcome_message: Bienvenue sur l’API de wallabag
@@ -671,6 +679,7 @@ flashes:
ignore_origin_rules_deleted: "Règle d'omission d'origine supprimée"
ignore_origin_rules_updated: "Règle d'omission d'origine mise à jour"
tagging_rules_reset: Réinitialisation des règles de tags
+ otp_code_invalid: Code d'authentification à deux facteurs invalide
entry:
notice:
entry_already_saved: Article déjà sauvegardé le %date%
diff --git a/translations/messages.gl.yml b/translations/messages.gl.yml
index 578b38de8..7284d6518 100644
--- a/translations/messages.gl.yml
+++ b/translations/messages.gl.yml
@@ -485,6 +485,10 @@ import:
page_title: Importar > Omnivore
how_to: Descomprime a exportación de Omnivore, e despois sube un a un cada ficheiro JSON con nome «metadata_x_to_y.json".
description: Este importador vai traer todos os teus artigos de Omnivore.
+ pocket_csv:
+ how_to: Selecciona o ficheiro de copia de apoio dos marcadores e preme no botón inferior para importalo. Ten en conta que o proceso podería demorarse xa que deben procesarse todos os artigos.
+ description: Con este asistente vas importar os teus marcadores desde Pocket (usando a exportación CSV). Só tes que ir a https://getpocket.com/export e exportar un ficheiro. Descargarás un ficheiro ZIP (tipo «pocket.zip»). Extrae o ficheiro CSV que contén, ten nome «part_000000.csv».
+ page_title: Importar > CSV desde Pocket
export:
unknown: Descoñecido
footer_template:
Creado por wallabag con %method%
Abre unha incidencia se tes problemas para visualizar este E-Book no teu dispositivo.
@@ -672,6 +676,7 @@ flashes:
password_updated: Contrasinal actualizado
config_saved: Gardouse o axuste.
tagging_rules_reset: Restablecer regras de etiquetado
+ otp_code_invalid: O código de autenticación 2FA non é válido
error:
page_title: Houbo un fallo
ignore_origin_instance_rule:
diff --git a/translations/messages.hr.yml b/translations/messages.hr.yml
index 51d177bda..e20bd4b28 100644
--- a/translations/messages.hr.yml
+++ b/translations/messages.hr.yml
@@ -146,19 +146,6 @@ about:
bug_reports: Izvještaji o greškama
page_title: Informacije
config:
- form_rss:
- rss_limit: Broj stavki u feedu
- rss_link:
- unread: Nepročitano
- archive: Arhivirano
- starred: Favorizirano
- all: Sve
- token_label: RSS token
- description: RSS feedovi koje pruža wallabag dozvoljavaju ti čitati tvoje spremljene članke s tvojim omiljenim čitačem RSS-a. Najprije moraš generirati token.
- no_token: Nema tokena
- token_reset: Ponovo generiraj token
- token_create: Stvori token
- rss_links: RSS poveznice
form_rules:
faq:
variable_description:
diff --git a/translations/messages.hu.yml b/translations/messages.hu.yml
index 570f051da..a38b469be 100644
--- a/translations/messages.hu.yml
+++ b/translations/messages.hu.yml
@@ -78,19 +78,6 @@ config:
help_reading_speed: A wallabag kiszámítja az elolvasási időt minden egyes cikkre. Itt meghatározhatja, ennek a listának köszönhetően, hogy mennyire gyors vagy lassú olvasó. A wallabag újra ki fogja számítani az elolvasási időt minden egyes cikkre.
help_language: Megváltoztathatja a wallabag felületének a nyelvét.
help_pocket_consumer_key: A Pocket importálásához szükséges. Ezt a Pocket fiókodban hozhatod létre.
- form_rss:
- description: A wallabag által biztosított RSS-hírfolyam lehetővé teszi hogy az elmentett cikkeit a kedvenc RSS hírolvasójában olvashassa el. Ehhez először viszont létre kell hoznia egy hozzáférési kulcsot.
- token_label: RSS hozzáférési kulcs
- no_token: Nincs hozzáférési kulcs
- token_create: Hozzáférési kulcsának létrehozása
- token_reset: Új hozzáférési kulcs létrehozása
- rss_links: RSS linkek
- rss_link:
- unread: Olvasatlan
- starred: Csillagozott
- archive: Archivált
- all: Összes
- rss_limit: Tételek száma a hírcsatornában
form_user:
two_factor_description: A kétfaktoros hitelesítés engedélyezésével egy biztonsági kódot tartalmazó e-mailt fog kapni minden új, nem azonosítható eszközről történő bejelentkezés esetén.
name_label: Név
diff --git a/translations/messages.it.yml b/translations/messages.it.yml
index 9fbeb7e28..b79fd82d3 100644
--- a/translations/messages.it.yml
+++ b/translations/messages.it.yml
@@ -88,19 +88,6 @@ config:
help_reading_speed: wallabag calcola un tempo di lettura per ogni articolo. Puoi definire qui, grazie a questa lista, se sei un lettore lento o veloce. wallabag ricalcolerà la velocità di lettura per ogni articolo.
help_language: Puoi cambiare la lingua dell'interfaccia di wallabag.
help_pocket_consumer_key: Richiesta per importare da Pocket. La puoi creare nel tuo account Pocket.
- form_rss:
- description: I feed RSS generati da wallabag ti permettono di leggere i tuoi contenuti salvati con il tuo lettore di RSS preferito. Prima, devi generare un token.
- token_label: Token RSS
- no_token: Nessun token
- token_create: Crea il tuo token
- token_reset: Rigenera il tuo token
- rss_links: Collegamenti RSS
- rss_link:
- unread: Non letti
- starred: Preferiti
- archive: Archiviati
- all: Tutti
- rss_limit: Numero di elementi nel feed
form_user:
two_factor_description: Abilitando l'autenticazione a due fattori riceverai un'e-mail con un codice per ogni nuova connesione non verificata.
name_label: Nome
diff --git a/translations/messages.ja.yml b/translations/messages.ja.yml
index dde0e1147..5dc6d5b04 100644
--- a/translations/messages.ja.yml
+++ b/translations/messages.ja.yml
@@ -89,19 +89,6 @@ config:
label: 記事に既読やスターをつけた後、どこに移動しますか?
android_configuration: Androidアプリの設定をする
android_instruction: ここをタッチするとあなたのAndroid アプリに自動入力します
- form_rss:
- description: wallabag が提供する RSS フィードは、お好みの RSS リーダーで保存した記事を読むできます。最初にトークンを生成する必要があります。
- token_label: RSS トークン
- no_token: トークンがありません
- token_create: トークンを作成
- token_reset: トークンを再生成
- rss_links: RSS のリンク
- rss_limit: フィード内のアイテムの数
- rss_link:
- unread: 未読
- starred: スター付
- archive: アーカイブ
- all: すべて
form_user:
two_factor_description: 二要素認証を有効にすると、信頼されていない新しい接続ごとに、コードを記載したメールが届きます。
help_twoFactorAuthentication: 二要素認証を有効にした場合、wallabag にログインするたびに、メールでコードを受信します。
diff --git a/translations/messages.kab.yml b/translations/messages.kab.yml
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/translations/messages.kab.yml
@@ -0,0 +1 @@
+{}
diff --git a/translations/messages.ko.yml b/translations/messages.ko.yml
index 17f1131d6..74616d09f 100644
--- a/translations/messages.ko.yml
+++ b/translations/messages.ko.yml
@@ -115,6 +115,26 @@ import:
action:
import_contents: 콘텐츠 가져오기
page_title: 가져오기
+ delicious:
+ how_to: Delicious 내보내기를 선택하고 아래 버튼을 클릭하여 업로드하고 가져오십시오.
+ page_title: 가져오기 > del.icio.us
+ description: '이 가져오기 도구는 모든 Delicious 북마크를 가져옵니다. 2021년부터 내보내기 페이지 (https://del.icio.us/export)를 사용하여 데이터를 다시 내보낼 수 있습니다. "JSON" 형식을 선택하고 다운로드하십시오 (예: "delicious_export.2021.02.06_21.10.json").'
+ shaarli:
+ page_title: 가져오기 > Shaarli
+ description: 이 가져오기 도구는 모든 Shaarli 북마크를 가져옵니다. 도구 섹션으로 이동한 다음 "데이터베이스 내보내기"에서 북마크를 선택하고 내보내십시오. HTML 파일을 얻게 됩니다.
+ how_to: 북마크 백업 파일을 선택하고 아래 버튼을 클릭하여 가져오십시오. 모든 문서를 가져와야하므로 처리 시간이 오래 걸릴 수 있습니다.
+ omnivore:
+ page_title: 가져오기 > Omnivore
+ description: 이 가져오기 도구는 모든 Omnivore 문서를 가져옵니다.
+ how_to: Omnivore 내보내기 압축을 풀고 "metadata_x_to_y.json" 이라는 각 JSON 파일을 하나씩 업로드하십시오.
+ pocket_html:
+ description: '이 가져오기 도구는 모든 Pocket 북마크 (HTML 내보내기 통해)를 가져옵니다. https://getpocket.com/export 로 이동한 다음 HTML 파일을 내보내십시오. HTML 파일이 다운로드됩니다 (예: "ril_export.html").'
+ page_title: 가져오기 > Pocket HTML
+ how_to: 북마크 백업 파일을 선택하고 아래 버튼을 클릭하여 가져오십시오. 모든 문서를 가져와야하므로 처리 시간이 오래 걸릴 수 있습니다.
+ pocket_csv:
+ description: '이 가져오기 도구는 모든 Pocket 북마크 (CSV 내보내기 통해)를 가져옵니다. https://getpocket.com/export 로 이동한 다음 파일을 내보내십시오. ZIP 파일이 다운로드됩니다 (예: "pocket.zip"). 압축을 풀면 "part_000000.csv" 라는 CSV 파일을 얻게 됩니다.'
+ how_to: 북마크 백업 파일을 선택하고 아래 버튼을 클릭하여 가져오십시오. 모든 문서를 가져와야하므로 처리 시간이 오래 걸릴 수 있습니다.
+ page_title: 가져오기 > Pocket CSV
about:
third_party:
description: '다음은 wallabag에 사용되는 타사 라이브러리 목록입니다 (저작권 포함):'
@@ -199,6 +219,8 @@ entry:
starred_label: 즐겨찾기
status_label: 상태
title: 필터
+ annotated_label: 주석 있음
+ parsed_label: 올바르게 가져오지 못함
edit:
origin_url_label: 원본 URL (원본 문서의 위치)
page_title: 문서 수정
@@ -219,9 +241,13 @@ entry:
filtered_tags: '태그로 필터링:'
filtered: 필터링한 기사
unread: 읽지않은 기사
+ with_annotations: 주석이 있는 문서
+ same_domain: 동일 도메인
confirm:
delete_tag: 문서에서 해당 태그를 제거 하시겠습니까?
delete: 해당 문서를 제거 하시겠습니까?
+ delete_entries: 이 문서를 제거 하시겠습니까?
+ reload: 해당 문서를 다시 로드 하시겠습니까?
public:
shared_by_wallabag: 이 문서는 %username% 님이
wallabag와 공유했습니다
metadata:
@@ -238,13 +264,18 @@ entry:
toogle_as_read: 읽음으로 전환
toogle_as_star: 즐겨찾기 전환
original_article: 원본
- reading_time_less_one_minute_short: '< 1 분'
+ reading_time_less_one_minute_short: '< 1 분'
reading_time_minutes_short: '%readingTime% 분'
number_of_tags: '{1} 및 1 개의 다른 태그|]1,Inf[및 %count% 다른 태그'
- reading_time_less_one_minute: '예상 읽기 시간: < 1 분'
+ reading_time_less_one_minute: '예상 읽기 시간: < 1 분'
reading_time_minutes: '예상 읽기 시간: %readingTime% 분'
reading_time: 예상 읽기 시간
- number_on_the_page: '{0} 기사가 없습니다.|{1} 기사가 하나 있습니다.|]1,Inf[ %count % 기사가 있습니다.'
+ number_on_the_page: '{0} 기사가 없습니다.|{1} 기사가 하나 있습니다.|]1,Inf[ %count%개 기사가 있습니다.'
+ assign_search_tag: 이 검색을 각 결과에 태그로 할당
+ show_same_domain: 동일 도메인을 가진 문서 보기
+ toggle_mass_action: 대량 작업 전환
+ mass_action_tags_input_placeholder: 태그1, 태그2, 태그3
+ add_tags: 태그 추가
default_title: 기사의 제목
howto:
bookmarklet:
@@ -283,7 +314,7 @@ howto:
via_google_play: 구글 플레이를 통해
via_f_droid: F-Droid를 통해
windows: 마이크로소프트 스토어에서
- ios: 아이튠즈 스토어에서
+ ios: 앱스토어에서
browser_addons:
opera: 오페라 애드온
chrome: 크롬 애드온
@@ -331,6 +362,7 @@ flashes:
tagging_rules_deleted: 태그 지정 규칙이 삭제되었습니다
tagging_rules_updated: 태그 지정 규칙이 업데이트되었습니다
password_updated: 비밀번호가 업데이트 되었습니다
+ otp_code_invalid: 2단계 인증 코드가 유효하지 않습니다
ignore_origin_instance_rule:
notice:
deleted: 전역 원본 무시 규칙이 삭제되었습니다
@@ -363,6 +395,7 @@ flashes:
notice:
tag_renamed: 태그 이름이 변경되었습니다
tag_added: 태그가 추가되었습니다
+ too_much_tags: 성능 문제 방지를 위해 한 번에 %tags%개 이상의 태그나 %characters%자 이상의 태그를 추가할 수 없습니다.
config:
form_ignore_origin_rules:
faq:
@@ -396,7 +429,7 @@ config:
title: 문서 제목
label: 변수
tagging_rules_definition_description: wallabag 에서 자동으로 새 문서에 태그를 지정하는 데 사용하는 규칙입니다.
태그 지정 규칙이 새 문서가 추가 될 때마다 태그를 구성하는 데 사용되므로, 수동으로 분류하는 수고를 덜 수 있습니다.
- how_to_use_them_description: '읽기 시간이 3 분 미만인 경우 «
짧은 읽기 » 와 같은 새 기사에 태그를 지정한다고 가정합니다.
이 경우
규칙 을 입력해야합니다.
태그 필드에 « readingTime <= 3 » 을 입력하고 «
짧은 읽기» 를 입력하십시오.
여러 태그를 쉼표로구분하여 한 번에 추가 할 수 있습니다: «
짧은 읽기, 반드시 읽기 »
사전 정의 된 연산자를 사용하여 복잡한 규칙을 작성할 수 있습니다: 만약 «
readingTime >= 5 AND domainName = "www.php.net" » 다음으로 태그 «
긴 읽기, php»'
+ how_to_use_them_description: '읽기 시간이 3 분 미만인 경우 «
짧은 읽기 » 와 같은 새 기사에 태그를 지정한다고 가정합니다.
이 경우
규칙 을 입력해야합니다.
태그 필드에 « readingTime <= 3 » 을 입력하고 «
짧은 읽기» 를 입력하십시오.
여러 태그를 쉼표로구분하여 한 번에 추가 할 수 있습니다: «
짧은 읽기, 반드시 읽기 »
사전 정의 된 연산자를 사용하여 복잡한 규칙을 작성할 수 있습니다: 만약 «
readingTime >= 5 AND domainName = "www.php.net" » 다음으로 태그 «
긴 읽기, php»'
operator_description:
and: 하나의 규칙 그리고 다른 규칙
or: 하나의 규칙 또는 다른 규칙
@@ -438,6 +471,7 @@ config:
annotations: 모든 주석 제거
confirm: 정말 하시겠습니까? (되돌릴 수 없습니다)
tags: 모든 태그 제거
+ tagging_rules: 모든 태그 지정 규칙 제거
form_feed:
feed_link:
archive: 보관
@@ -493,6 +527,16 @@ config:
help_message: '온라인 도구를 사용하여 읽기 속도를 측정 할 수 있습니다:'
label: 읽기 속도
language_label: 언어
+ help_font: 사용하고 싶은 글꼴 모음을 선택할 수 있습니다.
+ help_fontsize: 사용하고 싶은 글꼴 크기를 선택할 수 있습니다.
+ help_lineheight: 사용하고 싶은 줄 높이를 선택할 수 있습니다.
+ lineheight_label: 줄 높이
+ maxwidth_label: 최대 너비
+ help_maxwidth: 사용하고 싶은 최대 너비를 선택할 수 있습니다.
+ font_label: 글꼴 모음
+ fontsize_label: 글꼴 크기
+ help_display_thumbnails: 문서 썸네일을 표시할지 여부를 결정할 수 있습니다. 느린 연결에 유용합니다.
+ display_thumbnails_label: 문서 썸네일 표시 (느린 연결에 유용).
otp:
app:
qrcode_label: QR 코드
@@ -513,6 +557,7 @@ config:
user_info: 사용자 정보
feed: 피드
settings: 설정
+ article_display: 문서 표시
form:
save: 저장
page_title: 설정
@@ -526,7 +571,7 @@ menu:
random_entry: 해당 목록에서 임의의 문서로 이동
add_new_entry: 새 문서 추가
filter_entries: 기사 필터
- account: 나의 계정
+ account: 내 계정
export: 내보내기
search: 검색
left:
@@ -541,7 +586,7 @@ menu:
theme_toggle_auto: 자동 테마
theme_toggle_dark: 어두운 테마
theme_toggle_light: 밝은 테마
- quickstart: 빠른시작
+ quickstart: 빠른 시작
search: 검색
users_management: 사용자 관리
save_link: 링크 저장
@@ -552,6 +597,7 @@ menu:
tags: 태그
config: 설정
starred: 즐겨찾기
+ with_annotations: 주석 있음
search_form:
input_label: 여기에 검색어 입력
error:
@@ -636,7 +682,7 @@ quickstart:
configure:
tagging_rules: 문서를 자동으로 태그하는 규칙 작성
feed: 피드 활성화
- language: 언어 및 디자인 변경
+ language: 언어 및 인터페이스 변경
description: 자신에게 맞는 앱을 얻으려면, wallabag의 구성을 살펴보십시오.
title: 응용 프로그램 구성
more: 더보기…
@@ -693,3 +739,5 @@ tag:
see_untagged_entries: 태그가 없는 문서보기
number_on_the_page: '{0} 태그가 없습니다.|{1} 태그가 1 개 있습니다.|]1,Inf[태그가 %count% 개 있습니다.'
page_title: 태그
+ confirm:
+ delete: '%name% 태그 삭제'
diff --git a/translations/messages.nb.yml b/translations/messages.nb.yml
index c54ed5934..d8168b6c3 100644
--- a/translations/messages.nb.yml
+++ b/translations/messages.nb.yml
@@ -100,16 +100,6 @@ config:
help_lineheight: Du kan velge linjehøyde du vil bruke.
font_label: Skrifttype
help_fontsize: Du kan velge skriftstørrelse du vil bruke.
- form_rss:
- token_label: RSS-symbol
- no_token: Inget symbol
- token_create: Opprett ditt symbol
- token_reset: Regenerer ditt symbol
- rss_links: RSS-lenker
- rss_link:
- unread: ulest
- starred: stjernemerket
- archive: arkivert
form_user:
name_label: Navn
email_label: E-post
@@ -202,6 +192,7 @@ config:
tags: Fjern ALLE etiketter
annotations: Fjern ALLE anføringer
title: Tilbakestill område (faresone)
+ tagging_rules: Fjern ALLE regler for tagging
form_feed:
no_token: Ingen symbol
token_label: Strøm-symbol
diff --git a/translations/messages.nl.yml b/translations/messages.nl.yml
index 5707432be..5062763db 100644
--- a/translations/messages.nl.yml
+++ b/translations/messages.nl.yml
@@ -9,22 +9,32 @@ config:
300_word: Ik lees ~300 woorden per minuut
200_word: Ik lees ~200 woorden per minuut
100_word: Ik lees ~100 woorden per minuut
- help_message: 'U can online tooling gebruiken om uw leessnelheid te bepalen:'
+ help_message: 'Je kunt online programma''s gebruiken om je leessnelheid te bepalen:'
label: Leessnelheid
language_label: Taal
- items_per_page_label: Items per pagina
- help_pocket_consumer_key: Verplicht voor het importeren uit Pocket. U kan dit aanmaken in uw Pocket account.
+ items_per_page_label: Artikelen per pagina
+ help_pocket_consumer_key: Verplicht voor het importeren uit Pocket. Je kan dit aanmaken in je Pocket account.
help_language: U kan de taal van wallabag aanpassen.
- help_reading_speed: wallabag berekend een leestijd voor ieder artikel. U kan hier aangeven of u een snelle of langzame lezer bent waardoor wallabag een accurate tijd kan berekenen per artikel.
+ help_reading_speed: wallabag berekend een leestijd voor ieder artikel aan de hand van hoe snel je leest. Hier kan je aangeven hoe snel je leest.
help_items_per_page: U kan de hoeveelheid getoonde artikelen per pagina aanpassen.
- android_instruction: Tik hier om uw Android-appvooraf in te vullen
- android_configuration: Configureer uw Android applicatie
+ android_instruction: Tik hier om je Android-app vooraf in te vullen
+ android_configuration: Configureer je Android applicatie
pocket_consumer_key_label: Consumer key voor Pocket om inhoud te importeren
+ help_display_thumbnails: Jij bepaalt of je de artikel mini-afbeelding wilt zien. Uitzetten is handig bij een langzame verbinding.
+ display_thumbnails_label: Toon artikel mini-afbeelding (handig bij langzame verbindingen).
+ help_font: Kies de lettertypefamilie die je wil gebruiken.
+ help_lineheight: Kies de regelhoogte die je wil gebruiken.
+ help_maxwidth: Kies de maximale breedte die je wil gebruiken.
+ font_label: Lettertypefamilie
+ help_fontsize: Kies de lettergrootte die je wil gebruiken.
+ fontsize_label: Lettergrootte
+ lineheight_label: Regelhoogte
+ maxwidth_label: Maximale breedte
form:
save: Opslaan
tab_menu:
new_user: Voeg gebruiker toe
- rules: Label regels
+ rules: Labelregels
password: Wachtwoord
user_info: Gebruikers informatie
rss: RSS
@@ -32,45 +42,33 @@ config:
ignore_origin: Negeer oorsprong regels
feed: Feeds
reset: Reset gebied
+ article_display: Artikel weergave
page_title: Configuratie
form_user:
delete:
title: Verwijder mijn account (a.k.a gevaarlijke zone)
button: Verwijder mijn account
- confirm: Weet u het zeker? (DIT KAN NIET ONGEDAAN GEMAAKT WORDEN)
- description: Als je je account verwijdert, worden AL je artikelen, AL je tags, AL je annotaties en je account PERMANENT verwijderd (het kan niet ONGEDAAN gemaakt worden). U wordt vervolgens uitgelogd.
+ confirm: Weet je het zeker? (DIT KAN NIET ONGEDAAN GEMAAKT WORDEN)
+ description: Als je je account verwijdert, worden AL je artikelen, AL je labels, AL je annotaties en je account PERMANENT verwijderd (het kan niet ONGEDAAN gemaakt worden). Je wordt vervolgens uitgelogd.
help_twoFactorAuthentication: Wanneer u 2FA inschakelt, krijgt u bij elke inlogactie bij wallabag een code per mail.
twoFactorAuthentication_label: Twee factor authenticatie
email_label: E-mailadres
name_label: Naam
- two_factor_description: Inschakken van 2-factor-authenticatie betekend dat u een email krijgt met een code elke keer als verbinding maakt met een nieuw niet vertrouwd apparaat.
+ two_factor_description: Inschakelen van tweestapsverificatie betekend dat je een e-mail krijgt met een code, elke keer als je verbinding maakt met een nieuw, niet vertrouwd apparaat.
two_factor:
action_app: Gebruik OTP app
- action_email: Gebruik email
+ action_email: Gebruik e-mail
state_disabled: Uitgeschakeld
state_enabled: Ingeschakeld
table_action: Actie
table_state: Status
table_method: Methode
- googleTwoFactor_label: Gebruik maken van OTP app (open de app, zoals Google Authenticator, Authy of FreeOTP, om een eenmalige code te krijgen)
- emailTwoFactor_label: Gebruik maken van email (ontvang een code per mail)
+ googleTwoFactor_label: Gebruik tweestapsverificatie met eenmalige codes van een OTP app (zoals Google Authenticator, Authy of FreeOTP)
+ emailTwoFactor_label: Gebruik tweestapsverificatie met eenmalige codes die je per e-mail ontvangt
login_label: Login (kan niet veranderd worden)
- form_rss:
- rss_limit: Aantal items in de lijst
- rss_link:
- all: Alles
- archive: Gearchiveerd
- starred: Gemarkeerd
- unread: Ongelezen
- rss_links: RSS-koppelingen
- token_reset: Token opnieuw genereren
- token_create: Creëer uw token
- no_token: Geen token
- token_label: RSS-token
- description: Met RSS-feeds van wallabag kunt u uw opgeslagen artikelen lezen met uw favoriete RSS-lezer. U moet wel eerst een token genereren.
form_rules:
faq:
- tagging_rules_definition_description: Dit zijn regels die door Wallabag worden gebruikt om automatisch nieuwe items te labelen.
Elke keer dat een nieuw item wordt toegevoegd, worden alle labelregels gebruikt om de labels toe te voegen die je hebt geconfigureerd, waardoor je de moeite van het handmatig classificeren van je items bespaart.
+ tagging_rules_definition_description: Dit zijn regels die door Wallabag worden gebruikt om automatisch nieuwe artikelen te labelen.
Elke keer dat een nieuw artikel wordt toegevoegd, worden de labelregels gebruikt om labels toe te voegen. Hierdoor bespaar je de moeite van handmatig classificeren.
operator_description:
matches: 'Valideert dat een
onderwerp gelijk is aan
zoek (hoofdletter-ongevoelig.
Voorbeeld:
titel gelijk aan "voetbal"
'
notmatches: 'Valideert dat een
onderwerp niet gelijk is aan
zoek (hoofdletter-ongevoelig.
Voorbeeld:
titel niet gelijk aan "voetbal"
'
@@ -84,23 +82,23 @@ config:
less_than: Minder dan…
label: Operator
variable_description:
- domainName: De domeinnaam van het item
- readingTime: De verwachte leestijd van het item, in minuten
- mimetype: Media type van het item
- language: Taal van het item
- content: Inhoud van het item
- isStarred: Of het item gemarkeerd is of niet
- isArchived: Of het item gearchiveerd is of niet
- url: URL van het item
- title: Titel van het item
+ domainName: De domeinnaam van het artikel
+ readingTime: De verwachte leestijd van het artikel, in minuten
+ mimetype: Media type van het artikel
+ language: Taal van het artikel
+ content: Inhoud van het artikel
+ isStarred: Of het artikel een ster heeft of niet
+ isArchived: Of het artikel gearchiveerd is of niet
+ url: URL van het artikel
+ title: Titel van het artikel
label: Variabel
meaning: Betekenis
- variables_available_description: 'De volgende variabelen en operatoren kunnen gebruikt worden om label regels te maken:'
+ variables_available_description: 'De volgende variabelen en operatoren kunnen gebruikt worden om labelregels te maken:'
variables_available_title: Welke variabelen en operatoren kan ik gebruiken om regels te schrijven?
how_to_use_them_title: Hoe gebruik is ze?
- tagging_rules_definition_title: Wat betekend "label regels"?
+ tagging_rules_definition_title: Wat zijn “labelregels”?
title: FAQ
- how_to_use_them_description: 'Laten we aannemen dat u nieuwe vermeldingen wilt labelen als «
korte lezing » wanneer de leestijd minder dan 3 minuten bedraagt.
In dat geval moet u « readingTime <= 3 » in het
Regelveld en «
korte lezing » in het
Labels veld.
Meerdere labels kunnen tegelijkertijd worden toegevoegd door ze te scheiden met een komma:«
korte lezing, belangrijk »
Complexe regels kunnen worden geschreven met behulp van vooraf gedefinieerde operators: if «
readingTime >= 5 AND domainName = "www.php.net" » label dan als«
lange lezing, php »'
+ how_to_use_them_description: 'Als voorbeeld nemen we aan dat je artikelen wil labelen als «
korte lezing » wanneer de leestijd minder dan 3 minuten is.
In dat geval zet je « readingTime <= 3 » in het
Regelveld en «
korte lezing » in het
Labels veld.
Meerdere labels kunnen tegelijkertijd worden toegevoegd door ze te scheiden met een komma: «
korte lezing, belangrijk »
Complexe regels kunnen worden geschreven met behulp van de beschikbare operators: als «
readingTime >= 5 AND domainName = "www.php.net" » label dan als «
lange lezing, php »'
tags_label: Labels
rule_label: Regel
edit_rule_label: wijzig
@@ -111,33 +109,36 @@ config:
import_submit: Importeer
file_label: JSON bestand
card:
- export_tagging_rules_detail: Hiermee wordt een JSON-bestand gedownload dat u kunt gebruiken om labelregels elders te importeren of om er een back-up van te maken.
+ export_tagging_rules_detail: Hiermee wordt een JSON-bestand gedownload dat je kan gebruiken om labelregels elders te importeren of om er een back-up van te maken.
new_tagging_rule: Maak een labelregel
import_tagging_rules: Importeer labelregels
export_tagging_rules: Exporteer labelregels
- import_tagging_rules_detail: Selecteer het JSON-bestand dat u eerder hebt geëxporteerd.
+ import_tagging_rules_detail: Kies het JSON-bestand dat je eerder hebt geëxporteerd.
form_password:
repeat_new_password_label: Herhaal nieuw wachtwoord
new_password_label: Nieuw wachtwoord
old_password_label: Huidig wachtwoord
- description: U kan hier uw wachtwoord wijzigen. Uw nieuwe wachtwoord moet minimaal 8 tekens lang zijn.
+ description: Je kan hier je wachtwoord wijzigen. Je nieuwe wachtwoord moet minimaal 8 tekens lang zijn.
reset:
- confirm: Weet u het zeker? (DIT IS ONOMKEERBAAR)
- archived: Verwijder ALLE gearchiveerde items
- entries: Verwijder ALLE items
+ confirm: Weet je het zeker? (DIT IS ONOMKEERBAAR)
+ archived: Verwijder ALLE gearchiveerde artikelen
+ entries: Verwijder ALLE artikelen
tags: Verwijder ALLE labels
annotations: Verwijder ALLE annotaties
- description: Door onderstaande knoppen te gebruiken kan u bepaalde informatie van uw account verwijderen. Wees gewaarschuwd dat NIET niet ongedaan gemaakt kan worden.
+ description: Door onderstaande knoppen te gebruiken kan je bepaalde informatie van je account verwijderen. Wees gewaarschuwd, de verwijderde informatie kan NIET HERSTELD worden.
title: Reset opties (a.k.a gevaarlijke zone)
+ tagging_rules: Verwijder ALLE labelregels
otp:
app:
enable: Inschakelen
cancel: Annuleer
- two_factor_code_description_4: 'Test een OTP-code van uw geconfigureerde app:'
- two_factor_code_description_3: 'Bewaar deze back-upcodes op een veilige plaats, u kunt dit gebruiken voor het geval u de toegang tot uw OTP-app verliest:'
- two_factor_code_description_2: 'U kunt de QR-code scannen met uw app:'
- two_factor_code_description_1: U hebt zojuist de OTP-tweefactorauthenticatie ingeschakeld, uw OTP-app geopend en die code gebruikt om een eenmalig wachtwoord te krijgen. Het verdwijnt nadat de pagina opnieuw is geladen.
- page_title: Twee-factor authenticatie
+ two_factor_code_description_4: 'Test een OTP-code van jouw OTP-app:'
+ two_factor_code_description_3: 'Bewaar deze back-upcodes op een veilige plaats, je kunt deze gebruiken voor het geval je de toegang tot je OTP-app verliest:'
+ two_factor_code_description_2: 'Je kunt de QR-code scannen met jouw app:'
+ two_factor_code_description_1: Je hebt zojuist de tweestapsverificatie met OTP app ingeschakeld. Open jouw OTP-app en gebruik de QR-code om een eenmalig wachtwoord te krijgen. Let op, de QR-code verdwijnt na het verlaten of opnieuw laden van deze pagina.
+ qrcode_label: QR code
+ two_factor_code_description_5: 'Als je de QR code niet kan scannen, voer dan het geheim in:'
+ page_title: Tweestapsverificatie
form_ignore_origin_rules:
faq:
ignore_origin_rules_definition_title: Wat betekent “negeer oorsprong regels”?
@@ -152,41 +153,41 @@ config:
meaning: Betekenis
variables_available_description: 'De volgende variabelen en operatoren kunnen worden gebruikt om regels voor het negeren van oorsprong te creëren:'
variables_available_title: Welke variabelen en operatoren kunnen gebruikt worden om regels te schrijven?
- how_to_use_them_description: Laten we aannemen dat u de oorsprong van een item wilt negeren dat afkomstig is van «
rss.example.com» (
wetende dat na een omleiding het daadwerkelijke adres example.com is) .
In dat geval moet u «host =" rss.example.com "» in het veld
Regel plaatsen.
+ how_to_use_them_description: Als je de bron van een artikel wil negeren als het afkomstig is van «
rss.example.com» (
wetende dat na een omleiding het daadwerkelijke adres example.com is).
In dat geval kun je «host = "rss.example.com"» in het veld
Regel plaatsen.
how_to_use_them_title: Hoe gebruik ik ze?
- ignore_origin_rules_definition_description: Ze worden door wallabag gebruikt om automatisch een oorsprongsadres te negeren na een omleiding.
Als een omleiding plaatsvindt tijdens het ophalen van een nieuw item, zullen alle regels voor het negeren van de oorsprong (
door de gebruiker gedefinieerd en door de instantie gedefinieerd) gebruikt worden om het oorspronkelijke adres te negeren.
+ ignore_origin_rules_definition_description: Ze worden door wallabag gebruikt om automatisch een bronadres te negeren na een omleiding.
Als een omleiding plaatsvindt tijdens het ophalen van een nieuw artikel, zullen alle regels voor het negeren van de bron (
door de gebruiker gedefinieerd en door het systeem gedefinieerd) gebruikt worden om het bronadres te negeren.
title: Veelgestelde vragen
form_feed:
feed_links: Feedlinks
- feed_limit: Aantal items in de feed
+ feed_limit: Aantal artikelen in de feed
feed_link:
all: Alles
archive: Gearchiveerd
- starred: Gemarkeerd
+ starred: Met ster
unread: Ongelezen
token_revoke: Token intrekken
token_reset: Token opnieuw genereren
- token_create: Creëer uw token
+ token_create: Creëer een token
no_token: Geen token
token_label: Feed token
- description: Met Atom-feeds van wallabag kunt u uw opgeslagen artikelen lezen met uw favoriete Atom-lezer. U moet wel eerst een token genereren.
+ description: Met Atom-feeds van wallabag kunt je je opgeslagen artikelen lezen met je favoriete Atom-lezer. Je moet wel eerst een token genereren.
footer:
- stats: Sinds %user_creation% heeft u %nb_archives% artikelen gelezen. Dat is ongeveer %per_day% per dag!
+ stats: Sinds %user_creation% heb je %nb_archives% artikelen gelezen. Dat is ongeveer %per_day% per dag!
wallabag:
about: Over
powered_by: mogelijk gemaakt door
social: Sociaal
- elsewhere: Neem wallabag met u mee
+ elsewhere: Neem wallabag met je mee
menu:
search_form:
- input_label: Vul uw zoeksuggestie hier in
+ input_label: Vul je zoeksuggestie hier in
top:
export: Exporteer
- filter_entries: Filter items
+ filter_entries: Filter artikelen
search: Zoeken
- add_new_entry: Voeg nieuw item toe
+ add_new_entry: Voeg nieuw artikel toe
account: Mijn account
- random_entry: Spring naar een willekeurig item van de lijst
+ random_entry: Spring naar een willekeurig artikel in de lijst
left:
site_credentials: Site inloggegevens
users_management: Gebruikersbeheer
@@ -201,15 +202,16 @@ menu:
internal_settings: Interne Instellingen
tags: Labels
config: Configuratie
- all_articles: Alle items
+ all_articles: Alle artikelen
archive: Archief
- starred: Gemarkeerd
+ starred: Met ster
unread: Ongelezen
ignore_origin_instance_rules: Globaal negeer-oorsprongsregels
quickstart: Snelstart
theme_toggle_auto: Thema automatisch
theme_toggle_dark: Donker thema
theme_toggle_light: Licht thema
+ with_annotations: Met aantekeningen
security:
login:
password: Wachtwoord
@@ -221,10 +223,10 @@ security:
forgot_password: Wachtwoord vergeten?
keep_logged_in: Houdt mij ingelogd
register:
- go_to_account: Ga naar uw account
+ go_to_account: Ga naar je account
page_title: Maak een account
resetting:
- description: Voer uw e-mailadres hieronder in en wij sturen u instructies voor het opnieuw instellen van uw wachtwoord.
+ description: Voer je e-mailadres hieronder in en wij sturen je instructies voor het opnieuw instellen van je wachtwoord.
flashes:
site_credential:
notice:
@@ -244,33 +246,33 @@ flashes:
notice:
summary_with_queue: 'Importeren samenvatting: %queued% in wachtrij.'
summary: 'Importeren samenvatting: %imported% imported, %skipped% reeds opgeslagen.'
- failed_on_file: Fout bij het verwerken van importeren. Controleer uw geïmporteerde bestand.
- failed: Importeren gefaald, probeer opnieuw.
+ failed_on_file: Fout bij het verwerken van importeren. Controleer het geïmporteerde bestand.
+ failed: Importeren mislukt, probeer opnieuw.
error:
rabbit_enabled_not_installed: RabbitMQ is ingeschakeld voor het afhandelen van asynchroon importeren, maar het lijkt erop dat
we er geen verbinding mee kunnen maken . Controleer de RabbitMQ-configuratie.
redis_enabled_not_installed: Redis is ingeschakeld voor het afhandelen van asynchroon importeren, maar het lijkt erop dat
we er geen verbinding mee kunnen maken . Controleer de Redis-configuratie.
entry:
notice:
- entry_reloaded_failed: Item herladen maar ophalen van inhoud gefaald
- entry_saved_failed: Item opgeslagen maar ophalen van inhoud is gefaald
- entry_already_saved: Item is reeds opgeslagen op %date%
- entry_deleted: Item verwijderd
- entry_unstarred: Item gedemarkeerd
- entry_starred: Item gemarkeerd
- entry_unarchived: Item gedearchiveerd
- entry_archived: Item gearchiveerd
- entry_reloaded: Item herladen
- entry_updated: Item geüpdatet
- entry_saved: Item opgeslagen
+ entry_reloaded_failed: Artikelen opnieuw geladen maar ophalen van inhoud mislukt
+ entry_saved_failed: Artikel opgeslagen maar ophalen van inhoud is mislukt
+ entry_already_saved: Artikel is reeds opgeslagen op %date%
+ entry_deleted: Artikel verwijderd
+ entry_unstarred: Artikel is nu zonder ster
+ entry_starred: Artikel is nu met ster
+ entry_unarchived: Artikel gedearchiveerd
+ entry_archived: Artikel gearchiveerd
+ entry_reloaded: Artikel is opnieuw geladen
+ entry_updated: Artikel geüpdatet
+ entry_saved: Artikel opgeslagen
no_random_entry: Er is geen artikel met deze criteria gevonden
config:
notice:
- archived_reset: Gearchiveerde items verwijderd
+ archived_reset: Gearchiveerde artikelen verwijderd
rss_token_updated: RSS token geüpdatet
- tagging_rules_deleted: Labeling regel verwijderd
- tagging_rules_updated: Labeling regels geüpdatet
+ tagging_rules_deleted: Labelregel verwijderd
+ tagging_rules_updated: Labelregels geüpdatet
rss_updated: RSS informatie geüpdatet
- entries_reset: Items gereset
+ entries_reset: Artikelen gereset
tags_reset: Labels gereset
annotations_reset: Annotaties gereset
user_updated: Informatie veranderd
@@ -278,17 +280,20 @@ flashes:
config_saved: Configuratie opgeslagen.
ignore_origin_rules_updated: Negeer oorsprongregel gewijzigd
ignore_origin_rules_deleted: Negeer oorsprongregel verwijderd
- tagging_rules_not_imported: Fout bij importeren van labeling regels
- tagging_rules_imported: Labeling regels geïmporteerd
- otp_disabled: Twee factor authenticatie uitgeschakeld
- otp_enabled: Twee factor authenticatie ingeschakeld
+ tagging_rules_not_imported: Fout bij importeren van labelregels
+ tagging_rules_imported: Labelregels geïmporteerd
+ otp_disabled: Tweestapsverificatie uitgeschakeld
+ otp_enabled: Tweestapsverificatie ingeschakeld
feed_token_revoked: Feed token ingetrokken
feed_token_updated: Feed token gewijzigd
feed_updated: Feed informatie gewijzigd
+ tagging_rules_reset: Reset labelregels
+ otp_code_invalid: Foute tweestapsverificatie code
tag:
notice:
tag_added: Label toegevoegd
tag_renamed: Label hernoemd
+ too_much_tags: Om performance problemen te vermijden, kun je niet meer dan %tags% labels tegelijk toevoegen, en zijn labels met meer dan %characters% tekens niet toegestaan.
ignore_origin_instance_rule:
notice:
deleted: Globale oorsprongregel voor negeren verwijderd
@@ -299,7 +304,7 @@ error:
site_credential:
form:
back_to_list: Terug naar lijst
- delete_confirm: Weet u het zeker?
+ delete_confirm: Weet je het zeker?
delete: Verwijder
save: Opslaan
password_label: Wachtwoord
@@ -314,7 +319,7 @@ site_credential:
edit_site_credential: Wijzig bestaande inloggegevens
new_site_credential: Creëer inloggegevens
page_title: Beheer van inloggegevens van de site
- description: Hier kunt u alle inloggegevens beheren voor sites die dit nodig hebben (maken, bewerken en verwijderen), zoals een betaalmuur, een authenticatie, enz.
+ description: Hier kunt je alle inloggegevens beheren voor sites die dit nodig hebben (maken, bewerken en verwijderen), zoals een betaalmuur, een authenticatie, enz.
user:
form:
repeat_new_password_label: Herhaal nieuw wachtwoord
@@ -322,7 +327,7 @@ user:
name_label: Naam
username_label: Gebruikersnaam
back_to_list: Terug naar lijst
- delete_confirm: Weet u het zeker?
+ delete_confirm: Weet je het zeker?
delete: Verwijder
save: Opslaan
twofactor_label: Twee factor authenticatie
@@ -330,37 +335,37 @@ user:
email_label: E-mail
plain_password_label: ????
last_login_label: Laatste login
- twofactor_google_label: Twee factor authenticatie met OTP app
- twofactor_email_label: Twee factor authenticatie met email
+ twofactor_google_label: Tweestapsverificatie met OTP app
+ twofactor_email_label: Tweestapsverificatie via e-mail
list:
create_new_one: Maak een nieuwe gebruiker
no: Nee
yes: Ja
edit_action: Wijzig
actions: Acties
- description: Hier kan u alle gebruikers beheren (creëren, wijzigen en verwijderen)
+ description: Hier kan je alle gebruikers beheren (creëren, wijzigen en verwijderen)
edit_user: Wijzig een bestaande gebruiker
new_user: Maak een nieuwe gebruiker
search:
- placeholder: Filter op username of email
+ placeholder: Filter op gebruikersnaam of e-mail
page_title: Gebruikersbeheer
developer:
howto:
back: Terug
description:
- paragraph_7: Dit verzoek geeft als resultaat alle items voor deze gebruiker.
+ paragraph_7: Dit verzoek geeft als resultaat alle artikelen voor deze gebruiker.
paragraph_6: 'Het acces_token is handig om een verzoek op de API te doen. Bijvoorbeeld:'
paragraph_5: 'De API geeft een vergelijkbare reactie:'
paragraph_4: 'Dus, creëer een token(vervang client_id, client_geheim, gebruikersnaam en wachtwoord met de juiste waardes):'
- paragraph_3: Om deze token te maken, moet u
een nieuwe client creëren.
- paragraph_2: U heeft een token nodig om te communiceren tussen applicaties van derde partijen en de wallabag API.
+ paragraph_3: Om het token te maken, moet je
een nieuwe client creëren.
+ paragraph_2: Je hebt een token nodig om te communiceren tussen applicaties van derde partijen en de wallabag API.
paragraph_8: Als je alle API-eindpunten wilt zien, kun je
onze API-documentatie bekijken.
- paragraph_1: De volgende commando's maken gebruik van de
HTTPie-bibliotheek . Zorg ervoor dat het op uw systeem is geïnstalleerd voordat u het gebruikt.
+ paragraph_1: De volgende commando's maken gebruik van de
HTTPie-bibliotheek. Zorg ervoor dat deze op jouw systeem is geïnstalleerd voordat je het gebruikt.
page_title: API client beheren > Hoe creëer je je eerste applicatie
client_parameter:
read_howto: Lees de beschrijving "Hoe creëer je je eerste applicatie"
back: Terug
- page_description: Dit zijn uw client parameters.
+ page_description: Dit zijn de client parameters.
page_title: API client beheer > Client parameters
field_secret: Client geheim
field_id: Client ID
@@ -372,7 +377,7 @@ developer:
save_label: Maak een nieuwe client
redirect_uris_label: Omleiding URLs (optioneel)
name_label: Naam van de client
- page_description: U staat op het punt een nieuwe client aan te maken. Vul het onderstaande veld in voor de omleidings-URI van uw applicatie.
+ page_description: Je staat op het punt een nieuwe client aan te maken. Vul het onderstaande veld in voor de omleidings-URI van jouw applicatie.
copy_to_clipboard: Kopieer
existing_clients:
field_grant_types: Grant type toegestaan
@@ -387,7 +392,7 @@ developer:
welcome_message: Welkom bij de wallabag API
remove:
action: Verwijder client %name%
- warn_message_2: Als u dit verwijdert, kan elke app die met die client is geconfigureerd, niet meer verbinden met uw wallabag.
+ warn_message_2: Als je dit verwijdert, kan elke app die met deze client is geconfigureerd, niet meer verbinden met jouw wallabag.
warn_message_1: U heeft de mogelijkheid om client %name% te verwijderen. Deze actie is ONOMKEERBAAR!
clients:
create_new: Maak een nieuwe client
@@ -396,28 +401,28 @@ developer:
page_title: API client beheren
import:
pinboard:
- how_to: Selecteer uw Pinboard exporteur en klik onderstaande knop om die te uploaden en importeren.
+ how_to: Kies je Pinboard exportbestand en klik op de knop om deze te uploaden en importeren.
page_title: Importeer > Pinboard
- description: Deze importeur importeert al je Pinboard-artikelen. Klik op de "back-uppagina" (https://pinboard.in/settings/backup) op "JSON" in het gedeelte "Bladwijzers". Er wordt een JSON-bestand gedownload (zoals "pinboard_export").
+ description: Importeer je Pinboard-artikelen. Klik op de "back-uppagina" (https://pinboard.in/settings/backup) op "JSON" in het gedeelte "Bladwijzers". Er wordt een JSON-bestand gedownload (zoals "pinboard_export").
instapaper:
- how_to: Selecteer uw Instapaper exporteur en klik onderstaande knop om die te uploaden en importeren.
+ how_to: Kies je Instapaper exportbestand en klik de knop om deze te uploaden en importeren.
page_title: Importeer > Instapaper
- description: Deze importeur importeert al uw Instapaper-artikelen. Klik op de instellingenpagina (https://www.instapaper.com/user) op "Download .CSV-bestand" in het gedeelte "Exporteren". Er wordt een CSV-bestand gedownload (zoals "instapaper-export.csv").
+ description: Importeer je Instapaper-artikelen. Klik op de instellingenpagina (https://www.instapaper.com/user) op "Download .CSV-bestand" in het gedeelte "Exporteren". Er wordt een CSV-bestand gedownload (zoals "instapaper-export.csv").
chrome:
- description: 'Deze importeur importeert al uw Chrome-bladwijzers. De locatie van het bestand is afhankelijk van uw besturingssysteem:
- Onder Linux, ga naar de
~ /.config/chromium/Default/
directory - In Windows, het zou in
% LOCALAPPDATA%\Google\Chrome\User Data\Default
- Op OS X moeten staan in
~/Library/Application Support/Google/Chrome/Default /Bookmarks
Zodra u daar bent, kopieert u het
bladwijzer
-bestand ergens waar u het kunt vinden.
Let op dat als u Chromium in plaats van Chrome heeft, u de paden dienovereenkomstig corrigeren moet. '
+ description: 'Importeer je Chrome-bladwijzers. De locatie van het bestand is afhankelijk van je besturingssysteem:
- Onder Linux, ga naar de
~/.config/chromium/Default/
directory - In Windows, zou het in
%LOCALAPPDATA%\Google\Chrome\User Data\Default
- Onder OS X moet het staan in
~/Library/Application Support/Google/Chrome/Default/Bookmarks
Zodra je daar bent, kopieer je het
Bookmarks
bestand ergens waar je het kan vinden.
Let op dat als je Chromium gebruikt in plaats van Chrome, dat de paden dan aangepast moeten worden.'
page_title: Importeer > Chrome
how_to: Kies het back-upbestand van de bladwijzer en klik op de onderstaande knop om het te importeren. Houd er rekening mee dat het proces lang kan duren, aangezien alle artikelen moeten worden opgehaald.
readability:
- how_to: Selecteer uw Readability exporteur en klik onderstaande knop om die te uploaden en importeren.
+ how_to: Kies het Readability exportbestand en klik de knop om deze te uploaden en importeren.
page_title: Importeer > Readability
- description: Deze importeur importeert al uw Readability-artikelen. Klik bij tools (https://www.readability.com/tools/) op "Uw gegevens exporteren" in het gedeelte "Gegevensexport". U ontvangt een e-mail om een json te downloaden (die in feite niet op .json eindigt).
+ description: Importeer je Readability-artikelen.
wallabag_v2:
page_title: Importeren > Wallabag v2
- description: Deze importeur importeert al uw Wallabag v2-artikelen. Ga naar "Alle artikelen" en klik in de exporteer zijbalk op "JSON". Je hebt een "All Articles.json" -bestand.
+ description: Importeer al uw Wallabag v2-artikelen. Ga naar "Alle artikelen" en klik in de exporteer zijbalk op "JSON". Je hebt een "All Articles.json" -bestand.
wallabag_v1:
- how_to: Selecteer uw wallabag exporteur en klik onderstaande knop om die te uploaden en importeren.
+ how_to: Kies je wallabag exportbestand en klik op de knop om deze te uploaden en importeren.
page_title: Importeren > Wallabag v1
- description: Deze importeur importeert al uw Wallabag v1-artikelen. Klik op je configuratiepagina op "JSON-exporteren" in de sectie "Exporteer je wallabag-gegevens". Je hebt het bestand "wallabag-export-1-xxxx-xx-xx.json".
+ description: Importeer al je Wallabag v1-artikelen. Klik in de configuratiepagina op "JSON-exporteren" in de sectie "Exporteer je wallabag-gegevens". Je krijgt dan het bestand "wallabag-export-1-xxxx-xx-xx.json".
pocket:
connect_to_pocket: Verbind Pocket en importeer data
config_missing:
@@ -425,43 +430,66 @@ import:
admin_message: U moet %keyurls%a pocket_consumer_key%keyurle% definiëren.
description: Pocket importeren is niet geconfigureerd.
page_title: Importeer > Pocket
- authorize_message: U kunt uw gegevens importeren vanuit uw Pocket-account. U hoeft alleen maar op de onderstaande knop te klikken en de applicatie te autoriseren om verbinding te maken met getpocket.com.
- description: Deze importeur importeert al uw Pocket-gegevens. Pocket staat niet toe om inhoud van hun dienst op te halen, dus de leesbare inhoud van elk artikel wordt opnieuw opgehaald door wallabag.
+ authorize_message: Je kunt je gegevens importeren vanuit jouw Pocket-account. Je hoeft alleen maar op de onderstaande knop te klikken en de applicatie te autoriseren om verbinding te maken met getpocket.com.
+ description: Importeer je gegevens van Pocket. Pocket staat het niet toe om inhoud van hun dienst op te halen, dus de leesbare inhoud van elk artikel wordt opnieuw opgehaald door wallabag.
form:
file_label: Bestand
- mark_as_read_label: Markeer alle geïmporteerde items als gelezen
+ mark_as_read_label: Markeer alle geïmporteerde artikelen als gelezen
mark_as_read_title: Markeer als gelezen?
save_label: Upload bestand
- page_description: Welkom bij de wallabag importeur. Selecteer uw vorige dienst waarvan u wilt migreren.
+ page_description: Welkom bij de wallabag importeur. Selecteer de dienst waarvan je wil migreren.
page_title: Importeren
firefox:
page_title: Importeer > Firefox
- description: Deze importeur importeert al uw Firefox-bladwijzers. Ga naar uw bladwijzers (Ctrl + Shift + O), en kies dan "Importeren en back-up", kies "Back-up…". U krijgt een .json-bestand.
+ description: Importeer je Firefox-bladwijzers. Ga naar je Bibliotheek (Ctrl + Shift + O), klik op de knop "↓↑" en dan "Reserve kopie maken…". Je krijgt een .json-bestand.
how_to: Kies het back-upbestand van de bladwijzer en klik op de onderstaande knop om het te importeren. Houd er rekening mee dat het proces lang kan duren, aangezien alle artikelen moeten worden opgehaald.
action:
import_contents: Importeer inhoud
worker:
enabled: 'Het importeren wordt asynchroon uitgevoerd. Zodra de importeer taak is gestart, zal een extern proces de taken één voor één afhandelen. De huidige service is:'
- download_images_warning: U heeft het downloaden van afbeeldingen voor uw artikelen ingeschakeld. In combinatie met de klassieke import kan het eeuwen duren om door te gaan (of het mislukt misschien). We
raden sterk aan om asynchroon importeren in te schakelen om fouten te voorkomen.
+ download_images_warning: Je hebt het downloaden van afbeeldingen voor je artikelen ingeschakeld. In combinatie met de klassieke import kan dat een eeuwigheid duren (of het mislukt misschien). We
raden sterk aan om asynchroon importeren in te schakelen om fouten te voorkomen.
elcurator:
- description: Deze importeur importeert al je elCurator-artikelen. Ga naar voorkeuren in uw elCurator-account en exporteer vervolgens uw inhoud. Je krijgt een JSON-bestand.
+ description: Importeer al je elCurator-artikelen.
page_title: Importeer > elCurator
+ how_to: Kies je elCurator exportbestand en druk op de knop om deze uploaden en importeren.
+ pocket_html:
+ page_title: Importeer > Pocket HTML
+ how_to: Kies het Pocket exportbestand en druk op de knop om het te importeren. Let op, het proces kan lang duren omdat alle artikelen opgehaald moeten worden.
+ description: Importeer je Pocket bookmarks (via HTML export). Ga naar https://getpocket.com/export, exporteer dan een HTML bestand. Een HTML bestand genaamd "ril_export.html" wordt gedownload.
+ shaarli:
+ how_to: Kies een bookmark-backupbestand en druk op de knop om het te importeren. Let op, het proces kan lang duren omdat alle artikelen opgehaald moeten worden.
+ description: Importeer je Shaarli bookmarks. Log in, ga naar de Tools sectie, kies "Export database", kies je bookmarks en exporteer. Je krijgt een HTML bestand.
+ page_title: Importeer > Shaarli
+ delicious:
+ how_to: Kies je Delicious exportbestand en druk op de knop om deze te importeren.
+ page_title: Importeer > del.icio.us
+ description: Importeer je Delicious bookmarks. Sinds 2021 kun je je data weer exporteren via de pagina https://del.icio.us/export. Kies het "JSON" formaat. Je krijgt een bestand met de naam die lijkt op "delicious_export.2021.02.06_21.10.json".
+ omnivore:
+ page_title: Importeer > Omnivore
+ how_to: Unzip het Omnivore exportbestand, upload dan, een voor een, elk JSON bestand met de naam "metadata_x_to_y.json".
+ description: Importeer al je Omnivore artikelen.
+ pocket_csv:
+ page_title: Importeer > Pocket CSV
+ how_to: Kies het bookmark backupbestand en druk op de knop om het te importeren. Let op, het proces kan lang duren omdat alle artikelen opgehaald moeten worden.
+ description: Importeer je Pocket bookmarks (via CSV export). Ga naar https://getpocket.com/export, exporteer dan een CSV bestand. Een ZIP bestand genaamd "pocket.zip" wordt gedownload. Unzip het krijgt dan een csv bestand genaamd "part_000000.csv".
export:
unknown: Onbekend
- footer_template:
Gemaakt door wallabag met %method%
Open een probleem als u problemen ondervind met dit E-Book op uw apparaat.
+ footer_template:
Gemaakt door wallabag met %method%
Make een issue aan (in het Engels) als je problemen ondervind met dit E-Book op jouw apparaat.
tag:
new:
- placeholder: U kan meerdere labels toevoegen door ze te splitsen met comma.
+ placeholder: Je kan meerdere labels toevoegen, gescheiden door een komma.
add: Toevoegen
list:
number_on_the_page: '{0} Er zijn geen labels.|{1} Er is één label.|]1,Inf[ Er zijn %count% labels.'
- see_untagged_entries: Toon niet gelabelde items
- no_untagged_entries: Er zijn geen items zonder labels.
- untagged: Niet gelabelde items
+ see_untagged_entries: Toon niet gelabelde artikelen
+ no_untagged_entries: Er zijn geen artikelen zonder label.
+ untagged: Niet gelabelde artikelen
page_title: Labels
+ confirm:
+ delete: Verwijder het label %name%
quickstart:
support:
- description: Wij zijn er voor u als u hulp nodig heeft.
+ description: Als je wat hulp kan gebruiken, wij zijn er voor jou.
title: Ondersteuning
matrix: Op Matrix
email: Per e-mail
@@ -469,26 +497,26 @@ quickstart:
docs:
all_docs: En zo veel andere artikelen!
fetching_errors: Wat kan ik doen als bij het ophalen van een artikel iets fout gaat?
- search_filters: Bekijk hoe u uw artikelen kan vinden door middel van zoeken en filteren
- export: Converteer uw artikelen naar ePUB of PDF
- annotate: Annoteer uw artikel
+ search_filters: Bekijk hoe je jouw artikelen kan vinden door middel van zoeken en filteren
+ export: Converteer je artikelen naar ePUB of PDF
+ annotate: Annoteer je artikel
title: Volledige documentatie
description: Er zijn zoveel functies in wallabag. Aarzel niet om de handleiding te lezen om ze te leren kennen en te leren hoe u ze kunt gebruiken.
developer:
use_docker: Gebruiker Docker om wallabag te installeren
- create_application: Creëer uw applicaties van derden
+ create_application: Creëer applicaties van derden
description: 'We hebben ook aan de ontwikkelaars gedacht: Docker, API, vertalingen, etc.'
title: Ontwikkelaars
migrate:
wallabag_v2: Migreren van wallabag v2
wallabag_v1: Migreren van wallabag v1
- description: Gebruikt u een andere dienst? Wij helpen u uw data naar wallabag te halen.
+ description: Gebruik je een andere dienst? Wij helpen je jouw data naar wallabag te halen.
title: Migreer van een bestaande dienst
instapaper: Migreer van Instapaper
readability: Migreer van Readability
pocket: Migreer van Pocket
first_steps:
- new_article: Sla uw eerste artikel op
+ new_article: Sla je eerste artikel op
unread_articles: En classificeer het!
title: Eerste stappen
description: Nu wallabag goed is geconfigureerd, is het tijd om het web te archiveren. U kunt op het teken rechtsboven + klikken om een link toe te voegen.
@@ -498,17 +526,17 @@ quickstart:
export: Configureer exporteren
analytics: Configureer analytics
new_user: Creëer een nieuwe gebruiker
- description: 'Als een administrator heeft u privileges op wallabag. U kan:'
+ description: 'Als een administrator heb je privileges op wallabag. Je kan:'
title: Administratie
intro:
- paragraph_1: We begeleiden u tijdens uw bezoek aan wallabag en laten u enkele functies zien die u mogelijk interesseren.
+ paragraph_1: We begeleiden je tijdens je bezoek aan wallabag en laten je enkele functies zien die je vast interesseren.
paragraph_2: Volg ons!
title: Welkom bij wallabag!
configure:
tagging_rules: Schrijf regels om automatisch labels toe te voegen aan artikelen
rss: Schakel RSS-feeds in
language: Verander taal en uiterlijk
- description: Om een applicatie te vinden die bij u past kan u een kijkje nemen op de configuratiepagina van wallabag.
+ description: Om een applicatie te vinden die bij je past kan je een kijkje nemen op de configuratiepagina van wallabag.
title: Configureer de applicatie
feed: Ingeschakelde feeds
more: Meer…
@@ -516,14 +544,14 @@ quickstart:
howto:
shortcuts:
article_title: Snelkoppelingen beschikbaar op startscherm
- open_article: Toon het geselecteerde item
+ open_article: Toon het geselecteerde artikel
arrows_navigation: Navigeer door artikelen
hide_form: Verberg het huidige formulier (zoeken of nieuwe link)
add_link: Voeg nieuwe link toe
- delete: Verwijder het item
- toggle_archive: Verander lees status van het item
- toggle_favorite: Verander gemarkeerd status van het item
- open_original: Open originele URL van het item
+ delete: Verwijder het artikel
+ toggle_archive: Verander lees status van het artikel
+ toggle_favorite: Wissel met/zonder ster van het artikel
+ open_original: Open originele URL van het artikel
search: Toon het zoekformulier
list_title: Snelkoppelingen beschikbaar in overzicht pagina's
go_logout: Uitloggen
@@ -532,9 +560,9 @@ howto:
go_import: Ga naar importeren
go_config: Ga naar configuratie
go_tags: Ga naar labels
- go_all: Ga naar alle items
+ go_all: Ga naar alle artikelen
go_archive: Ga naar gearchiveerd
- go_starred: Ga naar gemarkeerd
+ go_starred: Ga naar met ster
go_unread: Ga naar ongelezen
all_pages_title: Snelkoppelingen beschikbaar op alle paginas
action: Actie
@@ -547,7 +575,7 @@ howto:
mobile_apps: Mobiele apps
browser_addons: Browser plugins
bookmarklet:
- description: 'Sleep deze link naar uw bladwijzerbalk:'
+ description: 'Sleep deze link naar je bladwijzerbalk:'
mobile_apps:
ios: met de App Store
windows: met de Microsoft Store
@@ -614,7 +642,7 @@ entry:
delete: Verwijder
re_fetch_content: Opnieuw ophalen van inhoud
view_original_article: Origineel artikel
- set_as_starred: Verander gemarkeerd
+ set_as_starred: Wissel met/zonder ster
set_as_unread: Markeer als ongelezen
set_as_read: Markeer als gelezen
back_to_homepage: Terug
@@ -630,23 +658,25 @@ entry:
reading_time: Geschatte leestijd
published_on: Gepubliceerd op
confirm:
- delete_tag: Weet u zeker dat u dit label wilt verwijderen van dit artikel?
- delete: Weet u zeker dat u dit artikel wilt verwijderen?
+ delete_tag: Weet je zeker dat je dit label wilt verwijderen van dit artikel?
+ delete: Weet je zeker dat je dit artikel wilt verwijderen?
+ reload: Weet je zeker dat je dit artikel opnieuw wil ophalen?
+ delete_entries: Weet je zeker dat je deze artikelen wilt verwijderen?
public:
shared_by_wallabag: Dit artikel is gedeeld door %username% met
wallabag
edit:
save_label: Opslaan
- origin_url_label: Oorspronkelijke url (waar je dit item gevonden hebt)
+ origin_url_label: Oorspronkelijke url (waar je dit artikel gevonden hebt)
url_label: Url
title_label: Titel
- page_title: Wijzig een item
+ page_title: Wijzig een artikel
search:
placeholder: Waar ben je naar op zoek?
new:
form_new:
url_label: Url
placeholder: http://website.nl
- page_title: Sla nieuw item op
+ page_title: Sla nieuw artikel op
filters:
action:
filter: Filter
@@ -667,15 +697,17 @@ entry:
preview_picture_help: Voorbeeld afbeelding
preview_picture_label: Heeft een voorbeeld afbeelding
unread_label: Ongelezen
- starred_label: Gemarkeerd
+ starred_label: Met ster
archived_label: Gearchiveerd
status_label: Status
title: Filters
+ parsed_label: Niet correct opgehaald
+ annotated_label: Geannoteerd
list:
export_title: Exporteer
delete: Verwijder
- toogle_as_star: Verander gemarkeerd
- toogle_as_read: Verander gemarkeerd als gelezen
+ toogle_as_star: Wissel met/zonder ster
+ toogle_as_read: Als gelezen markeren
original_article: origineel
reading_time_less_one_minute_short: '< 1 min'
reading_time_minutes_short: '%readingTime% min'
@@ -683,17 +715,24 @@ entry:
reading_time_less_one_minute: 'geschatte leestijd: < 1 min'
reading_time_minutes: 'geschatte leestijd: %readingTime% min'
reading_time: geschatte leestijd
- number_on_the_page: '{0} Er zijn geen items.|{1} Er is één item.|]1,Inf[ Er zijn %count% items.'
+ number_on_the_page: '{0} Er zijn geen artikelen.|{1} Er is één artikel.|]1,Inf[ Er zijn %count% artikelen.'
+ toggle_mass_action: Massaal schakelen actie
+ mass_action_tags_input_placeholder: label1, label2, label3
+ add_tags: Voeg labels toe
+ show_same_domain: Toon artikelen met hetzelfde domein
+ assign_search_tag: Label elke resultaat met deze zoekopdracht
page_titles:
- all: Alle items
- untagged: Ongelabelde items
+ all: Alle artikelen
+ untagged: Ongelabelde artikelen
filtered_search: 'Gefilterd met zoeken:'
filtered_tags: 'Gefilterd op labels:'
- filtered: Gefilterde items
- archived: Gearchiveerde items
- starred: Gemarkeerde items
- unread: Ongelezen items
- default_title: Titel van het item
+ filtered: Gefilterde artikelen
+ archived: Gearchiveerde artikelen
+ starred: Artikelen met ster
+ unread: Ongelezen artikelen
+ with_annotations: Artikelen met annotatie
+ same_domain: Hetzelfde domein
+ default_title: Titel van het artikel
ignore_origin_instance_rule:
list:
edit_action: Wijzig
@@ -701,13 +740,13 @@ ignore_origin_instance_rule:
create_new_one: Maak een nieuwe algemene regel voor het negeren van de oorsprong
no: Nee
yes: Ja
- description: Hier kunt u de algemene regels voor het negeren van oorsprong beheren die worden gebruikt om bepaalde patronen van de oorspronkelijke URL te negeren.
+ description: Hier kunt je de algemene regels voor het negeren van oorsprong beheren die worden gebruikt om bepaalde patronen van de oorspronkelijke URL te negeren.
edit_ignore_origin_instance_rule: Bewerk een bestaande regel voor het negeren van de oorsprong
new_ignore_origin_instance_rule: Maak een algemene regel voor het negeren van de oorsprong
page_title: Globale negeer oorsprongsregels
form:
back_to_list: Terug naar lijst
- delete_confirm: Weet u het zeker?
+ delete_confirm: Weet je het zeker?
delete: Verwijder
save: Opslaan
rule_label: Regel
diff --git a/translations/messages.oc.yml b/translations/messages.oc.yml
index a5b853a66..9172dba88 100644
--- a/translations/messages.oc.yml
+++ b/translations/messages.oc.yml
@@ -100,19 +100,6 @@ config:
fontsize_label: Talha de polissa
lineheight_label: Nautor de linha
maxwidth_label: Largor maximala
- form_rss:
- description: Los fluxes RSS fornits per wallabag vos permeton de legir vòstres articles salvagardats dins vòstre lector de fluxes preferit. Per los poder emplegar, vos cal, d'en primièr crear un geton.
- token_label: Geton RSS
- no_token: Pas cap de geton generat
- token_create: Creatz vòstre geton
- token_reset: Reïnicializatz vòstre geton
- rss_links: URLs de vòstres fluxes RSS
- rss_link:
- unread: Pas legits
- starred: Favorits
- archive: Legits
- all: Totes
- rss_limit: Nombre d'articles dins un flux RSS
form_user:
two_factor_description: Activar l'autentificacion en dos temps vòl dire que recebretz un còdi per corrièl per cada novèla connexion pas aprovada.
name_label: Nom
@@ -143,6 +130,7 @@ config:
entries: Levar TOTES los articles
archived: Levar TOTES los articles archivats
confirm: Sètz vertadièrament segur ? (AQUÒ ES IRREVERSIBLE)
+ tagging_rules: Suprimir TOTAS las règlas d’etiquetas
form_password:
description: Podètz cambiar vòstre senhal aquí. Vòstre senhal deu èsser long d'almens 8 caractèrs.
old_password_label: Senhal actual
@@ -564,6 +552,8 @@ import:
page_title: Importar > Pocket HTML
description: Aquesta aisina d’importacion importarà totes vòstres marcadors Pocket (via un expòrt HTML). Anatz simplament a https://getpocket.com/export puèi exportar lo fichièr HTML. Se telecargarà un fichièr HTML (coma « ril_export.html »).
how_to: Mercés de seleccionar lo fichièr de salvagarda de marcadors e de clicar lo boton çai-jos per l’importar. Remarcatz qu’aquò pòt trigar, lo temps que totes los articles sián recuperats.
+ omnivore:
+ page_title: Importar > Omnivore
developer:
page_title: Gestion dels clients API
welcome_message: Vos desirem la benvenguda sus l'API de wallabag
diff --git a/translations/messages.pl.yml b/translations/messages.pl.yml
index f25b03ac9..3f1f8c5fc 100644
--- a/translations/messages.pl.yml
+++ b/translations/messages.pl.yml
@@ -51,7 +51,7 @@ footer:
wallabag:
elsewhere: Weż wallabag ze sobą
social: Społeczność
- powered_by: Kontrolowany przez
+ powered_by: działa dzięki
about: O nas
stats: Od %user_creation% przeczytałeś %nb_archives% artykułów. To jest %per_day% dziennie!
config:
@@ -100,19 +100,6 @@ config:
lineheight_label: Wysokość linii
maxwidth_label: Maksymalna szerokość
help_fontsize: Możesz wybrać rozmiar czcionek do użycia.
- form_rss:
- description: Kanały RSS prowadzone przez wallabag pozwalają Ci na czytanie twoich zapisanych artykułów w twoim ulubionym czytniku RSS. Musisz najpierw wygenerować tokena.
- token_label: Token RSS
- no_token: Brak tokena
- token_create: Stwórz tokena
- token_reset: Zresetuj swojego tokena
- rss_links: RSS links
- rss_link:
- unread: Nieprzeczytane
- starred: Oznaczone gwiazdką
- archive: Archiwum
- all: Wszystkie
- rss_limit: Link do RSS
form_user:
two_factor_description: Włączenie autoryzacji dwuetapowej oznacza, że będziesz otrzymywał maile z kodem przy każdym nowym, niezaufanym połączeniu.
name_label: Nazwa
@@ -244,13 +231,13 @@ entry:
default_title: Tytuł wpisu
page_titles:
unread: Nieprzeczytane wpisy
- starred: Wpisy wyróżnione
+ starred: Wyróżnione wpisy
archived: Zarchiwizowane wpisy
filtered: Odfiltrowane wpisy
filtered_tags: 'Filtrowane po tagach:'
filtered_search: 'Filtrowanie po wyszukiwaniu:'
- untagged: Odtaguj wpisy
- all: Wszystkie przedmioty
+ untagged: Nieotagowane wpisy
+ all: Wszystkie wpisy
with_annotations: Wpisy z adnotacjami
same_domain: Ta sama domena
list:
@@ -491,7 +478,7 @@ tag:
list:
number_on_the_page: '{0} Nie ma tagów.|{1} Jest jeden tag.|]1,Inf[ Są %count% tagi.'
see_untagged_entries: Zobacz nieotagowane wpisy
- untagged: Odtaguj wpisy
+ untagged: Nieotagowane wpisy
no_untagged_entries: Nie ma nieoznaczonych wpisów.
new:
add: Dodaj
@@ -570,6 +557,10 @@ import:
description: Ten importer zaimportuje wszystkie Twoje artykuły z Omnivore.
page_title: Importuj > Omnivore
how_to: Rozpakuj eksport z Omnivore, a następnie prześlij po kolei wszystkie pliki JSON o nazwie „metadata_x_to_y.json”.
+ pocket_csv:
+ description: Ten importer zaimportuje wszystkie zakładki Pocket (poprzez eksport CSV). Po prostu przejdź do https://getpocket.com/export, a następnie wyeksportuj plik. Zostanie pobrany plik ZIP (taki jak „pocket.zip”). Wypakuj go, otrzymasz plik CSV o nazwie „part_000000.csv”.
+ page_title: Importuj > Pocket CSV
+ how_to: Wybierz plik kopii zapasowej zakładek i kliknij przycisk poniżej, aby go zaimportować. Należy pamiętać, że proces ten może potrwać długo, ponieważ wszystkie artykuły muszą zostać pobrane.
developer:
page_title: Zarządzanie klientami API
welcome_message: Witaj w API wallabag
@@ -694,6 +685,7 @@ flashes:
tagging_rules_not_imported: Błąd podczas importowania zasad tagowania
ignore_origin_rules_deleted: Usunięto zasadę ignorowania pochodzenia
tagging_rules_reset: Reguły tagowania zostały zresetowane
+ otp_code_invalid: Nieprawidłowy kod uwierzytelniania dwuskładnikowego
entry:
notice:
entry_already_saved: Wpis już został dodany %date%
diff --git a/translations/messages.pt.yml b/translations/messages.pt.yml
index d2bdeeb07..49e9eb307 100644
--- a/translations/messages.pt.yml
+++ b/translations/messages.pt.yml
@@ -76,18 +76,6 @@ config:
400_word: 'Posso ler ~400 palavras por minuto'
pocket_consumer_key_label: 'Chave do consumidor do Pocket para importar conteúdo'
help_pocket_consumer_key: Necessário para importar do Pocket. Pode criá-lo na sua conta do Pocket.
- form_rss:
- description: 'Feeds RSS providos pelo wallabag permitem que você leia seus artigos salvos em seu leitor de RSS favorito. Você precisa gerar um token primeiro.'
- token_label: 'Token RSS'
- no_token: 'Nenhum Token'
- token_create: 'Criar seu token'
- token_reset: 'Gerar novamente seu token'
- rss_links: 'Links RSS'
- rss_link:
- unread: 'Não lido'
- starred: 'Destacado'
- archive: 'Arquivado'
- rss_limit: 'Número de itens no feed'
form_user:
two_factor_description: 'Habilitar autenticação de dois passos significa que você receberá um e-mail com um código a cada nova conexão desconhecida.'
name_label: 'Nome'
diff --git a/translations/messages.ru.yml b/translations/messages.ru.yml
index 9a324b9b1..2df39a456 100644
--- a/translations/messages.ru.yml
+++ b/translations/messages.ru.yml
@@ -89,19 +89,6 @@ config:
help_language: "Вы можете изменить язык интерфейса wallabag."
help_pocket_consumer_key: "Обязательно для импорта из Pocket. Вы можете создать это в Вашем аккаунте на Pocket."
android_instruction: Нажмите здесь, чтобы предустановить ваше приложение для Android
- form_rss:
- description: 'RSS фид созданный с помощью wallabag позволяет читать Ваши записи через Ваш любимый RSS агрегатор. Для начала Вам потребуется создать ключ.'
- token_label: 'RSS ключ'
- no_token: 'Ключ не задан'
- token_create: 'Создать ключ'
- token_reset: 'Пересоздать ключ'
- rss_links: 'ссылка на RSS'
- rss_link:
- unread: 'непрочитанные'
- starred: 'помеченные'
- archive: 'архивные'
- all: Все
- rss_limit: 'Количество записей в фиде'
form_user:
two_factor_description: "Включить двухфакторную аутентификацию, Вы получите сообщение на указанный email с кодом, при каждом новом непроверенном подключении."
name_label: 'Имя'
diff --git a/translations/messages.ta.yml b/translations/messages.ta.yml
index dfface4c8..c15b48123 100644
--- a/translations/messages.ta.yml
+++ b/translations/messages.ta.yml
@@ -20,7 +20,7 @@ config:
tagging_rules_definition_title: “குறிச்சொல் விதிகள்” என்றால் என்ன?
tagging_rules_definition_description: அவை புதிய உள்ளீடுகளை தானாகக் குறிக்க வாலபாக் பயன்படுத்தும் விதிகள்.
ஒவ்வொரு முறையும் ஒரு புதிய நுழைவு சேர்க்கப்படும்போது, நீங்கள் கட்டமைத்த குறிச்சொற்களைச் சேர்க்க அனைத்து குறிச்சொல் விதிகளும் பயன்படுத்தப்படும், இதனால் உங்கள் உள்ளீடுகளை கைமுறையாக வகைப்படுத்துவதில் சிக்கலைச் சேமிக்கிறது.
how_to_use_them_title: அவற்றை எவ்வாறு பயன்படுத்துவது?
- how_to_use_them_description: 'புதிய உள்ளீடுகளை «
குறுகிய வாசிப்பு < /i>» எனக் குறிக்க விரும்புகிறீர்கள் என்று வைத்துக் கொள்வோம். வாசிப்பு நேரம் 3 நிமிடங்களுக்குள் இருக்கும்போது.
அந்த விசயத்தில், நீங்கள் «வாசிப்பு நேரத்தை & lt; = 3» விதி புலம் மற்றும் « குறுகிய வாசிப்பு » குறிச்சொற்கள் புலத்தில்.
பல குறிச்சொற்கள் ஒரே நேரத்தில் கமாவுடன் பிரிப்பதன் மூலம் சேர்க்கலாம்: « குறுகிய வாசிப்பு, கட்டாயம் படிக்க வேண்டும் »
முன் வரையறுக்கப்பட்ட ஆபரேட்டர்களைப் பயன்படுத்துவதன் மூலம் சிக்கலான விதிகளை எழுதலாம்: என்றால்« வாசிப்பு நேரம் & gt; = 5 மற்றும் டொமைன் பெயர் = "www.php.net" »பின்னர்« நீண்ட வாசிப்பு, பிஎச்பி »என குறிக்கவும்'
+ how_to_use_them_description: 'புதிய உள்ளீடுகளை « குறுகிய வாசிப்பு » எனக் குறிக்க விரும்புகிறீர்கள் என்று வைத்துக் கொள்வோம். வாசிப்பு நேரம் 3 நிமிடங்களுக்குள் இருக்கும்போது.
அந்த விசயத்தில், நீங்கள் «வாசிப்பு நேரத்தை < = 3» விதி புலம் மற்றும் « குறுகிய வாசிப்பு » குறிச்சொற்கள் புலத்தில்.
பல குறிச்சொற்கள் ஒரே நேரத்தில் கமாவுடன் பிரிப்பதன் மூலம் சேர்க்கலாம்: « குறுகிய வாசிப்பு, கட்டாயம் படிக்க வேண்டும் »
முன் வரையறுக்கப்பட்ட ஆபரேட்டர்களைப் பயன்படுத்துவதன் மூலம் சிக்கலான விதிகளை எழுதலாம்: என்றால்« வாசிப்பு நேரம் > = 5 மற்றும் டொமைன் பெயர் = "www.php.net" »பின்னர்« நீண்ட வாசிப்பு, பிஎச்பி »எனக் குறிக்கவும்'
variables_available_title: விதிகளை எழுத எந்த மாறிகள் மற்றும் ஆபரேட்டர்கள் நான் பயன்படுத்தலாம்?
variables_available_description: 'குறிச்சொல் விதிகளை உருவாக்க பின்வரும் மாறிகள் மற்றும் ஆபரேட்டர்கள் பயன்படுத்தப்படலாம்:'
operator_description:
@@ -33,8 +33,8 @@ config:
not_equal_to: சமமாக இல்லை…
or: ஒரு விதி அல்லது மற்றொரு
and: ஒரு விதி மற்றும் மற்றொரு விதி
- matches: ஒரு பொருள் பொருந்தக்கூடிய சோதனைகள் தேடல் (வழக்கு-உணர்திறன்).
- notmatches: ஒரு பொருள் பொருந்தாத சோதனைகள் ஒரு தேடல் (வழக்கு-பாதுகாப்பற்ற).
+ matches: 'ஒரு பொருள் பொருந்தக்கூடிய சோதனைகள் தேடல் (வழக்கு-உணர்திறன்).
எடுத்துக்காட்டு: தலைப்பு போட்டிகள் "கால்பந்து"
'
+ notmatches: 'ஒரு பொருள் பொருந்தாத சோதனைகள் ஒரு தேடல் (வழக்கு-பாதுகாப்பற்ற).
எடுத்துக்காட்டு: தலைப்பு பெருந்தாதவைகள் "கால்பந்து"
'
then_tag_as_label: பின்னர் குறிக்கவும்
delete_rule_label: அழி
edit_rule_label: தொகு
@@ -143,9 +143,9 @@ config:
faq:
title: கேள்விகள்
ignore_origin_rules_definition_title: '"தோற்றம் விதிகளை புறக்கணிக்கவும்" என்றால் என்ன?'
- ignore_origin_rules_definition_description: திருப்பிவிடப்பட்ட பிறகு ஒரு மூல முகவரியை தானாக புறக்கணிக்க அவை வாலபாக் பயன்படுத்துகின்றன. தோற்றம் முகவரியை புறக்கணிக்கப் பயன்படுகிறது.
+ ignore_origin_rules_definition_description: திருப்பிவிடப்பட்ட பிறகு ஒரு மூல முகவரியைத் தானாகவே புறக்கணிக்க அவை வாலபாக் பயன்படுத்துகின்றன.
புதிய நுழைவைப் பெறும்போது ஒரு வழிமாற்றல் ஏற்பட்டால், அனைத்து புறக்கணிப்பு மூல விதிகளும் ( பயனர் வரையறுக்கப்பட்ட மற்றும் உதாரணமாக வரையறுக்கப்பட்ட ) மூல முகவரியைப் புறக்கணிக்கப் பயன்படுத்தப்படும்.
how_to_use_them_title: அவற்றை எவ்வாறு பயன்படுத்துவது?
- how_to_use_them_description: « rss.example.com » ( திருப்பி விடப்பட்ட பிறகு, உண்மையான முகவரி எடுத்துக்காட்டு.காம் என்பதிலிருந்து வரும் நுழைவின் தோற்றத்தை நீங்கள் புறக்கணிக்க விரும்புகிறீர்கள் என்று வைத்துக் கொள்வோம்) .
+ how_to_use_them_description: « rss.example.com » என்பதிலிருந்து வரும் நுழைவின் தோற்றத்தை நீங்கள் புறக்கணிக்க விரும்புகிறீர்கள் என்று வைத்துக் கொள்வோம்( திருப்பி விடப்பட்ட பிறகு, உண்மையான முகவரி எடுத்துக்காட்டு.காம் ).
அவ்வாறான நிலையில், நீங்கள் விதி புலத்தில் «புரவலன் =" rss.example.com "ஐ வைக்க வேண்டும்.
variables_available_title: விதிகளை எழுத எந்த மாறிகள் மற்றும் ஆபரேட்டர்கள் நான் பயன்படுத்தலாம்?
variables_available_description: 'புறக்கணிப்பு தோற்றம் விதிகளை உருவாக்க பின்வரும் மாறிகள் மற்றும் ஆபரேட்டர்கள் பயன்படுத்தப்படலாம்:'
meaning: பொருள்
@@ -156,7 +156,7 @@ config:
operator_description:
label: ஆபரேட்டர்
equal_to: சமமாக…
- matches: ஒரு பொருள் ஒரு தேடல் (வழக்கு-கவர்ச்சியான) உடன் பொருந்துகிறது. foobar /.*" குறியீடு>
+ matches: 'ஒரு பொருள் ஒரு தேடல் (வழக்கு-கவர்ச்சியான) உடன் பொருந்துகிறது.
எடுத்துக்காட்டு: _all~ "https?://rss.example.com/foobar/.*"
'
otp:
page_title: இரண்டு காரணி ஏற்பு
app:
@@ -233,13 +233,14 @@ import:
elcurator:
page_title: இறக்குமதி> எல்குரேட்டர்
description: இந்த இறக்குமதியாளர் உங்கள் எல்குரேட்டர் கட்டுரைகள் அனைத்தையும் இறக்குமதி செய்வார்.
+ how_to: உங்கள் எல்குரேட்டர் ஏற்றுமதியைத் தேர்ந்தெடுத்து பதிவேற்றவும் இறக்குமதி செய்யவும் கீழே உள்ள பொத்தானைக் சொடுக்கு செய்க.
readability:
page_title: இறக்குமதி> வாசிப்பு
description: இந்த இறக்குமதியாளர் உங்கள் வாசிப்பு கட்டுரைகள் அனைத்தையும் இறக்குமதி செய்வார்.
how_to: உங்கள் வாசிப்பு ஏற்றுமதியைத் தேர்ந்தெடுத்து பதிவேற்றவும் இறக்குமதி செய்யவும் கீழே உள்ள பொத்தானைக் சொடுக்கு செய்க.
worker:
enabled: 'இறக்குமதி ஒத்திசைவற்ற முறையில் செய்யப்படுகிறது. இறக்குமதி பணி தொடங்கப்பட்டதும், ஒரு வெளிப்புற தொழிலாளி ஒரு நேரத்தில் வேலைகளை கையாள்வார். தற்போதைய சேவை:'
- download_images_warning: உங்கள் கட்டுரைகளுக்கான படங்களை பதிவிறக்குவதற்கு உதவினீர்கள். கிளாசிக் இறக்குமதியுடன் இணைந்து, தொடர பல ஆண்டுகள் ஆகலாம் (அல்லது தோல்வியுற்றிருக்கலாம்). பிழைகளைத் தவிர்க்க ஒத்திசைவற்ற இறக்குமதியை இயக்குவதற்கு நாங்கள் கடுமையாக பரிந்துரைக்கிறோம் கடுமையாகப் பரிந்துரைக்கிறோம் .
firefox:
page_title: இறக்குமதி> பயர்பாக்ச்
description: இந்த இறக்குமதியாளர் உங்கள் பயர்பாக்ச் புக்மார்க்குகளை இறக்குமதி செய்வார். உங்கள் புக்மார்க்குகளுக்கு (Ctrl+Shift+O), பின்னர் "இறக்குமதி மற்றும் காப்புப்பிரதி" க்குச் செல்லுங்கள், "காப்புப்பிரதி…" என்பதைத் தேர்வுசெய்க. நீங்கள் ஒரு சாதொபொகு கோப்பைப் பெறுவீர்கள்.
@@ -260,6 +261,14 @@ import:
page_title: இறக்குமதி> பாக்கெட் உஉகுமொ
description: இந்த இறக்குமதியாளர் உங்கள் அனைத்து பாக்கெட் புக்மார்க்குகளையும் (HTML ஏற்றுமதி வழியாக) இறக்குமதி செய்வார். Https://getpocket.com/export க்குச் சென்று, பின்னர் உஉகுமொ கோப்பை ஏற்றுமதி செய்யுங்கள். ஒரு உஉகுமொ கோப்பு பதிவிறக்கம் செய்யப்படும் ("RIL_EXPORT.HTML" போன்றவை).
how_to: புக்மார்க்கு காப்புப்பிரதி கோப்பைத் தேர்ந்தெடுத்து அதை இறக்குமதி செய்ய கீழே உள்ள பொத்தானைக் சொடுக்கு செய்க. அனைத்து கட்டுரைகளையும் பெற வேண்டியிருப்பதால் செயல்முறை நீண்ட நேரம் ஆகலாம் என்பதை நினைவில் கொள்க.
+ omnivore:
+ how_to: தயவுசெய்து உங்கள் சர்வவல்லமையுள்ள ஏற்றுமதியை அவிழ்த்து, பின்னர் "மெட்டாடேட்டா_எக்ச்_.டி.இ_ஒய்.சோன்" என்ற பெயரில் ஒவ்வொரு சாதொபொகு கோப்பையும் ஒவ்வொன்றாக பதிவேற்றவும்.
+ page_title: இறக்குமதி> சர்வவல்லவர்
+ description: இந்த இறக்குமதியாளர் உங்கள் சர்வவல்லமையுள்ள அனைத்து கட்டுரைகளையும் இறக்குமதி செய்வார்.
+ pocket_csv:
+ description: இந்த இறக்குமதியாளர் உங்கள் பாக்கெட் புக்மார்க்குகள் (சி.எச்.வி ஏற்றுமதி வழியாக) இறக்குமதி செய்வார். Https://getpocket.com/export க்குச் சென்று, பின்னர் கோப்பை ஏற்றுமதி செய்யுங்கள். ஒரு சிப் கோப்பு பதிவிறக்கம் செய்யப்படும் ("பாக்கெட்.சிப்" போன்றவை). அதைப் பிரித்தெடுக்கவும், "Part_000000.CSV" எனப்படும் காபிம கோப்பைப் பெறுவீர்கள்.
+ how_to: புக்மார்க்கு காப்புப்பிரதி கோப்பைத் தேர்ந்தெடுத்து அதை இறக்குமதி செய்ய கீழே உள்ள பொத்தானைக் சொடுக்கு செய்க. அனைத்து கட்டுரைகளையும் பெற வேண்டியிருப்பதால் செயல்முறை நீண்ட நேரம் ஆகலாம் என்பதை நினைவில் கொள்க.
+ page_title: இறக்குமதி> பாக்கெட் கபிம
developer:
howto:
description:
@@ -270,7 +279,7 @@ developer:
paragraph_4: 'இப்போது, உங்கள் கிள்ளாக்கை உருவாக்கவும் (கிளையன்ட்_ஐடி, கிளையன்ட்_செக்ரெட், பயனர்பெயர் மற்றும் கடவுச்சொல்லை நல்ல மதிப்புகளுடன் மாற்றவும்):'
paragraph_6: 'பநிஇ இறுதிப்புள்ளிக்கு அழைப்பு செய்ய அணுகல்_டோகன் பயனுள்ளதாக இருக்கும். உதாரணமாக:'
paragraph_7: இந்த அழைப்பு உங்கள் பயனருக்கான அனைத்து உள்ளீடுகளையும் திருப்பித் தரும்.
- paragraph_8: எல்லா பநிஇ இறுதிப் புள்ளிகளையும் நீங்கள் காண விரும்பினால், எங்கள் பநிஇ ஆவணங்களுக்கு க்கு ஐப் பார்க்கலாம்.
+ paragraph_8: எல்லா பநிஇ இறுதிப் புள்ளிகளையும் நீங்கள் காண விரும்பினால், எங்கள் பநிஇ ஆவணங்களுக்கு ஐப் பார்க்கலாம்.
back: பின்
page_title: பநிஇ கிளையண்ட்ச் மேனேச்மென்ட்> எனது முதல் பயன்பாட்டை எவ்வாறு உருவாக்குவது
page_title: பநிஇ கிளையண்ட்ச் மேலாண்மை
@@ -382,6 +391,7 @@ flashes:
tagging_rules_not_imported: குறிச்சொல் விதிகளை இறக்குமதி செய்யும் போது பிழை
ignore_origin_rules_deleted: தோற்ற விதி நீக்கப்பட்டது
ignore_origin_rules_updated: தோற்ற விதி புதுப்பிக்கப்பட்டது
+ otp_code_invalid: தவறான இரண்டு காரணி அங்கீகாரக் குறியீடு
entry:
notice:
entry_already_saved: நுழைவு ஏற்கனவே %தேதியில் சேமிக்கப்பட்டது %
@@ -608,7 +618,7 @@ howto:
description: இந்த படிவத்திற்கு நன்றி
browser_addons:
firefox: பயர்பாக்ச் addon
- chrome: Chrome addon
+ chrome: நிறமி செருகுநிரல்
opera: ஓபரா துணை
mobile_apps:
android:
@@ -697,6 +707,7 @@ quickstart:
github: கிட்அப்பில்
email: மின்னஞ்சல் மூலம்
gitter: கிட்டரில்
+ matrix: மேட்ரிக்சில்
tag:
confirm:
delete: '% பெயர் % குறிச்சொல்லை நீக்கவும்'
@@ -710,7 +721,7 @@ tag:
add: கூட்டு
placeholder: கமாவால் பிரிக்கப்பட்ட பல குறிச்சொற்களை நீங்கள் சேர்க்கலாம்.
export:
- footer_template: ' %முறையுடன் வாலபாக் தயாரித்த
தயவுசெய்து ஒரு சிக்கல் உங்கள் சாதனத்தில் இந்த மின் புத்தகத்தின் காட்சியில் சிக்கல் இருந்தால்.
'
+ footer_template: '
%முறையுடன் வாலபாக் தயாரித்த
தயவுசெய்து ஒரு சிக்கல் ஐத் திறக்கவும், உங்கள் சாதனத்தில் இந்த மின் புத்தகத்தின் காட்சியில் சிக்கல் இருந்தால்.
'
unknown: தெரியவில்லை
site_credential:
page_title: தள நற்சான்றிதழ் மேலாண்மை
diff --git a/translations/messages.tr.yml b/translations/messages.tr.yml
index dc283ab10..c83bce803 100644
--- a/translations/messages.tr.yml
+++ b/translations/messages.tr.yml
@@ -100,19 +100,6 @@ config:
fontsize_label: Yazı tipi boyutu
lineheight_label: Satır yüksekliği
help_fontsize: Kullanmak istediğiniz yazı tipi boyutunu seçebilirsiniz.
- form_rss:
- description: wallabag RSS akışı kaydetmiş olduğunuz makalelerini favori RSS okuyucunuzda görüntülemenizi sağlar. Bunu yapabilmek için öncelikle belirteç (token) oluşturmalısınız.
- token_label: RSS belirteci (token)
- no_token: Belirteç (token) yok
- token_create: Yeni belirteç (token) oluştur
- token_reset: Belirteci (token) sıfırla
- rss_links: RSS akış bağlantıları
- rss_link:
- unread: Okunmayan
- starred: Favoriler
- archive: Arşiv
- all: Tümü
- rss_limit: RSS içeriğinden talep edilecek makale limiti
form_user:
two_factor_description: İki adımlı kimlik doğrulamayı etkinleştirmek, her yeni güvenilmeyen bağlantıda bir kod içeren bir e-posta alacağınız anlamına gelir.
name_label: İsim
diff --git a/translations/messages.zh.yml b/translations/messages.zh.yml
index 59c9ba9b7..b38d86f92 100644
--- a/translations/messages.zh.yml
+++ b/translations/messages.zh.yml
@@ -209,19 +209,6 @@ config:
enable: "启用"
two_factor_code_description_5: 如果你看不到二维码或无法扫描它,请在你的应用程序中输入下列认证代码:
qrcode_label: 二维码
- form_rss:
- rss_limit: RSS源中的条目数
- rss_link:
- all: 全部
- archive: 已存档
- starred: 已标星
- unread: 未读
- rss_links: RSS链接
- token_reset: 重新生成你的令牌
- token_create: 创建你的令牌
- no_token: 没有令牌
- token_label: RSS令牌
- description: wallabag提供的RSS源可以让你用你喜欢的RSS阅读器阅读你保存的文章。首先需要生成一个令牌。
form_ignore_origin_rules:
faq:
operator_description:
diff --git a/translations/messages.zh_Hant.yml b/translations/messages.zh_Hant.yml
index fa6453f61..966b17fd9 100644
--- a/translations/messages.zh_Hant.yml
+++ b/translations/messages.zh_Hant.yml
@@ -222,7 +222,7 @@ footer:
wallabag:
elsewhere: 將 wallabag 隨身攜帶
social: 社群
- powered_by: 威力本源
+ powered_by: 技術提供
about: 關於
stats: 自 %user_creation% 以來,你已閱讀 %nb_archives% 篇文章。這大約是 %per_day% 篇一天!
entry:
diff --git a/translations/validators.ar.yml b/translations/validators.ar.yml
index 462a15e7e..9bf56add9 100644
--- a/translations/validators.ar.yml
+++ b/translations/validators.ar.yml
@@ -4,4 +4,4 @@ validator:
password_too_short: يجب أن تتكون كلمة المرور الخاصة بك من 8 أحرف على الأقل.
item_per_page_too_high: سيؤدي هذا بالتأكيد إلى تدمير التطبيق
quote_length_too_high: الاقتباس طويل جدًا. يجب أن يحتوي على {{ Limit }} حرف أو أقل.
- rss_limit_too_high: سيؤدي هذا بالتأكيد إلى تدمير التطبيق
+ feed_limit_too_high: سيؤدي هذا بالتأكيد إلى تدمير التطبيق
diff --git a/translations/validators.cs.yml b/translations/validators.cs.yml
index 33f6a987c..a6b0a209d 100644
--- a/translations/validators.cs.yml
+++ b/translations/validators.cs.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Vaše heslo musí mít alespoň 8 znaků.
password_must_match: Hesla se musí shodovat.
quote_length_too_high: Citace je příliš dlouhá. Měla by mít {{ limit }} znaků nebo méně.
- rss_limit_too_high: Toto určitě ukončí aplikaci
+ feed_limit_too_high: Toto určitě ukončí aplikaci
item_per_page_too_high: Toto určitě ukončí aplikaci
diff --git a/translations/validators.de.yml b/translations/validators.de.yml
index 293444b4b..55055dd46 100644
--- a/translations/validators.de.yml
+++ b/translations/validators.de.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Ihr Passwort muss mindestens 8 Zeichen lang sein.
password_wrong_value: Falsches aktuelles Passwort angegeben.
item_per_page_too_high: Dies wird die Anwendung möglicherweise beenden
- rss_limit_too_high: Dies wird die Anwendung möglicherweise beenden
+ feed_limit_too_high: Dies wird die Anwendung möglicherweise beenden
quote_length_too_high: Das Zitat ist zu lang. Es sollte nicht mehr als {{ limit }} Zeichen enthalten.
diff --git a/translations/validators.el.yml b/translations/validators.el.yml
index d436c6d39..e6f3ea4bc 100644
--- a/translations/validators.el.yml
+++ b/translations/validators.el.yml
@@ -1,6 +1,6 @@
validator:
quote_length_too_high: Η παράθεση είναι υπερβολικά μεγάλη. Πρέπει να έχει μέχρι και {{ limit }} χαρακτήρες.
- rss_limit_too_high: Αυτό θα τερματίσει σίγουρα την εφαρμογή
+ feed_limit_too_high: Αυτό θα τερματίσει σίγουρα την εφαρμογή
item_per_page_too_high: Αυτό θα τερματίσει σίγουρα την εφαρμογή
password_wrong_value: Έγινε εισαγωγή λάθος κωδικού.
password_too_short: Ο κωδικός σας πρέπει να έχει τουλάχιστον 8 χαρακτήρες.
diff --git a/translations/validators.en.yml b/translations/validators.en.yml
index 484bb35b2..cd4cb8e8c 100644
--- a/translations/validators.en.yml
+++ b/translations/validators.en.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Your password must be at least 8 characters.
password_wrong_value: Wrong current password supplied.
item_per_page_too_high: This will certainly kill the app
- rss_limit_too_high: This will certainly kill the app
+ feed_limit_too_high: This will certainly kill the app
quote_length_too_high: The quote is too long. It should have {{ limit }} characters or less.
diff --git a/translations/validators.es.yml b/translations/validators.es.yml
index 5d1ddf483..2e261a503 100644
--- a/translations/validators.es.yml
+++ b/translations/validators.es.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Su contraseña debe tener al menos 8 caracteres.
password_wrong_value: Se ha proporcionado una contraseña incorrecta.
item_per_page_too_high: Esto matará la aplicación
- rss_limit_too_high: Esto matará la aplicación
+ feed_limit_too_high: Esto matará la aplicación
quote_length_too_high: La cita es muy larga. Debe tener {{ limit }} caracteres o menos.
diff --git a/translations/validators.fa.yml b/translations/validators.fa.yml
index a5c30bbd2..92d13046f 100644
--- a/translations/validators.fa.yml
+++ b/translations/validators.fa.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: گذرواژه شما باید حداقل ۸ حرف باشد.
password_wrong_value: گذواژه فعلی را اشتباه وارد کردهاید.
item_per_page_too_high: با این تعداد برنامه به فنا میرود
- rss_limit_too_high: با این تعداد برنامه به فنا میرود
+ feed_limit_too_high: با این تعداد برنامه به فنا میرود
quote_length_too_high: نقلقول بسیار طولانی است. میبایست {{ limit }} حرف یا کمتر باشد.
diff --git a/translations/validators.fr.yml b/translations/validators.fr.yml
index 8c3699cf2..ce892df1e 100644
--- a/translations/validators.fr.yml
+++ b/translations/validators.fr.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Votre mot de passe doit faire au moins 8 caractères.
password_wrong_value: Mot de passe fourni incorrect.
item_per_page_too_high: Ça ne va pas plaire à l’application
- rss_limit_too_high: Ça ne va pas plaire à l’application
+ feed_limit_too_high: Ça ne va pas plaire à l’application
quote_length_too_high: La citation est trop longue. Elle doit avoir au maximum {{ limit }} caractères.
diff --git a/translations/validators.gl.yml b/translations/validators.gl.yml
index 4fb57ae9c..88b4fa95a 100644
--- a/translations/validators.gl.yml
+++ b/translations/validators.gl.yml
@@ -1,6 +1,6 @@
validator:
quote_length_too_high: A cita é demasiado longa. Debería ter {{ limit }} caracteres ou menos.
- rss_limit_too_high: Esto certarmente estragará a app
+ feed_limit_too_high: Esto certarmente estragará a app
item_per_page_too_high: Esto certamente estragará a app
password_wrong_value: O contrasinal escrito non é o actual.
password_too_short: O teu contrasinal debe ter polo menos 8 caracteres.
diff --git a/translations/validators.hr.yml b/translations/validators.hr.yml
index d7ff93d29..99648a2af 100644
--- a/translations/validators.hr.yml
+++ b/translations/validators.hr.yml
@@ -2,6 +2,6 @@ validator:
quote_length_too_high: Citat je predug. Trebao bi sadržati {{limit}} ili manje znakova.
password_too_short: Lozinka mora sadržati barem 8 znakova.
password_wrong_value: Dostavljena je kriva trenutačna lozinka.
- rss_limit_too_high: Ovo će zasigurno urušiti program
+ feed_limit_too_high: Ovo će zasigurno urušiti program
item_per_page_too_high: Ovo će zasigurno urušiti program
password_must_match: Polja lozinki moraju se poklapati.
diff --git a/translations/validators.hu.yml b/translations/validators.hu.yml
index ceb8ebaad..8cb7a37fa 100644
--- a/translations/validators.hu.yml
+++ b/translations/validators.hu.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: A jelszónak legalább 8 karakter hosszúságúnak kell lennie.
password_wrong_value: A megadott jelenlegi jelszó nem megfelelő.
item_per_page_too_high: Ettől minden bizonnyal nagyon lassú lesz az alkalmazás
- rss_limit_too_high: Ettől minden bizonnyal nagyon lassú lesz az alkalmazás
+ feed_limit_too_high: Ettől minden bizonnyal nagyon lassú lesz az alkalmazás
quote_length_too_high: Az idézet az túl hosszú. {{ limit }} karakterek vagy annál kevesebbnek kell lennie.
diff --git a/translations/validators.id.yml b/translations/validators.id.yml
index 2306ce2db..e61a37197 100644
--- a/translations/validators.id.yml
+++ b/translations/validators.id.yml
@@ -3,5 +3,5 @@ validator:
password_must_match: Kata sandi harus cocok.
password_too_short: Kata sandi Anda harus setidaknya 8 karakter.
item_per_page_too_high: Ini akan mematikan aplikasi
- rss_limit_too_high: Ini akan mematikan aplikasi
+ feed_limit_too_high: Ini akan mematikan aplikasi
quote_length_too_high: Kutipannya terlalu panjang. Setidaknya butuh {{ limit }} karakter atau kurang.
diff --git a/translations/validators.it.yml b/translations/validators.it.yml
index 3b14f60b3..b705d3a14 100644
--- a/translations/validators.it.yml
+++ b/translations/validators.it.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: La password deve essere di almeno 8 caratteri.
password_wrong_value: La password fornita è errata.
item_per_page_too_high: Questo valore è troppo alto
- rss_limit_too_high: Questo valore è troppo alto
+ feed_limit_too_high: Questo valore è troppo alto
quote_length_too_high: La citazione è troppo lunga. Deve avere {{ limit }} caratteri o meno.
diff --git a/translations/validators.ja.yml b/translations/validators.ja.yml
index a4a06d1e4..65076f591 100644
--- a/translations/validators.ja.yml
+++ b/translations/validators.ja.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: パスワードは 8 文字以上で入力してください。
password_wrong_value: 現在のパスワードが間違っています。
item_per_page_too_high: 確実にアプリを終了します
- rss_limit_too_high: 確実にアプリを終了します
+ feed_limit_too_high: 確実にアプリを終了します
quote_length_too_high: 引用が長すぎます。{{ limit }} 文字以下にする必要があります。
diff --git a/translations/validators.kab.yml b/translations/validators.kab.yml
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/translations/validators.kab.yml
@@ -0,0 +1 @@
+{}
diff --git a/translations/validators.ko.yml b/translations/validators.ko.yml
index 5b19b49db..0dc225c54 100644
--- a/translations/validators.ko.yml
+++ b/translations/validators.ko.yml
@@ -1,6 +1,6 @@
validator:
quote_length_too_high: 인용이 너무 깁니다. {{limit}} 자 이하로 해야합니다.
- rss_limit_too_high: 확실히 앱을 종료합니다
+ feed_limit_too_high: 확실히 앱을 종료합니다
item_per_page_too_high: 확실히 앱을 종료합니다
password_wrong_value: 현재 비밀번호가 잘못되었습니다.
password_too_short: 비밀번호는 8자 이상이어야합니다.
diff --git a/translations/validators.nb.yml b/translations/validators.nb.yml
index 3e2006afb..35271f599 100644
--- a/translations/validators.nb.yml
+++ b/translations/validators.nb.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Passordet ditt må være minst åtte tegn.
password_wrong_value: Feil nåværende passord angitt.
item_per_page_too_high: Dette vil drepe programmet
- rss_limit_too_high: Dette vil drepe programmet
+ feed_limit_too_high: Dette vil drepe programmet
quote_length_too_high: Sitatet er for langt. De kan være {{ limit }} tegn eller mindre.
diff --git a/translations/validators.nl.yml b/translations/validators.nl.yml
index 28fe34043..0b08ea5d0 100644
--- a/translations/validators.nl.yml
+++ b/translations/validators.nl.yml
@@ -1,6 +1,6 @@
validator:
quote_length_too_high: De quote is te lang. Het maximaal aantal tekens is {{ limit }}.
- rss_limit_too_high: Dit breekt zeker de app
+ feed_limit_too_high: Dit breekt zeker de app
password_must_match: De wachtwoordvelden moeten gelijk zijn.
item_per_page_too_high: Dit breekt vrijwel zeker de app
password_wrong_value: Verkeerd huidig wachtwoord opgegeven.
diff --git a/translations/validators.oc.yml b/translations/validators.oc.yml
index 29c4bee42..26b1d96f5 100644
--- a/translations/validators.oc.yml
+++ b/translations/validators.oc.yml
@@ -5,4 +5,3 @@ validator:
item_per_page_too_high: "Aquò li agradarà pas a l'aplicacion"
feed_limit_too_high: "Aquò li agradarà pas a l'aplicacion"
quote_length_too_high: 'Aquesta citacion es tròpa longa. Cal que faga {{ limit }} caractèrs o mens.'
- rss_limit_too_high: Aquò matarà segurament l’aplicacion
diff --git a/translations/validators.pl.yml b/translations/validators.pl.yml
index d3b2d32cb..9f43f743b 100644
--- a/translations/validators.pl.yml
+++ b/translations/validators.pl.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Twoje hasło musi mieć co najmniej 8 znaków.
password_wrong_value: Twoje obecne hasło jest błędne.
item_per_page_too_high: To może spowodować problemy z aplikacją
- rss_limit_too_high: To może spowodować problemy z aplikacją
+ feed_limit_too_high: To może spowodować problemy z aplikacją
quote_length_too_high: Cytat jest zbyt długi. powinien mieć {{ limit }} znaków lub mniej.
diff --git a/translations/validators.pt.yml b/translations/validators.pt.yml
index f2408cd5e..dc545416e 100644
--- a/translations/validators.pt.yml
+++ b/translations/validators.pt.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: A palavra-passe deve ter pelo menos 8 caracteres.
password_wrong_value: A palavra-passe atual está errada.
item_per_page_too_high: Certamente isso pode matar a aplicação
- rss_limit_too_high: Certamente isso pode matar a aplicação
+ feed_limit_too_high: Certamente isso pode matar a aplicação
quote_length_too_high: A citação é longa demais. Ela deve ter {{ limite }} caracteres ou menos.
diff --git a/translations/validators.ru.yml b/translations/validators.ru.yml
index 3adfa6c84..155803cf7 100644
--- a/translations/validators.ru.yml
+++ b/translations/validators.ru.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: 'Ваш пароль должен состоять не менее чем из 8 символов.'
password_wrong_value: 'Указан неверный пароль.'
item_per_page_too_high: 'Это, безусловно, убьёт приложение'
- rss_limit_too_high: 'Это, безусловно, убьёт приложение'
+ feed_limit_too_high: 'Это, безусловно, убьёт приложение'
quote_length_too_high: Цитата слишком длинная. Она должна содержать не более {{ limit }} символов.
diff --git a/translations/validators.ta.yml b/translations/validators.ta.yml
index 0967ef424..a0a253b8f 100644
--- a/translations/validators.ta.yml
+++ b/translations/validators.ta.yml
@@ -1 +1,7 @@
-{}
+validator:
+ password_must_match: கடவுச்சொற்கள் பொருந்த வேண்டும்.
+ item_per_page_too_high: இது நிச்சயமாகப் பயன்பாட்டைக் கொல்லும்
+ quote_length_too_high: மேற்கோள் மிக நீளமாக உள்ளது. அதில் {{ limit }} அல்லது அதற்கும் குறைவான எழுத்துக்கள் இருக்க வேண்டும்.
+ password_too_short: உங்கள் கடவுச்சொல் குறைந்தது 8 எழுத்துகள் இருக்க வேண்டும்.
+ password_wrong_value: தவறான தற்போதைய கடவுச்சொல் வழங்கப்பட்டுள்ளது.
+ feed_limit_too_high: இது நிச்சயமாகப் பயன்பாட்டைக் கொல்லும்
diff --git a/translations/validators.th.yml b/translations/validators.th.yml
index 3864839a1..6a8cd211e 100644
--- a/translations/validators.th.yml
+++ b/translations/validators.th.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: 'รหัสผ่านควรมีอย่างน้อยสุด 8 ตัวอักษร'
password_wrong_value: 'ค่าที่ผิดพลาดของรหัสผ่านปัจุบันของคุณ'
item_per_page_too_high: 'สิ่งนี้จะทำให้ส่งผลต่อ app'
- rss_limit_too_high: 'สิ่งนี้จะทำให้ส่งผลต่อ app'
+ feed_limit_too_high: 'สิ่งนี้จะทำให้ส่งผลต่อ app'
quote_length_too_high: 'การอ้างอิงที่ยาวไป มันควรที่จะมี {{ limit }} ตัวอักษรหรือน้อยกว่านั้น'
diff --git a/translations/validators.tr.yml b/translations/validators.tr.yml
index d7223263c..1f85d1e77 100644
--- a/translations/validators.tr.yml
+++ b/translations/validators.tr.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Parolanız en az 8 karakter olmalıdır.
password_wrong_value: Girdiğiniz mevcut parolanız hatalı.
item_per_page_too_high: Bu uygulamayı tam olarak kapatacak
- rss_limit_too_high: Bu uygulamayı tam olarak kapatacak
+ feed_limit_too_high: Bu uygulamayı tam olarak kapatacak
quote_length_too_high: Alıntı çok uzun. En fazla {{ limit }} karakter olmalıdır.
diff --git a/translations/validators.uk.yml b/translations/validators.uk.yml
index 4bfea1e97..ea06e4030 100644
--- a/translations/validators.uk.yml
+++ b/translations/validators.uk.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: Ваш пароль повинен бути довжиною принаймні 8 символів.
password_wrong_value: Введено неправильний поточний пароль.
item_per_page_too_high: Вибрано завелику кількість
- rss_limit_too_high: Вибрано завелику кількість
+ feed_limit_too_high: Вибрано завелику кількість
quote_length_too_high: Цитата занадто довга. Вона повинна мати не більше {{ limit }} символів.
diff --git a/translations/validators.zh.yml b/translations/validators.zh.yml
index f2216ace9..5e46a176b 100644
--- a/translations/validators.zh.yml
+++ b/translations/validators.zh.yml
@@ -5,4 +5,3 @@ validator:
item_per_page_too_high: '这会让应用十分卡顿'
feed_limit_too_high: '这会让应用十分卡顿'
quote_length_too_high: '引用内容过长,最多不能超过 {{ limit }} 个字符。'
- rss_limit_too_high: 这肯定会杀死应用程序
diff --git a/translations/validators.zh_Hant.yml b/translations/validators.zh_Hant.yml
index a0436bfcd..1ac2bc302 100644
--- a/translations/validators.zh_Hant.yml
+++ b/translations/validators.zh_Hant.yml
@@ -3,5 +3,5 @@ validator:
password_too_short: 你的密碼必須至少有 8 個字元。
password_wrong_value: 提供了錯誤的密碼。
item_per_page_too_high: 這肯定會毀了應用程式
- rss_limit_too_high: 這肯定會毀了應用程式
+ feed_limit_too_high: 這肯定會毀了應用程式
quote_length_too_high: 密碼太長了。 它應該要有{{limit}}個字或更少。
diff --git a/translations/wallabag_user.kab.yml b/translations/wallabag_user.kab.yml
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/translations/wallabag_user.kab.yml
@@ -0,0 +1 @@
+{}
diff --git a/translations/wallabag_user.nl.yml b/translations/wallabag_user.nl.yml
index ea149329f..76e549337 100644
--- a/translations/wallabag_user.nl.yml
+++ b/translations/wallabag_user.nl.yml
@@ -2,9 +2,9 @@ auth_code:
mailer:
body:
signature: Het wallabag team
- support: 'Twijfel niet om contact met ons op te nemen als u problemen ervaart:'
+ support: 'Twijfel niet om contact met ons op te nemen als je problemen ervaart:'
second_para: 'Dit is de code:'
- first_para: Omdat twee-factor-authenticatie verplicht is voor uw wallabag account en een nieuw apparaat dit zojuist gebruikt heeft, sturen we u een code ter verificatie.
+ first_para: Omdat tweestapsverificatie verplicht is voor je wallabag account en een nieuw apparaat dit zojuist gebruikt heeft, sturen we je een code ter verificatie.
hello: Hallo %user%,
subject: wallabag authenticatiecode
on: aan
diff --git a/webpack.config.js b/webpack.config.js
index 47f4551e1..b8958354b 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,8 +1,27 @@
-const path = require('path');
+const Encore = require('@symfony/webpack-encore');
-function buildConfig(options) {
- const env = options.prod ? 'prod' : 'dev';
- return require(path.resolve(__dirname, `app/config/webpack/${env}.js`));
+if (!Encore.isRuntimeEnvironmentConfigured()) {
+ Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');
}
-module.exports = buildConfig;
+Encore
+ .setOutputPath('web/build/')
+ .setPublicPath('/build')
+ .addEntry('main', './assets/index.js')
+ .addEntry('public', './assets/share.js')
+ .splitEntryChunks()
+ .enableStimulusBridge('./assets/controllers.json')
+ .enableSingleRuntimeChunk()
+ .cleanupOutputBeforeBuild()
+ .enableBuildNotifications()
+ .enableSourceMaps(!Encore.isProduction())
+ .enableVersioning(Encore.isProduction())
+ .configureBabelPresetEnv((config) => {
+ config.modules = false;
+ config.useBuiltIns = 'usage';
+ config.corejs = '3.23';
+ })
+ .enableSassLoader()
+ .enablePostCssLoader();
+
+module.exports = Encore.getWebpackConfig();
diff --git a/yarn.lock b/yarn.lock
index 575c5aae5..91858adab 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -15,59 +15,59 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.0.tgz#9374b5cd068d128dac0b94ff482594273b1c2815"
- integrity sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
+ integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
dependencies:
- "@babel/helper-validator-identifier" "^7.25.9"
+ "@babel/helper-validator-identifier" "^7.27.1"
js-tokens "^4.0.0"
- picocolors "^1.0.0"
+ picocolors "^1.1.1"
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9", "@babel/compat-data@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.0.tgz#f02ba6d34e88fadd5e8861e8b38902f43cc1c819"
- integrity sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==
+"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790"
+ integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==
-"@babel/core@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40"
- integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==
+"@babel/core@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.3.tgz#aceddde69c5d1def69b839d09efa3e3ff59c97cb"
+ integrity sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==
dependencies:
"@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.26.0"
- "@babel/generator" "^7.26.0"
- "@babel/helper-compilation-targets" "^7.25.9"
- "@babel/helper-module-transforms" "^7.26.0"
- "@babel/helpers" "^7.26.0"
- "@babel/parser" "^7.26.0"
- "@babel/template" "^7.25.9"
- "@babel/traverse" "^7.25.9"
- "@babel/types" "^7.26.0"
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-module-transforms" "^7.28.3"
+ "@babel/helpers" "^7.28.3"
+ "@babel/parser" "^7.28.3"
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.3"
+ "@babel/types" "^7.28.2"
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/eslint-parser@^7.26.5":
- version "7.26.5"
- resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.26.5.tgz#aa669f4d873f9cd617050cf3c40c19cd96307efb"
- integrity sha512-Kkm8C8uxI842AwQADxl0GbcG1rupELYLShazYEZO/2DYjhyWXJIOUVOE3tBYm6JXzUCNJOZEzqc4rCW/jsEQYQ==
+"@babel/eslint-parser@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.0.tgz#c1b3fbba070f5bac32e3d02f244201add4afdd6e"
+ integrity sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w==
dependencies:
"@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
eslint-visitor-keys "^2.1.0"
semver "^6.3.1"
-"@babel/generator@^7.25.9", "@babel/generator@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.0.tgz#505cc7c90d92513f458a477e5ef0703e7c91b8d7"
- integrity sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==
+"@babel/generator@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e"
+ integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==
dependencies:
- "@babel/parser" "^7.26.0"
- "@babel/types" "^7.26.0"
- "@jridgewell/gen-mapping" "^0.3.5"
- "@jridgewell/trace-mapping" "^0.3.25"
+ "@babel/parser" "^7.28.3"
+ "@babel/types" "^7.28.2"
+ "@jridgewell/gen-mapping" "^0.3.12"
+ "@jridgewell/trace-mapping" "^0.3.28"
jsesc "^3.0.2"
"@babel/helper-annotate-as-pure@^7.22.5":
@@ -77,43 +77,55 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-annotate-as-pure@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4"
- integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==
+"@babel/helper-annotate-as-pure@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz#4345d81a9a46a6486e24d069469f13e60445c05d"
+ integrity sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==
dependencies:
- "@babel/types" "^7.25.9"
+ "@babel/types" "^7.27.1"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz#f41752fe772a578e67286e6779a68a5a92de1ee9"
- integrity sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==
+"@babel/helper-annotate-as-pure@^7.27.3":
+ version "7.27.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5"
+ integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
dependencies:
- "@babel/traverse" "^7.25.9"
- "@babel/types" "^7.25.9"
+ "@babel/types" "^7.27.3"
-"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875"
- integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==
+"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
+ integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
dependencies:
- "@babel/compat-data" "^7.25.9"
- "@babel/helper-validator-option" "^7.25.9"
+ "@babel/compat-data" "^7.27.2"
+ "@babel/helper-validator-option" "^7.27.1"
browserslist "^4.24.0"
lru-cache "^5.1.1"
semver "^6.3.1"
-"@babel/helper-create-class-features-plugin@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83"
- integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==
+"@babel/helper-create-class-features-plugin@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281"
+ integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.25.9"
- "@babel/helper-member-expression-to-functions" "^7.25.9"
- "@babel/helper-optimise-call-expression" "^7.25.9"
- "@babel/helper-replace-supers" "^7.25.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+ semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz#3e747434ea007910c320c4d39a6b46f20f371d46"
+ integrity sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
semver "^6.3.1"
"@babel/helper-create-regexp-features-plugin@^7.18.6":
@@ -125,204 +137,190 @@
regexpu-core "^5.3.1"
semver "^6.3.1"
-"@babel/helper-create-regexp-features-plugin@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz#3e8999db94728ad2b2458d7a470e7770b7764e26"
- integrity sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==
+"@babel/helper-create-regexp-features-plugin@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53"
+ integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.25.9"
- regexpu-core "^6.1.1"
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ regexpu-core "^6.2.0"
semver "^6.3.1"
-"@babel/helper-define-polyfill-provider@^0.6.1":
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd"
- integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==
+"@babel/helper-define-polyfill-provider@^0.6.5":
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753"
+ integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
dependencies:
- "@babel/helper-compilation-targets" "^7.22.6"
- "@babel/helper-plugin-utils" "^7.22.5"
- debug "^4.1.1"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ debug "^4.4.1"
lodash.debounce "^4.0.8"
- resolve "^1.14.2"
+ resolve "^1.22.10"
-"@babel/helper-define-polyfill-provider@^0.6.2":
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d"
- integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==
+"@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-member-expression-to-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44"
+ integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
dependencies:
- "@babel/helper-compilation-targets" "^7.22.6"
- "@babel/helper-plugin-utils" "^7.22.5"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
-"@babel/helper-member-expression-to-functions@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3"
- integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==
+"@babel/helper-module-imports@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
+ integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
dependencies:
- "@babel/traverse" "^7.25.9"
- "@babel/types" "^7.25.9"
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
-"@babel/helper-module-imports@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
- integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
+"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6"
+ integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
dependencies:
- "@babel/traverse" "^7.25.9"
- "@babel/types" "^7.25.9"
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
-"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae"
- integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==
+"@babel/helper-optimise-call-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200"
+ integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
dependencies:
- "@babel/helper-module-imports" "^7.25.9"
- "@babel/helper-validator-identifier" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/types" "^7.27.1"
-"@babel/helper-optimise-call-expression@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e"
- integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
+ integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
+
+"@babel/helper-remap-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6"
+ integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
dependencies:
- "@babel/types" "^7.25.9"
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-wrap-function" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46"
- integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==
-
-"@babel/helper-remap-async-to-generator@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92"
- integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==
+"@babel/helper-replace-supers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0"
+ integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.25.9"
- "@babel/helper-wrap-function" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
-"@babel/helper-replace-supers@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5"
- integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==
+"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56"
+ integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.25.9"
- "@babel/helper-optimise-call-expression" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
-"@babel/helper-simple-access@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739"
- integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==
+"@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"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
+"@babel/helper-validator-identifier@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
+ integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
+
+"@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/helper-wrap-function@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409"
+ integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==
dependencies:
- "@babel/traverse" "^7.25.9"
- "@babel/types" "^7.25.9"
+ "@babel/template" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
-"@babel/helper-skip-transparent-expression-wrappers@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9"
- integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==
+"@babel/helpers@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.3.tgz#b83156c0a2232c133d1b535dd5d3452119c7e441"
+ integrity sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==
dependencies:
- "@babel/traverse" "^7.25.9"
- "@babel/types" "^7.25.9"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.2"
-"@babel/helper-string-parser@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
- integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
-
-"@babel/helper-validator-identifier@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
- integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
-
-"@babel/helper-validator-option@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
- integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
-
-"@babel/helper-wrap-function@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0"
- integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==
+"@babel/parser@^7.27.2", "@babel/parser@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.3.tgz#d2d25b814621bca5fe9d172bc93792547e7a2a71"
+ integrity sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==
dependencies:
- "@babel/template" "^7.25.9"
- "@babel/traverse" "^7.25.9"
- "@babel/types" "^7.25.9"
+ "@babel/types" "^7.28.2"
-"@babel/helpers@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4"
- integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9"
+ integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==
dependencies:
- "@babel/template" "^7.25.9"
- "@babel/types" "^7.26.0"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
-"@babel/parser@^7.25.9", "@babel/parser@^7.26.0":
- version "7.26.1"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.1.tgz#44e02499960df2cdce2c456372a3e8e0c3c5c975"
- integrity sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d"
+ integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
dependencies:
- "@babel/types" "^7.26.0"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe"
- integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72"
+ integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30"
- integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd"
+ integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137"
- integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz#373f6e2de0016f73caf8f27004f61d167743742a"
+ integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1"
- integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
- "@babel/plugin-transform-optional-chaining" "^7.25.9"
-
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e"
- integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
version "7.21.0-placeholder-for-preset-env.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703"
integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
-"@babel/plugin-syntax-import-assertions@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f"
- integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==
+"@babel/plugin-syntax-import-assertions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd"
+ integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-syntax-import-attributes@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7"
- integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==
+"@babel/plugin-syntax-import-attributes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07"
+ integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
version "7.18.6"
@@ -332,468 +330,477 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-arrow-functions@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845"
- integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==
+"@babel/plugin-transform-arrow-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a"
+ integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-async-generator-functions@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz#1b18530b077d18a407c494eb3d1d72da505283a2"
- integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==
+"@babel/plugin-transform-async-generator-functions@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2"
+ integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-remap-async-to-generator" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
-"@babel/plugin-transform-async-to-generator@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71"
- integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==
+"@babel/plugin-transform-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7"
+ integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
dependencies:
- "@babel/helper-module-imports" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-remap-async-to-generator" "^7.25.9"
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
-"@babel/plugin-transform-block-scoped-functions@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz#5700691dbd7abb93de300ca7be94203764fce458"
- integrity sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==
+"@babel/plugin-transform-block-scoped-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9"
+ integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-block-scoping@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1"
- integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==
+"@babel/plugin-transform-block-scoping@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz#e7c50cbacc18034f210b93defa89638666099451"
+ integrity sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-class-properties@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f"
- integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==
+"@babel/plugin-transform-class-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925"
+ integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-class-static-block@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0"
- integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==
+"@babel/plugin-transform-class-static-block@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz#d1b8e69b54c9993bc558203e1f49bfc979bfd852"
+ integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-class-features-plugin" "^7.28.3"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-classes@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52"
- integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==
+"@babel/plugin-transform-classes@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz#598297260343d0edbd51cb5f5075e07dee91963a"
+ integrity sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.25.9"
- "@babel/helper-compilation-targets" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-replace-supers" "^7.25.9"
- "@babel/traverse" "^7.25.9"
- globals "^11.1.0"
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
-"@babel/plugin-transform-computed-properties@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b"
- integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==
+"@babel/plugin-transform-computed-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa"
+ integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/template" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/template" "^7.27.1"
-"@babel/plugin-transform-destructuring@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1"
- integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==
+"@babel/plugin-transform-destructuring@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz#0f156588f69c596089b7d5b06f5af83d9aa7f97a"
+ integrity sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
-"@babel/plugin-transform-dotall-regex@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a"
- integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==
+"@babel/plugin-transform-dotall-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d"
+ integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-duplicate-keys@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d"
- integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==
+"@babel/plugin-transform-duplicate-keys@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1"
+ integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31"
- integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec"
+ integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-dynamic-import@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8"
- integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==
+"@babel/plugin-transform-dynamic-import@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4"
+ integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-exponentiation-operator@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz#ece47b70d236c1d99c263a1e22b62dc20a4c8b0f"
- integrity sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==
+"@babel/plugin-transform-explicit-resource-management@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz#45be6211b778dbf4b9d54c4e8a2b42fa72e09a1a"
+ integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
-"@babel/plugin-transform-export-namespace-from@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2"
- integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==
+"@babel/plugin-transform-exponentiation-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1"
+ integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-for-of@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz#4bdc7d42a213397905d89f02350c5267866d5755"
- integrity sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==
+"@babel/plugin-transform-export-namespace-from@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23"
+ integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-function-name@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97"
- integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==
+"@babel/plugin-transform-for-of@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a"
+ integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
dependencies:
- "@babel/helper-compilation-targets" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
-"@babel/plugin-transform-json-strings@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660"
- integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==
+"@babel/plugin-transform-function-name@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7"
+ integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-compilation-targets" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
-"@babel/plugin-transform-literals@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de"
- integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==
+"@babel/plugin-transform-json-strings@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c"
+ integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-logical-assignment-operators@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7"
- integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==
+"@babel/plugin-transform-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24"
+ integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-member-expression-literals@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de"
- integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==
+"@babel/plugin-transform-logical-assignment-operators@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa"
+ integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-modules-amd@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5"
- integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==
+"@babel/plugin-transform-member-expression-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9"
+ integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
dependencies:
- "@babel/helper-module-transforms" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-modules-commonjs@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz#d165c8c569a080baf5467bda88df6425fc060686"
- integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==
+"@babel/plugin-transform-modules-amd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f"
+ integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
dependencies:
- "@babel/helper-module-transforms" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-simple-access" "^7.25.9"
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-modules-systemjs@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8"
- integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==
+"@babel/plugin-transform-modules-commonjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832"
+ integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
dependencies:
- "@babel/helper-module-transforms" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-validator-identifier" "^7.25.9"
- "@babel/traverse" "^7.25.9"
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-modules-umd@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9"
- integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==
+"@babel/plugin-transform-modules-systemjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed"
+ integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==
dependencies:
- "@babel/helper-module-transforms" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a"
- integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==
+"@babel/plugin-transform-modules-umd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334"
+ integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-new-target@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd"
- integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1"
+ integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-nullish-coalescing-operator@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz#bcb1b0d9e948168102d5f7104375ca21c3266949"
- integrity sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==
+"@babel/plugin-transform-new-target@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb"
+ integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-numeric-separator@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1"
- integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==
+"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d"
+ integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-object-rest-spread@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18"
- integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==
+"@babel/plugin-transform-numeric-separator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6"
+ integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==
dependencies:
- "@babel/helper-compilation-targets" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/plugin-transform-parameters" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-object-super@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03"
- integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==
+"@babel/plugin-transform-object-rest-spread@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz#d23021857ffd7cd809f54d624299b8086402ed8d"
+ integrity sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-replace-supers" "^7.25.9"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/traverse" "^7.28.0"
-"@babel/plugin-transform-optional-catch-binding@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3"
- integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==
+"@babel/plugin-transform-object-super@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5"
+ integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
-"@babel/plugin-transform-optional-chaining@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd"
- integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==
+"@babel/plugin-transform-optional-catch-binding@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c"
+ integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-parameters@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257"
- integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==
+"@babel/plugin-transform-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f"
+ integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
-"@babel/plugin-transform-private-methods@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57"
- integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==
+"@babel/plugin-transform-parameters@^7.27.7":
+ version "7.27.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a"
+ integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-private-property-in-object@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33"
- integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==
+"@babel/plugin-transform-private-methods@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af"
+ integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.25.9"
- "@babel/helper-create-class-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-property-literals@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f"
- integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==
+"@babel/plugin-transform-private-property-in-object@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11"
+ integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-regenerator@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b"
- integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==
+"@babel/plugin-transform-property-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424"
+ integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- regenerator-transform "^0.15.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-regexp-modifiers@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850"
- integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==
+"@babel/plugin-transform-regenerator@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz#b8eee0f8aed37704bbcc932fd0b1a0a34d0b7344"
+ integrity sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-reserved-words@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce"
- integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==
+"@babel/plugin-transform-regexp-modifiers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09"
+ integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-shorthand-properties@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2"
- integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==
+"@babel/plugin-transform-reserved-words@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4"
+ integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-spread@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9"
- integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==
+"@babel/plugin-transform-shorthand-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90"
+ integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-sticky-regex@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32"
- integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==
+"@babel/plugin-transform-spread@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08"
+ integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
-"@babel/plugin-transform-template-literals@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz#6dbd4a24e8fad024df76d1fac6a03cf413f60fe1"
- integrity sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==
+"@babel/plugin-transform-sticky-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280"
+ integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-typeof-symbol@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz#224ba48a92869ddbf81f9b4a5f1204bbf5a2bc4b"
- integrity sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==
+"@babel/plugin-transform-template-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8"
+ integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-unicode-escapes@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82"
- integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==
+"@babel/plugin-transform-typeof-symbol@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369"
+ integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-unicode-property-regex@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3"
- integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==
+"@babel/plugin-transform-unicode-escapes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806"
+ integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-unicode-regex@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1"
- integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==
+"@babel/plugin-transform-unicode-property-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956"
+ integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/plugin-transform-unicode-sets-regex@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe"
- integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==
+"@babel/plugin-transform-unicode-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97"
+ integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
-"@babel/preset-env@^7.26.0":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.0.tgz#30e5c6bc1bcc54865bff0c5a30f6d4ccdc7fa8b1"
- integrity sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==
+"@babel/plugin-transform-unicode-sets-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1"
+ integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==
dependencies:
- "@babel/compat-data" "^7.26.0"
- "@babel/helper-compilation-targets" "^7.25.9"
- "@babel/helper-plugin-utils" "^7.25.9"
- "@babel/helper-validator-option" "^7.25.9"
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9"
- "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9"
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/preset-env@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.28.3.tgz#2b18d9aff9e69643789057ae4b942b1654f88187"
+ integrity sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==
+ dependencies:
+ "@babel/compat-data" "^7.28.0"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1"
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3"
"@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
- "@babel/plugin-syntax-import-assertions" "^7.26.0"
- "@babel/plugin-syntax-import-attributes" "^7.26.0"
+ "@babel/plugin-syntax-import-assertions" "^7.27.1"
+ "@babel/plugin-syntax-import-attributes" "^7.27.1"
"@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
- "@babel/plugin-transform-arrow-functions" "^7.25.9"
- "@babel/plugin-transform-async-generator-functions" "^7.25.9"
- "@babel/plugin-transform-async-to-generator" "^7.25.9"
- "@babel/plugin-transform-block-scoped-functions" "^7.25.9"
- "@babel/plugin-transform-block-scoping" "^7.25.9"
- "@babel/plugin-transform-class-properties" "^7.25.9"
- "@babel/plugin-transform-class-static-block" "^7.26.0"
- "@babel/plugin-transform-classes" "^7.25.9"
- "@babel/plugin-transform-computed-properties" "^7.25.9"
- "@babel/plugin-transform-destructuring" "^7.25.9"
- "@babel/plugin-transform-dotall-regex" "^7.25.9"
- "@babel/plugin-transform-duplicate-keys" "^7.25.9"
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9"
- "@babel/plugin-transform-dynamic-import" "^7.25.9"
- "@babel/plugin-transform-exponentiation-operator" "^7.25.9"
- "@babel/plugin-transform-export-namespace-from" "^7.25.9"
- "@babel/plugin-transform-for-of" "^7.25.9"
- "@babel/plugin-transform-function-name" "^7.25.9"
- "@babel/plugin-transform-json-strings" "^7.25.9"
- "@babel/plugin-transform-literals" "^7.25.9"
- "@babel/plugin-transform-logical-assignment-operators" "^7.25.9"
- "@babel/plugin-transform-member-expression-literals" "^7.25.9"
- "@babel/plugin-transform-modules-amd" "^7.25.9"
- "@babel/plugin-transform-modules-commonjs" "^7.25.9"
- "@babel/plugin-transform-modules-systemjs" "^7.25.9"
- "@babel/plugin-transform-modules-umd" "^7.25.9"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9"
- "@babel/plugin-transform-new-target" "^7.25.9"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.9"
- "@babel/plugin-transform-numeric-separator" "^7.25.9"
- "@babel/plugin-transform-object-rest-spread" "^7.25.9"
- "@babel/plugin-transform-object-super" "^7.25.9"
- "@babel/plugin-transform-optional-catch-binding" "^7.25.9"
- "@babel/plugin-transform-optional-chaining" "^7.25.9"
- "@babel/plugin-transform-parameters" "^7.25.9"
- "@babel/plugin-transform-private-methods" "^7.25.9"
- "@babel/plugin-transform-private-property-in-object" "^7.25.9"
- "@babel/plugin-transform-property-literals" "^7.25.9"
- "@babel/plugin-transform-regenerator" "^7.25.9"
- "@babel/plugin-transform-regexp-modifiers" "^7.26.0"
- "@babel/plugin-transform-reserved-words" "^7.25.9"
- "@babel/plugin-transform-shorthand-properties" "^7.25.9"
- "@babel/plugin-transform-spread" "^7.25.9"
- "@babel/plugin-transform-sticky-regex" "^7.25.9"
- "@babel/plugin-transform-template-literals" "^7.25.9"
- "@babel/plugin-transform-typeof-symbol" "^7.25.9"
- "@babel/plugin-transform-unicode-escapes" "^7.25.9"
- "@babel/plugin-transform-unicode-property-regex" "^7.25.9"
- "@babel/plugin-transform-unicode-regex" "^7.25.9"
- "@babel/plugin-transform-unicode-sets-regex" "^7.25.9"
+ "@babel/plugin-transform-arrow-functions" "^7.27.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.28.0"
+ "@babel/plugin-transform-async-to-generator" "^7.27.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.27.1"
+ "@babel/plugin-transform-block-scoping" "^7.28.0"
+ "@babel/plugin-transform-class-properties" "^7.27.1"
+ "@babel/plugin-transform-class-static-block" "^7.28.3"
+ "@babel/plugin-transform-classes" "^7.28.3"
+ "@babel/plugin-transform-computed-properties" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-dotall-regex" "^7.27.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.27.1"
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-dynamic-import" "^7.27.1"
+ "@babel/plugin-transform-explicit-resource-management" "^7.28.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.27.1"
+ "@babel/plugin-transform-export-namespace-from" "^7.27.1"
+ "@babel/plugin-transform-for-of" "^7.27.1"
+ "@babel/plugin-transform-function-name" "^7.27.1"
+ "@babel/plugin-transform-json-strings" "^7.27.1"
+ "@babel/plugin-transform-literals" "^7.27.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.27.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.27.1"
+ "@babel/plugin-transform-modules-amd" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.27.1"
+ "@babel/plugin-transform-modules-umd" "^7.27.1"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-new-target" "^7.27.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
+ "@babel/plugin-transform-numeric-separator" "^7.27.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.28.0"
+ "@babel/plugin-transform-object-super" "^7.27.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/plugin-transform-private-methods" "^7.27.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.27.1"
+ "@babel/plugin-transform-property-literals" "^7.27.1"
+ "@babel/plugin-transform-regenerator" "^7.28.3"
+ "@babel/plugin-transform-regexp-modifiers" "^7.27.1"
+ "@babel/plugin-transform-reserved-words" "^7.27.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.27.1"
+ "@babel/plugin-transform-spread" "^7.27.1"
+ "@babel/plugin-transform-sticky-regex" "^7.27.1"
+ "@babel/plugin-transform-template-literals" "^7.27.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.27.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.27.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
"@babel/preset-modules" "0.1.6-no-external-plugins"
- babel-plugin-polyfill-corejs2 "^0.4.10"
- babel-plugin-polyfill-corejs3 "^0.10.6"
- babel-plugin-polyfill-regenerator "^0.6.1"
- core-js-compat "^3.38.1"
+ babel-plugin-polyfill-corejs2 "^0.4.14"
+ babel-plugin-polyfill-corejs3 "^0.13.0"
+ babel-plugin-polyfill-regenerator "^0.6.5"
+ core-js-compat "^3.43.0"
semver "^6.3.1"
"@babel/preset-modules@0.1.6-no-external-plugins":
@@ -810,47 +817,40 @@
resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-"@babel/runtime@^7.8.4":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d"
- integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==
+"@babel/template@^7.27.1", "@babel/template@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
+ integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
dependencies:
- regenerator-runtime "^0.14.0"
+ "@babel/code-frame" "^7.27.1"
+ "@babel/parser" "^7.27.2"
+ "@babel/types" "^7.27.1"
-"@babel/template@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016"
- integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==
+"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.3.tgz#6911a10795d2cce43ec6a28cffc440cca2593434"
+ integrity sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==
dependencies:
- "@babel/code-frame" "^7.25.9"
- "@babel/parser" "^7.25.9"
- "@babel/types" "^7.25.9"
-
-"@babel/traverse@^7.25.9":
- version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84"
- integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==
- dependencies:
- "@babel/code-frame" "^7.25.9"
- "@babel/generator" "^7.25.9"
- "@babel/parser" "^7.25.9"
- "@babel/template" "^7.25.9"
- "@babel/types" "^7.25.9"
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/parser" "^7.28.3"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.2"
debug "^4.3.1"
- globals "^11.1.0"
-"@babel/types@^7.22.5", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.4.4":
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff"
- integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==
+"@babel/types@^7.22.5", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.4.4":
+ version "7.28.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.2.tgz#da9db0856a9a88e0a13b019881d7513588cf712b"
+ integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==
dependencies:
- "@babel/helper-string-parser" "^7.25.9"
- "@babel/helper-validator-identifier" "^7.25.9"
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
-"@bufbuild/protobuf@^2.0.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.1.0.tgz#6925f30c25789b4f74d7c505e731c96f79fb48a7"
- integrity sha512-+2Mx67Y3skJ4NCD/qNSdBJNWtu6x6Qr53jeNg+QcwiL6mt0wK+3jwHH2x1p7xaYH6Ve2JKOVn0OxU35WsmqI9A==
+"@bufbuild/protobuf@^2.5.0":
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.5.2.tgz#9b6cf005c50fdda72701da82f8db44635463d730"
+ integrity sha512-foZ7qr0IsUBjzWIq+SuBLfdQCpJ1j8cTuNNT4owngTHoN5KsJb8L9t65fzz7SCeSWzescoOil/0ldqiL041ABg==
"@csstools/css-parser-algorithms@^2.3.1":
version "2.4.0"
@@ -909,25 +909,35 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2"
integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
-"@fontsource/atkinson-hyperlegible@^5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@fontsource/atkinson-hyperlegible/-/atkinson-hyperlegible-5.1.1.tgz#faec86532a43493e948b0b7f50493bcb3126bbe4"
- integrity sha512-AxjSa0Ld2CrHqz3GV0gHVY7R5ySBw5c1B7FXLz59aUeFK9rJNm5ivc14qzYKaDi0lYCjFQtfpqb9pklie91PeA==
+"@fontsource/atkinson-hyperlegible@^5.2.6":
+ version "5.2.6"
+ resolved "https://registry.yarnpkg.com/@fontsource/atkinson-hyperlegible/-/atkinson-hyperlegible-5.2.6.tgz#bc4d196caed0ed33508fab9d7ca86dd9717ad0b9"
+ integrity sha512-Kfh6/UlHhotKuv4Oi9PXQIsmzwbtJIR442sSJnEHsO7TDZaDczK8cY0AlTNOB0XMDZj1j35nAlgbi2HZCdNg/Q==
-"@fontsource/eb-garamond@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@fontsource/eb-garamond/-/eb-garamond-5.1.2.tgz#d6ffd8c386b21ca4c1f6d17c9f6e3cceaf7ac7a9"
- integrity sha512-On24xvqbbC4Y0dRS+OKDlxPYtixFWEzwu7QqJ9yIzKS9pgPNxs/FgICnO7YD4GzY2obisnYHQLZILWFsIQUCrQ==
+"@fontsource/eb-garamond@^5.2.6":
+ version "5.2.6"
+ resolved "https://registry.yarnpkg.com/@fontsource/eb-garamond/-/eb-garamond-5.2.6.tgz#a3690b0213e65e80083e08f8782c25e40d79c7ee"
+ integrity sha512-tyfij001YUzGAdIVxWSmID5zlR6PUzMUDm4GjwDlfBEtlS+slyypAmtkM7x4oG1mS0n9pqFbQW+WlmNm1UVJQA==
-"@fontsource/montserrat@^5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@fontsource/montserrat/-/montserrat-5.1.1.tgz#25f420893ae1726b375ac921542138c16557966d"
- integrity sha512-myTQCo0XWf5AXc3Pm5GFFTstueYTacE+gpL3G8Vf5ELpr/rBfW+zr7dKLPYXlq2r21HHwfyw6yueKWccWUtKBA==
+"@fontsource/montserrat@^5.2.6":
+ version "5.2.6"
+ resolved "https://registry.yarnpkg.com/@fontsource/montserrat/-/montserrat-5.2.6.tgz#083aba8d818c843cd2bb461c7f455680a12ad2ce"
+ integrity sha512-AfFxq1q5tgkOsjQfMFsh95uMXh39VbGOuBLlHLFg16/txv93lqK7Sr6jev0neuJzZy1kqRG16SH6xpUYnk4cZg==
-"@fontsource/oswald@^5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.1.1.tgz#fdf40cca1d5c02c9b0cc0d5ac20eacb71a01731d"
- integrity sha512-MXymZDN08CJ4q/5+ur6u7YM3xcgPf6OXzUy7ngrRdGYXR9Oxal1A1m3FhFVLP5X0pWW6l2W1awC9YkTGWrbsXg==
+"@fontsource/oswald@^5.2.6":
+ version "5.2.6"
+ resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.2.6.tgz#34ec796848d484dcdb26af42f6a18ca7315dcd56"
+ integrity sha512-2rMxNdRrTjuhz2alrqMgOR45HOdxcLdzHYTdmque2idEH7TmG7fsYEpRr3qCL3TFpInr5OygAYvTEGWBy2d06g==
+
+"@hotwired/stimulus-webpack-helpers@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@hotwired/stimulus-webpack-helpers/-/stimulus-webpack-helpers-1.0.1.tgz#4cd74487adeca576c9865ac2b9fe5cb20cef16dd"
+ integrity sha512-wa/zupVG0eWxRYJjC1IiPBdt3Lruv0RqGN+/DTMmUWUyMAEB27KXmVY6a8YpUVTM7QwVuaLNGW4EqDgrS2upXQ==
+
+"@hotwired/stimulus@^3.2.2":
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.2.tgz#071aab59c600fed95b97939e605ff261a4251608"
+ integrity sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A==
"@humanwhocodes/config-array@^0.13.0":
version "0.13.0"
@@ -976,13 +986,12 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/gen-mapping@^0.3.5":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
- integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
+"@jridgewell/gen-mapping@^0.3.12":
+ version "0.3.12"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b"
+ integrity sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==
dependencies:
- "@jridgewell/set-array" "^1.2.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
+ "@jridgewell/sourcemap-codec" "^1.5.0"
"@jridgewell/trace-mapping" "^0.3.24"
"@jridgewell/resolve-uri@^3.1.0":
@@ -995,11 +1004,6 @@
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-"@jridgewell/set-array@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
- integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
-
"@jridgewell/source-map@^0.3.3":
version "0.3.5"
resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91"
@@ -1013,6 +1017,11 @@
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+"@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.4"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7"
+ integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==
+
"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.25"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
@@ -1021,30 +1030,18 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
-"@jsonjoy.com/base64@^1.1.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jsonjoy.com/base64/-/base64-1.1.2.tgz#cf8ea9dcb849b81c95f14fc0aaa151c6b54d2578"
- integrity sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==
-
-"@jsonjoy.com/json-pack@^1.0.3":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pack/-/json-pack-1.0.4.tgz#ab59c642a2e5368e8bcfd815d817143d4f3035d0"
- integrity sha512-aOcSN4MeAtFROysrbqG137b7gaDDSmVrl5mpo6sT/w+kcXpWnzhMjmY/Fh/sDx26NBxyIE7MB1seqLeCAzy9Sg==
+"@jridgewell/trace-mapping@^0.3.28":
+ version "0.3.29"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz#a58d31eaadaf92c6695680b2e1d464a9b8fbf7fc"
+ integrity sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==
dependencies:
- "@jsonjoy.com/base64" "^1.1.1"
- "@jsonjoy.com/util" "^1.1.2"
- hyperdyperid "^1.2.0"
- thingies "^1.20.0"
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
-"@jsonjoy.com/util@^1.1.2":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-1.2.0.tgz#0fe9a92de72308c566ebcebe8b5a3f01d3149df2"
- integrity sha512-4B8B+3vFsY4eo33DMKyJPlQ3sBMpPFUZK2dr3O3rXrOGKKbYG44J0XSFkDo1VOQiri5HFEhIeVvItjR2xcazmg==
-
-"@leichtgewicht/ip-codec@^2.0.1":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b"
- integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==
+"@materializecss/materialize@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@materializecss/materialize/-/materialize-1.2.2.tgz#3308e76806a8f6d14b7838656fbf24e0bf3496c8"
+ integrity sha512-+zp/myqWFywj/F64byUM+H3iiuDmVjKBHZ0lj3b07QiaLVaNoUBCcsS0nkdwB9YsebzFpZLWeASPkmolu3yA+Q==
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
version "5.1.1-v1"
@@ -1074,6 +1071,105 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@nuxt/friendly-errors-webpack-plugin@^2.5.1":
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.6.0.tgz#bd0cf6cd73b6e1d3e7c7f1c0de43333e69cc660c"
+ integrity sha512-3IZj6MXbzlvUxDncAxgBMLQwGPY/JlNhy2i+AGyOHCAReR5HcBxYjVRBvyaKM9R3s5k4OODYKeHAbrToZH/47w==
+ dependencies:
+ chalk "^2.4.2"
+ consola "^3.2.3"
+ error-stack-parser "^2.1.4"
+ string-width "^4.2.3"
+
+"@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.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67"
+ 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@^2.4.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.1.tgz#342507a9cfaaf172479a882309def1e991fb1200"
+ integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==
+ dependencies:
+ detect-libc "^1.0.3"
+ is-glob "^4.0.3"
+ micromatch "^4.0.5"
+ node-addon-api "^7.0.0"
+ 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"
+
"@rtsao/scc@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8"
@@ -1084,35 +1180,41 @@
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==
-"@types/body-parser@*":
- version "1.19.5"
- resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4"
- integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==
+"@symfony/stimulus-bridge@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@symfony/stimulus-bridge/-/stimulus-bridge-4.0.1.tgz#af0ddabc88254648a812fc328c0f407a6d5f40dc"
+ integrity sha512-+/kSQ4qFXMbZS+HjkhzOxwdN+60pMev7kzzDpQV/Tdm/iIWoxx5GDsVcdLaBb2783BVQHyrBP72JerF2SXTbTg==
dependencies:
- "@types/connect" "*"
- "@types/node" "*"
+ "@hotwired/stimulus-webpack-helpers" "^1.0.1"
+ "@types/webpack-env" "^1.16.4"
+ loader-utils "^2.0.0 || ^3.0.0"
+ schema-utils "^3.0.0 || ^4.0.0"
-"@types/bonjour@^3.5.13":
- version "3.5.13"
- resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956"
- integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==
+"@symfony/webpack-encore@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@symfony/webpack-encore/-/webpack-encore-5.1.0.tgz#d5664153136959e3baf3e248c9b55350c2c81a6d"
+ integrity sha512-uSaRnssJj+ZHH9UcHRGI8kQzFb5hfCiPtBwP15vuKH5hTPGeJjQouDDo4UaPB3LuSYJXudKFiSDAnj/4d2z4aQ==
dependencies:
- "@types/node" "*"
+ "@nuxt/friendly-errors-webpack-plugin" "^2.5.1"
+ babel-loader "^9.1.3"
+ css-loader "^7.1.0"
+ css-minimizer-webpack-plugin "^7.0.0"
+ fastest-levenshtein "^1.0.16"
+ mini-css-extract-plugin "^2.6.0"
+ picocolors "^1.1.0"
+ pretty-error "^4.0.0"
+ resolve-url-loader "^5.0.0"
+ semver "^7.3.2"
+ style-loader "^3.3.0"
+ tapable "^2.2.1"
+ terser-webpack-plugin "^5.3.0"
+ tmp "^0.2.1"
+ yargs-parser "^21.0.0"
-"@types/connect-history-api-fallback@^1.5.4":
- version "1.5.4"
- resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3"
- integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==
- dependencies:
- "@types/express-serve-static-core" "*"
- "@types/node" "*"
-
-"@types/connect@*":
- version "3.4.38"
- resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858"
- integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
- dependencies:
- "@types/node" "*"
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
"@types/eslint-scope@^3.7.7":
version "3.7.7"
@@ -1122,7 +1224,7 @@
"@types/eslint" "*"
"@types/estree" "*"
-"@types/eslint@*":
+"@types/eslint@*", "@types/eslint@^9.6.1":
version "9.6.1"
resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584"
integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==
@@ -1130,50 +1232,10 @@
"@types/estree" "*"
"@types/json-schema" "*"
-"@types/eslint@^8.56.10":
- version "8.56.10"
- resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d"
- integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==
- dependencies:
- "@types/estree" "*"
- "@types/json-schema" "*"
-
-"@types/estree@*", "@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/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33":
- version "4.17.41"
- resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6"
- integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==
- dependencies:
- "@types/node" "*"
- "@types/qs" "*"
- "@types/range-parser" "*"
- "@types/send" "*"
-
-"@types/express@*", "@types/express@^4.17.21":
- version "4.17.21"
- resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d"
- integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==
- dependencies:
- "@types/body-parser" "*"
- "@types/express-serve-static-core" "^4.17.33"
- "@types/qs" "*"
- "@types/serve-static" "*"
-
-"@types/http-errors@*":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f"
- integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==
-
-"@types/http-proxy@^1.17.8":
- version "1.17.14"
- resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec"
- integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==
- dependencies:
- "@types/node" "*"
+"@types/estree@*", "@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/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
version "2.0.6"
@@ -1194,7 +1256,7 @@
dependencies:
"@types/istanbul-lib-report" "*"
-"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
+"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
version "7.0.15"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
@@ -1204,23 +1266,11 @@
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
-"@types/mime@^1":
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690"
- integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
-
"@types/minimist@^1.2.2":
version "1.2.5"
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e"
integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==
-"@types/node-forge@^1.3.0":
- version "1.3.10"
- resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.10.tgz#62a19d4f75a8b03290578c2b04f294b1a5a71b07"
- integrity sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==
- dependencies:
- "@types/node" "*"
-
"@types/node@*":
version "20.10.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.5.tgz#47ad460b514096b7ed63a1dae26fad0914ed3ab2"
@@ -1233,58 +1283,10 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==
-"@types/qs@*":
- version "6.9.11"
- resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda"
- integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==
-
-"@types/range-parser@*":
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
- integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
-
-"@types/retry@0.12.2":
- version "0.12.2"
- resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a"
- integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==
-
-"@types/send@*":
- version "0.17.4"
- resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a"
- integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==
- dependencies:
- "@types/mime" "^1"
- "@types/node" "*"
-
-"@types/serve-index@^1.9.4":
- version "1.9.4"
- resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898"
- integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==
- dependencies:
- "@types/express" "*"
-
-"@types/serve-static@*", "@types/serve-static@^1.15.5":
- version "1.15.7"
- resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714"
- integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==
- dependencies:
- "@types/http-errors" "*"
- "@types/node" "*"
- "@types/send" "*"
-
-"@types/sockjs@^0.3.36":
- version "0.3.36"
- resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535"
- integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==
- dependencies:
- "@types/node" "*"
-
-"@types/ws@^8.5.10":
- version "8.5.11"
- resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.11.tgz#90ad17b3df7719ce3e6bc32f83ff954d38656508"
- integrity sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==
- dependencies:
- "@types/node" "*"
+"@types/webpack-env@^1.16.4":
+ version "1.18.8"
+ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.8.tgz#71f083718c094204d7b64443701d32f1db3989e3"
+ integrity sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==
"@types/yargs-parser@*":
version "21.0.3"
@@ -1449,23 +1451,28 @@
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
- integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
- dependencies:
- mime-types "~2.1.34"
- negotiator "0.6.3"
+acorn-import-phases@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/acorn-import-phases/-/acorn-import-phases-1.0.3.tgz#30394a1dccee5f380aecb8205b8c69b4f7ae688e"
+ integrity sha512-jtKLnfoOzm28PazuQ4dVBcE9Jeo6ha1GAJvq3N0LlNOszmTfx+wSycBehn+FN0RnyeR77IBxN/qVYMw0Rlj0Xw==
acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-acorn@^8.14.0, acorn@^8.8.2, acorn@^8.9.0:
- version "8.14.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
- integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
+acorn@^8.15.0, acorn@^8.8.2, acorn@^8.9.0:
+ version "8.15.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
+adjust-sourcemap-loader@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99"
+ integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==
+ dependencies:
+ loader-utils "^2.0.0"
+ regex-parser "^2.2.11"
ajv-formats@^2.1.1:
version "2.1.1"
@@ -1507,27 +1514,28 @@ ajv@^8.0.0, ajv@^8.0.1, ajv@^8.9.0:
uri-js "^4.2.2"
annotator@wallabag/annotator#master:
- version "2.0.0-alpha.3"
- resolved "https://codeload.github.com/wallabag/annotator/tar.gz/9245466498a4d2b4254980865ab07117dceb7735"
+ version "2.0.0-alpha.4"
+ resolved "https://codeload.github.com/wallabag/annotator/tar.gz/082069d777ed0fe5080392e85675ef3a519c7886"
dependencies:
backbone-extend-standalone "^0.1.2"
clean-css "^4.1.11"
enhance-css "^1.1.0"
es6-promise "^3.0.2"
insert-css "^0.2.0"
- jquery "^1.11.3"
- xpath-range "0.0.5"
-
-ansi-html-community@^0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41"
- integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
+ jquery "^3.7.1"
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-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
@@ -1535,14 +1543,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
-anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
argparse@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
@@ -1564,59 +1564,65 @@ array-buffer-byte-length@^1.0.1:
call-bind "^1.0.5"
is-array-buffer "^3.0.4"
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
- integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
-
-array-includes@^3.1.8:
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d"
- integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==
+array-buffer-byte-length@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b"
+ integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==
dependencies:
- call-bind "^1.0.7"
+ call-bound "^1.0.3"
+ is-array-buffer "^3.0.5"
+
+array-includes@^3.1.9:
+ version "3.1.9"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a"
+ integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
define-properties "^1.2.1"
- es-abstract "^1.23.2"
- es-object-atoms "^1.0.0"
- get-intrinsic "^1.2.4"
- is-string "^1.0.7"
+ es-abstract "^1.24.0"
+ es-object-atoms "^1.1.1"
+ get-intrinsic "^1.3.0"
+ is-string "^1.1.1"
+ math-intrinsics "^1.1.0"
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==
-array.prototype.findlastindex@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d"
- integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==
+array.prototype.findlastindex@^1.2.6:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564"
+ integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==
dependencies:
- call-bind "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
define-properties "^1.2.1"
- es-abstract "^1.23.2"
+ es-abstract "^1.23.9"
es-errors "^1.3.0"
- es-object-atoms "^1.0.0"
+ es-object-atoms "^1.1.1"
+ es-shim-unscopables "^1.1.0"
+
+array.prototype.flat@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5"
+ integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
es-shim-unscopables "^1.0.2"
-array.prototype.flat@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18"
- integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==
+array.prototype.flatmap@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b"
+ integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-shim-unscopables "^1.0.0"
-
-array.prototype.flatmap@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527"
- integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-shim-unscopables "^1.0.0"
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-shim-unscopables "^1.0.2"
arraybuffer.prototype.slice@^1.0.2:
version "1.0.2"
@@ -1645,6 +1651,19 @@ arraybuffer.prototype.slice@^1.0.3:
is-array-buffer "^3.0.4"
is-shared-array-buffer "^1.0.2"
+arraybuffer.prototype.slice@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c"
+ integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==
+ dependencies:
+ array-buffer-byte-length "^1.0.1"
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+ is-array-buffer "^3.0.4"
+
arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -1655,16 +1674,21 @@ astral-regex@^2.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-autoprefixer@^10.4.20:
- version "10.4.20"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b"
- integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==
+async-function@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b"
+ integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==
+
+autoprefixer@^10.4.21:
+ version "10.4.21"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d"
+ integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==
dependencies:
- browserslist "^4.23.3"
- caniuse-lite "^1.0.30001646"
+ browserslist "^4.24.4"
+ caniuse-lite "^1.0.30001702"
fraction.js "^4.3.7"
normalize-range "^0.1.2"
- picocolors "^1.0.1"
+ picocolors "^1.1.1"
postcss-value-parser "^4.2.0"
available-typed-arrays@^1.0.5:
@@ -1679,7 +1703,14 @@ available-typed-arrays@^1.0.7:
dependencies:
possible-typed-array-names "^1.0.0"
-babel-loader@^9.2.1:
+babel-loader@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-10.0.0.tgz#b9743714c0e1e084b3e4adef3cd5faee33089977"
+ integrity sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==
+ dependencies:
+ find-up "^5.0.0"
+
+babel-loader@^9.1.3:
version "9.2.1"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b"
integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==
@@ -1687,29 +1718,29 @@ babel-loader@^9.2.1:
find-cache-dir "^4.0.0"
schema-utils "^4.0.0"
-babel-plugin-polyfill-corejs2@^0.4.10:
- version "0.4.10"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1"
- integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==
+babel-plugin-polyfill-corejs2@^0.4.14:
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f"
+ integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
dependencies:
- "@babel/compat-data" "^7.22.6"
- "@babel/helper-define-polyfill-provider" "^0.6.1"
+ "@babel/compat-data" "^7.27.7"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
semver "^6.3.1"
-babel-plugin-polyfill-corejs3@^0.10.6:
- version "0.10.6"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7"
- integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==
+babel-plugin-polyfill-corejs3@^0.13.0:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164"
+ integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.6.2"
- core-js-compat "^3.38.0"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ core-js-compat "^3.43.0"
-babel-plugin-polyfill-regenerator@^0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be"
- integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==
+babel-plugin-polyfill-regenerator@^0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5"
+ integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.6.1"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
backbone-extend-standalone@^0.1.2:
version "0.1.2"
@@ -1726,46 +1757,15 @@ balanced-match@^2.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9"
integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==
-batch@0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
- integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==
-
big.js@^5.2.2:
version "5.2.2"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-body-parser@1.20.3:
- version "1.20.3"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6"
- integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
- dependencies:
- bytes "3.1.2"
- content-type "~1.0.5"
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- on-finished "2.4.1"
- qs "6.13.0"
- raw-body "2.5.2"
- type-is "~1.6.18"
- unpipe "1.0.0"
-
-bonjour-service@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02"
- integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==
- dependencies:
- fast-deep-equal "^3.1.3"
- multicast-dns "^7.2.5"
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
brace-expansion@^1.1.7:
version "1.1.11"
@@ -1775,22 +1775,22 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
-braces@^3.0.3, braces@~3.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"
-browserslist@^4.23.3, browserslist@^4.24.0:
- version "4.24.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4"
- integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==
+browserslist@^4.0.0, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.4, browserslist@^4.25.0:
+ version "4.25.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111"
+ integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==
dependencies:
- caniuse-lite "^1.0.30001663"
- electron-to-chromium "^1.5.28"
- node-releases "^2.0.18"
- update-browserslist-db "^1.1.0"
+ caniuse-lite "^1.0.30001726"
+ electron-to-chromium "^1.5.173"
+ node-releases "^2.0.19"
+ update-browserslist-db "^1.1.3"
buffer-builder@^0.2.0:
version "0.2.0"
@@ -1802,22 +1802,13 @@ buffer-from@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-bundle-name@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889"
- integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==
+call-bind-apply-helpers@^1.0.0, 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"
+ integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
dependencies:
- run-applescript "^7.0.0"
-
-bytes@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
- integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==
-
-bytes@3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
- integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5:
version "1.0.5"
@@ -1839,6 +1830,24 @@ call-bind@^1.0.6, call-bind@^1.0.7:
get-intrinsic "^1.2.4"
set-function-length "^1.2.1"
+call-bind@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c"
+ integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
+ dependencies:
+ call-bind-apply-helpers "^1.0.0"
+ es-define-property "^1.0.0"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.2"
+
+call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
+ integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ get-intrinsic "^1.3.0"
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -1859,15 +1868,34 @@ camelcase@^6.3.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-caniuse-lite@^1.0.30001646:
- version "1.0.30001647"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001647.tgz#56d58c5a4ef72913a4465f9766af895a4ead0165"
- integrity sha512-n83xdNiyeNcHpzWY+1aFbqCK7LuLfBricc4+alSQL2Xb6OR3XpnQAmlDG+pQcdTfiHRuLcQ96VOfrPSGiNJYSg==
+caniuse-api@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
+ integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-lite "^1.0.0"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.30001663:
- version "1.0.30001667"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz#99fc5ea0d9c6e96897a104a8352604378377f949"
- integrity sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702:
+ version "1.0.30001703"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz#977cb4920598c158f491ecf4f4f2cfed9e354718"
+ integrity sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==
+
+caniuse-lite@^1.0.30001726:
+ version "1.0.30001727"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85"
+ integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==
+
+chalk@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
chalk@^4.0.0:
version "4.1.2"
@@ -1877,20 +1905,12 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chokidar@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
- integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
+chokidar@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30"
+ integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==
dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
+ readdirp "^4.0.1"
chrome-trace-event@^1.0.2:
version "1.0.3"
@@ -1927,6 +1947,13 @@ clone-deep@^4.0.1:
kind-of "^6.0.2"
shallow-clone "^3.0.0"
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
color-convert@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
@@ -1934,6 +1961,11 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
@@ -1944,7 +1976,7 @@ colord@^2.9.3:
resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
-colorette@^2.0.10, colorette@^2.0.14:
+colorette@^2.0.14:
version "2.0.20"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
@@ -1969,31 +2001,16 @@ commander@^2.20.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
common-path-prefix@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0"
integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==
-compressible@~2.0.16:
- version "2.0.18"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
- integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
- dependencies:
- mime-db ">= 1.43.0 < 2"
-
-compression@^1.7.4:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
- integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
- dependencies:
- accepts "~1.3.5"
- bytes "3.0.0"
- compressible "~2.0.16"
- debug "2.6.9"
- on-headers "~1.0.2"
- safe-buffer "5.1.2"
- 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"
@@ -2004,49 +2021,32 @@ confusing-browser-globals@^1.0.10:
resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81"
integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==
-connect-history-api-fallback@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8"
- integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==
+consola@^3.2.3:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.0.tgz#4cfc9348fd85ed16a17940b3032765e31061ab88"
+ integrity sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==
-content-disposition@0.5.4:
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
- integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
- dependencies:
- safe-buffer "5.2.1"
-
-content-type@~1.0.4, content-type@~1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
- integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
+convert-source-map@^1.7.0:
+ version "1.9.0"
+ 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.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-cookie-signature@1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
- integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-
-cookie@0.7.1:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9"
- integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==
-
-core-js-compat@^3.38.0, core-js-compat@^3.38.1:
- version "3.38.1"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09"
- integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==
+core-js-compat@^3.43.0:
+ version "3.43.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.43.0.tgz#055587369c458795ef316f65e0aabb808fb15840"
+ integrity sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==
dependencies:
- browserslist "^4.23.3"
+ browserslist "^4.25.0"
-core-util-is@~1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
- integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+core-js@^3.45.0:
+ version "3.45.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.45.0.tgz#556c2af44a2d9c73ea7b49504392474a9f7c947e"
+ integrity sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==
cosmiconfig@^8.2.0:
version "8.3.6"
@@ -2077,12 +2077,17 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
+css-declaration-sorter@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024"
+ integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==
+
css-functions-list@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.2.1.tgz#2eb205d8ce9f9ce74c5c1d7490b66b77c45ce3ea"
integrity sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==
-css-loader@^7.1.2:
+css-loader@^7.1.0, css-loader@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-7.1.2.tgz#64671541c6efe06b0e22e750503106bdd86880f8"
integrity sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==
@@ -2096,6 +2101,40 @@ css-loader@^7.1.2:
postcss-value-parser "^4.2.0"
semver "^7.5.4"
+css-minimizer-webpack-plugin@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-7.0.0.tgz#b77a3d2f7c0fd02d3ac250dcc2f79065363f3cd3"
+ integrity sha512-niy66jxsQHqO+EYbhPuIhqRQ1mNcNVUHrMnkzzir9kFOERJUaQDDRhh7dKDz33kBpkWMF9M8Vx0QlDbc5AHOsw==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.25"
+ cssnano "^7.0.1"
+ jest-worker "^29.7.0"
+ postcss "^8.4.38"
+ schema-utils "^4.2.0"
+ serialize-javascript "^6.0.2"
+
+css-select@^4.1.3:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+ integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.0.1"
+ domhandler "^4.3.1"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
+
+css-select@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6"
+ integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.1.0"
+ domhandler "^5.0.2"
+ domutils "^3.0.1"
+ nth-check "^2.0.1"
+
css-tree@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
@@ -2104,11 +2143,80 @@ css-tree@^2.3.1:
mdn-data "2.0.30"
source-map-js "^1.0.1"
+css-tree@~2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032"
+ integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
+ dependencies:
+ mdn-data "2.0.28"
+ source-map-js "^1.0.1"
+
+css-what@^6.0.1, css-what@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+ integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+cssnano-preset-default@^7.0.6:
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz#0220fa7507478369aa2a226bac03e1204cd024c1"
+ integrity sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==
+ dependencies:
+ browserslist "^4.23.3"
+ css-declaration-sorter "^7.2.0"
+ cssnano-utils "^5.0.0"
+ postcss-calc "^10.0.2"
+ postcss-colormin "^7.0.2"
+ postcss-convert-values "^7.0.4"
+ postcss-discard-comments "^7.0.3"
+ postcss-discard-duplicates "^7.0.1"
+ postcss-discard-empty "^7.0.0"
+ postcss-discard-overridden "^7.0.0"
+ postcss-merge-longhand "^7.0.4"
+ postcss-merge-rules "^7.0.4"
+ postcss-minify-font-values "^7.0.0"
+ postcss-minify-gradients "^7.0.0"
+ postcss-minify-params "^7.0.2"
+ postcss-minify-selectors "^7.0.4"
+ postcss-normalize-charset "^7.0.0"
+ postcss-normalize-display-values "^7.0.0"
+ postcss-normalize-positions "^7.0.0"
+ postcss-normalize-repeat-style "^7.0.0"
+ postcss-normalize-string "^7.0.0"
+ postcss-normalize-timing-functions "^7.0.0"
+ postcss-normalize-unicode "^7.0.2"
+ postcss-normalize-url "^7.0.0"
+ postcss-normalize-whitespace "^7.0.0"
+ postcss-ordered-values "^7.0.1"
+ postcss-reduce-initial "^7.0.2"
+ postcss-reduce-transforms "^7.0.0"
+ postcss-svgo "^7.0.1"
+ postcss-unique-selectors "^7.0.3"
+
+cssnano-utils@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-5.0.0.tgz#b53a0343dd5d21012911882db6ae7d2eae0e3687"
+ integrity sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==
+
+cssnano@^7.0.1:
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-7.0.6.tgz#63d54fd42bc017f6aaed69e47d9aaef85b7850ec"
+ integrity sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==
+ dependencies:
+ cssnano-preset-default "^7.0.6"
+ lilconfig "^3.1.2"
+
+csso@^5.0.5:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6"
+ integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==
+ dependencies:
+ css-tree "~2.2.0"
+
data-view-buffer@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2"
@@ -2118,6 +2226,15 @@ data-view-buffer@^1.0.1:
es-errors "^1.3.0"
is-data-view "^1.0.1"
+data-view-buffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570"
+ integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
data-view-byte-length@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2"
@@ -2127,6 +2244,15 @@ data-view-byte-length@^1.0.1:
es-errors "^1.3.0"
is-data-view "^1.0.1"
+data-view-byte-length@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735"
+ integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
data-view-byte-offset@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a"
@@ -2136,12 +2262,14 @@ data-view-byte-offset@^1.0.0:
es-errors "^1.3.0"
is-data-view "^1.0.1"
-debug@2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+data-view-byte-offset@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191"
+ integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==
dependencies:
- ms "2.0.0"
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
debug@^3.2.7:
version "3.2.7"
@@ -2150,12 +2278,12 @@ debug@^3.2.7:
dependencies:
ms "^2.1.1"
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b"
+ integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
dependencies:
- ms "2.1.2"
+ ms "^2.1.3"
decamelize-keys@^1.1.0:
version "1.1.1"
@@ -2180,19 +2308,6 @@ deep-is@^0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-default-browser-id@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-5.0.0.tgz#a1d98bf960c15082d8a3fa69e83150ccccc3af26"
- integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==
-
-default-browser@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-5.2.1.tgz#7b7ba61204ff3e425b556869ae6d3e9d9f1712cf"
- integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==
- dependencies:
- bundle-name "^4.1.0"
- default-browser-id "^5.0.0"
-
define-data-property@^1.0.1, define-data-property@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
@@ -2211,11 +2326,6 @@ define-data-property@^1.1.4:
es-errors "^1.3.0"
gopd "^1.0.1"
-define-lazy-prop@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f"
- integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==
-
define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
@@ -2230,25 +2340,10 @@ delegate@^3.1.2:
resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
-depd@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
- integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
- integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
-
-destroy@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
- integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
-
-detect-node@^2.0.4:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
- integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
+detect-libc@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
dir-glob@^3.0.1:
version "3.0.1"
@@ -2257,13 +2352,6 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
-dns-packet@^5.2.2:
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f"
- integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==
- dependencies:
- "@leichtgewicht/ip-codec" "^2.0.1"
-
doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
@@ -2278,15 +2366,81 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
- integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+dom-converter@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
+ integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
+ dependencies:
+ utila "~0.4"
-electron-to-chromium@^1.5.28:
- version "1.5.32"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz#4a05ee78e29e240aabaf73a67ce9fe73f52e1bc7"
- integrity sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==
+dom-serializer@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+ integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+dom-serializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
+ integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.2"
+ entities "^4.2.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
+domhandler@^5.0.2, domhandler@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
+ integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
+ dependencies:
+ domelementtype "^2.3.0"
+
+domutils@^2.5.2, domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
+domutils@^3.0.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78"
+ integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==
+ dependencies:
+ dom-serializer "^2.0.0"
+ domelementtype "^2.3.0"
+ domhandler "^5.0.3"
+
+dunder-proto@^1.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"
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-errors "^1.3.0"
+ gopd "^1.2.0"
+
+electron-to-chromium@^1.5.173:
+ version "1.5.179"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.179.tgz#453d53f360014a2604d40ccd41c4ea0a6e31b99a"
+ integrity sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -2298,16 +2452,6 @@ emojis-list@^3.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
- integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-
-encodeurl@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
- integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
-
enhance-css@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/enhance-css/-/enhance-css-1.1.0.tgz#518edad3d96fca18dff60eaf43b188d4b395c211"
@@ -2315,14 +2459,24 @@ enhance-css@^1.1.0:
dependencies:
commander "2.1.x"
-enhanced-resolve@^5.17.1:
- version "5.17.1"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15"
- integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==
+enhanced-resolve@^5.17.3:
+ version "5.18.3"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44"
+ integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+entities@^4.2.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
env-paths@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
@@ -2340,6 +2494,13 @@ error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
+error-stack-parser@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286"
+ integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==
+ dependencies:
+ stackframe "^1.3.4"
+
es-abstract@^1.22.1:
version "1.22.3"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32"
@@ -2437,6 +2598,66 @@ es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2:
unbox-primitive "^1.0.2"
which-typed-array "^1.1.15"
+es-abstract@^1.23.5, es-abstract@^1.23.9, es-abstract@^1.24.0:
+ version "1.24.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328"
+ integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==
+ dependencies:
+ array-buffer-byte-length "^1.0.2"
+ arraybuffer.prototype.slice "^1.0.4"
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ data-view-buffer "^1.0.2"
+ data-view-byte-length "^1.0.2"
+ data-view-byte-offset "^1.0.1"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ es-set-tostringtag "^2.1.0"
+ es-to-primitive "^1.3.0"
+ function.prototype.name "^1.1.8"
+ get-intrinsic "^1.3.0"
+ get-proto "^1.0.1"
+ get-symbol-description "^1.1.0"
+ globalthis "^1.0.4"
+ gopd "^1.2.0"
+ has-property-descriptors "^1.0.2"
+ has-proto "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ internal-slot "^1.1.0"
+ is-array-buffer "^3.0.5"
+ is-callable "^1.2.7"
+ is-data-view "^1.0.2"
+ is-negative-zero "^2.0.3"
+ is-regex "^1.2.1"
+ is-set "^2.0.3"
+ is-shared-array-buffer "^1.0.4"
+ is-string "^1.1.1"
+ is-typed-array "^1.1.15"
+ is-weakref "^1.1.1"
+ math-intrinsics "^1.1.0"
+ object-inspect "^1.13.4"
+ object-keys "^1.1.1"
+ object.assign "^4.1.7"
+ own-keys "^1.0.1"
+ regexp.prototype.flags "^1.5.4"
+ safe-array-concat "^1.1.3"
+ safe-push-apply "^1.0.0"
+ safe-regex-test "^1.1.0"
+ set-proto "^1.0.0"
+ stop-iteration-iterator "^1.1.0"
+ string.prototype.trim "^1.2.10"
+ string.prototype.trimend "^1.0.9"
+ string.prototype.trimstart "^1.0.8"
+ typed-array-buffer "^1.0.3"
+ typed-array-byte-length "^1.0.3"
+ typed-array-byte-offset "^1.0.4"
+ typed-array-length "^1.0.7"
+ unbox-primitive "^1.1.0"
+ which-typed-array "^1.1.19"
+
es-define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
@@ -2444,6 +2665,11 @@ es-define-property@^1.0.0:
dependencies:
get-intrinsic "^1.2.4"
+es-define-property@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+
es-errors@^1.2.1, es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
@@ -2461,6 +2687,13 @@ es-object-atoms@^1.0.0:
dependencies:
es-errors "^1.3.0"
+es-object-atoms@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
+ dependencies:
+ es-errors "^1.3.0"
+
es-set-tostringtag@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9"
@@ -2479,13 +2712,30 @@ es-set-tostringtag@^2.0.3:
has-tostringtag "^1.0.2"
hasown "^2.0.1"
-es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2:
+es-set-tostringtag@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d"
+ integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
+ dependencies:
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+es-shim-unscopables@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763"
integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==
dependencies:
hasown "^2.0.0"
+es-shim-unscopables@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5"
+ integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==
+ dependencies:
+ hasown "^2.0.2"
+
es-to-primitive@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
@@ -2495,20 +2745,29 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+es-to-primitive@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18"
+ integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==
+ dependencies:
+ is-callable "^1.2.7"
+ is-date-object "^1.0.5"
+ is-symbol "^1.0.4"
+
es6-promise@^3.0.2:
version "3.3.1"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
integrity sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==
-escalade@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27"
- integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
+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==
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+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"
@@ -2534,36 +2793,36 @@ eslint-import-resolver-node@^0.3.9:
is-core-module "^2.13.0"
resolve "^1.22.4"
-eslint-module-utils@^2.12.0:
- version "2.12.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b"
- integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==
+eslint-module-utils@^2.12.1:
+ version "2.12.1"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff"
+ integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==
dependencies:
debug "^3.2.7"
-eslint-plugin-import@^2.31.0:
- version "2.31.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7"
- integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==
+eslint-plugin-import@^2.32.0:
+ version "2.32.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980"
+ integrity sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==
dependencies:
"@rtsao/scc" "^1.1.0"
- array-includes "^3.1.8"
- array.prototype.findlastindex "^1.2.5"
- array.prototype.flat "^1.3.2"
- array.prototype.flatmap "^1.3.2"
+ array-includes "^3.1.9"
+ array.prototype.findlastindex "^1.2.6"
+ array.prototype.flat "^1.3.3"
+ array.prototype.flatmap "^1.3.3"
debug "^3.2.7"
doctrine "^2.1.0"
eslint-import-resolver-node "^0.3.9"
- eslint-module-utils "^2.12.0"
+ eslint-module-utils "^2.12.1"
hasown "^2.0.2"
- is-core-module "^2.15.1"
+ is-core-module "^2.16.1"
is-glob "^4.0.3"
minimatch "^3.1.2"
object.fromentries "^2.0.8"
object.groupby "^1.0.3"
- object.values "^1.2.0"
+ object.values "^1.2.1"
semver "^6.3.1"
- string.prototype.trimend "^1.0.8"
+ string.prototype.trimend "^1.0.9"
tsconfig-paths "^3.15.0"
eslint-scope@5.1.1:
@@ -2592,16 +2851,17 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
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-webpack-plugin@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-4.2.0.tgz#41f54b25379908eb9eca8645bc997c90cfdbd34e"
- integrity sha512-rsfpFQ01AWQbqtjgPRr2usVRxhWDuG0YDYcG8DJOteD3EFnpeuYuOwk0PQiN7PRBTqS6ElNdtPZPggj8If9WnA==
+eslint-webpack-plugin@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-5.0.2.tgz#e108f2b44962de8693f460d28042c78df9f9a1d3"
+ integrity sha512-cB7EO2o+4gPUzK6zxgegSet8uu/hHwzOiG+2976MHWiwWFj9mmPbTrzlW0InFl6hl89S1D9MPKK5F7vNFpZc4g==
dependencies:
- "@types/eslint" "^8.56.10"
+ "@types/eslint" "^9.6.1"
+ flatted "^3.3.3"
jest-worker "^29.7.0"
- micromatch "^4.0.5"
+ micromatch "^4.0.8"
normalize-path "^3.0.0"
- schema-utils "^4.2.0"
+ schema-utils "^4.3.0"
eslint@^8.57.1:
version "8.57.1"
@@ -2685,58 +2945,11 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
- integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-
-eventemitter3@^4.0.0:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
- integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-
events@^3.2.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-express@^4.21.2:
- version "4.21.2"
- resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32"
- integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==
- dependencies:
- accepts "~1.3.8"
- array-flatten "1.1.1"
- body-parser "1.20.3"
- content-disposition "0.5.4"
- content-type "~1.0.4"
- cookie "0.7.1"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "2.0.0"
- encodeurl "~2.0.0"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "1.3.1"
- fresh "0.5.2"
- http-errors "2.0.0"
- merge-descriptors "1.0.3"
- methods "~1.1.2"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- path-to-regexp "0.1.12"
- proxy-addr "~2.0.7"
- qs "6.13.0"
- range-parser "~1.2.1"
- safe-buffer "5.2.1"
- send "0.19.0"
- serve-static "1.16.2"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- type-is "~1.6.18"
- utils-merge "1.0.1"
- vary "~1.1.2"
-
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -2775,13 +2988,6 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
-faye-websocket@^0.11.3:
- version "0.11.4"
- resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da"
- integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
- dependencies:
- websocket-driver ">=0.5.1"
-
file-entry-cache@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
@@ -2811,19 +3017,6 @@ fill-range@^7.1.1:
dependencies:
to-regex-range "^5.0.1"
-finalhandler@1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019"
- integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
- dependencies:
- debug "2.6.9"
- encodeurl "~2.0.0"
- escape-html "~1.0.3"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- statuses "2.0.1"
- unpipe "~1.0.0"
-
find-cache-dir@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2"
@@ -2870,15 +3063,10 @@ flat@^5.0.2:
resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
-flatted@^3.2.9:
- version "3.2.9"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf"
- integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
-
-follow-redirects@^1.0.0:
- version "1.15.6"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
- integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
+flatted@^3.2.9, flatted@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358"
+ integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==
for-each@^0.3.3:
version "0.3.3"
@@ -2887,31 +3075,23 @@ for-each@^0.3.3:
dependencies:
is-callable "^1.1.3"
-forwarded@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
- integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+for-each@^0.3.5:
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47"
+ integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==
+ dependencies:
+ is-callable "^1.2.7"
fraction.js@^4.3.7:
version "4.3.7"
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
- integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
-
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"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
@@ -2927,6 +3107,18 @@ function.prototype.name@^1.1.6:
es-abstract "^1.22.1"
functions-have-names "^1.2.3"
+function.prototype.name@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78"
+ integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ functions-have-names "^1.2.3"
+ hasown "^2.0.2"
+ is-callable "^1.2.7"
+
functions-have-names@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
@@ -2958,6 +3150,30 @@ get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
has-symbols "^1.0.3"
hasown "^2.0.0"
+get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ function-bind "^1.1.2"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ math-intrinsics "^1.1.0"
+
+get-proto@^1.0.0, get-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-object-atoms "^1.0.0"
+
get-symbol-description@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -2975,7 +3191,16 @@ get-symbol-description@^1.0.2:
es-errors "^1.3.0"
get-intrinsic "^1.2.4"
-glob-parent@^5.1.2, glob-parent@~5.1.2:
+get-symbol-description@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee"
+ integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+
+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==
@@ -3022,11 +3247,6 @@ global-prefix@^3.0.0:
kind-of "^6.0.2"
which "^1.3.1"
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
globals@^13.19.0:
version "13.24.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
@@ -3041,6 +3261,14 @@ globalthis@^1.0.3:
dependencies:
define-properties "^1.1.3"
+globalthis@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236"
+ integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==
+ dependencies:
+ define-properties "^1.2.1"
+ gopd "^1.0.1"
+
globby@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
@@ -3072,7 +3300,12 @@ gopd@^1.0.1:
dependencies:
get-intrinsic "^1.1.3"
-graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
+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.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
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==
@@ -3082,16 +3315,16 @@ graphemer@^1.4.0:
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
+growly@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
+ integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==
+
hammerjs@^2.0.8:
version "2.0.8"
resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
integrity sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==
-handle-thing@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
- integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
-
hard-rejection@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
@@ -3102,6 +3335,11 @@ has-bigints@^1.0.1, has-bigints@^1.0.2:
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
+
has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
@@ -3131,11 +3369,23 @@ has-proto@^1.0.3:
resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
+has-proto@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5"
+ integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==
+ dependencies:
+ dunder-proto "^1.0.0"
+
has-symbols@^1.0.2, has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+has-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
+
has-tostringtag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
@@ -3169,89 +3419,26 @@ hosted-git-info@^4.0.1:
dependencies:
lru-cache "^6.0.0"
-hpack.js@^2.1.6:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
- integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==
- dependencies:
- inherits "^2.0.1"
- obuf "^1.0.0"
- readable-stream "^2.0.1"
- wbuf "^1.1.0"
-
html-tags@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
-http-deceiver@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
- integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
-
-http-errors@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
- integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+htmlparser2@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+ integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
dependencies:
- depd "2.0.0"
- inherits "2.0.4"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- toidentifier "1.0.1"
-
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
- integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
-http-parser-js@>=0.5.1:
- version "0.5.8"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3"
- integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==
-
-http-proxy-middleware@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6"
- integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==
- dependencies:
- "@types/http-proxy" "^1.17.8"
- http-proxy "^1.18.1"
- is-glob "^4.0.1"
- is-plain-obj "^3.0.0"
- micromatch "^4.0.2"
-
-http-proxy@^1.18.1:
- version "1.18.1"
- resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
- integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
- dependencies:
- eventemitter3 "^4.0.0"
- follow-redirects "^1.0.0"
- requires-port "^1.0.0"
-
-hyperdyperid@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b"
- integrity sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==
+ domelementtype "^2.0.1"
+ domhandler "^4.0.0"
+ domutils "^2.5.2"
+ entities "^2.0.0"
icomoon-free-npm@^0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/icomoon-free-npm/-/icomoon-free-npm-0.0.0.tgz#991417a58727e4053d89edd6717370cbe4e19206"
integrity sha512-pfrVhde2E2tt6+oJ7WdvdOz7x9GbMpBzlaScAYFVkD2RTehZE9Xqdn5QaBbtTJrl8fG4ZgKqHxc9sAtKLNgFoA==
-iconv-lite@0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
icss-utils@^5.0.0, icss-utils@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
@@ -3306,16 +3493,11 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
+inherits@2:
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==
-
ini@^1.3.5:
version "1.3.8"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
@@ -3344,21 +3526,20 @@ internal-slot@^1.0.7:
hasown "^2.0.0"
side-channel "^1.0.4"
+internal-slot@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961"
+ integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==
+ dependencies:
+ es-errors "^1.3.0"
+ hasown "^2.0.2"
+ side-channel "^1.1.0"
+
interpret@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4"
integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==
-ipaddr.js@1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
- integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-
-ipaddr.js@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8"
- integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==
-
is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
@@ -3376,11 +3557,31 @@ is-array-buffer@^3.0.4:
call-bind "^1.0.2"
get-intrinsic "^1.2.1"
+is-array-buffer@^3.0.5:
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280"
+ integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+is-async-function@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523"
+ integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==
+ dependencies:
+ async-function "^1.0.0"
+ call-bound "^1.0.3"
+ get-proto "^1.0.1"
+ has-tostringtag "^1.0.2"
+ safe-regex-test "^1.1.0"
+
is-bigint@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
@@ -3388,12 +3589,12 @@ is-bigint@^1.0.1:
dependencies:
has-bigints "^1.0.1"
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+is-bigint@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672"
+ integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==
dependencies:
- binary-extensions "^2.0.0"
+ has-bigints "^1.0.2"
is-boolean-object@^1.1.0:
version "1.1.2"
@@ -3403,15 +3604,23 @@ is-boolean-object@^1.1.0:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
+is-boolean-object@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e"
+ integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.5.0:
- version "2.15.1"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37"
- integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==
+is-core-module@^2.13.0, is-core-module@^2.16.0, is-core-module@^2.16.1, is-core-module@^2.5.0:
+ version "2.16.1"
+ 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"
@@ -3422,6 +3631,15 @@ is-data-view@^1.0.1:
dependencies:
is-typed-array "^1.1.13"
+is-data-view@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e"
+ integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==
+ dependencies:
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ is-typed-array "^1.1.13"
+
is-date-object@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
@@ -3429,34 +3647,57 @@ is-date-object@^1.0.1:
dependencies:
has-tostringtag "^1.0.0"
-is-docker@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200"
- integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==
+is-date-object@^1.0.5, is-date-object@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7"
+ integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==
+ dependencies:
+ call-bound "^1.0.2"
+ has-tostringtag "^1.0.2"
+
+is-docker@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+is-finalizationregistry@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90"
+ integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==
+ dependencies:
+ call-bound "^1.0.3"
+
is-fullwidth-code-point@^3.0.0:
version "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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+is-generator-function@^1.0.10:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca"
+ integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==
+ dependencies:
+ call-bound "^1.0.3"
+ get-proto "^1.0.0"
+ has-tostringtag "^1.0.2"
+ safe-regex-test "^1.1.0"
+
+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==
dependencies:
is-extglob "^2.1.1"
-is-inside-container@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4"
- integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==
- dependencies:
- is-docker "^3.0.0"
+is-map@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e"
+ integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==
is-negative-zero@^2.0.2:
version "2.0.2"
@@ -3468,11 +3709,6 @@ is-negative-zero@^2.0.3:
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747"
integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==
-is-network-error@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-network-error/-/is-network-error-1.1.0.tgz#d26a760e3770226d11c169052f266a4803d9c997"
- integrity sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==
-
is-number-object@^1.0.4:
version "1.0.7"
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
@@ -3480,6 +3716,14 @@ is-number-object@^1.0.4:
dependencies:
has-tostringtag "^1.0.0"
+is-number-object@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541"
+ integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.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"
@@ -3495,11 +3739,6 @@ is-plain-obj@^1.1.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
-is-plain-obj@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
- integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
-
is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -3520,6 +3759,21 @@ is-regex@^1.1.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
+is-regex@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22"
+ integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==
+ dependencies:
+ call-bound "^1.0.2"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+is-set@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d"
+ integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==
+
is-shared-array-buffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
@@ -3534,6 +3788,13 @@ is-shared-array-buffer@^1.0.3:
dependencies:
call-bind "^1.0.7"
+is-shared-array-buffer@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f"
+ integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==
+ dependencies:
+ call-bound "^1.0.3"
+
is-string@^1.0.5, is-string@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -3541,6 +3802,14 @@ is-string@^1.0.5, is-string@^1.0.7:
dependencies:
has-tostringtag "^1.0.0"
+is-string@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9"
+ integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
is-symbol@^1.0.2, is-symbol@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
@@ -3548,6 +3817,15 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.2"
+is-symbol@^1.0.4, is-symbol@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634"
+ integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==
+ dependencies:
+ call-bound "^1.0.2"
+ has-symbols "^1.1.0"
+ safe-regex-test "^1.1.0"
+
is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9:
version "1.1.12"
resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a"
@@ -3562,6 +3840,18 @@ is-typed-array@^1.1.13:
dependencies:
which-typed-array "^1.1.14"
+is-typed-array@^1.1.14, is-typed-array@^1.1.15:
+ version "1.1.15"
+ resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b"
+ integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==
+ dependencies:
+ which-typed-array "^1.1.16"
+
+is-weakmap@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd"
+ integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==
+
is-weakref@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -3569,23 +3859,33 @@ is-weakref@^1.0.2:
dependencies:
call-bind "^1.0.2"
-is-wsl@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2"
- integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==
+is-weakref@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293"
+ integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==
dependencies:
- is-inside-container "^1.0.0"
+ call-bound "^1.0.3"
+
+is-weakset@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca"
+ integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==
+ dependencies:
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
+is-wsl@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
isarray@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
-
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -3632,26 +3932,11 @@ jiti@^1.20.0:
resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d"
integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==
-jquery.cookie@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jquery.cookie/-/jquery.cookie-1.4.1.tgz#d63dce209eab691fe63316db08ca9e47e0f9385b"
- integrity sha512-c/hZOOL+8VSw/FkTVH637gS1/6YzMSCROpTZ2qBYwJ7s7sHajU7uBkSSiE5+GXWwrfCCyO+jsYjUQ7Hs2rIxAA==
-
-jquery@^1.11.3:
- version "1.12.4"
- resolved "https://registry.yarnpkg.com/jquery/-/jquery-1.12.4.tgz#01e1dfba290fe73deba77ceeacb0f9ba2fec9e0c"
- integrity sha512-UEVp7PPK9xXYSk8xqXCJrkXnKZtlgWkd2GsAQbMRFK6S/ePU2JN5G2Zum8hIVjzR3CpdfSqdqAzId/xd4TJHeg==
-
-"jquery@^3.0.0 || ^2.1.4", jquery@^3.7.1:
+jquery@^3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de"
integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==
-jquery@~1.11.0:
- version "1.11.3"
- resolved "https://registry.yarnpkg.com/jquery/-/jquery-1.11.3.tgz#dd8b74278b27102d29df63eae28308a8cfa1b583"
- integrity sha512-pHM/XLofp0FJc0/0AsRm8q/5ob+a1kno+vfclXGozaMBPv3qD7Xq19loECVcBB4MOLdygnyneQMPTsH5QiVNBQ==
-
jr-qrcode@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/jr-qrcode/-/jr-qrcode-1.2.1.tgz#063f04720bf33bea135c40777dc8ab8d26e213f8"
@@ -3738,14 +4023,6 @@ lato-font@^3.0.0:
resolved "https://registry.yarnpkg.com/lato-font/-/lato-font-3.0.0.tgz#91b837e2374b668fb7331d44c894d37a2d9f8e11"
integrity sha512-wKhFCh9XX91Lepf38ynnZTNpkQD1OWuXV1RwFgcchUVQZzBixJ/yXCaVCIrNI3CbgT9pLcLzWKgn+6OETzAnug==
-launch-editor@^2.6.1:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.8.0.tgz#7255d90bdba414448e2138faa770a74f28451305"
- integrity sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==
- dependencies:
- picocolors "^1.0.0"
- shell-quote "^1.8.1"
-
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -3754,6 +4031,11 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
+lilconfig@^3.1.2:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4"
+ integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==
+
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@@ -3773,6 +4055,11 @@ loader-utils@^2.0.0:
emojis-list "^3.0.0"
json5 "^2.1.2"
+"loader-utils@^2.0.0 || ^3.0.0":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5"
+ integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==
+
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@@ -3799,6 +4086,11 @@ lodash.debounce@^4.0.8:
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+lodash.memoize@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
+
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
@@ -3809,6 +4101,16 @@ lodash.truncate@^4.4.2:
resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+ integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
+
+lodash@^4.17.20, lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -3838,13 +4140,10 @@ material-design-icons-iconfont@^6.7.0:
resolved "https://registry.yarnpkg.com/material-design-icons-iconfont/-/material-design-icons-iconfont-6.7.0.tgz#55cf0f3d7e4c76e032855b7e810b6e30535eff3c"
integrity sha512-lSj71DgVv20kO0kGbs42icDzbRot61gEDBLQACzkUuznRQBUYmbxzEkGU6dNBb5fRWHMaScYlAXX96HQ4/cJWA==
-materialize-css@^0.100.2:
- version "0.100.2"
- resolved "https://registry.yarnpkg.com/materialize-css/-/materialize-css-0.100.2.tgz#9ca32b24904c9a04491fc7d0a2e9402e7b1dae07"
- integrity sha512-Bf4YeoJCIdk4dlpnmVX+DIOJBbqOKwfBPD+tT5bxwXNFMLk649CGbldqtnctkkfMp+fGgSAsdYu9lo1ZolZqgA==
- dependencies:
- hammerjs "^2.0.8"
- jquery "^3.0.0 || ^2.1.4"
+math-intrinsics@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
mathjax@^3.2.2:
version "3.2.2"
@@ -3856,26 +4155,16 @@ mathml-tag-names@^2.1.3:
resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
+mdn-data@2.0.28:
+ version "2.0.28"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba"
+ integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
+
mdn-data@2.0.30:
version "2.0.30"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
- integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-
-memfs@^4.6.0:
- version "4.9.3"
- resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.9.3.tgz#41a3218065fe3911d9eba836250c8f4e43f816bc"
- integrity sha512-bsYSSnirtYTWi1+OPMFb0M048evMKyUYe0EbtuGQgq6BVQM1g1W8/KIUJCCvjgI/El0j6Q4WsmMiBwLUBSw8LA==
- dependencies:
- "@jsonjoy.com/json-pack" "^1.0.3"
- "@jsonjoy.com/util" "^1.1.2"
- tree-dump "^1.0.1"
- tslib "^2.0.0"
-
meow@^10.1.5:
version "10.1.5"
resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.5.tgz#be52a1d87b5f5698602b0f32875ee5940904aa7f"
@@ -3894,11 +4183,6 @@ meow@^10.1.5:
type-fest "^1.2.2"
yargs-parser "^20.2.9"
-merge-descriptors@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5"
- integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
-
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -3909,12 +4193,7 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-methods@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
- integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
-
-micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
+micromatch@^4.0.4, micromatch@^4.0.5, 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==
@@ -3922,41 +4201,31 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
braces "^3.0.3"
picomatch "^2.3.1"
-mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
+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.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34:
+mime-types@^2.1.27:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
dependencies:
mime-db "1.52.0"
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
min-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-mini-css-extract-plugin@^2.9.2:
- version "2.9.2"
- resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz#966031b468917a5446f4c24a80854b2947503c5b"
- integrity sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==
+mini-css-extract-plugin@^2.6.0, mini-css-extract-plugin@^2.9.4:
+ version "2.9.4"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz#cafa1a42f8c71357f49cd1566810d74ff1cb0200"
+ integrity sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==
dependencies:
schema-utils "^4.0.0"
tapable "^2.2.1"
-minimalistic-assert@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
- integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -3983,58 +4252,47 @@ mousetrap@^1.6.0:
resolved "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.5.tgz#8a766d8c272b08393d5f56074e0b5ec183485bf9"
integrity sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@2.1.3, ms@^2.1.1:
+ms@^2.1.1, ms@^2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-multicast-dns@^7.2.5:
- version "7.2.5"
- resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced"
- integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==
- dependencies:
- dns-packet "^5.2.2"
- thunky "^1.0.2"
-
-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==
+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==
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-negotiator@0.6.3:
- version "0.6.3"
- resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
- integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-
neo-async@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
-node-forge@^1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
- integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
+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-releases@^2.0.18:
- version "2.0.18"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
- integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
+node-notifier@^9.0.0:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-9.0.1.tgz#cea837f4c5e733936c7b9005e6545cea825d1af4"
+ integrity sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==
+ dependencies:
+ growly "^1.3.0"
+ is-wsl "^2.2.0"
+ semver "^7.3.2"
+ shellwords "^0.1.1"
+ uuid "^8.3.0"
+ which "^2.0.2"
+
+node-releases@^2.0.19:
+ version "2.0.19"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
+ integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
normalize-package-data@^3.0.2:
version "3.0.3"
@@ -4046,7 +4304,7 @@ normalize-package-data@^3.0.2:
semver "^7.3.4"
validate-npm-package-license "^3.0.1"
-normalize-path@^3.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==
@@ -4056,11 +4314,23 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
object-inspect@^1.13.1, object-inspect@^1.9.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
+object-inspect@^1.13.3, object-inspect@^1.13.4:
+ version "1.13.4"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
+ integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
+
object-keys@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -4076,6 +4346,18 @@ object.assign@^4.1.2, object.assign@^4.1.4, object.assign@^4.1.5:
has-symbols "^1.0.3"
object-keys "^1.1.1"
+object.assign@^4.1.7:
+ version "4.1.7"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d"
+ integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+ has-symbols "^1.1.0"
+ object-keys "^1.1.1"
+
object.entries@^1.1.5:
version "1.1.7"
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131"
@@ -4104,32 +4386,16 @@ object.groupby@^1.0.3:
define-properties "^1.2.1"
es-abstract "^1.23.2"
-object.values@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b"
- integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==
+object.values@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216"
+ integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==
dependencies:
- call-bind "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
-obuf@^1.0.0, obuf@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
- integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
-
-on-finished@2.4.1, on-finished@^2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
- integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
- dependencies:
- ee-first "1.1.1"
-
-on-headers@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
- integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
-
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -4142,16 +4408,6 @@ open-dyslexic@^1.0.3:
resolved "https://registry.yarnpkg.com/open-dyslexic/-/open-dyslexic-1.0.3.tgz#9618822394b983a1d8a4c8c46d31d18e978554df"
integrity sha512-pZ6LuLvnwT/T/HiDc6hGj2bTs+HimGrYHGQEaexQcou4E9euHhSmgJ6GvUOZQRSU+mYSvdu2M8RgiUcqqAAaCQ==
-open@^10.0.3:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/open/-/open-10.1.0.tgz#a7795e6e5d519abe4286d9937bb24b51122598e1"
- integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==
- dependencies:
- default-browser "^5.2.1"
- define-lazy-prop "^3.0.0"
- is-inside-container "^1.0.0"
- is-wsl "^3.1.0"
-
optionator@^0.9.3:
version "0.9.3"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
@@ -4164,6 +4420,15 @@ optionator@^0.9.3:
prelude-ls "^1.2.1"
type-check "^0.4.0"
+own-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358"
+ integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==
+ dependencies:
+ get-intrinsic "^1.2.6"
+ object-keys "^1.1.1"
+ safe-push-apply "^1.0.0"
+
p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -4206,15 +4471,6 @@ p-locate@^6.0.0:
dependencies:
p-limit "^4.0.0"
-p-retry@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-6.2.0.tgz#8d6df01af298750009691ce2f9b3ad2d5968f3bd"
- integrity sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==
- dependencies:
- "@types/retry" "0.12.2"
- is-network-error "^1.0.0"
- retry "^0.13.1"
-
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@@ -4237,11 +4493,6 @@ parse-json@^5.2.0:
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
-parseurl@~1.3.2, parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@@ -4267,22 +4518,17 @@ path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-path-to-regexp@0.1.12:
- version "0.1.12"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7"
- integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==
-
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==
-picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.1:
+picocolors@^1.0.0, picocolors@^1.1.0, 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==
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
+picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -4306,6 +4552,54 @@ possible-typed-array-names@^1.0.0:
resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f"
integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==
+postcss-calc@^10.0.2:
+ version "10.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-10.1.1.tgz#52b385f2e628239686eb6e3a16207a43f36064ca"
+ integrity sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-colormin@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-7.0.2.tgz#6f3c53c13158168669f45adc3926f35cb240ef8e"
+ integrity sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==
+ dependencies:
+ browserslist "^4.23.3"
+ caniuse-api "^3.0.0"
+ colord "^2.9.3"
+ postcss-value-parser "^4.2.0"
+
+postcss-convert-values@^7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz#fc13ecedded6365f3c794b502dbcf77d298da12c"
+ integrity sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==
+ dependencies:
+ browserslist "^4.23.3"
+ postcss-value-parser "^4.2.0"
+
+postcss-discard-comments@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz#9c414e8ee99d3514ad06a3465ccc20ec1dbce780"
+ integrity sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==
+ dependencies:
+ postcss-selector-parser "^6.1.2"
+
+postcss-discard-duplicates@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz#f87f2fe47d8f01afb1e98361c1db3ce1e8afd1a3"
+ integrity sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==
+
+postcss-discard-empty@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz#218829d1ef0a5d5142dd62f0aa60e00e599d2033"
+ integrity sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==
+
+postcss-discard-overridden@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz#b123ea51e3d4e1d0a254cf71eaff1201926d319c"
+ integrity sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==
+
postcss-loader@^8.1.1:
version "8.1.1"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-8.1.1.tgz#2822589e7522927344954acb55bbf26e8b195dfe"
@@ -4320,6 +4614,57 @@ postcss-media-query-parser@^0.2.3:
resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==
+postcss-merge-longhand@^7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz#a52d0662b4b29420f3b64a8d5b0ac5133d8db776"
+ integrity sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ stylehacks "^7.0.4"
+
+postcss-merge-rules@^7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz#648cc864d3121e6ec72c2a4f08df1cc801e60ce8"
+ integrity sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==
+ dependencies:
+ browserslist "^4.23.3"
+ caniuse-api "^3.0.0"
+ cssnano-utils "^5.0.0"
+ postcss-selector-parser "^6.1.2"
+
+postcss-minify-font-values@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz#d16a75a2548e000779566b3568fc874ee5d0aa17"
+ integrity sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-gradients@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz#f6d84456e6d49164a55d0e45bb1b1809c6cf0959"
+ integrity sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==
+ dependencies:
+ colord "^2.9.3"
+ cssnano-utils "^5.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-params@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz#264a76e25f202d8b5ca5290569c0e8c3ac599dfe"
+ integrity sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==
+ dependencies:
+ browserslist "^4.23.3"
+ cssnano-utils "^5.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-selectors@^7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz#2b69c99ec48a1c223fce4840609d9c53340a11f5"
+ integrity sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==
+ dependencies:
+ cssesc "^3.0.0"
+ postcss-selector-parser "^6.1.2"
+
postcss-modules-extract-imports@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002"
@@ -4348,6 +4693,91 @@ postcss-modules-values@^4.0.0:
dependencies:
icss-utils "^5.0.0"
+postcss-normalize-charset@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz#92244ae73c31bf8f8885d5f16ff69e857ac6c001"
+ integrity sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==
+
+postcss-normalize-display-values@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz#01fb50e5e97ef8935363629bea5a6d3b3aac1342"
+ integrity sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-positions@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz#4eebd7c9d3dde40c97b8047cad38124fc844c463"
+ integrity sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-repeat-style@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz#0cb784655d5714d29bd3bda6dee2fb628aa7227b"
+ integrity sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-string@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz#a119d3e63a9614570d8413d572fb9fc8c6a64e8c"
+ integrity sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-timing-functions@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz#99d0ee8c4b23b7f4355fafb91385833b9b07108b"
+ integrity sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-unicode@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz#095f8d36ea29adfdf494069c1de101112992a713"
+ integrity sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==
+ dependencies:
+ browserslist "^4.23.3"
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-url@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz#c88cb7cf8952d3ff631e4eba924e7b060ca802f6"
+ integrity sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-whitespace@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz#46b025f0bea72139ddee63015619b0c21cebd845"
+ integrity sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-ordered-values@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz#8b4b5b8070ca7756bd49f07d5edf274b8f6782e0"
+ integrity sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==
+ dependencies:
+ cssnano-utils "^5.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-reduce-initial@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz#3dc085347a5943e18547d4b0aa5bd4ff5a93b2c5"
+ integrity sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==
+ dependencies:
+ browserslist "^4.23.3"
+ caniuse-api "^3.0.0"
+
+postcss-reduce-transforms@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz#0386080a14e5faad9f8eda33375b79fe7c4f9677"
+ integrity sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-resolve-nested-selector@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e"
@@ -4371,17 +4801,48 @@ postcss-selector-parser@^6.0.13, postcss-selector-parser@^6.0.2, postcss-selecto
cssesc "^3.0.0"
util-deprecate "^1.0.2"
+postcss-selector-parser@^6.1.2:
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de"
+ integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-selector-parser@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262"
+ integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-svgo@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-7.0.1.tgz#2b63571d8e9568384df334bac9917baff4d23f58"
+ integrity sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ svgo "^3.3.2"
+
+postcss-unique-selectors@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz#483fc11215b23d517d5d9bbe5833d9915619ca33"
+ integrity sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==
+ dependencies:
+ postcss-selector-parser "^6.1.2"
+
postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss@^8.4.28, postcss@^8.4.33, postcss@^8.4.49:
- version "8.4.49"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19"
- integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==
+postcss@^8.2.14, postcss@^8.4.28, postcss@^8.4.33, postcss@^8.4.38, 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.7"
+ nanoid "^3.3.11"
picocolors "^1.1.1"
source-map-js "^1.2.1"
@@ -4390,31 +4851,19 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-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"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-proxy-addr@~2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
- integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+pretty-error@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6"
+ integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==
dependencies:
- forwarded "0.2.0"
- ipaddr.js "1.9.1"
+ lodash "^4.17.20"
+ renderkid "^3.0.0"
punycode@^2.1.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-qs@6.13.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906"
- integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
- dependencies:
- side-channel "^1.0.6"
-
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -4432,21 +4881,6 @@ randombytes@^2.1.0:
dependencies:
safe-buffer "^5.1.0"
-range-parser@^1.2.1, range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.5.2:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
- integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
- dependencies:
- bytes "3.1.2"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
read-pkg-up@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670"
@@ -4466,34 +4900,10 @@ read-pkg@^6.0.0:
parse-json "^5.2.0"
type-fest "^1.0.1"
-readable-stream@^2.0.1:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
- integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~2.0.0"
- safe-buffer "~5.1.1"
- string_decoder "~1.1.1"
- util-deprecate "~1.0.1"
-
-readable-stream@^3.0.6:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
- integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
+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==
rechoir@^0.8.0:
version "0.8.0"
@@ -4510,6 +4920,20 @@ redent@^4.0.0:
indent-string "^5.0.0"
strip-indent "^4.0.0"
+reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9"
+ integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.9"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.7"
+ get-proto "^1.0.1"
+ which-builtin-type "^1.2.1"
+
regenerate-unicode-properties@^10.1.0:
version "10.1.1"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480"
@@ -4529,17 +4953,15 @@ regenerate@^1.4.2:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-regenerator-runtime@^0.14.0:
+regenerator-runtime@^0.14.1:
version "0.14.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
-regenerator-transform@^0.15.2:
- version "0.15.2"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4"
- integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==
- dependencies:
- "@babel/runtime" "^7.8.4"
+regex-parser@^2.2.11:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.0.tgz#4bb61461b1a19b8b913f3960364bb57887f920ee"
+ integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==
regexp.prototype.flags@^1.5.1:
version "1.5.1"
@@ -4560,6 +4982,18 @@ regexp.prototype.flags@^1.5.2:
es-errors "^1.3.0"
set-function-name "^2.0.1"
+regexp.prototype.flags@^1.5.4:
+ version "1.5.4"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19"
+ integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-errors "^1.3.0"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ set-function-name "^2.0.2"
+
regexpu-core@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b"
@@ -4572,15 +5006,15 @@ regexpu-core@^5.3.1:
unicode-match-property-ecmascript "^2.0.0"
unicode-match-property-value-ecmascript "^2.1.0"
-regexpu-core@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac"
- integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==
+regexpu-core@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826"
+ integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==
dependencies:
regenerate "^1.4.2"
regenerate-unicode-properties "^10.2.0"
regjsgen "^0.8.0"
- regjsparser "^0.11.0"
+ regjsparser "^0.12.0"
unicode-match-property-ecmascript "^2.0.0"
unicode-match-property-value-ecmascript "^2.1.0"
@@ -4589,10 +5023,10 @@ regjsgen@^0.8.0:
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab"
integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
-regjsparser@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.1.tgz#ae55c74f646db0c8fcb922d4da635e33da405149"
- integrity sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==
+regjsparser@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc"
+ integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==
dependencies:
jsesc "~3.0.2"
@@ -4603,16 +5037,22 @@ regjsparser@^0.9.1:
dependencies:
jsesc "~0.5.0"
+renderkid@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a"
+ integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==
+ dependencies:
+ css-select "^4.1.3"
+ dom-converter "^0.2.0"
+ htmlparser2 "^6.1.0"
+ lodash "^4.17.21"
+ strip-ansi "^6.0.1"
+
require-from-string@^2.0.2:
version "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==
-requires-port@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
- integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
-
resolve-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@@ -4630,7 +5070,18 @@ resolve-from@^5.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4:
+resolve-url-loader@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz#ee3142fb1f1e0d9db9524d539cfa166e9314f795"
+ integrity sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==
+ dependencies:
+ adjust-sourcemap-loader "^4.0.0"
+ convert-source-map "^1.7.0"
+ loader-utils "^2.0.0"
+ postcss "^8.2.14"
+ source-map "0.6.1"
+
+resolve@^1.20.0, resolve@^1.22.4:
version "1.22.8"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
@@ -4639,10 +5090,14 @@ resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4:
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
-retry@^0.13.1:
- version "0.13.1"
- resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
- integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
+resolve@^1.22.10:
+ version "1.22.10"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
+ integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
+ dependencies:
+ is-core-module "^2.16.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
reusify@^1.0.4:
version "1.0.4"
@@ -4661,11 +5116,6 @@ roboto-fontface@^0.10.0:
resolved "https://registry.yarnpkg.com/roboto-fontface/-/roboto-fontface-0.10.0.tgz#7eee40cfa18b1f7e4e605eaf1a2740afb6fd71b0"
integrity sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==
-run-applescript@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb"
- integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==
-
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@@ -4700,16 +5150,30 @@ safe-array-concat@^1.1.2:
has-symbols "^1.0.3"
isarray "^2.0.5"
-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+safe-array-concat@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3"
+ integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ has-symbols "^1.1.0"
+ isarray "^2.0.5"
-safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+safe-buffer@^5.1.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+safe-push-apply@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5"
+ integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==
+ dependencies:
+ es-errors "^1.3.0"
+ isarray "^2.0.5"
+
safe-regex-test@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
@@ -4728,117 +5192,115 @@ safe-regex-test@^1.0.3:
es-errors "^1.3.0"
is-regex "^1.1.4"
-"safer-buffer@>= 2.1.2 < 3":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sass-embedded-android-arm64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.83.1.tgz#6bf4be5494366b55ff98f06678315c912b6251ff"
- integrity sha512-S63rlLPGCA9FCqYYOobDJrwcuBX0zbSOl7y0jT9DlfqeqNOkC6NIT1id6RpMFCs3uhd4gbBS2E/5WPv5J5qwbw==
-
-sass-embedded-android-arm@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.83.1.tgz#2f5a76985884094629fbb2ba9dd79b36553a55ae"
- integrity sha512-FKfrmwDG84L5cfn8fmIew47qnCFFUdcoOTCzOw8ROItkRhLLH0hnIm6gEpG5T6OFf6kxzUxvE9D0FvYQUznZrw==
-
-sass-embedded-android-ia32@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.83.1.tgz#940c3a17d046895fea0bcac03dfc05d6f8b1afe3"
- integrity sha512-AGlY2vFLJhF2hN0qOz12f4eDs6x0b5BUapOpgfRrqQLHIfJhxkvi39bInsiBgQ57U0jb4I7AaS2e2e+sj7+Rqw==
-
-sass-embedded-android-riscv64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.83.1.tgz#4e7a3389e2b90f6c94f411bad26fdf6da1604cbd"
- integrity sha512-OyU4AnfAUVd/wBaT60XvHidmQdaEsVUnxvI71oyPM/id1v97aWTZX3SmGkwGb7uA/q6Soo2uNalgvOSNJn7PwA==
-
-sass-embedded-android-x64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.83.1.tgz#a055d13ea69235bda9ae98ddd259b87690ac354c"
- integrity sha512-NY5rwffhF4TnhXVErZnfFIjHqU3MNoWxCuSHumRN3dDI8hp8+IF59W5+Qw9AARlTXvyb+D0u5653aLSea5F40w==
-
-sass-embedded-darwin-arm64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.83.1.tgz#fa418aa5d270ab8af45b4e5ea32f4e9aa4bcdbb8"
- integrity sha512-w1SBcSkIgIWgUfB7IKcPoTbSwnS3Kag5PVv3e3xfW6ZCsDweYZLQntUd2WGgaoekdm1uIbVuvPxnDH2t880iGQ==
-
-sass-embedded-darwin-x64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.83.1.tgz#1ea66bf965a34751c9b702d480b2da8826c6752a"
- integrity sha512-RWrmLtUhEP5kvcGOAFdr99/ebZ/eW9z3FAktLldvgl2k96WSTC1Zr2ctL0E+Y+H3uLahEZsshIFk6RkVIRKIsA==
-
-sass-embedded-linux-arm64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.83.1.tgz#f538d543b660d4b6e650e2c4733bcd35caa34729"
- integrity sha512-HVIytzj8OO18fmBY6SVRIYErcJ+Nd9a5RNF6uArav/CqvwPLATlUV8dwqSyWQIzSsQUhDF/vFIlJIoNLKKzD3A==
-
-sass-embedded-linux-arm@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.83.1.tgz#205b72831d682824135f6a0593eb8486e3dc89a9"
- integrity sha512-y7rHuRgjg2YM284rin068PsEdthPljSGb653Slut5Wba4A2IP11UNVraSl6Je2AYTuoPRjQX0g7XdsrjXlzC3g==
-
-sass-embedded-linux-ia32@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.83.1.tgz#3f1782a7f1f5e8a339514154999a1c2434308f4f"
- integrity sha512-/pc+jHllyvfaYYLTRCoXseRc4+V3Z7IDPqsviTcfVdICAoR9mgK2RtIuIZanhm1NP/lDylDOgvj1NtjcA2dNvg==
-
-sass-embedded-linux-musl-arm64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.83.1.tgz#7559f40d4bd1ff892534fb37bee052cc84cbe36e"
- integrity sha512-wjSIYYqdIQp3DjliSTYNFg04TVqQf/3Up/Stahol0Qf/TTjLkjHHtT2jnDaZI5GclHi2PVJqQF3wEGB8bGJMzQ==
-
-sass-embedded-linux-musl-arm@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.83.1.tgz#3da3bb31b227d2ebd17ac6c0eb83f6be97cfa5b0"
- integrity sha512-sFM8GXOVoeR91j9MiwNRcFXRpTA7u4185SaGuvUjcRMb84mHvtWOJPGDvgZqbWdVClBRJp6J7+CShliWngy/og==
-
-sass-embedded-linux-musl-ia32@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.83.1.tgz#64ddd8ac44c06c89f9775d483b17415d1007ba51"
- integrity sha512-iwhTH5gwmoGt3VH6dn4WV8N6eWvthKAvUX5XPURq7e9KEsc7QP8YNHagwaAJh7TAPopb32buyEg6oaUmzxUI+Q==
-
-sass-embedded-linux-musl-riscv64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.83.1.tgz#a73dbbf95005686bb3e17fe2acb798374e527f5b"
- integrity sha512-FjFNWHU1n0Q6GpK1lAHQL5WmzlPjL8DTVLkYW2A/dq8EsutAdi3GfpeyWZk9bte8kyWdmPUWG3BHlnQl22xdoA==
-
-sass-embedded-linux-musl-x64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.83.1.tgz#1a0ce68dcfb5ccefdfeea499f54b264056c28f3f"
- integrity sha512-BUfYR5TIDvgGHWhxSIKwTJocXU88ECZ0BW89RJqtvr7m83fKdf5ylTFCOieU7BwcA7SORUeZzcQzVFIdPUM3BQ==
-
-sass-embedded-linux-riscv64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.83.1.tgz#16b7ac2fb2a75fd078d7145fff99393fd52b527c"
- integrity sha512-KOBGSpMrJi8y+H+za3vAAVQImPUvQa5eUrvTbbOl+wkU7WAGhOu8xrxgmYYiz3pZVBBcfRjz4I2jBcDFKJmWSw==
-
-sass-embedded-linux-x64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.83.1.tgz#c5246de763ea335156e922c6fc8ad81295ea6e8a"
- integrity sha512-swUsMHKqlEU9dZQ/I5WADDaXz+QkmJS27x/Oeh+oz41YgZ0ppKd0l4Vwjn0LgOQn+rxH1zLFv6xXDycvj68F/w==
-
-sass-embedded-win32-arm64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.83.1.tgz#9da87fb562ff0871479ffb8f974f7bf063fca12d"
- integrity sha512-6lONEBN5TaFD5L/y68zUugryXqm4RAFuLdaOPeZQRu+7ay/AmfhtFYfE5gRssnIcIx1nlcoq7zA3UX+SN2jo1Q==
-
-sass-embedded-win32-ia32@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.83.1.tgz#b9bd2c90bc61e4a4041a0b78094babb5127077e4"
- integrity sha512-HxZDkAE9n6Gb8Rz6xd67VHuo5FkUSQ4xPb7cHKa4pE0ndwH5Oc0uEhbqjJobpgmnuTm1rQYNU2nof1sFhy2MFA==
-
-sass-embedded-win32-x64@1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.83.1.tgz#6682a4da188819a4914fe43e5150de5b532eb112"
- integrity sha512-5Q0aPfUaqRek8Ee1AqTUIC0o6yQSA8QwyhCgh7upsnHG3Ltm8pkJOYjzm+UgYPJeoMNppDjdDlRGQISE7qzd4g==
-
-sass-embedded@^1.83.1:
- version "1.83.1"
- resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.83.1.tgz#baee74a20688db6b4ec521f3be535f607147765e"
- integrity sha512-LdKG6nxLEzpXbMUt0if12PhUNonGvy91n7IWHOZRZjvA6AWm9oVdhpO+KEXN/Sc+jjGvQeQcav9+Z8DwmII/pA==
+safe-regex-test@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1"
+ integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==
dependencies:
- "@bufbuild/protobuf" "^2.0.0"
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-regex "^1.2.1"
+
+sass-embedded-all-unknown@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.90.0.tgz#100856404cdfa8c865254a8b4ff3e3216b261b25"
+ integrity sha512-/n7jTQvI+hftDDrHzK19G4pxfDzOhtjuQO1K54ui1pT2S0sWfWDjCYUbQgtWQ6FO7g5qWS0hgmrWdc7fmS3rgA==
+ dependencies:
+ sass "1.90.0"
+
+sass-embedded-android-arm64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.90.0.tgz#dbe391c9075dfd24082f766ef80d4861735ef43e"
+ integrity sha512-bkTlewzWksa6Sj4Zs1CWiutnvUbsO3xuYh2QBRknXsOtuMlfTPoXnwhCnyE4lSvUxw2qxSbv+NdQev9qMfsBgA==
+
+sass-embedded-android-arm@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.90.0.tgz#26f49a11c7d8cd8050398e575501e435a8bc85ac"
+ integrity sha512-usF6kVJQWa1CMgPH1nCT1y8KEmAT2fzB00dDIPBYHq8U5VZLCihi2bJRP5U9NlcwP1TlKGKCjwsbIdSjDKfecg==
+
+sass-embedded-android-riscv64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.90.0.tgz#3b05ccc450de91f907b037ff6093db327b784bca"
+ integrity sha512-bpqCIOaX+0Lou/BNJ4iJIKbWbVaYXFdg26C3gG6gxxKZRzp/6OYCxHrIQDwhKz6YC8Q5rwNPMpfDVYbWPcgroA==
+
+sass-embedded-android-x64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.90.0.tgz#49bdbce72ea8d95a9a0583ea4a47614b99639df4"
+ integrity sha512-GNxVKnCMd/p2icZ+Q4mhvNk19NrLXq1C4guiqjrycHYQLEnxRkjbW1QXYiL+XyDn4e+Bcq0knzG0I9pMuNZxkg==
+
+sass-embedded-darwin-arm64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.90.0.tgz#4c69c3eae4904e4ffaa708e7349876590fd43a63"
+ integrity sha512-qr4KBMJfBA+lzXiWnP00qzpLzHQzGd1OSK3VHcUFjZ8l7VOYf2R7Tc3fcTLhpaNPMJtTK0jrk8rFqBvsiZExnA==
+
+sass-embedded-darwin-x64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.90.0.tgz#219a522373e55be2c368e6f2cfbf02d52cd939e3"
+ integrity sha512-z2nr1nNqtWDLVRwTbHtL7zriK90U7O/Gb15UaCSMYeAz9Y+wog5s/sDEKm0+GsVdzzkaCaMZRWGN4jTilnUwmQ==
+
+sass-embedded-linux-arm64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.90.0.tgz#37a2243cd568345d3f3b46a08b0312a81a3a454b"
+ integrity sha512-SPMcGZuP71Fj8btCGtlBnv8h8DAbJn8EQfLzXs9oo6NGFFLVjNGiFpqGfgtUV6DLWCuaRyEFeViO7wZow/vKGQ==
+
+sass-embedded-linux-arm@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.90.0.tgz#f469be47c5c63e5c9bcb237d374c079f364bf9bf"
+ integrity sha512-FeBxI5Q2HvM3CCadcEcQgvWbDPVs2YEF0PZ87fbAVTCG8dV+iNnQreSz7GRJroknpvbRhm5t2gedvcgmTnPb2Q==
+
+sass-embedded-linux-musl-arm64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.90.0.tgz#e4e3997ac28f92e2a9b88d9c3c488af880f338c0"
+ integrity sha512-xLH7+PFq763MoEm3vI7hQk5E+nStiLWbijHEYW/tEtCbcQIphgzSkDItEezxXew3dU4EJ1jqrBUySPdoXFLqWA==
+
+sass-embedded-linux-musl-arm@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.90.0.tgz#3f473c8630355f3509856578195583c2e8879388"
+ integrity sha512-EB2z0fUXdUdvSoddf4DzdZQkD/xyreD72gwAi8YScgUvR4HMXI7bLcK/n78Rft6OnqvV8090hjC8FsLDo3x5xQ==
+
+sass-embedded-linux-musl-riscv64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.90.0.tgz#8b8609194af17c6c35799a3fc795031ac2dcf6a9"
+ integrity sha512-L21UkOgnSrD+ERF+jo1IWneGv40t0ap9+3cI+wZWYhQS5MkxponhT9QaNU57JEDJwB9mOl01LVw14opz4SN+VQ==
+
+sass-embedded-linux-musl-x64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.90.0.tgz#a5fa52c9ab887c7315a9bbe6ab59c346a882cf60"
+ integrity sha512-NeAycQlsdhFdnIeSmRmScYUyCd+uE+x15NLFunbF8M0PgCKurrUhaxgGKSuBbaK56FpxarKOHCqcOrWbemIGzQ==
+
+sass-embedded-linux-riscv64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.90.0.tgz#481d63c314e2f5b54224f6c0686a4b2970ab2092"
+ integrity sha512-lJopaQhW8S+kaQ61vMqq3c+bOurcf9RdZf2EmzQYpc2y1vT5cWfRNrRkbAgO/23IQxsk/fq3UIUnsjnyQmi6MA==
+
+sass-embedded-linux-x64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.90.0.tgz#a636d9398702b4dbb8997af95ac28295cb69b9b6"
+ integrity sha512-Cc061gBfMPwH9rN7neQaH36cvOQC+dFMSGIeX5qUOhrEL4Ng51iqBV6aI4RIB1jCFGth6eDydVRN1VdV9qom8A==
+
+sass-embedded-unknown-all@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.90.0.tgz#d27d5821c1de0c87a740b49543f18194c1cd6dbb"
+ integrity sha512-DBGzHVCJDqtjTHZFohush9YTxd4ZxhIygIRTNRXnA0359woF9Z8AS7/YxfzwkqrTX5durSJa6ZamGFYVLoRphQ==
+ dependencies:
+ sass "1.90.0"
+
+sass-embedded-win32-arm64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.90.0.tgz#4c371f560566451a3b5e899ba85ed8d62f7283f0"
+ integrity sha512-c3/vL/CATnaW3x/6kcNbCROEOUU7zvJpIURp7M9664GJj08/gLPRWKNruw0OkAPQ3C5TTQz7+/fQWEpRA6qmvA==
+
+sass-embedded-win32-x64@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.90.0.tgz#bb3cd18b43f6e4c4e40f1d8ca3a62800db50463a"
+ integrity sha512-PFwdW7AYtCkwi3NfWFeexvIZEJ0nuShp8Bjjc3px756+18yYwBWa78F4TGdIQmJfpYKBhgkVjFOctwq+NCHntA==
+
+sass-embedded@^1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.90.0.tgz#a809c9c0515a7fff3e2735c82b48b9bb73fb964b"
+ integrity sha512-XP1EltyLLfuU5FsGVjSz8PcT925oA3rDnJTWOEBHR42k62ZEbKTcZ4gVlFwKi0Ggzi5E8v1K2BplD8ELHwusYg==
+ dependencies:
+ "@bufbuild/protobuf" "^2.5.0"
buffer-builder "^0.2.0"
colorjs.io "^0.5.0"
immutable "^5.0.2"
@@ -4847,35 +5309,44 @@ sass-embedded@^1.83.1:
sync-child-process "^1.0.2"
varint "^6.0.0"
optionalDependencies:
- sass-embedded-android-arm "1.83.1"
- sass-embedded-android-arm64 "1.83.1"
- sass-embedded-android-ia32 "1.83.1"
- sass-embedded-android-riscv64 "1.83.1"
- sass-embedded-android-x64 "1.83.1"
- sass-embedded-darwin-arm64 "1.83.1"
- sass-embedded-darwin-x64 "1.83.1"
- sass-embedded-linux-arm "1.83.1"
- sass-embedded-linux-arm64 "1.83.1"
- sass-embedded-linux-ia32 "1.83.1"
- sass-embedded-linux-musl-arm "1.83.1"
- sass-embedded-linux-musl-arm64 "1.83.1"
- sass-embedded-linux-musl-ia32 "1.83.1"
- sass-embedded-linux-musl-riscv64 "1.83.1"
- sass-embedded-linux-musl-x64 "1.83.1"
- sass-embedded-linux-riscv64 "1.83.1"
- sass-embedded-linux-x64 "1.83.1"
- sass-embedded-win32-arm64 "1.83.1"
- sass-embedded-win32-ia32 "1.83.1"
- sass-embedded-win32-x64 "1.83.1"
+ sass-embedded-all-unknown "1.90.0"
+ sass-embedded-android-arm "1.90.0"
+ sass-embedded-android-arm64 "1.90.0"
+ sass-embedded-android-riscv64 "1.90.0"
+ sass-embedded-android-x64 "1.90.0"
+ sass-embedded-darwin-arm64 "1.90.0"
+ sass-embedded-darwin-x64 "1.90.0"
+ sass-embedded-linux-arm "1.90.0"
+ sass-embedded-linux-arm64 "1.90.0"
+ sass-embedded-linux-musl-arm "1.90.0"
+ sass-embedded-linux-musl-arm64 "1.90.0"
+ sass-embedded-linux-musl-riscv64 "1.90.0"
+ sass-embedded-linux-musl-x64 "1.90.0"
+ sass-embedded-linux-riscv64 "1.90.0"
+ sass-embedded-linux-x64 "1.90.0"
+ sass-embedded-unknown-all "1.90.0"
+ sass-embedded-win32-arm64 "1.90.0"
+ sass-embedded-win32-x64 "1.90.0"
-sass-loader@^16.0.4:
- version "16.0.4"
- resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.4.tgz#5c2afb755fbc0a45a004369efa11579518a39a45"
- integrity sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==
+sass-loader@^16.0.5:
+ version "16.0.5"
+ resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.5.tgz#257bc90119ade066851cafe7f2c3f3504c7cda98"
+ integrity sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==
dependencies:
neo-async "^2.6.2"
-schema-utils@^3.0.0, schema-utils@^3.2.0:
+sass@1.90.0:
+ version "1.90.0"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.90.0.tgz#d6fc2be49c7c086ce86ea0b231a35bf9e33cb84b"
+ integrity sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==
+ dependencies:
+ chokidar "^4.0.0"
+ immutable "^5.0.2"
+ source-map-js ">=0.6.2 <2.0.0"
+ optionalDependencies:
+ "@parcel/watcher" "^2.4.1"
+
+schema-utils@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe"
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
@@ -4884,64 +5355,30 @@ schema-utils@^3.0.0, schema-utils@^3.2.0:
ajv "^6.12.5"
ajv-keywords "^3.5.2"
-schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0"
- integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==
+"schema-utils@^3.0.0 || ^4.0.0", schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0, schema-utils@^4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae"
+ integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==
dependencies:
"@types/json-schema" "^7.0.9"
ajv "^8.9.0"
ajv-formats "^2.1.1"
ajv-keywords "^5.1.0"
-select-hose@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
- integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==
-
select@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==
-selfsigned@^2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0"
- integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==
- dependencies:
- "@types/node-forge" "^1.3.0"
- node-forge "^1"
-
semver@^6.3.0, 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==
-semver@^7.3.4, semver@^7.5.4:
- version "7.5.4"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-send@0.19.0:
- version "0.19.0"
- resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8"
- integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
- dependencies:
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "2.0.0"
- mime "1.6.0"
- ms "2.1.3"
- on-finished "2.4.1"
- range-parser "~1.2.1"
- statuses "2.0.1"
+semver@^7.3.2, semver@^7.3.4, semver@^7.5.4:
+ version "7.6.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
+ integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
serialize-javascript@^6.0.2:
version "6.0.2"
@@ -4950,29 +5387,6 @@ serialize-javascript@^6.0.2:
dependencies:
randombytes "^2.1.0"
-serve-index@^1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
- integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==
- dependencies:
- accepts "~1.3.4"
- batch "0.6.1"
- debug "2.6.9"
- escape-html "~1.0.3"
- http-errors "~1.6.2"
- mime-types "~2.1.17"
- parseurl "~1.3.2"
-
-serve-static@1.16.2:
- version "1.16.2"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296"
- integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
- dependencies:
- encodeurl "~2.0.0"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.19.0"
-
set-function-length@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed"
@@ -4983,7 +5397,7 @@ set-function-length@^1.1.1:
gopd "^1.0.1"
has-property-descriptors "^1.0.0"
-set-function-length@^1.2.1:
+set-function-length@^1.2.1, set-function-length@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
@@ -5004,7 +5418,7 @@ set-function-name@^2.0.0:
functions-have-names "^1.2.3"
has-property-descriptors "^1.0.0"
-set-function-name@^2.0.1:
+set-function-name@^2.0.1, set-function-name@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985"
integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==
@@ -5014,15 +5428,14 @@ set-function-name@^2.0.1:
functions-have-names "^1.2.3"
has-property-descriptors "^1.0.2"
-setprototypeof@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
- integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
-
-setprototypeof@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
- integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+set-proto@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e"
+ integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
shallow-clone@^3.0.0:
version "3.0.1"
@@ -5043,10 +5456,39 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-shell-quote@^1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680"
- integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==
+shellwords@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
+ integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
+
+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"
+ integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+
+side-channel-map@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
+ integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+
+side-channel-weakmap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
+ integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+ side-channel-map "^1.0.1"
side-channel@^1.0.4:
version "1.0.4"
@@ -5057,15 +5499,16 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-side-channel@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
- integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
+side-channel@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
+ integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
dependencies:
- call-bind "^1.0.7"
es-errors "^1.3.0"
- get-intrinsic "^1.2.4"
- object-inspect "^1.13.1"
+ object-inspect "^1.13.3"
+ side-channel-list "^1.0.0"
+ side-channel-map "^1.0.1"
+ side-channel-weakmap "^1.0.2"
signal-exit@^4.0.1:
version "4.1.0"
@@ -5086,21 +5529,12 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
-sockjs@^0.3.24:
- version "0.3.24"
- resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce"
- integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==
- dependencies:
- faye-websocket "^0.11.3"
- uuid "^8.3.2"
- websocket-driver "^0.7.4"
-
source-list-map@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-source-map-js@^1.0.1, source-map-js@^1.2.1:
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, 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"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
@@ -5113,7 +5547,7 @@ source-map-support@~0.5.20:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
+source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
@@ -5144,38 +5578,18 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f"
integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==
-spdy-transport@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
- integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
+stackframe@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310"
+ integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
+
+stop-iteration-iterator@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad"
+ integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==
dependencies:
- debug "^4.1.0"
- detect-node "^2.0.4"
- hpack.js "^2.1.6"
- obuf "^1.1.2"
- readable-stream "^3.0.6"
- wbuf "^1.7.3"
-
-spdy@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
- integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
- dependencies:
- debug "^4.1.0"
- handle-thing "^2.0.0"
- http-deceiver "^1.2.7"
- select-hose "^2.0.0"
- spdy-transport "^3.0.0"
-
-statuses@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
- integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
-
-"statuses@>= 1.4.0 < 2":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
- integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+ es-errors "^1.3.0"
+ internal-slot "^1.1.0"
string-width@^4.2.3:
version "4.2.3"
@@ -5186,6 +5600,19 @@ string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
+string.prototype.trim@^1.2.10:
+ version "1.2.10"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81"
+ integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ define-data-property "^1.1.4"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-object-atoms "^1.0.0"
+ has-property-descriptors "^1.0.2"
+
string.prototype.trim@^1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd"
@@ -5205,12 +5632,13 @@ string.prototype.trim@^1.2.9:
es-abstract "^1.23.0"
es-object-atoms "^1.0.0"
-string.prototype.trimend@^1.0.7, string.prototype.trimend@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229"
- integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==
+string.prototype.trimend@^1.0.7, string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942"
+ integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==
dependencies:
- call-bind "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
@@ -5232,21 +5660,7 @@ string.prototype.trimstart@^1.0.8:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.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==
@@ -5270,6 +5684,11 @@ strip-json-comments@^3.1.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+style-loader@^3.3.0:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7"
+ integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==
+
style-loader@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-4.0.0.tgz#0ea96e468f43c69600011e0589cb05c44f3b17a5"
@@ -5280,6 +5699,14 @@ style-search@^0.1.0:
resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==
+stylehacks@^7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-7.0.4.tgz#9c21f7374f4bccc0082412b859b3c89d77d3277c"
+ integrity sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==
+ dependencies:
+ browserslist "^4.23.3"
+ postcss-selector-parser "^6.1.2"
+
stylelint-config-recommended-scss@^13.1.0:
version "13.1.0"
resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-13.1.0.tgz#04e529ae0e9c1abb1e04de79258461c07811876f"
@@ -5320,17 +5747,6 @@ stylelint-scss@^5.3.0, stylelint-scss@^5.3.2:
postcss-selector-parser "^6.0.13"
postcss-value-parser "^4.2.0"
-stylelint-webpack-plugin@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/stylelint-webpack-plugin/-/stylelint-webpack-plugin-5.0.1.tgz#13a7589a8d4cc00b155b9f792876334ca0bcaf71"
- integrity sha512-07lpo1uVoFctKv0EOOg/YSrUppcLMjNBSMRqgooNnlbfAOgQfMzvLK+EbXz0HQiEgZobr+XQX9md/TgwTGdzbw==
- dependencies:
- globby "^11.1.0"
- jest-worker "^29.7.0"
- micromatch "^4.0.5"
- normalize-path "^3.0.0"
- schema-utils "^4.2.0"
-
stylelint@^15.11.0:
version "15.11.0"
resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.11.0.tgz#3ff8466f5f5c47362bc7c8c9d382741c58bc3292"
@@ -5377,6 +5793,13 @@ stylelint@^15.11.0:
table "^6.8.1"
write-file-atomic "^5.0.1"
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
supports-color@^7.0.0, supports-color@^7.1.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
@@ -5409,6 +5832,19 @@ svg-tags@^1.0.0:
resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
+svgo@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8"
+ integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^5.1.0"
+ css-tree "^2.3.1"
+ css-what "^6.1.0"
+ csso "^5.0.5"
+ picocolors "^1.0.0"
+
sync-child-process@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/sync-child-process/-/sync-child-process-1.0.2.tgz#45e7c72e756d1243e80b547ea2e17957ab9e367f"
@@ -5437,10 +5873,10 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.11:
- version "5.3.11"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz#93c21f44ca86634257cac176f884f942b7ba3832"
- integrity sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==
+terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.11, terser-webpack-plugin@^5.3.14:
+ version "5.3.14"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06"
+ integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==
dependencies:
"@jridgewell/trace-mapping" "^0.3.25"
jest-worker "^27.4.5"
@@ -5463,21 +5899,16 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-thingies@^1.20.0:
- version "1.21.0"
- resolved "https://registry.yarnpkg.com/thingies/-/thingies-1.21.0.tgz#e80fbe58fd6fdaaab8fad9b67bd0a5c943c445c1"
- integrity sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==
-
-thunky@^1.0.2:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
- integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
-
tiny-emitter@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+tmp@^0.2.1:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.4.tgz#c6db987a2ccc97f812f17137b36af2b6521b0d13"
+ integrity sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==
+
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"
@@ -5485,16 +5916,6 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-toidentifier@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
- integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
-
-tree-dump@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.0.2.tgz#c460d5921caeb197bde71d0e9a7b479848c5b8ac"
- integrity sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==
-
trim-newlines@^4.0.2:
version "4.1.1"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125"
@@ -5510,11 +5931,6 @@ tsconfig-paths@^3.15.0:
minimist "^1.2.6"
strip-bom "^3.0.0"
-tslib@^2.0.0:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0"
- integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==
-
tslib@^2.1.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01"
@@ -5537,14 +5953,6 @@ type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
-type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
typed-array-buffer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60"
@@ -5563,6 +5971,15 @@ typed-array-buffer@^1.0.2:
es-errors "^1.3.0"
is-typed-array "^1.1.13"
+typed-array-buffer@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536"
+ integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-typed-array "^1.1.14"
+
typed-array-byte-length@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0"
@@ -5584,6 +6001,17 @@ typed-array-byte-length@^1.0.1:
has-proto "^1.0.3"
is-typed-array "^1.1.13"
+typed-array-byte-length@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce"
+ integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==
+ dependencies:
+ call-bind "^1.0.8"
+ for-each "^0.3.3"
+ gopd "^1.2.0"
+ has-proto "^1.2.0"
+ is-typed-array "^1.1.14"
+
typed-array-byte-offset@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b"
@@ -5607,6 +6035,19 @@ typed-array-byte-offset@^1.0.2:
has-proto "^1.0.3"
is-typed-array "^1.1.13"
+typed-array-byte-offset@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355"
+ integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==
+ dependencies:
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ for-each "^0.3.3"
+ gopd "^1.2.0"
+ has-proto "^1.2.0"
+ is-typed-array "^1.1.15"
+ reflect.getprototypeof "^1.0.9"
+
typed-array-length@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
@@ -5628,6 +6069,18 @@ typed-array-length@^1.0.6:
is-typed-array "^1.1.13"
possible-typed-array-names "^1.0.0"
+typed-array-length@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d"
+ integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==
+ dependencies:
+ call-bind "^1.0.7"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ is-typed-array "^1.1.13"
+ possible-typed-array-names "^1.0.0"
+ reflect.getprototypeof "^1.0.6"
+
unbox-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
@@ -5638,6 +6091,16 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2"
+unbox-primitive@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2"
+ integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==
+ dependencies:
+ call-bound "^1.0.3"
+ has-bigints "^1.0.2"
+ has-symbols "^1.1.0"
+ which-boxed-primitive "^1.1.1"
+
undici-types@~5.26.4:
version "5.26.5"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
@@ -5666,18 +6129,13 @@ unicode-property-aliases-ecmascript@^2.0.0:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
- integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
-
-update-browserslist-db@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e"
- integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==
+update-browserslist-db@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
dependencies:
- escalade "^3.1.2"
- picocolors "^1.0.1"
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
uri-js@^4.2.2:
version "4.4.1"
@@ -5695,17 +6153,17 @@ url-loader@^4.1.1:
mime-types "^2.1.27"
schema-utils "^3.0.0"
-util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+util-deprecate@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
- integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+utila@~0.4:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
+ integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==
-uuid@^8.3.2:
+uuid@^8.3.0:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
@@ -5723,11 +6181,6 @@ varint@^6.0.0:
resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0"
integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==
-vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
- integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-
watchpack@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff"
@@ -5741,13 +6194,6 @@ waypoints@^4.0.1:
resolved "https://registry.yarnpkg.com/waypoints/-/waypoints-4.0.1.tgz#09979a0573810b29627cba4366a284a062ec69c8"
integrity sha512-PbydbsTvCFYoE1DaRAKBM4xPQi+7ULcULZ7vK79NLM55da5g46oyY62Xv9X5Z9F7O/qXmcS/XJ7Ae2pYij4bpw==
-wbuf@^1.1.0, wbuf@^1.7.3:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
- integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
- dependencies:
- minimalistic-assert "^1.0.0"
-
webpack-cli@^5.1.4:
version "5.1.4"
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b"
@@ -5767,55 +6213,10 @@ webpack-cli@^5.1.4:
rechoir "^0.8.0"
webpack-merge "^5.7.3"
-webpack-dev-middleware@^7.4.2:
- version "7.4.2"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz#40e265a3d3d26795585cff8207630d3a8ff05877"
- integrity sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==
- dependencies:
- colorette "^2.0.10"
- memfs "^4.6.0"
- mime-types "^2.1.31"
- on-finished "^2.4.1"
- range-parser "^1.2.1"
- schema-utils "^4.0.0"
-
-webpack-dev-server@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz#68043886edaa3fd875ad20e01589990a79612f9c"
- integrity sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==
- dependencies:
- "@types/bonjour" "^3.5.13"
- "@types/connect-history-api-fallback" "^1.5.4"
- "@types/express" "^4.17.21"
- "@types/serve-index" "^1.9.4"
- "@types/serve-static" "^1.15.5"
- "@types/sockjs" "^0.3.36"
- "@types/ws" "^8.5.10"
- ansi-html-community "^0.0.8"
- bonjour-service "^1.2.1"
- chokidar "^3.6.0"
- colorette "^2.0.10"
- compression "^1.7.4"
- connect-history-api-fallback "^2.0.0"
- express "^4.21.2"
- graceful-fs "^4.2.6"
- http-proxy-middleware "^2.0.7"
- ipaddr.js "^2.1.0"
- launch-editor "^2.6.1"
- open "^10.0.3"
- p-retry "^6.2.0"
- schema-utils "^4.2.0"
- selfsigned "^2.4.1"
- serve-index "^1.9.1"
- sockjs "^0.3.24"
- spdy "^4.0.2"
- webpack-dev-middleware "^7.4.2"
- ws "^8.18.0"
-
-webpack-manifest-plugin@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-5.0.0.tgz#084246c1f295d1b3222d36e955546433ca8df803"
- integrity sha512-8RQfMAdc5Uw3QbCQ/CBV/AXqOR8mt03B6GJmRbhWopE8GzRfEpn+k0ZuWywxW+5QZsffhmFDY1J6ohqJo+eMuw==
+webpack-manifest-plugin@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-5.0.1.tgz#8d401fec7fa587cba5af561eb60e39d6a8050e8a"
+ integrity sha512-xTlX7dC3hrASixA2inuWFMz6qHsNi6MT3Uiqw621sJjRTShtpMjbDYhPPZBwWUKdIYKIjSq9em6+uzWayf38aQ==
dependencies:
tapable "^2.0.0"
webpack-sources "^2.2.0"
@@ -5838,6 +6239,14 @@ webpack-merge@^6.0.1:
flat "^5.0.2"
wildcard "^2.0.1"
+webpack-notifier@^1.15.0:
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/webpack-notifier/-/webpack-notifier-1.15.0.tgz#72644a1a4ec96b3528704d28f79da5e70048e8ee"
+ integrity sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==
+ dependencies:
+ node-notifier "^9.0.0"
+ strip-ansi "^6.0.0"
+
webpack-sources@^2.2.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd"
@@ -5846,25 +6255,27 @@ webpack-sources@^2.2.0:
source-list-map "^2.0.1"
source-map "^0.6.1"
-webpack-sources@^3.2.3:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
- integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+webpack-sources@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723"
+ integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==
-webpack@^5.97.1:
- version "5.97.1"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.1.tgz#972a8320a438b56ff0f1d94ade9e82eac155fa58"
- integrity sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==
+webpack@^5.101.2:
+ version "5.101.2"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.101.2.tgz#08c222b7acfce7da95c593e2f88ea1638a07b344"
+ integrity sha512-4JLXU0tD6OZNVqlwzm3HGEhAHufSiyv+skb7q0d2367VDMzrU1Q/ZeepvkcHH0rZie6uqEtTQQe0OEOOluH3Mg==
dependencies:
"@types/eslint-scope" "^3.7.7"
- "@types/estree" "^1.0.6"
+ "@types/estree" "^1.0.8"
+ "@types/json-schema" "^7.0.15"
"@webassemblyjs/ast" "^1.14.1"
"@webassemblyjs/wasm-edit" "^1.14.1"
"@webassemblyjs/wasm-parser" "^1.14.1"
- acorn "^8.14.0"
+ acorn "^8.15.0"
+ acorn-import-phases "^1.0.3"
browserslist "^4.24.0"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.17.1"
+ enhanced-resolve "^5.17.3"
es-module-lexer "^1.2.1"
eslint-scope "5.1.1"
events "^3.2.0"
@@ -5874,25 +6285,11 @@ webpack@^5.97.1:
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
- schema-utils "^3.2.0"
+ schema-utils "^4.3.2"
tapable "^2.1.1"
- terser-webpack-plugin "^5.3.10"
+ terser-webpack-plugin "^5.3.11"
watchpack "^2.4.1"
- webpack-sources "^3.2.3"
-
-websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
- integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
- dependencies:
- http-parser-js ">=0.5.1"
- safe-buffer ">=5.1.0"
- websocket-extensions ">=0.1.1"
-
-websocket-extensions@>=0.1.1:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
- integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
+ webpack-sources "^3.3.3"
which-boxed-primitive@^1.0.2:
version "1.0.2"
@@ -5905,6 +6302,46 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
+which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e"
+ integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==
+ dependencies:
+ is-bigint "^1.1.0"
+ is-boolean-object "^1.2.1"
+ is-number-object "^1.1.1"
+ is-string "^1.1.1"
+ is-symbol "^1.1.1"
+
+which-builtin-type@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e"
+ integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==
+ dependencies:
+ call-bound "^1.0.2"
+ function.prototype.name "^1.1.6"
+ has-tostringtag "^1.0.2"
+ is-async-function "^2.0.0"
+ is-date-object "^1.1.0"
+ is-finalizationregistry "^1.1.0"
+ is-generator-function "^1.0.10"
+ is-regex "^1.2.1"
+ is-weakref "^1.0.2"
+ isarray "^2.0.5"
+ which-boxed-primitive "^1.1.0"
+ which-collection "^1.0.2"
+ which-typed-array "^1.1.16"
+
+which-collection@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0"
+ integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==
+ dependencies:
+ is-map "^2.0.3"
+ is-set "^2.0.3"
+ is-weakmap "^2.0.2"
+ is-weakset "^2.0.3"
+
which-typed-array@^1.1.11, which-typed-array@^1.1.13:
version "1.1.13"
resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36"
@@ -5927,6 +6364,19 @@ which-typed-array@^1.1.14, which-typed-array@^1.1.15:
gopd "^1.0.1"
has-tostringtag "^1.0.2"
+which-typed-array@^1.1.16, which-typed-array@^1.1.19:
+ version "1.1.19"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956"
+ integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==
+ dependencies:
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ for-each "^0.3.5"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+
which@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
@@ -5934,7 +6384,7 @@ which@^1.3.1:
dependencies:
isexe "^2.0.0"
-which@^2.0.1:
+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==
@@ -5959,18 +6409,6 @@ write-file-atomic@^5.0.1:
imurmurhash "^0.1.4"
signal-exit "^4.0.1"
-ws@^8.18.0:
- version "8.18.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
- integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
-
-xpath-range@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/xpath-range/-/xpath-range-0.0.5.tgz#45d3379555c72c2f218abb8ba424d42e0665d911"
- integrity sha512-8GDIhHLgdRPajLw0VtsjLaj4e0WVpp/64oTX4ZHEZlCOjeK91RuJw+eCop5BKVxYPPKAx03V50S/3MrLX16NcQ==
- dependencies:
- jquery "~1.11.0"
-
yallist@^3.0.2:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
@@ -5986,6 +6424,11 @@ yargs-parser@^20.2.9:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+yargs-parser@^21.0.0:
+ version "21.1.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"