diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..1b773dc8 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,68 @@ +.env + +.git/ +node_modules/ +vendor/ +build/ +docs/ +scripts/ +tests/ + +#------------------------- +# Temporary Files +#------------------------- +writable/cache/* +!writable/cache/index.html + +writable/logs/* +!writable/logs/index.html + +writable/session/* +!writable/session/index.html + +writable/temp/* +!writable/temp/index.html + +writable/uploads/* +!writable/uploads/index.html + +writable/debugbar/* +!writable/debugbar/index.html + +# public folder +public/* +!public/media +!public/.htaccess +!public/favicon.ico +!public/icon* +!public/castopod-banner* +!public/castopod-avatar* +!public/index.php +!public/robots.txt +!public/.well-known +!public/.well-known/GDPR.yml + +public/assets/* +!public/assets/index.html + +# public media folder +!public/media/podcasts +!public/media/persons +!public/media/site + +public/media/podcasts/* +!public/media/podcasts/index.html + +public/media/persons/* +!public/media/persons/index.html + +public/media/site/* +!public/media/site/index.html + +# Generated files +modules/Admin/Language/*/PersonsTaxonomy.php + +# Castopod bundle & packages +castopod/ +castopod-*.zip +castopod-*.tar.gz diff --git a/.gitignore b/.gitignore index 90005402..759dd2f9 100644 --- a/.gitignore +++ b/.gitignore @@ -175,15 +175,6 @@ public/media/site/* # Generated files modules/Admin/Language/*/PersonsTaxonomy.php -#------------------------- -# Docker volumes -#------------------------- - -mariadb -phpmyadmin -sessions -data - # Castopod bundle & packages castopod/ castopod-*.zip diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 66ce8cc7..ab7d958c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,6 +23,10 @@ php-dependencies: expire_in: 30 mins paths: - vendor/ + rules: + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - when: on_success js-dependencies: stage: prepare @@ -39,6 +43,10 @@ js-dependencies: expire_in: 30 mins paths: - node_modules/ + rules: + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - when: on_success lint-commit-msg: stage: quality @@ -48,11 +56,10 @@ lint-commit-msg: - ./scripts/lint-commit-msg.sh dependencies: - js-dependencies - only: - - develop - - main - - beta - - alpha + rules: + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - if: $CI_COMMIT_BRANCH =~ /^(develop|main|alpha|beta|next)$/ lint-php: stage: quality @@ -65,6 +72,10 @@ lint-php: - vendor/bin/rector process --dry-run --ansi dependencies: - php-dependencies + rules: + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - when: on_success lint-js: stage: quality @@ -74,6 +85,10 @@ lint-js: - pnpm run lint dependencies: - js-dependencies + rules: + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - when: on_success tests: stage: quality @@ -92,6 +107,10 @@ tests: - vendor/bin/phpunit --no-coverage dependencies: - php-dependencies + rules: + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - when: on_success bundle: stage: bundle @@ -112,13 +131,12 @@ bundle: name: "castopod-${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}" paths: - castopod - only: - variables: - - $CI_PROJECT_NAMESPACE == "adaures" - except: - - main - - beta - - alpha + rules: + - if: $CI_PROJECT_NAMESPACE != "adaures" + when: never + - if: $CI_COMMIT_BRANCH =~ /^(main|beta|alpha|next)$/ || $CI_COMMIT_TAG + when: never + - when: on_success release: stage: release @@ -142,38 +160,38 @@ release: artifacts: paths: - castopod - - CP_VERSION.env - only: - - main - - beta - - alpha + rules: + - if: $CI_PROJECT_NAMESPACE != "adaures" + when: never + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - if: $CI_COMMIT_BRANCH =~ /^(main|alpha|beta|next)$/ website: stage: deploy trigger: adaures/castopod.org - only: - - main - - beta - - alpha + rules: + - if: $CI_PROJECT_NAMESPACE != "adaures" + when: never + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ && $CI_COMMIT_TAG documentation: stage: deploy trigger: include: docs/.gitlab-ci.yml strategy: depend + rules: + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ + when: never + - when: on_success docker: stage: build trigger: include: docker/production/.gitlab-ci.yml strategy: depend - variables: - PARENT_PIPELINE_ID: $CI_PIPELINE_ID - only: - refs: - - develop - - main - - beta - - alpha - variables: - - $CI_PROJECT_NAMESPACE == "adaures" + rules: + - if: $CI_PROJECT_NAMESPACE != "adaures" + when: never + - if: $CI_COMMIT_BRANCH == "develop" + - if: $CI_COMMIT_MESSAGE =~ /^chore\(release\):/ && $CI_COMMIT_TAG diff --git a/.releaserc.json b/.releaserc.json index b5b4a34d..049e4b2d 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -89,7 +89,8 @@ "package.json", "package-lock.json", "CHANGELOG.md" - ] + ], + "message": "chore(release): ${nextRelease.version}\n\n${nextRelease.notes}" } ], [ diff --git a/app/Helpers/seo_helper.php b/app/Helpers/seo_helper.php index e18e659a..d8af9834 100644 --- a/app/Helpers/seo_helper.php +++ b/app/Helpers/seo_helper.php @@ -30,22 +30,25 @@ if (! function_exists('get_podcast_metatags')) { $category .= $podcast->category->apple_category; $schema = new Schema( - new Thing('PodcastSeries', [ - 'name' => $podcast->title, - 'headline' => $podcast->title, - 'url' => current_url(), - 'sameAs' => $podcast->link, - 'identifier' => $podcast->guid, - 'image' => $podcast->cover->feed_url, - 'description' => $podcast->description, - 'webFeed' => $podcast->feed_url, - 'accessMode' => 'auditory', - 'author' => $podcast->owner_name, - 'creator' => $podcast->owner_name, - 'publisher' => $podcast->publisher, - 'inLanguage' => $podcast->language_code, - 'genre' => $category, - ]) + new Thing( + props: [ + 'name' => $podcast->title, + 'headline' => $podcast->title, + 'url' => current_url(), + 'sameAs' => $podcast->link, + 'identifier' => $podcast->guid, + 'image' => $podcast->cover->feed_url, + 'description' => $podcast->description, + 'webFeed' => $podcast->feed_url, + 'accessMode' => 'auditory', + 'author' => $podcast->owner_name, + 'creator' => $podcast->owner_name, + 'publisher' => $podcast->publisher, + 'inLanguage' => $podcast->language_code, + 'genre' => $category, + ], + type: 'PodcastSeries' + ) ); $metatags = new MetaTags(); @@ -79,22 +82,31 @@ if (! function_exists('get_episode_metatags')) { function get_episode_metatags(Episode $episode): string { $schema = new Schema( - new Thing('PodcastEpisode', [ - 'url' => url_to('episode', esc($episode->podcast->handle), $episode->slug), - 'name' => $episode->title, - 'image' => $episode->cover->feed_url, - 'description' => $episode->description, - 'datePublished' => $episode->published_at->format(DATE_ISO8601), - 'timeRequired' => iso8601_duration($episode->audio->duration), - 'duration' => iso8601_duration($episode->audio->duration), - 'associatedMedia' => new Thing('MediaObject', [ - 'contentUrl' => $episode->audio_url, - ]), - 'partOfSeries' => new Thing('PodcastSeries', [ - 'name' => $episode->podcast->title, - 'url' => $episode->podcast->link, - ]), - ]) + new Thing( + props: [ + 'url' => url_to('episode', esc($episode->podcast->handle), $episode->slug), + 'name' => $episode->title, + 'image' => $episode->cover->feed_url, + 'description' => $episode->description, + 'datePublished' => $episode->published_at->format(DATE_ISO8601), + 'timeRequired' => iso8601_duration($episode->audio->duration), + 'duration' => iso8601_duration($episode->audio->duration), + 'associatedMedia' => new Thing( + props: [ + 'contentUrl' => $episode->audio_url, + ], + type: 'MediaObject' + ), + 'partOfSeries' => new Thing( + props: [ + 'name' => $episode->podcast->title, + 'url' => $episode->podcast->link, + ], + type: 'PodcastSeries' + ), + ], + type: 'PodcastEpisode' + ) ); $metatags = new MetaTags(); @@ -140,32 +152,50 @@ if (! function_exists('get_episode_metatags')) { if (! function_exists('get_post_metatags')) { function get_post_metatags(Post $post): string { - $socialMediaPosting = new Thing('SocialMediaPosting', [ - '@id' => url_to('post', esc($post->actor->username), $post->id), - 'datePublished' => $post->published_at->format(DATE_ISO8601), - 'author' => new Thing('Person', [ - 'name' => $post->actor->display_name, - 'url' => $post->actor->uri, - ]), - 'text' => $post->message, - ]); + $socialMediaPosting = new Thing( + props: [ + '@id' => url_to('post', esc($post->actor->username), $post->id), + 'datePublished' => $post->published_at->format(DATE_ISO8601), + 'author' => new Thing( + props: [ + 'name' => $post->actor->display_name, + 'url' => $post->actor->uri, + ], + type: 'Person' + ), + 'text' => $post->message, + ], + type: 'SocialMediaPosting' + ); if ($post->episode_id !== null) { - $socialMediaPosting->__set('sharedContent', new Thing('Audio', [ - 'headline' => $post->episode->title, - 'url' => $post->episode->link, - 'author' => new Thing('Person', [ - 'name' => $post->episode->podcast->owner_name, - ]), - ])); + $socialMediaPosting->__set('sharedContent', new Thing( + props: [ + 'headline' => $post->episode->title, + 'url' => $post->episode->link, + 'author' => new Thing( + props: [ + 'name' => $post->episode->podcast->owner_name, + ], + type: 'Person' + ), + ], + type: 'Audio' + )); } elseif ($post->preview_card instanceof PreviewCard) { - $socialMediaPosting->__set('sharedContent', new Thing('WebPage', [ - 'headline' => $post->preview_card->title, - 'url' => $post->preview_card->url, - 'author' => new Thing('Person', [ - 'name' => $post->preview_card->author_name, - ]), - ])); + $socialMediaPosting->__set('sharedContent', new Thing( + props: [ + 'headline' => $post->preview_card->title, + 'url' => $post->preview_card->url, + 'author' => new Thing( + props: [ + 'name' => $post->preview_card->author_name, + ], + type: 'Person' + ), + ], + type: 'WebPage' + )); } $schema = new Schema($socialMediaPosting); @@ -192,21 +222,27 @@ if (! function_exists('get_post_metatags')) { if (! function_exists('get_episode_comment_metatags')) { function get_episode_comment_metatags(EpisodeComment $episodeComment): string { - $schema = new Schema(new Thing('SocialMediaPosting', [ - '@id' => url_to( - 'episode-comment', - esc($episodeComment->actor->username), - $episodeComment->episode->slug, - $episodeComment->id - ), - 'datePublished' => $episodeComment->created_at->format(DATE_ISO8601), - 'author' => new Thing('Person', [ - 'name' => $episodeComment->actor->display_name, - 'url' => $episodeComment->actor->uri, - ]), - 'text' => $episodeComment->message, - 'upvoteCount' => $episodeComment->likes_count, - ])); + $schema = new Schema(new Thing( + props: [ + '@id' => url_to( + 'episode-comment', + esc($episodeComment->actor->username), + $episodeComment->episode->slug, + $episodeComment->id + ), + 'datePublished' => $episodeComment->created_at->format(DATE_ISO8601), + 'author' => new Thing( + props: [ + 'name' => $episodeComment->actor->display_name, + 'url' => $episodeComment->actor->uri, + ], + type: 'Person' + ), + 'text' => $episodeComment->message, + 'upvoteCount' => $episodeComment->likes_count, + ], + type: 'SocialMediaPosting' + )); $metatags = new MetaTags(); $metatags diff --git a/composer.json b/composer.json index 05e8be35..617b3625 100644 --- a/composer.json +++ b/composer.json @@ -9,10 +9,10 @@ "php": "^8.1", "adaures/ipcat-php": "^v1.0.0", "adaures/podcast-persons-taxonomy": "^v1.0.1", - "aws/aws-sdk-php": "^3.369.0", + "aws/aws-sdk-php": "^3.369.34", "chrisjean/php-ico": "^1.0.4", "cocur/slugify": "^v4.7.1", - "codeigniter4/framework": "4.6.4", + "codeigniter4/framework": "4.6.5", "codeigniter4/settings": "v2.2.0", "codeigniter4/shield": "^1.2.0", "codeigniter4/tasks": "dev-develop", @@ -20,26 +20,26 @@ "james-heinrich/getid3": "^2.0.0-beta6", "league/commonmark": "^2.8.0", "league/html-to-markdown": "5.1.1", - "melbahja/seo": "^v2.1.1", + "melbahja/seo": "3.0.2", "michalsn/codeigniter4-uuid": "1.3.1", "mpratt/embera": "^2.0.42", "opawg/user-agents-v2-php": "dev-main", - "phpseclib/phpseclib": "~2.0.50", - "vlucas/phpdotenv": "^5.6.2", + "phpseclib/phpseclib": "~2.0.51", + "vlucas/phpdotenv": "^5.6.3", "whichbrowser/parser": "^v2.1.8", "yassinedoghri/php-icons": "^1.3.0", "yassinedoghri/podcast-feed": "dev-main" }, "require-dev": { - "captainhook/captainhook": "^5.27.4", + "captainhook/captainhook": "^5.28.2", "codeigniter/phpstan-codeigniter": "^1.5.4", "mikey179/vfsstream": "v1.6.12", "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^2.1.33", - "phpunit/phpunit": "^10.5.60", - "rector/rector": "^2.2.14", + "phpstan/phpstan": "^2.1.39", + "phpunit/phpunit": "^10.5.63", + "rector/rector": "^2.3.6", "symplify/coding-standard": "^13.0.0", - "symplify/easy-coding-standard": "^13.0.0" + "symplify/easy-coding-standard": "^13.0.4" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index 1b9edb94..ff11b67e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d656a2e88ee682f1e5eac8c7d3c29615", + "content-hash": "ea6bde95b3b80d923a0dc0e9c946a0c0", "packages": [ { "name": "adaures/ipcat-php", @@ -206,16 +206,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.369.0", + "version": "3.369.34", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "2bbe45aaaaa23a863a5daadcda326cf1c8b4a15b" + "reference": "5db21cd0e5c8a5b5344596649033acf861a5e117" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2bbe45aaaaa23a863a5daadcda326cf1c8b4a15b", - "reference": "2bbe45aaaaa23a863a5daadcda326cf1c8b4a15b", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5db21cd0e5c8a5b5344596649033acf861a5e117", + "reference": "5db21cd0e5c8a5b5344596649033acf861a5e117", "shasum": "" }, "require": { @@ -229,7 +229,7 @@ "mtdowling/jmespath.php": "^2.8.0", "php": ">=8.1", "psr/http-message": "^1.0 || ^2.0", - "symfony/filesystem": "^v6.4.3 || ^v7.1.0 || ^v8.0.0" + "symfony/filesystem": "^v5.4.45 || ^v6.4.3 || ^v7.1.0 || ^v8.0.0" }, "require-dev": { "andrewsville/php-token-reflection": "^1.4", @@ -297,22 +297,22 @@ "support": { "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.369.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.369.34" }, - "time": "2025-12-19T19:08:40+00:00" + "time": "2026-02-13T19:09:12+00:00" }, { "name": "brick/math", - "version": "0.14.1", + "version": "0.14.8", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "f05858549e5f9d7bb45875a75583240a38a281d0" + "reference": "63422359a44b7f06cae63c3b429b59e8efcc0629" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0", - "reference": "f05858549e5f9d7bb45875a75583240a38a281d0", + "url": "https://api.github.com/repos/brick/math/zipball/63422359a44b7f06cae63c3b429b59e8efcc0629", + "reference": "63422359a44b7f06cae63c3b429b59e8efcc0629", "shasum": "" }, "require": { @@ -351,7 +351,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.14.1" + "source": "https://github.com/brick/math/tree/0.14.8" }, "funding": [ { @@ -359,7 +359,7 @@ "type": "github" } ], - "time": "2025-11-24T14:40:29+00:00" + "time": "2026-02-10T14:33:43+00:00" }, { "name": "chrisjean/php-ico", @@ -484,16 +484,16 @@ }, { "name": "codeigniter4/framework", - "version": "v4.6.4", + "version": "v4.6.5", "source": { "type": "git", "url": "https://github.com/codeigniter4/framework.git", - "reference": "e4d3702037a34549582453dbf59b7b67877ae82e" + "reference": "116e0919590a412c09d2b9e4f6b8addda18224d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/framework/zipball/e4d3702037a34549582453dbf59b7b67877ae82e", - "reference": "e4d3702037a34549582453dbf59b7b67877ae82e", + "url": "https://api.github.com/repos/codeigniter4/framework/zipball/116e0919590a412c09d2b9e4f6b8addda18224d8", + "reference": "116e0919590a412c09d2b9e4f6b8addda18224d8", "shasum": "" }, "require": { @@ -554,7 +554,7 @@ "slack": "https://codeigniterchat.slack.com", "source": "https://github.com/codeigniter4/CodeIgniter4" }, - "time": "2025-12-12T10:37:42+00:00" + "time": "2026-02-01T17:59:34+00:00" }, { "name": "codeigniter4/queue", @@ -562,16 +562,16 @@ "source": { "type": "git", "url": "https://github.com/codeigniter4/queue.git", - "reference": "3acaa081701b44aaab3ffe8ad6740d138c949e4b" + "reference": "b44386ad29f0a2124e59582ef5ba170788b926ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/queue/zipball/3acaa081701b44aaab3ffe8ad6740d138c949e4b", - "reference": "3acaa081701b44aaab3ffe8ad6740d138c949e4b", + "url": "https://api.github.com/repos/codeigniter4/queue/zipball/b44386ad29f0a2124e59582ef5ba170788b926ed", + "reference": "b44386ad29f0a2124e59582ef5ba170788b926ed", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^8.2" }, "require-dev": { "codeigniter4/devkit": "^1.3", @@ -620,7 +620,7 @@ "issues": "https://github.com/codeigniter4/queue/issues", "source": "https://github.com/codeigniter4/queue/tree/develop" }, - "time": "2025-12-18T07:26:23+00:00" + "time": "2026-02-15T08:22:24+00:00" }, { "name": "codeigniter4/settings", @@ -754,23 +754,23 @@ "source": { "type": "git", "url": "https://github.com/codeigniter4/tasks.git", - "reference": "9804e5f42a881fee90db4aee114d6d0bfd8a3d4b" + "reference": "8d0c0f83d48dd1ac322d30a4c51ff309ab5368e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/9804e5f42a881fee90db4aee114d6d0bfd8a3d4b", - "reference": "9804e5f42a881fee90db4aee114d6d0bfd8a3d4b", + "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/8d0c0f83d48dd1ac322d30a4c51ff309ab5368e0", + "reference": "8d0c0f83d48dd1ac322d30a4c51ff309ab5368e0", "shasum": "" }, "require": { "codeigniter4/queue": "dev-develop", "codeigniter4/settings": "^2.0", "ext-json": "*", - "php": "^8.1" + "php": "^8.2" }, "require-dev": { "codeigniter4/devkit": "^1.3", - "codeigniter4/framework": "^4.1" + "codeigniter4/framework": "^4.3" }, "default-branch": true, "type": "library", @@ -855,7 +855,7 @@ "source": "https://github.com/codeigniter4/tasks/tree/develop", "issues": "https://github.com/codeigniter4/tasks/issues" }, - "time": "2025-11-23T18:40:42+00:00" + "time": "2026-02-15T08:22:03+00:00" }, { "name": "composer/ca-bundle", @@ -1064,24 +1064,24 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.1.3", + "version": "v1.1.4", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3" + "phpoption/phpoption": "^1.9.5" }, "require-dev": { - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" }, "type": "library", "autoload": { @@ -1110,7 +1110,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4" }, "funding": [ { @@ -1122,7 +1122,7 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:45:45+00:00" + "time": "2025-12-27T19:43:20+00:00" }, { "name": "guzzlehttp/guzzle", @@ -1939,16 +1939,16 @@ }, { "name": "maxmind/web-service-common", - "version": "v0.11.0", + "version": "v0.11.1", "source": { "type": "git", "url": "https://github.com/maxmind/web-service-common-php.git", - "reference": "5b9e3d3472213361eebdb3ab8879e91b8952091b" + "reference": "c309236b5a5555b96cf560089ec3cead12d845d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/5b9e3d3472213361eebdb3ab8879e91b8952091b", - "reference": "5b9e3d3472213361eebdb3ab8879e91b8952091b", + "url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/c309236b5a5555b96cf560089ec3cead12d845d2", + "reference": "c309236b5a5555b96cf560089ec3cead12d845d2", "shasum": "" }, "require": { @@ -1960,7 +1960,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "3.*", "phpstan/phpstan": "*", - "phpunit/phpunit": "^8.0 || ^9.0", + "phpunit/phpunit": "^10.0", "squizlabs/php_codesniffer": "4.*" }, "type": "library", @@ -1984,32 +1984,32 @@ "homepage": "https://github.com/maxmind/web-service-common-php", "support": { "issues": "https://github.com/maxmind/web-service-common-php/issues", - "source": "https://github.com/maxmind/web-service-common-php/tree/v0.11.0" + "source": "https://github.com/maxmind/web-service-common-php/tree/v0.11.1" }, - "time": "2025-11-20T18:33:17+00:00" + "time": "2026-01-13T17:56:03+00:00" }, { "name": "melbahja/seo", - "version": "v2.1.1", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/melbahja/seo.git", - "reference": "22b0b3273bf9c8867cadf018e4daa3e426525929" + "reference": "e8d36b2c46e1b05af957c90beea19090f64d5bf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/melbahja/seo/zipball/22b0b3273bf9c8867cadf018e4daa3e426525929", - "reference": "22b0b3273bf9c8867cadf018e4daa3e426525929", + "url": "https://api.github.com/repos/melbahja/seo/zipball/e8d36b2c46e1b05af957c90beea19090f64d5bf9", + "reference": "e8d36b2c46e1b05af957c90beea19090f64d5bf9", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-xml": "*", - "php": ">=7.2" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^10.0" }, "type": "library", "autoload": { @@ -2029,24 +2029,29 @@ "role": "Developer" } ], - "description": "Simple PHP library to help developers 🍻 do better on-page SEO optimization", + "description": "SEO library for PHP is a simple PHP library to help developers 🍻 do better on-page SEO optimizations.", "keywords": [ - "PHP7", + "images sitemaps", + "index sitemaps", "meta tags", + "news sitemaps", "open graph", + "php8", + "rich results", "schema.org", "search engine optimization", "seo", "sitemap index", "sitemap.xml", "sitemaps", - "twitter tags" + "twitter tags", + "video sitemaps" ], "support": { "issues": "https://github.com/melbahja/seo/issues", - "source": "https://github.com/melbahja/seo/tree/v2.1.1" + "source": "https://github.com/melbahja/seo/tree/v3.0.2" }, - "time": "2022-09-11T11:16:07+00:00" + "time": "2026-02-08T12:48:54+00:00" }, { "name": "michalsn/codeigniter4-uuid", @@ -2241,16 +2246,16 @@ }, { "name": "nette/schema", - "version": "v1.3.3", + "version": "v1.3.4", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" + "reference": "086497a2f34b82fede9b5a41cc8e131d087cd8f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", - "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", + "url": "https://api.github.com/repos/nette/schema/zipball/086497a2f34b82fede9b5a41cc8e131d087cd8f7", + "reference": "086497a2f34b82fede9b5a41cc8e131d087cd8f7", "shasum": "" }, "require": { @@ -2258,8 +2263,8 @@ "php": "8.1 - 8.5" }, "require-dev": { - "nette/tester": "^2.5.2", - "phpstan/phpstan-nette": "^2.0@stable", + "nette/tester": "^2.6", + "phpstan/phpstan": "^2.0@stable", "tracy/tracy": "^2.8" }, "type": "library", @@ -2300,22 +2305,22 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.3" + "source": "https://github.com/nette/schema/tree/v1.3.4" }, - "time": "2025-10-30T22:57:59+00:00" + "time": "2026-02-08T02:54:00+00:00" }, { "name": "nette/utils", - "version": "v4.1.0", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "fa1f0b8261ed150447979eb22e373b7b7ad5a8e0" + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/fa1f0b8261ed150447979eb22e373b7b7ad5a8e0", - "reference": "fa1f0b8261ed150447979eb22e373b7b7ad5a8e0", + "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe", + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe", "shasum": "" }, "require": { @@ -2327,8 +2332,10 @@ }, "require-dev": { "jetbrains/phpstorm-attributes": "^1.2", + "nette/phpstan-rules": "^1.0", "nette/tester": "^2.5", - "phpstan/phpstan-nette": "^2.0@stable", + "phpstan/extension-installer": "^1.4@stable", + "phpstan/phpstan": "^2.1@stable", "tracy/tracy": "^2.9" }, "suggest": { @@ -2389,9 +2396,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.1.0" + "source": "https://github.com/nette/utils/tree/v4.1.3" }, - "time": "2025-12-01T17:49:23+00:00" + "time": "2026-02-13T03:05:33+00:00" }, { "name": "opawg/user-agents-v2-php", @@ -2435,16 +2442,16 @@ }, { "name": "phpoption/phpoption", - "version": "1.9.4", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d" + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be", "shasum": "" }, "require": { @@ -2494,7 +2501,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.4" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.5" }, "funding": [ { @@ -2506,20 +2513,20 @@ "type": "tidelift" } ], - "time": "2025-08-21T11:53:16+00:00" + "time": "2025-12-27T19:41:33+00:00" }, { "name": "phpseclib/phpseclib", - "version": "2.0.50", + "version": "2.0.51", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "1815ddd00195487cc922577751c175f339f4e20f" + "reference": "ed661e7cdaeb8c419e609e2f3203551a13c2ed48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/1815ddd00195487cc922577751c175f339f4e20f", - "reference": "1815ddd00195487cc922577751c175f339f4e20f", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ed661e7cdaeb8c419e609e2f3203551a13c2ed48", + "reference": "ed661e7cdaeb8c419e609e2f3203551a13c2ed48", "shasum": "" }, "require": { @@ -2600,7 +2607,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/2.0.50" + "source": "https://github.com/phpseclib/phpseclib/tree/2.0.51" }, "funding": [ { @@ -2616,7 +2623,7 @@ "type": "tidelift" } ], - "time": "2025-12-15T11:48:50+00:00" + "time": "2026-01-27T09:11:52+00:00" }, { "name": "psr/cache", @@ -3516,26 +3523,26 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.6.2", + "version": "v5.6.3", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" + "reference": "955e7815d677a3eaa7075231212f2110983adecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc", + "reference": "955e7815d677a3eaa7075231212f2110983adecc", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.3", + "graham-campbell/result-type": "^1.1.4", "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" + "phpoption/phpoption": "^1.9.5", + "symfony/polyfill-ctype": "^1.26", + "symfony/polyfill-mbstring": "^1.26", + "symfony/polyfill-php80": "^1.26" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", @@ -3584,7 +3591,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3" }, "funding": [ { @@ -3596,7 +3603,7 @@ "type": "tidelift" } ], - "time": "2025-04-30T23:37:27+00:00" + "time": "2025-12-27T19:49:13+00:00" }, { "name": "whichbrowser/parser", @@ -3776,16 +3783,16 @@ "packages-dev": [ { "name": "captainhook/captainhook", - "version": "5.27.4", + "version": "5.28.2", "source": { "type": "git", "url": "https://github.com/captainhook-git/captainhook.git", - "reference": "f4485d2a5db16a37053ffe7916f0808f619b430d" + "reference": "2adbc8fea26823ecf52578998de5daf57846872f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/captainhook-git/captainhook/zipball/f4485d2a5db16a37053ffe7916f0808f619b430d", - "reference": "f4485d2a5db16a37053ffe7916f0808f619b430d", + "url": "https://api.github.com/repos/captainhook-git/captainhook/zipball/2adbc8fea26823ecf52578998de5daf57846872f", + "reference": "2adbc8fea26823ecf52578998de5daf57846872f", "shasum": "" }, "require": { @@ -3796,7 +3803,7 @@ "php": ">=8.0", "sebastianfeldmann/camino": "^0.9.2", "sebastianfeldmann/cli": "^3.3", - "sebastianfeldmann/git": "^3.15.3", + "sebastianfeldmann/git": "^3.16.0", "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0" @@ -3848,7 +3855,7 @@ ], "support": { "issues": "https://github.com/captainhook-git/captainhook/issues", - "source": "https://github.com/captainhook-git/captainhook/tree/5.27.4" + "source": "https://github.com/captainhook-git/captainhook/tree/5.28.2" }, "funding": [ { @@ -3856,7 +3863,7 @@ "type": "github" } ], - "time": "2025-12-12T10:35:01+00:00" + "time": "2026-02-15T14:36:43+00:00" }, { "name": "captainhook/secrets", @@ -4382,16 +4389,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.92.3", + "version": "v3.94.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "2ba8f5a60f6f42fb65758cfb3768434fa2d1c7e8" + "reference": "883b20fb38c7866de9844ab6d0a205c423bde2d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/2ba8f5a60f6f42fb65758cfb3768434fa2d1c7e8", - "reference": "2ba8f5a60f6f42fb65758cfb3768434fa2d1c7e8", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/883b20fb38c7866de9844ab6d0a205c423bde2d4", + "reference": "883b20fb38c7866de9844ab6d0a205c423bde2d4", "shasum": "" }, "require": { @@ -4408,7 +4415,7 @@ "react/event-loop": "^1.5", "react/socket": "^1.16", "react/stream": "^1.4", - "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0", + "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0", "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0", "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", @@ -4422,18 +4429,18 @@ "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0" }, "require-dev": { - "facile-it/paraunit": "^1.3.1 || ^2.7", - "infection/infection": "^0.31.0", - "justinrainbow/json-schema": "^6.5", - "keradus/cli-executor": "^2.2", + "facile-it/paraunit": "^1.3.1 || ^2.7.1", + "infection/infection": "^0.32.3", + "justinrainbow/json-schema": "^6.6.4", + "keradus/cli-executor": "^2.3", "mikey179/vfsstream": "^1.6.12", - "php-coveralls/php-coveralls": "^2.9", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", - "phpunit/phpunit": "^9.6.25 || ^10.5.53 || ^11.5.34", + "php-coveralls/php-coveralls": "^2.9.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.7", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.7", + "phpunit/phpunit": "^9.6.34 || ^10.5.63 || ^11.5.51", "symfony/polyfill-php85": "^1.33", - "symfony/var-dumper": "^5.4.48 || ^6.4.24 || ^7.3.2 || ^8.0", - "symfony/yaml": "^5.4.45 || ^6.4.24 || ^7.3.2 || ^8.0" + "symfony/var-dumper": "^5.4.48 || ^6.4.32 || ^7.4.4 || ^8.0.4", + "symfony/yaml": "^5.4.45 || ^6.4.30 || ^7.4.1 || ^8.0.1" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -4474,7 +4481,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.92.3" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.94.0" }, "funding": [ { @@ -4482,7 +4489,7 @@ "type": "github" } ], - "time": "2025-12-18T10:45:02+00:00" + "time": "2026-02-11T16:44:33+00:00" }, { "name": "mikey179/vfsstream", @@ -4822,11 +4829,11 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.33", + "version": "2.1.39", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9e800e6bee7d5bd02784d4c6069b48032d16224f", - "reference": "9e800e6bee7d5bd02784d4c6069b48032d16224f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6f73a2af4cbcd99c931d0fb8f08548cc0fa8224", + "reference": "c6f73a2af4cbcd99c931d0fb8f08548cc0fa8224", "shasum": "" }, "require": { @@ -4871,7 +4878,7 @@ "type": "github" } ], - "time": "2025-12-05T10:24:31+00:00" + "time": "2026-02-11T14:48:56+00:00" }, { "name": "phpunit/php-code-coverage", @@ -5196,16 +5203,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.60", + "version": "10.5.63", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f2e26f52f80ef77832e359205f216eeac00e320c" + "reference": "33198268dad71e926626b618f3ec3966661e4d90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f2e26f52f80ef77832e359205f216eeac00e320c", - "reference": "f2e26f52f80ef77832e359205f216eeac00e320c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90", + "reference": "33198268dad71e926626b618f3ec3966661e4d90", "shasum": "" }, "require": { @@ -5226,7 +5233,7 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.4", + "sebastian/comparator": "^5.0.5", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.4", @@ -5277,7 +5284,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.60" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63" }, "funding": [ { @@ -5301,7 +5308,7 @@ "type": "tidelift" } ], - "time": "2025-12-06T07:50:42+00:00" + "time": "2026-01-27T05:48:37+00:00" }, { "name": "psr/container", @@ -5430,16 +5437,16 @@ }, { "name": "react/child-process", - "version": "v0.6.6", + "version": "v0.6.7", "source": { "type": "git", "url": "https://github.com/reactphp/child-process.git", - "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" + "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", - "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3", + "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3", "shasum": "" }, "require": { @@ -5493,7 +5500,7 @@ ], "support": { "issues": "https://github.com/reactphp/child-process/issues", - "source": "https://github.com/reactphp/child-process/tree/v0.6.6" + "source": "https://github.com/reactphp/child-process/tree/v0.6.7" }, "funding": [ { @@ -5501,7 +5508,7 @@ "type": "open_collective" } ], - "time": "2025-01-01T16:37:48+00:00" + "time": "2025-12-23T15:25:20+00:00" }, { "name": "react/dns", @@ -5884,21 +5891,21 @@ }, { "name": "rector/rector", - "version": "2.2.14", + "version": "2.3.6", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "6d56bb0e94d4df4f57a78610550ac76ab403657d" + "reference": "ca9ebb81d280cd362ea39474dabd42679e32ca6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/6d56bb0e94d4df4f57a78610550ac76ab403657d", - "reference": "6d56bb0e94d4df4f57a78610550ac76ab403657d", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/ca9ebb81d280cd362ea39474dabd42679e32ca6b", + "reference": "ca9ebb81d280cd362ea39474dabd42679e32ca6b", "shasum": "" }, "require": { "php": "^7.4|^8.0", - "phpstan/phpstan": "^2.1.33" + "phpstan/phpstan": "^2.1.38" }, "conflict": { "rector/rector-doctrine": "*", @@ -5932,7 +5939,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/2.2.14" + "source": "https://github.com/rectorphp/rector/tree/2.3.6" }, "funding": [ { @@ -5940,7 +5947,7 @@ "type": "github" } ], - "time": "2025-12-09T10:57:55+00:00" + "time": "2026-02-06T14:25:06+00:00" }, { "name": "sebastian/cli-parser", @@ -6112,16 +6119,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.4", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e" + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e8e53097718d2b53cfb2aa859b06a41abf58c62e", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", "shasum": "" }, "require": { @@ -6177,7 +6184,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.4" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" }, "funding": [ { @@ -6197,7 +6204,7 @@ "type": "tidelift" } ], - "time": "2025-09-07T05:25:07+00:00" + "time": "2026-01-24T09:25:16+00:00" }, { "name": "sebastian/complexity", @@ -7011,16 +7018,16 @@ }, { "name": "sebastianfeldmann/git", - "version": "3.15.3", + "version": "3.16.0", "source": { "type": "git", "url": "https://github.com/sebastianfeldmann/git.git", - "reference": "601fd0fbb7d1a784e009a4f8f40975e777ad334a" + "reference": "40a5cc043f0957228767f639e370ec92590e940f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianfeldmann/git/zipball/601fd0fbb7d1a784e009a4f8f40975e777ad334a", - "reference": "601fd0fbb7d1a784e009a4f8f40975e777ad334a", + "url": "https://api.github.com/repos/sebastianfeldmann/git/zipball/40a5cc043f0957228767f639e370ec92590e940f", + "reference": "40a5cc043f0957228767f639e370ec92590e940f", "shasum": "" }, "require": { @@ -7061,7 +7068,7 @@ ], "support": { "issues": "https://github.com/sebastianfeldmann/git/issues", - "source": "https://github.com/sebastianfeldmann/git/tree/3.15.3" + "source": "https://github.com/sebastianfeldmann/git/tree/3.16.0" }, "funding": [ { @@ -7069,20 +7076,20 @@ "type": "github" } ], - "time": "2025-11-20T21:33:45+00:00" + "time": "2026-01-26T20:59:18+00:00" }, { "name": "symfony/console", - "version": "v7.4.1", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6d9f0fbf2ec2e9785880096e3abd0ca0c88b506e" + "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6d9f0fbf2ec2e9785880096e3abd0ca0c88b506e", - "reference": "6d9f0fbf2ec2e9785880096e3abd0ca0c88b506e", + "url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894", + "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894", "shasum": "" }, "require": { @@ -7147,7 +7154,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.4.1" + "source": "https://github.com/symfony/console/tree/v7.4.4" }, "funding": [ { @@ -7167,20 +7174,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T15:23:39+00:00" + "time": "2026-01-13T11:36:38+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.4.0", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d" + "reference": "dc2c0eba1af673e736bb851d747d266108aea746" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dc2c0eba1af673e736bb851d747d266108aea746", + "reference": "dc2c0eba1af673e736bb851d747d266108aea746", "shasum": "" }, "require": { @@ -7232,7 +7239,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.4" }, "funding": [ { @@ -7252,7 +7259,7 @@ "type": "tidelift" } ], - "time": "2025-10-28T09:38:46+00:00" + "time": "2026-01-05T11:45:34+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -7332,16 +7339,16 @@ }, { "name": "symfony/finder", - "version": "v7.4.0", + "version": "v7.4.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "340b9ed7320570f319028a2cbec46d40535e94bd" + "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/340b9ed7320570f319028a2cbec46d40535e94bd", - "reference": "340b9ed7320570f319028a2cbec46d40535e94bd", + "url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", + "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", "shasum": "" }, "require": { @@ -7376,7 +7383,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.4.0" + "source": "https://github.com/symfony/finder/tree/v7.4.5" }, "funding": [ { @@ -7396,7 +7403,7 @@ "type": "tidelift" } ], - "time": "2025-11-05T05:42:40+00:00" + "time": "2026-01-26T15:07:59+00:00" }, { "name": "symfony/options-resolver", @@ -7798,16 +7805,16 @@ }, { "name": "symfony/process", - "version": "v7.4.0", + "version": "v7.4.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8" + "reference": "608476f4604102976d687c483ac63a79ba18cc97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", - "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", + "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97", + "reference": "608476f4604102976d687c483ac63a79ba18cc97", "shasum": "" }, "require": { @@ -7839,7 +7846,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.4.0" + "source": "https://github.com/symfony/process/tree/v7.4.5" }, "funding": [ { @@ -7859,7 +7866,7 @@ "type": "tidelift" } ], - "time": "2025-10-16T11:21:06+00:00" + "time": "2026-01-26T15:07:59+00:00" }, { "name": "symfony/service-contracts", @@ -8016,16 +8023,16 @@ }, { "name": "symfony/string", - "version": "v7.4.0", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003" + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003", - "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003", + "url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f", + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f", "shasum": "" }, "require": { @@ -8083,7 +8090,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.4.0" + "source": "https://github.com/symfony/string/tree/v7.4.4" }, "funding": [ { @@ -8103,7 +8110,7 @@ "type": "tidelift" } ], - "time": "2025-11-27T13:27:24+00:00" + "time": "2026-01-12T10:54:30+00:00" }, { "name": "symplify/coding-standard", @@ -8165,24 +8172,24 @@ }, { "name": "symplify/easy-coding-standard", - "version": "13.0.0", + "version": "13.0.4", "source": { "type": "git", "url": "https://github.com/easy-coding-standard/easy-coding-standard.git", - "reference": "24708c6673871e342245c692e1bb304f119ffc58" + "reference": "5c7e7a07e5d6a98b9dd2e6fc0a9155efb7c166c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/24708c6673871e342245c692e1bb304f119ffc58", - "reference": "24708c6673871e342245c692e1bb304f119ffc58", + "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/5c7e7a07e5d6a98b9dd2e6fc0a9155efb7c166c8", + "reference": "5c7e7a07e5d6a98b9dd2e6fc0a9155efb7c166c8", "shasum": "" }, "require": { "php": ">=7.2" }, "conflict": { - "friendsofphp/php-cs-fixer": "<3.46", - "phpcsstandards/php_codesniffer": "<3.8", + "friendsofphp/php-cs-fixer": "<3.92.4", + "phpcsstandards/php_codesniffer": "<4.0.1", "symplify/coding-standard": "<12.1" }, "suggest": { @@ -8210,7 +8217,7 @@ ], "support": { "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues", - "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/13.0.0" + "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/13.0.4" }, "funding": [ { @@ -8222,7 +8229,7 @@ "type": "github" } ], - "time": "2025-11-06T14:47:06+00:00" + "time": "2026-01-05T09:10:04+00:00" }, { "name": "theseer/tokenizer", @@ -8288,5 +8295,5 @@ "php": "^8.1" }, "platform-dev": {}, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/docker/production/.gitlab-ci.yml b/docker/production/.gitlab-ci.yml index d545ab35..3f467900 100644 --- a/docker/production/.gitlab-ci.yml +++ b/docker/production/.gitlab-ci.yml @@ -4,9 +4,9 @@ stages: docker-build-rolling: stage: build image: - name: docker.io/docker:28.3-dind + name: docker.io/docker:29.2-dind services: - - docker:28.3-dind + - docker:29.2-dind variables: TAG: $CI_COMMIT_BRANCH DOCKER_BUILDKIT: 1 @@ -17,22 +17,16 @@ docker-build-rolling: - cp ${DOCKER_HUB_CONFIG} /root/.docker/config.json - docker context create tls-environment - docker buildx create --use tls-environment - - docker buildx build --push --platform=linux/amd64 --file=docker/production/castopod/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${TAG} . - - docker buildx build --push --platform=linux/amd64 --file=docker/production/web-server/Dockerfile --tag=${DOCKER_IMAGE_WEB_SERVER}:${TAG} . - - docker buildx build --push --platform=linux/amd64 --file=docker/production/app/Dockerfile --tag=${DOCKER_IMAGE_APP}:${TAG} . - needs: - - pipeline: $PARENT_PIPELINE_ID - job: bundle - only: - refs: - - develop + - docker buildx build --secret id=maxmind-licence-key,env=MAXMIND_LICENCE_KEY --push --platform=linux/amd64 --file=docker/production/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${TAG} . + rules: + - if: $CI_COMMIT_BRANCH == 'develop' -docker-build-main-release: +docker-build-release: stage: build image: - name: docker.io/docker:28.3-dind + name: docker.io/docker:29.2-dind services: - - docker:28.3-dind + - docker:29.2-dind variables: DOCKER_BUILDKIT: 1 DOCKER_HOST: tcp://docker:2376 @@ -40,49 +34,15 @@ docker-build-main-release: script: - mkdir -p /root/.docker - cp ${DOCKER_HUB_CONFIG} /root/.docker/config.json - - export CP_VERSION=$(cat CP_VERSION.env) + # extract Castopod version from tag (remove "v" prefix) + - export CP_VERSION=$(echo "$CI_COMMIT_TAG" | sed 's/^v//') + # extract pre release identifier (eg. alpha, beta, next, ...) from CP_VERSION or "latest" if none exists + - export CP_TAG=$(echo "$CP_VERSION" | sed 's/^[^-]*-\([^.]*\)\..*/\1/; t; s/.*/latest/') - docker context create tls-environment - docker buildx create --use tls-environment - - docker buildx build --push --platform=linux/amd64 --file=docker/production/castopod/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_VERSION} --tag=${DOCKER_IMAGE_CASTOPOD}:latest . - - docker buildx build --push --platform=linux/amd64 --file=docker/production/web-server/Dockerfile --tag=${DOCKER_IMAGE_WEB_SERVER}:${CP_VERSION} --tag=${DOCKER_IMAGE_WEB_SERVER}:latest . - - docker buildx build --push --platform=linux/amd64 --file=docker/production/app/Dockerfile --tag=${DOCKER_IMAGE_APP}:${CP_VERSION} --tag=${DOCKER_IMAGE_APP}:latest . + - docker buildx build --secret id=maxmind-licence-key,env=MAXMIND_LICENCE_KEY --push --platform=linux/amd64 --file=docker/production/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_VERSION} --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_TAG} . # when --platform=linux/amd64,linux/arm64: amd64 image takes too long to be pushed as it needs to wait for arm64 to be built - # --> build and push amd64 image to be pushed first, then overwrite manifest after building arm64 - - docker buildx build --push --platform=linux/amd64,linux/arm64 --file=docker/production/castopod/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_VERSION} --tag=${DOCKER_IMAGE_CASTOPOD}:latest . - needs: - - pipeline: $PARENT_PIPELINE_ID - job: release - only: - refs: - - main - -docker-build-alpha-beta-release: - stage: build - image: - name: docker.io/docker:28.3-dind - services: - - docker:28.3-dind - variables: - TAG: $CI_COMMIT_BRANCH - DOCKER_BUILDKIT: 1 - DOCKER_HOST: tcp://docker:2376 - DOCKER_TLS_CERTDIR: "/certs" - script: - - mkdir -p /root/.docker - - cp ${DOCKER_HUB_CONFIG} /root/.docker/config.json - - export CP_VERSION=$(cat CP_VERSION.env) - - docker context create tls-environment - - docker buildx create --use tls-environment - - docker buildx build --push --platform=linux/amd64 --file=docker/production/castopod/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_VERSION} --tag=${DOCKER_IMAGE_CASTOPOD}:${TAG} . - - docker buildx build --push --platform=linux/amd64 --file=docker/production/web-server/Dockerfile --tag=${DOCKER_IMAGE_WEB_SERVER}:${CP_VERSION} --tag=${DOCKER_IMAGE_WEB_SERVER}:${TAG} . - - docker buildx build --push --platform=linux/amd64 --file=docker/production/app/Dockerfile --tag=${DOCKER_IMAGE_APP}:${CP_VERSION} --tag=${DOCKER_IMAGE_APP}:${TAG} . - # when --platform=linux/amd64,linux/arm64: amd64 image takes too long to be pushed as it needs to wait for arm64 to be built - # --> build and push amd64 image to be pushed first, then overwrite manifest after building arm64 - - docker buildx build --push --platform=linux/amd64,linux/arm64 --file=docker/production/castopod/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_VERSION} --tag=${DOCKER_IMAGE_CASTOPOD}:${TAG} . - needs: - - pipeline: $PARENT_PIPELINE_ID - job: release - only: - refs: - - alpha - - beta + # --> build and push amd64 image first, then overwrite manifest after building arm64 + - docker buildx build --secret id=maxmind-licence-key,env=MAXMIND_LICENCE_KEY --push --platform=linux/amd64,linux/arm64 --file=docker/production/Dockerfile --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_VERSION} --tag=${DOCKER_IMAGE_CASTOPOD}:${CP_TAG} . + rules: + - if: $CI_COMMIT_TAG diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile new file mode 100644 index 00000000..5088228f --- /dev/null +++ b/docker/production/Dockerfile @@ -0,0 +1,135 @@ +#################################################### +# Castopod's Production Dockerfile +#################################################### +# An optimized Dockerfile for production using +# multi-stage builds: +# 1. BUNDLE castopod +# 2. BUILD the FrankenPHP/debian based prod image +#--------------------------------------------------- + +ARG PHP_VERSION="8.4" + +#################################################### +# BUNDLE STAGE +# ------------------------------------------------- +# Bundle castopod for production using +# a PHP / Alpine image +#--------------------------------------------------- +FROM php:${PHP_VERSION}-alpine3.23 AS bundle + +LABEL maintainer="Yassine Doghri " + +COPY . /castopod-src +WORKDIR /castopod-src + +COPY --from=composer:2.9 /usr/bin/composer /usr/local/bin/composer + +RUN \ + # download GeoLite2-City archive and extract it to writable/uploads + --mount=type=secret,id=maxmind-licence-key,env=MAXMIND_LICENCE_KEY \ + wget -c "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=$MAXMIND_LICENCE_KEY&suffix=tar.gz" -O - | tar -xz -C ./writable/uploads/ \ + # rename extracted archives' folders + && mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City + +RUN \ + # install composer globally + curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ + # install node and pnpm + && apk add --no-cache \ + nodejs \ + pnpm \ + git \ + rsync \ + # install production dependencies only using the --no-dev option + && composer install --no-dev --prefer-dist --no-ansi --no-interaction --no-progress --ignore-platform-reqs \ + # install js dependencies based on lockfile + && pnpm install --frozen-lockfile \ + # build all production static assets (css, js, images, icons, fonts, etc.) + && pnpm run build \ + # create castopod folder bundle: uses .rsync-filter (-F) file to copy only needed files + && rsync -aF . /castopod + + +#################################################### +# BUILD STAGE +# ------------------------------------------------- +# Define production image based on FrankenPHP / +# Debian with services managed by s6-overlay +#--------------------------------------------------- +FROM serversideup/php:${PHP_VERSION}-frankenphp-trixie AS build + +LABEL maintainer="Yassine Doghri " + +USER root + +# Latest releases available at https://github.com/aptible/supercronic/releases +ARG SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.42/supercronic-linux-amd64 \ + SUPERCRONIC_SHA1SUM=b444932b81583b7860849f59fdb921217572ece2 \ + SUPERCRONIC=supercronic-linux-amd64 + +# add supercronic to handle cron jobs +RUN \ + curl -fsSLO "$SUPERCRONIC_URL" \ + && echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - \ + && chmod +x "$SUPERCRONIC" \ + && mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" \ + && ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic + +ARG S6_OVERLAY_VERSION=3.2.2.0 + +# add s6-overlay process manager +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp +RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp +RUN tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz + +# copy s6-overlay services +COPY --chown=www-data:www-data docker/production/s6-rc.d /etc/s6-overlay/s6-rc.d + +# make prepare-environment executable for bootstrapping the Castopod environment +RUN chmod +x /etc/s6-overlay/s6-rc.d/bootstrap/prepare-environment.sh + +RUN \ + apt-get update \ + && apt-get install -y \ + ffmpeg \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libicu-dev \ + && install-php-extensions \ + intl \ + mysqli \ + exif \ + gd \ + # As of PHP 7.4 we don't need to add --with-png + && docker-php-ext-configure gd --with-webp --with-jpeg --with-freetype + +# copy castopod bundle from bundle stage +COPY --from=bundle --chown=www-data:www-data /castopod /app + +RUN \ + chmod -R 550 /app/ \ + && chmod -R 770 /app/public/media/ \ + && chmod -R 770 /app/writable/ \ + && chmod 750 /app/ + +ARG \ + PHP_MEMORY_LIMIT=512M \ + PHP_MAX_EXECUTION_TIME=300 \ + PHP_UPLOAD_MAX_FILE_SIZE=512M \ + PHP_POST_MAX_SIZE=512M \ + PHP_OPCACHE_ENABLE=1 + +ENV \ + PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT} \ + PHP_MAX_EXECUTION_TIME=${PHP_MAX_EXECUTION_TIME} \ + PHP_UPLOAD_MAX_FILE_SIZE=${PHP_UPLOAD_MAX_FILE_SIZE} \ + PHP_POST_MAX_SIZE=${PHP_POST_MAX_SIZE} \ + PHP_OPCACHE_ENABLE=${PHP_OPCACHE_ENABLE} + +USER www-data + +ENTRYPOINT ["docker-php-serversideup-entrypoint"] +CMD ["/init"] diff --git a/docker/production/app/Dockerfile b/docker/production/app/Dockerfile deleted file mode 100644 index d9fe3b21..00000000 --- a/docker/production/app/Dockerfile +++ /dev/null @@ -1,44 +0,0 @@ -FROM docker.io/golang:1.25-bookworm AS CRON_BUILDER - -ARG SUPERCRONIC_VERSION=v0.2.34 - -RUN apt-get update && \ - apt-get install -y git && \ - git clone https://github.com/aptible/supercronic.git && \ - cd supercronic && \ - git checkout $SUPERCRONIC_VERSION && \ - go build && \ - mv supercronic /usr/local/bin - - -FROM docker.io/php:8.2-fpm - -COPY --from=CRON_BUILDER /usr/local/bin/supercronic /usr/local/bin/supercronic - -COPY docker/production/common/prepare_environment.sh /prepare_environment.sh -COPY docker/production/app/entrypoint.sh /entrypoint.sh -COPY docker/production/common/uploads.template.ini /uploads.template.ini -COPY docker/production/common/crontab.txt /crontab.txt -COPY docker/production/app/supervisord.conf /etc/supervisor/conf.d/supervisord.conf -COPY castopod /var/www/castopod - - -RUN apt-get update && \ - apt-get install -y supervisor ffmpeg curl gettext-base libfreetype6-dev libjpeg62-turbo-dev libpng-dev libwebp-dev libxpm-dev libpcre2-8-0 libicu-dev && \ - rm -rf /var/lib/apt/lists/* && \ - pecl install -o -f redis && \ - rm -rf /tmp/pear && \ - docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp --with-xpm && \ - docker-php-ext-install mysqli gd intl exif && \ - docker-php-ext-enable mysqli gd intl exif redis && \ - chmod +x /entrypoint.sh && \ - chmod -R 750 /var/www/castopod && \ - chown -R root:www-data /var/www/castopod && \ - chown -R www-data:www-data /var/www/castopod/writable /var/www/castopod/public/media - -WORKDIR /var/www/castopod -VOLUME /var/www/castopod/public/media -EXPOSE 9000 - -ENTRYPOINT [ "sh", "-c" ] -CMD [ "/entrypoint.sh" ] diff --git a/docker/production/app/entrypoint.sh b/docker/production/app/entrypoint.sh deleted file mode 100644 index 0c8dc79d..00000000 --- a/docker/production/app/entrypoint.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -ENV_FILE_LOCATION=/var/www/castopod/.env - -# Fix ownership and permissions of castopod folders -chmod -R 750 /var/www/castopod -chown -R root:www-data /var/www/castopod -chown -R www-data:www-data /var/www/castopod/writable /var/www/castopod/public/media - -. /prepare_environment.sh - -supervisord diff --git a/docker/production/app/supervisord.conf b/docker/production/app/supervisord.conf deleted file mode 100644 index 9b2fb9bf..00000000 --- a/docker/production/app/supervisord.conf +++ /dev/null @@ -1,21 +0,0 @@ -[supervisord] -nodaemon=true - -[program:supercronic] -user=www-data -command=supercronic /crontab.txt -autostart=true -autorestart=unexpected -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 - -[program:fpm] -command=/usr/local/sbin/php-fpm -autostart=true -autorestart=unexpected -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/production/castopod/Dockerfile b/docker/production/castopod/Dockerfile deleted file mode 100644 index 2bc02bba..00000000 --- a/docker/production/castopod/Dockerfile +++ /dev/null @@ -1,57 +0,0 @@ -FROM docker.io/golang:1.25-bookworm AS CRON_BUILDER - -ARG SUPERCRONIC_VERSION=v0.2.34 - -RUN apt-get update && \ - apt-get install -y git && \ - git clone https://github.com/aptible/supercronic.git && \ - cd supercronic && \ - git checkout $SUPERCRONIC_VERSION && \ - go build && \ - mv supercronic /usr/local/bin - - -FROM docker.io/php:8.2-cli - -ARG UNIT_VERSION=1.34.2 - -COPY --from=CRON_BUILDER /usr/local/bin/supercronic /usr/local/bin/supercronic - -COPY docker/production/common/prepare_environment.sh /prepare_environment.sh -COPY docker/production/castopod/entrypoint.sh /entrypoint.sh -COPY castopod /var/www/castopod -COPY docker/production/castopod/config.template.json /config.template.json -COPY docker/production/common/uploads.template.ini /uploads.template.ini -COPY docker/production/common/crontab.txt /crontab.txt -COPY docker/production/castopod/supervisord.conf /etc/supervisor/conf.d/supervisord.conf - -RUN apt-get update && \ - apt-get install -y supervisor ffmpeg curl gettext-base libfreetype6-dev libjpeg62-turbo-dev libpng-dev libwebp-dev libxpm-dev libpcre2-dev libicu-dev git && \ - rm -rf /var/lib/apt/lists/* && \ - git clone https://github.com/nginx/unit.git && \ - cd unit && \ - git checkout $UNIT_VERSION && \ - ./configure --user=www-data --group=www-data && \ - ./configure php && \ - make && \ - make install && \ - cd .. && \ - rm -rf unit && \ - pecl install -o -f redis && \ - rm -rf /tmp/pear && \ - docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp --with-xpm && \ - docker-php-ext-install mysqli gd intl exif && \ - docker-php-ext-enable mysqli gd intl exif redis && \ - ln -s /dev/stdout /var/log/unit.log && \ - mkdir -p /usr/local/var/lib/unit /usr/local/var/run/unit /usr/local/var/log/unit && \ - chmod 544 /entrypoint.sh && \ - chmod -R 750 /var/www/castopod && \ - chown -R root:www-data /var/www/castopod && \ - chown -R www-data:www-data /var/www/castopod/writable /var/www/castopod/public/media - -WORKDIR /var/www/castopod -VOLUME /var/www/castopod/public/media -EXPOSE 8000 - -ENTRYPOINT [ "sh", "-c" ] -CMD [ "/entrypoint.sh" ] diff --git a/docker/production/castopod/config.template.json b/docker/production/castopod/config.template.json deleted file mode 100644 index e165e1fc..00000000 --- a/docker/production/castopod/config.template.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "listeners": { - "*:8000": { - "pass": "routes" - } - }, - "routes": [ - { - "match": { - "uri": "~^.+\\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|woff2|eot|mp4|ogg|ogv|webm|webp|zip|swf|map)$" - }, - "action": { - "share": "/var/www/castopod/public$uri", - "response_headers": { - "X-Content-Type-Options": "nosniff", - "Access-Control-Allow-Origin": "*", - "Cache-Control": "max-age=604800" - }, - "fallback": { - "pass": "applications/castopod" - } - } - }, - { - "action": { - "share": "/var/www/castopod/public$uri", - "response_headers": { - "X-Frame-Options": "sameorigin", - "X-Content-Type-Options": "nosniff", - "Access-Control-Allow-Origin": "*" - }, - "fallback": { - "pass": "applications/castopod" - } - } - } - ], - "applications": { - "castopod": { - "type": "php", - "root": "/var/www/castopod/public/", - "script": "index.php" - } - }, - "access_log": { - "path": "/dev/stdout" - }, - "settings": { - "http": { - "body_read_timeout": $CP_TIMEOUT, - "max_body_size": $CP_MAX_BODY_SIZE_BYTES, - "static": { - "mime_types": { - "text/vtt": [".vtt"], - "text/srt": [".srt"] - } - } - } - } -} diff --git a/docker/production/castopod/entrypoint.sh b/docker/production/castopod/entrypoint.sh deleted file mode 100644 index 51516b14..00000000 --- a/docker/production/castopod/entrypoint.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -ENV_FILE_LOCATION=/var/www/castopod/.env - -. /prepare_environment.sh -cat /config.template.json | envsubst '$CP_MAX_BODY_SIZE_BYTES$CP_TIMEOUT' > /usr/local/var/lib/unit/conf.json - -supervisord diff --git a/docker/production/castopod/supervisord.conf b/docker/production/castopod/supervisord.conf deleted file mode 100644 index 18600ee4..00000000 --- a/docker/production/castopod/supervisord.conf +++ /dev/null @@ -1,20 +0,0 @@ -[supervisord] -nodaemon=true - -[program:supercronic] -user=www-data -command=supercronic /crontab.txt -autostart=true -autorestart=unexpected -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 - -[program:unit] -command=unitd --no-daemon -autostart=true -autorestart=unexpected -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile_maxbytes=0 diff --git a/docker/production/common/crontab.txt b/docker/production/common/crontab.txt deleted file mode 100644 index 51409d9f..00000000 --- a/docker/production/common/crontab.txt +++ /dev/null @@ -1 +0,0 @@ -* * * * * /usr/local/bin/php /var/www/castopod/spark tasks:run >> /dev/null 2>&1 diff --git a/docker/production/common/uploads.template.ini b/docker/production/common/uploads.template.ini deleted file mode 100644 index 52ac70fc..00000000 --- a/docker/production/common/uploads.template.ini +++ /dev/null @@ -1,6 +0,0 @@ -file_uploads = On -memory_limit = $CP_PHP_MEMORY_LIMIT -upload_max_filesize = $CP_MAX_BODY_SIZE -post_max_size = $CP_MAX_BODY_SIZE -max_execution_time = $CP_TIMEOUT -max_input_time = $CP_TIMEOUT diff --git a/docker/production/s6-rc.d/bootstrap/dependencies.d/frankenphp b/docker/production/s6-rc.d/bootstrap/dependencies.d/frankenphp new file mode 100644 index 00000000..e69de29b diff --git a/docker/production/common/prepare_environment.sh b/docker/production/s6-rc.d/bootstrap/prepare-environment.sh similarity index 76% rename from docker/production/common/prepare_environment.sh rename to docker/production/s6-rc.d/bootstrap/prepare-environment.sh index a27773d0..bb5a9a36 100644 --- a/docker/production/common/prepare_environment.sh +++ b/docker/production/s6-rc.d/bootstrap/prepare-environment.sh @@ -1,4 +1,6 @@ -#!/bin/sh +#!/command/with-contenv sh + +ENV_FILE_LOCATION=/app/.env log_error() { printf "\033[0;31mERROR:\033[0m $1\n" @@ -9,6 +11,13 @@ log_warning() { printf "\033[0;33mWARNING:\033[0m $1\n" } +log_info() { + printf "\033[0;34mINFO:\033[0m $1\n" +} + +# Remove .env file if exists to recreate it. +rm -f $ENV_FILE_LOCATION + if [ -z "${CP_BASEURL}" ] then log_error "CP_BASEURL must be set" @@ -16,19 +25,19 @@ fi if [ -z "${CP_MEDIA_BASEURL}" ] then - echo "CP_MEDIA_BASEURL is empty, using CP_BASEURL by default" + log_info "CP_MEDIA_BASEURL is empty, using CP_BASEURL by default" CP_MEDIA_BASEURL=$CP_BASEURL fi if [ -z "${CP_ADMIN_GATEWAY}" ] then - echo "CP_ADMIN_GATEWAY is empty, using default" + log_info "CP_ADMIN_GATEWAY is empty, using default \"cp-admin\"" CP_ADMIN_GATEWAY="cp-admin" fi if [ -z "${CP_AUTH_GATEWAY}" ] then - echo "CP_AUTH_GATEWAY is empty, using default" + log_info "CP_AUTH_GATEWAY is empty, using default \"cp-auth\"" CP_AUTH_GATEWAY="cp-auth" fi @@ -39,13 +48,13 @@ fi if [ -z "${CP_DATABASE_HOSTNAME}" ] then - log_warning "CP_DATABASE_HOSTNAME is empty, using default" + log_warning "CP_DATABASE_HOSTNAME is empty, using default \"mariadb\"" CP_DATABASE_HOSTNAME="mariadb" fi if [ -z "${CP_DATABASE_PREFIX}" ] then - echo "CP_DATABASE_PREFIX is empty, using default" + log_info "CP_DATABASE_PREFIX is empty, using default \"cp_\"" CP_DATABASE_PREFIX="cp_" fi @@ -84,29 +93,28 @@ fi if [ ! -z "${CP_REDIS_HOST}" ] then - echo "Using redis cache handler" + log_info "Using redis cache handler" CP_CACHE_HANDLER="redis" if [ -z "${CP_REDIS_PASSWORD}" ] then - echo "CP_REDIS_PASSWORD is empty, using default" - CP_REDIS_PASSWORD="null" + log_error "You must set CP_REDIS_PASSWORD when using redis as a cache handler." else CP_REDIS_PASSWORD="\"${CP_REDIS_PASSWORD}\"" fi if [ -z "${CP_REDIS_PORT}" ] then - echo "CP_REDIS_PORT is empty, using default" + log_info "CP_REDIS_PORT is empty, using default port \"6379\"" CP_REDIS_PORT="6379" fi if [ -z "${CP_REDIS_DATABASE}" ] then - echo "CP_REDIS_DATABASE is empty, using default" + log_info "CP_REDIS_DATABASE is empty, using default \"0\"" CP_REDIS_DATABASE="0" fi else - echo "Using file cache handler" + log_info "Using file cache handler" CP_CACHE_HANDLER="file" fi @@ -134,28 +142,6 @@ then fi fi -if [ -z "${CP_PHP_MEMORY_LIMIT}" ] -then - export CP_PHP_MEMORY_LIMIT="512M" -fi - -if [ -z "${CP_MAX_BODY_SIZE}" ] -then - export CP_MAX_BODY_SIZE="512M" -fi - -CP_MAX_BODY_SIZE_BYTES=$(numfmt --from=iec "$CP_MAX_BODY_SIZE") -if [ $? -ne 0 ] -then - log_error "Failed to parse CP_MAX_BODY_SIZE ($CP_MAX_BODY_SIZE) as human readable number" -fi -export CP_MAX_BODY_SIZE_BYTES=$CP_MAX_BODY_SIZE_BYTES - -if [ -z "${CP_TIMEOUT}" ] -then - export CP_TIMEOUT=900 -fi - cat << EOF > $ENV_FILE_LOCATION app.baseURL="${CP_BASEURL}" media.baseURL="${CP_MEDIA_BASEURL}" @@ -238,20 +224,17 @@ if [ ! -z "${CP_EMAIL_SMTP_HOST}" ] then if [ -z "${CP_EMAIL_SMTP_USERNAME}" ] then - echo "When CP_EMAIL_SMTP_HOST is provided, CP_EMAIL_SMTP_USERNAME must be set" - exit 1 + log_error "When CP_EMAIL_SMTP_HOST is provided, CP_EMAIL_SMTP_USERNAME must be set" fi if [ -z "${CP_EMAIL_SMTP_PASSWORD}" ] then - echo "When CP_EMAIL_SMTP_HOST is provided, CP_EMAIL_SMTP_PASSWORD must be set" - exit 1 + log_error "When CP_EMAIL_SMTP_HOST is provided, CP_EMAIL_SMTP_PASSWORD must be set" fi if [ -z "${CP_EMAIL_FROM}" ] then - echo "When CP_EMAIL_SMTP_HOST is provided, CP_EMAIL_FROM must be set" - exit 1 + log_error "When CP_EMAIL_SMTP_HOST is provided, CP_EMAIL_FROM must be set" fi cat << EOF >> $ENV_FILE_LOCATION @@ -273,8 +256,7 @@ EOF then if [ "${CP_EMAIL_SMTP_CRYPTO}" != "ssl" ] && [ "${CP_EMAIL_SMTP_CRYPTO}" != "tls" ] then - echo "CP_EMAIL_SMTP_CRYPTO must be ssl or tls" - exit 1 + log_error "CP_EMAIL_SMTP_CRYPTO must be ssl or tls" fi cat << EOF >> $ENV_FILE_LOCATION email.SMTPCrypto=${CP_EMAIL_SMTP_CRYPTO} @@ -282,14 +264,14 @@ EOF fi fi -echo "Using config:" +log_info "Using config:" cat $ENV_FILE_LOCATION -#Run database migrations after 10 seconds (to wait for the database to be started) -(sleep 10 && php spark castopod:database-update) & +# prevent .env from being writable +chmod -w $ENV_FILE_LOCATION + +#Run database migrations +/usr/local/bin/php /var/www/html/spark castopod:database-update # clear cache to account for new assets and any change in data structure -php spark cache:clear - -#Apply php configuration -cat /uploads.template.ini | envsubst '$CP_MAX_BODY_SIZE$CP_MAX_BODY_SIZE_BYTES$CP_TIMEOUT$CP_PHP_MEMORY_LIMIT' > /usr/local/etc/php/conf.d/uploads.ini +/usr/local/bin/php /var/www/html/spark cache:clear diff --git a/docker/production/s6-rc.d/bootstrap/type b/docker/production/s6-rc.d/bootstrap/type new file mode 100644 index 00000000..bdd22a18 --- /dev/null +++ b/docker/production/s6-rc.d/bootstrap/type @@ -0,0 +1 @@ +oneshot diff --git a/docker/production/s6-rc.d/bootstrap/up b/docker/production/s6-rc.d/bootstrap/up new file mode 100644 index 00000000..4abab1a4 --- /dev/null +++ b/docker/production/s6-rc.d/bootstrap/up @@ -0,0 +1,2 @@ +#!/command/with-contenv sh +/etc/s6-overlay/s6-rc.d/bootstrap/prepare-environment.sh diff --git a/docker/production/s6-rc.d/frankenphp/dependencies.d/base b/docker/production/s6-rc.d/frankenphp/dependencies.d/base new file mode 100644 index 00000000..e69de29b diff --git a/docker/production/s6-rc.d/frankenphp/run b/docker/production/s6-rc.d/frankenphp/run new file mode 100644 index 00000000..1193fcc3 --- /dev/null +++ b/docker/production/s6-rc.d/frankenphp/run @@ -0,0 +1,2 @@ +#!/command/with-contenv sh +frankenphp run --config /etc/frankenphp/Caddyfile --adapter caddyfile diff --git a/docker/production/s6-rc.d/frankenphp/type b/docker/production/s6-rc.d/frankenphp/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/docker/production/s6-rc.d/frankenphp/type @@ -0,0 +1 @@ +longrun diff --git a/docker/production/s6-rc.d/supercronic/crontab b/docker/production/s6-rc.d/supercronic/crontab new file mode 100644 index 00000000..8382f92f --- /dev/null +++ b/docker/production/s6-rc.d/supercronic/crontab @@ -0,0 +1 @@ +* * * * * /usr/local/bin/php /var/www/html/spark tasks:run >> /dev/null 2>&1 diff --git a/docker/production/s6-rc.d/supercronic/dependencies.d/frankenphp b/docker/production/s6-rc.d/supercronic/dependencies.d/frankenphp new file mode 100644 index 00000000..e69de29b diff --git a/docker/production/s6-rc.d/supercronic/run b/docker/production/s6-rc.d/supercronic/run new file mode 100644 index 00000000..73b9b0cf --- /dev/null +++ b/docker/production/s6-rc.d/supercronic/run @@ -0,0 +1,2 @@ +#!/command/with-contenv sh +supercronic /etc/s6-overlay/s6-rc.d/supercronic/crontab diff --git a/docker/production/s6-rc.d/supercronic/type b/docker/production/s6-rc.d/supercronic/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/docker/production/s6-rc.d/supercronic/type @@ -0,0 +1 @@ +longrun diff --git a/docker/production/s6-rc.d/user/contents.d/bootstrap b/docker/production/s6-rc.d/user/contents.d/bootstrap new file mode 100644 index 00000000..e69de29b diff --git a/docker/production/s6-rc.d/user/contents.d/frankenphp b/docker/production/s6-rc.d/user/contents.d/frankenphp new file mode 100644 index 00000000..e69de29b diff --git a/docker/production/s6-rc.d/user/contents.d/supercronic b/docker/production/s6-rc.d/user/contents.d/supercronic new file mode 100644 index 00000000..e69de29b diff --git a/docker/production/web-server/Dockerfile b/docker/production/web-server/Dockerfile deleted file mode 100644 index f14e51bc..00000000 --- a/docker/production/web-server/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM docker.io/nginx:1.29 - -COPY docker/production/web-server/entrypoint.sh /entrypoint.sh -COPY docker/production/web-server/nginx.template.conf /nginx.template.conf -COPY castopod/public /var/www/html - -RUN chmod +x /entrypoint.sh && \ - apt-get update && \ - apt-get install -y curl gettext-base && \ - rm -rf /var/lib/apt/lists/* && \ - usermod -aG www-data nginx - -HEALTHCHECK --interval=30s --timeout=3s CMD curl --fail http://localhost || exit 1 -VOLUME /var/www/html/media -EXPOSE 80 -WORKDIR /var/www/html - -CMD ["/entrypoint.sh"] diff --git a/docker/production/web-server/entrypoint.sh b/docker/production/web-server/entrypoint.sh deleted file mode 100644 index 5f623781..00000000 --- a/docker/production/web-server/entrypoint.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -if [ -z "${CP_APP_HOSTNAME}" ] -then - echo "CP_APP_HOSTNAME is empty, using default" - export CP_APP_HOSTNAME="app" -fi - -if [ -z "${CP_MAX_BODY_SIZE}" ] -then - export CP_MAX_BODY_SIZE=512M -fi - -if [ -z "${CP_TIMEOUT}" ] -then - export CP_TIMEOUT=900 -fi - -cat /nginx.template.conf | envsubst '$CP_APP_HOSTNAME$CP_MAX_BODY_SIZE$CP_TIMEOUT' > /etc/nginx/nginx.conf - -nginx -g "daemon off;" diff --git a/docker/production/web-server/nginx.template.conf b/docker/production/web-server/nginx.template.conf deleted file mode 100644 index bb7b91ec..00000000 --- a/docker/production/web-server/nginx.template.conf +++ /dev/null @@ -1,80 +0,0 @@ -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 1024; -} - -http { - include /etc/nginx/mime.types; - types { - text/vtt vtt; - text/srt srt; - } - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - - keepalive_timeout 65; - - set_real_ip_from 10.0.0.0/8; - set_real_ip_from 172.16.0.0/12; - set_real_ip_from 192.168.0.0/16; - real_ip_header X-Real-IP; - - upstream php-handler { - server $CP_APP_HOSTNAME:9000; - } - - server { - listen 80; - - root /var/www/html; - - server_tokens off; - add_header X-Frame-Options sameorigin always; - add_header Permissions-Policy interest-cohort=(); - add_header X-Content-Type-Options nosniff; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload;"; - client_max_body_size $CP_MAX_BODY_SIZE; - client_body_timeout ${CP_TIMEOUT}s; - - fastcgi_buffers 64 4K; - - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_types application/atom+xml application/javascript application/rss+xml image/bmp image/svg+xml image/x-icon text/css text/plain text/html; - - try_files $uri $uri/ /index.php?$args; - index index.php index.html; - - location ~ \.php$ { - include fastcgi_params; - fastcgi_intercept_errors on; - fastcgi_index index.php; - fastcgi_param SERVER_NAME $host; - fastcgi_pass php-handler; - fastcgi_param SCRIPT_FILENAME /var/www/castopod/public/$fastcgi_script_name; - try_files $uri =404; - fastcgi_read_timeout 3600; - fastcgi_send_timeout 3600; - } - - location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|woff2|eot|mp4|ogg|ogv|webm|webp|zip|swf|map)$ { - add_header Access-Control-Allow-Origin "*"; - expires max; - access_log off; - } - - } -} diff --git a/docs/.gitlab-ci.yml b/docs/.gitlab-ci.yml index 92b5efb6..d0f1bde5 100644 --- a/docs/.gitlab-ci.yml +++ b/docs/.gitlab-ci.yml @@ -28,12 +28,10 @@ build: stage: build script: - pnpm run build - except: - - develop - - main - - beta - - alpha - - next + rules: + - if: $CI_COMMIT_BRANCH =~ /^(develop|main|alpha|beta|next)$/ + when: never + - when: on_success build-production: extends: .documentation-setup @@ -47,12 +45,8 @@ build-production: paths: - docs/dist/$CI_COMMIT_REF_SLUG expire_in: 30 mins - only: - - develop - - main - - beta - - alpha - - next + rules: + - if: $CI_COMMIT_BRANCH =~ /^(develop|main|alpha|beta|next)$/ deploy: stage: deploy @@ -78,9 +72,5 @@ deploy: script: - rsync -avzuh -e "ssh -p $SSH_PORT" $SOURCE_FOLDER $USER@$HOST:$TEMP_DIRECTORY --progress - ssh $USER@$HOST -p $SSH_PORT "rsync -rtv $TEMP_DIRECTORY $DIRECTORY" - only: - - develop - - main - - beta - - alpha - - next + rules: + - if: $CI_COMMIT_BRANCH =~ /^(develop|main|alpha|beta|next)$/ diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 428d321f..12243d1b 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -7,6 +7,9 @@ const base = process.env.BASE ?? "/docs"; // https://astro.build/config export default defineConfig({ + server: { + host: true, + }, site, base, integrations: [ diff --git a/docs/package.json b/docs/package.json index acd85ff7..5edaeb8c 100644 --- a/docs/package.json +++ b/docs/package.json @@ -11,10 +11,10 @@ "prepare": "astro telemetry disable" }, "dependencies": { - "@astrojs/starlight": "^0.35.2", - "@fontsource/inter": "^5.2.6", - "@fontsource/rubik": "^5.2.6", - "astro": "^5.13.4", - "sharp": "^0.34.3" + "@astrojs/starlight": "^0.37.6", + "@fontsource/inter": "^5.2.8", + "@fontsource/rubik": "^5.2.8", + "astro": "^5.17.1", + "sharp": "^0.34.5" } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index b41afa09..fc96242c 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -8,26 +8,26 @@ importers: .: dependencies: "@astrojs/starlight": - specifier: ^0.35.2 - version: 0.35.2(astro@5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)) + specifier: ^0.37.6 + version: 0.37.6(astro@5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)) "@fontsource/inter": - specifier: ^5.2.6 - version: 5.2.6 + specifier: ^5.2.8 + version: 5.2.8 "@fontsource/rubik": - specifier: ^5.2.6 - version: 5.2.6 + specifier: ^5.2.8 + version: 5.2.8 astro: - specifier: ^5.13.4 - version: 5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) + specifier: ^5.17.1 + version: 5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) sharp: - specifier: ^0.34.3 - version: 0.34.3 + specifier: ^0.34.5 + version: 0.34.5 packages: - "@astrojs/compiler@2.12.2": + "@astrojs/compiler@2.13.1": resolution: { - integrity: sha512-w2zfvhjNCkNMmMMOn5b0J8+OmUaBL1o40ipMvqcG6NRpdC+lKxmTi48DT8Xw0SzJ3AfmeFLB45zXZXtmbsjcgw==, + integrity: sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==, } "@astrojs/internal-helpers@0.7.2": @@ -36,6 +36,18 @@ packages: integrity: sha512-KCkCqR3Goym79soqEtbtLzJfqhTWMyVaizUi35FLzgGSzBotSw8DB1qwsu7U96ihOJgYhDk2nVPz+3LnXPeX6g==, } + "@astrojs/internal-helpers@0.7.5": + resolution: + { + integrity: sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==, + } + + "@astrojs/markdown-remark@6.3.10": + resolution: + { + integrity: sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==, + } + "@astrojs/markdown-remark@6.3.6": resolution: { @@ -64,10 +76,10 @@ packages: integrity: sha512-uX5z52GLtQTgOe8r3jeGmFRYrFe52mdpLYJzqjvL1cdy5Kg3MLOZEvaZ/OCH0fSq0t7e50uJQ6oBMZG0ffszBg==, } - "@astrojs/starlight@0.35.2": + "@astrojs/starlight@0.37.6": resolution: { - integrity: sha512-curGghoW4s5pCbW2tINsJPoxEYPan87ptCOv7GZ+S24N3J6AyaOu/OsjZDEMaIpo3ZlObM5DQn+w7iXl3drDhQ==, + integrity: sha512-wQrKwH431q+8FsLBnNQeG+R36TMtEGxTQ2AuiVpcx9APcazvL3n7wVW8mMmYyxX0POjTnxlcWPkdMGR3Yj1L+w==, } peerDependencies: astro: ^5.5.0 @@ -86,17 +98,17 @@ packages: } engines: { node: ">=6.9.0" } - "@babel/helper-validator-identifier@7.27.1": + "@babel/helper-validator-identifier@7.28.5": resolution: { - integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==, + integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==, } engines: { node: ">=6.9.0" } - "@babel/parser@7.28.3": + "@babel/parser@7.29.0": resolution: { - integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==, + integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==, } engines: { node: ">=6.0.0" } hasBin: true @@ -108,18 +120,19 @@ packages: } engines: { node: ">=6.9.0" } - "@babel/types@7.28.2": + "@babel/types@7.29.0": resolution: { - integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==, + integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==, } engines: { node: ">=6.9.0" } - "@capsizecss/unpack@2.4.0": + "@capsizecss/unpack@4.0.0": resolution: { - integrity: sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==, + integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==, } + engines: { node: ">=18" } "@ctrl/tinycolor@4.1.0": resolution: @@ -128,10 +141,10 @@ packages: } engines: { node: ">=14" } - "@emnapi/runtime@1.4.5": + "@emnapi/runtime@1.8.1": resolution: { - integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==, + integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==, } "@esbuild/aix-ppc64@0.25.9": @@ -392,363 +405,241 @@ packages: integrity: sha512-SN8tkIzDpA0HLAscEYD2IVrfLiid6qEdE9QLlGVSxO1KEw7qYvjpbNBQjUjMr5/jvTJ7ys6zysU2vLPHE0sb2g==, } - "@fontsource/inter@5.2.6": + "@fontsource/inter@5.2.8": resolution: { - integrity: sha512-CZs9S1CrjD0jPwsNy9W6j0BhsmRSQrgwlTNkgQXTsAeDRM42LBRLo3eo9gCzfH4GvV7zpyf78Ozfl773826csw==, + integrity: sha512-P6r5WnJoKiNVV+zvW2xM13gNdFhAEpQ9dQJHt3naLvfg+LkF2ldgSLiF4T41lf1SQCM9QmkqPTn4TH568IRagg==, } - "@fontsource/rubik@5.2.6": + "@fontsource/rubik@5.2.8": resolution: { - integrity: sha512-KNY87CIXAzmKMfL8gnQV0nbePn9g/kG3tF4GJoUEASSz+ECFWYoPir8TSySblYfXTInDL/kHJm6CMrrEW/U/ZA==, + integrity: sha512-PIc8QR7FqWPcYhbdRiGff56vQlKqg/ytES1YqecSq1GkgxiH4TBshrFvDEOZ9JonUF9m1qQ+qXxJj7wD5zgXEw==, } - "@img/sharp-darwin-arm64@0.33.5": + "@img/colour@1.0.0": resolution: { - integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==, + integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==, + } + engines: { node: ">=18" } + + "@img/sharp-darwin-arm64@0.34.5": + resolution: + { + integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [arm64] os: [darwin] - "@img/sharp-darwin-arm64@0.34.3": + "@img/sharp-darwin-x64@0.34.5": resolution: { - integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [arm64] - os: [darwin] - - "@img/sharp-darwin-x64@0.33.5": - resolution: - { - integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==, + integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [x64] os: [darwin] - "@img/sharp-darwin-x64@0.34.3": + "@img/sharp-libvips-darwin-arm64@1.2.4": resolution: { - integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [x64] - os: [darwin] - - "@img/sharp-libvips-darwin-arm64@1.0.4": - resolution: - { - integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==, + integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==, } cpu: [arm64] os: [darwin] - "@img/sharp-libvips-darwin-arm64@1.2.0": + "@img/sharp-libvips-darwin-x64@1.2.4": resolution: { - integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==, - } - cpu: [arm64] - os: [darwin] - - "@img/sharp-libvips-darwin-x64@1.0.4": - resolution: - { - integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==, + integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==, } cpu: [x64] os: [darwin] - "@img/sharp-libvips-darwin-x64@1.2.0": + "@img/sharp-libvips-linux-arm64@1.2.4": resolution: { - integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==, - } - cpu: [x64] - os: [darwin] - - "@img/sharp-libvips-linux-arm64@1.0.4": - resolution: - { - integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==, + integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==, } cpu: [arm64] os: [linux] + libc: [glibc] - "@img/sharp-libvips-linux-arm64@1.2.0": + "@img/sharp-libvips-linux-arm@1.2.4": resolution: { - integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==, - } - cpu: [arm64] - os: [linux] - - "@img/sharp-libvips-linux-arm@1.0.5": - resolution: - { - integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==, + integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==, } cpu: [arm] os: [linux] + libc: [glibc] - "@img/sharp-libvips-linux-arm@1.2.0": + "@img/sharp-libvips-linux-ppc64@1.2.4": resolution: { - integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==, - } - cpu: [arm] - os: [linux] - - "@img/sharp-libvips-linux-ppc64@1.2.0": - resolution: - { - integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==, + integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==, } cpu: [ppc64] os: [linux] + libc: [glibc] - "@img/sharp-libvips-linux-s390x@1.0.4": + "@img/sharp-libvips-linux-riscv64@1.2.4": resolution: { - integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==, + integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==, + } + cpu: [riscv64] + os: [linux] + libc: [glibc] + + "@img/sharp-libvips-linux-s390x@1.2.4": + resolution: + { + integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==, } cpu: [s390x] os: [linux] + libc: [glibc] - "@img/sharp-libvips-linux-s390x@1.2.0": + "@img/sharp-libvips-linux-x64@1.2.4": resolution: { - integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==, - } - cpu: [s390x] - os: [linux] - - "@img/sharp-libvips-linux-x64@1.0.4": - resolution: - { - integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==, + integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==, } cpu: [x64] os: [linux] + libc: [glibc] - "@img/sharp-libvips-linux-x64@1.2.0": + "@img/sharp-libvips-linuxmusl-arm64@1.2.4": resolution: { - integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==, - } - cpu: [x64] - os: [linux] - - "@img/sharp-libvips-linuxmusl-arm64@1.0.4": - resolution: - { - integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==, + integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==, } cpu: [arm64] os: [linux] + libc: [musl] - "@img/sharp-libvips-linuxmusl-arm64@1.2.0": + "@img/sharp-libvips-linuxmusl-x64@1.2.4": resolution: { - integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==, - } - cpu: [arm64] - os: [linux] - - "@img/sharp-libvips-linuxmusl-x64@1.0.4": - resolution: - { - integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==, + integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==, } cpu: [x64] os: [linux] + libc: [musl] - "@img/sharp-libvips-linuxmusl-x64@1.2.0": + "@img/sharp-linux-arm64@0.34.5": resolution: { - integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==, - } - cpu: [x64] - os: [linux] - - "@img/sharp-linux-arm64@0.33.5": - resolution: - { - integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==, + integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [arm64] os: [linux] + libc: [glibc] - "@img/sharp-linux-arm64@0.34.3": + "@img/sharp-linux-arm@0.34.5": resolution: { - integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [arm64] - os: [linux] - - "@img/sharp-linux-arm@0.33.5": - resolution: - { - integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==, + integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [arm] os: [linux] + libc: [glibc] - "@img/sharp-linux-arm@0.34.3": + "@img/sharp-linux-ppc64@0.34.5": resolution: { - integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [arm] - os: [linux] - - "@img/sharp-linux-ppc64@0.34.3": - resolution: - { - integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==, + integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [ppc64] os: [linux] + libc: [glibc] - "@img/sharp-linux-s390x@0.33.5": + "@img/sharp-linux-riscv64@0.34.5": resolution: { - integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==, + integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==, + } + engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + cpu: [riscv64] + os: [linux] + libc: [glibc] + + "@img/sharp-linux-s390x@0.34.5": + resolution: + { + integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [s390x] os: [linux] + libc: [glibc] - "@img/sharp-linux-s390x@0.34.3": + "@img/sharp-linux-x64@0.34.5": resolution: { - integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [s390x] - os: [linux] - - "@img/sharp-linux-x64@0.33.5": - resolution: - { - integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==, + integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [x64] os: [linux] + libc: [glibc] - "@img/sharp-linux-x64@0.34.3": + "@img/sharp-linuxmusl-arm64@0.34.5": resolution: { - integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [x64] - os: [linux] - - "@img/sharp-linuxmusl-arm64@0.33.5": - resolution: - { - integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==, + integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [arm64] os: [linux] + libc: [musl] - "@img/sharp-linuxmusl-arm64@0.34.3": + "@img/sharp-linuxmusl-x64@0.34.5": resolution: { - integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [arm64] - os: [linux] - - "@img/sharp-linuxmusl-x64@0.33.5": - resolution: - { - integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==, + integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [x64] os: [linux] + libc: [musl] - "@img/sharp-linuxmusl-x64@0.34.3": + "@img/sharp-wasm32@0.34.5": resolution: { - integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [x64] - os: [linux] - - "@img/sharp-wasm32@0.33.5": - resolution: - { - integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==, + integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [wasm32] - "@img/sharp-wasm32@0.34.3": + "@img/sharp-win32-arm64@0.34.5": resolution: { - integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [wasm32] - - "@img/sharp-win32-arm64@0.34.3": - resolution: - { - integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==, + integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [arm64] os: [win32] - "@img/sharp-win32-ia32@0.33.5": + "@img/sharp-win32-ia32@0.34.5": resolution: { - integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==, + integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [ia32] os: [win32] - "@img/sharp-win32-ia32@0.34.3": + "@img/sharp-win32-x64@0.34.5": resolution: { - integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [ia32] - os: [win32] - - "@img/sharp-win32-x64@0.33.5": - resolution: - { - integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - cpu: [x64] - os: [win32] - - "@img/sharp-win32-x64@0.34.3": - resolution: - { - integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==, + integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } cpu: [x64] @@ -818,10 +709,10 @@ packages: cpu: [x64] os: [win32] - "@rollup/pluginutils@5.2.0": + "@rollup/pluginutils@5.3.0": resolution: { - integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==, + integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==, } engines: { node: ">=14.0.0" } peerDependencies: @@ -885,6 +776,7 @@ packages: } cpu: [arm] os: [linux] + libc: [glibc] "@rollup/rollup-linux-arm-musleabihf@4.48.1": resolution: @@ -893,6 +785,7 @@ packages: } cpu: [arm] os: [linux] + libc: [musl] "@rollup/rollup-linux-arm64-gnu@4.48.1": resolution: @@ -901,6 +794,7 @@ packages: } cpu: [arm64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-arm64-musl@4.48.1": resolution: @@ -909,6 +803,7 @@ packages: } cpu: [arm64] os: [linux] + libc: [musl] "@rollup/rollup-linux-loongarch64-gnu@4.48.1": resolution: @@ -917,6 +812,7 @@ packages: } cpu: [loong64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-ppc64-gnu@4.48.1": resolution: @@ -925,6 +821,7 @@ packages: } cpu: [ppc64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-riscv64-gnu@4.48.1": resolution: @@ -933,6 +830,7 @@ packages: } cpu: [riscv64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-riscv64-musl@4.48.1": resolution: @@ -941,6 +839,7 @@ packages: } cpu: [riscv64] os: [linux] + libc: [musl] "@rollup/rollup-linux-s390x-gnu@4.48.1": resolution: @@ -949,6 +848,7 @@ packages: } cpu: [s390x] os: [linux] + libc: [glibc] "@rollup/rollup-linux-x64-gnu@4.48.1": resolution: @@ -957,6 +857,7 @@ packages: } cpu: [x64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-x64-musl@4.48.1": resolution: @@ -965,6 +866,7 @@ packages: } cpu: [x64] os: [linux] + libc: [musl] "@rollup/rollup-win32-arm64-msvc@4.48.1": resolution: @@ -996,48 +898,78 @@ packages: integrity: sha512-oJwU+DxGqp6lUZpvtQgVOXNZcVsirN76tihOLBmwILkKuRuwHteApP8oTXmL4tF5vS5FbOY0+8seXmiCoslk4g==, } + "@shikijs/core@3.22.0": + resolution: + { + integrity: sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==, + } + "@shikijs/engine-javascript@3.11.0": resolution: { integrity: sha512-6/ov6pxrSvew13k9ztIOnSBOytXeKs5kfIR7vbhdtVRg+KPzvp2HctYGeWkqv7V6YIoLicnig/QF3iajqyElZA==, } + "@shikijs/engine-javascript@3.22.0": + resolution: + { + integrity: sha512-jdKhfgW9CRtj3Tor0L7+yPwdG3CgP7W+ZEqSsojrMzCjD1e0IxIbwUMDDpYlVBlC08TACg4puwFGkZfLS+56Tw==, + } + "@shikijs/engine-oniguruma@3.11.0": resolution: { integrity: sha512-4DwIjIgETK04VneKbfOE4WNm4Q7WC1wo95wv82PoHKdqX4/9qLRUwrfKlmhf0gAuvT6GHy0uc7t9cailk6Tbhw==, } + "@shikijs/engine-oniguruma@3.22.0": + resolution: + { + integrity: sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==, + } + "@shikijs/langs@3.11.0": resolution: { integrity: sha512-Njg/nFL4HDcf/ObxcK2VeyidIq61EeLmocrwTHGGpOQx0BzrPWM1j55XtKQ1LvvDWH15cjQy7rg96aJ1/l63uw==, } + "@shikijs/langs@3.22.0": + resolution: + { + integrity: sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==, + } + "@shikijs/themes@3.11.0": resolution: { integrity: sha512-BhhWRzCTEk2CtWt4S4bgsOqPJRkapvxdsifAwqP+6mk5uxboAQchc0etiJ0iIasxnMsb764qGD24DK9albcU9Q==, } + "@shikijs/themes@3.22.0": + resolution: + { + integrity: sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==, + } + "@shikijs/types@3.11.0": resolution: { integrity: sha512-RB7IMo2E7NZHyfkqAuaf4CofyY8bPzjWPjJRzn6SEak3b46fIQyG6Vx5fG/obqkfppQ+g8vEsiD7Uc6lqQt32Q==, } + "@shikijs/types@3.22.0": + resolution: + { + integrity: sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==, + } + "@shikijs/vscode-textmate@10.0.2": resolution: { integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==, } - "@swc/helpers@0.5.17": - resolution: - { - integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==, - } - "@types/debug@4.1.12": resolution: { @@ -1056,12 +988,6 @@ packages: integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, } - "@types/fontkit@2.0.8": - resolution: - { - integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==, - } - "@types/hast@3.0.4": resolution: { @@ -1224,10 +1150,10 @@ packages: peerDependencies: astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 - astro@5.13.4: + astro@5.17.1: resolution: { - integrity: sha512-Mgq5GYy3EHtastGXqdnh1UPuN++8NmJSluAspA5hu33O7YRs/em/L03cUfRXtc60l5yx5BfYJsjF2MFMlcWlzw==, + integrity: sha512-oD3tlxTaVWGq/Wfbqk6gxzVRz98xa/rYlpe+gU2jXJMSD01k6sEDL01ZlT8mVSYB/rMgnvIOfiQQ3BbLdN237A==, } engines: { node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0" } @@ -1252,12 +1178,6 @@ packages: integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==, } - base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - bcp-47-match@2.0.3: resolution: { @@ -1270,12 +1190,6 @@ packages: integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==, } - blob-to-buffer@1.2.9: - resolution: - { - integrity: sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==, - } - boolbase@1.0.0: resolution: { @@ -1289,12 +1203,6 @@ packages: } engines: { node: ">=18" } - brotli@1.3.3: - resolution: - { - integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==, - } - camelcase@8.0.0: resolution: { @@ -1339,17 +1247,17 @@ packages: integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==, } - chokidar@4.0.3: + chokidar@5.0.0: resolution: { - integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==, + integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==, } - engines: { node: ">= 14.16.0" } + engines: { node: ">= 20.19.0" } - ci-info@4.3.0: + ci-info@4.4.0: resolution: { - integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==, + integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==, } engines: { node: ">=8" } @@ -1360,13 +1268,6 @@ packages: } engines: { node: ">=10" } - clone@2.1.2: - resolution: - { - integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==, - } - engines: { node: ">=0.8" } - clsx@2.1.1: resolution: { @@ -1380,38 +1281,19 @@ packages: integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==, } - color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - - color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - - color-string@1.9.1: - resolution: - { - integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==, - } - - color@4.2.3: - resolution: - { - integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==, - } - engines: { node: ">=12.5.0" } - comma-separated-tokens@2.0.3: resolution: { integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==, } + commander@11.1.0: + resolution: + { + integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==, + } + engines: { node: ">=16" } + common-ancestor-path@1.0.1: resolution: { @@ -1424,31 +1306,38 @@ packages: integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==, } - cookie@1.0.2: + cookie@1.1.1: resolution: { - integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==, + integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==, } engines: { node: ">=18" } - cross-fetch@3.2.0: - resolution: - { - integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==, - } - crossws@0.3.5: resolution: { integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==, } + css-select@5.2.2: + resolution: + { + integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==, + } + css-selector-parser@3.1.3: resolution: { integrity: sha512-gJMigczVZqYAk0hPVzx/M4Hm1D9QOtqkdQk9005TNzDIUGzo5cnHEDiKUT7jGPximL/oYb+LIitcHFQ4aKupxg==, } + css-tree@2.2.1: + resolution: + { + integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==, + } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } + css-tree@3.1.0: resolution: { @@ -1456,6 +1345,13 @@ packages: } engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + css-what@6.2.2: + resolution: + { + integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==, + } + engines: { node: ">= 6" } + cssesc@3.0.0: resolution: { @@ -1464,6 +1360,13 @@ packages: engines: { node: ">=4" } hasBin: true + csso@5.0.5: + resolution: + { + integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==, + } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } + debug@4.4.1: resolution: { @@ -1476,6 +1379,18 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: + { + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + decode-named-character-reference@1.2.0: resolution: { @@ -1501,10 +1416,10 @@ packages: integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==, } - detect-libc@2.0.4: + detect-libc@2.1.2: resolution: { - integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==, + integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==, } engines: { node: ">=8" } @@ -1515,10 +1430,10 @@ packages: } engines: { node: ">=18" } - devalue@5.2.0: + devalue@5.6.2: resolution: { - integrity: sha512-pn/4yAWRz7WrDNpr29JUv2s+8Q4zyf/9I5SuFlhf8wTHfc3HFakOwU2A9da1fokbVym/6IZq5alo18pIByxxQg==, + integrity: sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==, } devlop@1.1.0: @@ -1527,16 +1442,10 @@ packages: integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==, } - dfa@1.2.0: + diff@8.0.3: resolution: { - integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==, - } - - diff@5.2.0: - resolution: - { - integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==, + integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==, } engines: { node: ">=0.3.1" } @@ -1553,6 +1462,31 @@ packages: integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, } + dom-serializer@2.0.0: + resolution: + { + integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, + } + + domelementtype@2.3.0: + resolution: + { + integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, + } + + domhandler@5.0.3: + resolution: + { + integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, + } + engines: { node: ">= 4" } + + domutils@3.2.2: + resolution: + { + integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==, + } + dset@3.1.4: resolution: { @@ -1572,6 +1506,13 @@ packages: integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, } + entities@4.5.0: + resolution: + { + integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, + } + engines: { node: ">=0.12" } + entities@6.0.1: resolution: { @@ -1678,12 +1619,6 @@ packages: integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, } - fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - fdir@6.5.0: resolution: { @@ -1703,17 +1638,18 @@ packages: } engines: { node: ">=8" } - fontace@0.3.0: + fontace@0.4.1: resolution: { - integrity: sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg==, + integrity: sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==, } - fontkit@2.0.4: + fontkitten@1.0.2: resolution: { - integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==, + integrity: sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==, } + engines: { node: ">=20" } fsevents@2.3.3: resolution: @@ -1736,10 +1672,10 @@ packages: integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==, } - h3@1.15.4: + h3@1.15.5: resolution: { - integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==, + integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==, } hast-util-embedded@3.0.0: @@ -1898,6 +1834,12 @@ packages: integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==, } + import-meta-resolve@4.2.0: + resolution: + { + integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==, + } + inline-style-parser@0.2.4: resolution: { @@ -1922,12 +1864,6 @@ packages: integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==, } - is-arrayish@0.3.2: - resolution: - { - integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==, - } - is-decimal@2.0.1: resolution: { @@ -1984,6 +1920,13 @@ packages: } hasBin: true + js-yaml@4.1.1: + resolution: + { + integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==, + } + hasBin: true + kleur@3.0.3: resolution: { @@ -2011,11 +1954,12 @@ packages: integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==, } - lru-cache@10.4.3: + lru-cache@11.2.5: resolution: { - integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, + integrity: sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==, } + engines: { node: 20 || >=22 } magic-string@0.30.18: resolution: @@ -2023,10 +1967,16 @@ packages: integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==, } - magicast@0.3.5: + magic-string@0.30.21: resolution: { - integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==, + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, + } + + magicast@0.5.2: + resolution: + { + integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==, } markdown-extensions@2.0.0: @@ -2150,6 +2100,12 @@ packages: integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==, } + mdn-data@2.0.28: + resolution: + { + integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==, + } + mdn-data@2.12.2: resolution: { @@ -2412,22 +2368,10 @@ packages: integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==, } - node-fetch@2.7.0: + node-mock-http@1.0.4: resolution: { - integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, - } - engines: { node: 4.x || >=6.0.0 } - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-mock-http@1.0.2: - resolution: - { - integrity: sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==, + integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==, } normalize-path@3.0.0: @@ -2443,10 +2387,10 @@ packages: integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, } - ofetch@1.4.1: + ofetch@1.5.1: resolution: { - integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==, + integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==, } ohash@2.0.11: @@ -2467,6 +2411,12 @@ packages: integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==, } + oniguruma-to-es@4.3.4: + resolution: + { + integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==, + } + p-limit@6.2.0: resolution: { @@ -2474,10 +2424,10 @@ packages: } engines: { node: ">=18" } - p-queue@8.1.0: + p-queue@8.1.1: resolution: { - integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==, + integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==, } engines: { node: ">=18" } @@ -2488,10 +2438,10 @@ packages: } engines: { node: ">=14.16" } - package-manager-detector@1.3.0: + package-manager-detector@1.6.0: resolution: { - integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==, + integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==, } pagefind@1.3.0: @@ -2501,12 +2451,6 @@ packages: } hasBin: true - pako@0.2.9: - resolution: - { - integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==, - } - parse-entities@4.0.2: resolution: { @@ -2525,6 +2469,12 @@ packages: integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==, } + piccolore@0.1.3: + resolution: + { + integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==, + } + picocolors@1.1.1: resolution: { @@ -2600,12 +2550,12 @@ packages: integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==, } - readdirp@4.1.2: + readdirp@5.0.0: resolution: { - integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==, + integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==, } - engines: { node: ">= 14.18.0" } + engines: { node: ">= 20.19.0" } recma-build-jsx@1.0.0: resolution: @@ -2736,12 +2686,6 @@ packages: integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==, } - restructure@3.0.2: - resolution: - { - integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==, - } - retext-latin@4.0.0: resolution: { @@ -2780,25 +2724,18 @@ packages: integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==, } - semver@7.7.2: + semver@7.7.4: resolution: { - integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==, + integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==, } engines: { node: ">=10" } hasBin: true - sharp@0.33.5: + sharp@0.34.5: resolution: { - integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - - sharp@0.34.3: - resolution: - { - integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==, + integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==, } engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } @@ -2808,10 +2745,10 @@ packages: integrity: sha512-VgKumh/ib38I1i3QkMn6mAQA6XjjQubqaAYhfge71glAll0/4xnt8L2oSuC45Qcr/G5Kbskj4RliMQddGmy/Og==, } - simple-swizzle@0.2.2: + shiki@3.22.0: resolution: { - integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==, + integrity: sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==, } sisteransi@1.0.5: @@ -2826,6 +2763,7 @@ packages: integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==, } engines: { node: ">=14.0.0", npm: ">=6.0.0" } + deprecated: "SECURITY: Multiple vulnerabilities fixed in 8.0.1 (XML injection, path traversal, command injection, protocol injection). Upgrade immediately: npm install sitemap@8.0.1" hasBin: true smol-toml@1.4.2: @@ -2835,6 +2773,13 @@ packages: } engines: { node: ">= 18" } + smol-toml@1.6.0: + resolution: + { + integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==, + } + engines: { node: ">= 18" } + source-map-js@1.2.1: resolution: { @@ -2907,31 +2852,34 @@ packages: integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==, } + svgo@4.0.0: + resolution: + { + integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==, + } + engines: { node: ">=16" } + hasBin: true + tiny-inflate@1.0.3: resolution: { integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==, } - tinyexec@0.3.2: + tinyexec@1.0.2: resolution: { - integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, + integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==, } + engines: { node: ">=18" } - tinyglobby@0.2.14: + tinyglobby@0.2.15: resolution: { - integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==, + integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, } engines: { node: ">=12.0.0" } - tr46@0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } - trim-lines@3.0.1: resolution: { @@ -2984,6 +2932,12 @@ packages: integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==, } + ufo@1.6.3: + resolution: + { + integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==, + } + ultrahtml@1.6.0: resolution: { @@ -3002,28 +2956,16 @@ packages: integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==, } - unicode-properties@1.4.1: - resolution: - { - integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==, - } - - unicode-trie@2.0.0: - resolution: - { - integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==, - } - unified@11.0.5: resolution: { integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==, } - unifont@0.5.2: + unifont@0.7.3: resolution: { - integrity: sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg==, + integrity: sha512-b0GtQzKCyuSHGsfj5vyN8st7muZ6VCI4XD4vFlr7Uy1rlWVYxC3npnfk8MyreHxJYrz1ooLDqDzFe9XqQTlAhA==, } unist-util-find-after@5.0.0: @@ -3080,16 +3022,22 @@ packages: integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==, } + unist-util-visit-parents@6.0.2: + resolution: + { + integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==, + } + unist-util-visit@5.0.0: resolution: { integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==, } - unstorage@1.17.0: + unstorage@1.17.4: resolution: { - integrity: sha512-l9Z7lBiwtNp8ZmcoZ/dmPkFXFdtEdZtTZafCSnEIj3YvtkXeGAtL2rN8MQFy/0cs4eOLpuRJMp9ivdug7TCvww==, + integrity: sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==, } peerDependencies: "@azure/app-configuration": ^1.8.0 @@ -3098,14 +3046,14 @@ packages: "@azure/identity": ^4.6.0 "@azure/keyvault-secrets": ^4.9.0 "@azure/storage-blob": ^12.26.0 - "@capacitor/preferences": ^6.0.3 || ^7.0.0 + "@capacitor/preferences": ^6 || ^7 || ^8 "@deno/kv": ">=0.9.0" "@netlify/blobs": ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 "@planetscale/database": ^1.19.0 "@upstash/redis": ^1.34.3 "@vercel/blob": ">=0.27.1" - "@vercel/functions": ^2.2.12 - "@vercel/kv": ^1.0.1 + "@vercel/functions": ^2.2.12 || ^3.0.0 + "@vercel/kv": ^1 || ^2 || ^3 aws4fetch: ^1.0.20 db0: ">=0.2.1" idb-keyval: ^6.2.1 @@ -3175,10 +3123,10 @@ packages: integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==, } - vite@6.3.5: + vite@6.4.1: resolution: { - integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==, + integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==, } engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } hasBin: true @@ -3235,18 +3183,6 @@ packages: integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==, } - webidl-conversions@3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } - - whatwg-url@5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } - which-pm-runs@1.1.0: resolution: { @@ -3302,13 +3238,13 @@ packages: } engines: { node: ">=18" } - zod-to-json-schema@3.24.6: + zod-to-json-schema@3.25.1: resolution: { - integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==, + integrity: sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==, } peerDependencies: - zod: ^3.24.1 + zod: ^3.25 || ^4 zod-to-ts@1.2.0: resolution: @@ -3332,10 +3268,38 @@ packages: } snapshots: - "@astrojs/compiler@2.12.2": {} + "@astrojs/compiler@2.13.1": {} "@astrojs/internal-helpers@0.7.2": {} + "@astrojs/internal-helpers@0.7.5": {} + + "@astrojs/markdown-remark@6.3.10": + dependencies: + "@astrojs/internal-helpers": 0.7.5 + "@astrojs/prism": 3.3.0 + github-slugger: 2.0.0 + hast-util-from-html: 2.0.3 + hast-util-to-text: 4.0.2 + import-meta-resolve: 4.2.0 + js-yaml: 4.1.1 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.1 + remark-gfm: 4.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + remark-smartypants: 3.0.2 + shiki: 3.22.0 + smol-toml: 1.6.0 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.2 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + "@astrojs/markdown-remark@6.3.6": dependencies: "@astrojs/internal-helpers": 0.7.2 @@ -3362,12 +3326,12 @@ snapshots: transitivePeerDependencies: - supports-color - "@astrojs/mdx@4.3.4(astro@5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2))": + "@astrojs/mdx@4.3.4(astro@5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2))": dependencies: "@astrojs/markdown-remark": 6.3.6 "@mdx-js/mdx": 3.1.0(acorn@8.15.0) acorn: 8.15.0 - astro: 5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) + astro: 5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) es-module-lexer: 1.7.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.5 @@ -3391,17 +3355,17 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.25.76 - "@astrojs/starlight@0.35.2(astro@5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2))": + "@astrojs/starlight@0.37.6(astro@5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2))": dependencies: "@astrojs/markdown-remark": 6.3.6 - "@astrojs/mdx": 4.3.4(astro@5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)) + "@astrojs/mdx": 4.3.4(astro@5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)) "@astrojs/sitemap": 3.5.1 "@pagefind/default-ui": 1.3.0 "@types/hast": 3.0.4 "@types/js-yaml": 4.0.9 "@types/mdast": 4.0.4 - astro: 5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) - astro-expressive-code: 0.41.3(astro@5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)) + astro: 5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) + astro-expressive-code: 0.41.3(astro@5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.4 @@ -3410,6 +3374,7 @@ snapshots: i18next: 23.16.8 js-yaml: 4.1.0 klona: 2.0.6 + magic-string: 0.30.18 mdast-util-directive: 3.1.0 mdast-util-to-markdown: 2.1.2 mdast-util-to-string: 4.0.0 @@ -3426,8 +3391,8 @@ snapshots: "@astrojs/telemetry@3.3.0": dependencies: - ci-info: 4.3.0 - debug: 4.4.1 + ci-info: 4.4.0 + debug: 4.4.3 dlv: 1.1.3 dset: 3.1.4 is-docker: 3.0.0 @@ -3438,30 +3403,26 @@ snapshots: "@babel/helper-string-parser@7.27.1": {} - "@babel/helper-validator-identifier@7.27.1": {} + "@babel/helper-validator-identifier@7.28.5": {} - "@babel/parser@7.28.3": + "@babel/parser@7.29.0": dependencies: - "@babel/types": 7.28.2 + "@babel/types": 7.29.0 "@babel/runtime@7.28.3": {} - "@babel/types@7.28.2": + "@babel/types@7.29.0": dependencies: "@babel/helper-string-parser": 7.27.1 - "@babel/helper-validator-identifier": 7.27.1 + "@babel/helper-validator-identifier": 7.28.5 - "@capsizecss/unpack@2.4.0": + "@capsizecss/unpack@4.0.0": dependencies: - blob-to-buffer: 1.2.9 - cross-fetch: 3.2.0 - fontkit: 2.0.4 - transitivePeerDependencies: - - encoding + fontkitten: 1.0.2 "@ctrl/tinycolor@4.1.0": {} - "@emnapi/runtime@1.4.5": + "@emnapi/runtime@1.8.1": dependencies: tslib: 2.8.1 optional: true @@ -3569,169 +3530,104 @@ snapshots: dependencies: "@expressive-code/core": 0.41.3 - "@fontsource/inter@5.2.6": {} + "@fontsource/inter@5.2.8": {} - "@fontsource/rubik@5.2.6": {} + "@fontsource/rubik@5.2.8": {} - "@img/sharp-darwin-arm64@0.33.5": + "@img/colour@1.0.0": {} + + "@img/sharp-darwin-arm64@0.34.5": optionalDependencies: - "@img/sharp-libvips-darwin-arm64": 1.0.4 + "@img/sharp-libvips-darwin-arm64": 1.2.4 optional: true - "@img/sharp-darwin-arm64@0.34.3": + "@img/sharp-darwin-x64@0.34.5": optionalDependencies: - "@img/sharp-libvips-darwin-arm64": 1.2.0 + "@img/sharp-libvips-darwin-x64": 1.2.4 optional: true - "@img/sharp-darwin-x64@0.33.5": + "@img/sharp-libvips-darwin-arm64@1.2.4": + optional: true + + "@img/sharp-libvips-darwin-x64@1.2.4": + optional: true + + "@img/sharp-libvips-linux-arm64@1.2.4": + optional: true + + "@img/sharp-libvips-linux-arm@1.2.4": + optional: true + + "@img/sharp-libvips-linux-ppc64@1.2.4": + optional: true + + "@img/sharp-libvips-linux-riscv64@1.2.4": + optional: true + + "@img/sharp-libvips-linux-s390x@1.2.4": + optional: true + + "@img/sharp-libvips-linux-x64@1.2.4": + optional: true + + "@img/sharp-libvips-linuxmusl-arm64@1.2.4": + optional: true + + "@img/sharp-libvips-linuxmusl-x64@1.2.4": + optional: true + + "@img/sharp-linux-arm64@0.34.5": optionalDependencies: - "@img/sharp-libvips-darwin-x64": 1.0.4 + "@img/sharp-libvips-linux-arm64": 1.2.4 optional: true - "@img/sharp-darwin-x64@0.34.3": + "@img/sharp-linux-arm@0.34.5": optionalDependencies: - "@img/sharp-libvips-darwin-x64": 1.2.0 + "@img/sharp-libvips-linux-arm": 1.2.4 optional: true - "@img/sharp-libvips-darwin-arm64@1.0.4": - optional: true - - "@img/sharp-libvips-darwin-arm64@1.2.0": - optional: true - - "@img/sharp-libvips-darwin-x64@1.0.4": - optional: true - - "@img/sharp-libvips-darwin-x64@1.2.0": - optional: true - - "@img/sharp-libvips-linux-arm64@1.0.4": - optional: true - - "@img/sharp-libvips-linux-arm64@1.2.0": - optional: true - - "@img/sharp-libvips-linux-arm@1.0.5": - optional: true - - "@img/sharp-libvips-linux-arm@1.2.0": - optional: true - - "@img/sharp-libvips-linux-ppc64@1.2.0": - optional: true - - "@img/sharp-libvips-linux-s390x@1.0.4": - optional: true - - "@img/sharp-libvips-linux-s390x@1.2.0": - optional: true - - "@img/sharp-libvips-linux-x64@1.0.4": - optional: true - - "@img/sharp-libvips-linux-x64@1.2.0": - optional: true - - "@img/sharp-libvips-linuxmusl-arm64@1.0.4": - optional: true - - "@img/sharp-libvips-linuxmusl-arm64@1.2.0": - optional: true - - "@img/sharp-libvips-linuxmusl-x64@1.0.4": - optional: true - - "@img/sharp-libvips-linuxmusl-x64@1.2.0": - optional: true - - "@img/sharp-linux-arm64@0.33.5": + "@img/sharp-linux-ppc64@0.34.5": optionalDependencies: - "@img/sharp-libvips-linux-arm64": 1.0.4 + "@img/sharp-libvips-linux-ppc64": 1.2.4 optional: true - "@img/sharp-linux-arm64@0.34.3": + "@img/sharp-linux-riscv64@0.34.5": optionalDependencies: - "@img/sharp-libvips-linux-arm64": 1.2.0 + "@img/sharp-libvips-linux-riscv64": 1.2.4 optional: true - "@img/sharp-linux-arm@0.33.5": + "@img/sharp-linux-s390x@0.34.5": optionalDependencies: - "@img/sharp-libvips-linux-arm": 1.0.5 + "@img/sharp-libvips-linux-s390x": 1.2.4 optional: true - "@img/sharp-linux-arm@0.34.3": + "@img/sharp-linux-x64@0.34.5": optionalDependencies: - "@img/sharp-libvips-linux-arm": 1.2.0 + "@img/sharp-libvips-linux-x64": 1.2.4 optional: true - "@img/sharp-linux-ppc64@0.34.3": + "@img/sharp-linuxmusl-arm64@0.34.5": optionalDependencies: - "@img/sharp-libvips-linux-ppc64": 1.2.0 + "@img/sharp-libvips-linuxmusl-arm64": 1.2.4 optional: true - "@img/sharp-linux-s390x@0.33.5": + "@img/sharp-linuxmusl-x64@0.34.5": optionalDependencies: - "@img/sharp-libvips-linux-s390x": 1.0.4 + "@img/sharp-libvips-linuxmusl-x64": 1.2.4 optional: true - "@img/sharp-linux-s390x@0.34.3": - optionalDependencies: - "@img/sharp-libvips-linux-s390x": 1.2.0 - optional: true - - "@img/sharp-linux-x64@0.33.5": - optionalDependencies: - "@img/sharp-libvips-linux-x64": 1.0.4 - optional: true - - "@img/sharp-linux-x64@0.34.3": - optionalDependencies: - "@img/sharp-libvips-linux-x64": 1.2.0 - optional: true - - "@img/sharp-linuxmusl-arm64@0.33.5": - optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64": 1.0.4 - optional: true - - "@img/sharp-linuxmusl-arm64@0.34.3": - optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64": 1.2.0 - optional: true - - "@img/sharp-linuxmusl-x64@0.33.5": - optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64": 1.0.4 - optional: true - - "@img/sharp-linuxmusl-x64@0.34.3": - optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64": 1.2.0 - optional: true - - "@img/sharp-wasm32@0.33.5": + "@img/sharp-wasm32@0.34.5": dependencies: - "@emnapi/runtime": 1.4.5 + "@emnapi/runtime": 1.8.1 optional: true - "@img/sharp-wasm32@0.34.3": - dependencies: - "@emnapi/runtime": 1.4.5 + "@img/sharp-win32-arm64@0.34.5": optional: true - "@img/sharp-win32-arm64@0.34.3": + "@img/sharp-win32-ia32@0.34.5": optional: true - "@img/sharp-win32-ia32@0.33.5": - optional: true - - "@img/sharp-win32-ia32@0.34.3": - optional: true - - "@img/sharp-win32-x64@0.33.5": - optional: true - - "@img/sharp-win32-x64@0.34.3": + "@img/sharp-win32-x64@0.34.5": optional: true "@jridgewell/sourcemap-codec@1.5.5": {} @@ -3785,7 +3681,7 @@ snapshots: "@pagefind/windows-x64@1.3.0": optional: true - "@rollup/pluginutils@5.2.0(rollup@4.48.1)": + "@rollup/pluginutils@5.3.0(rollup@4.48.1)": dependencies: "@types/estree": 1.0.8 estree-walker: 2.0.2 @@ -3860,35 +3756,62 @@ snapshots: "@types/hast": 3.0.4 hast-util-to-html: 9.0.5 + "@shikijs/core@3.22.0": + dependencies: + "@shikijs/types": 3.22.0 + "@shikijs/vscode-textmate": 10.0.2 + "@types/hast": 3.0.4 + hast-util-to-html: 9.0.5 + "@shikijs/engine-javascript@3.11.0": dependencies: "@shikijs/types": 3.11.0 "@shikijs/vscode-textmate": 10.0.2 oniguruma-to-es: 4.3.3 + "@shikijs/engine-javascript@3.22.0": + dependencies: + "@shikijs/types": 3.22.0 + "@shikijs/vscode-textmate": 10.0.2 + oniguruma-to-es: 4.3.4 + "@shikijs/engine-oniguruma@3.11.0": dependencies: "@shikijs/types": 3.11.0 "@shikijs/vscode-textmate": 10.0.2 + "@shikijs/engine-oniguruma@3.22.0": + dependencies: + "@shikijs/types": 3.22.0 + "@shikijs/vscode-textmate": 10.0.2 + "@shikijs/langs@3.11.0": dependencies: "@shikijs/types": 3.11.0 + "@shikijs/langs@3.22.0": + dependencies: + "@shikijs/types": 3.22.0 + "@shikijs/themes@3.11.0": dependencies: "@shikijs/types": 3.11.0 + "@shikijs/themes@3.22.0": + dependencies: + "@shikijs/types": 3.22.0 + "@shikijs/types@3.11.0": dependencies: "@shikijs/vscode-textmate": 10.0.2 "@types/hast": 3.0.4 - "@shikijs/vscode-textmate@10.0.2": {} - - "@swc/helpers@0.5.17": + "@shikijs/types@3.22.0": dependencies: - tslib: 2.8.1 + "@shikijs/vscode-textmate": 10.0.2 + "@types/hast": 3.0.4 + + "@shikijs/vscode-textmate@10.0.2": {} "@types/debug@4.1.12": dependencies: @@ -3900,10 +3823,6 @@ snapshots: "@types/estree@1.0.8": {} - "@types/fontkit@2.0.8": - dependencies: - "@types/node": 24.3.0 - "@types/hast@3.0.4": dependencies: "@types/unist": 3.0.3 @@ -3930,7 +3849,7 @@ snapshots: "@types/sax@1.2.7": dependencies: - "@types/node": 17.0.45 + "@types/node": 24.3.0 "@types/unist@2.0.11": {} @@ -3969,77 +3888,78 @@ snapshots: astring@1.9.0: {} - astro-expressive-code@0.41.3(astro@5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)): + astro-expressive-code@0.41.3(astro@5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2)): dependencies: - astro: 5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) + astro: 5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2) rehype-expressive-code: 0.41.3 - astro@5.13.4(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2): + astro@5.17.1(@types/node@24.3.0)(rollup@4.48.1)(typescript@5.9.2): dependencies: - "@astrojs/compiler": 2.12.2 - "@astrojs/internal-helpers": 0.7.2 - "@astrojs/markdown-remark": 6.3.6 + "@astrojs/compiler": 2.13.1 + "@astrojs/internal-helpers": 0.7.5 + "@astrojs/markdown-remark": 6.3.10 "@astrojs/telemetry": 3.3.0 - "@capsizecss/unpack": 2.4.0 + "@capsizecss/unpack": 4.0.0 "@oslojs/encoding": 1.1.0 - "@rollup/pluginutils": 5.2.0(rollup@4.48.1) + "@rollup/pluginutils": 5.3.0(rollup@4.48.1) acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 boxen: 8.0.1 - ci-info: 4.3.0 + ci-info: 4.4.0 clsx: 2.1.1 common-ancestor-path: 1.0.1 - cookie: 1.0.2 + cookie: 1.1.1 cssesc: 3.0.0 - debug: 4.4.1 + debug: 4.4.3 deterministic-object-hash: 2.0.2 - devalue: 5.2.0 - diff: 5.2.0 + devalue: 5.6.2 + diff: 8.0.3 dlv: 1.1.3 dset: 3.1.4 es-module-lexer: 1.7.0 esbuild: 0.25.9 estree-walker: 3.0.3 flattie: 1.1.1 - fontace: 0.3.0 + fontace: 0.4.1 github-slugger: 2.0.0 html-escaper: 3.0.3 http-cache-semantics: 4.2.0 - import-meta-resolve: 4.1.0 - js-yaml: 4.1.0 - kleur: 4.1.5 - magic-string: 0.30.18 - magicast: 0.3.5 + import-meta-resolve: 4.2.0 + js-yaml: 4.1.1 + magic-string: 0.30.21 + magicast: 0.5.2 mrmime: 2.0.1 neotraverse: 0.6.18 p-limit: 6.2.0 - p-queue: 8.1.0 - package-manager-detector: 1.3.0 + p-queue: 8.1.1 + package-manager-detector: 1.6.0 + piccolore: 0.1.3 picomatch: 4.0.3 prompts: 2.4.2 rehype: 13.0.2 - semver: 7.7.2 - shiki: 3.11.0 - smol-toml: 1.4.2 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 + semver: 7.7.4 + shiki: 3.22.0 + smol-toml: 1.6.0 + svgo: 4.0.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 tsconfck: 3.1.6(typescript@5.9.2) ultrahtml: 1.6.0 - unifont: 0.5.2 + unifont: 0.7.3 unist-util-visit: 5.0.0 - unstorage: 1.17.0 + unstorage: 1.17.4 vfile: 6.0.3 - vite: 6.3.5(@types/node@24.3.0) - vitefu: 1.1.1(vite@6.3.5(@types/node@24.3.0)) + vite: 6.4.1(@types/node@24.3.0) + vitefu: 1.1.1(vite@6.4.1(@types/node@24.3.0)) xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 yocto-spinner: 0.2.3 zod: 3.25.76 - zod-to-json-schema: 3.24.6(zod@3.25.76) + zod-to-json-schema: 3.25.1(zod@3.25.76) zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76) optionalDependencies: - sharp: 0.33.5 + sharp: 0.34.5 transitivePeerDependencies: - "@azure/app-configuration" - "@azure/cosmos" @@ -4058,7 +3978,6 @@ snapshots: - "@vercel/kv" - aws4fetch - db0 - - encoding - idb-keyval - ioredis - jiti @@ -4082,8 +4001,6 @@ snapshots: base-64@1.0.0: {} - base64-js@1.5.1: {} - bcp-47-match@2.0.3: {} bcp-47@2.1.0: @@ -4092,8 +4009,6 @@ snapshots: is-alphanumerical: 2.0.1 is-decimal: 2.0.1 - blob-to-buffer@1.2.9: {} - boolbase@1.0.0: {} boxen@8.0.1: @@ -4107,10 +4022,6 @@ snapshots: widest-line: 5.0.0 wrap-ansi: 9.0.0 - brotli@1.3.3: - dependencies: - base64-js: 1.5.1 - camelcase@8.0.0: {} ccount@2.0.1: {} @@ -4125,67 +4036,68 @@ snapshots: character-reference-invalid@2.0.1: {} - chokidar@4.0.3: + chokidar@5.0.0: dependencies: - readdirp: 4.1.2 + readdirp: 5.0.0 - ci-info@4.3.0: {} + ci-info@4.4.0: {} cli-boxes@3.0.0: {} - clone@2.1.2: {} - clsx@2.1.1: {} collapse-white-space@2.1.0: {} - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - - color@4.2.3: - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - comma-separated-tokens@2.0.3: {} + commander@11.1.0: {} + common-ancestor-path@1.0.1: {} cookie-es@1.2.2: {} - cookie@1.0.2: {} - - cross-fetch@3.2.0: - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding + cookie@1.1.1: {} crossws@0.3.5: dependencies: uncrypto: 0.1.3 + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + css-selector-parser@3.1.3: {} + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + css-tree@3.1.0: dependencies: mdn-data: 2.12.2 source-map-js: 1.2.1 + css-what@6.2.2: {} + cssesc@3.0.0: {} + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + debug@4.4.1: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -4196,32 +4108,50 @@ snapshots: destr@2.0.5: {} - detect-libc@2.0.4: {} + detect-libc@2.1.2: {} deterministic-object-hash@2.0.2: dependencies: base-64: 1.0.0 - devalue@5.2.0: {} + devalue@5.6.2: {} devlop@1.1.0: dependencies: dequal: 2.0.3 - dfa@1.2.0: {} - - diff@5.2.0: {} + diff@8.0.3: {} direction@2.0.1: {} dlv@1.1.3: {} + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dset@3.1.4: {} emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} + entities@4.5.0: {} + entities@6.0.1: {} es-module-lexer@1.7.0: {} @@ -4317,30 +4247,19 @@ snapshots: extend@3.0.2: {} - fast-deep-equal@3.1.3: {} - fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 flattie@1.1.1: {} - fontace@0.3.0: + fontace@0.4.1: dependencies: - "@types/fontkit": 2.0.8 - fontkit: 2.0.4 + fontkitten: 1.0.2 - fontkit@2.0.4: + fontkitten@1.0.2: dependencies: - "@swc/helpers": 0.5.17 - brotli: 1.3.3 - clone: 2.1.2 - dfa: 1.2.0 - fast-deep-equal: 3.1.3 - restructure: 3.0.2 tiny-inflate: 1.0.3 - unicode-properties: 1.4.1 - unicode-trie: 2.0.0 fsevents@2.3.3: optional: true @@ -4349,16 +4268,16 @@ snapshots: github-slugger@2.0.0: {} - h3@1.15.4: + h3@1.15.5: dependencies: cookie-es: 1.2.2 crossws: 0.3.5 defu: 6.1.4 destr: 2.0.5 iron-webcrypto: 1.2.1 - node-mock-http: 1.0.2 + node-mock-http: 1.0.4 radix3: 1.1.2 - ufo: 1.6.1 + ufo: 1.6.3 uncrypto: 0.1.3 hast-util-embedded@3.0.0: @@ -4564,6 +4483,8 @@ snapshots: import-meta-resolve@4.1.0: {} + import-meta-resolve@4.2.0: {} + inline-style-parser@0.2.4: {} iron-webcrypto@1.2.1: {} @@ -4575,8 +4496,6 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-arrayish@0.3.2: {} - is-decimal@2.0.1: {} is-docker@3.0.0: {} @@ -4599,6 +4518,10 @@ snapshots: dependencies: argparse: 2.0.1 + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + kleur@3.0.3: {} kleur@4.1.5: {} @@ -4607,16 +4530,20 @@ snapshots: longest-streak@3.1.0: {} - lru-cache@10.4.3: {} + lru-cache@11.2.5: {} magic-string@0.30.18: dependencies: "@jridgewell/sourcemap-codec": 1.5.5 - magicast@0.3.5: + magic-string@0.30.21: dependencies: - "@babel/parser": 7.28.3 - "@babel/types": 7.28.2 + "@jridgewell/sourcemap-codec": 1.5.5 + + magicast@0.5.2: + dependencies: + "@babel/parser": 7.29.0 + "@babel/types": 7.29.0 source-map-js: 1.2.1 markdown-extensions@2.0.0: {} @@ -4806,6 +4733,8 @@ snapshots: dependencies: "@types/mdast": 4.0.4 + mdn-data@2.0.28: {} + mdn-data@2.12.2: {} micromark-core-commonmark@2.0.3: @@ -5096,11 +5025,7 @@ snapshots: node-fetch-native@1.6.7: {} - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - - node-mock-http@1.0.2: {} + node-mock-http@1.0.4: {} normalize-path@3.0.0: {} @@ -5108,7 +5033,7 @@ snapshots: dependencies: boolbase: 1.0.0 - ofetch@1.4.1: + ofetch@1.5.1: dependencies: destr: 2.0.5 node-fetch-native: 1.6.7 @@ -5124,18 +5049,24 @@ snapshots: regex: 6.0.1 regex-recursion: 6.0.2 + oniguruma-to-es@4.3.4: + dependencies: + oniguruma-parser: 0.12.1 + regex: 6.0.1 + regex-recursion: 6.0.2 + p-limit@6.2.0: dependencies: yocto-queue: 1.2.1 - p-queue@8.1.0: + p-queue@8.1.1: dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.4 p-timeout@6.1.4: {} - package-manager-detector@1.3.0: {} + package-manager-detector@1.6.0: {} pagefind@1.3.0: optionalDependencies: @@ -5145,8 +5076,6 @@ snapshots: "@pagefind/linux-x64": 1.3.0 "@pagefind/windows-x64": 1.3.0 - pako@0.2.9: {} - parse-entities@4.0.2: dependencies: "@types/unist": 2.0.11 @@ -5170,6 +5099,8 @@ snapshots: dependencies: entities: 6.0.1 + piccolore@0.1.3: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -5205,7 +5136,7 @@ snapshots: radix3@1.1.2: {} - readdirp@4.1.2: {} + readdirp@5.0.0: {} recma-build-jsx@1.0.0: dependencies: @@ -5345,8 +5276,6 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - restructure@3.0.2: {} - retext-latin@4.0.0: dependencies: "@types/nlcst": 2.0.3 @@ -5400,63 +5329,38 @@ snapshots: sax@1.4.1: {} - semver@7.7.2: {} + semver@7.7.4: {} - sharp@0.33.5: + sharp@0.34.5: dependencies: - color: 4.2.3 - detect-libc: 2.0.4 - semver: 7.7.2 + "@img/colour": 1.0.0 + detect-libc: 2.1.2 + semver: 7.7.4 optionalDependencies: - "@img/sharp-darwin-arm64": 0.33.5 - "@img/sharp-darwin-x64": 0.33.5 - "@img/sharp-libvips-darwin-arm64": 1.0.4 - "@img/sharp-libvips-darwin-x64": 1.0.4 - "@img/sharp-libvips-linux-arm": 1.0.5 - "@img/sharp-libvips-linux-arm64": 1.0.4 - "@img/sharp-libvips-linux-s390x": 1.0.4 - "@img/sharp-libvips-linux-x64": 1.0.4 - "@img/sharp-libvips-linuxmusl-arm64": 1.0.4 - "@img/sharp-libvips-linuxmusl-x64": 1.0.4 - "@img/sharp-linux-arm": 0.33.5 - "@img/sharp-linux-arm64": 0.33.5 - "@img/sharp-linux-s390x": 0.33.5 - "@img/sharp-linux-x64": 0.33.5 - "@img/sharp-linuxmusl-arm64": 0.33.5 - "@img/sharp-linuxmusl-x64": 0.33.5 - "@img/sharp-wasm32": 0.33.5 - "@img/sharp-win32-ia32": 0.33.5 - "@img/sharp-win32-x64": 0.33.5 - optional: true - - sharp@0.34.3: - dependencies: - color: 4.2.3 - detect-libc: 2.0.4 - semver: 7.7.2 - optionalDependencies: - "@img/sharp-darwin-arm64": 0.34.3 - "@img/sharp-darwin-x64": 0.34.3 - "@img/sharp-libvips-darwin-arm64": 1.2.0 - "@img/sharp-libvips-darwin-x64": 1.2.0 - "@img/sharp-libvips-linux-arm": 1.2.0 - "@img/sharp-libvips-linux-arm64": 1.2.0 - "@img/sharp-libvips-linux-ppc64": 1.2.0 - "@img/sharp-libvips-linux-s390x": 1.2.0 - "@img/sharp-libvips-linux-x64": 1.2.0 - "@img/sharp-libvips-linuxmusl-arm64": 1.2.0 - "@img/sharp-libvips-linuxmusl-x64": 1.2.0 - "@img/sharp-linux-arm": 0.34.3 - "@img/sharp-linux-arm64": 0.34.3 - "@img/sharp-linux-ppc64": 0.34.3 - "@img/sharp-linux-s390x": 0.34.3 - "@img/sharp-linux-x64": 0.34.3 - "@img/sharp-linuxmusl-arm64": 0.34.3 - "@img/sharp-linuxmusl-x64": 0.34.3 - "@img/sharp-wasm32": 0.34.3 - "@img/sharp-win32-arm64": 0.34.3 - "@img/sharp-win32-ia32": 0.34.3 - "@img/sharp-win32-x64": 0.34.3 + "@img/sharp-darwin-arm64": 0.34.5 + "@img/sharp-darwin-x64": 0.34.5 + "@img/sharp-libvips-darwin-arm64": 1.2.4 + "@img/sharp-libvips-darwin-x64": 1.2.4 + "@img/sharp-libvips-linux-arm": 1.2.4 + "@img/sharp-libvips-linux-arm64": 1.2.4 + "@img/sharp-libvips-linux-ppc64": 1.2.4 + "@img/sharp-libvips-linux-riscv64": 1.2.4 + "@img/sharp-libvips-linux-s390x": 1.2.4 + "@img/sharp-libvips-linux-x64": 1.2.4 + "@img/sharp-libvips-linuxmusl-arm64": 1.2.4 + "@img/sharp-libvips-linuxmusl-x64": 1.2.4 + "@img/sharp-linux-arm": 0.34.5 + "@img/sharp-linux-arm64": 0.34.5 + "@img/sharp-linux-ppc64": 0.34.5 + "@img/sharp-linux-riscv64": 0.34.5 + "@img/sharp-linux-s390x": 0.34.5 + "@img/sharp-linux-x64": 0.34.5 + "@img/sharp-linuxmusl-arm64": 0.34.5 + "@img/sharp-linuxmusl-x64": 0.34.5 + "@img/sharp-wasm32": 0.34.5 + "@img/sharp-win32-arm64": 0.34.5 + "@img/sharp-win32-ia32": 0.34.5 + "@img/sharp-win32-x64": 0.34.5 shiki@3.11.0: dependencies: @@ -5469,9 +5373,16 @@ snapshots: "@shikijs/vscode-textmate": 10.0.2 "@types/hast": 3.0.4 - simple-swizzle@0.2.2: + shiki@3.22.0: dependencies: - is-arrayish: 0.3.2 + "@shikijs/core": 3.22.0 + "@shikijs/engine-javascript": 3.22.0 + "@shikijs/engine-oniguruma": 3.22.0 + "@shikijs/langs": 3.22.0 + "@shikijs/themes": 3.22.0 + "@shikijs/types": 3.22.0 + "@shikijs/vscode-textmate": 10.0.2 + "@types/hast": 3.0.4 sisteransi@1.0.5: {} @@ -5484,6 +5395,8 @@ snapshots: smol-toml@1.4.2: {} + smol-toml@1.6.0: {} + source-map-js@1.2.1: {} source-map@0.7.6: {} @@ -5525,17 +5438,25 @@ snapshots: dependencies: inline-style-parser: 0.2.4 + svgo@4.0.0: + dependencies: + commander: 11.1.0 + css-select: 5.2.2 + css-tree: 3.1.0 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.4.1 + tiny-inflate@1.0.3: {} - tinyexec@0.3.2: {} + tinyexec@1.0.2: {} - tinyglobby@0.2.14: + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tr46@0.0.3: {} - trim-lines@3.0.1: {} trough@2.2.0: {} @@ -5544,7 +5465,8 @@ snapshots: optionalDependencies: typescript: 5.9.2 - tslib@2.8.1: {} + tslib@2.8.1: + optional: true type-fest@4.41.0: {} @@ -5552,22 +5474,14 @@ snapshots: ufo@1.6.1: {} + ufo@1.6.3: {} + ultrahtml@1.6.0: {} uncrypto@0.1.3: {} undici-types@7.10.0: {} - unicode-properties@1.4.1: - dependencies: - base64-js: 1.5.1 - unicode-trie: 2.0.0 - - unicode-trie@2.0.0: - dependencies: - pako: 0.2.9 - tiny-inflate: 1.0.3 - unified@11.0.5: dependencies: "@types/unist": 3.0.3 @@ -5578,10 +5492,10 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unifont@0.5.2: + unifont@0.7.3: dependencies: css-tree: 3.1.0 - ofetch: 1.4.1 + ofetch: 1.5.1 ohash: 2.0.11 unist-util-find-after@5.0.0: @@ -5624,22 +5538,27 @@ snapshots: "@types/unist": 3.0.3 unist-util-is: 6.0.0 + unist-util-visit-parents@6.0.2: + dependencies: + "@types/unist": 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit@5.0.0: dependencies: "@types/unist": 3.0.3 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - unstorage@1.17.0: + unstorage@1.17.4: dependencies: anymatch: 3.1.3 - chokidar: 4.0.3 + chokidar: 5.0.0 destr: 2.0.5 - h3: 1.15.4 - lru-cache: 10.4.3 + h3: 1.15.5 + lru-cache: 11.2.5 node-fetch-native: 1.6.7 - ofetch: 1.4.1 - ufo: 1.6.1 + ofetch: 1.5.1 + ufo: 1.6.3 util-deprecate@1.0.2: {} @@ -5658,31 +5577,24 @@ snapshots: "@types/unist": 3.0.3 vfile-message: 4.0.3 - vite@6.3.5(@types/node@24.3.0): + vite@6.4.1(@types/node@24.3.0): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 rollup: 4.48.1 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 optionalDependencies: "@types/node": 24.3.0 fsevents: 2.3.3 - vitefu@1.1.1(vite@6.3.5(@types/node@24.3.0)): + vitefu@1.1.1(vite@6.4.1(@types/node@24.3.0)): optionalDependencies: - vite: 6.3.5(@types/node@24.3.0) + vite: 6.4.1(@types/node@24.3.0) web-namespaces@2.0.1: {} - webidl-conversions@3.0.1: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which-pm-runs@1.1.0: {} widest-line@5.0.0: @@ -5707,7 +5619,7 @@ snapshots: yoctocolors@2.1.2: {} - zod-to-json-schema@3.24.6(zod@3.25.76): + zod-to-json-schema@3.25.1(zod@3.25.76): dependencies: zod: 3.25.76 diff --git a/docs/src/content/docs/en/getting-started/docker.mdx b/docs/src/content/docs/en/getting-started/docker.mdx index deb2d4b6..7ed5f0ba 100644 --- a/docs/src/content/docs/en/getting-started/docker.mdx +++ b/docs/src/content/docs/en/getting-started/docker.mdx @@ -1,19 +1,17 @@ --- -title: Official Docker images +title: Official Docker image --- -Castopod pushes 3 Docker images to the Docker Hub during its automated build -process: +Castopod publishes a single official Docker image to the Docker Hub as part of +its automated build process: -- [**`castopod/castopod`**](https://hub.docker.com/r/castopod/castopod): an all - in one castopod image using nginx unit -- [**`castopod/app`**](https://hub.docker.com/r/castopod/app): the app bundle - with all of Castopod dependencies -- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): an - Nginx configuration for Castopod +- [**`castopod/castopod`**](https://hub.docker.com/r/castopod/castopod): an + all-in-one image integrating [FrankenPHP](https://frankenphp.dev/) and + [Caddy](https://caddyserver.com/), optimized for production environments. + It is based on [serversideup/php](https://serversideup.net/open-source/docker-php/docs/image-variations/frankenphp). -Additionally, Castopod requires a MySQL-compatible database. A Redis database -can be added as a cache handler. +Castopod requires a MySQL-compatible database to function. Optionally, a Redis +service can be configured as the caching layer. ## Supported tags @@ -25,18 +23,16 @@ can be added as a cache handler. ## Example usage 1. Install [docker](https://docs.docker.com/get-docker/) and - [docker-compose](https://docs.docker.com/compose/install/) -2. Create a `docker-compose.yml` file with the following: + [docker compose](https://docs.docker.com/compose/install/) +2. Create a `compose.yml` file with the following: ```yml - version: "3.7" - services: castopod: image: castopod/castopod:latest container_name: "castopod" volumes: - - castopod-media:/var/www/castopod/public/media + - castopod-media:/app/public/media environment: MYSQL_DATABASE: castopod MYSQL_USER: castopod @@ -47,14 +43,28 @@ can be added as a cache handler. CP_REDIS_HOST: redis CP_REDIS_PASSWORD: changeme networks: - - castopod + - castopod-app - castopod-db ports: - - 8000:8000 + - "8080:8080" # HTTP + - "8443:8443" # HTTPS + - "8443:8443/udp" # HTTP/3 restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s # allows bootstrap/migrations time + depends_on: + mariadb: + condition: service_healthy + restart: true + redis: + condition: service_started mariadb: - image: mariadb:11.2 + image: mariadb:12.1 container_name: "castopod-mariadb" networks: - castopod-db @@ -66,15 +76,21 @@ can be added as a cache handler. MYSQL_USER: castopod MYSQL_PASSWORD: changeme restart: unless-stopped + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + start_period: 10s + interval: 10s + timeout: 5s + retries: 3 redis: - image: redis:7.2-alpine + image: redis:8.4-alpine container_name: "castopod-redis" command: --requirepass changeme volumes: - castopod-cache:/data networks: - - castopod + - castopod-app volumes: castopod-media: @@ -82,8 +98,9 @@ can be added as a cache handler. castopod-cache: networks: - castopod: + castopod-app: castopod-db: + internal: true ``` You have to adapt some variables to your needs (e.g. `CP_BASEURL`, @@ -97,61 +114,53 @@ can be added as a cache handler. ``` #castopod castopod.example.com { - reverse_proxy localhost:8000 + reverse_proxy localhost:8080 } ``` -4. Run `docker-compose up -d`, wait for it to initialize and head on to +4. Run `docker compose up -d`, wait for it to initialize and head on to `https://castopod.example.com/cp-install` to finish setting up Castopod! 5. You're all set, start podcasting! 🎙️🚀 ## Environment Variables -- **castopod/castopod** and **castopod/app** - - | Variable name | Type (`default`) | Default | - | ------------------------------------- | ----------------------- | ---------------- | - | **`CP_BASEURL`** | string | `undefined` | - | **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` | - | **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` | - | **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` | - | **`CP_ANALYTICS_SALT`** | string | `undefined` | - | **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` | - | **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` | - | **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` | - | **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` | - | **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` | - | **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` | - | **`CP_REDIS_HOST`** | ?string | `"localhost"` | - | **`CP_REDIS_PASSWORD`** | ?string | `null` | - | **`CP_REDIS_PORT`** | ?number | `6379` | - | **`CP_REDIS_DATABASE`** | ?number | `0` | - | **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` | - | **`CP_EMAIL_FROM`** | ?string | `undefined` | - | **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` | - | **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` | - | **`CP_EMAIL_SMTP_PORT`** | ?number | `25` | - | **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` | - | **`CP_ENABLE_2FA`** | ?boolean | `undefined` | - | **`CP_MEDIA_FILE_MANAGER`** | ?string | `undefined` | - | **`CP_MEDIA_S3_ENDPOINT`** | ?string | `undefined` | - | **`CP_MEDIA_S3_KEY`** | ?string | `undefined` | - | **`CP_MEDIA_S3_SECRET`** | ?string | `undefined` | - | **`CP_MEDIA_S3_REGION`** | ?string | `undefined` | - | **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` | - | **`CP_MEDIA_S3_PROTOCOL`** | ?number | `undefined` | - | **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `undefined` | - | **`CP_MEDIA_S3_KEY_PREFIX`** | ?string | `undefined` | - | **`CP_DISABLE_HTTPS`** | ?[`0` or `1`] | `undefined` | - | **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` | - | **`CP_PHP_MEMORY_LIMIT`** | ?number (with suffix) | `512M` | - | **`CP_TIMEOUT`** | ?number | `900` | - -- **castopod/web-server** - - | Variable name | Type | Default | - | ---------------------- | --------------------- | ------- | - | **`CP_APP_HOSTNAME`** | ?string | `"app"` | - | **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` | - | **`CP_TIMEOUT`** | ?number | `900` | +| Variable name | Type (`default`) | Default | +| ------------------------------------- | ----------------------- | ---------------- | +| **`CP_BASEURL`** | string | `undefined` | +| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` | +| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` | +| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` | +| **`CP_ANALYTICS_SALT`** | string | `undefined` | +| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` | +| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` | +| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` | +| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` | +| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` | +| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` | +| **`CP_REDIS_HOST`** | ?string | `"localhost"` | +| **`CP_REDIS_PASSWORD`** | ?string | `null` | +| **`CP_REDIS_PORT`** | ?number | `6379` | +| **`CP_REDIS_DATABASE`** | ?number | `0` | +| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` | +| **`CP_EMAIL_FROM`** | ?string | `undefined` | +| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` | +| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` | +| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` | +| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` | +| **`CP_ENABLE_2FA`** | ?boolean | `undefined` | +| **`CP_MEDIA_FILE_MANAGER`** | ?string | `undefined` | +| **`CP_MEDIA_S3_ENDPOINT`** | ?string | `undefined` | +| **`CP_MEDIA_S3_KEY`** | ?string | `undefined` | +| **`CP_MEDIA_S3_SECRET`** | ?string | `undefined` | +| **`CP_MEDIA_S3_REGION`** | ?string | `undefined` | +| **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` | +| **`CP_MEDIA_S3_PROTOCOL`** | ?number | `undefined` | +| **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `undefined` | +| **`CP_MEDIA_S3_KEY_PREFIX`** | ?string | `undefined` | +| **`CP_DISABLE_HTTPS`** | ?[`0` or `1`] | `undefined` | +| **`PHP_MEMORY_LIMIT`** | ?number (with suffix) | `512M` | +| **`PHP_UPLOAD_MAX_FILE_SIZE`** | ?number (with suffix) | `512M` | +| **`PHP_POST_MAX_SIZE`** | ?number (with suffix) | `512M` | +| **`PHP_MAX_EXECUTION_TIME`** | ?number | `300` | +| **`PHP_OPCACHE_ENABLE`** | ?[`0` or `1`] | `1` | diff --git a/package.json b/package.json index 3fc41a81..36d8728f 100644 --- a/package.json +++ b/package.json @@ -28,12 +28,12 @@ "dependencies": { "@amcharts/amcharts4": "^4.10.40", "@amcharts/amcharts4-geodata": "^4.1.31", - "@codemirror/commands": "^6.10.1", + "@codemirror/commands": "^6.10.2", "@codemirror/lang-xml": "^6.1.0", - "@codemirror/language": "^6.11.3", - "@codemirror/state": "^6.5.2", - "@codemirror/view": "^6.39.4", - "@floating-ui/dom": "^1.7.4", + "@codemirror/language": "^6.12.1", + "@codemirror/state": "^6.5.4", + "@codemirror/view": "^6.39.14", + "@floating-ui/dom": "^1.7.5", "@github/clipboard-copy-element": "^1.3.0", "@github/hotkey": "^3.1.1", "@github/markdown-toolbar-element": "^2.2.3", @@ -45,52 +45,52 @@ "flatpickr": "^4.6.13", "leaflet": "^1.9.4", "leaflet.markercluster": "^1.5.3", - "lit": "^3.3.1", - "marked": "^17.0.1", + "lit": "^3.3.2", + "marked": "^17.0.2", "wavesurfer.js": "^7.12.1", "xml-formatter": "^3.6.7" }, "devDependencies": { - "@commitlint/cli": "^20.2.0", - "@commitlint/config-conventional": "^20.2.0", - "@csstools/css-tokenizer": "^3.0.4", - "@eslint/js": "9.39.2", + "@commitlint/cli": "^20.4.1", + "@commitlint/config-conventional": "^20.4.1", + "@csstools/css-tokenizer": "^4.0.0", + "@eslint/js": "10.0.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", - "@semantic-release/gitlab": "^13.2.9", + "@semantic-release/gitlab": "^13.3.0", "@tailwindcss/forms": "^0.5.11", "@tailwindcss/typography": "^0.5.19", "@types/leaflet": "^1.9.21", - "@typescript-eslint/eslint-plugin": "^8.50.0", - "@typescript-eslint/parser": "^8.50.0", + "@typescript-eslint/eslint-plugin": "^8.55.0", + "@typescript-eslint/parser": "^8.55.0", "all-contributors-cli": "^6.26.1", "commitizen": "^4.3.1", "cross-env": "^10.1.0", "cssnano": "^7.1.2", "cz-conventional-changelog": "^3.3.0", - "eslint": "^9.39.2", + "eslint": "^10.0.0", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-prettier": "^5.5.4", - "globals": "^16.5.0", + "eslint-plugin-prettier": "^5.5.5", + "globals": "^17.3.0", "husky": "^9.1.7", "is-ci": "^4.1.0", "lint-staged": "^16.2.7", "postcss": "^8.5.6", "postcss-import": "^16.1.1", - "postcss-nesting": "^13.0.2", - "postcss-preset-env": "^10.5.0", + "postcss-nesting": "^14.0.0", + "postcss-preset-env": "^11.1.3", "postcss-reporter": "^7.1.0", - "prettier": "3.7.4", + "prettier": "3.8.1", "prettier-plugin-organize-imports": "^4.3.0", - "semantic-release": "^25.0.2", - "stylelint": "^16.26.1", - "stylelint-config-standard": "^39.0.1", + "semantic-release": "^25.0.3", + "stylelint": "^17.3.0", + "stylelint-config-standard": "^40.0.0", "svgo": "^4.0.0", "tailwindcss": "^3.4.19", "typescript": "~5.9.3", - "typescript-eslint": "^8.50.0", - "vite": "^7.3.0", + "typescript-eslint": "^8.55.0", + "vite": "^7.3.1", "vite-plugin-pwa": "^1.2.0", "workbox-build": "^7.4.0", "workbox-core": "^7.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f4b04e28..7ed8ffb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,23 +14,23 @@ importers: specifier: ^4.1.31 version: 4.1.31 "@codemirror/commands": - specifier: ^6.10.1 - version: 6.10.1 + specifier: ^6.10.2 + version: 6.10.2 "@codemirror/lang-xml": specifier: ^6.1.0 version: 6.1.0 "@codemirror/language": - specifier: ^6.11.3 - version: 6.11.3 + specifier: ^6.12.1 + version: 6.12.1 "@codemirror/state": - specifier: ^6.5.2 - version: 6.5.2 + specifier: ^6.5.4 + version: 6.5.4 "@codemirror/view": - specifier: ^6.39.4 - version: 6.39.4 + specifier: ^6.39.14 + version: 6.39.14 "@floating-ui/dom": - specifier: ^1.7.4 - version: 1.7.4 + specifier: ^1.7.5 + version: 1.7.5 "@github/clipboard-copy-element": specifier: ^1.3.0 version: 1.3.0 @@ -65,11 +65,11 @@ importers: specifier: ^1.5.3 version: 1.5.3(leaflet@1.9.4) lit: - specifier: ^3.3.1 - version: 3.3.1 + specifier: ^3.3.2 + version: 3.3.2 marked: - specifier: ^17.0.1 - version: 17.0.1 + specifier: ^17.0.2 + version: 17.0.2 wavesurfer.js: specifier: ^7.12.1 version: 7.12.1 @@ -78,29 +78,29 @@ importers: version: 3.6.7 devDependencies: "@commitlint/cli": - specifier: ^20.2.0 - version: 20.2.0(@types/node@24.3.0)(typescript@5.9.3) + specifier: ^20.4.1 + version: 20.4.1(@types/node@24.3.0)(typescript@5.9.3) "@commitlint/config-conventional": - specifier: ^20.2.0 - version: 20.2.0 + specifier: ^20.4.1 + version: 20.4.1 "@csstools/css-tokenizer": - specifier: ^3.0.4 - version: 3.0.4 + specifier: ^4.0.0 + version: 4.0.0 "@eslint/js": - specifier: 9.39.2 - version: 9.39.2 + specifier: 10.0.1 + version: 10.0.1(eslint@10.0.0(jiti@2.5.1)) "@semantic-release/changelog": specifier: ^6.0.3 - version: 6.0.3(semantic-release@25.0.2(typescript@5.9.3)) + version: 6.0.3(semantic-release@25.0.3(typescript@5.9.3)) "@semantic-release/exec": specifier: ^7.1.0 - version: 7.1.0(semantic-release@25.0.2(typescript@5.9.3)) + version: 7.1.0(semantic-release@25.0.3(typescript@5.9.3)) "@semantic-release/git": specifier: ^10.0.1 - version: 10.0.1(semantic-release@25.0.2(typescript@5.9.3)) + version: 10.0.1(semantic-release@25.0.3(typescript@5.9.3)) "@semantic-release/gitlab": - specifier: ^13.2.9 - version: 13.2.9(semantic-release@25.0.2(typescript@5.9.3)) + specifier: ^13.3.0 + version: 13.3.0(semantic-release@25.0.3(typescript@5.9.3)) "@tailwindcss/forms": specifier: ^0.5.11 version: 0.5.11(tailwindcss@3.4.19) @@ -111,11 +111,11 @@ importers: specifier: ^1.9.21 version: 1.9.21 "@typescript-eslint/eslint-plugin": - specifier: ^8.50.0 - version: 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) + specifier: ^8.55.0 + version: 8.55.0(@typescript-eslint/parser@8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) "@typescript-eslint/parser": - specifier: ^8.50.0 - version: 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) + specifier: ^8.55.0 + version: 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) all-contributors-cli: specifier: ^6.26.1 version: 6.26.1 @@ -132,17 +132,17 @@ importers: specifier: ^3.3.0 version: 3.3.0(@types/node@24.3.0)(typescript@5.9.3) eslint: - specifier: ^9.39.2 - version: 9.39.2(jiti@2.5.1) + specifier: ^10.0.0 + version: 10.0.0(jiti@2.5.1) eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@9.39.2(jiti@2.5.1)) + version: 10.1.8(eslint@10.0.0(jiti@2.5.1)) eslint-plugin-prettier: - specifier: ^5.5.4 - version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.5.1)))(eslint@9.39.2(jiti@2.5.1))(prettier@3.7.4) + specifier: ^5.5.5 + version: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.5.1)))(eslint@10.0.0(jiti@2.5.1))(prettier@3.8.1) globals: - specifier: ^16.5.0 - version: 16.5.0 + specifier: ^17.3.0 + version: 17.3.0 husky: specifier: ^9.1.7 version: 9.1.7 @@ -159,29 +159,29 @@ importers: specifier: ^16.1.1 version: 16.1.1(postcss@8.5.6) postcss-nesting: - specifier: ^13.0.2 - version: 13.0.2(postcss@8.5.6) + specifier: ^14.0.0 + version: 14.0.0(postcss@8.5.6) postcss-preset-env: - specifier: ^10.5.0 - version: 10.5.0(postcss@8.5.6) + specifier: ^11.1.3 + version: 11.1.3(postcss@8.5.6) postcss-reporter: specifier: ^7.1.0 version: 7.1.0(postcss@8.5.6) prettier: - specifier: 3.7.4 - version: 3.7.4 + specifier: 3.8.1 + version: 3.8.1 prettier-plugin-organize-imports: specifier: ^4.3.0 - version: 4.3.0(prettier@3.7.4)(typescript@5.9.3) + version: 4.3.0(prettier@3.8.1)(typescript@5.9.3) semantic-release: - specifier: ^25.0.2 - version: 25.0.2(typescript@5.9.3) + specifier: ^25.0.3 + version: 25.0.3(typescript@5.9.3) stylelint: - specifier: ^16.26.1 - version: 16.26.1(typescript@5.9.3) + specifier: ^17.3.0 + version: 17.3.0(typescript@5.9.3) stylelint-config-standard: - specifier: ^39.0.1 - version: 39.0.1(stylelint@16.26.1(typescript@5.9.3)) + specifier: ^40.0.0 + version: 40.0.0(stylelint@17.3.0(typescript@5.9.3)) svgo: specifier: ^4.0.0 version: 4.0.0 @@ -192,14 +192,14 @@ importers: specifier: ~5.9.3 version: 5.9.3 typescript-eslint: - specifier: ^8.50.0 - version: 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) + specifier: ^8.55.0 + version: 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) vite: - specifier: ^7.3.0 - version: 7.3.0(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) + specifier: ^7.3.1 + version: 7.3.1(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) vite-plugin-pwa: specifier: ^1.2.0 - version: 1.2.0(vite@7.3.0(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.4.0)(workbox-window@7.4.0) + version: 1.2.0(vite@7.3.1(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.4.0)(workbox-window@7.4.0) workbox-build: specifier: ^7.4.0 version: 7.4.0 @@ -1038,16 +1038,16 @@ packages: } engines: { node: ">=6.9.0" } - "@cacheable/memory@2.0.6": + "@cacheable/memory@2.0.7": resolution: { - integrity: sha512-7e8SScMocHxcAb8YhtkbMhGG+EKLRIficb1F5sjvhSYsWTZGxvg4KIDp8kgxnV2PUJ3ddPe6J9QESjKvBWRDkg==, + integrity: sha512-RbxnxAMf89Tp1dLhXMS7ceft/PGsDl1Ip7T20z5nZ+pwIAsQ1p2izPjVG69oCLv/jfQ7HDPHTWK0c9rcAWXN3A==, } - "@cacheable/utils@2.3.2": + "@cacheable/utils@2.3.4": resolution: { - integrity: sha512-8kGE2P+HjfY8FglaOiW+y8qxcaQAfAhVML+i66XJR3YX5FtyDqn6Txctr3K2FrbxLKixRRYYBWMbuGciOhYNDg==, + integrity: sha512-knwKUJEYgIfwShABS1BX6JyJJTglAFcEU7EXqzTdiGCXur4voqkiJkdgZIQtWNFhynzDWERcTYv/sETMu3uJWA==, } "@codemirror/autocomplete@6.18.6": @@ -1056,10 +1056,10 @@ packages: integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==, } - "@codemirror/commands@6.10.1": + "@codemirror/commands@6.10.2": resolution: { - integrity: sha512-uWDWFypNdQmz2y1LaNJzK7fL7TYKLeUAU0npEC685OKTF3KcQ2Vu3klIM78D7I6wGhktme0lh3CuQLv0ZCrD9Q==, + integrity: sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==, } "@codemirror/lang-xml@6.1.0": @@ -1068,10 +1068,10 @@ packages: integrity: sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==, } - "@codemirror/language@6.11.3": + "@codemirror/language@6.12.1": resolution: { - integrity: sha512-9HBM2XnwDj7fnu0551HkGdrUrrqmYq/WC5iv6nbY2WdicXdGbhR/gfbZOH73Aqj4351alY1+aoG9rCNfiwS1RA==, + integrity: sha512-Fa6xkSiuGKc8XC8Cn96T+TQHYj4ZZ7RdFmXA3i9xe/3hLHfwPZdM+dqfX0Cp0zQklBKhVD8Yzc8LS45rkqcwpQ==, } "@codemirror/lint@6.8.5": @@ -1086,16 +1086,16 @@ packages: integrity: sha512-KmWepDE6jUdL6n8cAAqIpRmLPBZ5ZKnicE8oGU/s3QrAVID+0VhLFrzUucVKHG5035/BSykhExDL/Xm7dHthiA==, } - "@codemirror/state@6.5.2": + "@codemirror/state@6.5.4": resolution: { - integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==, + integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==, } - "@codemirror/view@6.39.4": + "@codemirror/view@6.39.14": resolution: { - integrity: sha512-xMF6OfEAUVY5Waega4juo1QGACfNkNF+aJLqpd8oUJz96ms2zbfQ9Gh35/tI3y8akEV31FruKfj7hBnIU/nkqA==, + integrity: sha512-WJcvgHm/6Q7dvGT0YFv/6PSkoc36QlR0VCESS6x9tGsnF1lWLmmYxOgX3HH6v8fo6AvSLgpcs+H0Olre6MKXlg==, } "@colors/colors@1.5.0": @@ -1105,18 +1105,18 @@ packages: } engines: { node: ">=0.1.90" } - "@commitlint/cli@20.2.0": + "@commitlint/cli@20.4.1": resolution: { - integrity: sha512-l37HkrPZ2DZy26rKiTUvdq/LZtlMcxz+PeLv9dzK9NzoFGuJdOQyYU7IEkEQj0pO++uYue89wzOpZ0hcTtoqUA==, + integrity: sha512-uuFKKpc7OtQM+6SRqT+a4kV818o1pS+uvv/gsRhyX7g4x495jg+Q7P0+O9VNGyLXBYP0syksS7gMRDJKcekr6A==, } engines: { node: ">=v18" } hasBin: true - "@commitlint/config-conventional@20.2.0": + "@commitlint/config-conventional@20.4.1": resolution: { - integrity: sha512-MsRac+yNIbTB4Q/psstKK4/ciVzACHicSwz+04Sxve+4DW+PiJeTjU0JnS4m/oOnulrXYN+yBPlKaBSGemRfgQ==, + integrity: sha512-0YUvIeBtpi86XriqrR+TCULVFiyYTIOEPjK7tTRMxjcBm1qlzb+kz7IF2WxL6Fq5DaundG8VO37BNgMkMTBwqA==, } engines: { node: ">=v18" } @@ -1127,17 +1127,17 @@ packages: } engines: { node: ">=v18" } - "@commitlint/config-validator@20.2.0": + "@commitlint/config-validator@20.4.0": resolution: { - integrity: sha512-SQCBGsL9MFk8utWNSthdxd9iOD1pIVZSHxGBwYIGfd67RTjxqzFOSAYeQVXOu3IxRC3YrTOH37ThnTLjUlyF2w==, + integrity: sha512-zShmKTF+sqyNOfAE0vKcqnpvVpG0YX8F9G/ZIQHI2CoKyK+PSdladXMSns400aZ5/QZs+0fN75B//3Q5CHw++w==, } engines: { node: ">=v18" } - "@commitlint/ensure@20.2.0": + "@commitlint/ensure@20.4.1": resolution: { - integrity: sha512-+8TgIGv89rOWyt3eC6lcR1H7hqChAKkpawytlq9P1i/HYugFRVqgoKJ8dhd89fMnlrQTLjA5E97/4sF09QwdoA==, + integrity: sha512-WLQqaFx1pBooiVvBrA1YfJNFqZF8wS/YGOtr5RzApDbV9tQ52qT5VkTsY65hFTnXhW8PcDfZLaknfJTmPejmlw==, } engines: { node: ">=v18" } @@ -1155,24 +1155,24 @@ packages: } engines: { node: ">=v18" } - "@commitlint/format@20.2.0": + "@commitlint/format@20.4.0": resolution: { - integrity: sha512-PhNoLNhxpfIBlW/i90uZ3yG3hwSSYx7n4d9Yc+2FAorAHS0D9btYRK4ZZXX+Gm3W5tDtu911ow/eWRfcRVgNWg==, + integrity: sha512-i3ki3WR0rgolFVX6r64poBHXM1t8qlFel1G1eCBvVgntE3fCJitmzSvH5JD/KVJN/snz6TfaX2CLdON7+s4WVQ==, } engines: { node: ">=v18" } - "@commitlint/is-ignored@20.2.0": + "@commitlint/is-ignored@20.4.1": resolution: { - integrity: sha512-Lz0OGeZCo/QHUDLx5LmZc0EocwanneYJUM8z0bfWexArk62HKMLfLIodwXuKTO5y0s6ddXaTexrYHs7v96EOmw==, + integrity: sha512-In5EO4JR1lNsAv1oOBBO24V9ND1IqdAJDKZiEpdfjDl2HMasAcT7oA+5BKONv1pRoLG380DGPE2W2RIcUwdgLA==, } engines: { node: ">=v18" } - "@commitlint/lint@20.2.0": + "@commitlint/lint@20.4.1": resolution: { - integrity: sha512-cQEEB+jlmyQbyiji/kmh8pUJSDeUmPiWq23kFV0EtW3eM+uAaMLMuoTMajbrtWYWQpPzOMDjYltQ8jxHeHgITg==, + integrity: sha512-g94LrGl/c6UhuhDQqNqU232aslLEN2vzc7MPfQTHzwzM4GHNnEAwVWWnh0zX8S5YXecuLXDwbCsoGwmpAgPWKA==, } engines: { node: ">=v18" } @@ -1183,31 +1183,31 @@ packages: } engines: { node: ">=v18" } - "@commitlint/load@20.2.0": + "@commitlint/load@20.4.0": resolution: { - integrity: sha512-iAK2GaBM8sPFTSwtagI67HrLKHIUxQc2BgpgNc/UMNme6LfmtHpIxQoN1TbP+X1iz58jq32HL1GbrFTCzcMi6g==, + integrity: sha512-Dauup/GfjwffBXRJUdlX/YRKfSVXsXZLnINXKz0VZkXdKDcaEILAi9oflHGbfydonJnJAbXEbF3nXPm9rm3G6A==, } engines: { node: ">=v18" } - "@commitlint/message@20.0.0": + "@commitlint/message@20.4.0": resolution: { - integrity: sha512-gLX4YmKnZqSwkmSB9OckQUrI5VyXEYiv3J5JKZRxIp8jOQsWjZgHSG/OgEfMQBK9ibdclEdAyIPYggwXoFGXjQ==, + integrity: sha512-B5lGtvHgiLAIsK5nLINzVW0bN5hXv+EW35sKhYHE8F7V9Uz1fR4tx3wt7mobA5UNhZKUNgB/+ldVMQE6IHZRyA==, } engines: { node: ">=v18" } - "@commitlint/parse@20.2.0": + "@commitlint/parse@20.4.1": resolution: { - integrity: sha512-LXStagGU1ivh07X7sM+hnEr4BvzFYn1iBJ6DRg2QsIN8lBfSzyvkUcVCDwok9Ia4PWiEgei5HQjju6xfJ1YaSQ==, + integrity: sha512-XNtZjeRcFuAfUnhYrCY02+mpxwY4OmnvD3ETbVPs25xJFFz1nRo/25nHj+5eM+zTeRFvWFwD4GXWU2JEtoK1/w==, } engines: { node: ">=v18" } - "@commitlint/read@20.2.0": + "@commitlint/read@20.4.0": resolution: { - integrity: sha512-+SjF9mxm5JCbe+8grOpXCXMMRzAnE0WWijhhtasdrpJoAFJYd5UgRTj/oCq5W3HJTwbvTOsijEJ0SUGImECD7Q==, + integrity: sha512-QfpFn6/I240ySEGv7YWqho4vxqtPpx40FS7kZZDjUJ+eHxu3azfhy7fFb5XzfTqVNp1hNoI3tEmiEPbDB44+cg==, } engines: { node: ">=v18" } @@ -1218,17 +1218,17 @@ packages: } engines: { node: ">=v18" } - "@commitlint/resolve-extends@20.2.0": + "@commitlint/resolve-extends@20.4.0": resolution: { - integrity: sha512-KVoLDi9BEuqeq+G0wRABn4azLRiCC22/YHR2aCquwx6bzCHAIN8hMt3Nuf1VFxq/c8ai6s8qBxE8+ZD4HeFTlQ==, + integrity: sha512-ay1KM8q0t+/OnlpqXJ+7gEFQNlUtSU5Gxr8GEwnVf2TPN3+ywc5DzL3JCxmpucqxfHBTFwfRMXxPRRnR5Ki20g==, } engines: { node: ">=v18" } - "@commitlint/rules@20.2.0": + "@commitlint/rules@20.4.1": resolution: { - integrity: sha512-27rHGpeAjnYl/A+qUUiYDa7Yn1WIjof/dFJjYW4gA1Ug+LUGa1P0AexzGZ5NBxTbAlmDgaxSZkLLxtLVqtg8PQ==, + integrity: sha512-WtqypKEPbQEuJwJS4aKs0OoJRBKz1HXPBC9wRtzVNH68FLhPWzxXlF09hpUXM9zdYTpm4vAdoTGkWiBgQ/vL0g==, } engines: { node: ">=v18" } @@ -1239,10 +1239,10 @@ packages: } engines: { node: ">=v18" } - "@commitlint/top-level@20.0.0": + "@commitlint/top-level@20.4.0": resolution: { - integrity: sha512-drXaPSP2EcopukrUXvUXmsQMu3Ey/FuJDc/5oiW4heoCfoE5BdLQyuc7veGeE3aoQaTVqZnh4D5WTWe2vefYKg==, + integrity: sha512-NDzq8Q6jmFaIIBC/GG6n1OQEaHdmaAAYdrZRlMgW6glYWGZ+IeuXmiymDvQNXPc82mVxq2KiE3RVpcs+1OeDeA==, } engines: { node: ">=v18" } @@ -1253,457 +1253,487 @@ packages: } engines: { node: ">=v18" } - "@commitlint/types@20.2.0": + "@commitlint/types@20.4.0": resolution: { - integrity: sha512-KTy0OqRDLR5y/zZMnizyx09z/rPlPC/zKhYgH8o/q6PuAjoQAKlRfY4zzv0M64yybQ//6//4H1n14pxaLZfUnA==, + integrity: sha512-aO5l99BQJ0X34ft8b0h7QFkQlqxC6e7ZPVmBKz13xM9O8obDaM1Cld4sQlJDXXU/VFuUzQ30mVtHjVz74TuStw==, } engines: { node: ">=v18" } - "@csstools/cascade-layer-name-parser@2.0.5": + "@csstools/cascade-layer-name-parser@3.0.0": resolution: { - integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==, + integrity: sha512-/3iksyevwRfSJx5yH0RkcrcYXwuhMQx3Juqf40t97PeEy2/Mz2TItZ/z/216qpe4GgOyFBP8MKIwVvytzHmfIQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.5 - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 - "@csstools/color-helpers@5.1.0": + "@csstools/color-helpers@6.0.1": resolution: { - integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==, + integrity: sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } - "@csstools/css-calc@2.1.4": + "@csstools/css-calc@3.0.0": resolution: { - integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==, + integrity: sha512-q4d82GTl8BIlh/dTnVsWmxnbWJeb3kiU8eUH71UxlxnS+WIaALmtzTL8gR15PkYOexMQYVk0CO4qIG93C1IvPA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.5 - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 - "@csstools/css-color-parser@3.1.0": + "@csstools/css-calc@3.1.1": resolution: { - integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==, + integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.5 - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 - "@csstools/css-parser-algorithms@3.0.5": + "@csstools/css-color-parser@4.0.1": resolution: { - integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==, + integrity: sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 - "@csstools/css-syntax-patches-for-csstree@1.0.21": + "@csstools/css-parser-algorithms@4.0.0": resolution: { - integrity: sha512-plP8N8zKfEZ26figX4Nvajx8DuzfuRpLTqglQ5d0chfnt35Qt3X+m6ASZ+rG0D0kxe/upDVNwSIVJP5n4FuNfw==, + integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==, } - engines: { node: ">=18" } - - "@csstools/css-tokenizer@3.0.4": - resolution: - { - integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==, - } - engines: { node: ">=18" } - - "@csstools/media-query-list-parser@4.0.3": - resolution: - { - integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==, - } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.5 - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-tokenizer": ^4.0.0 - "@csstools/postcss-alpha-function@1.0.1": + "@csstools/css-syntax-patches-for-csstree@1.0.26": resolution: { - integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==, + integrity: sha512-6boXK0KkzT5u5xOgF6TKB+CLq9SOpEGmkZw0g5n9/7yg85wab3UzSxB8TxhLJ31L4SGJ6BCFRw/iftTha1CJXA==, } - engines: { node: ">=18" } + + "@csstools/css-tokenizer@4.0.0": + resolution: + { + integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==, + } + engines: { node: ">=20.19.0" } + + "@csstools/media-query-list-parser@5.0.0": + resolution: + { + integrity: sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==, + } + engines: { node: ">=20.19.0" } + peerDependencies: + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 + + "@csstools/postcss-alpha-function@2.0.2": + resolution: + { + integrity: sha512-EXdJC5fds0h1KqoioUBkcYPZvcNKR64jrGkbqlDNbMU3FP1MzLEr/QJR8bj/bu53TJFIgkc9WvKcpbwVqZ4WPg==, + } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-cascade-layers@5.0.2": + "@csstools/postcss-cascade-layers@6.0.0": resolution: { - integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==, + integrity: sha512-WhsECqmrEZQGqaPlBA7JkmF/CJ2/+wetL4fkL9sOPccKd32PQ1qToFM6gqSI5rkpmYqubvbxjEJhyMTHYK0vZQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-color-function-display-p3-linear@1.0.1": + "@csstools/postcss-color-function-display-p3-linear@2.0.1": resolution: { - integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==, + integrity: sha512-blnzzMkMswoagp1u3JS1OiiTuQCW1F+lQEtlxu2BXhTUmEeKHhSgrrAceF7s4bwZOwKYbkxuw/FC9Ni/zxB7Xw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-color-function@4.0.12": + "@csstools/postcss-color-function@5.0.1": resolution: { - integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==, + integrity: sha512-SNU4o63+oZpB7ufkTmj3FholvMtJwuyIWqTOVOxnZjNDFEg1hwdbnPjoytZVgKRQGkvkHdAS0uZWn0zH+ZwXCQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-color-mix-function@3.0.12": + "@csstools/postcss-color-mix-function@4.0.1": resolution: { - integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==, + integrity: sha512-B9XBCd8cmHVwnc5YTn2YVXOlNMTNwuPIpJQ87665vaNdfNorVWz8JhAAv7Vq0v66TA6htE7+QW0OidL/QV0tiA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-color-mix-variadic-function-arguments@1.0.2": + "@csstools/postcss-color-mix-variadic-function-arguments@2.0.1": resolution: { - integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==, + integrity: sha512-PV5nv9EHsEsvC5GlVqAHa1PznP/qZxFAIABImrkGJUbSoFUTwpnPch/dYSKw52CQ0aNnwCqMHoM29wDwmpVLqw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-content-alt-text@2.0.8": + "@csstools/postcss-content-alt-text@3.0.0": resolution: { - integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==, + integrity: sha512-OHa+4aCcrJtHpPWB3zptScHwpS1TUbeLR4uO0ntIz0Su/zw9SoWkVu+tDMSySSAsNtNSI3kut4fTliFwIsrHxA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-contrast-color-function@2.0.12": + "@csstools/postcss-contrast-color-function@3.0.1": resolution: { - integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==, + integrity: sha512-Zy2gyAPsUyoAUkmBjLbWcXJhglM+toBRpNegyJc/LTHpSpIbMKVmByGQ+VSw01E1Pov8Dk/fgEs9hd11xtGC8g==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-exponential-functions@2.0.9": + "@csstools/postcss-exponential-functions@3.0.0": resolution: { - integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==, + integrity: sha512-KCtnlZw1VrDCAbYxE44rUHONYAkjhh0/iS5T3L2K5OHuvoSEvxDjJO82pRwTmsRxVtSiC+syPjx2k2xsqHOM7w==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-font-format-keywords@4.0.0": + "@csstools/postcss-font-format-keywords@5.0.0": resolution: { - integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==, + integrity: sha512-M1EjCe/J3u8fFhOZgRci74cQhJ7R0UFBX6T+WqoEvjrr8hVfMiV+HTYrzxLY5OW8YllvXYr5Q5t5OvJbsUSeDg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-gamut-mapping@2.0.11": + "@csstools/postcss-gamut-mapping@3.0.1": resolution: { - integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==, + integrity: sha512-0S7D+gArVXsgRDxjoNv8g2QlaIi/SegqdlTMgVwowaPSyxaZsVnwrhShvmlpoLOVHmpJfHKGiXzn1Hc1BcZCzQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-gradients-interpolation-method@5.0.12": + "@csstools/postcss-gradients-interpolation-method@6.0.1": resolution: { - integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==, + integrity: sha512-Y5dxOstuUCdmU1tuEB/EgKxDw+/DAZes4gQeitb/H0S5khmjT24CfbVa/l2ZelNCEEq9KjxqO2cjwDV2vqj62w==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-hwb-function@4.0.12": + "@csstools/postcss-hwb-function@5.0.1": resolution: { - integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==, + integrity: sha512-9f8TA/B8iEpzF0y4Z6qPVfP9nMp2ti10OFbtyDtoBz3+eK0KPV4CCCjTwYIpPRopLgctFZt7xqmOxA7JgAJEug==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-ic-unit@4.0.4": + "@csstools/postcss-ic-unit@5.0.0": resolution: { - integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==, + integrity: sha512-/ws5d6c4uKqfM9zIL3ugcGI+3fvZEOOkJHNzAyTAGJIdZ+aSL9BVPNlHGV4QzmL0vqBSCOdU3+rhcMEj3+KzYw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-initial@2.0.1": + "@csstools/postcss-initial@3.0.0": resolution: { - integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==, + integrity: sha512-UVUrFmrTQyLomVepnjWlbBg7GoscLmXLwYFyjbcEnmpeGW7wde6lNpx5eM3eVwZI2M+7hCE3ykYnAsEPLcLa+Q==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-is-pseudo-class@5.0.3": + "@csstools/postcss-is-pseudo-class@6.0.0": resolution: { - integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==, + integrity: sha512-1Hdy/ykg9RDo8vU8RiM2o+RaXO39WpFPaIkHxlAEJFofle/lc33tdQMKhBk3jR/Fe+uZNLOs3HlowFafyFptVw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-light-dark-function@2.0.11": + "@csstools/postcss-light-dark-function@3.0.0": resolution: { - integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==, + integrity: sha512-s++V5/hYazeRUCYIn2lsBVzUsxdeC46gtwpgW6lu5U/GlPOS5UTDT14kkEyPgXmFbCvaWLREqV7YTMJq1K3G6w==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-logical-float-and-clear@3.0.0": + "@csstools/postcss-logical-float-and-clear@4.0.0": resolution: { - integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==, + integrity: sha512-NGzdIRVj/VxOa/TjVdkHeyiJoDihONV0+uB0csUdgWbFFr8xndtfqK8iIGP9IKJzco+w0hvBF2SSk2sDSTAnOQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-logical-overflow@2.0.0": + "@csstools/postcss-logical-overflow@3.0.0": resolution: { - integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==, + integrity: sha512-5cRg93QXVskM0MNepHpPcL0WLSf5Hncky0DrFDQY/4ozbH5lH7SX5ejayVpNTGSX7IpOvu7ykQDLOdMMGYzwpA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-logical-overscroll-behavior@2.0.0": + "@csstools/postcss-logical-overscroll-behavior@3.0.0": resolution: { - integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==, + integrity: sha512-82Jnl/5Wi5jb19nQE1XlBHrZcNL3PzOgcj268cDkfwf+xi10HBqufGo1Unwf5n8bbbEFhEKgyQW+vFsc9iY1jw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-logical-resize@3.0.0": + "@csstools/postcss-logical-resize@4.0.0": resolution: { - integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==, + integrity: sha512-L0T3q0gei/tGetCGZU0c7VN77VTivRpz1YZRNxjXYmW+85PKeI6U9YnSvDqLU2vBT2uN4kLEzfgZ0ThIZpN18A==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-logical-viewport-units@3.0.4": + "@csstools/postcss-logical-viewport-units@4.0.0": resolution: { - integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==, + integrity: sha512-TA3AqVN/1IH3dKRC2UUWvprvwyOs2IeD7FDZk5Hz20w4q33yIuSg0i0gjyTUkcn90g8A4n7QpyZ2AgBrnYPnnA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-media-minmax@2.0.9": + "@csstools/postcss-media-minmax@3.0.0": resolution: { - integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==, + integrity: sha512-42szvyZ/oqG7NSvBQOGq1IaJaHR6mr/iXqqjW8/JuIajIHRs9HcJR5ExC4vbyCqk+fr7/DIOhm5ZrELBytLDsw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5": + "@csstools/postcss-media-queries-aspect-ratio-number-values@4.0.0": resolution: { - integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==, + integrity: sha512-FDdC3lbrj8Vr0SkGIcSLTcRB7ApG6nlJFxOxkEF2C5hIZC1jtgjISFSGn/WjFdVkn8Dqe+Vx9QXI3axS2w1XHw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-nested-calc@4.0.0": + "@csstools/postcss-mixins@1.0.0": resolution: { - integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==, + integrity: sha512-rz6qjT2w9L3k65jGc2dX+3oGiSrYQ70EZPDrINSmSVoVys7lLBFH0tvEa8DW2sr9cbRVD/W+1sy8+7bfu0JUfg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-normalize-display-values@4.0.0": + "@csstools/postcss-nested-calc@5.0.0": resolution: { - integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==, + integrity: sha512-aPSw8P60e/i9BEfugauhikBqgjiwXcw3I9o4vXs+hktl4NSTgZRI0QHimxk9mst8N01A2TKDBxOln3mssRxiHQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-oklab-function@4.0.12": + "@csstools/postcss-normalize-display-values@5.0.1": resolution: { - integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==, + integrity: sha512-FcbEmoxDEGYvm2W3rQzVzcuo66+dDJjzzVDs+QwRmZLHYofGmMGwIKPqzF86/YW+euMDa7sh1xjWDvz/fzByZQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-position-area-property@1.0.0": + "@csstools/postcss-oklab-function@5.0.1": resolution: { - integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==, + integrity: sha512-Ql+X4zu29ITihxHKcCFEU84ww+Nkv44M2s0fT7Nv4iQYlQ4+liF6v9RL0ezeogeiLRNLLC6yh0ay1PHpmaNIgQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-progressive-custom-properties@4.2.1": + "@csstools/postcss-position-area-property@2.0.0": resolution: { - integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==, + integrity: sha512-TeEfzsJGB23Syv7yCm8AHCD2XTFujdjr9YYu9ebH64vnfCEvY4BG319jXAYSlNlf3Yc9PNJ6WnkDkUF5XVgSKQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-random-function@2.0.1": + "@csstools/postcss-progressive-custom-properties@5.0.0": resolution: { - integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==, + integrity: sha512-NsJoZ89rxmDrUsITf8QIk5w+lQZQ8Xw5K6cLFG+cfiffsLYHb3zcbOOrHLetGl1WIhjWWQ4Cr8MMrg46Q+oACg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-relative-color-syntax@3.0.12": + "@csstools/postcss-property-rule-prelude-list@2.0.0": resolution: { - integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==, + integrity: sha512-qcMAkc9AhpzHgmQCD8hoJgGYifcOAxd1exXjjxilMM6euwRE619xDa4UsKBCv/v4g+sS63sd6c29LPM8s2ylSQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-scope-pseudo-class@4.0.1": + "@csstools/postcss-random-function@3.0.0": resolution: { - integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==, + integrity: sha512-H/Zt5o9NAd8mowq3XRy8uU19wOEe8sbKyKOKxrzOdG0rz2maA4fLcXc9MQucdm3s4zMDfVJtCqvwrLP7lKWybA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-sign-functions@1.1.4": + "@csstools/postcss-relative-color-syntax@4.0.1": resolution: { - integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==, + integrity: sha512-zRLO9xMGtCCT0FTpTsaGI6cmdzJKbwWjg92AuczlSDuriEAPEJL+ZJ4jDyw51p23DfoAFgK8soB/LyoY1kFOLQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-stepped-value-functions@4.0.9": + "@csstools/postcss-scope-pseudo-class@5.0.0": resolution: { - integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==, + integrity: sha512-kBrBFJcAji3MSHS4qQIihPvJfJC5xCabXLbejqDMiQi+86HD4eMBiTayAo46Urg7tlEmZZQFymFiJt+GH6nvXw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-system-ui-font-family@1.0.0": + "@csstools/postcss-sign-functions@2.0.0": resolution: { - integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==, + integrity: sha512-32Bw7++8ToSLMEOSJUuxJsAJJdsIfgeD1dYPKRCk9/fTciVZ8MjkPXypwiXIo7xIJk0h5CJz6QUkDoc6dcAJ7Q==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-text-decoration-shorthand@4.0.3": + "@csstools/postcss-stepped-value-functions@5.0.0": resolution: { - integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==, + integrity: sha512-NueCSNbaq7QtAj6QwseMqOlM3C8nN2GWaPwd2Uw+IOYAbGvO/84BxUtNeZljeOmqJX61hwSNhLfwmgJXgY0W5A==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-trigonometric-functions@4.0.9": + "@csstools/postcss-syntax-descriptor-syntax-production@2.0.0": resolution: { - integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==, + integrity: sha512-elYcbdiBXAkPqvojB9kIBRuHY6htUhjSITtFQ+XiXnt6SvZCbNGxQmaaw6uZ7SPHu/+i/XVjzIt09/1k3SIerQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-unset-value@4.0.0": + "@csstools/postcss-system-ui-font-family@2.0.0": resolution: { - integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==, + integrity: sha512-FyGZCgchFImFyiHS2x3rD5trAqatf/x23veBLTIgbaqyFfna6RNBD+Qf8HRSjt6HGMXOLhAjxJ3OoZg0bbn7Qw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@csstools/selector-resolve-nested@3.1.0": + "@csstools/postcss-text-decoration-shorthand@5.0.2": resolution: { - integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==, + integrity: sha512-0VUTt79lfQ2LGQLfyOBeqpinDLzOf3w+tlA1Re/KjSOc86H6tRz6TeXbISrBSJlfM1fYKNmBNw+ON8Ovy6aNeg==, } - engines: { node: ">=18" } - peerDependencies: - postcss-selector-parser: ^7.0.0 - - "@csstools/selector-specificity@5.0.0": - resolution: - { - integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==, - } - engines: { node: ">=18" } - peerDependencies: - postcss-selector-parser: ^7.0.0 - - "@csstools/utilities@2.0.0": - resolution: - { - integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==, - } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - "@dual-bundle/import-meta-resolve@4.2.1": + "@csstools/postcss-trigonometric-functions@5.0.0": resolution: { - integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==, + integrity: sha512-isjkD3l1MVjanGuaS7RIYP/9txZKbZ8eQPaUHoxEWmySm3k6KutSepzPINL6MXyyi0ZUijZcktA++/L66IK71A==, } + engines: { node: ">=20.19.0" } + peerDependencies: + postcss: ^8.4 + + "@csstools/postcss-unset-value@5.0.0": + resolution: + { + integrity: sha512-EoO54sS2KCIfesvHyFYAW99RtzwHdgaJzhl7cqKZSaMYKZv3fXSOehDjAQx8WZBKn1JrMd7xJJI1T1BxPF7/jA==, + } + engines: { node: ">=20.19.0" } + peerDependencies: + postcss: ^8.4 + + "@csstools/selector-resolve-nested@4.0.0": + resolution: + { + integrity: sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==, + } + engines: { node: ">=20.19.0" } + peerDependencies: + postcss-selector-parser: ^7.1.1 + + "@csstools/selector-specificity@6.0.0": + resolution: + { + integrity: sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==, + } + engines: { node: ">=20.19.0" } + peerDependencies: + postcss-selector-parser: ^7.1.1 + + "@csstools/utilities@3.0.0": + resolution: + { + integrity: sha512-etDqA/4jYvOGBM6yfKCOsEXfH96BKztZdgGmGqKi2xHnDe0ILIBraRspwgYatJH9JsCZ5HCGoCst8w18EKOAdg==, + } + engines: { node: ">=20.19.0" } + peerDependencies: + postcss: ^8.4 "@epic-web/invariant@1.0.0": resolution: @@ -1945,15 +1975,6 @@ packages: cpu: [x64] os: [win32] - "@eslint-community/eslint-utils@4.7.0": - resolution: - { - integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - "@eslint-community/eslint-utils@4.9.0": resolution: { @@ -1963,61 +1984,68 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - "@eslint-community/regexpp@4.12.1": + "@eslint-community/eslint-utils@4.9.1": resolution: { - integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, + integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + "@eslint-community/regexpp@4.12.2": + resolution: + { + integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==, } engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - "@eslint/config-array@0.21.1": + "@eslint/config-array@0.23.1": resolution: { - integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==, + integrity: sha512-uVSdg/V4dfQmTjJzR0szNczjOH/J+FyUMMjYtr07xFRXR7EDf9i1qdxrD0VusZH9knj1/ecxzCQQxyic5NzAiA==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - "@eslint/config-helpers@0.4.2": + "@eslint/config-helpers@0.5.2": resolution: { - integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==, + integrity: sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - "@eslint/core@0.17.0": + "@eslint/core@1.1.0": resolution: { - integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==, + integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - "@eslint/eslintrc@3.3.1": + "@eslint/js@10.0.1": resolution: { - integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==, + integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true - "@eslint/js@9.39.2": + "@eslint/object-schema@3.0.1": resolution: { - integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==, + integrity: sha512-P9cq2dpr+LU8j3qbLygLcSZrl2/ds/pUpfnHNNuk5HW7mnngHs+6WSq5C9mO3rqRX8A1poxqLTC9cu0KOyJlBg==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - "@eslint/object-schema@2.1.7": + "@eslint/plugin-kit@0.6.0": resolution: { - integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==, + integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/plugin-kit@0.4.1": - resolution: - { - integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } "@fastify/busboy@2.1.1": resolution: @@ -2026,16 +2054,16 @@ packages: } engines: { node: ">=14" } - "@floating-ui/core@1.7.3": + "@floating-ui/core@1.7.4": resolution: { - integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==, + integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==, } - "@floating-ui/dom@1.7.4": + "@floating-ui/dom@1.7.5": resolution: { - integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==, + integrity: sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==, } "@floating-ui/utils@0.2.10": @@ -2200,6 +2228,12 @@ packages: integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==, } + "@lezer/common@1.5.1": + resolution: + { + integrity: sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==, + } + "@lezer/highlight@1.2.1": resolution: { @@ -2507,6 +2541,7 @@ packages: } cpu: [arm] os: [linux] + libc: [glibc] "@rollup/rollup-linux-arm-musleabihf@4.47.1": resolution: @@ -2515,6 +2550,7 @@ packages: } cpu: [arm] os: [linux] + libc: [musl] "@rollup/rollup-linux-arm64-gnu@4.47.1": resolution: @@ -2523,6 +2559,7 @@ packages: } cpu: [arm64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-arm64-musl@4.47.1": resolution: @@ -2531,6 +2568,7 @@ packages: } cpu: [arm64] os: [linux] + libc: [musl] "@rollup/rollup-linux-loongarch64-gnu@4.47.1": resolution: @@ -2539,6 +2577,7 @@ packages: } cpu: [loong64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-ppc64-gnu@4.47.1": resolution: @@ -2547,6 +2586,7 @@ packages: } cpu: [ppc64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-riscv64-gnu@4.47.1": resolution: @@ -2555,6 +2595,7 @@ packages: } cpu: [riscv64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-riscv64-musl@4.47.1": resolution: @@ -2563,6 +2604,7 @@ packages: } cpu: [riscv64] os: [linux] + libc: [musl] "@rollup/rollup-linux-s390x-gnu@4.47.1": resolution: @@ -2571,6 +2613,7 @@ packages: } cpu: [s390x] os: [linux] + libc: [glibc] "@rollup/rollup-linux-x64-gnu@4.47.1": resolution: @@ -2579,6 +2622,7 @@ packages: } cpu: [x64] os: [linux] + libc: [glibc] "@rollup/rollup-linux-x64-musl@4.47.1": resolution: @@ -2587,6 +2631,7 @@ packages: } cpu: [x64] os: [linux] + libc: [musl] "@rollup/rollup-win32-arm64-msvc@4.47.1": resolution: @@ -2677,10 +2722,10 @@ packages: peerDependencies: semantic-release: ">=24.1.0" - "@semantic-release/gitlab@13.2.9": + "@semantic-release/gitlab@13.3.0": resolution: { - integrity: sha512-oEWyNK3hfdGdoq6aoSunQ/VR1Svrjivmg1ochCIJ77b8pKMI5y5PPGSS8KozWGg07yqc2uudULk8lHtgTbZspQ==, + integrity: sha512-E0q4qbTdVQZW8Siqz1YQjfSSXE2U/Z7lJasUlpHGRu+OYXsLCIU6o18scquofyP7CBxyKLIx7TDiLVRko1ekGw==, } engines: { node: ">=20.8.1" } peerDependencies: @@ -2783,6 +2828,12 @@ packages: integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==, } + "@types/esrecurse@4.3.1": + resolution: + { + integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==, + } + "@types/estree@0.0.39": resolution: { @@ -2849,92 +2900,92 @@ packages: integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==, } - "@typescript-eslint/eslint-plugin@8.50.0": + "@typescript-eslint/eslint-plugin@8.55.0": resolution: { - integrity: sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==, + integrity: sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - "@typescript-eslint/parser": ^8.50.0 + "@typescript-eslint/parser": ^8.55.0 eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - "@typescript-eslint/parser@8.50.0": + "@typescript-eslint/parser@8.55.0": resolution: { - integrity: sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==, + integrity: sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - "@typescript-eslint/project-service@8.50.0": + "@typescript-eslint/project-service@8.55.0": resolution: { - integrity: sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==, + integrity: sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: typescript: ">=4.8.4 <6.0.0" - "@typescript-eslint/scope-manager@8.50.0": + "@typescript-eslint/scope-manager@8.55.0": resolution: { - integrity: sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==, + integrity: sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@typescript-eslint/tsconfig-utils@8.50.0": + "@typescript-eslint/tsconfig-utils@8.55.0": resolution: { - integrity: sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==, + integrity: sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: typescript: ">=4.8.4 <6.0.0" - "@typescript-eslint/type-utils@8.50.0": + "@typescript-eslint/type-utils@8.55.0": resolution: { - integrity: sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==, + integrity: sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - "@typescript-eslint/types@8.50.0": + "@typescript-eslint/types@8.55.0": resolution: { - integrity: sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==, + integrity: sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@typescript-eslint/typescript-estree@8.50.0": + "@typescript-eslint/typescript-estree@8.55.0": resolution: { - integrity: sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==, + integrity: sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: typescript: ">=4.8.4 <6.0.0" - "@typescript-eslint/utils@8.50.0": + "@typescript-eslint/utils@8.55.0": resolution: { - integrity: sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==, + integrity: sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - "@typescript-eslint/visitor-keys@8.50.0": + "@typescript-eslint/visitor-keys@8.55.0": resolution: { - integrity: sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==, + integrity: sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -2944,13 +2995,6 @@ packages: integrity: sha512-ZFpV3xqZJ5tvh5rZOYKRh8zFzNIKr2ZcK6L75nJjFjbWt/ZmFF2nMBxtD9/hC4Xjk9v7hp1+P9cmctL674VFgA==, } - JSONStream@1.3.5: - resolution: - { - integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==, - } - hasBin: true - acorn-jsx@5.3.2: resolution: { @@ -3101,13 +3145,6 @@ packages: integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==, } - array-union@2.1.0: - resolution: - { - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, - } - engines: { node: ">=8" } - arraybuffer.prototype.slice@1.0.4: resolution: { @@ -3189,11 +3226,12 @@ packages: integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, } - balanced-match@2.0.0: + balanced-match@3.0.1: resolution: { - integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==, + integrity: sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==, } + engines: { node: ">= 16" } base64-js@1.3.1: resolution: @@ -3312,10 +3350,10 @@ packages: } engines: { node: ">=18" } - cacheable@2.3.1: + cacheable@2.3.2: resolution: { - integrity: sha512-yr+FSHWn1ZUou5LkULX/S+jhfgfnLbuKQjE40tyEd4fxGZVMbBL5ifno0J0OauykS8UiCSgHi+DV/YD+rjFxFg==, + integrity: sha512-w+ZuRNmex9c1TR9RcsxbfTKCjSL0rh1WA5SABbrWprIHeNBdmyQLSYonlDy9gpD+63XT8DgZ/wNh1Smvc9WnJA==, } cachedir@2.3.0: @@ -3646,13 +3684,6 @@ packages: integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==, } - conventional-changelog-angular@7.0.0: - resolution: - { - integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==, - } - engines: { node: ">=16" } - conventional-changelog-angular@8.0.0: resolution: { @@ -3660,12 +3691,19 @@ packages: } engines: { node: ">=18" } - conventional-changelog-conventionalcommits@7.0.2: + conventional-changelog-angular@8.1.0: resolution: { - integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==, + integrity: sha512-GGf2Nipn1RUCAktxuVauVr1e3r8QrLP/B0lEUsFktmGqc3ddbQkhoJZHJctVU829U1c6mTSWftrVOCHaL85Q3w==, } - engines: { node: ">=16" } + engines: { node: ">=18" } + + conventional-changelog-conventionalcommits@9.1.0: + resolution: + { + integrity: sha512-MnbEysR8wWa8dAEvbj5xcBgJKQlX/m0lhS8DsyAAWDHdfs2faDJxTgzRYlRYpXSe7UiKrIIlB4TrBKU9q9DgkA==, + } + engines: { node: ">=18" } conventional-changelog-writer@8.2.0: resolution: @@ -3688,14 +3726,6 @@ packages: } engines: { node: ">=18" } - conventional-commits-parser@5.0.0: - resolution: - { - integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==, - } - engines: { node: ">=16" } - hasBin: true - conventional-commits-parser@6.2.0: resolution: { @@ -3704,6 +3734,14 @@ packages: engines: { node: ">=18" } hasBin: true + conventional-commits-parser@6.2.1: + resolution: + { + integrity: sha512-20pyHgnO40rvfI0NGF/xiEoFMkXDtkF8FwHvk5BokoFoCuTQRI8vrNCNFWUOfuolKJMm1tPCHc8GgYEtr1XRNA==, + } + engines: { node: ">=18" } + hasBin: true + convert-hrtime@5.0.0: resolution: { @@ -3799,12 +3837,12 @@ packages: } engines: { node: ">=12" } - css-blank-pseudo@7.0.1: + css-blank-pseudo@8.0.1: resolution: { - integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==, + integrity: sha512-C5B2e5hCM4llrQkUms+KnWEMVW8K1n2XvX9G7ppfMZJQ7KAS/4rNnkP1Cs+HhWriOz1mWWTMFD4j1J7s31Dgug==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -3824,21 +3862,21 @@ packages: } engines: { node: ">=12 || >=16" } - css-has-pseudo@7.0.3: + css-has-pseudo@8.0.0: resolution: { - integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==, + integrity: sha512-Uz/bsHRbOeir/5Oeuz85tq/yLJLxX+3dpoRdjNTshs6jjqwUg8XaEZGDd0ci3fw7l53Srw0EkJ8mYan0eW5uGQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - css-prefers-color-scheme@10.0.0: + css-prefers-color-scheme@11.0.0: resolution: { - integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==, + integrity: sha512-fv0mgtwUhh2m9iio3Kxc2CkrogjIaRdMFaaqyzSFdii17JF4cfPyMNX72B15ZW2Nrr/NZUpxI4dec1VMHYJvdw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -3869,10 +3907,10 @@ packages: } engines: { node: ">= 6" } - cssdb@8.5.2: + cssdb@8.7.1: resolution: { - integrity: sha512-Pmoj9RmD8RIoIzA2EQWO4D4RMeDts0tgAH0VXdlNdxjuBGI3a9wMOIcUwaPNmD4r2qtIa06gqkIf7sECl+cBCg==, + integrity: sha512-+F6LKx48RrdGOtE4DT5jz7Uo+VeyKXpK797FAevIkzjV8bMHz6xTO5F7gNDcRCHmPgD5jj2g6QCsY9zmVrh38A==, } cssesc@3.0.0: @@ -4278,13 +4316,6 @@ packages: } engines: { node: ">=0.12" } - env-ci@11.1.1: - resolution: - { - integrity: sha512-mT3ks8F0kwpo7SYNds6nWj0PaRh+qJxIeBVBXAKTN9hphAzZv7s0QAZQbqnB1fAv/r4pJUGE15BV9UrS31FP2w==, - } - engines: { node: ^18.17 || >=20.6.1 } - env-ci@11.2.0: resolution: { @@ -4399,10 +4430,10 @@ packages: peerDependencies: eslint: ">=7.0.0" - eslint-plugin-prettier@5.5.4: + eslint-plugin-prettier@5.5.5: resolution: { - integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==, + integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==, } engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: @@ -4416,12 +4447,12 @@ packages: eslint-config-prettier: optional: true - eslint-scope@8.4.0: + eslint-scope@9.1.0: resolution: { - integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==, + integrity: sha512-CkWE42hOJsNj9FJRaoMX9waUFYhqY4jmyLFdAdzZr6VaCg3ynLYx4WnOdkaIifGfH4gsUcBTn4OZbHXkpLD0FQ==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } eslint-visitor-keys@3.4.3: resolution: @@ -4437,12 +4468,19 @@ packages: } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - eslint@9.39.2: + eslint-visitor-keys@5.0.0: resolution: { - integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==, + integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + + eslint@10.0.0: + resolution: + { + integrity: sha512-O0piBKY36YSJhlFSG8p9VUdPV/SxxS4FYDWVpr/9GJuMaepzwlf4J8I4ov1b+ySQfDTPhc3DtLaxcT1fN0yqCg==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } hasBin: true peerDependencies: jiti: "*" @@ -4450,17 +4488,17 @@ packages: jiti: optional: true - espree@10.4.0: + espree@11.1.0: resolution: { - integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==, + integrity: sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw==, } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - esquery@1.6.0: + esquery@1.7.0: resolution: { - integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, + integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==, } engines: { node: ">=0.10" } @@ -4627,10 +4665,10 @@ packages: } engines: { node: ">=18" } - file-entry-cache@11.1.1: + file-entry-cache@11.1.2: resolution: { - integrity: sha512-TPVFSDE7q91Dlk1xpFLvFllf8r0HyOMOlnWy7Z2HBku5H3KhIeOGInexrIeg2D64DosVB/JXkrrk6N/7Wriq4A==, + integrity: sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==, } file-entry-cache@8.0.0: @@ -4693,13 +4731,6 @@ packages: } engines: { node: ">=10" } - find-up@7.0.0: - resolution: - { - integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==, - } - engines: { node: ">=18" } - find-versions@6.0.0: resolution: { @@ -4721,10 +4752,10 @@ packages: } engines: { node: ">=16" } - flat-cache@6.1.19: + flat-cache@6.1.20: resolution: { - integrity: sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A==, + integrity: sha512-AhHYqwvN62NVLp4lObVXGVluiABTHapoB57EyegZVmazN+hhGhLTn3uZbOofoTw4DSDvVCadzzyChXhOAvy8uQ==, } flatpickr@4.6.13: @@ -5007,17 +5038,10 @@ packages: } engines: { node: ">=6" } - globals@14.0.0: + globals@17.3.0: resolution: { - integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, - } - engines: { node: ">=18" } - - globals@16.5.0: - resolution: - { - integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==, + integrity: sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==, } engines: { node: ">=18" } @@ -5028,13 +5052,6 @@ packages: } engines: { node: ">= 0.4" } - globby@11.1.0: - resolution: - { - integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, - } - engines: { node: ">=10" } - globby@14.1.0: resolution: { @@ -5042,6 +5059,13 @@ packages: } engines: { node: ">=18" } + globby@16.1.0: + resolution: + { + integrity: sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==, + } + engines: { node: ">=20" } + globjoin@0.1.4: resolution: { @@ -5103,6 +5127,13 @@ packages: } engines: { node: ">=8" } + has-flag@5.0.1: + resolution: + { + integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==, + } + engines: { node: ">=12" } + has-property-descriptors@1.0.2: resolution: { @@ -5164,10 +5195,10 @@ packages: } engines: { node: ">=20" } - hookified@1.14.0: + hookified@1.15.1: resolution: { - integrity: sha512-pi1ynXIMFx/uIIwpWJ/5CEtOHLGtnUB0WhGeeYT+fKcQ+WCQbm3/rrkAXnpfph++PgepNqPdTC2WTj8A6k6zoQ==, + integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==, } hosted-git-info@7.0.2: @@ -5191,12 +5222,12 @@ packages: } engines: { node: ">=14" } - html-tags@3.3.1: + html-tags@5.1.0: resolution: { - integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==, + integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==, } - engines: { node: ">=8" } + engines: { node: ">=20.10" } http-cache-semantics@4.2.0: resolution: @@ -5314,6 +5345,12 @@ packages: integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==, } + import-meta-resolve@4.2.0: + resolution: + { + integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==, + } + imurmurhash@0.1.4: resolution: { @@ -5583,6 +5620,13 @@ packages: } engines: { node: ">=8" } + is-path-inside@4.0.0: + resolution: + { + integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==, + } + engines: { node: ">=12" } + is-plain-obj@4.1.0: resolution: { @@ -5660,13 +5704,6 @@ packages: } engines: { node: ">= 0.4" } - is-text-path@2.0.0: - resolution: - { - integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==, - } - engines: { node: ">=8" } - is-typed-array@1.1.15: resolution: { @@ -5887,13 +5924,6 @@ packages: integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==, } - jsonparse@1.3.1: - resolution: - { - integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, - } - engines: { "0": node >= 0.2.0 } - jsonpointer@5.0.1: resolution: { @@ -5907,10 +5937,10 @@ packages: integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, } - keyv@5.5.5: + keyv@5.6.0: resolution: { - integrity: sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==, + integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==, } kind-of@6.0.3: @@ -5994,10 +6024,10 @@ packages: integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==, } - lit@3.3.1: + lit@3.3.2: resolution: { - integrity: sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==, + integrity: sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==, } load-json-file@4.0.0: @@ -6028,13 +6058,6 @@ packages: } engines: { node: ">=10" } - locate-path@7.2.0: - resolution: - { - integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - lodash-es@4.17.21: resolution: { @@ -6225,10 +6248,10 @@ packages: engines: { node: ">= 18" } hasBin: true - marked@17.0.1: + marked@17.0.2: resolution: { - integrity: sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg==, + integrity: sha512-s5HZGFQea7Huv5zZcAGhJLT3qLpAfnY7v7GWkICUr0+Wd5TFEtdlRR2XUL5Gg+RH7u2Df595ifrxR03mBaw7gA==, } engines: { node: ">= 20" } hasBin: true @@ -6240,10 +6263,10 @@ packages: } engines: { node: ">= 0.4" } - mathml-tag-names@2.1.3: + mathml-tag-names@4.0.0: resolution: { - integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==, + integrity: sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==, } mdn-data@2.0.28: @@ -6272,6 +6295,13 @@ packages: } engines: { node: ">=18" } + meow@14.0.0: + resolution: + { + integrity: sha512-JhC3R1f6dbspVtmF3vKjAWz1EVIvwFrGGPLSdU6rK79xBwHWTuHoLnRX/t1/zHS1Ch1Y2UtIrih7DAHuH9JFJA==, + } + engines: { node: ">=20" } + merge-stream@2.0.0: resolution: { @@ -6758,13 +6788,6 @@ packages: } engines: { node: ">=10" } - p-limit@4.0.0: - resolution: - { - integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - p-locate@2.0.0: resolution: { @@ -6786,13 +6809,6 @@ packages: } engines: { node: ">=10" } - p-locate@6.0.0: - resolution: - { - integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - p-map@7.0.3: resolution: { @@ -6927,13 +6943,6 @@ packages: } engines: { node: ">=8" } - path-exists@5.0.0: - resolution: - { - integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - path-is-absolute@1.0.1: resolution: { @@ -7092,12 +7101,12 @@ packages: } engines: { node: ">= 0.4" } - postcss-attribute-case-insensitive@7.0.1: + postcss-attribute-case-insensitive@8.0.0: resolution: { - integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==, + integrity: sha512-fovIPEV35c2JzVXdmP+sp2xirbBMt54J+upU8u6TSj410kUU5+axgEzvBBSAX8KCybze8CFCelzFAw/FfWg2TA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7119,30 +7128,30 @@ packages: peerDependencies: postcss: ^8.4.6 - postcss-color-functional-notation@7.0.12: + postcss-color-functional-notation@8.0.1: resolution: { - integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==, + integrity: sha512-f1itLOG10iAa9mBAAtIHj/wfDs3srsNv/vrAsiRrIOfTCjhjxHxL1g06vvpQ86he2BP5HwB4cN72EZQ8rkegpA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-color-hex-alpha@10.0.0: + postcss-color-hex-alpha@11.0.0: resolution: { - integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==, + integrity: sha512-NCGa6vjIyrjosz9GqRxVKbONBklz5TeipYqTJp3IqbnBWlBq5e5EMtG6MaX4vqk9LzocPfMQkuRK9tfk+OQuKg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-color-rebeccapurple@10.0.0: + postcss-color-rebeccapurple@11.0.0: resolution: { - integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==, + integrity: sha512-g9561mx7cbdqx7XeO/L+lJzVlzu7bICyXr72efBVKZGxIhvBBJf9fGXn3Cb6U4Bwh3LbzQO2e9NWBLVYdX5Eag==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7164,39 +7173,39 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-custom-media@11.0.6: + postcss-custom-media@12.0.0: resolution: { - integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==, + integrity: sha512-jIgEvqceN6ru2uQ0f75W1g+JDi0UyECFeJKjPG7UcSkW3+03LDKH2c6h+9C0XuDTV4y2pEHmD5AJtVBq1OGnZA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-custom-properties@14.0.6: + postcss-custom-properties@15.0.0: resolution: { - integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==, + integrity: sha512-FsD3VNtFr3qmspvIobDRszK9onKPHp8iHG4Aox2Nnm9SL93uw5GDw4z+NM7zWKiw6U+DSNm24JUm4coyIyanzQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-custom-selectors@8.0.5: + postcss-custom-selectors@9.0.0: resolution: { - integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==, + integrity: sha512-VuV5tLPAm6wq1u699dsrhGCzfLobKe0eD3G8bw3BcTJt6wqQ7RQdfaveJVsCAi23OaQbjIi3K1C7Fj3yZH3f1g==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-dir-pseudo-class@9.0.1: + postcss-dir-pseudo-class@10.0.0: resolution: { - integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==, + integrity: sha512-DmtIzULpyC8XaH4b5AaUgt4Jic4QmrECqidNCdR7u7naQFdnxX80YI06u238a+ZVRXwURDxVzy0s/UQnWmpVeg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7236,30 +7245,30 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-double-position-gradients@6.0.4: + postcss-double-position-gradients@7.0.0: resolution: { - integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==, + integrity: sha512-Msr/dxj8Os7KLJE5Hdhvprwm3K5Zrh1KTY0eFN3ngPKNkej/Usy4BM9JQmqE6CLAkDpHoQVsi4snbL72CPt6qg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-focus-visible@10.0.1: + postcss-focus-visible@11.0.0: resolution: { - integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==, + integrity: sha512-VG1a9kBKizUBWS66t5xyB4uLONBnvZLCmZXxT40FALu8EF0QgVZBYy5ApC0KhmpHsv+pvHMJHB3agKHwmocWjw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-focus-within@9.0.1: + postcss-focus-within@10.0.0: resolution: { - integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==, + integrity: sha512-dvql0fzUTG+gcJYp+KTbag5vAjuo94LDYZHkqDV1rnf5gPGer1v/SrmIZBdvKU8moep3HbcbujqGjzSb3DL53Q==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7271,21 +7280,21 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-gap-properties@6.0.0: + postcss-gap-properties@7.0.0: resolution: { - integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==, + integrity: sha512-PSDF2QoZMRUbsINvXObQgxx4HExRP85QTT8qS/YN9fBsCPWCqUuwqAD6E6PNp0BqL/jU1eyWUBORaOK/J/9LDA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-image-set-function@7.0.0: + postcss-image-set-function@8.0.0: resolution: { - integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==, + integrity: sha512-rEGNkOkNusf4+IuMmfEoIdLuVmvbExGbmG+MIsyV6jR5UaWSoyPcAYHV/PxzVDCmudyF+2Nh/o6Ub2saqUdnuA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7316,12 +7325,12 @@ packages: peerDependencies: postcss: ^8.4.21 - postcss-lab-function@7.0.12: + postcss-lab-function@8.0.1: resolution: { - integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==, + integrity: sha512-Q/ANnuCYtanAc+2NnCaZrYu+GofYQUV603JXL0KB6GlcXxpnm/UerPAmpKQdb9pxYUkpKovGxfL43aOUnpF/Hg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7340,12 +7349,12 @@ packages: ts-node: optional: true - postcss-logical@8.1.0: + postcss-logical@9.0.0: resolution: { - integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==, + integrity: sha512-A4LNd9dk3q/juEUA9Gd8ALhBO3TeOeYurnyHLlf2aAToD94VHR8c5Uv7KNmf8YVRhTxvWsyug4c5fKtARzyIRQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7421,12 +7430,12 @@ packages: peerDependencies: postcss: ^8.2.14 - postcss-nesting@13.0.2: + postcss-nesting@14.0.0: resolution: { - integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==, + integrity: sha512-YGFOfVrjxYfeGTS5XctP1WCI5hu8Lr9SmntjfRC+iX5hCihEO+QZl9Ra+pkjqkgoVdDKvb2JccpElcowhZtzpw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7529,12 +7538,12 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-overflow-shorthand@6.0.0: + postcss-overflow-shorthand@7.0.0: resolution: { - integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==, + integrity: sha512-9SLpjoUdGRoRrzoOdX66HbUs0+uDwfIAiXsRa7piKGOqPd6F4ZlON9oaDSP5r1Qpgmzw5L9Ht0undIK6igJPMA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7546,30 +7555,30 @@ packages: peerDependencies: postcss: ^8 - postcss-place@10.0.0: + postcss-place@11.0.0: resolution: { - integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==, + integrity: sha512-fAifpyjQ+fuDRp2nmF95WbotqbpjdazebedahXdfBxy5sHembOLpBQ1cHveZD9ZmjK26tYM8tikeNaUlp/KfHA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-preset-env@10.5.0: + postcss-preset-env@11.1.3: resolution: { - integrity: sha512-xgxFQPAPxeWmsgy8cR7GM1PGAL/smA5E9qU7K//D4vucS01es3M0fDujhDJn3kY8Ip7/vVYcecbe1yY+vBo3qQ==, + integrity: sha512-kZOfgzUc52yq2fJRZig7sHgWaHJoDOLABBoswe6TPTHgW3581VkP3eRj+Silhc7cJTomMjZZsyRHNjQ+bW11Gg==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 - postcss-pseudo-class-any-link@10.0.1: + postcss-pseudo-class-any-link@11.0.0: resolution: { - integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==, + integrity: sha512-DNFZ4GMa3C3pU5dM+UCTG1CEeLtS1ZqV5DKSqCTJQMn1G5jnd/30fS8+A7H4o5bSD3MOcnx+VgI+xPE9Z5Wvig==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7608,12 +7617,6 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-resolve-nested-selector@0.1.6: - resolution: - { - integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==, - } - postcss-safe-parser@7.0.1: resolution: { @@ -7623,12 +7626,12 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-selector-not@8.0.1: + postcss-selector-not@9.0.0: resolution: { - integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==, + integrity: sha512-xhAtTdHnVU2M/CrpYOPyRUvg3njhVlKmn2GNYXDaRJV9Ygx4d5OkSkc7NINzjUqnbDFtaKXlISOBeyMXU/zyFQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: postcss: ^8.4 @@ -7653,6 +7656,13 @@ packages: } engines: { node: ">=4" } + postcss-selector-parser@7.1.1: + resolution: + { + integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==, + } + engines: { node: ">=4" } + postcss-svgo@7.1.0: resolution: { @@ -7691,10 +7701,10 @@ packages: } engines: { node: ">= 0.8.0" } - prettier-linter-helpers@1.0.0: + prettier-linter-helpers@1.0.1: resolution: { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==, } engines: { node: ">=6.0.0" } @@ -7719,10 +7729,10 @@ packages: engines: { node: ">=10.13.0" } hasBin: true - prettier@3.7.4: + prettier@3.8.1: resolution: { - integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==, + integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==, } engines: { node: ">=14" } hasBin: true @@ -7773,10 +7783,10 @@ packages: } engines: { node: ">=6" } - qified@0.5.3: + qified@0.6.0: resolution: { - integrity: sha512-kXuQdQTB6oN3KhI6V4acnBSZx8D2I4xzZvn9+wFLLFCoBNQY/sFnCW6c43OL7pOQ2HvGV4lnWIXNmgfp7cTWhQ==, + integrity: sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==, } engines: { node: ">=20" } @@ -8109,22 +8119,14 @@ packages: integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==, } - semantic-release@25.0.2: + semantic-release@25.0.3: resolution: { - integrity: sha512-6qGjWccl5yoyugHt3jTgztJ9Y0JVzyH8/Voc/D8PlLat9pwxQYXz7W1Dpnq5h0/G5GCYGUaDSlYcyk3AMh5A6g==, + integrity: sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==, } engines: { node: ^22.14.0 || >= 24.10.0 } hasBin: true - semver-diff@5.0.0: - resolution: - { - integrity: sha512-0HbGtOm+S7T6NGQ/pxJSJipJvc4DK3FcRVMRkhsIwJDJ4Jcz5DQC1cPPzB5GhzyHjwttW878HaWQq46CkL3cqg==, - } - engines: { node: ">=12" } - deprecated: Deprecated as the semver package now supports this built-in. - semver-regex@4.0.5: resolution: { @@ -8147,6 +8149,14 @@ packages: engines: { node: ">=10" } hasBin: true + semver@7.7.4: + resolution: + { + integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==, + } + engines: { node: ">=10" } + hasBin: true + serialize-javascript@6.0.2: resolution: { @@ -8249,13 +8259,6 @@ packages: } engines: { node: ">=8" } - slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: ">=8" } - slash@5.1.0: resolution: { @@ -8422,6 +8425,13 @@ packages: } engines: { node: ">=20" } + string-width@8.1.1: + resolution: + { + integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==, + } + engines: { node: ">=20" } + string.prototype.matchall@4.0.12: resolution: { @@ -8554,30 +8564,30 @@ packages: peerDependencies: postcss: ^8.4.32 - stylelint-config-recommended@17.0.0: + stylelint-config-recommended@18.0.0: resolution: { - integrity: sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==, + integrity: sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==, } - engines: { node: ">=18.12.0" } + engines: { node: ">=20.19.0" } peerDependencies: - stylelint: ^16.23.0 + stylelint: ^17.0.0 - stylelint-config-standard@39.0.1: + stylelint-config-standard@40.0.0: resolution: { - integrity: sha512-b7Fja59EYHRNOTa3aXiuWnhUWXFU2Nfg6h61bLfAb5GS5fX3LMUD0U5t4S8N/4tpHQg3Acs2UVPR9jy2l1g/3A==, + integrity: sha512-EznGJxOUhtWck2r6dJpbgAdPATIzvpLdK9+i5qPd4Lx70es66TkBPljSg4wN3Qnc6c4h2n+WbUrUynQ3fanjHw==, } - engines: { node: ">=18.12.0" } + engines: { node: ">=20.19.0" } peerDependencies: - stylelint: ^16.23.0 + stylelint: ^17.0.0 - stylelint@16.26.1: + stylelint@17.3.0: resolution: { - integrity: sha512-v20V59/crfc8sVTAtge0mdafI3AdnzQ2KsWe6v523L4OA1bJO02S7MO2oyXDCS6iWb9ckIPnqAFVItqSBQr7jw==, + integrity: sha512-1POV91lcEMhj6SLVaOeA0KlS9yattS+qq+cyWqP/nYzWco7K5jznpGH1ExngvPlTM9QF1Kjd2bmuzJu9TH2OcA==, } - engines: { node: ">=18.12.0" } + engines: { node: ">=20.19.0" } hasBin: true sucrase@3.35.0: @@ -8595,6 +8605,13 @@ packages: } engines: { node: ">=18" } + supports-color@10.2.2: + resolution: + { + integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==, + } + engines: { node: ">=18" } + supports-color@5.5.0: resolution: { @@ -8616,6 +8633,13 @@ packages: } engines: { node: ">=14.18" } + supports-hyperlinks@4.4.0: + resolution: + { + integrity: sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==, + } + engines: { node: ">=20" } + supports-preserve-symlinks-flag@1.0.0: resolution: { @@ -8637,10 +8661,10 @@ packages: engines: { node: ">=16" } hasBin: true - synckit@0.11.11: + synckit@0.11.12: resolution: { - integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==, + integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==, } engines: { node: ^14.18.0 || >=16.0.0 } @@ -8702,13 +8726,6 @@ packages: engines: { node: ">=10" } hasBin: true - text-extensions@2.4.0: - resolution: - { - integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==, - } - engines: { node: ">=8" } - thenby@1.3.4: resolution: { @@ -8812,10 +8829,10 @@ packages: } engines: { node: ">= 0.4" } - ts-api-utils@2.1.0: + ts-api-utils@2.4.0: resolution: { - integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==, + integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==, } engines: { node: ">=18.12" } peerDependencies: @@ -8923,10 +8940,10 @@ packages: } engines: { node: ">= 0.4" } - typescript-eslint@8.50.0: + typescript-eslint@8.55.0: resolution: { - integrity: sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==, + integrity: sha512-HE4wj+r5lmDVS9gdaN0/+iqNvPZwGfnJ5lZuz7s5vLlg9ODw0bIiiETaios9LvFI1U94/VBXGm3CB2Y5cNFMpw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -9037,6 +9054,13 @@ packages: } engines: { node: ">=18" } + unicorn-magic@0.4.0: + resolution: + { + integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==, + } + engines: { node: ">=20" } + unique-string@2.0.0: resolution: { @@ -9135,10 +9159,10 @@ packages: "@vite-pwa/assets-generator": optional: true - vite@7.3.0: + vite@7.3.1: resolution: { - integrity: sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==, + integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==, } engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true @@ -9413,12 +9437,12 @@ packages: integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, } - write-file-atomic@5.0.1: + write-file-atomic@7.0.0: resolution: { - integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==, + integrity: sha512-YnlPC6JqnZl6aO4uRc+dx5PHguiR9S6WeoLtpxNT9wIG+BDya7ZNE1q7KOjVgaA73hKhKLpVPgJ5QA9THQ5BRg==, } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + engines: { node: ^20.17.0 || >=22.9.0 } xml-formatter@3.6.7: resolution: @@ -9538,13 +9562,6 @@ packages: } engines: { node: ">=10" } - yocto-queue@1.2.1: - resolution: - { - integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==, - } - engines: { node: ">=12.20" } - yoctocolors@2.1.2: resolution: { @@ -9675,7 +9692,7 @@ snapshots: "@babel/core": 7.28.3 "@babel/helper-compilation-targets": 7.27.2 "@babel/helper-plugin-utils": 7.27.1 - debug: 4.4.1 + debug: 4.4.3 lodash.debounce: 4.0.8 resolve: 1.22.10 transitivePeerDependencies: @@ -10256,69 +10273,69 @@ snapshots: "@babel/helper-string-parser": 7.27.1 "@babel/helper-validator-identifier": 7.27.1 - "@cacheable/memory@2.0.6": + "@cacheable/memory@2.0.7": dependencies: - "@cacheable/utils": 2.3.2 - "@keyv/bigmap": 1.3.0(keyv@5.5.5) - hookified: 1.14.0 - keyv: 5.5.5 + "@cacheable/utils": 2.3.4 + "@keyv/bigmap": 1.3.0(keyv@5.6.0) + hookified: 1.15.1 + keyv: 5.6.0 - "@cacheable/utils@2.3.2": + "@cacheable/utils@2.3.4": dependencies: hashery: 1.3.0 - keyv: 5.5.5 + keyv: 5.6.0 "@codemirror/autocomplete@6.18.6": dependencies: - "@codemirror/language": 6.11.3 - "@codemirror/state": 6.5.2 - "@codemirror/view": 6.39.4 + "@codemirror/language": 6.12.1 + "@codemirror/state": 6.5.4 + "@codemirror/view": 6.39.14 "@lezer/common": 1.2.3 - "@codemirror/commands@6.10.1": + "@codemirror/commands@6.10.2": dependencies: - "@codemirror/language": 6.11.3 - "@codemirror/state": 6.5.2 - "@codemirror/view": 6.39.4 + "@codemirror/language": 6.12.1 + "@codemirror/state": 6.5.4 + "@codemirror/view": 6.39.14 "@lezer/common": 1.2.3 "@codemirror/lang-xml@6.1.0": dependencies: "@codemirror/autocomplete": 6.18.6 - "@codemirror/language": 6.11.3 - "@codemirror/state": 6.5.2 - "@codemirror/view": 6.39.4 + "@codemirror/language": 6.12.1 + "@codemirror/state": 6.5.4 + "@codemirror/view": 6.39.14 "@lezer/common": 1.2.3 "@lezer/xml": 1.0.6 - "@codemirror/language@6.11.3": + "@codemirror/language@6.12.1": dependencies: - "@codemirror/state": 6.5.2 - "@codemirror/view": 6.39.4 - "@lezer/common": 1.2.3 + "@codemirror/state": 6.5.4 + "@codemirror/view": 6.39.14 + "@lezer/common": 1.5.1 "@lezer/highlight": 1.2.1 "@lezer/lr": 1.4.2 style-mod: 4.1.2 "@codemirror/lint@6.8.5": dependencies: - "@codemirror/state": 6.5.2 - "@codemirror/view": 6.39.4 + "@codemirror/state": 6.5.4 + "@codemirror/view": 6.39.14 crelt: 1.0.6 "@codemirror/search@6.5.11": dependencies: - "@codemirror/state": 6.5.2 - "@codemirror/view": 6.39.4 + "@codemirror/state": 6.5.4 + "@codemirror/view": 6.39.14 crelt: 1.0.6 - "@codemirror/state@6.5.2": + "@codemirror/state@6.5.4": dependencies: "@marijn/find-cluster-break": 1.0.2 - "@codemirror/view@6.39.4": + "@codemirror/view@6.39.14": dependencies: - "@codemirror/state": 6.5.2 + "@codemirror/state": 6.5.4 crelt: 1.0.6 style-mod: 4.1.2 w3c-keyname: 2.2.8 @@ -10326,23 +10343,23 @@ snapshots: "@colors/colors@1.5.0": optional: true - "@commitlint/cli@20.2.0(@types/node@24.3.0)(typescript@5.9.3)": + "@commitlint/cli@20.4.1(@types/node@24.3.0)(typescript@5.9.3)": dependencies: - "@commitlint/format": 20.2.0 - "@commitlint/lint": 20.2.0 - "@commitlint/load": 20.2.0(@types/node@24.3.0)(typescript@5.9.3) - "@commitlint/read": 20.2.0 - "@commitlint/types": 20.2.0 + "@commitlint/format": 20.4.0 + "@commitlint/lint": 20.4.1 + "@commitlint/load": 20.4.0(@types/node@24.3.0)(typescript@5.9.3) + "@commitlint/read": 20.4.0 + "@commitlint/types": 20.4.0 tinyexec: 1.0.1 yargs: 17.7.2 transitivePeerDependencies: - "@types/node" - typescript - "@commitlint/config-conventional@20.2.0": + "@commitlint/config-conventional@20.4.1": dependencies: - "@commitlint/types": 20.2.0 - conventional-changelog-conventionalcommits: 7.0.2 + "@commitlint/types": 20.4.0 + conventional-changelog-conventionalcommits: 9.1.0 "@commitlint/config-validator@19.8.1": dependencies: @@ -10350,14 +10367,14 @@ snapshots: ajv: 8.17.1 optional: true - "@commitlint/config-validator@20.2.0": + "@commitlint/config-validator@20.4.0": dependencies: - "@commitlint/types": 20.2.0 + "@commitlint/types": 20.4.0 ajv: 8.17.1 - "@commitlint/ensure@20.2.0": + "@commitlint/ensure@20.4.1": dependencies: - "@commitlint/types": 20.2.0 + "@commitlint/types": 20.4.0 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 @@ -10369,22 +10386,22 @@ snapshots: "@commitlint/execute-rule@20.0.0": {} - "@commitlint/format@20.2.0": + "@commitlint/format@20.4.0": dependencies: - "@commitlint/types": 20.2.0 - chalk: 5.6.0 + "@commitlint/types": 20.4.0 + picocolors: 1.1.1 - "@commitlint/is-ignored@20.2.0": + "@commitlint/is-ignored@20.4.1": dependencies: - "@commitlint/types": 20.2.0 + "@commitlint/types": 20.4.0 semver: 7.7.2 - "@commitlint/lint@20.2.0": + "@commitlint/lint@20.4.1": dependencies: - "@commitlint/is-ignored": 20.2.0 - "@commitlint/parse": 20.2.0 - "@commitlint/rules": 20.2.0 - "@commitlint/types": 20.2.0 + "@commitlint/is-ignored": 20.4.1 + "@commitlint/parse": 20.4.1 + "@commitlint/rules": 20.4.1 + "@commitlint/types": 20.4.0 "@commitlint/load@19.8.1(@types/node@24.3.0)(typescript@5.9.3)": dependencies: @@ -10403,34 +10420,33 @@ snapshots: - typescript optional: true - "@commitlint/load@20.2.0(@types/node@24.3.0)(typescript@5.9.3)": + "@commitlint/load@20.4.0(@types/node@24.3.0)(typescript@5.9.3)": dependencies: - "@commitlint/config-validator": 20.2.0 + "@commitlint/config-validator": 20.4.0 "@commitlint/execute-rule": 20.0.0 - "@commitlint/resolve-extends": 20.2.0 - "@commitlint/types": 20.2.0 - chalk: 5.6.0 + "@commitlint/resolve-extends": 20.4.0 + "@commitlint/types": 20.4.0 cosmiconfig: 9.0.0(typescript@5.9.3) cosmiconfig-typescript-loader: 6.1.0(@types/node@24.3.0)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3) - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 + is-plain-obj: 4.1.0 + lodash.mergewith: 4.6.2 + picocolors: 1.1.1 transitivePeerDependencies: - "@types/node" - typescript - "@commitlint/message@20.0.0": {} + "@commitlint/message@20.4.0": {} - "@commitlint/parse@20.2.0": + "@commitlint/parse@20.4.1": dependencies: - "@commitlint/types": 20.2.0 - conventional-changelog-angular: 7.0.0 - conventional-commits-parser: 5.0.0 + "@commitlint/types": 20.4.0 + conventional-changelog-angular: 8.1.0 + conventional-commits-parser: 6.2.1 - "@commitlint/read@20.2.0": + "@commitlint/read@20.4.0": dependencies: - "@commitlint/top-level": 20.0.0 - "@commitlint/types": 20.2.0 + "@commitlint/top-level": 20.4.0 + "@commitlint/types": 20.4.0 git-raw-commits: 4.0.0 minimist: 1.2.8 tinyexec: 1.0.1 @@ -10445,27 +10461,27 @@ snapshots: resolve-from: 5.0.0 optional: true - "@commitlint/resolve-extends@20.2.0": + "@commitlint/resolve-extends@20.4.0": dependencies: - "@commitlint/config-validator": 20.2.0 - "@commitlint/types": 20.2.0 + "@commitlint/config-validator": 20.4.0 + "@commitlint/types": 20.4.0 global-directory: 4.0.1 import-meta-resolve: 4.1.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 - "@commitlint/rules@20.2.0": + "@commitlint/rules@20.4.1": dependencies: - "@commitlint/ensure": 20.2.0 - "@commitlint/message": 20.0.0 + "@commitlint/ensure": 20.4.1 + "@commitlint/message": 20.4.0 "@commitlint/to-lines": 20.0.0 - "@commitlint/types": 20.2.0 + "@commitlint/types": 20.4.0 "@commitlint/to-lines@20.0.0": {} - "@commitlint/top-level@20.0.0": + "@commitlint/top-level@20.4.0": dependencies: - find-up: 7.0.0 + escalade: 3.2.0 "@commitlint/types@19.8.1": dependencies: @@ -10473,313 +10489,333 @@ snapshots: chalk: 5.6.0 optional: true - "@commitlint/types@20.2.0": + "@commitlint/types@20.4.0": dependencies: - "@types/conventional-commits-parser": 5.0.1 - chalk: 5.6.0 + conventional-commits-parser: 6.2.1 + picocolors: 1.1.1 - "@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)": + "@csstools/cascade-layer-name-parser@3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 - "@csstools/color-helpers@5.1.0": {} + "@csstools/color-helpers@6.0.1": {} - "@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)": + "@csstools/css-calc@3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 - "@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)": + "@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": dependencies: - "@csstools/color-helpers": 5.1.0 - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 - "@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)": + "@csstools/css-color-parser@4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": dependencies: - "@csstools/css-tokenizer": 3.0.4 + "@csstools/color-helpers": 6.0.1 + "@csstools/css-calc": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 - "@csstools/css-syntax-patches-for-csstree@1.0.21": {} - - "@csstools/css-tokenizer@3.0.4": {} - - "@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)": + "@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-tokenizer": 4.0.0 - "@csstools/postcss-alpha-function@1.0.1(postcss@8.5.6)": + "@csstools/css-syntax-patches-for-csstree@1.0.26": {} + + "@csstools/css-tokenizer@4.0.0": {} + + "@csstools/media-query-list-parser@5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + + "@csstools/postcss-alpha-function@2.0.2(postcss@8.5.6)": + dependencies: + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)": + "@csstools/postcss-cascade-layers@6.0.0(postcss@8.5.6)": dependencies: - "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.1.0) + "@csstools/selector-specificity": 6.0.0(postcss-selector-parser@7.1.1) postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - "@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.6)": + "@csstools/postcss-color-function-display-p3-linear@2.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-color-function@4.0.12(postcss@8.5.6)": + "@csstools/postcss-color-function@5.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.6)": + "@csstools/postcss-color-mix-function@4.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.6)": + "@csstools/postcss-color-mix-variadic-function-arguments@2.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.6)": + "@csstools/postcss-content-alt-text@3.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.6)": + "@csstools/postcss-contrast-color-function@3.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)": + "@csstools/postcss-exponential-functions@3.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-calc": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - "@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)": + "@csstools/postcss-font-format-keywords@5.0.0(postcss@8.5.6)": dependencies: - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 - "@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)": + "@csstools/postcss-gamut-mapping@3.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - "@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.6)": + "@csstools/postcss-gradients-interpolation-method@6.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-hwb-function@4.0.12(postcss@8.5.6)": + "@csstools/postcss-hwb-function@5.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-ic-unit@4.0.4(postcss@8.5.6)": + "@csstools/postcss-ic-unit@5.0.0(postcss@8.5.6)": dependencies: - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 - "@csstools/postcss-initial@2.0.1(postcss@8.5.6)": + "@csstools/postcss-initial@3.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 - "@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)": + "@csstools/postcss-is-pseudo-class@6.0.0(postcss@8.5.6)": dependencies: - "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.1.0) + "@csstools/selector-specificity": 6.0.0(postcss-selector-parser@7.1.1) postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - "@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.6)": + "@csstools/postcss-light-dark-function@3.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)": + "@csstools/postcss-logical-float-and-clear@4.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 - "@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)": + "@csstools/postcss-logical-overflow@3.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 - "@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)": + "@csstools/postcss-logical-overscroll-behavior@3.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 - "@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)": + "@csstools/postcss-logical-resize@4.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - "@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)": + "@csstools/postcss-logical-viewport-units@4.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-tokenizer": 3.0.4 - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)": + "@csstools/postcss-media-minmax@3.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/media-query-list-parser": 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + "@csstools/css-calc": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/media-query-list-parser": 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) postcss: 8.5.6 - "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)": + "@csstools/postcss-media-queries-aspect-ratio-number-values@4.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/media-query-list-parser": 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/media-query-list-parser": 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) postcss: 8.5.6 - "@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)": + "@csstools/postcss-mixins@1.0.0(postcss@8.5.6)": dependencies: - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + postcss: 8.5.6 + + "@csstools/postcss-nested-calc@5.0.0(postcss@8.5.6)": + dependencies: + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 - "@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.6)": + "@csstools/postcss-normalize-display-values@5.0.1(postcss@8.5.6)": dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - "@csstools/postcss-oklab-function@4.0.12(postcss@8.5.6)": + "@csstools/postcss-oklab-function@5.0.1(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-position-area-property@1.0.0(postcss@8.5.6)": + "@csstools/postcss-position-area-property@2.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 - "@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.6)": + "@csstools/postcss-progressive-custom-properties@5.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - "@csstools/postcss-random-function@2.0.1(postcss@8.5.6)": + "@csstools/postcss-property-rule-prelude-list@2.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - "@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.6)": + "@csstools/postcss-random-function@3.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-calc": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - "@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)": + "@csstools/postcss-relative-color-syntax@4.0.1(postcss@8.5.6)": dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.0 - - "@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)": - dependencies: - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - "@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)": + "@csstools/postcss-scope-pseudo-class@5.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + postcss: 8.5.6 + postcss-selector-parser: 7.1.1 + + "@csstools/postcss-sign-functions@2.0.0(postcss@8.5.6)": + dependencies: + "@csstools/css-calc": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - "@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.6)": + "@csstools/postcss-stepped-value-functions@5.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-calc": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - "@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)": + "@csstools/postcss-syntax-descriptor-syntax-production@2.0.0(postcss@8.5.6)": dependencies: - "@csstools/color-helpers": 5.1.0 + "@csstools/css-tokenizer": 4.0.0 + postcss: 8.5.6 + + "@csstools/postcss-system-ui-font-family@2.0.0(postcss@8.5.6)": + dependencies: + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + postcss: 8.5.6 + + "@csstools/postcss-text-decoration-shorthand@5.0.2(postcss@8.5.6)": + dependencies: + "@csstools/color-helpers": 6.0.1 postcss: 8.5.6 postcss-value-parser: 4.2.0 - "@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)": + "@csstools/postcss-trigonometric-functions@5.0.0(postcss@8.5.6)": dependencies: - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-calc": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - "@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)": + "@csstools/postcss-unset-value@5.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 - "@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)": + "@csstools/selector-resolve-nested@4.0.0(postcss-selector-parser@7.1.1)": dependencies: - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - "@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)": + "@csstools/selector-specificity@6.0.0(postcss-selector-parser@7.1.1)": dependencies: - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - "@csstools/utilities@2.0.0(postcss@8.5.6)": + "@csstools/utilities@3.0.0(postcss@8.5.6)": dependencies: postcss: 8.5.6 - "@dual-bundle/import-meta-resolve@4.2.1": {} - "@epic-web/invariant@1.0.0": {} "@esbuild/aix-ppc64@0.27.2": @@ -10860,66 +10896,54 @@ snapshots: "@esbuild/win32-x64@0.27.2": optional: true - "@eslint-community/eslint-utils@4.7.0(eslint@9.39.2(jiti@2.5.1))": + "@eslint-community/eslint-utils@4.9.0(eslint@10.0.0(jiti@2.5.1))": dependencies: - eslint: 9.39.2(jiti@2.5.1) + eslint: 10.0.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 - "@eslint-community/eslint-utils@4.9.0(eslint@9.39.2(jiti@2.5.1))": + "@eslint-community/eslint-utils@4.9.1(eslint@10.0.0(jiti@2.5.1))": dependencies: - eslint: 9.39.2(jiti@2.5.1) + eslint: 10.0.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 - "@eslint-community/regexpp@4.12.1": {} + "@eslint-community/regexpp@4.12.2": {} - "@eslint/config-array@0.21.1": + "@eslint/config-array@0.23.1": dependencies: - "@eslint/object-schema": 2.1.7 - debug: 4.4.1 - minimatch: 3.1.2 + "@eslint/object-schema": 3.0.1 + debug: 4.4.3 + minimatch: 10.1.1 transitivePeerDependencies: - supports-color - "@eslint/config-helpers@0.4.2": + "@eslint/config-helpers@0.5.2": dependencies: - "@eslint/core": 0.17.0 + "@eslint/core": 1.1.0 - "@eslint/core@0.17.0": + "@eslint/core@1.1.0": dependencies: "@types/json-schema": 7.0.15 - "@eslint/eslintrc@3.3.1": + "@eslint/js@10.0.1(eslint@10.0.0(jiti@2.5.1))": + optionalDependencies: + eslint: 10.0.0(jiti@2.5.1) + + "@eslint/object-schema@3.0.1": {} + + "@eslint/plugin-kit@0.6.0": dependencies: - ajv: 6.12.6 - debug: 4.4.1 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - "@eslint/js@9.39.2": {} - - "@eslint/object-schema@2.1.7": {} - - "@eslint/plugin-kit@0.4.1": - dependencies: - "@eslint/core": 0.17.0 + "@eslint/core": 1.1.0 levn: 0.4.1 "@fastify/busboy@2.1.1": {} - "@floating-ui/core@1.7.3": + "@floating-ui/core@1.7.4": dependencies: "@floating-ui/utils": 0.2.10 - "@floating-ui/dom@1.7.4": + "@floating-ui/dom@1.7.5": dependencies: - "@floating-ui/core": 1.7.3 + "@floating-ui/core": 1.7.4 "@floating-ui/utils": 0.2.10 "@floating-ui/utils@0.2.10": {} @@ -11005,16 +11029,18 @@ snapshots: "@jridgewell/resolve-uri": 3.1.2 "@jridgewell/sourcemap-codec": 1.5.5 - "@keyv/bigmap@1.3.0(keyv@5.5.5)": + "@keyv/bigmap@1.3.0(keyv@5.6.0)": dependencies: hashery: 1.3.0 - hookified: 1.14.0 - keyv: 5.5.5 + hookified: 1.15.1 + keyv: 5.6.0 "@keyv/serialize@1.1.1": {} "@lezer/common@1.2.3": {} + "@lezer/common@1.5.1": {} + "@lezer/highlight@1.2.1": dependencies: "@lezer/common": 1.2.3 @@ -11241,25 +11267,25 @@ snapshots: "@sec-ant/readable-stream@0.4.1": {} - "@semantic-release/changelog@6.0.3(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/changelog@6.0.3(semantic-release@25.0.3(typescript@5.9.3))": dependencies: "@semantic-release/error": 3.0.0 aggregate-error: 3.1.0 fs-extra: 11.3.1 lodash: 4.17.21 - semantic-release: 25.0.2(typescript@5.9.3) + semantic-release: 25.0.3(typescript@5.9.3) - "@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.3(typescript@5.9.3))": dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.2.0 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.2.0 - debug: 4.4.1 + debug: 4.4.3 import-from-esm: 2.0.0 lodash-es: 4.17.21 micromatch: 4.0.8 - semantic-release: 25.0.2(typescript@5.9.3) + semantic-release: 25.0.3(typescript@5.9.3) transitivePeerDependencies: - supports-color @@ -11267,7 +11293,7 @@ snapshots: "@semantic-release/error@4.0.0": {} - "@semantic-release/exec@7.1.0(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/exec@7.1.0(semantic-release@25.0.3(typescript@5.9.3))": dependencies: "@semantic-release/error": 4.0.0 aggregate-error: 3.1.0 @@ -11275,11 +11301,11 @@ snapshots: execa: 9.6.0 lodash-es: 4.17.21 parse-json: 8.3.0 - semantic-release: 25.0.2(typescript@5.9.3) + semantic-release: 25.0.3(typescript@5.9.3) transitivePeerDependencies: - supports-color - "@semantic-release/git@10.0.1(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/git@10.0.1(semantic-release@25.0.3(typescript@5.9.3))": dependencies: "@semantic-release/error": 3.0.0 aggregate-error: 3.1.0 @@ -11289,11 +11315,11 @@ snapshots: lodash: 4.17.21 micromatch: 4.0.8 p-reduce: 2.1.0 - semantic-release: 25.0.2(typescript@5.9.3) + semantic-release: 25.0.3(typescript@5.9.3) transitivePeerDependencies: - supports-color - "@semantic-release/github@12.0.2(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/github@12.0.2(semantic-release@25.0.3(typescript@5.9.3))": dependencies: "@octokit/core": 7.0.3 "@octokit/plugin-paginate-rest": 14.0.0(@octokit/core@7.0.3) @@ -11301,7 +11327,7 @@ snapshots: "@octokit/plugin-throttling": 11.0.1(@octokit/core@7.0.3) "@semantic-release/error": 4.0.0 aggregate-error: 5.0.0 - debug: 4.4.1 + debug: 4.4.3 dir-glob: 3.0.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -11309,18 +11335,18 @@ snapshots: lodash-es: 4.17.21 mime: 4.0.7 p-filter: 4.1.0 - semantic-release: 25.0.2(typescript@5.9.3) - tinyglobby: 0.2.14 + semantic-release: 25.0.3(typescript@5.9.3) + tinyglobby: 0.2.15 undici: 7.16.0 url-join: 5.0.0 transitivePeerDependencies: - supports-color - "@semantic-release/gitlab@13.2.9(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/gitlab@13.3.0(semantic-release@25.0.3(typescript@5.9.3))": dependencies: "@semantic-release/error": 4.0.0 aggregate-error: 5.0.0 - debug: 4.4.1 + debug: 4.4.3 dir-glob: 3.0.1 escape-string-regexp: 5.0.0 formdata-node: 6.0.3 @@ -11330,12 +11356,12 @@ snapshots: hpagent: 1.2.0 lodash-es: 4.17.21 parse-url: 10.0.3 - semantic-release: 25.0.2(typescript@5.9.3) + semantic-release: 25.0.3(typescript@5.9.3) url-join: 4.0.1 transitivePeerDependencies: - supports-color - "@semantic-release/npm@13.1.3(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/npm@13.1.3(semantic-release@25.0.3(typescript@5.9.3))": dependencies: "@actions/core": 2.0.1 "@semantic-release/error": 4.0.0 @@ -11350,23 +11376,23 @@ snapshots: rc: 1.2.8 read-pkg: 10.0.0 registry-auth-token: 5.1.0 - semantic-release: 25.0.2(typescript@5.9.3) + semantic-release: 25.0.3(typescript@5.9.3) semver: 7.7.2 tempy: 3.1.0 - "@semantic-release/release-notes-generator@14.1.0(semantic-release@25.0.2(typescript@5.9.3))": + "@semantic-release/release-notes-generator@14.1.0(semantic-release@25.0.3(typescript@5.9.3))": dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.2.0 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.2.0 - debug: 4.4.1 + debug: 4.4.3 get-stream: 7.0.1 import-from-esm: 2.0.0 into-stream: 7.0.0 lodash-es: 4.17.21 read-package-up: 11.0.0 - semantic-release: 25.0.2(typescript@5.9.3) + semantic-release: 25.0.3(typescript@5.9.3) transitivePeerDependencies: - supports-color @@ -11409,6 +11435,9 @@ snapshots: "@types/conventional-commits-parser@5.0.1": dependencies: "@types/node": 24.3.0 + optional: true + + "@types/esrecurse@4.3.1": {} "@types/estree@0.0.39": {} @@ -11436,95 +11465,95 @@ snapshots: "@types/trusted-types@2.0.7": {} - "@typescript-eslint/eslint-plugin@8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3)": + "@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3)": dependencies: - "@eslint-community/regexpp": 4.12.1 - "@typescript-eslint/parser": 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) - "@typescript-eslint/scope-manager": 8.50.0 - "@typescript-eslint/type-utils": 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) - "@typescript-eslint/utils": 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.50.0 - eslint: 9.39.2(jiti@2.5.1) + "@eslint-community/regexpp": 4.12.2 + "@typescript-eslint/parser": 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) + "@typescript-eslint/scope-manager": 8.55.0 + "@typescript-eslint/type-utils": 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) + "@typescript-eslint/utils": 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) + "@typescript-eslint/visitor-keys": 8.55.0 + eslint: 10.0.0(jiti@2.5.1) ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.3) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3)": + "@typescript-eslint/parser@8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3)": dependencies: - "@typescript-eslint/scope-manager": 8.50.0 - "@typescript-eslint/types": 8.50.0 - "@typescript-eslint/typescript-estree": 8.50.0(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.50.0 - debug: 4.4.1 - eslint: 9.39.2(jiti@2.5.1) + "@typescript-eslint/scope-manager": 8.55.0 + "@typescript-eslint/types": 8.55.0 + "@typescript-eslint/typescript-estree": 8.55.0(typescript@5.9.3) + "@typescript-eslint/visitor-keys": 8.55.0 + debug: 4.4.3 + eslint: 10.0.0(jiti@2.5.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.50.0(typescript@5.9.3)": + "@typescript-eslint/project-service@8.55.0(typescript@5.9.3)": dependencies: - "@typescript-eslint/tsconfig-utils": 8.50.0(typescript@5.9.3) - "@typescript-eslint/types": 8.50.0 - debug: 4.4.1 + "@typescript-eslint/tsconfig-utils": 8.55.0(typescript@5.9.3) + "@typescript-eslint/types": 8.55.0 + debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/scope-manager@8.50.0": + "@typescript-eslint/scope-manager@8.55.0": dependencies: - "@typescript-eslint/types": 8.50.0 - "@typescript-eslint/visitor-keys": 8.50.0 + "@typescript-eslint/types": 8.55.0 + "@typescript-eslint/visitor-keys": 8.55.0 - "@typescript-eslint/tsconfig-utils@8.50.0(typescript@5.9.3)": + "@typescript-eslint/tsconfig-utils@8.55.0(typescript@5.9.3)": dependencies: typescript: 5.9.3 - "@typescript-eslint/type-utils@8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3)": + "@typescript-eslint/type-utils@8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3)": dependencies: - "@typescript-eslint/types": 8.50.0 - "@typescript-eslint/typescript-estree": 8.50.0(typescript@5.9.3) - "@typescript-eslint/utils": 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) - debug: 4.4.1 - eslint: 9.39.2(jiti@2.5.1) - ts-api-utils: 2.1.0(typescript@5.9.3) + "@typescript-eslint/types": 8.55.0 + "@typescript-eslint/typescript-estree": 8.55.0(typescript@5.9.3) + "@typescript-eslint/utils": 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) + debug: 4.4.3 + eslint: 10.0.0(jiti@2.5.1) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/types@8.50.0": {} + "@typescript-eslint/types@8.55.0": {} - "@typescript-eslint/typescript-estree@8.50.0(typescript@5.9.3)": + "@typescript-eslint/typescript-estree@8.55.0(typescript@5.9.3)": dependencies: - "@typescript-eslint/project-service": 8.50.0(typescript@5.9.3) - "@typescript-eslint/tsconfig-utils": 8.50.0(typescript@5.9.3) - "@typescript-eslint/types": 8.50.0 - "@typescript-eslint/visitor-keys": 8.50.0 - debug: 4.4.1 + "@typescript-eslint/project-service": 8.55.0(typescript@5.9.3) + "@typescript-eslint/tsconfig-utils": 8.55.0(typescript@5.9.3) + "@typescript-eslint/types": 8.55.0 + "@typescript-eslint/visitor-keys": 8.55.0 + debug: 4.4.3 minimatch: 9.0.5 - semver: 7.7.2 + semver: 7.7.4 tinyglobby: 0.2.15 - ts-api-utils: 2.1.0(typescript@5.9.3) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3)": + "@typescript-eslint/utils@8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3)": dependencies: - "@eslint-community/eslint-utils": 4.7.0(eslint@9.39.2(jiti@2.5.1)) - "@typescript-eslint/scope-manager": 8.50.0 - "@typescript-eslint/types": 8.50.0 - "@typescript-eslint/typescript-estree": 8.50.0(typescript@5.9.3) - eslint: 9.39.2(jiti@2.5.1) + "@eslint-community/eslint-utils": 4.9.1(eslint@10.0.0(jiti@2.5.1)) + "@typescript-eslint/scope-manager": 8.55.0 + "@typescript-eslint/types": 8.55.0 + "@typescript-eslint/typescript-estree": 8.55.0(typescript@5.9.3) + eslint: 10.0.0(jiti@2.5.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/visitor-keys@8.50.0": + "@typescript-eslint/visitor-keys@8.55.0": dependencies: - "@typescript-eslint/types": 8.50.0 + "@typescript-eslint/types": 8.55.0 eslint-visitor-keys: 4.2.1 "@vime/core@5.4.1": @@ -11535,11 +11564,6 @@ snapshots: mitt: 3.0.1 stencil-wormhole: 3.4.1 - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -11631,8 +11655,6 @@ snapshots: array-ify@1.0.0: {} - array-union@2.1.0: {} - arraybuffer.prototype.slice@1.0.4: dependencies: array-buffer-byte-length: 1.0.2 @@ -11690,7 +11712,7 @@ snapshots: balanced-match@1.0.2: {} - balanced-match@2.0.0: {} + balanced-match@3.0.1: {} base64-js@1.3.1: {} @@ -11763,13 +11785,13 @@ snapshots: normalize-url: 8.0.2 responselike: 3.0.0 - cacheable@2.3.1: + cacheable@2.3.2: dependencies: - "@cacheable/memory": 2.0.6 - "@cacheable/utils": 2.3.2 - hookified: 1.14.0 - keyv: 5.5.5 - qified: 0.5.3 + "@cacheable/memory": 2.0.7 + "@cacheable/utils": 2.3.4 + hookified: 1.15.1 + keyv: 5.6.0 + qified: 0.6.0 cachedir@2.3.0: {} @@ -11909,12 +11931,12 @@ snapshots: codemirror@6.0.2: dependencies: "@codemirror/autocomplete": 6.18.6 - "@codemirror/commands": 6.10.1 - "@codemirror/language": 6.11.3 + "@codemirror/commands": 6.10.2 + "@codemirror/language": 6.12.1 "@codemirror/lint": 6.8.5 "@codemirror/search": 6.5.11 - "@codemirror/state": 6.5.2 - "@codemirror/view": 6.39.4 + "@codemirror/state": 6.5.4 + "@codemirror/view": 6.39.14 color-convert@1.9.3: dependencies: @@ -11976,15 +11998,15 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - conventional-changelog-angular@7.0.0: - dependencies: - compare-func: 2.0.0 - conventional-changelog-angular@8.0.0: dependencies: compare-func: 2.0.0 - conventional-changelog-conventionalcommits@7.0.2: + conventional-changelog-angular@8.1.0: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-conventionalcommits@9.1.0: dependencies: compare-func: 2.0.0 @@ -11999,17 +12021,14 @@ snapshots: conventional-commits-filter@5.0.0: {} - conventional-commits-parser@5.0.0: - dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 - conventional-commits-parser@6.2.0: dependencies: meow: 13.2.0 + conventional-commits-parser@6.2.1: + dependencies: + meow: 13.2.0 + convert-hrtime@5.0.0: {} convert-source-map@2.0.0: {} @@ -12059,10 +12078,10 @@ snapshots: dependencies: type-fest: 1.4.0 - css-blank-pseudo@7.0.1(postcss@8.5.6): + css-blank-pseudo@8.0.1(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 css-declaration-sorter@7.2.0(postcss@8.5.6): dependencies: @@ -12070,14 +12089,14 @@ snapshots: css-functions-list@3.2.3: {} - css-has-pseudo@7.0.3(postcss@8.5.6): + css-has-pseudo@8.0.0(postcss@8.5.6): dependencies: - "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.1.0) + "@csstools/selector-specificity": 6.0.0(postcss-selector-parser@7.1.1) postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - css-prefers-color-scheme@10.0.0(postcss@8.5.6): + css-prefers-color-scheme@11.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -12101,7 +12120,7 @@ snapshots: css-what@6.2.2: {} - cssdb@8.5.2: {} + cssdb@8.7.1: {} cssesc@3.0.0: {} @@ -12347,11 +12366,6 @@ snapshots: entities@4.5.0: {} - env-ci@11.1.1: - dependencies: - execa: 8.0.1 - java-properties: 1.0.2 - env-ci@11.2.0: dependencies: execa: 8.0.1 @@ -12480,21 +12494,23 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.5.1)): + eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.5.1)): dependencies: - eslint: 9.39.2(jiti@2.5.1) + eslint: 10.0.0(jiti@2.5.1) - eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.5.1)))(eslint@9.39.2(jiti@2.5.1))(prettier@3.7.4): + eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.5.1)))(eslint@10.0.0(jiti@2.5.1))(prettier@3.8.1): dependencies: - eslint: 9.39.2(jiti@2.5.1) - prettier: 3.7.4 - prettier-linter-helpers: 1.0.0 - synckit: 0.11.11 + eslint: 10.0.0(jiti@2.5.1) + prettier: 3.8.1 + prettier-linter-helpers: 1.0.1 + synckit: 0.11.12 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@2.5.1)) + eslint-config-prettier: 10.1.8(eslint@10.0.0(jiti@2.5.1)) - eslint-scope@8.4.0: + eslint-scope@9.1.0: dependencies: + "@types/esrecurse": 4.3.1 + "@types/estree": 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -12502,29 +12518,28 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.39.2(jiti@2.5.1): + eslint-visitor-keys@5.0.0: {} + + eslint@10.0.0(jiti@2.5.1): dependencies: - "@eslint-community/eslint-utils": 4.9.0(eslint@9.39.2(jiti@2.5.1)) - "@eslint-community/regexpp": 4.12.1 - "@eslint/config-array": 0.21.1 - "@eslint/config-helpers": 0.4.2 - "@eslint/core": 0.17.0 - "@eslint/eslintrc": 3.3.1 - "@eslint/js": 9.39.2 - "@eslint/plugin-kit": 0.4.1 + "@eslint-community/eslint-utils": 4.9.0(eslint@10.0.0(jiti@2.5.1)) + "@eslint-community/regexpp": 4.12.2 + "@eslint/config-array": 0.23.1 + "@eslint/config-helpers": 0.5.2 + "@eslint/core": 1.1.0 + "@eslint/plugin-kit": 0.6.0 "@humanfs/node": 0.16.6 "@humanwhocodes/module-importer": 1.0.1 "@humanwhocodes/retry": 0.4.3 "@types/estree": 1.0.8 ajv: 6.12.6 - chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 + debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - esquery: 1.6.0 + eslint-scope: 9.1.0 + eslint-visitor-keys: 5.0.0 + espree: 11.1.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -12534,8 +12549,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 10.1.1 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -12543,13 +12557,13 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.4.0: + espree@11.1.0: dependencies: acorn: 8.15.0 acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 4.2.1 + eslint-visitor-keys: 5.0.0 - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -12658,9 +12672,9 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 - file-entry-cache@11.1.1: + file-entry-cache@11.1.2: dependencies: - flat-cache: 6.1.19 + flat-cache: 6.1.20 file-entry-cache@8.0.0: dependencies: @@ -12697,12 +12711,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-up@7.0.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - unicorn-magic: 0.1.0 - find-versions@6.0.0: dependencies: semver-regex: 4.0.5 @@ -12720,11 +12728,11 @@ snapshots: flatted: 3.3.3 keyv: 4.5.4 - flat-cache@6.1.19: + flat-cache@6.1.20: dependencies: - cacheable: 2.3.1 + cacheable: 2.3.2 flatted: 3.3.3 - hookified: 1.14.0 + hookified: 1.15.1 flatpickr@4.6.13: {} @@ -12908,24 +12916,13 @@ snapshots: kind-of: 6.0.3 which: 1.3.1 - globals@14.0.0: {} - - globals@16.5.0: {} + globals@17.3.0: {} globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.2.0 - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - globby@14.1.0: dependencies: "@sindresorhus/merge-streams": 2.3.0 @@ -12935,6 +12932,15 @@ snapshots: slash: 5.1.0 unicorn-magic: 0.3.0 + globby@16.1.0: + dependencies: + "@sindresorhus/merge-streams": 4.0.0 + fast-glob: 3.3.3 + ignore: 7.0.5 + is-path-inside: 4.0.0 + slash: 5.1.0 + unicorn-magic: 0.4.0 + globjoin@0.1.4: {} gopd@1.2.0: {} @@ -12972,6 +12978,8 @@ snapshots: has-flag@4.0.0: {} + has-flag@5.0.1: {} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -12988,7 +12996,7 @@ snapshots: hashery@1.3.0: dependencies: - hookified: 1.14.0 + hookified: 1.15.1 hasown@2.0.2: dependencies: @@ -13002,7 +13010,7 @@ snapshots: hook-std@4.0.0: {} - hookified@1.14.0: {} + hookified@1.15.1: {} hosted-git-info@7.0.2: dependencies: @@ -13014,14 +13022,14 @@ snapshots: hpagent@1.2.0: {} - html-tags@3.3.1: {} + html-tags@5.1.0: {} http-cache-semantics@4.2.0: {} http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -13033,7 +13041,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -13068,13 +13076,15 @@ snapshots: import-from-esm@2.0.0: dependencies: - debug: 4.4.1 + debug: 4.4.3 import-meta-resolve: 4.1.0 transitivePeerDependencies: - supports-color import-meta-resolve@4.1.0: {} + import-meta-resolve@4.2.0: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -13238,6 +13248,8 @@ snapshots: is-obj@2.0.0: {} + is-path-inside@4.0.0: {} + is-plain-obj@4.1.0: {} is-plain-object@5.0.0: {} @@ -13274,10 +13286,6 @@ snapshots: has-symbols: 1.1.0 safe-regex-test: 1.1.0 - is-text-path@2.0.0: - dependencies: - text-extensions: 2.4.0 - is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.19 @@ -13377,15 +13385,13 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonparse@1.3.1: {} - jsonpointer@5.0.1: {} keyv@4.5.4: dependencies: json-buffer: 3.0.1 - keyv@5.5.5: + keyv@5.6.0: dependencies: "@keyv/serialize": 1.1.1 @@ -13439,7 +13445,7 @@ snapshots: dependencies: "@types/trusted-types": 2.0.7 - lit@3.3.1: + lit@3.3.2: dependencies: "@lit/reactive-element": 2.1.1 lit-element: 4.2.1 @@ -13465,10 +13471,6 @@ snapshots: dependencies: p-locate: 5.0.0 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - lodash-es@4.17.21: {} lodash.camelcase@4.3.0: {} @@ -13489,7 +13491,8 @@ snapshots: lodash.memoize@4.1.2: {} - lodash.merge@4.6.2: {} + lodash.merge@4.6.2: + optional: true lodash.mergewith@4.6.2: {} @@ -13551,11 +13554,11 @@ snapshots: marked@15.0.12: {} - marked@17.0.1: {} + marked@17.0.2: {} math-intrinsics@1.1.0: {} - mathml-tag-names@2.1.3: {} + mathml-tag-names@4.0.0: {} mdn-data@2.0.28: {} @@ -13565,6 +13568,8 @@ snapshots: meow@13.2.0: {} + meow@14.0.0: {} + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -13773,10 +13778,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.2.1 - p-locate@2.0.0: dependencies: p-limit: 1.3.0 @@ -13789,10 +13790,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - p-map@7.0.3: {} p-reduce@2.1.0: {} @@ -13853,8 +13850,6 @@ snapshots: path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -13917,10 +13912,10 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): + postcss-attribute-case-insensitive@8.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-calc@10.1.1(postcss@8.5.6): dependencies: @@ -13933,24 +13928,24 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@7.0.12(postcss@8.5.6): + postcss-color-functional-notation@8.0.1(postcss@8.5.6): dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 - postcss-color-hex-alpha@10.0.0(postcss@8.5.6): + postcss-color-hex-alpha@11.0.0(postcss@8.5.6): dependencies: - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): + postcss-color-rebeccapurple@11.0.0(postcss@8.5.6): dependencies: - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -13968,35 +13963,35 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-custom-media@11.0.6(postcss@8.5.6): + postcss-custom-media@12.0.0(postcss@8.5.6): dependencies: - "@csstools/cascade-layer-name-parser": 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/media-query-list-parser": 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + "@csstools/cascade-layer-name-parser": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/media-query-list-parser": 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) postcss: 8.5.6 - postcss-custom-properties@14.0.6(postcss@8.5.6): + postcss-custom-properties@15.0.0(postcss@8.5.6): dependencies: - "@csstools/cascade-layer-name-parser": 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/cascade-layer-name-parser": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-custom-selectors@8.0.5(postcss@8.5.6): + postcss-custom-selectors@9.0.0(postcss@8.5.6): dependencies: - "@csstools/cascade-layer-name-parser": 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/cascade-layer-name-parser": 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): + postcss-dir-pseudo-class@10.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-discard-comments@7.0.5(postcss@8.5.6): dependencies: @@ -14015,34 +14010,34 @@ snapshots: dependencies: postcss: 8.5.6 - postcss-double-position-gradients@6.0.4(postcss@8.5.6): + postcss-double-position-gradients@7.0.0(postcss@8.5.6): dependencies: - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-focus-visible@10.0.1(postcss@8.5.6): + postcss-focus-visible@11.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - postcss-focus-within@9.0.1(postcss@8.5.6): + postcss-focus-within@10.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-font-variant@5.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-gap-properties@6.0.0(postcss@8.5.6): + postcss-gap-properties@7.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-image-set-function@7.0.0(postcss@8.5.6): + postcss-image-set-function@8.0.0(postcss@8.5.6): dependencies: - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -14065,13 +14060,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.6 - postcss-lab-function@7.0.12(postcss@8.5.6): + postcss-lab-function@8.0.1(postcss@8.5.6): dependencies: - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/utilities": 2.0.0(postcss@8.5.6) + "@csstools/css-color-parser": 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/utilities": 3.0.0(postcss@8.5.6) postcss: 8.5.6 postcss-load-config@4.0.2(postcss@8.5.6): @@ -14081,7 +14076,7 @@ snapshots: optionalDependencies: postcss: 8.5.6 - postcss-logical@8.1.0(postcss@8.5.6): + postcss-logical@9.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -14135,12 +14130,12 @@ snapshots: postcss: 8.5.6 postcss-selector-parser: 6.1.2 - postcss-nesting@13.0.2(postcss@8.5.6): + postcss-nesting@14.0.0(postcss@8.5.6): dependencies: - "@csstools/selector-resolve-nested": 3.1.0(postcss-selector-parser@7.1.0) - "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.1.0) + "@csstools/selector-resolve-nested": 4.0.0(postcss-selector-parser@7.1.1) + "@csstools/selector-specificity": 6.0.0(postcss-selector-parser@7.1.1) postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-normalize-charset@7.0.1(postcss@8.5.6): dependencies: @@ -14197,7 +14192,7 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-overflow-shorthand@6.0.0(postcss@8.5.6): + postcss-overflow-shorthand@7.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -14206,88 +14201,91 @@ snapshots: dependencies: postcss: 8.5.6 - postcss-place@10.0.0(postcss@8.5.6): + postcss-place@11.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-preset-env@10.5.0(postcss@8.5.6): + postcss-preset-env@11.1.3(postcss@8.5.6): dependencies: - "@csstools/postcss-alpha-function": 1.0.1(postcss@8.5.6) - "@csstools/postcss-cascade-layers": 5.0.2(postcss@8.5.6) - "@csstools/postcss-color-function": 4.0.12(postcss@8.5.6) - "@csstools/postcss-color-function-display-p3-linear": 1.0.1(postcss@8.5.6) - "@csstools/postcss-color-mix-function": 3.0.12(postcss@8.5.6) - "@csstools/postcss-color-mix-variadic-function-arguments": 1.0.2(postcss@8.5.6) - "@csstools/postcss-content-alt-text": 2.0.8(postcss@8.5.6) - "@csstools/postcss-contrast-color-function": 2.0.12(postcss@8.5.6) - "@csstools/postcss-exponential-functions": 2.0.9(postcss@8.5.6) - "@csstools/postcss-font-format-keywords": 4.0.0(postcss@8.5.6) - "@csstools/postcss-gamut-mapping": 2.0.11(postcss@8.5.6) - "@csstools/postcss-gradients-interpolation-method": 5.0.12(postcss@8.5.6) - "@csstools/postcss-hwb-function": 4.0.12(postcss@8.5.6) - "@csstools/postcss-ic-unit": 4.0.4(postcss@8.5.6) - "@csstools/postcss-initial": 2.0.1(postcss@8.5.6) - "@csstools/postcss-is-pseudo-class": 5.0.3(postcss@8.5.6) - "@csstools/postcss-light-dark-function": 2.0.11(postcss@8.5.6) - "@csstools/postcss-logical-float-and-clear": 3.0.0(postcss@8.5.6) - "@csstools/postcss-logical-overflow": 2.0.0(postcss@8.5.6) - "@csstools/postcss-logical-overscroll-behavior": 2.0.0(postcss@8.5.6) - "@csstools/postcss-logical-resize": 3.0.0(postcss@8.5.6) - "@csstools/postcss-logical-viewport-units": 3.0.4(postcss@8.5.6) - "@csstools/postcss-media-minmax": 2.0.9(postcss@8.5.6) - "@csstools/postcss-media-queries-aspect-ratio-number-values": 3.0.5(postcss@8.5.6) - "@csstools/postcss-nested-calc": 4.0.0(postcss@8.5.6) - "@csstools/postcss-normalize-display-values": 4.0.0(postcss@8.5.6) - "@csstools/postcss-oklab-function": 4.0.12(postcss@8.5.6) - "@csstools/postcss-position-area-property": 1.0.0(postcss@8.5.6) - "@csstools/postcss-progressive-custom-properties": 4.2.1(postcss@8.5.6) - "@csstools/postcss-random-function": 2.0.1(postcss@8.5.6) - "@csstools/postcss-relative-color-syntax": 3.0.12(postcss@8.5.6) - "@csstools/postcss-scope-pseudo-class": 4.0.1(postcss@8.5.6) - "@csstools/postcss-sign-functions": 1.1.4(postcss@8.5.6) - "@csstools/postcss-stepped-value-functions": 4.0.9(postcss@8.5.6) - "@csstools/postcss-system-ui-font-family": 1.0.0(postcss@8.5.6) - "@csstools/postcss-text-decoration-shorthand": 4.0.3(postcss@8.5.6) - "@csstools/postcss-trigonometric-functions": 4.0.9(postcss@8.5.6) - "@csstools/postcss-unset-value": 4.0.0(postcss@8.5.6) + "@csstools/postcss-alpha-function": 2.0.2(postcss@8.5.6) + "@csstools/postcss-cascade-layers": 6.0.0(postcss@8.5.6) + "@csstools/postcss-color-function": 5.0.1(postcss@8.5.6) + "@csstools/postcss-color-function-display-p3-linear": 2.0.1(postcss@8.5.6) + "@csstools/postcss-color-mix-function": 4.0.1(postcss@8.5.6) + "@csstools/postcss-color-mix-variadic-function-arguments": 2.0.1(postcss@8.5.6) + "@csstools/postcss-content-alt-text": 3.0.0(postcss@8.5.6) + "@csstools/postcss-contrast-color-function": 3.0.1(postcss@8.5.6) + "@csstools/postcss-exponential-functions": 3.0.0(postcss@8.5.6) + "@csstools/postcss-font-format-keywords": 5.0.0(postcss@8.5.6) + "@csstools/postcss-gamut-mapping": 3.0.1(postcss@8.5.6) + "@csstools/postcss-gradients-interpolation-method": 6.0.1(postcss@8.5.6) + "@csstools/postcss-hwb-function": 5.0.1(postcss@8.5.6) + "@csstools/postcss-ic-unit": 5.0.0(postcss@8.5.6) + "@csstools/postcss-initial": 3.0.0(postcss@8.5.6) + "@csstools/postcss-is-pseudo-class": 6.0.0(postcss@8.5.6) + "@csstools/postcss-light-dark-function": 3.0.0(postcss@8.5.6) + "@csstools/postcss-logical-float-and-clear": 4.0.0(postcss@8.5.6) + "@csstools/postcss-logical-overflow": 3.0.0(postcss@8.5.6) + "@csstools/postcss-logical-overscroll-behavior": 3.0.0(postcss@8.5.6) + "@csstools/postcss-logical-resize": 4.0.0(postcss@8.5.6) + "@csstools/postcss-logical-viewport-units": 4.0.0(postcss@8.5.6) + "@csstools/postcss-media-minmax": 3.0.0(postcss@8.5.6) + "@csstools/postcss-media-queries-aspect-ratio-number-values": 4.0.0(postcss@8.5.6) + "@csstools/postcss-mixins": 1.0.0(postcss@8.5.6) + "@csstools/postcss-nested-calc": 5.0.0(postcss@8.5.6) + "@csstools/postcss-normalize-display-values": 5.0.1(postcss@8.5.6) + "@csstools/postcss-oklab-function": 5.0.1(postcss@8.5.6) + "@csstools/postcss-position-area-property": 2.0.0(postcss@8.5.6) + "@csstools/postcss-progressive-custom-properties": 5.0.0(postcss@8.5.6) + "@csstools/postcss-property-rule-prelude-list": 2.0.0(postcss@8.5.6) + "@csstools/postcss-random-function": 3.0.0(postcss@8.5.6) + "@csstools/postcss-relative-color-syntax": 4.0.1(postcss@8.5.6) + "@csstools/postcss-scope-pseudo-class": 5.0.0(postcss@8.5.6) + "@csstools/postcss-sign-functions": 2.0.0(postcss@8.5.6) + "@csstools/postcss-stepped-value-functions": 5.0.0(postcss@8.5.6) + "@csstools/postcss-syntax-descriptor-syntax-production": 2.0.0(postcss@8.5.6) + "@csstools/postcss-system-ui-font-family": 2.0.0(postcss@8.5.6) + "@csstools/postcss-text-decoration-shorthand": 5.0.2(postcss@8.5.6) + "@csstools/postcss-trigonometric-functions": 5.0.0(postcss@8.5.6) + "@csstools/postcss-unset-value": 5.0.0(postcss@8.5.6) autoprefixer: 10.4.23(postcss@8.5.6) browserslist: 4.28.1 - css-blank-pseudo: 7.0.1(postcss@8.5.6) - css-has-pseudo: 7.0.3(postcss@8.5.6) - css-prefers-color-scheme: 10.0.0(postcss@8.5.6) - cssdb: 8.5.2 + css-blank-pseudo: 8.0.1(postcss@8.5.6) + css-has-pseudo: 8.0.0(postcss@8.5.6) + css-prefers-color-scheme: 11.0.0(postcss@8.5.6) + cssdb: 8.7.1 postcss: 8.5.6 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) + postcss-attribute-case-insensitive: 8.0.0(postcss@8.5.6) postcss-clamp: 4.1.0(postcss@8.5.6) - postcss-color-functional-notation: 7.0.12(postcss@8.5.6) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) - postcss-custom-media: 11.0.6(postcss@8.5.6) - postcss-custom-properties: 14.0.6(postcss@8.5.6) - postcss-custom-selectors: 8.0.5(postcss@8.5.6) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) - postcss-double-position-gradients: 6.0.4(postcss@8.5.6) - postcss-focus-visible: 10.0.1(postcss@8.5.6) - postcss-focus-within: 9.0.1(postcss@8.5.6) + postcss-color-functional-notation: 8.0.1(postcss@8.5.6) + postcss-color-hex-alpha: 11.0.0(postcss@8.5.6) + postcss-color-rebeccapurple: 11.0.0(postcss@8.5.6) + postcss-custom-media: 12.0.0(postcss@8.5.6) + postcss-custom-properties: 15.0.0(postcss@8.5.6) + postcss-custom-selectors: 9.0.0(postcss@8.5.6) + postcss-dir-pseudo-class: 10.0.0(postcss@8.5.6) + postcss-double-position-gradients: 7.0.0(postcss@8.5.6) + postcss-focus-visible: 11.0.0(postcss@8.5.6) + postcss-focus-within: 10.0.0(postcss@8.5.6) postcss-font-variant: 5.0.0(postcss@8.5.6) - postcss-gap-properties: 6.0.0(postcss@8.5.6) - postcss-image-set-function: 7.0.0(postcss@8.5.6) - postcss-lab-function: 7.0.12(postcss@8.5.6) - postcss-logical: 8.1.0(postcss@8.5.6) - postcss-nesting: 13.0.2(postcss@8.5.6) + postcss-gap-properties: 7.0.0(postcss@8.5.6) + postcss-image-set-function: 8.0.0(postcss@8.5.6) + postcss-lab-function: 8.0.1(postcss@8.5.6) + postcss-logical: 9.0.0(postcss@8.5.6) + postcss-nesting: 14.0.0(postcss@8.5.6) postcss-opacity-percentage: 3.0.0(postcss@8.5.6) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) + postcss-overflow-shorthand: 7.0.0(postcss@8.5.6) postcss-page-break: 3.0.4(postcss@8.5.6) - postcss-place: 10.0.0(postcss@8.5.6) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) + postcss-place: 11.0.0(postcss@8.5.6) + postcss-pseudo-class-any-link: 11.0.0(postcss@8.5.6) postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) - postcss-selector-not: 8.0.1(postcss@8.5.6) + postcss-selector-not: 9.0.0(postcss@8.5.6) - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): + postcss-pseudo-class-any-link@11.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-reduce-initial@7.0.5(postcss@8.5.6): dependencies: @@ -14310,16 +14308,14 @@ snapshots: postcss: 8.5.6 thenby: 1.3.4 - postcss-resolve-nested-selector@0.1.6: {} - postcss-safe-parser@7.0.1(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-not@8.0.1(postcss@8.5.6): + postcss-selector-not@9.0.0(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-selector-parser@6.0.10: dependencies: @@ -14336,6 +14332,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-svgo@7.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -14357,19 +14358,19 @@ snapshots: prelude-ls@1.2.1: {} - prettier-linter-helpers@1.0.0: + prettier-linter-helpers@1.0.1: dependencies: fast-diff: 1.3.0 - prettier-plugin-organize-imports@4.3.0(prettier@3.7.4)(typescript@5.9.3): + prettier-plugin-organize-imports@4.3.0(prettier@3.8.1)(typescript@5.9.3): dependencies: - prettier: 3.7.4 + prettier: 3.8.1 typescript: 5.9.3 prettier@2.8.8: optional: true - prettier@3.7.4: {} + prettier@3.8.1: {} pretty-bytes@5.6.0: {} @@ -14387,9 +14388,9 @@ snapshots: punycode@2.3.1: {} - qified@0.5.3: + qified@0.6.0: dependencies: - hookified: 1.14.0 + hookified: 1.15.1 queue-microtask@1.2.3: {} @@ -14623,17 +14624,17 @@ snapshots: sax@1.4.1: {} - semantic-release@25.0.2(typescript@5.9.3): + semantic-release@25.0.3(typescript@5.9.3): dependencies: - "@semantic-release/commit-analyzer": 13.0.1(semantic-release@25.0.2(typescript@5.9.3)) + "@semantic-release/commit-analyzer": 13.0.1(semantic-release@25.0.3(typescript@5.9.3)) "@semantic-release/error": 4.0.0 - "@semantic-release/github": 12.0.2(semantic-release@25.0.2(typescript@5.9.3)) - "@semantic-release/npm": 13.1.3(semantic-release@25.0.2(typescript@5.9.3)) - "@semantic-release/release-notes-generator": 14.1.0(semantic-release@25.0.2(typescript@5.9.3)) + "@semantic-release/github": 12.0.2(semantic-release@25.0.3(typescript@5.9.3)) + "@semantic-release/npm": 13.1.3(semantic-release@25.0.3(typescript@5.9.3)) + "@semantic-release/release-notes-generator": 14.1.0(semantic-release@25.0.3(typescript@5.9.3)) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.9.3) - debug: 4.4.1 - env-ci: 11.1.1 + debug: 4.4.3 + env-ci: 11.2.0 execa: 9.6.0 figures: 6.1.0 find-versions: 6.0.0 @@ -14651,23 +14652,20 @@ snapshots: read-package-up: 12.0.0 resolve-from: 5.0.0 semver: 7.7.2 - semver-diff: 5.0.0 signale: 1.4.0 yargs: 18.0.0 transitivePeerDependencies: - supports-color - typescript - semver-diff@5.0.0: - dependencies: - semver: 7.7.2 - semver-regex@4.0.5: {} semver@6.3.1: {} semver@7.7.2: {} + semver@7.7.4: {} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -14744,8 +14742,6 @@ snapshots: dependencies: unicode-emoji-modifier-base: 1.0.0 - slash@3.0.0: {} - slash@5.1.0: {} slice-ansi@4.0.0: @@ -14837,6 +14833,11 @@ snapshots: get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 + string-width@8.1.1: + dependencies: + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + string.prototype.matchall@4.0.12: dependencies: call-bind: 1.0.8 @@ -14920,26 +14921,27 @@ snapshots: dependencies: browserslist: 4.28.1 postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - stylelint-config-recommended@17.0.0(stylelint@16.26.1(typescript@5.9.3)): + stylelint-config-recommended@18.0.0(stylelint@17.3.0(typescript@5.9.3)): dependencies: - stylelint: 16.26.1(typescript@5.9.3) + stylelint: 17.3.0(typescript@5.9.3) - stylelint-config-standard@39.0.1(stylelint@16.26.1(typescript@5.9.3)): + stylelint-config-standard@40.0.0(stylelint@17.3.0(typescript@5.9.3)): dependencies: - stylelint: 16.26.1(typescript@5.9.3) - stylelint-config-recommended: 17.0.0(stylelint@16.26.1(typescript@5.9.3)) + stylelint: 17.3.0(typescript@5.9.3) + stylelint-config-recommended: 18.0.0(stylelint@17.3.0(typescript@5.9.3)) - stylelint@16.26.1(typescript@5.9.3): + stylelint@17.3.0(typescript@5.9.3): dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-syntax-patches-for-csstree": 1.0.21 - "@csstools/css-tokenizer": 3.0.4 - "@csstools/media-query-list-parser": 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.1.0) - "@dual-bundle/import-meta-resolve": 4.2.1 - balanced-match: 2.0.0 + "@csstools/css-calc": 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-syntax-patches-for-csstree": 1.0.26 + "@csstools/css-tokenizer": 4.0.0 + "@csstools/media-query-list-parser": 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/selector-resolve-nested": 4.0.0(postcss-selector-parser@7.1.1) + "@csstools/selector-specificity": 6.0.0(postcss-selector-parser@7.1.1) + balanced-match: 3.0.1 colord: 2.9.3 cosmiconfig: 9.0.0(typescript@5.9.3) css-functions-list: 3.2.3 @@ -14947,31 +14949,30 @@ snapshots: debug: 4.4.3 fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 - file-entry-cache: 11.1.1 + file-entry-cache: 11.1.2 global-modules: 2.0.0 - globby: 11.1.0 + globby: 16.1.0 globjoin: 0.1.4 - html-tags: 3.3.1 + html-tags: 5.1.0 ignore: 7.0.5 + import-meta-resolve: 4.2.0 imurmurhash: 0.1.4 is-plain-object: 5.0.0 known-css-properties: 0.37.0 - mathml-tag-names: 2.1.3 - meow: 13.2.0 + mathml-tag-names: 4.0.0 + meow: 14.0.0 micromatch: 4.0.8 normalize-path: 3.0.0 picocolors: 1.1.1 postcss: 8.5.6 - postcss-resolve-nested-selector: 0.1.6 postcss-safe-parser: 7.0.1(postcss@8.5.6) - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - resolve-from: 5.0.0 - string-width: 4.2.3 - supports-hyperlinks: 3.2.0 + string-width: 8.1.1 + supports-hyperlinks: 4.4.0 svg-tags: 1.0.0 table: 6.9.0 - write-file-atomic: 5.0.1 + write-file-atomic: 7.0.0 transitivePeerDependencies: - supports-color - typescript @@ -14991,6 +14992,8 @@ snapshots: function-timeout: 1.0.2 time-span: 5.1.0 + supports-color@10.2.2: {} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -15004,6 +15007,11 @@ snapshots: has-flag: 4.0.0 supports-color: 7.2.0 + supports-hyperlinks@4.4.0: + dependencies: + has-flag: 5.0.1 + supports-color: 10.2.2 + supports-preserve-symlinks-flag@1.0.0: {} svg-tags@1.0.0: {} @@ -15018,7 +15026,7 @@ snapshots: picocolors: 1.1.1 sax: 1.4.1 - synckit@0.11.11: + synckit@0.11.12: dependencies: "@pkgr/core": 0.2.9 @@ -15084,8 +15092,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - text-extensions@2.4.0: {} - thenby@1.3.4: {} thenify-all@1.6.0: @@ -15139,7 +15145,7 @@ snapshots: traverse@0.6.8: {} - ts-api-utils@2.1.0(typescript@5.9.3): + ts-api-utils@2.4.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -15202,13 +15208,13 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3): + typescript-eslint@8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3): dependencies: - "@typescript-eslint/eslint-plugin": 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) - "@typescript-eslint/parser": 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) - "@typescript-eslint/typescript-estree": 8.50.0(typescript@5.9.3) - "@typescript-eslint/utils": 8.50.0(eslint@9.39.2(jiti@2.5.1))(typescript@5.9.3) - eslint: 9.39.2(jiti@2.5.1) + "@typescript-eslint/eslint-plugin": 8.55.0(@typescript-eslint/parser@8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) + "@typescript-eslint/parser": 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) + "@typescript-eslint/typescript-estree": 8.55.0(typescript@5.9.3) + "@typescript-eslint/utils": 8.55.0(eslint@10.0.0(jiti@2.5.1))(typescript@5.9.3) + eslint: 10.0.0(jiti@2.5.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -15260,6 +15266,8 @@ snapshots: unicorn-magic@0.3.0: {} + unicorn-magic@0.4.0: {} + unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 @@ -15301,18 +15309,18 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-plugin-pwa@1.2.0(vite@7.3.0(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.4.0)(workbox-window@7.4.0): + vite-plugin-pwa@1.2.0(vite@7.3.1(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.4.0)(workbox-window@7.4.0): dependencies: debug: 4.4.1 pretty-bytes: 6.1.1 tinyglobby: 0.2.14 - vite: 7.3.0(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) workbox-build: 7.4.0 workbox-window: 7.4.0 transitivePeerDependencies: - supports-color - vite@7.3.0(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1): + vite@7.3.1(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -15544,7 +15552,7 @@ snapshots: wrappy@1.0.2: {} - write-file-atomic@5.0.1: + write-file-atomic@7.0.0: dependencies: imurmurhash: 0.1.4 signal-exit: 4.1.0 @@ -15625,6 +15633,4 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.2.1: {} - yoctocolors@2.1.2: {} diff --git a/scripts/bundle.sh b/scripts/bundle.sh index 8e1d2ece..b1c06473 100644 --- a/scripts/bundle.sh +++ b/scripts/bundle.sh @@ -10,9 +10,6 @@ echo "$( jq '.version = "'$COMPOSER_VERSION'"' composer.json )" > composer.json # replace CP_VERSION constant in app/config/constants sed -i "s/^defined('CP_VERSION').*/defined('CP_VERSION') || define('CP_VERSION', '$VERSION');/" ./app/Config/Constants.php -# fill CP_VERSION.env for docker build -echo "$VERSION" > ./CP_VERSION.env - # download GeoLite2-City archive and extract it to writable/uploads wget -c "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=$MAXMIND_LICENCE_KEY&suffix=tar.gz" -O - | tar -xz -C ./writable/uploads/