From f49a1406221e5dc0c1a363a8182c5fda3e271149 Mon Sep 17 00:00:00 2001 From: dimmur-brw Date: Fri, 8 May 2026 07:05:07 +0200 Subject: [PATCH 1/5] Detect Jira cloud / on-prem (#5307) --- backend/pyproject.toml | 1 + backend/uv.lock | 54 +++ .../bug/5306_detect_jira_deployment_type.json | 9 + .../data_sync/jira_client.py | 185 +++++++++ .../data_sync/jira_issues_data_sync.py | 111 +----- .../data_sync/test_jira_client.py | 351 ++++++++++++++++++ .../data_sync/test_jira_issues_data_sync.py | 29 +- 7 files changed, 635 insertions(+), 105 deletions(-) create mode 100644 changelog/entries/unreleased/bug/5306_detect_jira_deployment_type.json create mode 100644 enterprise/backend/src/baserow_enterprise/data_sync/jira_client.py create mode 100644 enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_client.py diff --git a/backend/pyproject.toml b/backend/pyproject.toml index dd8469a9e3..8b4410e038 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -88,6 +88,7 @@ dependencies = [ "typing_extensions>=4.14.1", "icalendar==6.3.2", "jira2markdown==0.5", + "atlassian-python-api==4.0.7", "openpyxl==3.1.5", "zipstream-ng==1.9.0", "mcp==1.26.0", diff --git a/backend/uv.lock b/backend/uv.lock index e6fd5349ce..80e41c3f21 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -111,6 +111,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a", size = 27047, upload-time = "2025-11-15T16:43:16.109Z" }, ] +[[package]] +name = "atlassian-python-api" +version = "4.0.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "deprecated", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "jmespath", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "oauthlib", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "requests", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "requests-oauthlib", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "typing-extensions", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/40/e8/f23b7273e410c6fe9f98f9db25268c6736572f22a9566d1dc9ed3614bb68/atlassian_python_api-4.0.7.tar.gz", hash = "sha256:8d9cc6068b1d2a48eb434e22e57f6bbd918a47fac9e46b95b7a3cefb00fceacb", size = 271149, upload-time = "2025-08-21T13:19:40.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/83/e4f9976ce3c933a079b8931325e7a9c0a8bba7030a2cb85764c0048f3479/atlassian_python_api-4.0.7-py3-none-any.whl", hash = "sha256:46a70cb29eaab87c0a1697fccd3e25df1aa477e6aa4fb9ba936a9d46b425933c", size = 197746, upload-time = "2025-08-21T13:19:39.044Z" }, +] + [[package]] name = "attrs" version = "25.4.0" @@ -202,6 +220,7 @@ source = { editable = "." } dependencies = [ { name = "antlr4-python3-runtime", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, { name = "asgiref", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "atlassian-python-api", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, { name = "boto3", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, { name = "brotli", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, { name = "celery", extra = ["redis"], marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, @@ -332,6 +351,7 @@ dev = [ requires-dist = [ { name = "antlr4-python3-runtime", specifier = "==4.9.3" }, { name = "asgiref", specifier = "==3.11.0" }, + { name = "atlassian-python-api", specifier = "==4.0.7" }, { name = "boto3", specifier = "==1.42.57" }, { name = "brotli", specifier = "==1.2.0" }, { name = "celery", extras = ["redis"], specifier = "==5.6.2" }, @@ -469,6 +489,19 @@ name = "baserow-premium" version = "2.2.2" source = { editable = "../premium/backend" } +[[package]] +name = "beautifulsoup4" +version = "4.14.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "typing-extensions", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz", hash = "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86", size = 627737, upload-time = "2025-11-30T15:08:26.084Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721, upload-time = "2025-11-30T15:08:24.087Z" }, +] + [[package]] name = "billiard" version = "4.2.4" @@ -876,6 +909,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, ] +[[package]] +name = "deprecated" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/85/12f0a49a7c4ffb70572b6c2ef13c90c88fd190debda93b23f026b25f9634/deprecated-1.3.1.tar.gz", hash = "sha256:b1b50e0ff0c1fddaa5708a2c6b0a6588bb09b892825ab2b214ac9ea9d92a5223", size = 2932523, upload-time = "2025-10-30T08:19:02.757Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/d0/205d54408c08b13550c733c4b85429e7ead111c7f0014309637425520a9a/deprecated-1.3.1-py2.py3-none-any.whl", hash = "sha256:597bfef186b6f60181535a29fbe44865ce137a5079f295b479886c82729d5f3f", size = 11298, upload-time = "2025-10-30T08:19:00.758Z" }, +] + [[package]] name = "distro" version = "1.9.0" @@ -3555,6 +3600,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" }, ] +[[package]] +name = "soupsieve" +version = "2.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627, upload-time = "2026-01-20T04:27:02.457Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" }, +] + [[package]] name = "sqlparse" version = "0.5.5" diff --git a/changelog/entries/unreleased/bug/5306_detect_jira_deployment_type.json b/changelog/entries/unreleased/bug/5306_detect_jira_deployment_type.json new file mode 100644 index 0000000000..f72dba037f --- /dev/null +++ b/changelog/entries/unreleased/bug/5306_detect_jira_deployment_type.json @@ -0,0 +1,9 @@ +{ + "type": "bug", + "message": "Detect Jira deployment type", + "issue_origin": "github", + "issue_number": 5306, + "domain": "database", + "bullet_points": [], + "created_at": "2026-05-05" +} \ No newline at end of file diff --git a/enterprise/backend/src/baserow_enterprise/data_sync/jira_client.py b/enterprise/backend/src/baserow_enterprise/data_sync/jira_client.py new file mode 100644 index 0000000000..8df2f68891 --- /dev/null +++ b/enterprise/backend/src/baserow_enterprise/data_sync/jira_client.py @@ -0,0 +1,185 @@ +import logging +import math +from typing import Any, Iterator, List, Optional + +from atlassian import Jira +from requests.exceptions import HTTPError, RequestException + +from baserow.contrib.database.data_sync.exceptions import SyncError +from baserow.core.utils import ChildProgressBuilder + +from .models import ( + JIRA_ISSUES_DATA_SYNC_API_TOKEN, + JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN, + JiraIssuesDataSync, +) + +logger = logging.getLogger(__name__) + +JIRA_MAX_RESULTS_PER_PAGE = 50 + +JIRA_NO_ISSUES_ERROR = ( + "No issues found. This is usually because the authentication details are wrong." +) + + +def _first_error_message(http_error: HTTPError) -> str: + """Extract the first error message from a Jira HTTP error response.""" + + response = http_error.response + if response is not None: + try: + data = response.json() + messages = data.get("errorMessages", []) + if messages: + return messages[0] + except Exception: + pass + return str(http_error) + + +def _is_cloud_from_server_info(info: Optional[dict[str, Any]]) -> bool: + """Detect whether the Jira instance is Cloud based on serverInfo response.""" + + if not isinstance(info, dict): + return False + + deployment_type = info.get("deploymentType") + if deployment_type == "Cloud": + return True + elif deployment_type == "Server": + return False + + # Jira Cloud uses version numbers >= 1000 (e.g. 1001.0.0), + # while on-prem/Data Center stays below 1000. + version = info.get("version", "0") + try: + major_version = int(version.split(".")[0]) + if major_version >= 1000: + return True + except (ValueError, IndexError): + pass + return False + + +def _create_jira(instance: JiraIssuesDataSync) -> Jira: + """Create a Jira client with auto-detected cloud/on-prem mode.""" + + kwargs = { + "url": instance.jira_url, + "cloud": False, + "timeout": 10, + } + + if instance.jira_authentication == JIRA_ISSUES_DATA_SYNC_API_TOKEN: + kwargs["username"] = instance.jira_username + kwargs["password"] = instance.jira_api_token + elif instance.jira_authentication == JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN: + kwargs["token"] = instance.jira_api_token + + jira = Jira(**kwargs) + + try: + server_info = jira.get_server_info() + if _is_cloud_from_server_info(server_info): + jira.cloud = True + except (HTTPError, RequestException): + pass + return jira + + +def _approximate_total(jira: Jira, jql: str) -> int: + """Get approximate issue count for Cloud progress tracking.""" + + try: + result = jira.approximate_issue_count(jql) + if isinstance(result, dict): + return int(result.get("count") or 0) + return 0 + except (HTTPError, RequestException) as e: + logger.debug("Could not fetch Jira approximate count: %s", e) + return 0 + + +def _iter_pages(jira: Jira, jql: str) -> Iterator[dict]: + """Yield issue pages from Jira, handling cloud/on-prem pagination differences. + + On-prem responses include 'total'. For Cloud, we look it up once via + approximate_issue_count and stamp it onto every page so callers can + build progress identically for both deployments. + """ + + if jira.cloud: + total = _approximate_total(jira, jql) + token: Optional[str] = None + while True: + page = jira.enhanced_jql( + jql, + fields="*all", + limit=JIRA_MAX_RESULTS_PER_PAGE, + nextPageToken=token, + ) + if not isinstance(page, dict): + raise SyncError("The request to Jira did not return a valid response.") + page.setdefault("total", total) + yield page + token = page.get("nextPageToken") + if not token: + return + else: + start = 0 + while True: + page = jira.jql( + jql, fields="*all", start=start, limit=JIRA_MAX_RESULTS_PER_PAGE + ) + if not isinstance(page, dict): + raise SyncError("The request to Jira did not return a valid response.") + yield page + page_issues = page.get("issues", []) + start += len(page_issues) + total = int(page.get("total") or 0) + if ( + total <= start + or not page_issues + or len(page_issues) < JIRA_MAX_RESULTS_PER_PAGE + ): + return + + +def fetch_issues( + instance: JiraIssuesDataSync, + jql: str, + progress_builder: Optional[ChildProgressBuilder] = None, +) -> List[dict]: + """Fetch all issues matching a JQL query from a Jira instance.""" + + jira = _create_jira(instance) + issues: List[dict] = [] + progress = None + + try: + for i, page in enumerate(_iter_pages(jira, jql)): + if progress is None: + total = int(page.get("total") or 0) + child_total = ( + math.ceil(total / JIRA_MAX_RESULTS_PER_PAGE) if total else 1 + ) + progress = ChildProgressBuilder.build( + progress_builder, child_total=child_total + ) + progress.increment(by=1) + + page_issues = page.get("issues") or [] + if i == 0 and not page_issues: + raise SyncError(JIRA_NO_ISSUES_ERROR) + issues.extend(page_issues) + return issues + except SyncError: + raise + except HTTPError as e: + raise SyncError(_first_error_message(e)) + except RequestException as e: + raise SyncError(f"Error connecting to Jira: {str(e)}") + finally: + if progress is None: + ChildProgressBuilder.build(progress_builder, child_total=1) diff --git a/enterprise/backend/src/baserow_enterprise/data_sync/jira_issues_data_sync.py b/enterprise/backend/src/baserow_enterprise/data_sync/jira_issues_data_sync.py index 0e16b72b95..9a6d8c6c00 100644 --- a/enterprise/backend/src/baserow_enterprise/data_sync/jira_issues_data_sync.py +++ b/enterprise/backend/src/baserow_enterprise/data_sync/jira_issues_data_sync.py @@ -1,11 +1,6 @@ -import math from datetime import datetime from typing import Any, Dict, List, Optional -import requests -from requests.auth import HTTPBasicAuth -from requests.exceptions import JSONDecodeError, RequestException - from baserow.contrib.database.data_sync.exceptions import SyncError from baserow.contrib.database.data_sync.registries import DataSyncProperty, DataSyncType from baserow.contrib.database.data_sync.utils import compare_date @@ -19,11 +14,8 @@ from baserow_enterprise.features import DATA_SYNC from baserow_premium.license.handler import LicenseHandler -from .models import ( - JIRA_ISSUES_DATA_SYNC_API_TOKEN, - JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN, - JiraIssuesDataSync, -) +from .jira_client import fetch_issues +from .models import JiraIssuesDataSync class JiraIDDataSyncProperty(DataSyncProperty): @@ -220,97 +212,6 @@ def _parse_datetime(self, value): except ValueError: raise SyncError(f"The date {value} could not be parsed.") - def _get_issue_count(self, instance, jql, headers, kwargs): - """Get approximate issue count for progress tracking.""" - - url = f"{instance.jira_url}/rest/api/2/search/approximate-count" - try: - response = requests.post( - url, - headers={**headers, "Content-Type": "application/json"}, - json={"jql": jql}, - timeout=10, - **kwargs, - ) - if response.ok: - return response.json().get("count", 0) - except (RequestException, ConnectionError): - pass - return 0 - - def _fetch_issues(self, instance, progress_builder: ChildProgressBuilder): - headers = {"Accept": "application/json"} - kwargs = {} - - if instance.jira_authentication == JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN: - headers["Authorization"] = f"Bearer {instance.jira_api_token}" - - if instance.jira_authentication == JIRA_ISSUES_DATA_SYNC_API_TOKEN: - kwargs["auth"] = HTTPBasicAuth( - instance.jira_username, instance.jira_api_token - ) - - issues = [] - max_results = 50 - next_page_token = None - - if instance.jira_project_key: - jql = f"project={instance.jira_project_key} ORDER BY created DESC" - else: - jql = "created IS NOT EMPTY ORDER BY created DESC" - - issue_count = self._get_issue_count(instance, jql, headers, kwargs) - page_count = math.ceil(issue_count / max_results) if issue_count > 0 else 0 - progress = ChildProgressBuilder.build( - progress_builder, child_total=page_count + 1 - ) - progress.increment(by=1) - - try: - while True: - url = f"{instance.jira_url}/rest/api/2/search/jql" - params = { - "jql": jql, - "maxResults": max_results, - "fields": "*all", - } - if next_page_token: - params["nextPageToken"] = next_page_token - - response = requests.get( - url, headers=headers, params=params, timeout=10, **kwargs - ) - if not response.ok: - try: - json = response.json() - if "errorMessages" in json and len(json["errorMessages"]) > 0: - raise SyncError(json["errorMessages"][0]) - except JSONDecodeError: - pass - raise SyncError( - "The request to Jira did not return an OK response." - ) - - data = response.json() - - progress.increment(by=1) - - if len(data["issues"]) == 0 and next_page_token is None: - raise SyncError( - "No issues found. This is usually because the authentication " - "details are wrong." - ) - - issues.extend(data["issues"]) - - next_page_token = data.get("nextPageToken") - if not next_page_token: - break - except (RequestException, ConnectionError) as e: - raise SyncError(f"Error connecting to Jira: {str(e)}") - - return issues - def get_all_rows( self, instance, @@ -318,10 +219,16 @@ def get_all_rows( ) -> List[Dict]: from jira2markdown import convert + if instance.jira_project_key: + jql = f"project={instance.jira_project_key} ORDER BY created DESC" + else: + jql = "created IS NOT EMPTY ORDER BY created DESC" + issue_list = [] progress = ChildProgressBuilder.build(progress_builder, child_total=10) - fetched_issues = self._fetch_issues( + fetched_issues = fetch_issues( instance, + jql, progress_builder=progress.create_child_builder(represents_progress=9), ) for issue in fetched_issues: diff --git a/enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_client.py b/enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_client.py new file mode 100644 index 0000000000..0363b78af1 --- /dev/null +++ b/enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_client.py @@ -0,0 +1,351 @@ +from unittest.mock import MagicMock + +import pytest +import responses + +from baserow.contrib.database.data_sync.exceptions import SyncError +from baserow_enterprise.data_sync.jira_client import ( + _is_cloud_from_server_info, + fetch_issues, +) +from baserow_enterprise.data_sync.models import ( + JIRA_ISSUES_DATA_SYNC_API_TOKEN, + JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN, +) + +BASE_URL = "https://jira.example.com" + + +def _make_instance(auth_type=JIRA_ISSUES_DATA_SYNC_API_TOKEN, url=BASE_URL): + instance = MagicMock() + instance.jira_url = url + instance.jira_authentication = auth_type + instance.jira_username = "user@test.com" + instance.jira_api_token = "token123" + instance.jira_personal_access_token = "token123" + return instance + + +def test_is_cloud_from_server_info_cloud(): + assert ( + _is_cloud_from_server_info({"deploymentType": "Cloud", "version": "1001.0.0"}) + is True + ) + + +def test_is_cloud_from_server_info_server(): + assert ( + _is_cloud_from_server_info({"deploymentType": "Server", "version": "9.4.0"}) + is False + ) + + +def test_is_cloud_from_server_info_old_version_on_prem(): + assert _is_cloud_from_server_info({"version": "8.20.0"}) is False + + +def test_is_cloud_from_server_info_high_version_cloud(): + assert _is_cloud_from_server_info({"version": "1001.5.0"}) is True + + +def test_is_cloud_from_server_info_no_data(): + assert _is_cloud_from_server_info(None) is False + + +def test_is_cloud_from_server_info_empty_dict(): + assert _is_cloud_from_server_info({}) is False + + +@responses.activate +def test_fetch_issues_detection_failure_falls_back_to_on_prem(): + instance = _make_instance() + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=500, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search", + status=200, + json={ + "issues": [{"id": "1", "key": "TEST-1", "fields": {}}], + "startAt": 0, + "maxResults": 50, + "total": 1, + }, + ) + issues = fetch_issues(instance, "project=TEST") + assert len(issues) == 1 + + +@responses.activate +def test_fetch_issues_cloud_single_page(): + instance = _make_instance() + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Cloud"}, + ) + responses.add( + responses.POST, + f"{BASE_URL}/rest/api/2/search/approximate-count", + status=200, + json={"count": 1}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search/jql", + status=200, + json={"issues": [{"id": "1", "key": "TEST-1", "fields": {}}]}, + ) + issues = fetch_issues(instance, "project=TEST") + assert len(issues) == 1 + assert issues[0]["id"] == "1" + + +@responses.activate +def test_fetch_issues_cloud_pagination(): + instance = _make_instance() + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Cloud"}, + ) + responses.add( + responses.POST, + f"{BASE_URL}/rest/api/2/search/approximate-count", + status=200, + json={"count": 2}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search/jql", + status=200, + json={ + "issues": [{"id": "1", "key": "TEST-1", "fields": {}}], + "nextPageToken": "page2", + }, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search/jql", + status=200, + json={"issues": [{"id": "2", "key": "TEST-2", "fields": {}}]}, + ) + issues = fetch_issues(instance, "project=TEST") + assert len(issues) == 2 + assert issues[1]["id"] == "2" + + +@responses.activate +def test_fetch_issues_cloud_no_issues_error(): + instance = _make_instance() + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Cloud"}, + ) + responses.add( + responses.POST, + f"{BASE_URL}/rest/api/2/search/approximate-count", + status=200, + json={"count": 0}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search/jql", + status=200, + json={"issues": []}, + ) + with pytest.raises(SyncError, match="No issues found"): + fetch_issues(instance, "project=TEST") + assert len(responses.calls) == 3 # serverInfo + approximate-count + search/jql + + +@responses.activate +def test_fetch_issues_cloud_error_response(): + instance = _make_instance() + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Cloud"}, + ) + responses.add( + responses.POST, + f"{BASE_URL}/rest/api/2/search/approximate-count", + status=200, + json={"count": 1}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search/jql", + status=401, + json={"errorMessages": ["Unauthorized"]}, + ) + with pytest.raises(SyncError, match="Unauthorized"): + fetch_issues(instance, "project=TEST") + + +@responses.activate +def test_fetch_issues_on_prem_single_page(): + instance = _make_instance(auth_type=JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Server"}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search", + status=200, + json={ + "issues": [{"id": "1", "key": "TEST-1", "fields": {}}], + "startAt": 0, + "maxResults": 50, + "total": 1, + }, + ) + issues = fetch_issues(instance, "project=TEST") + assert len(issues) == 1 + assert issues[0]["id"] == "1" + + +@responses.activate +def test_fetch_issues_on_prem_pagination(): + instance = _make_instance(auth_type=JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN) + page1_issues = [ + {"id": str(i), "key": f"TEST-{i}", "fields": {}} for i in range(1, 51) + ] + page2_issues = [{"id": "51", "key": "TEST-51", "fields": {}}] + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Server"}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search", + status=200, + json={ + "issues": page1_issues, + "startAt": 0, + "maxResults": 50, + "total": 51, + }, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search", + status=200, + json={ + "issues": page2_issues, + "startAt": 50, + "maxResults": 50, + "total": 51, + }, + ) + issues = fetch_issues(instance, "project=TEST") + assert len(issues) == 51 + assert issues[0]["id"] == "1" + assert issues[-1]["id"] == "51" + + +@responses.activate +def test_fetch_issues_on_prem_no_issues_error(): + instance = _make_instance(auth_type=JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Server"}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search", + status=200, + json={ + "issues": [], + "startAt": 0, + "maxResults": 50, + "total": 0, + }, + ) + with pytest.raises(SyncError, match="No issues found"): + fetch_issues(instance, "project=TEST") + + +@responses.activate +def test_fetch_issues_on_prem_error_response(): + instance = _make_instance(auth_type=JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Server"}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search", + status=400, + json={"errorMessages": ["JQL query is invalid"]}, + ) + with pytest.raises(SyncError, match="JQL query is invalid"): + fetch_issues(instance, "invalid jql") + + +@responses.activate +def test_fetch_issues_cloud_basic_auth(): + instance = _make_instance(auth_type=JIRA_ISSUES_DATA_SYNC_API_TOKEN) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Cloud"}, + ) + responses.add( + responses.POST, + f"{BASE_URL}/rest/api/2/search/approximate-count", + status=200, + json={"count": 1}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search/jql", + status=200, + json={"issues": [{"id": "1", "key": "TEST-1", "fields": {}}]}, + ) + fetch_issues(instance, "project=TEST") + search_request = responses.calls[2].request + assert search_request.headers["Authorization"].startswith("Basic ") + + +@responses.activate +def test_fetch_issues_on_prem_bearer_auth(): + instance = _make_instance(auth_type=JIRA_ISSUES_DATA_SYNC_PERSONAL_ACCESS_TOKEN) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/serverInfo", + status=200, + json={"deploymentType": "Server"}, + ) + responses.add( + responses.GET, + f"{BASE_URL}/rest/api/2/search", + status=200, + json={ + "issues": [{"id": "1", "key": "TEST-1", "fields": {}}], + "startAt": 0, + "maxResults": 50, + "total": 1, + }, + ) + fetch_issues(instance, "project=TEST") + search_request = responses.calls[1].request + assert search_request.headers["Authorization"] == "Bearer token123" diff --git a/enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_issues_data_sync.py b/enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_issues_data_sync.py index e1bef5d2f4..47529f2df3 100644 --- a/enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_issues_data_sync.py +++ b/enterprise/backend/tests/baserow_enterprise_tests/data_sync/test_jira_issues_data_sync.py @@ -14,6 +14,7 @@ from baserow.contrib.database.data_sync.models import DataSync from baserow.contrib.database.fields.models import TextField from baserow.core.db import specific_iterator +from baserow_enterprise.data_sync.jira_client import JIRA_NO_ISSUES_ERROR from baserow_enterprise.data_sync.models import JiraIssuesDataSync from baserow_premium.license.exceptions import FeaturesNotAvailableError from baserow_premium.license.models import License @@ -355,6 +356,22 @@ "issues": [EMPTY_ISSUE], } +CLOUD_SERVER_INFO_RESPONSE = { + "baseUrl": "https://test.atlassian.net", + "version": "1001.0.0", + "deploymentType": "Cloud", + "serverTitle": "Test", +} + + +def _mock_server_info_cloud(): + responses.add( + responses.GET, + "https://test.atlassian.net/rest/api/2/serverInfo", + status=200, + json=CLOUD_SERVER_INFO_RESPONSE, + ) + @pytest.mark.django_db @override_settings(DEBUG=True) @@ -420,6 +437,7 @@ def test_sync_data_sync_table(enterprise_data_fixture): encoded_credentials = base64.b64encode(credentials.encode()).decode() auth_header_value = f"Basic {encoded_credentials}" + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", @@ -597,6 +615,7 @@ def test_sync_data_sync_table_empty_issue(enterprise_data_fixture): encoded_credentials = base64.b64encode(credentials.encode()).decode() auth_header_value = f"Basic {encoded_credentials}" + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", @@ -694,6 +713,7 @@ def test_sync_data_sync_table_empty_issue(enterprise_data_fixture): @override_settings(DEBUG=True) @responses.activate def test_sync_data_sync_table_personal_access_token(enterprise_data_fixture): + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", @@ -753,6 +773,7 @@ def test_sync_data_sync_table_personal_access_token(enterprise_data_fixture): @override_settings(DEBUG=True) @responses.activate def test_create_data_sync_table_pagination(enterprise_data_fixture): + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", @@ -832,6 +853,7 @@ def test_create_data_sync_table_pagination(enterprise_data_fixture): @override_settings(DEBUG=True) @responses.activate def test_create_data_sync_table_invalid_auth(enterprise_data_fixture): + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", @@ -874,15 +896,14 @@ def test_create_data_sync_table_invalid_auth(enterprise_data_fixture): jira_api_token="test_token", ) data_sync = handler.sync_data_sync_table(user=user, data_sync=data_sync) - assert data_sync.last_error == ( - "No issues found. This is usually because the authentication details are wrong." - ) + assert data_sync.last_error == JIRA_NO_ISSUES_ERROR @pytest.mark.django_db @override_settings(DEBUG=True) @responses.activate def test_create_data_sync_table_jira_error_message(enterprise_data_fixture): + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", @@ -932,6 +953,7 @@ def test_create_data_sync_table_jira_error_message(enterprise_data_fixture): @override_settings(DEBUG=True) @responses.activate def test_create_data_sync_table_with_project_key(enterprise_data_fixture): + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", @@ -981,6 +1003,7 @@ def test_create_data_sync_table_with_project_key(enterprise_data_fixture): @override_settings(DEBUG=True) @responses.activate def test_create_data_sync_table_jira_not_updated_twice(enterprise_data_fixture): + _mock_server_info_cloud() responses.add( responses.POST, "https://test.atlassian.net/rest/api/2/search/approximate-count", From b1352b12820a1a4ac5ebe055e8d0a437f0e0ed31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 09:19:18 +0200 Subject: [PATCH 2/5] chore(deps): bump python-multipart from 0.0.26 to 0.0.27 in /backend (#5333) Bumps [python-multipart](https://github.com/Kludex/python-multipart) from 0.0.26 to 0.0.27. - [Release notes](https://github.com/Kludex/python-multipart/releases) - [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md) - [Commits](https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27) --- updated-dependencies: - dependency-name: python-multipart dependency-version: 0.0.27 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- backend/uv.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/uv.lock b/backend/uv.lock index 80e41c3f21..6fc51d3ba0 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -3244,11 +3244,11 @@ wheels = [ [[package]] name = "python-multipart" -version = "0.0.26" +version = "0.0.27" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/88/71/b145a380824a960ebd60e1014256dbb7d2253f2316ff2d73dfd8928ec2c3/python_multipart-0.0.26.tar.gz", hash = "sha256:08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17", size = 43501, upload-time = "2026-04-10T14:09:59.473Z" } +sdist = { url = "https://files.pythonhosted.org/packages/69/9b/f23807317a113dc36e74e75eb265a02dd1a4d9082abc3c1064acd22997c4/python_multipart-0.0.27.tar.gz", hash = "sha256:9870a6a8c5a20a5bf4f07c017bd1489006ff8836cff097b6933355ee2b49b602", size = 44043, upload-time = "2026-04-27T10:51:26.649Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/22/f1925cdda983ab66fc8ec6ec8014b959262747e58bdca26a4e3d1da29d56/python_multipart-0.0.26-py3-none-any.whl", hash = "sha256:c0b169f8c4484c13b0dcf2ef0ec3a4adb255c4b7d18d8e420477d2b1dd03f185", size = 28847, upload-time = "2026-04-10T14:09:58.131Z" }, + { url = "https://files.pythonhosted.org/packages/99/78/4126abcbdbd3c559d43e0db7f7b9173fc6befe45d39a2856cc0b8ec2a5a6/python_multipart-0.0.27-py3-none-any.whl", hash = "sha256:6fccfad17a27334bd0193681b369f476eda3409f17381a2d65aa7df3f7275645", size = 29254, upload-time = "2026-04-27T10:51:24.997Z" }, ] [[package]] From e985fd91c61099aa012c0b3824da937f4007e529 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 09:20:23 +0200 Subject: [PATCH 3/5] chore(deps): bump nitropack from 2.13.2 to 2.13.4 in /web-frontend (#5334) Bumps [nitropack](https://github.com/nitrojs/nitro) from 2.13.2 to 2.13.4. - [Release notes](https://github.com/nitrojs/nitro/releases) - [Changelog](https://github.com/nitrojs/nitro/blob/main/changelog.config.ts) - [Commits](https://github.com/nitrojs/nitro/compare/v2.13.2...v2.13.4) --- updated-dependencies: - dependency-name: nitropack dependency-version: 2.13.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-frontend/yarn.lock | 678 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 642 insertions(+), 36 deletions(-) diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index f3ce366206..fed177cab4 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -679,6 +679,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz#4c585002f7ad694d38fe0e8cbf5cfd939ccff327" integrity sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q== +"@esbuild/aix-ppc64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz#7a289c158e29cbf59ea0afc83cc80f06d1c89402" + integrity sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA== + "@esbuild/android-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz#8aa4965f8d0a7982dc21734bf6601323a66da752" @@ -694,6 +699,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz#7625d0952c3b402d3ede203a16c9f2b78f8a4827" integrity sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw== +"@esbuild/android-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz#b8828d9edfa3a92660644eb8de6e4f3c203d7b17" + integrity sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw== + "@esbuild/android-arm@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz#300712101f7f50f1d2627a162e6e09b109b6767a" @@ -709,6 +719,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.27.4.tgz#9a0cf1d12997ec46dddfb32ce67e9bca842381ac" integrity sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ== +"@esbuild/android-arm@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.28.0.tgz#5ec1847605e05b5dbe5df90db9ff7e3e4c58dca7" + integrity sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ== + "@esbuild/android-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz#87dfb27161202bdc958ef48bb61b09c758faee16" @@ -724,6 +739,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.27.4.tgz#06e1fdc6283fccd6bc6aadd6754afce6cf96f42e" integrity sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw== +"@esbuild/android-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.28.0.tgz#390642175b88ef82bad4cce03f8ab13fe9b1912e" + integrity sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA== + "@esbuild/darwin-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz#79197898ec1ff745d21c071e1c7cc3c802f0c1fd" @@ -739,6 +759,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz#6c550ee6c0273bcb0fac244478ff727c26755d80" integrity sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ== +"@esbuild/darwin-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz#ae45325960d5950cd6951e4f97396f4e1ff7d8d3" + integrity sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q== + "@esbuild/darwin-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz#146400a8562133f45c4d2eadcf37ddd09718079e" @@ -754,6 +779,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz#ed7a125e9f25ce0091b9aff783ee943f6ba6cb86" integrity sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw== +"@esbuild/darwin-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz#c079247d589b6b99449659d94f06951b84bff2e4" + integrity sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ== + "@esbuild/freebsd-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz#1c5f9ba7206e158fd2b24c59fa2d2c8bb47ca0fe" @@ -769,6 +799,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz#597dc8e7161dba71db4c1656131c1f1e9d7660c6" integrity sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw== +"@esbuild/freebsd-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz#45c456215a486593c94900297202dc11c880a37a" + integrity sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q== + "@esbuild/freebsd-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz#ea631f4a36beaac4b9279fa0fcc6ca29eaeeb2b3" @@ -784,6 +819,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz#ea171f9f4f00efaa8e9d3fe8baa1b75d757d1b36" integrity sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ== +"@esbuild/freebsd-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz#0399494c1c85e4388e9b7040bd60d48f2a5b0d2c" + integrity sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw== + "@esbuild/linux-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz#e1066bce58394f1b1141deec8557a5f0a22f5977" @@ -799,6 +839,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz#e52d57f202369386e6dbcb3370a17a0491ab1464" integrity sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA== +"@esbuild/linux-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz#d6d9f09ef0de54116bf459a4d53cac7e0952fe39" + integrity sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A== + "@esbuild/linux-arm@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz#452cd66b20932d08bdc53a8b61c0e30baf4348b9" @@ -814,6 +859,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz#5e0c0b634908adbce0a02cebeba8b3acac263fb6" integrity sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg== +"@esbuild/linux-arm@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz#7b42ffa84c288ae94fdc431c1b28a89e3c3b9278" + integrity sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw== + "@esbuild/linux-ia32@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz#b24f8acc45bcf54192c7f2f3be1b53e6551eafe0" @@ -829,6 +879,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz#5f90f01f131652473ec06b038a14c49683e14ec7" integrity sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA== +"@esbuild/linux-ia32@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz#deb15d112ed8dd605346b6b953d23a21ff81253f" + integrity sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ== + "@esbuild/linux-loong64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz#f9cfffa7fc8322571fbc4c8b3268caf15bd81ad0" @@ -844,6 +899,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz#63bacffdb99574c9318f9afbd0dd4fff76a837e3" integrity sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA== +"@esbuild/linux-loong64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz#81fb89d07eecc79b157dea61033757726fce0ca4" + integrity sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg== + "@esbuild/linux-mips64el@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz#575a14bd74644ffab891adc7d7e60d275296f2cd" @@ -859,6 +919,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz#c4b6952eca6a8efff67fee3671a3536c8e67b7eb" integrity sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw== +"@esbuild/linux-mips64el@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz#d0e42691b3ff7af9fb2217b70fc01f343bdb62bb" + integrity sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w== + "@esbuild/linux-ppc64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz#75b99c70a95fbd5f7739d7692befe60601591869" @@ -874,6 +939,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz#6dea67d3d98c6986f1b7769e4f1848e5ae47ad58" integrity sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA== +"@esbuild/linux-ppc64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz#389f3e5e98f17d477c467cc87136e1a076eead87" + integrity sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg== + "@esbuild/linux-riscv64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz#2e3259440321a44e79ddf7535c325057da875cd6" @@ -889,6 +959,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz#9ad2b4c3c0502c6bada9c81997bb56c597853489" integrity sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw== +"@esbuild/linux-riscv64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz#763bd60d59b242be12da1e67d5729f3024c605fa" + integrity sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ== + "@esbuild/linux-s390x@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz#17676cabbfe5928da5b2a0d6df5d58cd08db2663" @@ -904,6 +979,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz#c43d3cfd073042ca6f5c52bb9bc313ed2066ce28" integrity sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA== +"@esbuild/linux-s390x@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz#aac6061634872e4677de693bce8030d73b1fd055" + integrity sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q== + "@esbuild/linux-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz#0583775685ca82066d04c3507f09524d3cd7a306" @@ -919,6 +999,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz#45fa173e0591ac74d80d3cf76704713e14e2a4a6" integrity sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA== +"@esbuild/linux-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz#4f2917747188fe77632bcec65b2d84b422419779" + integrity sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ== + "@esbuild/netbsd-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz#f04c4049cb2e252fe96b16fed90f70746b13f4a4" @@ -934,6 +1019,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz#366b0ef40cdb986fc751cbdad16e8c25fe1ba879" integrity sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q== +"@esbuild/netbsd-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz#814df0ae57a0c386814491b8397eeba82094a947" + integrity sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw== + "@esbuild/netbsd-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz#77da0d0a0d826d7c921eea3d40292548b258a076" @@ -949,6 +1039,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz#e985d49a3668fd2044343071d52e1ae815112b3e" integrity sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg== +"@esbuild/netbsd-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz#e01bdf7e60fa1a08e46d46d960b0d9bb8ac210af" + integrity sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw== + "@esbuild/openbsd-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz#6296f5867aedef28a81b22ab2009c786a952dccd" @@ -964,6 +1059,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz#6fb4ab7b73f7e5572ce5ec9cf91c13ff6dd44842" integrity sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow== +"@esbuild/openbsd-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz#4a15c36aacca68d2d5a4c90b710c06759f4c1ffa" + integrity sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g== + "@esbuild/openbsd-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz#f8d23303360e27b16cf065b23bbff43c14142679" @@ -979,6 +1079,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz#641f052040a0d79843d68898f5791638a026d983" integrity sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ== +"@esbuild/openbsd-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz#475e6101498a8ecce3008d7c388111d7a27c17bd" + integrity sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA== + "@esbuild/openharmony-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz#49e0b768744a3924be0d7fd97dd6ce9b2923d88d" @@ -994,6 +1099,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz#fc1d33eac9d81ae0a433b3ed1dd6171a20d4e317" integrity sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg== +"@esbuild/openharmony-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz#cfdc3957f0b7a69f1bde129aad17fcc2f6fa033e" + integrity sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w== + "@esbuild/sunos-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz#a6ed7d6778d67e528c81fb165b23f4911b9b13d6" @@ -1009,6 +1119,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz#af2cd5ca842d6d057121f66a192d4f797de28f53" integrity sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g== +"@esbuild/sunos-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz#a013c856fecacd1c3aec985c8afe1d1cb017497d" + integrity sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw== + "@esbuild/win32-arm64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz#9ac14c378e1b653af17d08e7d3ce34caef587323" @@ -1024,6 +1139,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz#78ec7e59bb06404583d4c9511e621db31c760de3" integrity sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg== +"@esbuild/win32-arm64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz#eae05e0f35271cad3898b43168d3e9a3bbaf47e5" + integrity sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA== + "@esbuild/win32-ia32@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz#918942dcbbb35cc14fca39afb91b5e6a3d127267" @@ -1039,6 +1159,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz#0e616aa488b7ee5d2592ab070ff9ec06a9fddf11" integrity sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw== +"@esbuild/win32-ia32@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz#06161ebc5bf75c08d69feb3c6b22560515913998" + integrity sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA== + "@esbuild/win32-x64@0.25.12": version "0.25.12" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5" @@ -1054,6 +1179,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz#1f7ba71a3d6155d44a6faa8dbe249c62ab3e408c" integrity sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg== +"@esbuild/win32-x64@0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz#04d90d5752b4ce65d2b6ac25eba08ff7624fe07c" + integrity sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0", "@eslint-community/eslint-utils@^4.8.0", "@eslint-community/eslint-utils@^4.9.0", "@eslint-community/eslint-utils@^4.9.1": version "4.9.1" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" @@ -3163,51 +3293,101 @@ 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-android-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz#5f32e0dba356f4ac9a11068d2a5c134ca3ba6564" + integrity sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A== + "@parcel/watcher-darwin-arm64@2.5.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-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz#88d3e720b59b1eceffce98dac46d7c40e8be5e8e" + integrity sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA== + "@parcel/watcher-darwin-x64@2.5.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-darwin-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz#bf05d76a78bc15974f15ec3671848698b0838063" + integrity sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg== + "@parcel/watcher-freebsd-x64@2.5.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-freebsd-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz#8bc26e9848e7303ac82922a5ae1b1ef1bdb48a53" + integrity sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng== + "@parcel/watcher-linux-arm-glibc@2.5.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-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz#1328fee1deb0c2d7865079ef53a2ba4cc2f8b40a" + integrity sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ== + "@parcel/watcher-linux-arm-musl@2.5.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-arm-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz#bad0f45cb3e2157746db8b9d22db6a125711f152" + integrity sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg== + "@parcel/watcher-linux-arm64-glibc@2.5.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-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz#b75913fbd501d9523c5f35d420957bf7d0204809" + integrity sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA== + "@parcel/watcher-linux-arm64-musl@2.5.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-arm64-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz#da5621a6a576070c8c0de60dea8b46dc9c3827d4" + integrity sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA== + "@parcel/watcher-linux-x64-glibc@2.5.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-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz#ce437accdc4b30f93a090b4a221fd95cd9b89639" + integrity sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ== + "@parcel/watcher-linux-x64-musl@2.5.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-linux-x64-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz#02400c54b4a67efcc7e2327b249711920ac969e2" + integrity sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg== + "@parcel/watcher-wasm@^2.4.1": version "2.5.4" resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.5.4.tgz#a54888452e4680cb4b58efd1d38f64db827553f2" @@ -3217,21 +3397,45 @@ napi-wasm "^1.1.0" picomatch "^4.0.3" +"@parcel/watcher-wasm@^2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.5.6.tgz#0edecf897e1b397782db21ef4522801c727cdb58" + integrity sha512-byAiBZ1t3tXQvc8dMD/eoyE7lTXYorhn+6uVW5AC+JGI1KtJC/LvDche5cfUE+qiefH+Ybq0bUCJU0aB1cSHUA== + dependencies: + is-glob "^4.0.3" + napi-wasm "^1.1.0" + picomatch "^4.0.3" + "@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-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz#caae3d3c7583ca0a7171e6bd142c34d20ea1691e" + integrity sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q== + "@parcel/watcher-win32-ia32@2.5.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-ia32@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz#9ac922550896dfe47bfc5ae3be4f1bcaf8155d6d" + integrity sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g== + "@parcel/watcher-win32-x64@2.5.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-win32-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz#73fdafba2e21c448f0e456bbe13178d8fe11739d" + integrity sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw== + "@parcel/watcher@^2.4.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.1.tgz#342507a9cfaaf172479a882309def1e991fb1200" @@ -3256,6 +3460,30 @@ "@parcel/watcher-win32-ia32" "2.5.1" "@parcel/watcher-win32-x64" "2.5.1" +"@parcel/watcher@^2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.6.tgz#3f932828c894f06d0ad9cfefade1756ecc6ef1f1" + integrity sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ== + dependencies: + detect-libc "^2.0.3" + is-glob "^4.0.3" + node-addon-api "^7.0.0" + picomatch "^4.0.3" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.6" + "@parcel/watcher-darwin-arm64" "2.5.6" + "@parcel/watcher-darwin-x64" "2.5.6" + "@parcel/watcher-freebsd-x64" "2.5.6" + "@parcel/watcher-linux-arm-glibc" "2.5.6" + "@parcel/watcher-linux-arm-musl" "2.5.6" + "@parcel/watcher-linux-arm64-glibc" "2.5.6" + "@parcel/watcher-linux-arm64-musl" "2.5.6" + "@parcel/watcher-linux-x64-glibc" "2.5.6" + "@parcel/watcher-linux-x64-musl" "2.5.6" + "@parcel/watcher-win32-arm64" "2.5.6" + "@parcel/watcher-win32-ia32" "2.5.6" + "@parcel/watcher-win32-x64" "2.5.6" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -3512,126 +3740,251 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.0.tgz#7e158ddfc16f78da99c0d5ccbae6cae403ef3284" integrity sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A== +"@rollup/rollup-android-arm-eabi@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.3.tgz#31503ca40424374cd6c5198031cf4d5a73de9727" + integrity sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw== + "@rollup/rollup-android-arm64@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.0.tgz#49f4ae0e22b6f9ffbcd3818b9a0758fa2d10b1cd" integrity sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw== +"@rollup/rollup-android-arm64@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.3.tgz#7cbc30c88507013d0f982cfeb8884337ba1e0bb2" + integrity sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw== + "@rollup/rollup-darwin-arm64@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.0.tgz#bb200269069acf5c1c4d79ad142524f77e8b8236" integrity sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA== +"@rollup/rollup-darwin-arm64@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.3.tgz#bc341a93bb2111326a2865f55d1d23baedecf40c" + integrity sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g== + "@rollup/rollup-darwin-x64@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.0.tgz#1bf7a92b27ebdd5e0d1d48503c7811160773be1a" integrity sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw== +"@rollup/rollup-darwin-x64@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.3.tgz#dfa0236581c55ecc0bcaeb2ea1f2e800c58dc3e2" + integrity sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw== + "@rollup/rollup-freebsd-arm64@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.0.tgz#5ccf537b99c5175008444702193ad0b1c36f7f16" integrity sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw== +"@rollup/rollup-freebsd-arm64@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.3.tgz#4c5977413b87808a13b5edd524e46fafddb85b52" + integrity sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ== + "@rollup/rollup-freebsd-x64@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.0.tgz#1196ecd7bf4e128624ef83cd1f9d785114474a77" integrity sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA== +"@rollup/rollup-freebsd-x64@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.3.tgz#5cb2cee62ffee3ada4a0b44353e96cf98cfc7c3c" + integrity sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA== + "@rollup/rollup-linux-arm-gnueabihf@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.0.tgz#cc147633a4af229fee83a737bf2334fbac3dc28e" integrity sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g== +"@rollup/rollup-linux-arm-gnueabihf@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.3.tgz#04700cad36dd43ae81044fe7ee73e925845c4b85" + integrity sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g== + "@rollup/rollup-linux-arm-musleabihf@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.0.tgz#3559f9f060153ea54594a42c3b87a297bedcc26e" integrity sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ== +"@rollup/rollup-linux-arm-musleabihf@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.3.tgz#548ebf3997b3a6dcc7cdd7da813ff0c46000ac0a" + integrity sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w== + "@rollup/rollup-linux-arm64-gnu@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.0.tgz#e91f887b154123485cfc4b59befe2080fcd8f2df" integrity sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A== +"@rollup/rollup-linux-arm64-gnu@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.3.tgz#0264608f504b33725639ebe93be02c40e71a35c1" + integrity sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA== + "@rollup/rollup-linux-arm64-musl@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.0.tgz#660752f040df9ba44a24765df698928917c0bf21" integrity sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ== +"@rollup/rollup-linux-arm64-musl@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.3.tgz#147cf4889502cd3b331a800b8ca6741f87873079" + integrity sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg== + "@rollup/rollup-linux-loong64-gnu@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.0.tgz#cb0e939a5fa479ccef264f3f45b31971695f869c" integrity sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw== +"@rollup/rollup-linux-loong64-gnu@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.3.tgz#0c27c6b5258dcb3d0290e3bd04ba6277c9d7e541" + integrity sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA== + "@rollup/rollup-linux-loong64-musl@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.0.tgz#42f86fbc82cd1a81be2d346476dd3231cf5ee442" integrity sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog== +"@rollup/rollup-linux-loong64-musl@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.3.tgz#f0f18075ea0bfa2c992f8e3933b39b6ef91f7799" + integrity sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg== + "@rollup/rollup-linux-ppc64-gnu@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.0.tgz#39776a647a789dc95ea049277c5ef8f098df77f9" integrity sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ== +"@rollup/rollup-linux-ppc64-gnu@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.3.tgz#149bb5cb8893589ffaa1924b4eac4282e9fa4c69" + integrity sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ== + "@rollup/rollup-linux-ppc64-musl@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.0.tgz#466f20029a8e8b3bb2954c7ddebc9586420cac2c" integrity sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg== +"@rollup/rollup-linux-ppc64-musl@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.3.tgz#200a063e298b05f996917d2aa53de749d54c0ca0" + integrity sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA== + "@rollup/rollup-linux-riscv64-gnu@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.0.tgz#cff9877c78f12e7aa6246f6902ad913e99edb2b7" integrity sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA== +"@rollup/rollup-linux-riscv64-gnu@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.3.tgz#6d6d6eb996197ba86f95f9a6c442bc862f0756d4" + integrity sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw== + "@rollup/rollup-linux-riscv64-musl@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.0.tgz#9a762fb99b5a82a921017f56491b7e892b9fb17d" integrity sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ== +"@rollup/rollup-linux-riscv64-musl@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.3.tgz#9deb86001785cfcbc761457f50cd7c112fda0df9" + integrity sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ== + "@rollup/rollup-linux-s390x-gnu@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.0.tgz#9d25ad8ac7dab681935baf78ac5ea92d14629cdf" integrity sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ== +"@rollup/rollup-linux-s390x-gnu@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.3.tgz#d8228720c6e42da190d96c31a3495d70cf8284b9" + integrity sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig== + "@rollup/rollup-linux-x64-gnu@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.0.tgz#5e5139e11819fa38a052368da79422cb4afcf466" integrity sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg== +"@rollup/rollup-linux-x64-gnu@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.3.tgz#df6bb38617a66a842bd2aeac9560cd729d084258" + integrity sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA== + "@rollup/rollup-linux-x64-musl@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.0.tgz#b6211d46e11b1f945f5504cc794fce839331ed08" integrity sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw== +"@rollup/rollup-linux-x64-musl@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.3.tgz#75e3e72849266b4fdd65f2da6c62423051e35636" + integrity sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA== + "@rollup/rollup-openbsd-x64@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.0.tgz#e6e09eebaa7012bb9c7331b437a9e992bd94ca35" integrity sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw== +"@rollup/rollup-openbsd-x64@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.3.tgz#e1080f0efb8b15cda39b3e62de5fb806079ab6e9" + integrity sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q== + "@rollup/rollup-openharmony-arm64@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.0.tgz#f7d99ae857032498e57a5e7259fb7100fd24a87e" integrity sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA== +"@rollup/rollup-openharmony-arm64@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.3.tgz#1fbda2d95c29dbfceb62785431754cd5aab86c72" + integrity sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg== + "@rollup/rollup-win32-arm64-msvc@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.0.tgz#41e392f5d9f3bf1253fdaf2f6d6f6b1bfc452856" integrity sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ== +"@rollup/rollup-win32-arm64-msvc@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.3.tgz#deab3470815f97996f1d0d3608549cf1b7e4ffc2" + integrity sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg== + "@rollup/rollup-win32-ia32-msvc@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.0.tgz#f41b0490be0e5d3cf459b4dc076a192b532adea9" integrity sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w== +"@rollup/rollup-win32-ia32-msvc@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.3.tgz#817acae2ed4572960b59235ff2322381b6d82f26" + integrity sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA== + "@rollup/rollup-win32-x64-gnu@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.0.tgz#0fcf9f1fcb750f0317b13aac3b3231687e6397a5" integrity sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA== +"@rollup/rollup-win32-x64-gnu@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.3.tgz#48129be99b0250d76b9c6d0ac983bef563a1c48a" + integrity sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A== + "@rollup/rollup-win32-x64-msvc@4.60.0": version "4.60.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.0.tgz#3afdb30405f6d4248df5e72e1ca86c5eab55fab8" integrity sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w== +"@rollup/rollup-win32-x64-msvc@4.60.3": + version "4.60.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.3.tgz#cc6f094a3ffe5556bb4a831ee6fb572b8cd81a75" + integrity sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA== + "@rushstack/node-core-library@4.0.2": version "4.0.2" resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz#e26854a3314b279d57e8abdb4acce7797d02f554" @@ -4807,7 +5160,7 @@ resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz#538b1e103bf8d9864e7b85cc96fa8d6fb6c40777" integrity sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g== -"@vercel/nft@^1.4.0": +"@vercel/nft@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@vercel/nft/-/nft-1.5.0.tgz#37dbededa3023d9e44d1292b594786ab1653536f" integrity sha512-IWTDeIoWhQ7ZtRO/JRKH+jhmeQvZYhtGPmzw/QGDY+wDCQqfm25P9yIdoAFagu4fWsK4IwZXDFIjrmp5rRm/sA== @@ -6036,6 +6389,24 @@ c12@^3.3.2, c12@^3.3.3: pkg-types "^2.3.0" rc9 "^2.1.2" +c12@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/c12/-/c12-3.3.4.tgz#1253a5faf8b61244884d42459b4a6412571fe9f3" + integrity sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA== + dependencies: + chokidar "^5.0.0" + confbox "^0.2.4" + defu "^6.1.6" + dotenv "^17.3.1" + exsolve "^1.0.8" + giget "^3.2.0" + jiti "^2.6.1" + ohash "^2.0.11" + pathe "^2.0.3" + perfect-debounce "^2.1.0" + pkg-types "^2.3.0" + rc9 "^3.0.1" + cac@^6.7.14: version "6.7.14" resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" @@ -6204,6 +6575,11 @@ citty@^0.2.0, citty@^0.2.1: resolved "https://registry.yarnpkg.com/citty/-/citty-0.2.1.tgz#1b150777a3357b7b92e173fff38ea0d6ad2d08da" integrity sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg== +citty@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/citty/-/citty-0.2.2.tgz#92d3f7d13868a730ab06c420bb10bded06cf259f" + integrity sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w== + cjs-module-lexer@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz#b3ca5101843389259ade7d88c77bd06ce55849ca" @@ -6391,11 +6767,26 @@ cookie-es@^1.2.2: resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.2.2.tgz#18ceef9eb513cac1cb6c14bcbf8bdb2679b34821" integrity sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg== +cookie-es@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.2.3.tgz#06ca3c5f5f3531684a2059666a361173f74a89c8" + integrity sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw== + cookie-es@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-2.0.0.tgz#ca6163d7ef8686ea6bbdd551f1de575569c1ed69" integrity sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg== +cookie-es@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-2.0.1.tgz#b113706a7bd1504ffb3740c2d84b86310119142a" + integrity sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA== + +cookie-es@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-3.1.1.tgz#c4a8a16cf88cb5a185b23f4a61d6e9a85eb53287" + integrity sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg== + core-js-compat@^3.46.0: version "3.47.0" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.47.0.tgz#698224bbdbb6f2e3f39decdda4147b161e3772a3" @@ -6498,6 +6889,11 @@ cross-spawn@^7.0.3, cross-spawn@^7.0.6: dependencies: uncrypto "^0.1.3" +"crossws@>=0.2.0 <0.5.0": + version "0.4.5" + resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.4.5.tgz#e300fec909cd93fe377a1cee84f6813c9c786edf" + integrity sha512-wUR89x/Rw7/8t+vn0CmGDYM9TD6VtARGb0LD5jq2wjtMy1vCP4M+sm6N6TigWeTYvnA8MoW29NqqXD0ep0rfBA== + crypto-browserify@^3.12.1: version "3.12.1" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac" @@ -6834,6 +7230,11 @@ defu@^6.1.4: resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.6.tgz#20970cc978d9be90ba6c792184a89c92db656e53" integrity sha512-f8mefEW4WIVg4LckePx3mALjQSPQgFlg9U8yaPdlsbdYcHQyj9n2zL2LJEA52smeYxOvmd/nB7TpMtHGMTHcug== +defu@^6.1.6, defu@^6.1.7: + version "6.1.7" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.7.tgz#72543567c8e9f97ff13ce402b6dbe09ac5ae4d23" + integrity sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -6984,6 +7385,11 @@ dotenv@^17.2.3: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-17.2.3.tgz#ad995d6997f639b11065f419a22fabf567cdb9a2" integrity sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w== +dotenv@^17.3.1: + version "17.4.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-17.4.2.tgz#c07e54a746e11eba021dd9e1047ced5afdc1c034" + integrity sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw== + dunder-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" @@ -7172,7 +7578,7 @@ esbuild-register@^3.5.0: "@esbuild/win32-ia32" "0.25.12" "@esbuild/win32-x64" "0.25.12" -esbuild@^0.27.0, esbuild@^0.27.4: +esbuild@^0.27.0: version "0.27.4" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.27.4.tgz#b9591dd7e0ab803a11c9c3b602850403bef22f00" integrity sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ== @@ -7236,6 +7642,38 @@ esbuild@^0.27.1: "@esbuild/win32-ia32" "0.27.2" "@esbuild/win32-x64" "0.27.2" +esbuild@^0.28.0: + version "0.28.0" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.28.0.tgz#5dee347ffb3e3874212a35a69836b077b1ce6d96" + integrity sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw== + optionalDependencies: + "@esbuild/aix-ppc64" "0.28.0" + "@esbuild/android-arm" "0.28.0" + "@esbuild/android-arm64" "0.28.0" + "@esbuild/android-x64" "0.28.0" + "@esbuild/darwin-arm64" "0.28.0" + "@esbuild/darwin-x64" "0.28.0" + "@esbuild/freebsd-arm64" "0.28.0" + "@esbuild/freebsd-x64" "0.28.0" + "@esbuild/linux-arm" "0.28.0" + "@esbuild/linux-arm64" "0.28.0" + "@esbuild/linux-ia32" "0.28.0" + "@esbuild/linux-loong64" "0.28.0" + "@esbuild/linux-mips64el" "0.28.0" + "@esbuild/linux-ppc64" "0.28.0" + "@esbuild/linux-riscv64" "0.28.0" + "@esbuild/linux-s390x" "0.28.0" + "@esbuild/linux-x64" "0.28.0" + "@esbuild/netbsd-arm64" "0.28.0" + "@esbuild/netbsd-x64" "0.28.0" + "@esbuild/openbsd-arm64" "0.28.0" + "@esbuild/openbsd-x64" "0.28.0" + "@esbuild/openharmony-arm64" "0.28.0" + "@esbuild/sunos-x64" "0.28.0" + "@esbuild/win32-arm64" "0.28.0" + "@esbuild/win32-ia32" "0.28.0" + "@esbuild/win32-x64" "0.28.0" + escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" @@ -7926,6 +8364,11 @@ giget@^3.1.2: resolved "https://registry.yarnpkg.com/giget/-/giget-3.1.2.tgz#6fa9841b6220b1d178f09c64da0661f6da801508" integrity sha512-T2qUpKBHeUTwHcIhydgnJzhL0Hj785ms+JkxaaWQH9SDM/llXeewnOkfJcFShAHjWI+26hOChwUfCoupaXLm8g== +giget@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/giget/-/giget-3.2.0.tgz#bacfdd1264f81485a915928b0ae219be0e81a7c9" + integrity sha512-GvHTWcykIR/fP8cj8dMpuMMkvaeJfPvYnhq0oW+chSeIr+ldX21ifU2Ms6KBoyKZQZmVaUAAhQ2EZ68KJF8a7A== + glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -8020,10 +8463,10 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -globby@^16.1.1: - version "16.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-16.1.1.tgz#a26012f57b819f0491c834dbf09f89b0ce6ba104" - integrity sha512-dW7vl+yiAJSp6aCekaVnVJxurRv7DCOLyXqEG3RYMYUg7AuJ2jCqPkZTA8ooqC2vtnkaMcV5WfFBMuEnTu1OQg== +globby@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-16.2.0.tgz#6ab1351fbac1d9b9e47ed423814c2ad41af308ea" + integrity sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q== dependencies: "@sindresorhus/merge-streams" "^4.0.0" fast-glob "^3.3.3" @@ -8062,7 +8505,7 @@ gzip-size@^7.0.0: rou3 "^0.7.12" srvx "^0.10.0" -h3@^1.12.0, h3@^1.15.4, h3@^1.15.5, h3@^1.15.6, h3@^1.15.9: +h3@^1.12.0, h3@^1.15.4, h3@^1.15.5, h3@^1.15.6: version "1.15.10" resolved "https://registry.yarnpkg.com/h3/-/h3-1.15.10.tgz#defe650df7b70cf585d2020c4146fb580cfb0d42" integrity sha512-YzJeWSkDZxAhvmp8dexjRK5hxziRO7I9m0N53WhvYL5NiWfkUkzssVzY9jvGu0HBoLFW6+duYmNSn6MaZBCCtg== @@ -8077,6 +8520,21 @@ h3@^1.12.0, h3@^1.15.4, h3@^1.15.5, h3@^1.15.6, h3@^1.15.9: ufo "^1.6.3" uncrypto "^0.1.3" +h3@^1.15.10, h3@^1.15.11: + version "1.15.11" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.15.11.tgz#831179fc6b4bc06de8ad1077e7a5c7d63b796577" + integrity sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg== + dependencies: + cookie-es "^1.2.3" + crossws "^0.3.5" + defu "^6.1.6" + destr "^2.0.5" + iron-webcrypto "^1.2.1" + node-mock-http "^1.0.4" + radix3 "^1.1.2" + ufo "^1.6.3" + uncrypto "^0.1.3" + happy-dom@^20.8.9: version "20.8.9" resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-20.8.9.tgz#aeacc9ab9aacada379bce0ba37b2f02dabbba286" @@ -8264,10 +8722,10 @@ https-proxy-agent@^7.0.5: agent-base "^7.1.2" debug "4" -httpxy@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/httpxy/-/httpxy-0.3.1.tgz#da1bb1a4a26cb44d7835a9297c845a0e06372083" - integrity sha512-XjG/CEoofEisMrnFr0D6U6xOZ4mRfnwcYQ9qvvnT4lvnX8BoeA3x3WofB75D+vZwpaobFVkBIHrZzoK40w8XSw== +httpxy@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/httpxy/-/httpxy-0.5.1.tgz#c0cccd78672995968eee57666c3e3cfa822c2806" + integrity sha512-JPhqYiixe1A1I+MXDewWDZqeudBGU8Q9jCHYN8ML+779RQzLjTi78HBvWz4jMxUD6h2/vUL12g4q/mFM0OUw1A== human-signals@^5.0.0: version "5.0.0" @@ -9005,6 +9463,30 @@ listhen@^1.9.0: untun "^0.1.3" uqr "^0.1.2" +listhen@^1.9.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.10.0.tgz#9dfb05614a262d87feeec284a225bbd16b3f2fa5" + integrity sha512-kfz4C0OrC6IpaVMtYDJtf6PFjurxe9NBBoDAh/o2p587INryFOO4DQ9OetbCdDrWFt1m1CJKvYrzkGsuPHw8nQ== + dependencies: + "@parcel/watcher" "^2.5.6" + "@parcel/watcher-wasm" "^2.5.6" + citty "^0.2.2" + consola "^3.4.2" + crossws ">=0.2.0 <0.5.0" + defu "^6.1.7" + get-port-please "^3.2.0" + h3 "^1.15.11" + http-shutdown "^1.2.2" + jiti "^2.6.1" + mlly "^1.8.2" + node-forge "^1.4.0" + pathe "^2.0.3" + std-env "^4.1.0" + tinyclip "^0.1.12" + ufo "^1.6.4" + untun "^0.1.3" + uqr "^0.1.3" + load-tsconfig@^0.2.3: version "0.2.5" resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" @@ -9112,6 +9594,11 @@ lru-cache@^11.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.2.7.tgz#9127402617f34cd6767b96daee98c28e74458d35" integrity sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA== +lru-cache@^11.2.7: + version "11.3.6" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.3.6.tgz#f0306ad6e9f0a5dc25b16aeba4e8f57b7ec2df55" + integrity sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -9500,9 +9987,9 @@ negotiator@0.6.3: integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== nitropack@^2.13.1: - version "2.13.2" - resolved "https://registry.yarnpkg.com/nitropack/-/nitropack-2.13.2.tgz#ed5e7f3d9f528eb98f81916eaa4a678b13a4cd05" - integrity sha512-R5TMzSBoTDG4gi6Y+pvvyCNnooShHePHsHxMLP9EXDGdrlR5RvNdSd4e5k8z0/EzP9Ske7ABRMDWg6O7Dm2OYw== + version "2.13.4" + resolved "https://registry.yarnpkg.com/nitropack/-/nitropack-2.13.4.tgz#7c49aaf31881b2bb60eb38fa2323ece963a03d72" + integrity sha512-tX7bT6zxNeMwkc6hxHiZeUoTOjVrcjoh1Z3cmxOlodIqjl4HISgqfGOmkWSayky3Nv9Z5+KQH52F8nmXJY5AAA== dependencies: "@cloudflare/kv-asset-handler" "^0.4.2" "@rollup/plugin-alias" "^6.0.0" @@ -9512,35 +9999,35 @@ nitropack@^2.13.1: "@rollup/plugin-node-resolve" "^16.0.3" "@rollup/plugin-replace" "^6.0.3" "@rollup/plugin-terser" "^1.0.0" - "@vercel/nft" "^1.4.0" + "@vercel/nft" "^1.5.0" archiver "^7.0.1" - c12 "^3.3.3" + c12 "^3.3.4" chokidar "^5.0.0" - citty "^0.2.1" + citty "^0.2.2" compatx "^0.2.0" confbox "^0.2.4" consola "^3.4.2" - cookie-es "^2.0.0" + cookie-es "^2.0.1" croner "^10.0.1" crossws "^0.3.5" db0 "^0.3.4" - defu "^6.1.4" + defu "^6.1.7" destr "^2.0.5" dot-prop "^10.1.0" - esbuild "^0.27.4" + esbuild "^0.28.0" escape-string-regexp "^5.0.0" etag "^1.8.1" exsolve "^1.0.8" - globby "^16.1.1" + globby "^16.2.0" gzip-size "^7.0.0" - h3 "^1.15.9" + h3 "^1.15.11" hookable "^5.5.3" - httpxy "^0.3.1" + httpxy "^0.5.1" ioredis "^5.10.1" jiti "^2.6.1" klona "^2.0.6" knitwork "^1.3.0" - listhen "^1.9.0" + listhen "^1.9.1" magic-string "^0.30.21" magicast "^0.5.2" mime "^4.1.0" @@ -9551,28 +10038,28 @@ nitropack@^2.13.1: ohash "^2.0.11" pathe "^2.0.3" perfect-debounce "^2.1.0" - pkg-types "^2.3.0" + pkg-types "^2.3.1" pretty-bytes "^7.1.0" radix3 "^1.1.2" - rollup "^4.59.0" + rollup "^4.60.2" rollup-plugin-visualizer "^7.0.1" scule "^1.3.0" semver "^7.7.4" serve-placeholder "^2.0.2" serve-static "^2.2.1" source-map "^0.7.6" - std-env "^4.0.0" - ufo "^1.6.3" + std-env "^4.1.0" + ufo "^1.6.4" ultrahtml "^1.6.0" uncrypto "^0.1.3" unctx "^2.5.0" - unenv "^2.0.0-rc.24" - unimport "^6.0.2" + unenv "2.0.0-rc.24" + unimport "^6.2.0" unplugin-utils "^0.3.1" - unstorage "^1.17.4" + unstorage "^1.17.5" untyped "^2.0.0" unwasm "^0.5.3" - youch "^4.1.0" + youch "^4.1.1" youch-core "^0.3.3" node-addon-api@^7.0.0: @@ -9592,7 +10079,7 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-forge@^1.3.1: +node-forge@^1.3.1, node-forge@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.4.0.tgz#1c7b7d8bdc2d078739f58287d589d903a11b2fc2" integrity sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ== @@ -10322,6 +10809,15 @@ pkg-types@^2.3.0: exsolve "^1.0.7" pathe "^2.0.3" +pkg-types@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-2.3.1.tgz#fa27ed0940efcf40bba453b0e5cab41217b0d442" + integrity sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg== + dependencies: + confbox "^0.2.4" + exsolve "^1.0.8" + pathe "^2.0.3" + pluralize@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" @@ -11126,6 +11622,14 @@ rc9@^3.0.0: defu "^6.1.4" destr "^2.0.5" +rc9@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rc9/-/rc9-3.0.1.tgz#3895e5834a2b5c2d8fb76d93e802fbcbc2579bc7" + integrity sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ== + dependencies: + defu "^6.1.6" + destr "^2.0.5" + "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": version "19.2.3" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.2.3.tgz#f0b61d7e5c4a86773889fcc1853af3ed5f215b17" @@ -11358,7 +11862,7 @@ rollup-plugin-visualizer@^7.0.1: source-map "^0.7.4" yargs "^18.0.0" -rollup@^4.43.0, rollup@^4.59.0: +rollup@^4.43.0: version "4.60.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.60.0.tgz#d7d68c8cda873e96e08b2443505609b7e7be9eb8" integrity sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ== @@ -11392,6 +11896,40 @@ rollup@^4.43.0, rollup@^4.59.0: "@rollup/rollup-win32-x64-msvc" "4.60.0" fsevents "~2.3.2" +rollup@^4.60.2: + version "4.60.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.60.3.tgz#789258d41d090687d0ca7e80e8583d733711ddd3" + integrity sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A== + dependencies: + "@types/estree" "1.0.8" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.60.3" + "@rollup/rollup-android-arm64" "4.60.3" + "@rollup/rollup-darwin-arm64" "4.60.3" + "@rollup/rollup-darwin-x64" "4.60.3" + "@rollup/rollup-freebsd-arm64" "4.60.3" + "@rollup/rollup-freebsd-x64" "4.60.3" + "@rollup/rollup-linux-arm-gnueabihf" "4.60.3" + "@rollup/rollup-linux-arm-musleabihf" "4.60.3" + "@rollup/rollup-linux-arm64-gnu" "4.60.3" + "@rollup/rollup-linux-arm64-musl" "4.60.3" + "@rollup/rollup-linux-loong64-gnu" "4.60.3" + "@rollup/rollup-linux-loong64-musl" "4.60.3" + "@rollup/rollup-linux-ppc64-gnu" "4.60.3" + "@rollup/rollup-linux-ppc64-musl" "4.60.3" + "@rollup/rollup-linux-riscv64-gnu" "4.60.3" + "@rollup/rollup-linux-riscv64-musl" "4.60.3" + "@rollup/rollup-linux-s390x-gnu" "4.60.3" + "@rollup/rollup-linux-x64-gnu" "4.60.3" + "@rollup/rollup-linux-x64-musl" "4.60.3" + "@rollup/rollup-openbsd-x64" "4.60.3" + "@rollup/rollup-openharmony-arm64" "4.60.3" + "@rollup/rollup-win32-arm64-msvc" "4.60.3" + "@rollup/rollup-win32-ia32-msvc" "4.60.3" + "@rollup/rollup-win32-x64-gnu" "4.60.3" + "@rollup/rollup-win32-x64-msvc" "4.60.3" + fsevents "~2.3.2" + rope-sequence@^1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.4.tgz#df85711aaecd32f1e756f76e43a415171235d425" @@ -11772,6 +12310,11 @@ std-env@^4.0.0, std-env@^4.0.0-rc.1: resolved "https://registry.yarnpkg.com/std-env/-/std-env-4.0.0.tgz#ba3dc31c3a46bc5ba21138aa20a6a4ceb5bb9b7e" integrity sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ== +std-env@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-4.1.0.tgz#45899abc590d86d682e87f0acd1033a75084cd3f" + integrity sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ== + storybook@^9.1.19: version "9.1.19" resolved "https://registry.yarnpkg.com/storybook/-/storybook-9.1.19.tgz#50b7750534c8c61f934d9c21fe6d904da68c7d54" @@ -12210,6 +12753,14 @@ tinyglobby@^0.2.15: fdir "^6.5.0" picomatch "^4.0.3" +tinyglobby@^0.2.16: + version "0.2.16" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" + integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.4" + tinyrainbow@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-2.0.0.tgz#9509b2162436315e80e3eee0fcce4474d2444294" @@ -12394,6 +12945,11 @@ ufo@^1.6.3: resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.3.tgz#799666e4e88c122a9659805e30b9dc071c3aed4f" integrity sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q== +ufo@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.4.tgz#7a8fb875fcc6382d2c7d0b3692738b0500a92467" + integrity sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA== + ulid@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/ulid/-/ulid-3.0.2.tgz#b6a1f2a3de7852e39aa86bf497a8e33b1867c984" @@ -12424,7 +12980,7 @@ undici-types@~7.18.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== -unenv@^2.0.0-rc.24: +unenv@2.0.0-rc.24, unenv@^2.0.0-rc.24: version "2.0.0-rc.24" resolved "https://registry.yarnpkg.com/unenv/-/unenv-2.0.0-rc.24.tgz#dd0035c3e93fedfa12c8454e34b7f17fe83efa2e" integrity sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw== @@ -12468,7 +13024,7 @@ unimport@^5.5.0: unplugin "^2.3.11" unplugin-utils "^0.3.1" -unimport@^6.0.1, unimport@^6.0.2: +unimport@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/unimport/-/unimport-6.0.2.tgz#7119d9c3d862afd53747240a3511cac3f5772913" integrity sha512-ZSOkrDw380w+KIPniY3smyXh2h7H9v2MNr9zejDuh239o5sdea44DRAYrv+rfUi2QGT186P2h0GPGKvy8avQ5g== @@ -12488,6 +13044,26 @@ unimport@^6.0.1, unimport@^6.0.2: unplugin "^3.0.0" unplugin-utils "^0.3.1" +unimport@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/unimport/-/unimport-6.2.0.tgz#f1ff0f13d07f25899b5cf883d180e7e6a0d93ba2" + integrity sha512-4NcqaphAHQff4eBWQ3pjVOCYNLlmVGGMoLDmboobh8+OQe9yP7UyeoMP043M1bG0YNc3CqtukD2VuINxOqm4rQ== + dependencies: + acorn "^8.16.0" + escape-string-regexp "^5.0.0" + estree-walker "^3.0.3" + local-pkg "^1.1.2" + magic-string "^0.30.21" + mlly "^1.8.2" + pathe "^2.0.3" + picomatch "^4.0.4" + pkg-types "^2.3.1" + scule "^1.3.0" + strip-literal "^3.1.0" + tinyglobby "^0.2.16" + unplugin "^3.0.0" + unplugin-utils "^0.3.1" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -12622,6 +13198,20 @@ unstorage@^1.17.4: ofetch "^1.5.1" ufo "^1.6.3" +unstorage@^1.17.5: + version "1.17.5" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.17.5.tgz#e76c82fdc1d2c04cb0e2c0a1de08aa08b2253f51" + integrity sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg== + dependencies: + anymatch "^3.1.3" + chokidar "^5.0.0" + destr "^2.0.5" + h3 "^1.15.10" + lru-cache "^11.2.7" + node-fetch-native "^1.6.7" + ofetch "^1.5.1" + ufo "^1.6.3" + untun@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.3.tgz#5d10dee37a3a5737ff03d158be877dae0a0e58a6" @@ -12667,6 +13257,11 @@ uqr@^0.1.2: resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== +uqr@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.3.tgz#43b5b27508cd28ccc42401ea75b92a39bd8cd510" + integrity sha512-0rjE8iEJe4YmT9TOhwsZtqCMRLc5DXZUI2UEYUUg63ikBkqqE5EYWaI0etFe/5KUcmcYwLih2RND1kq+hrUJXA== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -13337,6 +13932,17 @@ youch@^4.1.0: cookie-es "^2.0.0" youch-core "^0.3.3" +youch@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/youch/-/youch-4.1.1.tgz#ea930d7bcdc517b8826b3878f4519550f1effd5c" + integrity sha512-mxW3qiSnl+GRxXsaUMzv2Mbada1Y8CDltET9UxejDQe6DBYlSekghl5U5K0ReAikcHDi0G1vKZEmmo/NWAGKLA== + dependencies: + "@poppinss/colors" "^4.1.6" + "@poppinss/dumper" "^0.7.0" + "@speed-highlight/core" "^1.2.14" + cookie-es "^3.0.1" + youch-core "^0.3.3" + z-schema@~5.0.2: version "5.0.6" resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.6.tgz#46d6a687b15e4a4369e18d6cb1c7b8618fc256c5" From 542fda37fc204fa2b64347c33fa99c6705544b3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 09:20:59 +0200 Subject: [PATCH 4/5] chore(deps): bump nitropack from 2.13.2 to 2.13.4 in /web-frontend (#5334) Bumps [nitropack](https://github.com/nitrojs/nitro) from 2.13.2 to 2.13.4. - [Release notes](https://github.com/nitrojs/nitro/releases) - [Changelog](https://github.com/nitrojs/nitro/blob/main/changelog.config.ts) - [Commits](https://github.com/nitrojs/nitro/compare/v2.13.2...v2.13.4) --- updated-dependencies: - dependency-name: nitropack dependency-version: 2.13.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> From 9b56c3f1cfe4eb1139fec9663cafed6c74528c57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 09:21:29 +0200 Subject: [PATCH 5/5] chore(deps-dev): bump @vitest/coverage-v8 in /web-frontend (#5294) Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 4.0.17 to 4.1.5. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/coverage-v8) --- updated-dependencies: - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.5 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-frontend/package.json | 2 +- web-frontend/yarn.lock | 75 +++++++++++++++++++-------------------- 2 files changed, 37 insertions(+), 40 deletions(-) diff --git a/web-frontend/package.json b/web-frontend/package.json index f42bda5ae5..b8b450f25f 100644 --- a/web-frontend/package.json +++ b/web-frontend/package.json @@ -129,7 +129,7 @@ "@storybook/addon-docs": "^9.1.16", "@storybook/addon-links": "^9.1.16", "@vitest/coverage-istanbul": "^4.0.17", - "@vitest/coverage-v8": "^4.0.17", + "@vitest/coverage-v8": "^4.1.5", "@vue/test-utils": "^2.4.6", "axios-mock-adapter": "^2.1.0", "eslint-config-prettier": "^10.1.8", diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index fed177cab4..2bec57a7da 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -5230,21 +5230,21 @@ obug "^2.1.1" tinyrainbow "^3.0.3" -"@vitest/coverage-v8@^4.0.17": - version "4.0.17" - resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-4.0.17.tgz#3bb100e9a6766de282049fba28e21a010a73509a" - integrity sha512-/6zU2FLGg0jsd+ePZcwHRy3+WpNTBBhDY56P4JTRqUN/Dp6CvOEa9HrikcQ4KfV2b2kAHUFB4dl1SuocWXSFEw== +"@vitest/coverage-v8@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-4.1.5.tgz#26bbdbebecd66be77fa1b63a9ed985dd86a3ba85" + integrity sha512-38C0/Ddb7HcRG0Z4/DUem8x57d2p9jYgp18mkaYswEOQBGsI1CG4f/hjm0ZCeaJfWhSZ4k7jgs29V1Zom7Ki9A== dependencies: "@bcoe/v8-coverage" "^1.0.2" - "@vitest/utils" "4.0.17" - ast-v8-to-istanbul "^0.3.10" + "@vitest/utils" "4.1.5" + ast-v8-to-istanbul "^1.0.0" istanbul-lib-coverage "^3.2.2" istanbul-lib-report "^3.0.1" istanbul-reports "^3.2.0" - magicast "^0.5.1" + magicast "^0.5.2" obug "^2.1.1" - std-env "^3.10.0" - tinyrainbow "^3.0.3" + std-env "^4.0.0-rc.1" + tinyrainbow "^3.1.0" "@vitest/expect@3.2.4": version "3.2.4" @@ -5294,13 +5294,6 @@ dependencies: tinyrainbow "^2.0.0" -"@vitest/pretty-format@4.0.17": - version "4.0.17" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.0.17.tgz#dde7cb2c01699d0943571137d1b482edff5fc000" - integrity sha512-Ah3VAYmjcEdHg6+MwFE17qyLqBHZ+ni2ScKCiW2XrlSBV4H3Z7vYfPfz7CWQ33gyu76oc0Ai36+kgLU3rfF4nw== - dependencies: - tinyrainbow "^3.0.3" - "@vitest/pretty-format@4.1.2": version "4.1.2" resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.2.tgz#c2671aa1c931dc8f2759589fc87ea4b2602892c5" @@ -5308,6 +5301,13 @@ dependencies: tinyrainbow "^3.1.0" +"@vitest/pretty-format@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.5.tgz#4c13d77a77e2931e44db95522ed5700bcf0570d4" + integrity sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g== + dependencies: + tinyrainbow "^3.1.0" + "@vitest/runner@4.1.2": version "4.1.2" resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.1.2.tgz#6f744fa0d92d31f4c8c255b64bbe073cb75fd96e" @@ -5347,14 +5347,6 @@ loupe "^3.1.4" tinyrainbow "^2.0.0" -"@vitest/utils@4.0.17": - version "4.0.17" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.0.17.tgz#48181deab273c87ac4ee20c1c454ffe9c4f453fe" - integrity sha512-RG6iy+IzQpa9SB8HAFHJ9Y+pTzI+h8553MrciN9eC6TFBErqrQaTas4vG+MVj8S4uKk8uTT2p0vgZPnTdxd96w== - dependencies: - "@vitest/pretty-format" "4.0.17" - tinyrainbow "^3.0.3" - "@vitest/utils@4.1.2": version "4.1.2" resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.2.tgz#32be8f42eb6683a598b1c61d7ec9f55596c60ecb" @@ -5364,6 +5356,15 @@ convert-source-map "^2.0.0" tinyrainbow "^3.1.0" +"@vitest/utils@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.5.tgz#20d6a6ae651a0dd33f945548921698d49701fa43" + integrity sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug== + dependencies: + "@vitest/pretty-format" "4.1.5" + convert-source-map "^2.0.0" + tinyrainbow "^3.1.0" + "@volar/language-core@1.11.1", "@volar/language-core@~1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.11.1.tgz#ecdf12ea8dc35fb8549e517991abcbf449a5ad4f" @@ -6026,14 +6027,14 @@ ast-types@^0.16.1: dependencies: tslib "^2.0.1" -ast-v8-to-istanbul@^0.3.10: - version "0.3.10" - resolved "https://registry.yarnpkg.com/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.10.tgz#ceff0094c8c64b9e04393c2377fd61857429ec04" - integrity sha512-p4K7vMz2ZSk3wN8l5o3y2bJAoZXT3VuJI5OLTATY/01CYWumWvwkUw0SqDBnNq6IiTO3qDa1eSQDibAV8g7XOQ== +ast-v8-to-istanbul@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz#d1e8bfc79fa9c452972ff91897633bda4e5e7577" + integrity sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg== dependencies: "@jridgewell/trace-mapping" "^0.3.31" estree-walker "^3.0.3" - js-tokens "^9.0.1" + js-tokens "^10.0.0" ast-walker-scope@^0.8.3: version "0.8.3" @@ -9160,6 +9161,11 @@ js-stringify@^1.0.2: resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" integrity sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== +js-tokens@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-10.0.0.tgz#dffe7599b4a8bb7fe30aff8d0235234dffb79831" + integrity sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -9645,16 +9651,7 @@ magic-string@^0.30.0, magic-string@^0.30.12, magic-string@^0.30.17, magic-string dependencies: "@jridgewell/sourcemap-codec" "^1.5.5" -magicast@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.5.1.tgz#518959aea78851cd35d4bb0da92f780db3f606d3" - integrity sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw== - dependencies: - "@babel/parser" "^7.28.5" - "@babel/types" "^7.28.5" - source-map-js "^1.2.1" - -magicast@^0.5.2: +magicast@^0.5.1, magicast@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.5.2.tgz#70cea9df729c164485049ea5df85a390281dfb9d" integrity sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==