diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index cff4e85ef5ef77b0a99025fa1ff5016c1d5d7e74..0000000000000000000000000000000000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "env": { - "browser": true, - "es2020": true - }, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:prettier/recommended" - ], - "parserOptions": { - "ecmaVersion": 11, - "sourceType": "module" - }, - "rules": {} -} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ee3acd7e0d074553b6b37c271cfd91f2c98e3044..fcae26a09b1acf5fc1e4697ef3b750f858a9fa13 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -69,10 +69,9 @@ lint-php: lint-js: stage: quality script: - - pnpm run prettier + - pnpm run format - pnpm run typecheck - pnpm run lint - - pnpm run lint:css dependencies: - js-dependencies diff --git a/app/Common.php b/app/Common.php index 6f720768acb7053f8312b65ba3d086d1b3aab598..89981c0ddf3cb900212b969d3546b2e1dda7b409 100644 --- a/app/Common.php +++ b/app/Common.php @@ -37,7 +37,7 @@ if (! function_exists('view')) { $renderer = single_service('renderer', $path); $saveData = config('View') -->saveData; + ->saveData; if (array_key_exists('saveData', $options)) { $saveData = (bool) $options['saveData']; diff --git a/app/Config/Events.php b/app/Config/Events.php index 8da203d08d177b18d46d0fb240e8a5764819c268..ac4ed255e4bb54e85bcca04ccff7b37d580ee9f6 100644 --- a/app/Config/Events.php +++ b/app/Config/Events.php @@ -50,11 +50,12 @@ Events::on('pre_system', static function (): void { */ if (CI_DEBUG && ! is_cli()) { Events::on('DBQuery', Database::class . '::collect'); - Services::toolbar()->respond(); + service('toolbar') + ->respond(); // Hot Reload route - for framework use on the hot reloader. if (ENVIRONMENT === 'development') { - Services::routes()->get('__hot-reload', static function (): void { + service('routes')->get('__hot-reload', static function (): void { (new HotReloader())->run(); }); } diff --git a/app/Config/Filters.php b/app/Config/Filters.php index 92125f42b64c1e118b7271af0823de92af5c9a84..1cf07e27141bf01b54da6b98d09b7bfa3eb4725e 100644 --- a/app/Config/Filters.php +++ b/app/Config/Filters.php @@ -67,7 +67,7 @@ class Filters extends BaseConfig /** * List of filter aliases that are always applied before and after every request. * - * @var array<string, array<string, array<string, string|array<string>>>>>|array<string, list<string>> + * @var array<string, array<string, array<string, string|array<string>>>>|array<string, list<string>> */ public array $globals = [ 'before' => [ diff --git a/app/Config/Format.php b/app/Config/Format.php index 2b72fc0e8eabc0fd8385f84b9e4067e8730140bd..86b7e2ddb16974ab2673c67f115b92ca3652450a 100644 --- a/app/Config/Format.php +++ b/app/Config/Format.php @@ -74,6 +74,6 @@ class Format extends BaseConfig */ public function getFormatter(string $mime): FormatterInterface { - return Services::format()->getFormatter($mime); + return service('format')->getFormatter($mime); } } diff --git a/app/Config/Generators.php b/app/Config/Generators.php index 172b40815d617906d9ad4f032342fbeb67ec8cb6..76b82d6b04aa727db62965db40365f035a308a1e 100644 --- a/app/Config/Generators.php +++ b/app/Config/Generators.php @@ -25,7 +25,7 @@ class Generators extends BaseConfig * * YOU HAVE BEEN WARNED! * - * @var array<string, string> + * @var array<string, array<string, string>|string> */ public array $views = [ 'make:cell' => [ diff --git a/app/Config/Paths.php b/app/Config/Paths.php index 496590dc28f8867774fbede9f8e68134cb2d56f6..aa51ea9e7be7822d0585515527caa6f111b2548d 100644 --- a/app/Config/Paths.php +++ b/app/Config/Paths.php @@ -70,7 +70,7 @@ class Paths * This variable must contain the name of the directory that * contains the view files used by your application. By * default this is in `app/Views`. This value - * is used when no value is provided to `Services::renderer()`. + * is used when no value is provided to `service('renderer')`. */ public string $viewDirectory = __DIR__ . '/../Views'; } diff --git a/app/Config/Tasks.php b/app/Config/Tasks.php index e78ebfc3689937cf5b2629cfc7cac85b6afc1c62..084dbade5abffa9bffdeaf8b87fc145219aae80a 100644 --- a/app/Config/Tasks.php +++ b/app/Config/Tasks.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Config; -use CodeIgniter\Config\BaseConfig; +use CodeIgniter\Tasks\Config\Tasks as BaseTasks; use CodeIgniter\Tasks\Scheduler; -class Tasks extends BaseConfig +class Tasks extends BaseTasks { /** * -------------------------------------------------------------------------- @@ -17,7 +17,7 @@ class Tasks extends BaseConfig * If true, will log the time it takes for each task to run. * Requires the settings table to have been created previously. */ - public bool $logPerformance = false; + public bool $logPerformance = true; /** * -------------------------------------------------------------------------- diff --git a/app/Controllers/EpisodeAudioController.php b/app/Controllers/EpisodeAudioController.php index 76487098d4e4af45b09ad395431441a7af08b2e1..2f2347698091b065b0e140e0a112d271a63cbc77 100644 --- a/app/Controllers/EpisodeAudioController.php +++ b/app/Controllers/EpisodeAudioController.php @@ -21,7 +21,6 @@ use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\HTTP\URI; -use Config\Services; use Modules\Analytics\Config\Analytics; use Modules\PremiumPodcasts\Entities\Subscription; use Modules\PremiumPodcasts\Models\SubscriptionModel; @@ -130,7 +129,7 @@ class EpisodeAudioController extends Controller } } - $session = Services::session(); + $session = service('session'); $serviceName = ''; if ($this->request->getGet('_from')) { diff --git a/app/Controllers/EpisodeController.php b/app/Controllers/EpisodeController.php index 335d96d882a3c30b673e13280f49283494dc6efe..498f2c2c57b838cfac35fe9cf4874521e3e938bd 100644 --- a/app/Controllers/EpisodeController.php +++ b/app/Controllers/EpisodeController.php @@ -21,7 +21,6 @@ use CodeIgniter\Exceptions\PageNotFoundException; use CodeIgniter\HTTP\Response; use CodeIgniter\HTTP\ResponseInterface; use Config\Embed; -use Config\Services; use Modules\Analytics\AnalyticsTrait; use Modules\Fediverse\Objects\OrderedCollectionObject; use Modules\Fediverse\Objects\OrderedCollectionPage; @@ -293,7 +292,7 @@ class EpisodeController extends BaseController $this->registerPodcastWebpageHit($this->episode->podcast_id); } - $session = Services::session(); + $session = service('session'); if (service('superglobals')->server('HTTP_REFERER') !== null) { $session->set('embed_domain', parse_url(service('superglobals')->server('HTTP_REFERER'), PHP_URL_HOST)); diff --git a/app/Controllers/PostController.php b/app/Controllers/PostController.php index 6a8b24f28f583383569172f8d85ac48b2174bec0..f7c55b90a7f72c25211c51a9db930a672c72b787 100644 --- a/app/Controllers/PostController.php +++ b/app/Controllers/PostController.php @@ -52,16 +52,21 @@ class PostController extends FediversePostController $this->podcast = $podcast; $this->actor = $this->podcast->actor; + if (count($params) <= 1) { + throw PageNotFoundException::forPageNotFound(); + } + if ( - count($params) > 1 && - ($post = (new PostModel())->getPostById($params[1])) instanceof CastopodPost + ! ($post = (new PostModel())->getPostById($params[1])) instanceof CastopodPost ) { - $this->post = $post; - - unset($params[0]); - unset($params[1]); + throw PageNotFoundException::forPageNotFound(); } + $this->post = $post; + + unset($params[0]); + unset($params[1]); + return $this->{$method}(...$params); } @@ -72,10 +77,6 @@ class PostController extends FediversePostController $this->registerPodcastWebpageHit($this->podcast->id); } - if (! $this->post instanceof CastopodPost) { - throw PageNotFoundException::forPageNotFound(); - } - $cacheName = implode( '_', array_filter([ diff --git a/app/Entities/Clip/BaseClip.php b/app/Entities/Clip/BaseClip.php index d8eab7bc036c1db85bd0926c95d704c3f005a775..5279dc4b49e205f5be97efb69b9409c9e8c9389b 100644 --- a/app/Entities/Clip/BaseClip.php +++ b/app/Entities/Clip/BaseClip.php @@ -36,7 +36,7 @@ use Modules\Media\Models\MediaModel; * @property string $type * @property int|null $media_id * @property Video|Audio|null $media - * @property array|null $metadata + * @property array<mixed>|null $metadata * @property string $status * @property string $logs * @property User $user @@ -136,7 +136,7 @@ class BaseClip extends Entity $media = new Audio([ 'file_key' => $fileKey, 'language_code' => $this->getPodcast() -->language_code, + ->language_code, 'uploaded_by' => $this->attributes['updated_by'], 'updated_by' => $this->attributes['updated_by'], ]); diff --git a/app/Entities/Clip/VideoClip.php b/app/Entities/Clip/VideoClip.php index e1eef2e4c4c9c9dc7d95fe32df51295e152417cd..810f3d58c10e518c4f5945e0f29d3295ca4ca38c 100644 --- a/app/Entities/Clip/VideoClip.php +++ b/app/Entities/Clip/VideoClip.php @@ -15,7 +15,7 @@ use Modules\Media\Entities\Video; use Modules\Media\Models\MediaModel; /** - * @property array $theme + * @property array{name:string,preview:string} $theme * @property string $format */ class VideoClip extends BaseClip @@ -73,7 +73,7 @@ class VideoClip extends BaseClip $video = new Video([ 'file_key' => $fileKey, 'language_code' => $this->getPodcast() -->language_code, + ->language_code, 'uploaded_by' => $this->attributes['created_by'], 'updated_by' => $this->attributes['created_by'], ]); diff --git a/app/Entities/Episode.php b/app/Entities/Episode.php index 7fbdc1fba696a4cc2f0ed6c00b2ecef101346985..9c71e6433b41ca00df2b12c60f404fb6ec7b70c7 100644 --- a/app/Entities/Episode.php +++ b/app/Entities/Episode.php @@ -73,7 +73,7 @@ use SimpleXMLElement; * @property string|null $location_name * @property string|null $location_geo * @property string|null $location_osm - * @property array|null $custom_rss + * @property array<string|int,mixed>|null $custom_rss * @property string $custom_rss_string * @property bool $is_published_on_hubs * @property int $downloads_count @@ -200,7 +200,7 @@ class Episode extends Entity $cover = new Image([ 'file_key' => 'podcasts/' . $this->getPodcast()->handle . '/' . $this->attributes['slug'] . '.' . $file->getExtension(), 'sizes' => config('Images') -->podcastCoverSizes, + ->podcastCoverSizes, 'uploaded_by' => $this->attributes['updated_by'], 'updated_by' => $this->attributes['updated_by'], ]); @@ -283,7 +283,7 @@ class Episode extends Entity $transcript = new Transcript([ 'file_key' => 'podcasts/' . $this->getPodcast()->handle . '/' . $this->attributes['slug'] . '-transcript.' . $file->getExtension(), 'language_code' => $this->getPodcast() -->language_code, + ->language_code, 'uploaded_by' => $this->attributes['updated_by'], 'updated_by' => $this->attributes['updated_by'], ]); @@ -320,7 +320,7 @@ class Episode extends Entity $chapters = new Chapters([ 'file_key' => 'podcasts/' . $this->getPodcast()->handle . '/' . $this->attributes['slug'] . '-chapters' . '.' . $file->getExtension(), 'language_code' => $this->getPodcast() -->language_code, + ->language_code, 'uploaded_by' => $this->attributes['updated_by'], 'updated_by' => $this->attributes['updated_by'], ]); @@ -346,10 +346,10 @@ class Episode extends Entity $audioURL = url_to( 'episode-audio', $this->getPodcast() -->handle, + ->handle, $this->slug, $this->getAudio() -->file_extension + ->file_extension ); // Wrap episode url with OP3 if episode is public and OP3 is enabled on this podcast @@ -534,7 +534,7 @@ class Episode extends Entity if ($this->getPodcast()->episode_description_footer_html) { $descriptionHtml .= "<footer>{$this->getPodcast() -->episode_description_footer_html}</footer>"; + ->episode_description_footer_html}</footer>"; } return $descriptionHtml; diff --git a/app/Entities/Location.php b/app/Entities/Location.php index 90b326d67002ff239a0d13fab9ed179e79a902c0..81c33718ad8c8b31bd46a83ec17540a0b1b30ecc 100644 --- a/app/Entities/Location.php +++ b/app/Entities/Location.php @@ -11,7 +11,6 @@ declare(strict_types=1); namespace App\Entities; use CodeIgniter\Entity\Entity; -use Config\Services; /** * @property string $url @@ -85,7 +84,7 @@ class Location extends Entity */ public function fetchOsmLocation(): static { - $client = Services::curlrequest(); + $client = service('curlrequest'); $response = $client->request( 'GET', diff --git a/app/Entities/Person.php b/app/Entities/Person.php index 961f56037ceead6778485e7975afff9446d5566c..8da212d0f40334cee6e26140fc9b07c4f9468ff6 100644 --- a/app/Entities/Person.php +++ b/app/Entities/Person.php @@ -72,7 +72,7 @@ class Person extends Entity $avatar = new Image([ 'file_key' => 'persons/' . $this->attributes['unique_name'] . '.' . $file->getExtension(), 'sizes' => config('Images') -->personAvatarSizes, + ->personAvatarSizes, 'uploaded_by' => $this->attributes['updated_by'], 'updated_by' => $this->attributes['updated_by'], ]); diff --git a/app/Entities/Podcast.php b/app/Entities/Podcast.php index db74d4097333f4a3c702e9126e514671606f599e..2c4d6cb56b89e381a5ad0d4e919f7189f652d4c8 100644 --- a/app/Entities/Podcast.php +++ b/app/Entities/Podcast.php @@ -78,7 +78,7 @@ use RuntimeException; * @property string|null $location_geo * @property string|null $location_osm * @property string|null $payment_pointer - * @property array|null $custom_rss + * @property array<string|int,mixed>|null $custom_rss * @property bool $is_op3_enabled * @property string $op3_url * @property string $custom_rss_string @@ -255,7 +255,7 @@ class Podcast extends Entity $cover = new Image([ 'file_key' => 'podcasts/' . $this->attributes['handle'] . '/cover.' . $file->getExtension(), 'sizes' => config('Images') -->podcastCoverSizes, + ->podcastCoverSizes, 'uploaded_by' => $this->attributes['updated_by'], 'updated_by' => $this->attributes['updated_by'], ]); @@ -298,7 +298,7 @@ class Podcast extends Entity $banner = new Image([ 'file_key' => 'podcasts/' . $this->attributes['handle'] . '/banner.' . $file->getExtension(), 'sizes' => config('Images') -->podcastBannerSizes, + ->podcastBannerSizes, 'uploaded_by' => $this->attributes['updated_by'], 'updated_by' => $this->attributes['updated_by'], ]); diff --git a/app/Helpers/breadcrumb_helper.php b/app/Helpers/breadcrumb_helper.php index c600d2b37c6d6cfbc232391c8dbb7707966cffbf..223af8198a9c7cc090beccdef63b26fc409af616 100644 --- a/app/Helpers/breadcrumb_helper.php +++ b/app/Helpers/breadcrumb_helper.php @@ -8,8 +8,6 @@ declare(strict_types=1); * @link https://castopod.org/ */ -use Config\Services; - if (! function_exists('render_breadcrumb')) { /** * Renders the breadcrumb navigation through the Breadcrumb service @@ -19,7 +17,7 @@ if (! function_exists('render_breadcrumb')) { */ function render_breadcrumb(string $class = null): string { - $breadcrumb = Services::breadcrumb(); + $breadcrumb = service('breadcrumb'); return $breadcrumb->render($class); } } @@ -30,7 +28,7 @@ if (! function_exists('replace_breadcrumb_params')) { */ function replace_breadcrumb_params(array $newParams): void { - $breadcrumb = Services::breadcrumb(); + $breadcrumb = service('breadcrumb'); $breadcrumb->replaceParams(esc($newParams)); } } diff --git a/app/Helpers/components_helper.php b/app/Helpers/components_helper.php index f8c013295212aba7825a9d805620eb2e2a3e817b..4c81c21a8990564f794e4caa203408dcef80e97a 100644 --- a/app/Helpers/components_helper.php +++ b/app/Helpers/components_helper.php @@ -158,20 +158,20 @@ if (! function_exists('publication_button')) { $label = lang('Episode.publish'); $route = route_to('episode-publish', $podcastId, $episodeId); $variant = 'primary'; - $iconLeft = 'upload-cloud-fill'; // @icon('upload-cloud-fill') + $iconLeft = 'upload-cloud-fill'; // @icon("upload-cloud-fill") break; case 'with_podcast': case 'scheduled': $label = lang('Episode.publish_edit'); $route = route_to('episode-publish_edit', $podcastId, $episodeId); $variant = 'warning'; - $iconLeft = 'upload-cloud-fill'; // @icon('upload-cloud-fill') + $iconLeft = 'upload-cloud-fill'; // @icon("upload-cloud-fill") break; case 'published': $label = lang('Episode.unpublish'); $route = route_to('episode-unpublish', $podcastId, $episodeId); $variant = 'danger'; - $iconLeft = 'cloud-off-fill'; // @icon('cloud-off-fill') + $iconLeft = 'cloud-off-fill'; // @icon("cloud-off-fill") break; default: $label = ''; diff --git a/app/Helpers/misc_helper.php b/app/Helpers/misc_helper.php index b26fab00d0e8245262dbd35b41109a93ac2bbd12..a64807cdd33c98d57dff97329b6eae295dc18005 100644 --- a/app/Helpers/misc_helper.php +++ b/app/Helpers/misc_helper.php @@ -210,7 +210,7 @@ if (! function_exists('get_podcast_banner')) { )->podcastBannerDefaultPaths['default']; $sizes = config('Images') -->podcastBannerSizes; + ->podcastBannerSizes; $sizeConfig = $sizes[$size]; helper('filesystem'); @@ -231,7 +231,7 @@ if (! function_exists('get_podcast_banner_mimetype')) { { if (! $podcast->banner instanceof Image) { $sizes = config('Images') -->podcastBannerSizes; + ->podcastBannerSizes; $sizeConfig = $sizes[$size]; helper('filesystem'); @@ -252,10 +252,10 @@ if (! function_exists('get_avatar_url')) { { if (! $person->avatar instanceof Image) { $defaultAvatarPath = config('Images') -->avatarDefaultPath; + ->avatarDefaultPath; $sizes = config('Images') -->personAvatarSizes; + ->personAvatarSizes; $sizeConfig = $sizes[$size]; diff --git a/app/Libraries/Router.php b/app/Libraries/Router.php index 1f3abc5543a55a6d93ac9f065d53776aa2eac3fb..9146b57b72510758a6652e555d0779198d8ee0ae 100644 --- a/app/Libraries/Router.php +++ b/app/Libraries/Router.php @@ -18,7 +18,6 @@ use CodeIgniter\Exceptions\PageNotFoundException; use CodeIgniter\Router\Exceptions\RedirectException; use CodeIgniter\Router\Exceptions\RouterException; use CodeIgniter\Router\Router as CodeIgniterRouter; -use Config\Services; class Router extends CodeIgniterRouter { @@ -115,8 +114,8 @@ class Router extends CodeIgniterRouter array_key_exists('alternate-content', $this->matchedRouteOptions) && is_array($this->matchedRouteOptions['alternate-content']) ) { - $request = Services::request(); - $negotiate = Services::negotiator(); + $request = service('request'); + $negotiate = service('negotiator'); // Accept header is mandatory if ($request->header('Accept') === null) { diff --git a/app/Models/EpisodeCommentModel.php b/app/Models/EpisodeCommentModel.php index c999830bec736c3f80b75d269410281117d4b77c..f9954dc3276e5ed3bb87d56a87d987fa87a49952 100644 --- a/app/Models/EpisodeCommentModel.php +++ b/app/Models/EpisodeCommentModel.php @@ -229,8 +229,6 @@ class EpisodeCommentModel extends UuidModel $episodeComments . ' UNION ' . $episodePostsReplies . ' ORDER BY created_at ASC' ); - // FIXME:? - // @phpstan-ignore-next-line return $this->convertUuidFieldsToStrings( $allEpisodeComments->getCustomResultObject($this->tempReturnType), $this->tempReturnType diff --git a/app/Resources/icons/funding/_index.php b/app/Resources/icons/funding/_index.php index e4e3444415530153f234fc0eac35ba8a3c43b8f7..f939dcca3b390ef644485dc0716c2ed7bf2d95ea 100644 --- a/app/Resources/icons/funding/_index.php +++ b/app/Resources/icons/funding/_index.php @@ -3,17 +3,17 @@ declare(strict_types=1); /** - * @icon('funding:buymeacoffee') - * @icon('funding:donorbox') - * @icon('funding:gofundme') - * @icon('funding:helloasso') - * @icon('funding:indiegogo') - * @icon('funding:kickstarter') - * @icon('funding:kisskissbankbank') - * @icon('funding:kofi') - * @icon('funding:liberapay') - * @icon('funding:patreon') - * @icon('funding:paypal') - * @icon('funding:tipeee') - * @icon('funding:ulule') + * @icon("funding:buymeacoffee") + * @icon("funding:donorbox") + * @icon("funding:gofundme") + * @icon("funding:helloasso") + * @icon("funding:indiegogo") + * @icon("funding:kickstarter") + * @icon("funding:kisskissbankbank") + * @icon("funding:kofi") + * @icon("funding:liberapay") + * @icon("funding:patreon") + * @icon("funding:paypal") + * @icon("funding:tipeee") + * @icon("funding:ulule") */ diff --git a/app/Resources/icons/podcasting/_index.php b/app/Resources/icons/podcasting/_index.php index f6b7b176059dae283a5bdf50c167924aa55a1707..562854ecd9768799e7ea09a463917adfa1da1256 100644 --- a/app/Resources/icons/podcasting/_index.php +++ b/app/Resources/icons/podcasting/_index.php @@ -3,46 +3,46 @@ declare(strict_types=1); /** - * @icon('podcasting:amazon') - * @icon('podcasting:antennapod') - * @icon('podcasting:anytime') - * @icon('podcasting:apple') - * @icon('podcasting:blubrry') - * @icon('podcasting:breez') - * @icon('podcasting:castamatic') - * @icon('podcasting:castbox') - * @icon('podcasting:castopod') - * @icon('podcasting:castro') - * @icon('podcasting:deezer') - * @icon('podcasting:episodes-fm') - * @icon('podcasting:fountain') - * @icon('podcasting:fyyd') - * @icon('podcasting:gpodder') - * @icon('podcasting:ivoox') - * @icon('podcasting:listennotes') - * @icon('podcasting:overcast') - * @icon('podcasting:playerfm') - * @icon('podcasting:plink') - * @icon('podcasting:pocketcasts') - * @icon('podcasting:podbean') - * @icon('podcasting:podcastaddict') - * @icon('podcasting:podcastguru') - * @icon('podcasting:podcastindex') - * @icon('podcasting:podchaser') - * @icon('podcasting:podcloud') - * @icon('podcasting:podfriend') - * @icon('podcasting:podinstall') - * @icon('podcasting:podlink') - * @icon('podcasting:podlp') - * @icon('podcasting:podnews') - * @icon('podcasting:podtail') - * @icon('podcasting:podverse') - * @icon('podcasting:radiopublic') - * @icon('podcasting:sphinxchat') - * @icon('podcasting:spotify') - * @icon('podcasting:spreaker') - * @icon('podcasting:truefans') - * @icon('podcasting:tsacdop') - * @icon('podcasting:tunein') - * @icon('podcasting:youtube-music') + * @icon("podcasting:amazon") + * @icon("podcasting:antennapod") + * @icon("podcasting:anytime") + * @icon("podcasting:apple") + * @icon("podcasting:blubrry") + * @icon("podcasting:breez") + * @icon("podcasting:castamatic") + * @icon("podcasting:castbox") + * @icon("podcasting:castopod") + * @icon("podcasting:castro") + * @icon("podcasting:deezer") + * @icon("podcasting:episodes-fm") + * @icon("podcasting:fountain") + * @icon("podcasting:fyyd") + * @icon("podcasting:gpodder") + * @icon("podcasting:ivoox") + * @icon("podcasting:listennotes") + * @icon("podcasting:overcast") + * @icon("podcasting:playerfm") + * @icon("podcasting:plink") + * @icon("podcasting:pocketcasts") + * @icon("podcasting:podbean") + * @icon("podcasting:podcastaddict") + * @icon("podcasting:podcastguru") + * @icon("podcasting:podcastindex") + * @icon("podcasting:podchaser") + * @icon("podcasting:podcloud") + * @icon("podcasting:podfriend") + * @icon("podcasting:podinstall") + * @icon("podcasting:podlink") + * @icon("podcasting:podlp") + * @icon("podcasting:podnews") + * @icon("podcasting:podtail") + * @icon("podcasting:podverse") + * @icon("podcasting:radiopublic") + * @icon("podcasting:sphinxchat") + * @icon("podcasting:spotify") + * @icon("podcasting:spreaker") + * @icon("podcasting:truefans") + * @icon("podcasting:tsacdop") + * @icon("podcasting:tunein") + * @icon("podcasting:youtube-music") */ diff --git a/app/Resources/icons/social/_index.php b/app/Resources/icons/social/_index.php index 4e6a94ac1e7606c3fff1be83815dc49b38aded7a..571d8ab0aa6eaafe672e94b5efffe15a0484ec5c 100644 --- a/app/Resources/icons/social/_index.php +++ b/app/Resources/icons/social/_index.php @@ -3,26 +3,26 @@ declare(strict_types=1); /** - * @icon('social:bluesky') - * @icon('social:discord') - * @icon('social:facebook') - * @icon('social:funkwhale') - * @icon('social:instagram') - * @icon('social:linkedin') - * @icon('social:mastodon') - * @icon('social:matrix') - * @icon('social:misskey') - * @icon('social:mobilizon') - * @icon('social:peertube') - * @icon('social:pixelfed') - * @icon('social:pleroma') - * @icon('social:plume') - * @icon('social:slack') - * @icon('social:telegram') - * @icon('social:threads') - * @icon('social:tiktok') - * @icon('social:twitch') - * @icon('social:writefreely') - * @icon('social:x') - * @icon('social:youtube') + * @icon("social:bluesky") + * @icon("social:discord") + * @icon("social:facebook") + * @icon("social:funkwhale") + * @icon("social:instagram") + * @icon("social:linkedin") + * @icon("social:mastodon") + * @icon("social:matrix") + * @icon("social:misskey") + * @icon("social:mobilizon") + * @icon("social:peertube") + * @icon("social:pixelfed") + * @icon("social:pleroma") + * @icon("social:plume") + * @icon("social:slack") + * @icon("social:telegram") + * @icon("social:threads") + * @icon("social:tiktok") + * @icon("social:twitch") + * @icon("social:writefreely") + * @icon("social:x") + * @icon("social:youtube") */ diff --git a/app/Views/Components/Alert.php b/app/Views/Components/Alert.php index f328e6c8f5ea26ed7fe8c1a1e5557a6269785628..1bf21fbf16aaf5ba2a401210bf4f7fa4c5b8492e 100644 --- a/app/Views/Components/Alert.php +++ b/app/Views/Components/Alert.php @@ -22,19 +22,19 @@ class Alert extends Component $variants = [ 'success' => [ 'class' => 'text-pine-900 bg-pine-100 border-pine-300', - 'glyph' => 'check-fill', // @icon('check-fill') + 'glyph' => 'check-fill', // @icon("check-fill") ], 'danger' => [ 'class' => 'text-red-900 bg-red-100 border-red-300', - 'glyph' => 'close-fill', // @icon('close-fill') + 'glyph' => 'close-fill', // @icon("close-fill") ], 'warning' => [ 'class' => 'text-yellow-900 bg-yellow-100 border-yellow-300', - 'glyph' => 'alert-fill', // @icon('alert-fill') + 'glyph' => 'alert-fill', // @icon("alert-fill") ], 'default' => [ 'class' => 'text-blue-900 bg-blue-100 border-blue-300', - 'glyph' => 'error-warning-fill', // @icon('error-warning-fill') + 'glyph' => 'error-warning-fill', // @icon("error-warning-fill") ], ]; diff --git a/app/Views/errors/cli/error_exception.php b/app/Views/errors/cli/error_exception.php index 1ce53a5273d34ebe74832722319e54d46d088e06..7a7247fc6a0bd6dd261209cd830a328b8d1328c0 100644 --- a/app/Views/errors/cli/error_exception.php +++ b/app/Views/errors/cli/error_exception.php @@ -54,7 +54,7 @@ if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE) { $args = implode(', ', array_map(static fn ($value) => match (true) { is_object($value) => 'Object(' . $value::class . ')', - is_array($value) => count($value) ? '[...]' : '[]', + is_array($value) => $value !== [] ? '[...]' : '[]', $value === null => 'null', // return the lowercased version default => var_export($value, true), }, array_values($error['args'] ?? []))); diff --git a/app/Views/errors/html/debug.js b/app/Views/errors/html/debug.js index 3428750fba8efec03de800cd222bc95e4c1b49c0..65254785f3179bd10c447353b9f081ce7d3748c3 100644 --- a/app/Views/errors/html/debug.js +++ b/app/Views/errors/html/debug.js @@ -5,6 +5,7 @@ var tabLinks = []; var contentDivs = []; +// eslint-disable-next-line @typescript-eslint/no-unused-vars function init() { // Grab the tab links and content divs from the page var tabListItems = document.getElementById("tabs").childNodes; @@ -85,6 +86,7 @@ function getHash(url) { //-------------------------------------------------------------------- +// eslint-disable-next-line @typescript-eslint/no-unused-vars function toggle(elem) { elem = document.getElementById(elem); diff --git a/app/Views/errors/html/error_exception.php b/app/Views/errors/html/error_exception.php index 6ccf08c8d5cad71b1865658d09f007294fbef0f7..9898ed5da71e8a1686755b17c466dc829fd235b8 100644 --- a/app/Views/errors/html/error_exception.php +++ b/app/Views/errors/html/error_exception.php @@ -4,7 +4,6 @@ declare(strict_types=1); use CodeIgniter\CodeIgniter; use CodeIgniter\HTTP\Header; -use Config\Services; $errorId = uniqid('error', true); ?> @@ -228,7 +227,7 @@ while ($prevException = $last->getPrevious()) { <!-- Request --> <div class="content" id="request"> - <?php $request = Services::request(); ?> + <?php $request = service('request'); ?> <table> <tbody> @@ -346,7 +345,7 @@ while ($prevException = $last->getPrevious()) { <!-- Response --> <?php - $response = Services::response(); + $response = service('response'); $response->setStatusCode(http_response_code()); ?> <div class="content" id="response"> diff --git a/commitlint.config.cjs b/commitlint.config.cjs index 723fa61ff0b68d056ef789806de9df5354a06b5a..5073c20db108a39520634648cb94f2926bfe4af9 100644 --- a/commitlint.config.cjs +++ b/commitlint.config.cjs @@ -1,3 +1 @@ -/* eslint-disable */ - module.exports = { extends: ["@commitlint/config-conventional"] }; diff --git a/composer.json b/composer.json index 0a50a03aff153decab1457bd4fa2e2acdb2a27e7..f473665af1b3fcd891838a325b4d678c8d0e0bb9 100644 --- a/composer.json +++ b/composer.json @@ -9,37 +9,37 @@ "php": "^8.1", "adaures/ipcat-php": "^v1.0.0", "adaures/podcast-persons-taxonomy": "^v1.0.1", - "aws/aws-sdk-php": "^3.325.2", + "aws/aws-sdk-php": "^3.336.10", "chrisjean/php-ico": "^1.0.4", "cocur/slugify": "^v4.6.0", - "codeigniter4/framework": "v4.5.5", + "codeigniter4/framework": "v4.5.7", "codeigniter4/settings": "v2.2.0", "codeigniter4/shield": "v1.1.0", "codeigniter4/tasks": "dev-develop", - "geoip2/geoip2": "v3.0.0", + "geoip2/geoip2": "v3.1.0", "james-heinrich/getid3": "^2.0.0-beta6", - "league/commonmark": "^2.5.3", + "league/commonmark": "^2.6.1", "league/html-to-markdown": "5.1.1", "melbahja/seo": "^v2.1.1", "michalsn/codeigniter4-uuid": "v1.1.0", - "mpratt/embera": "^2.0.41", + "mpratt/embera": "^2.0.42", "opawg/user-agents-v2-php": "dev-main", - "phpseclib/phpseclib": "~2.0.47", + "phpseclib/phpseclib": "~2.0.48", "vlucas/phpdotenv": "v5.6.1", "whichbrowser/parser": "^v2.1.8", "yassinedoghri/php-icons": "^v1.2.0", "yassinedoghri/podcast-feed": "dev-main" }, "require-dev": { - "captainhook/captainhook": "^5.23.6", - "codeigniter/phpstan-codeigniter": "v1.4.3", - "mikey179/vfsstream": "^v1.6.12", + "captainhook/captainhook": "^5.24.1", + "codeigniter/phpstan-codeigniter": "v1.5.1", + "mikey179/vfsstream": "v1.6.12", "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.7", - "phpunit/phpunit": "^10.5.38", - "rector/rector": "^1.2.9", + "phpstan/phpstan": "^2.1.1", + "phpunit/phpunit": "^10.5.40", + "rector/rector": "^2.0.6", "symplify/coding-standard": "^12.2.3", - "symplify/easy-coding-standard": "^12.3.6" + "symplify/easy-coding-standard": "^12.5.5" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index ddbe83ee10336f484afcdef9382644678b7e3b03..7da7ad9a56fe95b72bfa76af773a29357fd2a933 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": "0e71b144adcc148d7a375b979139a6ab", + "content-hash": "eda6f02ae1a3871b00c7076da1f7c35d", "packages": [ { "name": "adaures/ipcat-php", @@ -75,16 +75,16 @@ }, { "name": "adhocore/cli", - "version": "v1.7.2", + "version": "v1.9.3", "source": { "type": "git", "url": "https://github.com/adhocore/php-cli.git", - "reference": "57834cbaa4fb68cda849417ab86577fba2b15298" + "reference": "86be16e3c3b42d76fcdb32529bcded0fedb925d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/adhocore/php-cli/zipball/57834cbaa4fb68cda849417ab86577fba2b15298", - "reference": "57834cbaa4fb68cda849417ab86577fba2b15298", + "url": "https://api.github.com/repos/adhocore/php-cli/zipball/86be16e3c3b42d76fcdb32529bcded0fedb925d3", + "reference": "86be16e3c3b42d76fcdb32529bcded0fedb925d3", "shasum": "" }, "require": { @@ -95,6 +95,7 @@ }, "type": "library", "autoload": { + "files": ["src/functions.php"], "psr-4": { "Ahc\\Cli\\": "src/" } @@ -127,7 +128,7 @@ ], "support": { "issues": "https://github.com/adhocore/php-cli/issues", - "source": "https://github.com/adhocore/php-cli/tree/v1.7.2" + "source": "https://github.com/adhocore/php-cli/tree/v1.9.3" }, "funding": [ { @@ -139,7 +140,7 @@ "type": "github" } ], - "time": "2024-09-05T00:08:47+00:00" + "time": "2024-12-04T03:40:29+00:00" }, { "name": "aws/aws-crt-php", @@ -188,16 +189,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.325.2", + "version": "3.336.10", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "9e354a5e0cd1d563ec85245e3000e98e16a44fce" + "reference": "bb137145fdbcd4ca121446157d804b9653aff54c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/9e354a5e0cd1d563ec85245e3000e98e16a44fce", - "reference": "9e354a5e0cd1d563ec85245e3000e98e16a44fce", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/bb137145fdbcd4ca121446157d804b9653aff54c", + "reference": "bb137145fdbcd4ca121446157d804b9653aff54c", "shasum": "" }, "require": { @@ -226,8 +227,8 @@ "nette/neon": "^2.3", "paragonie/random_compat": ">= 2", "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0", "sebastian/comparator": "^1.2.3 || ^4.0", "yoast/phpunit-polyfills": "^1.0" }, @@ -274,9 +275,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.325.2" + "source": "https://github.com/aws/aws-sdk-php/tree/3.336.10" }, - "time": "2024-11-01T18:08:38+00:00" + "time": "2025-01-07T19:05:48+00:00" }, { "name": "brick/math", @@ -447,16 +448,16 @@ }, { "name": "codeigniter4/framework", - "version": "v4.5.5", + "version": "v4.5.7", "source": { "type": "git", "url": "https://github.com/codeigniter4/framework.git", - "reference": "2849e7ff36b4c4aa1376d990a9a1e3f0c393b8d0" + "reference": "f253839c071abbef5262cbb8f49a6077dc5dd568" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/framework/zipball/2849e7ff36b4c4aa1376d990a9a1e3f0c393b8d0", - "reference": "2849e7ff36b4c4aa1376d990a9a1e3f0c393b8d0", + "url": "https://api.github.com/repos/codeigniter4/framework/zipball/f253839c071abbef5262cbb8f49a6077dc5dd568", + "reference": "f253839c071abbef5262cbb8f49a6077dc5dd568", "shasum": "" }, "require": { @@ -513,7 +514,7 @@ "slack": "https://codeigniterchat.slack.com", "source": "https://github.com/codeigniter4/CodeIgniter4" }, - "time": "2024-09-07T08:49:38+00:00" + "time": "2024-12-31T12:13:44+00:00" }, { "name": "codeigniter4/settings", @@ -638,12 +639,12 @@ "source": { "type": "git", "url": "https://github.com/codeigniter4/tasks.git", - "reference": "8767036adfef764f0623ba9cde2998320b948b3b" + "reference": "ec717c428c6f0e8e216e5dfbf18966a26a4f821f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/8767036adfef764f0623ba9cde2998320b948b3b", - "reference": "8767036adfef764f0623ba9cde2998320b948b3b", + "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/ec717c428c6f0e8e216e5dfbf18966a26a4f821f", + "reference": "ec717c428c6f0e8e216e5dfbf18966a26a4f821f", "shasum": "" }, "require": { @@ -656,7 +657,7 @@ "codeigniter4/devkit": "^1.0", "codeigniter4/framework": "^4.1", "phpunit/phpunit": "^9.6", - "rector/rector": "1.2.8" + "rector/rector": "1.2.10" }, "default-branch": true, "type": "library", @@ -714,20 +715,20 @@ "source": "https://github.com/codeigniter4/tasks/tree/develop", "issues": "https://github.com/codeigniter4/tasks/issues" }, - "time": "2024-10-21T18:02:22+00:00" + "time": "2024-11-11T12:05:47+00:00" }, { "name": "composer/ca-bundle", - "version": "1.5.3", + "version": "1.5.4", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2" + "reference": "bc0593537a463e55cadf45fd938d23b75095b7e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/3b1fc3f0be055baa7c6258b1467849c3e8204eb2", - "reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/bc0593537a463e55cadf45fd938d23b75095b7e1", + "reference": "bc0593537a463e55cadf45fd938d23b75095b7e1", "shasum": "" }, "require": { @@ -766,7 +767,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.3" + "source": "https://github.com/composer/ca-bundle/tree/1.5.4" }, "funding": [ { @@ -782,7 +783,7 @@ "type": "tidelift" } ], - "time": "2024-11-04T10:15:26+00:00" + "time": "2024-11-27T15:35:25+00:00" }, { "name": "dflydev/dot-access-data", @@ -854,22 +855,22 @@ }, { "name": "geoip2/geoip2", - "version": "v3.0.0", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/maxmind/GeoIP2-php.git", - "reference": "1a802ce9356cdd1c6b681c030fd9563750e11e6a" + "reference": "c86fbeaa7e42279dd9e7af0b015384e721832b88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/1a802ce9356cdd1c6b681c030fd9563750e11e6a", - "reference": "1a802ce9356cdd1c6b681c030fd9563750e11e6a", + "url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/c86fbeaa7e42279dd9e7af0b015384e721832b88", + "reference": "c86fbeaa7e42279dd9e7af0b015384e721832b88", "shasum": "" }, "require": { "ext-json": "*", - "maxmind-db/reader": "^1.11.1", - "maxmind/web-service-common": "~0.8", + "maxmind-db/reader": "^1.12.0", + "maxmind/web-service-common": "~0.10", "php": ">=8.1" }, "require-dev": { @@ -898,9 +899,9 @@ "keywords": ["IP", "geoip", "geoip2", "geolocation", "maxmind"], "support": { "issues": "https://github.com/maxmind/GeoIP2-php/issues", - "source": "https://github.com/maxmind/GeoIP2-php/tree/v3.0.0" + "source": "https://github.com/maxmind/GeoIP2-php/tree/v3.1.0" }, - "time": "2023-12-04T17:16:34+00:00" + "time": "2024-11-15T16:33:31+00:00" }, { "name": "graham-campbell/result-type", @@ -1353,16 +1354,16 @@ }, { "name": "laminas/laminas-escaper", - "version": "2.14.0", + "version": "2.15.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "0f7cb975f4443cf22f33408925c231225cfba8cb" + "reference": "c612b0488ae486284c39885efca494c180f16351" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/0f7cb975f4443cf22f33408925c231225cfba8cb", - "reference": "0f7cb975f4443cf22f33408925c231225cfba8cb", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/c612b0488ae486284c39885efca494c180f16351", + "reference": "c612b0488ae486284c39885efca494c180f16351", "shasum": "" }, "require": { @@ -1374,12 +1375,12 @@ "zendframework/zend-escaper": "*" }, "require-dev": { - "infection/infection": "^0.27.9", - "laminas/laminas-coding-standard": "~3.0.0", + "infection/infection": "^0.27.11", + "laminas/laminas-coding-standard": "~3.0.1", "maglnet/composer-require-checker": "^3.8.0", - "phpunit/phpunit": "^9.6.16", + "phpunit/phpunit": "^9.6.22", "psalm/plugin-phpunit": "^0.19.0", - "vimeo/psalm": "^5.21.1" + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -1406,20 +1407,20 @@ "type": "community_bridge" } ], - "time": "2024-10-24T10:12:53+00:00" + "time": "2024-12-17T19:39:54+00:00" }, { "name": "league/commonmark", - "version": "2.5.3", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0" + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad", + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad", "shasum": "" }, "require": { @@ -1444,8 +1445,9 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 || ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0" }, @@ -1455,7 +1457,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.6-dev" + "dev-main": "2.7-dev" } }, "autoload": { @@ -1510,7 +1512,7 @@ "type": "tidelift" } ], - "time": "2024-08-16T11:46:16+00:00" + "time": "2024-12-29T14:10:59+00:00" }, { "name": "league/config", @@ -1676,29 +1678,27 @@ }, { "name": "maxmind-db/reader", - "version": "v1.11.1", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git", - "reference": "1e66f73ffcf25e17c7a910a1317e9720a95497c7" + "reference": "5b2d7a721dedfaef9dc20822c5fe7d26f9f8eb90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/1e66f73ffcf25e17c7a910a1317e9720a95497c7", - "reference": "1e66f73ffcf25e17c7a910a1317e9720a95497c7", + "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/5b2d7a721dedfaef9dc20822c5fe7d26f9f8eb90", + "reference": "5b2d7a721dedfaef9dc20822c5fe7d26f9f8eb90", "shasum": "" }, "require": { "php": ">=7.2" }, "conflict": { - "ext-maxminddb": "<1.11.1,>=2.0.0" + "ext-maxminddb": "<1.11.1 || >=2.0.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "3.*", - "php-coveralls/php-coveralls": "^2.1", "phpstan/phpstan": "*", - "phpunit/phpcov": ">=6.0.0", "phpunit/phpunit": ">=8.0.0,<10.0.0", "squizlabs/php_codesniffer": "3.*" }, @@ -1727,29 +1727,29 @@ "keywords": ["database", "geoip", "geoip2", "geolocation", "maxmind"], "support": { "issues": "https://github.com/maxmind/MaxMind-DB-Reader-php/issues", - "source": "https://github.com/maxmind/MaxMind-DB-Reader-php/tree/v1.11.1" + "source": "https://github.com/maxmind/MaxMind-DB-Reader-php/tree/v1.12.0" }, - "time": "2023-12-02T00:09:23+00:00" + "time": "2024-11-14T22:43:47+00:00" }, { "name": "maxmind/web-service-common", - "version": "v0.9.0", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/maxmind/web-service-common-php.git", - "reference": "4dc5a3e8df38aea4ca3b1096cee3a038094e9b53" + "reference": "d7c7c42fc31bff26e0ded73a6e187bcfb193f9c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/4dc5a3e8df38aea4ca3b1096cee3a038094e9b53", - "reference": "4dc5a3e8df38aea4ca3b1096cee3a038094e9b53", + "url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/d7c7c42fc31bff26e0ded73a6e187bcfb193f9c4", + "reference": "d7c7c42fc31bff26e0ded73a6e187bcfb193f9c4", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0.3", "ext-curl": "*", "ext-json": "*", - "php": ">=7.2" + "php": ">=8.1" }, "require-dev": { "friendsofphp/php-cs-fixer": "3.*", @@ -1776,9 +1776,9 @@ "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.9.0" + "source": "https://github.com/maxmind/web-service-common-php/tree/v0.10.0" }, - "time": "2022-03-28T17:43:20+00:00" + "time": "2024-11-14T23:14:52+00:00" }, { "name": "melbahja/seo", @@ -1886,16 +1886,16 @@ }, { "name": "mpratt/embera", - "version": "2.0.41", + "version": "2.0.42", "source": { "type": "git", "url": "https://github.com/mpratt/Embera.git", - "reference": "069305b9252a428ba4ae6eb58d3dc8c6d9be5cd0" + "reference": "afa728339c6f078c803c9277a5054ca241b3c469" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mpratt/Embera/zipball/069305b9252a428ba4ae6eb58d3dc8c6d9be5cd0", - "reference": "069305b9252a428ba4ae6eb58d3dc8c6d9be5cd0", + "url": "https://api.github.com/repos/mpratt/Embera/zipball/afa728339c6f078c803c9277a5054ca241b3c469", + "reference": "afa728339c6f078c803c9277a5054ca241b3c469", "shasum": "" }, "require": { @@ -1904,7 +1904,8 @@ }, "require-dev": { "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.0||^10.0", + "symfony/yaml": "^2.1" }, "suggest": { "ext-curl": "Fetch data using curl instead of using file_get_contents" @@ -1942,7 +1943,7 @@ ], "support": { "issues": "https://github.com/mpratt/Embera/issues", - "source": "https://github.com/mpratt/Embera/tree/2.0.41" + "source": "https://github.com/mpratt/Embera/tree/2.0.42" }, "funding": [ { @@ -1950,7 +1951,7 @@ "type": "paypal" } ], - "time": "2024-08-17T04:27:29+00:00" + "time": "2025-01-04T06:07:59+00:00" }, { "name": "mtdowling/jmespath.php", @@ -2250,16 +2251,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.47", + "version": "2.0.48", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "b7d7d90ee7df7f33a664b4aea32d50a305d35adb" + "reference": "eaa7be704b8b93a6913b69eb7f645a59d7731b61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/b7d7d90ee7df7f33a664b4aea32d50a305d35adb", - "reference": "b7d7d90ee7df7f33a664b4aea32d50a305d35adb", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/eaa7be704b8b93a6913b69eb7f645a59d7731b61", + "reference": "eaa7be704b8b93a6913b69eb7f645a59d7731b61", "shasum": "" }, "require": { @@ -2336,7 +2337,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/2.0.47" + "source": "https://github.com/phpseclib/phpseclib/tree/2.0.48" }, "funding": [ { @@ -2352,7 +2353,7 @@ "type": "tidelift" } ], - "time": "2024-02-26T04:55:38+00:00" + "time": "2024-12-14T21:03:54+00:00" }, { "name": "psr/cache", @@ -2840,16 +2841,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { @@ -2857,12 +2858,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -2883,7 +2884,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { @@ -2899,7 +2900,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2927,8 +2928,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -2997,8 +2998,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3061,8 +3062,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3348,16 +3349,16 @@ "packages-dev": [ { "name": "captainhook/captainhook", - "version": "5.23.6", + "version": "5.24.1", "source": { "type": "git", "url": "https://github.com/captainhookphp/captainhook.git", - "reference": "6c9a60f5771581f3788f98d7b4aa9a61156cfebb" + "reference": "1e56452fd7a7e486e5955ab72dc9ea34bb52a184" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/captainhookphp/captainhook/zipball/6c9a60f5771581f3788f98d7b4aa9a61156cfebb", - "reference": "6c9a60f5771581f3788f98d7b4aa9a61156cfebb", + "url": "https://api.github.com/repos/captainhookphp/captainhook/zipball/1e56452fd7a7e486e5955ab72dc9ea34bb52a184", + "reference": "1e56452fd7a7e486e5955ab72dc9ea34bb52a184", "shasum": "" }, "require": { @@ -3383,11 +3384,11 @@ "bin": ["bin/captainhook"], "type": "library", "extra": { - "branch-alias": { - "dev-main": "6.0.x-dev" - }, "captainhook": { "config": "captainhook.json" + }, + "branch-alias": { + "dev-main": "6.0.x-dev" } }, "autoload": { @@ -3416,7 +3417,7 @@ ], "support": { "issues": "https://github.com/captainhookphp/captainhook/issues", - "source": "https://github.com/captainhookphp/captainhook/tree/5.23.6" + "source": "https://github.com/captainhookphp/captainhook/tree/5.24.1" }, "funding": [ { @@ -3424,20 +3425,20 @@ "type": "github" } ], - "time": "2024-10-30T14:15:58+00:00" + "time": "2024-11-26T18:42:37+00:00" }, { "name": "captainhook/secrets", - "version": "0.9.5", + "version": "0.9.6", "source": { "type": "git", "url": "https://github.com/captainhookphp/secrets.git", - "reference": "8aa90d5b9b7892abd11b9da2fc172a7b32b90cbe" + "reference": "0232c67019e11c4bee4ee9bfec9575b67e0854e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/captainhookphp/secrets/zipball/8aa90d5b9b7892abd11b9da2fc172a7b32b90cbe", - "reference": "8aa90d5b9b7892abd11b9da2fc172a7b32b90cbe", + "url": "https://api.github.com/repos/captainhookphp/secrets/zipball/0232c67019e11c4bee4ee9bfec9575b67e0854e5", + "reference": "0232c67019e11c4bee4ee9bfec9575b67e0854e5", "shasum": "" }, "require": { @@ -3470,7 +3471,7 @@ ], "support": { "issues": "https://github.com/captainhookphp/secrets/issues", - "source": "https://github.com/captainhookphp/secrets/tree/0.9.5" + "source": "https://github.com/captainhookphp/secrets/tree/0.9.6" }, "funding": [ { @@ -3478,7 +3479,7 @@ "type": "github" } ], - "time": "2023-11-30T18:10:18+00:00" + "time": "2024-11-26T09:24:19+00:00" }, { "name": "clue/ndjson-react", @@ -3544,38 +3545,36 @@ }, { "name": "codeigniter/phpstan-codeigniter", - "version": "v1.4.3", + "version": "v1.5.1", "source": { "type": "git", "url": "https://github.com/CodeIgniter/phpstan-codeigniter.git", - "reference": "bff4a7cfe251bb288223e95d6f588e956dfc0a93" + "reference": "4bfaba879007c7dfb9c3b687713bd5d45524f067" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CodeIgniter/phpstan-codeigniter/zipball/bff4a7cfe251bb288223e95d6f588e956dfc0a93", - "reference": "bff4a7cfe251bb288223e95d6f588e956dfc0a93", + "url": "https://api.github.com/repos/CodeIgniter/phpstan-codeigniter/zipball/4bfaba879007c7dfb9c3b687713bd5d45524f067", + "reference": "4bfaba879007c7dfb9c3b687713bd5d45524f067", "shasum": "" }, "require": { - "codeigniter4/framework": "^4.4", + "codeigniter4/framework": "^4.5", "php": "^8.1", - "phpstan/phpstan": "^1.10" + "phpstan/phpstan": "^2.0" }, "conflict": { "codeigniter/framework": "*" }, "require-dev": { "codeigniter/coding-standard": "^1.7", - "codeigniter4/shield": "^1.0@beta", - "friendsofphp/php-cs-fixer": "^3.20", - "nexusphp/cs-config": "^3.12", - "php-parallel-lint/php-parallel-lint": "^1.3", + "codeigniter4/shield": "^1.0", + "friendsofphp/php-cs-fixer": "^3.49", + "nexusphp/cs-config": "^3.21", "phpstan/extension-installer": "^1.3", - "phpstan/phpstan-deprecation-rules": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "^10.2", - "rector/rector": "^0.18.2" + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^10.5 || ^11.4" }, "type": "phpstan-extension", "extra": { @@ -3610,20 +3609,20 @@ "slack": "https://codeigniterchat.slack.com", "source": "https://github.com/CodeIgniter/phpstan-codeigniter" }, - "time": "2023-12-21T03:39:48+00:00" + "time": "2024-12-02T15:33:25+00:00" }, { "name": "composer/pcre", - "version": "3.3.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { @@ -3633,17 +3632,17 @@ "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "phpstan/phpstan": "^1.11.10", - "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - }, "phpstan": { "includes": ["extension.neon"] + }, + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { @@ -3664,7 +3663,7 @@ "keywords": ["PCRE", "preg", "regex", "regular expression"], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.1" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -3680,7 +3679,7 @@ "type": "tidelift" } ], - "time": "2024-08-27T18:44:43+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "composer/semver", @@ -3917,16 +3916,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.64.0", + "version": "v3.66.2", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "58dd9c931c785a79739310aef5178928305ffa67" + "reference": "25addd3cb10e54cfd20b84d9c083c6625cd52218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/58dd9c931c785a79739310aef5178928305ffa67", - "reference": "58dd9c931c785a79739310aef5178928305ffa67", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/25addd3cb10e54cfd20b84d9c083c6625cd52218", + "reference": "25addd3cb10e54cfd20b84d9c083c6625cd52218", "shasum": "" }, "require": { @@ -3936,38 +3935,38 @@ "ext-filter": "*", "ext-json": "*", "ext-tokenizer": "*", - "fidry/cpu-core-counter": "^1.0", + "fidry/cpu-core-counter": "^1.2", "php": "^7.4 || ^8.0", "react/child-process": "^0.6.5", "react/event-loop": "^1.0", "react/promise": "^2.0 || ^3.0", "react/socket": "^1.0", "react/stream": "^1.0", - "sebastian/diff": "^4.0 || ^5.0 || ^6.0", - "symfony/console": "^5.4 || ^6.0 || ^7.0", - "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", - "symfony/finder": "^5.4 || ^6.0 || ^7.0", - "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0", - "symfony/polyfill-mbstring": "^1.28", - "symfony/polyfill-php80": "^1.28", - "symfony/polyfill-php81": "^1.28", - "symfony/process": "^5.4 || ^6.0 || ^7.0", - "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0" + "sebastian/diff": "^4.0 || ^5.1 || ^6.0", + "symfony/console": "^5.4 || ^6.4 || ^7.0", + "symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0", + "symfony/filesystem": "^5.4 || ^6.4 || ^7.0", + "symfony/finder": "^5.4 || ^6.4 || ^7.0", + "symfony/options-resolver": "^5.4 || ^6.4 || ^7.0", + "symfony/polyfill-mbstring": "^1.31", + "symfony/polyfill-php80": "^1.31", + "symfony/polyfill-php81": "^1.31", + "symfony/process": "^5.4 || ^6.4 || ^7.2", + "symfony/stopwatch": "^5.4 || ^6.4 || ^7.0" }, "require-dev": { - "facile-it/paraunit": "^1.3 || ^2.3", - "infection/infection": "^0.29.5", - "justinrainbow/json-schema": "^5.2", + "facile-it/paraunit": "^1.3.1 || ^2.4", + "infection/infection": "^0.29.8", + "justinrainbow/json-schema": "^5.3 || ^6.0", "keradus/cli-executor": "^2.1", - "mikey179/vfsstream": "^1.6.11", + "mikey179/vfsstream": "^1.6.12", "php-coveralls/php-coveralls": "^2.7", "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5", - "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2", - "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + "phpunit/phpunit": "^9.6.22 || ^10.5.40 || ^11.5.2", + "symfony/var-dumper": "^5.4.48 || ^6.4.15 || ^7.2.0", + "symfony/yaml": "^5.4.45 || ^6.4.13 || ^7.2.0" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -4002,7 +4001,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.64.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.66.2" }, "funding": [ { @@ -4010,7 +4009,7 @@ "type": "github" } ], - "time": "2024-08-30T23:09:38+00:00" + "time": "2025-01-07T09:21:51+00:00" }, { "name": "mikey179/vfsstream", @@ -4064,16 +4063,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", "shasum": "" }, "require": { @@ -4102,7 +4101,7 @@ "keywords": ["clone", "copy", "duplicate", "object", "object graph"], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" }, "funding": [ { @@ -4110,20 +4109,20 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2024-11-08T17:47:46+00:00" }, { "name": "nikic/php-parser", - "version": "v5.3.1", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { @@ -4159,9 +4158,9 @@ "keywords": ["parser", "php"], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "time": "2024-10-08T18:51:32+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { "name": "phar-io/manifest", @@ -4318,20 +4317,20 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.7", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0" + "reference": "cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", - "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7", + "reference": "cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -4362,7 +4361,7 @@ "type": "github" } ], - "time": "2024-10-18T11:12:07+00:00" + "time": "2025-01-05T16:43:48+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4654,16 +4653,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.38", + "version": "10.5.40", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132" + "reference": "e6ddda95af52f69c1e0c7b4f977cccb58048798c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a86773b9e887a67bc53efa9da9ad6e3f2498c132", - "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e6ddda95af52f69c1e0c7b4f977cccb58048798c", + "reference": "e6ddda95af52f69c1e0c7b4f977cccb58048798c", "shasum": "" }, "require": { @@ -4673,7 +4672,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.12.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", @@ -4723,7 +4722,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.38" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.40" }, "funding": [ { @@ -4739,7 +4738,7 @@ "type": "tidelift" } ], - "time": "2024-10-28T13:06:21+00:00" + "time": "2024-12-21T05:49:06+00:00" }, { "name": "psr/container", @@ -4859,33 +4858,33 @@ }, { "name": "react/child-process", - "version": "v0.6.5", + "version": "v0.6.6", "source": { "type": "git", "url": "https://github.com/reactphp/child-process.git", - "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43" + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/child-process/zipball/e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", - "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", "shasum": "" }, "require": { "evenement/evenement": "^3.0 || ^2.0 || ^1.0", "php": ">=5.3.0", "react/event-loop": "^1.2", - "react/stream": "^1.2" + "react/stream": "^1.4" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", - "react/socket": "^1.8", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/socket": "^1.16", "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" }, "type": "library", "autoload": { "psr-4": { - "React\\ChildProcess\\": "src" + "React\\ChildProcess\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4916,19 +4915,15 @@ "keywords": ["event-driven", "process", "reactphp"], "support": { "issues": "https://github.com/reactphp/child-process/issues", - "source": "https://github.com/reactphp/child-process/tree/v0.6.5" + "source": "https://github.com/reactphp/child-process/tree/v0.6.6" }, "funding": [ { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2022-09-16T13:41:56+00:00" + "time": "2025-01-01T16:37:48+00:00" }, { "name": "react/dns", @@ -5282,21 +5277,21 @@ }, { "name": "rector/rector", - "version": "1.2.9", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "7923bd5e48f8c26a922df91f7174f5bca2b3671d" + "reference": "fa0cb009dc3df084bf549032ae4080a0481a2036" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/7923bd5e48f8c26a922df91f7174f5bca2b3671d", - "reference": "7923bd5e48f8c26a922df91f7174f5bca2b3671d", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/fa0cb009dc3df084bf549032ae4080a0481a2036", + "reference": "fa0cb009dc3df084bf549032ae4080a0481a2036", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.12.5" + "php": "^7.4|^8.0", + "phpstan/phpstan": "^2.1.1" }, "conflict": { "rector/rector-doctrine": "*", @@ -5318,7 +5313,7 @@ "keywords": ["automation", "dev", "migration", "refactoring"], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.9" + "source": "https://github.com/rectorphp/rector/tree/2.0.6" }, "funding": [ { @@ -5326,7 +5321,7 @@ "type": "github" } ], - "time": "2024-11-04T18:26:57+00:00" + "time": "2025-01-06T10:38:36+00:00" }, { "name": "sebastian/cli-parser", @@ -6219,16 +6214,16 @@ }, { "name": "sebastianfeldmann/cli", - "version": "3.4.1", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/sebastianfeldmann/cli.git", - "reference": "8a932e99e9455981fb32fa6c085492462fe8f8cf" + "reference": "6fa122afd528dae7d7ec988a604aa6c600f5d9b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianfeldmann/cli/zipball/8a932e99e9455981fb32fa6c085492462fe8f8cf", - "reference": "8a932e99e9455981fb32fa6c085492462fe8f8cf", + "url": "https://api.github.com/repos/sebastianfeldmann/cli/zipball/6fa122afd528dae7d7ec988a604aa6c600f5d9b5", + "reference": "6fa122afd528dae7d7ec988a604aa6c600f5d9b5", "shasum": "" }, "require": { @@ -6261,7 +6256,7 @@ "keywords": ["cli"], "support": { "issues": "https://github.com/sebastianfeldmann/cli/issues", - "source": "https://github.com/sebastianfeldmann/cli/tree/3.4.1" + "source": "https://github.com/sebastianfeldmann/cli/tree/3.4.2" }, "funding": [ { @@ -6269,20 +6264,20 @@ "type": "github" } ], - "time": "2021-12-20T14:59:49+00:00" + "time": "2024-11-26T10:19:01+00:00" }, { "name": "sebastianfeldmann/git", - "version": "3.11.0", + "version": "3.11.1", "source": { "type": "git", "url": "https://github.com/sebastianfeldmann/git.git", - "reference": "5cb1ea94f65c7420419abe8f12c45cc7eb094790" + "reference": "96b9f384d45106f757df98a74c11b42b393ff18f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianfeldmann/git/zipball/5cb1ea94f65c7420419abe8f12c45cc7eb094790", - "reference": "5cb1ea94f65c7420419abe8f12c45cc7eb094790", + "url": "https://api.github.com/repos/sebastianfeldmann/git/zipball/96b9f384d45106f757df98a74c11b42b393ff18f", + "reference": "96b9f384d45106f757df98a74c11b42b393ff18f", "shasum": "" }, "require": { @@ -6319,7 +6314,7 @@ "keywords": ["git"], "support": { "issues": "https://github.com/sebastianfeldmann/git/issues", - "source": "https://github.com/sebastianfeldmann/git/tree/3.11.0" + "source": "https://github.com/sebastianfeldmann/git/tree/3.11.1" }, "funding": [ { @@ -6327,20 +6322,20 @@ "type": "github" } ], - "time": "2024-01-23T09:11:14+00:00" + "time": "2024-11-26T18:37:20+00:00" }, { "name": "symfony/console", - "version": "v7.1.7", + "version": "v7.2.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "3284aafcac338b6e86fd955ee4d794cbe434151a" + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/3284aafcac338b6e86fd955ee4d794cbe434151a", - "reference": "3284aafcac338b6e86fd955ee4d794cbe434151a", + "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3", + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3", "shasum": "" }, "require": { @@ -6395,7 +6390,7 @@ "homepage": "https://symfony.com", "keywords": ["cli", "command-line", "console", "terminal"], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.7" + "source": "https://github.com/symfony/console/tree/v7.2.1" }, "funding": [ { @@ -6411,20 +6406,20 @@ "type": "tidelift" } ], - "time": "2024-11-05T15:34:55+00:00" + "time": "2024-12-11T03:49:26+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "87254c78dd50721cfd015b62277a8281c5589702" + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702", - "reference": "87254c78dd50721cfd015b62277a8281c5589702", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", "shasum": "" }, "require": { @@ -6471,7 +6466,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.1.6" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" }, "funding": [ { @@ -6487,20 +6482,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -6509,12 +6504,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -6545,7 +6540,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -6561,20 +6556,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/filesystem", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4" + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/c835867b3c62bb05c7fe3d637c871c7ae52024d4", - "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb", "shasum": "" }, "require": { @@ -6607,7 +6602,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.1.6" + "source": "https://github.com/symfony/filesystem/tree/v7.2.0" }, "funding": [ { @@ -6623,20 +6618,20 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:11:02+00:00" + "time": "2024-10-25T15:15:23+00:00" }, { "name": "symfony/finder", - "version": "v7.1.6", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8" + "reference": "87a71856f2f56e4100373e92529eed3171695cfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/2cb89664897be33f78c65d3d2845954c8d7a43b8", - "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8", + "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb", "shasum": "" }, "require": { @@ -6667,7 +6662,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.1.6" + "source": "https://github.com/symfony/finder/tree/v7.2.2" }, "funding": [ { @@ -6683,20 +6678,20 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:31:23+00:00" + "time": "2024-12-30T19:00:17+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85" + "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/85e95eeede2d41cd146146e98c9c81d9214cae85", - "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50", + "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50", "shasum": "" }, "require": { @@ -6726,7 +6721,7 @@ "homepage": "https://symfony.com", "keywords": ["config", "configuration", "options"], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.1.6" + "source": "https://github.com/symfony/options-resolver/tree/v7.2.0" }, "funding": [ { @@ -6742,7 +6737,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-11-20T11:17:29+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -6767,8 +6762,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6841,8 +6836,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6913,8 +6908,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6960,16 +6955,16 @@ }, { "name": "symfony/process", - "version": "v7.1.7", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "9b8a40b7289767aa7117e957573c2a535efe6585" + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/9b8a40b7289767aa7117e957573c2a535efe6585", - "reference": "9b8a40b7289767aa7117e957573c2a535efe6585", + "url": "https://api.github.com/repos/symfony/process/zipball/d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", "shasum": "" }, "require": { @@ -6997,7 +6992,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.1.7" + "source": "https://github.com/symfony/process/tree/v7.2.0" }, "funding": [ { @@ -7013,20 +7008,20 @@ "type": "tidelift" } ], - "time": "2024-11-06T09:25:12+00:00" + "time": "2024-11-06T14:24:19+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { @@ -7039,12 +7034,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -7076,7 +7071,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { @@ -7092,20 +7087,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/stopwatch", - "version": "v7.1.6", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05" + "reference": "e46690d5b9d7164a6d061cab1e8d46141b9f49df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8b4a434e6e7faf6adedffb48783a5c75409a1a05", - "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e46690d5b9d7164a6d061cab1e8d46141b9f49df", + "reference": "e46690d5b9d7164a6d061cab1e8d46141b9f49df", "shasum": "" }, "require": { @@ -7134,7 +7129,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.1.6" + "source": "https://github.com/symfony/stopwatch/tree/v7.2.2" }, "funding": [ { @@ -7150,20 +7145,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-12-18T14:28:33+00:00" }, { "name": "symfony/string", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626" + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/61b72d66bf96c360a727ae6232df5ac83c71f626", - "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626", + "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", "shasum": "" }, "require": { @@ -7208,7 +7203,7 @@ "homepage": "https://symfony.com", "keywords": ["grapheme", "i18n", "string", "unicode", "utf-8", "utf8"], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.6" + "source": "https://github.com/symfony/string/tree/v7.2.0" }, "funding": [ { @@ -7224,7 +7219,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-11-13T13:31:26+00:00" }, { "name": "symplify/coding-standard", @@ -7285,16 +7280,16 @@ }, { "name": "symplify/easy-coding-standard", - "version": "12.3.6", + "version": "12.5.5", "source": { "type": "git", "url": "https://github.com/easy-coding-standard/easy-coding-standard.git", - "reference": "c0f378782d06dfd21c66c3024e9d28f4e737645e" + "reference": "16a6ac7f452e230fdcc81f1b35b2366903fcecf3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/c0f378782d06dfd21c66c3024e9d28f4e737645e", - "reference": "c0f378782d06dfd21c66c3024e9d28f4e737645e", + "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/16a6ac7f452e230fdcc81f1b35b2366903fcecf3", + "reference": "16a6ac7f452e230fdcc81f1b35b2366903fcecf3", "shasum": "" }, "require": { @@ -7319,7 +7314,7 @@ "keywords": ["Code style", "automation", "fixer", "static analysis"], "support": { "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues", - "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.6" + "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.5.5" }, "funding": [ { @@ -7331,7 +7326,7 @@ "type": "github" } ], - "time": "2024-10-06T08:27:28+00:00" + "time": "2025-01-02T08:43:03+00:00" }, { "name": "symplify/rule-doc-generator-contracts", diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000000000000000000000000000000000000..c9d330e68bb377c3988eb3bbf308496bfa70cd42 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,23 @@ +import globals from "globals"; +import eslint from "@eslint/js"; +import tseslint from "typescript-eslint"; +import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; + +export default [ + ...tseslint.config( + eslint.configs.recommended, + ...tseslint.configs.strict, + eslintPluginPrettierRecommended + ), + { + ignores: ["public/*", "docs/*", "vendor/*", "castopod/*"], + }, + { + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + }, + }, + }, +]; diff --git a/modules/Admin/Config/Routes.php b/modules/Admin/Config/Routes.php index 42bd42818b377376010fe3d22a6f6699b8400d65..55b3645f0dc1d733e66921926b523f1d39af2c9c 100644 --- a/modules/Admin/Config/Routes.php +++ b/modules/Admin/Config/Routes.php @@ -16,7 +16,7 @@ $routes->add('scheduled-video-clips', 'SchedulerController::generateVideoClips', // Admin area routes $routes->group( config('Admin') -->gateway, + ->gateway, [ 'namespace' => 'Modules\Admin\Controllers', ], diff --git a/modules/Admin/Controllers/AboutController.php b/modules/Admin/Controllers/AboutController.php index 4b69352c6f8b77aa51aa8d28b378ba13fe392217..a11ffc8958238de00b8861da9bcfc61b539ce36c 100644 --- a/modules/Admin/Controllers/AboutController.php +++ b/modules/Admin/Controllers/AboutController.php @@ -11,7 +11,6 @@ declare(strict_types=1); namespace Modules\Admin\Controllers; use CodeIgniter\HTTP\RedirectResponse; -use Config\Services; class AboutController extends BaseController { @@ -42,7 +41,7 @@ class AboutController extends BaseController public function migrateDatabase(): RedirectResponse { - $migrate = Services::migrations(); + $migrate = service('migrations'); $migrate->setNamespace(null) ->latest(); diff --git a/modules/Analytics/AnalyticsTrait.php b/modules/Analytics/AnalyticsTrait.php index 53aa13ef88ee59b7c8c6664d8082e1cc27f4d445..3b2b32bc51730af358ea391a3ba6047ebf07843d 100644 --- a/modules/Analytics/AnalyticsTrait.php +++ b/modules/Analytics/AnalyticsTrait.php @@ -10,8 +10,6 @@ declare(strict_types=1); namespace Modules\Analytics; -use Config\Services; - trait AnalyticsTrait { protected function registerPodcastWebpageHit(int $podcastId): void @@ -23,7 +21,7 @@ trait AnalyticsTrait set_user_session_referer(); set_user_session_entry_page(); - $session = Services::session(); + $session = service('session'); if (! $session->get('denyListIp')) { $db = db_connect(); diff --git a/modules/Analytics/Config/Routes.php b/modules/Analytics/Config/Routes.php index d24e716fddebf3a4f86c78a1661115b45fd361e5..9097151ce8ed64e417c69ad84d2e673957304d6e 100644 --- a/modules/Analytics/Config/Routes.php +++ b/modules/Analytics/Config/Routes.php @@ -2,15 +2,13 @@ declare(strict_types=1); -use CodeIgniter\Router\RouteCollection; - /** * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ -/** @var RouteCollection $routes */ +/** @var \CodeIgniter\Router\RouteCollection $routes */ /** * Analytics routes file diff --git a/modules/Analytics/Entities/AnalyticsPodcasts.php b/modules/Analytics/Entities/AnalyticsPodcasts.php index 3ff2b58ec79a86c70ef7cea6e8ece3a5092b3081..45d4b62476839b4801a61a136f056a1cb7172857 100644 --- a/modules/Analytics/Entities/AnalyticsPodcasts.php +++ b/modules/Analytics/Entities/AnalyticsPodcasts.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php b/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php index d9dd478ad6e8883a3b5e4577076bc9f843bea474..59ca02eb71d4d924fafab63bd837df05bc46dc74 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php b/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php index 354d98ec53901b540ca95ea1912cefb83ab2cf22..1aa5959ae27fba7352f362c5c8f96e316a01753f 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByHour.php b/modules/Analytics/Entities/AnalyticsPodcastsByHour.php index e74ef64af337e3a07c40653120e01b2912c4830b..bfc33b044028ae03467f0cac5f6877b78538b379 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByHour.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByHour.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php b/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php index 6f2b50441127c4fad36f0111960359a0d4a368fb..8fb0acf7e0c7ecaffdc35057e65b9cce8dbad7c2 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php b/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php index 777c41486730c005e1a6d1238dbfe6a377b84abb..684667f3f5607849d98f4514c6d449406f1df132 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByService.php b/modules/Analytics/Entities/AnalyticsPodcastsByService.php index f86d6db60f05fe12da818c863cd0c5be7c0acdb3..fb8a03666752e527e690b2891d216cf0978db65b 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByService.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByService.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; use Opawg\UserAgentsV2Php\UserAgentsRSS; /** diff --git a/modules/Analytics/Entities/AnalyticsPodcastsBySubscription.php b/modules/Analytics/Entities/AnalyticsPodcastsBySubscription.php index f048fea0015674cdf328b45302f5793ec24aa7bf..09974b76936ddc446b60fd89ba86329b4b74511e 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsBySubscription.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsBySubscription.php @@ -11,6 +11,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php b/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php index 1c897d7ca6aef3a661c6d5f7d76e6a2df13d6944..016a3d0a57362a3f72b6c5602bc87e15b332badb 100644 --- a/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php +++ b/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $id diff --git a/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php b/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php index 80c568c8b248be0d4d8c2a53d5917615b3506e60..9d764f7e96309c6286580931ad314e3c8ff295ad 100644 --- a/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php +++ b/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php b/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php index 51d436b6270711a26f5b3c4b0d089197182195bc..7e8294c2201b216e3ec6f6be56357fa89efc6dae 100644 --- a/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php +++ b/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php b/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php index 15819f739a2f2524789eec6c09aeaf36ed7645a6..c0edf9c8512ef8389699069f3cb7028c56fe6e02 100644 --- a/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php +++ b/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php @@ -13,6 +13,7 @@ declare(strict_types=1); namespace Modules\Analytics\Entities; use CodeIgniter\Entity\Entity; +use CodeIgniter\I18n\Time; /** * @property int $podcast_id diff --git a/modules/Analytics/Helpers/analytics_helper.php b/modules/Analytics/Helpers/analytics_helper.php index 99a21ed9ca5fabc9334f9c3f40dfd9f9a18765c1..df7181bf3f805de8f62926349697f8b06f8d05f3 100644 --- a/modules/Analytics/Helpers/analytics_helper.php +++ b/modules/Analytics/Helpers/analytics_helper.php @@ -9,7 +9,6 @@ declare(strict_types=1); */ use AdAures\Ipcat\IpDb; -use Config\Services; use GeoIp2\Database\Reader; use Opawg\UserAgentsV2Php\UserAgents; use WhichBrowser\Parser; @@ -55,7 +54,7 @@ if (! function_exists('set_user_session_deny_list_ip')) { */ function set_user_session_deny_list_ip(): void { - $session = Services::session(); + $session = service('session'); if (! $session->has('denyListIp')) { $session->set('denyListIp', IpDb::find(client_ip()) !== null); @@ -69,7 +68,7 @@ if (! function_exists('set_user_session_location')) { */ function set_user_session_location(): void { - $session = Services::session(); + $session = service('session'); $location = [ 'countryCode' => 'N/A', @@ -105,7 +104,7 @@ if (! function_exists('set_user_session_player')) { */ function set_user_session_player(): void { - $session = Services::session(); + $session = service('session'); if (! $session->has('player')) { $playerFound = null; @@ -148,7 +147,7 @@ if (! function_exists('set_user_session_browser')) { */ function set_user_session_browser(): void { - $session = Services::session(); + $session = service('session'); if (! $session->has('browser')) { $browserName = '- Other -'; @@ -174,7 +173,7 @@ if (! function_exists('set_user_session_referer')) { */ function set_user_session_referer(): void { - $session = Services::session(); + $session = service('session'); $newreferer = service('superglobals') ->server('HTTP_REFERER') ?? '- Direct -'; @@ -195,7 +194,7 @@ if (! function_exists('set_user_session_entry_page')) { */ function set_user_session_entry_page(): void { - $session = Services::session(); + $session = service('session'); $entryPage = service('superglobals') ->server('REQUEST_URI'); @@ -235,7 +234,7 @@ if (! function_exists('podcast_hit')) { string $serviceName, ?int $subscriptionId, ): void { - $session = Services::session(); + $session = service('session'); $clientIp = client_ip(); @@ -286,8 +285,7 @@ if (! function_exists('podcast_hit')) { $parts = explode('-', $range); $downloadedBytes += array_key_exists(1, $parts) ? $fileSize - : (int) $parts[1] - - (array_key_exists(0, $parts) ? 0 : (int) $parts[0]); + : (int) $parts[1] - (int) $parts[0]; } } diff --git a/modules/Api/Rest/V1/Controllers/EpisodeController.php b/modules/Api/Rest/V1/Controllers/EpisodeController.php index df47af02c05fd1b5b0c4c58cfa9611d1334a5d34..ec4a9968570e6c7bcef6a60ff02363b9542a0763 100644 --- a/modules/Api/Rest/V1/Controllers/EpisodeController.php +++ b/modules/Api/Rest/V1/Controllers/EpisodeController.php @@ -15,7 +15,6 @@ use CodeIgniter\API\ResponseTrait; use CodeIgniter\Controller; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\I18n\Time; -use Modules\Api\Rest\V1\Config\Services; use Modules\Auth\Models\UserModel; class EpisodeController extends Controller @@ -24,7 +23,7 @@ class EpisodeController extends Controller public function __construct() { - Services::restApiExceptions()->initialize(); + service('restApiExceptions')->initialize(); } public function list(): ResponseInterface @@ -296,7 +295,7 @@ class EpisodeController extends Controller protected static function mapEpisode(Episode $episode): Episode { $episode->cover_url = $episode->getCover() -->file_url; + ->file_url; $episode->audio_url = $episode->getAudioUrl(); $episode->duration = round($episode->audio->duration); diff --git a/modules/Api/Rest/V1/Controllers/PodcastController.php b/modules/Api/Rest/V1/Controllers/PodcastController.php index 98fa68b8bf98116b4167db48d23806ef7ee01b4a..7e45b2e0b5f9fc5b441019e6669bf52f3788e272 100644 --- a/modules/Api/Rest/V1/Controllers/PodcastController.php +++ b/modules/Api/Rest/V1/Controllers/PodcastController.php @@ -9,7 +9,6 @@ use App\Models\PodcastModel; use CodeIgniter\API\ResponseTrait; use CodeIgniter\Controller; use CodeIgniter\HTTP\ResponseInterface; -use Modules\Api\Rest\V1\Config\Services; class PodcastController extends Controller { @@ -17,7 +16,7 @@ class PodcastController extends Controller public function __construct() { - Services::restApiExceptions()->initialize(); + service('restApiExceptions')->initialize(); } public function list(): ResponseInterface @@ -44,9 +43,9 @@ class PodcastController extends Controller { $podcast->feed_url = $podcast->getFeedUrl(); $podcast->actor_display_name = $podcast->getActor() -->display_name; + ->display_name; $podcast->cover_url = $podcast->getCover() -->file_url; + ->file_url; $categories = [$podcast->getCategory(), ...$podcast->getOtherCategories()]; diff --git a/modules/Auth/Commands/RolesDoc.php b/modules/Auth/Commands/RolesDoc.php index 6e78d9b0494cbf4a73299d99cf117354603293e8..0677722ab424ac0b382aff143d28117edce02ae4 100644 --- a/modules/Auth/Commands/RolesDoc.php +++ b/modules/Auth/Commands/RolesDoc.php @@ -8,7 +8,6 @@ use Closure; use CodeIgniter\CLI\BaseCommand; use CodeIgniter\CLI\CLI; use CodeIgniter\View\Table; -use Config\Services; use League\HTMLToMarkdown\Converter\TableConverter; use League\HTMLToMarkdown\HtmlConverter; use Modules\Auth\Config\AuthGroups; @@ -57,7 +56,7 @@ class RolesDoc extends BaseCommand foreach ($files as $file) { $locale = $this->detectLocaleFromPath($file); - $language = Services::language(); + $language = service('language'); $language->setLocale($locale); $authGroups = new AuthGroups(); diff --git a/modules/Auth/Filters/PermissionFilter.php b/modules/Auth/Filters/PermissionFilter.php index f223789b403d4e89fb85e73b5ce5e0f35cb73027..02ee304f3fd6de36dd11c28abd34e722204705dc 100644 --- a/modules/Auth/Filters/PermissionFilter.php +++ b/modules/Auth/Filters/PermissionFilter.php @@ -9,7 +9,6 @@ use App\Models\PodcastModel; use CodeIgniter\Filters\FilterInterface; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; -use Config\Services; use RuntimeException; /** @@ -59,7 +58,7 @@ class PermissionFilter implements FilterInterface foreach ($arguments as $permission) { // is permission specific to a podcast? if (str_contains($permission, '#')) { - $router = Services::router(); + $router = service('router'); $routerParams = $router->params(); // get podcast id diff --git a/modules/Fediverse/ActivityRequest.php b/modules/Fediverse/ActivityRequest.php index 5334f1dadaea41a5976425519f7bcf4555b11d03..f5b56a2957c608b33195a666ea99c5673d635b38 100644 --- a/modules/Fediverse/ActivityRequest.php +++ b/modules/Fediverse/ActivityRequest.php @@ -14,7 +14,6 @@ use CodeIgniter\HTTP\CURLRequest; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\HTTP\URI; use CodeIgniter\I18n\Time; -use Config\Services; use Modules\Fediverse\Core\Activity; use phpseclib\Crypt\RSA; @@ -33,7 +32,7 @@ class ActivityRequest public function __construct(string $uri, ?string $activityPayload = null) { - $this->request = Services::curlrequest(); + $this->request = service('curlrequest'); if ($activityPayload !== null) { $this->request->setBody($activityPayload); diff --git a/modules/Fediverse/Entities/Activity.php b/modules/Fediverse/Entities/Activity.php index ba017f16f3cec1be5601e6593ad569f8773746cc..0865ff45c3b37140aff857ed48ec12b61d2c8e43 100644 --- a/modules/Fediverse/Entities/Activity.php +++ b/modules/Fediverse/Entities/Activity.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace Modules\Fediverse\Entities; +use CodeIgniter\I18n\Time; use Michalsn\Uuid\UuidEntity; use RuntimeException; diff --git a/modules/Fediverse/Filters/FediverseFilter.php b/modules/Fediverse/Filters/FediverseFilter.php index 355bfa3a38fefb03aca53491b10d035a0d82d511..44222073828bd07fb4d0102cdcb5aa523aa435f5 100644 --- a/modules/Fediverse/Filters/FediverseFilter.php +++ b/modules/Fediverse/Filters/FediverseFilter.php @@ -9,7 +9,6 @@ use CodeIgniter\Filters\FilterInterface; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\HTTP\URI; -use Config\Services; use Exception; use Modules\Fediverse\HttpSignature; @@ -31,7 +30,7 @@ class FediverseFilter implements FilterInterface } if (in_array('verify-activitystream', $params, true)) { - $negotiate = Services::negotiator(); + $negotiate = service('negotiator'); $allowedContentTypes = [ 'application/ld+json; profile="https://www.w3.org/ns/activitystreams', diff --git a/modules/Fediverse/Helpers/fediverse_helper.php b/modules/Fediverse/Helpers/fediverse_helper.php index 8877afd576197b9e5a52a5f2e743410f9248ff0e..d73bbe14e0ce28f9e23872f6bff6317ed6dfb361 100644 --- a/modules/Fediverse/Helpers/fediverse_helper.php +++ b/modules/Fediverse/Helpers/fediverse_helper.php @@ -41,7 +41,7 @@ if (! function_exists('split_handle')) { /** * Splits handle into its parts (username, host and port) * - * @return array<string, string>|false + * @return array{0:string,username:non-empty-string,1:non-empty-string,domain:non-empty-string,2:non-empty-string,port?:non-falsy-string,3?:non-falsy-string} */ function split_handle(string $handle): array | false { diff --git a/modules/Fediverse/HttpSignature.php b/modules/Fediverse/HttpSignature.php index d03990383be06fc20aaecbf77d232f98c7ebc196..ac0791e4a409549a303eff68dc457cb31b8ac2e2 100644 --- a/modules/Fediverse/HttpSignature.php +++ b/modules/Fediverse/HttpSignature.php @@ -16,7 +16,6 @@ namespace Modules\Fediverse; use CodeIgniter\HTTP\IncomingRequest; use CodeIgniter\I18n\Time; -use Config\Services; use Exception; use phpseclib\Crypt\RSA; @@ -40,7 +39,7 @@ class HttpSignature public function __construct(IncomingRequest $request = null) { if (! $request instanceof IncomingRequest) { - $request = Services::request(); + $request = service('request'); } $this->request = $request; diff --git a/modules/Fediverse/WebFinger.php b/modules/Fediverse/WebFinger.php index c66886ec72fedc0e5616933296cd409971762024..d93a48b99dd3453306309393310bafff56d26ca2 100644 --- a/modules/Fediverse/WebFinger.php +++ b/modules/Fediverse/WebFinger.php @@ -101,7 +101,7 @@ class WebFinger /** * Split resource into its parts (username, domain) * - * @return array<string, string>|false + * @return array{0:string,username:non-empty-string,1:non-empty-string,2:non-empty-string,domain:non-falsy-string,3:non-falsy-string,4:non-falsy-string,5?:non-falsy-string} */ private function splitResource(string $resource): bool|array { diff --git a/modules/Install/Commands/InitDatabase.php b/modules/Install/Commands/InitDatabase.php index 7f433487ba5499f610b95bfb65c79ff7cb360442..07cb87c807a5431b1384f7febc3db311172fc9b9 100644 --- a/modules/Install/Commands/InitDatabase.php +++ b/modules/Install/Commands/InitDatabase.php @@ -6,7 +6,6 @@ namespace Modules\Install\Commands; use CodeIgniter\CLI\BaseCommand; use Config\Database; -use Config\Services; class InitDatabase extends BaseCommand { @@ -28,7 +27,7 @@ class InitDatabase extends BaseCommand public function run(array $params): void { // Run all migrations - $migrate = Services::migrations(); + $migrate = service('migrations'); $migrate->setNamespace(null) ->latest(); diff --git a/modules/Install/Controllers/InstallController.php b/modules/Install/Controllers/InstallController.php index 9e7bf06fe31cc8028a564efa5eb6bd0e6df15a2b..89edd6ef7f3e513c5aa4fbbb43078ff385cef2af 100644 --- a/modules/Install/Controllers/InstallController.php +++ b/modules/Install/Controllers/InstallController.php @@ -19,7 +19,6 @@ use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\Shield\Entities\User; use CodeIgniter\Shield\Exceptions\ValidationException as ShieldValidationException; use Config\Database; -use Config\Services; use Dotenv\Dotenv; use Dotenv\Exception\ValidationException; use Modules\Auth\Models\UserModel; @@ -245,7 +244,7 @@ class InstallController extends Controller */ public function migrate(): void { - $migrate = Services::migrations(); + $migrate = service('migrations'); $migrate->setNamespace(null) ->latest(); diff --git a/modules/Media/Entities/BaseMedia.php b/modules/Media/Entities/BaseMedia.php index f7566ab7fe9d14edc4b8d7e5ff3ccb013b53942a..4bd783a94f144c7e9c92ea3369ed5019fe0cd2c2 100644 --- a/modules/Media/Entities/BaseMedia.php +++ b/modules/Media/Entities/BaseMedia.php @@ -24,7 +24,7 @@ use RuntimeException; * @property string $file_extension * @property int $file_size * @property string $file_mimetype - * @property array|null $file_metadata + * @property array<mixed>|null $file_metadata * @property 'image'|'audio'|'video'|'document' $type * @property string|null $description * @property string|null $language_code diff --git a/modules/Media/Entities/Image.php b/modules/Media/Entities/Image.php index a5c265d9f9c1379f186235a64db16be189f07e2b..5a56c2a81630efc2afcd194e8c53525fedb09000 100644 --- a/modules/Media/Entities/Image.php +++ b/modules/Media/Entities/Image.php @@ -11,11 +11,10 @@ declare(strict_types=1); namespace Modules\Media\Entities; use CodeIgniter\Files\File; -use Config\Services; use GdImage; /** - * @property array $sizes + * @property array<string, array<string, int|string>> $sizes */ class Image extends BaseMedia { @@ -130,7 +129,7 @@ class Image extends BaseMedia } // save derived sizes - $imageService = Services::image(); + $imageService = service('image'); foreach ($this->sizes as $name => $size) { $tempFilePath = tempnam(WRITEPATH . 'temp', 'img_'); diff --git a/modules/Media/FileManagers/FS.php b/modules/Media/FileManagers/FS.php index dfca7ed03d33562d343a13700a03b8fac1febbe8..2d38f75ec747510c09c9d3217f16f99ee8ebcdec 100644 --- a/modules/Media/FileManagers/FS.php +++ b/modules/Media/FileManagers/FS.php @@ -13,7 +13,6 @@ class FS implements FileManagerInterface public function __construct( protected MediaConfig $config ) { - $this->config = $config; } /** diff --git a/modules/Media/Helpers/media_helper.php b/modules/Media/Helpers/media_helper.php index 6ace28c49b38983eec52a6aa6bd1330a31490f36..85bad2534da82a4e391a9afa91e76e42714e68f8 100644 --- a/modules/Media/Helpers/media_helper.php +++ b/modules/Media/Helpers/media_helper.php @@ -34,7 +34,7 @@ if (! function_exists('download_file')) { curl_setopt($ch, CURLOPT_HTTPHEADER, ['User-Agent: Castopod/' . CP_VERSION]); // follow redirects up to 20, like Apple Podcasts - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 20); curl_exec($ch); diff --git a/modules/Platforms/Controllers/PlatformController.php b/modules/Platforms/Controllers/PlatformController.php index ce4cd42e1620c662ff3275e8af2d3374050940a1..3d6b9939877c15758e82072da6169e186857c3fb 100644 --- a/modules/Platforms/Controllers/PlatformController.php +++ b/modules/Platforms/Controllers/PlatformController.php @@ -14,7 +14,6 @@ use App\Entities\Podcast; use App\Models\PodcastModel; use CodeIgniter\Exceptions\PageNotFoundException; use CodeIgniter\HTTP\RedirectResponse; -use Config\Services; use Modules\Admin\Controllers\BaseController; use Modules\Platforms\Models\PlatformModel; @@ -65,7 +64,7 @@ class PlatformController extends BaseController public function attemptPlatformsUpdate(string $platformType): RedirectResponse { $platformModel = new PlatformModel(); - $validation = Services::validation(); + $validation = service('validation'); $platformsData = []; foreach ( diff --git a/modules/Platforms/Models/PlatformModel.php b/modules/Platforms/Models/PlatformModel.php index 290a90f813e5a88d82ec62cad502f3f9f1c89245..634255c61e81194b148f93fd646deb8eab9681b6 100644 --- a/modules/Platforms/Models/PlatformModel.php +++ b/modules/Platforms/Models/PlatformModel.php @@ -127,7 +127,7 @@ class PlatformModel extends Model } /** - * @param array<array<string, string|int>> $data + * @param array<array<string, bool|int|string|null>> $data * * @return int|false Number of rows inserted or FALSE on failure */ diff --git a/modules/Platforms/Platforms.php b/modules/Platforms/Platforms.php index d5cd26e232af603e0925c45fa520123b9cad43cf..019f6847fcdce197974bc5f8e4732bb0940746ac 100644 --- a/modules/Platforms/Platforms.php +++ b/modules/Platforms/Platforms.php @@ -458,7 +458,7 @@ class Platforms } /** - * @return null|array{label:string,home_url:string,submit_url:?string}> + * @return null|array{label:string,home_url:string,submit_url:?string} */ public function findPlatformBySlug(string $type, string $slug): ?array { diff --git a/modules/PodcastImport/Commands/PodcastImport.php b/modules/PodcastImport/Commands/PodcastImport.php index 3a07724c601107cb52f0988988223e6b6f11eadd..001a4b4f77d4e89be67174c89a0d47ad56d97d56 100644 --- a/modules/PodcastImport/Commands/PodcastImport.php +++ b/modules/PodcastImport/Commands/PodcastImport.php @@ -16,7 +16,6 @@ use CodeIgniter\CLI\BaseCommand; use CodeIgniter\CLI\CLI; use CodeIgniter\I18n\Time; use CodeIgniter\Shield\Entities\User; -use Config\Services; use Exception; use League\HTMLToMarkdown\HtmlConverter; use Modules\Auth\Models\UserModel; @@ -44,7 +43,7 @@ class PodcastImport extends BaseCommand protected ?Podcast $podcast = null; - public function init(): void + public function init(): bool { helper('podcast_import'); @@ -70,8 +69,8 @@ class PodcastImport extends BaseCommand $nextImport = end($queuedImports); if (! $nextImport instanceof PodcastImportTask) { - // no queued import task, stop process. - exit(0); + // no queued import task, nothing to init + return false; } $this->importTask = $nextImport; @@ -89,15 +88,20 @@ class PodcastImport extends BaseCommand ini_set('user_agent', 'Castopod/' . CP_VERSION); $this->podcastFeed = new PodcastFeed($this->importTask->feed_url); + + return true; } public function run(array $params): void { // FIXME: getting named routes doesn't work from v4.3 anymore, so loading all routes before importing - Services::routes()->loadRoutes(); + service('routes') + ->loadRoutes(); try { - $this->init(); + if (! $this->init()) { + return; + } CLI::write('All good! Feed was parsed successfully!'); @@ -158,7 +162,7 @@ class PodcastImport extends BaseCommand $podcastModel = new PodcastModel(); if (! $podcastModel->update($this->podcast->id, $this->podcast)) { - throw new Exception((string) print_r($podcastModel->errors())); + throw new Exception(print_r($podcastModel->errors(), true)); } CLI::showProgress(false); @@ -258,7 +262,7 @@ class PodcastImport extends BaseCommand $podcastModel = new PodcastModel(); if (! ($podcastId = $podcastModel->insert($podcast, true))) { $db->transRollback(); - throw new Exception((string) print_r($podcastModel->errors())); + throw new Exception(print_r($podcastModel->errors(), true)); } $podcast->id = $podcastId; @@ -324,7 +328,7 @@ class PodcastImport extends BaseCommand ]); if (! $newPersonId = $personModel->insert($newPodcastPerson)) { - throw new Exception((string) print_r($personModel->errors())); + throw new Exception(print_r($personModel->errors(), true)); } } @@ -351,7 +355,7 @@ class PodcastImport extends BaseCommand $personGroupSlug, $personRoleSlug )) { - throw new Exception((string) print_r($podcastPersonModel->errors())); + throw new Exception(print_r($podcastPersonModel->errors(), true)); } } @@ -496,7 +500,7 @@ class PodcastImport extends BaseCommand if (! ($episodeId = $episodeModel->insert($episode, true))) { $db->transRollback(); - throw new Exception((string) print_r($episodeModel->errors())); + throw new Exception(print_r($episodeModel->errors(), true)); } $this->importEpisodePersons($episodeId, $item->podcast_persons); @@ -544,7 +548,7 @@ class PodcastImport extends BaseCommand ]); if (! ($newPersonId = $personModel->insert($newPerson))) { - throw new Exception((string) print_r($personModel->errors())); + throw new Exception(print_r($personModel->errors(), true)); } } @@ -572,7 +576,7 @@ class PodcastImport extends BaseCommand $personGroupSlug, $personRoleSlug )) { - throw new Exception((string) print_r($episodePersonModel->errors())); + throw new Exception(print_r($episodePersonModel->errors(), true)); } } } diff --git a/modules/PodcastImport/Helpers/podcast_import_helper.php b/modules/PodcastImport/Helpers/podcast_import_helper.php index 29c3acbb30a5432b145ccac97e4dc5a86a9183f9..46133a92eaa40faa138f370047b0202e444ad58a 100644 --- a/modules/PodcastImport/Helpers/podcast_import_helper.php +++ b/modules/PodcastImport/Helpers/podcast_import_helper.php @@ -21,7 +21,7 @@ if (! function_exists('get_import_tasks')) { $podcastImportsQueue = service('settings') ->get('Import.queue') ?? []; - if (! is_array($podcastImportsQueue)) { + if ($podcastImportsQueue === []) { return []; } @@ -48,6 +48,6 @@ if (! function_exists('get_import_tasks')) { return $a->created_at->isAfter($b->created_at) ? -1 : 1; }); - return array_values($podcastImportsQueue); + return $podcastImportsQueue; } } diff --git a/modules/PremiumPodcasts/Entities/Subscription.php b/modules/PremiumPodcasts/Entities/Subscription.php index edca9bd4cb959c89f970a2fb47b4cc5f88bf900b..a198e46e290fcb2342a9f8d59ad13185eb19e104 100644 --- a/modules/PremiumPodcasts/Entities/Subscription.php +++ b/modules/PremiumPodcasts/Entities/Subscription.php @@ -25,7 +25,7 @@ use RuntimeException; * @property string $token * @property string $status * @property string|null $status_message - * @property Time $expires_at + * @property Time|null $expires_at * @property int $downloads_last_3_months * * @property int $created_by diff --git a/modules/Update/Commands/DatabaseUpdate.php b/modules/Update/Commands/DatabaseUpdate.php index 1b7b6b398fd8c153199626ec210750a8634a9355..85bc78bccf5b7ba4e28c7b5f0d48114220544bc2 100644 --- a/modules/Update/Commands/DatabaseUpdate.php +++ b/modules/Update/Commands/DatabaseUpdate.php @@ -5,7 +5,6 @@ declare(strict_types=1); namespace Modules\Update\Commands; use CodeIgniter\CLI\BaseCommand; -use Config\Services; class DatabaseUpdate extends BaseCommand { @@ -26,7 +25,7 @@ class DatabaseUpdate extends BaseCommand public function run(array $params): void { - $migrate = Services::migrations(); + $migrate = service('migrations'); $migrate->setNamespace(null) ->latest(); diff --git a/package.json b/package.json index 8754993e22c3e7c9f204de3cfae5d4d6f3b673a5..6030fbbb6e6ff483cec75707a14be91c18c5d653 100644 --- a/package.json +++ b/package.json @@ -11,17 +11,15 @@ }, "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsc && vite build && pnpm run build:static", "serve": "vite preview", "build:static": "pnpm run build:icons && pnpm run build:svg", "build:icons": "svgo -f app/Resources/icons -o app/Resources/icons -r --config=./.svgo.icons.cjs", "build:svg": "svgo -f app/Resources/images -o public/assets/images -r --config=./.svgo.cjs", - "lint": "eslint --ext js,ts app/Resources", - "lint:fix": "eslint --ext js,ts app/Resources --fix", - "lint:css": "stylelint -f verbose \"app/Resources/**/*.css\"", - "lint:css:fix": "stylelint -f verbose --fix \"app/Resources/**/*.css\"", - "prettier": "prettier --check .", - "prettier:fix": "prettier --write .", + "lint": "stylelint -f verbose --fix \"app/Resources/**/*.css\" && eslint", + "lint:fix": "stylelint -f verbose --fix \"app/Resources/**/*.css\" && eslint --fix", + "format": "prettier --check .", + "format:fix": "prettier --write .", "typecheck": "tsc", "commit": "cz", "release": "semantic-release", @@ -30,16 +28,16 @@ "dependencies": { "@amcharts/amcharts4": "^4.10.39", "@amcharts/amcharts4-geodata": "^4.1.30", - "@codemirror/commands": "^6.6.2", + "@codemirror/commands": "^6.7.1", "@codemirror/lang-xml": "^6.1.0", - "@codemirror/language": "^6.10.3", - "@codemirror/state": "^6.4.1", - "@codemirror/view": "^6.33.0", - "@floating-ui/dom": "^1.6.11", + "@codemirror/language": "^6.10.8", + "@codemirror/state": "^6.5.0", + "@codemirror/view": "^6.36.1", + "@floating-ui/dom": "^1.6.13", "@github/clipboard-copy-element": "^1.3.0", "@github/hotkey": "^3.1.1", "@github/markdown-toolbar-element": "^2.2.3", - "@github/relative-time-element": "^4.4.3", + "@github/relative-time-element": "^4.4.4", "@tailwindcss/nesting": "0.0.0-insiders.565cd3e", "@vime/core": "^5.4.1", "choices.js": "^10.2.0", @@ -47,59 +45,69 @@ "flatpickr": "^4.6.13", "leaflet": "^1.9.4", "leaflet.markercluster": "^1.5.3", - "lit": "^3.2.0", - "marked": "^13.0.3", - "wavesurfer.js": "^7.8.6", + "lit": "^3.2.1", + "marked": "^15.0.6", + "wavesurfer.js": "^7.8.15", "xml-formatter": "^3.6.3" }, "devDependencies": { - "@commitlint/cli": "^19.5.0", - "@commitlint/config-conventional": "^19.5.0", - "@csstools/css-tokenizer": "^3.0.1", + "@commitlint/cli": "^19.6.1", + "@commitlint/config-conventional": "^19.6.0", + "@csstools/css-tokenizer": "^3.0.3", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/gitlab": "^13.2.1", - "@tailwindcss/forms": "^0.5.9", - "@tailwindcss/typography": "^0.5.15", - "@types/leaflet": "^1.9.12", - "@typescript-eslint/eslint-plugin": "^8.7.0", - "@typescript-eslint/parser": "^8.7.0", + "@semantic-release/gitlab": "^13.2.3", + "@tailwindcss/forms": "^0.5.10", + "@tailwindcss/typography": "^0.5.16", + "@types/leaflet": "^1.9.16", + "@typescript-eslint/eslint-plugin": "^8.19.1", + "@typescript-eslint/parser": "^8.19.1", "all-contributors-cli": "^6.26.1", - "commitizen": "^4.3.0", + "commitizen": "^4.3.1", "cross-env": "^7.0.3", "cssnano": "^7.0.6", "cz-conventional-changelog": "^3.3.0", - "eslint": "^8.57.1", + "eslint": "^9.17.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", - "husky": "^9.1.6", - "is-ci": "^3.0.1", - "lint-staged": "^15.2.10", - "postcss": "^8.4.47", + "globals": "^15.14.0", + "husky": "^9.1.7", + "is-ci": "^4.1.0", + "lint-staged": "^15.3.0", + "postcss": "^8.4.49", "postcss-import": "^16.1.0", - "postcss-nesting": "^13.0.0", - "postcss-preset-env": "^10.0.5", + "postcss-nesting": "^13.0.1", + "postcss-preset-env": "^10.1.3", "postcss-reporter": "^7.1.0", - "prettier": "3.3.3", + "prettier": "3.4.2", "prettier-plugin-organize-imports": "^4.1.0", - "semantic-release": "^24.1.1", - "stylelint": "^16.9.0", + "semantic-release": "^24.2.1", + "stylelint": "^16.12.0", "stylelint-config-standard": "^36.0.1", "svgo": "^3.3.2", - "tailwindcss": "^3.4.13", - "typescript": "~5.5.4", - "vite": "^5.4.7", - "vite-plugin-pwa": "^0.20.5", - "workbox-build": "^7.1.1", - "workbox-core": "^7.1.0", - "workbox-routing": "^7.1.0", - "workbox-strategies": "^7.1.0" + "tailwindcss": "^3.4.17", + "typescript": "~5.7.2", + "typescript-eslint": "^8.19.1", + "vite": "^6.0.7", + "vite-plugin-pwa": "^0.21.1", + "workbox-build": "^7.3.0", + "workbox-core": "^7.3.0", + "workbox-routing": "^7.3.0", + "workbox-strategies": "^7.3.0" }, "lint-staged": { - "*.{js,ts,css,md,json}": "prettier --write", - "*.{ts,js}": "eslint --ext js,ts,tsx app/Resources --fix", - "*.css": "stylelint --fix" + "*.{ts,js}": [ + "eslint --fix", + "prettier --write" + ], + "*.css": [ + "stylelint --fix", + "prettier --write" + ], + "!(*.css|*.js|*.ts|*.php|*.neon|*.sh)": [ + "prettier --write" + ] }, "config": { "commitizen": { diff --git a/phpstan.neon b/phpstan.neon index 43888a1aedd81cd8b6c531b3bb0ee5cef8dbe9c3..0ca1bd054a51dc23fb16ea20b1c1182d8e0c0237 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -45,6 +45,8 @@ parameters: - Modules\Media\Config\Services - Modules\Platforms\Config\Services - Modules\PremiumPodcasts\Config\Services + - Modules\Api\Rest\V1\Config\Services ignoreErrors: - '#^Call to an undefined method CodeIgniter\\Cache\\CacheInterface\:\:deleteMatching\(\)#' - - identifier: missingType.generics \ No newline at end of file + - identifier: missingType.generics + - identifier: property.readOnlyByPhpDocDefaultValue diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f85da2e232df05b8c20b3ca53cfd10d800c3ebb7..c493570058282a2de90bf38fbe4abb5441343605 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,23 +14,23 @@ importers: specifier: ^4.1.30 version: 4.1.30 "@codemirror/commands": - specifier: ^6.6.2 - version: 6.6.2 + specifier: ^6.7.1 + version: 6.7.1 "@codemirror/lang-xml": specifier: ^6.1.0 version: 6.1.0 "@codemirror/language": - specifier: ^6.10.3 - version: 6.10.3 + specifier: ^6.10.8 + version: 6.10.8 "@codemirror/state": - specifier: ^6.4.1 - version: 6.4.1 + specifier: ^6.5.0 + version: 6.5.0 "@codemirror/view": - specifier: ^6.33.0 - version: 6.33.0 + specifier: ^6.36.1 + version: 6.36.1 "@floating-ui/dom": - specifier: ^1.6.11 - version: 1.6.11 + specifier: ^1.6.13 + version: 1.6.13 "@github/clipboard-copy-element": specifier: ^1.3.0 version: 1.3.0 @@ -41,11 +41,11 @@ importers: specifier: ^2.2.3 version: 2.2.3 "@github/relative-time-element": - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.4.4 + version: 4.4.4 "@tailwindcss/nesting": specifier: 0.0.0-insiders.565cd3e - version: 0.0.0-insiders.565cd3e(postcss@8.4.47) + version: 0.0.0-insiders.565cd3e(postcss@8.4.49) "@vime/core": specifier: ^5.4.1 version: 5.4.1 @@ -65,144 +65,150 @@ importers: specifier: ^1.5.3 version: 1.5.3(leaflet@1.9.4) lit: - specifier: ^3.2.0 - version: 3.2.0 + specifier: ^3.2.1 + version: 3.2.1 marked: - specifier: ^13.0.3 - version: 13.0.3 + specifier: ^15.0.6 + version: 15.0.6 wavesurfer.js: - specifier: ^7.8.6 - version: 7.8.6 + specifier: ^7.8.15 + version: 7.8.15 xml-formatter: specifier: ^3.6.3 version: 3.6.3 devDependencies: "@commitlint/cli": - specifier: ^19.5.0 - version: 19.5.0(@types/node@20.10.5)(typescript@5.5.4) + specifier: ^19.6.1 + version: 19.6.1(@types/node@20.10.5)(typescript@5.7.2) "@commitlint/config-conventional": - specifier: ^19.5.0 - version: 19.5.0 + specifier: ^19.6.0 + version: 19.6.0 "@csstools/css-tokenizer": - specifier: ^3.0.1 - version: 3.0.1 + specifier: ^3.0.3 + version: 3.0.3 "@semantic-release/changelog": specifier: ^6.0.3 - version: 6.0.3(semantic-release@24.1.1(typescript@5.5.4)) + version: 6.0.3(semantic-release@24.2.1(typescript@5.7.2)) "@semantic-release/exec": specifier: ^6.0.3 - version: 6.0.3(semantic-release@24.1.1(typescript@5.5.4)) + version: 6.0.3(semantic-release@24.2.1(typescript@5.7.2)) "@semantic-release/git": specifier: ^10.0.1 - version: 10.0.1(semantic-release@24.1.1(typescript@5.5.4)) + version: 10.0.1(semantic-release@24.2.1(typescript@5.7.2)) "@semantic-release/gitlab": - specifier: ^13.2.1 - version: 13.2.1(semantic-release@24.1.1(typescript@5.5.4)) + specifier: ^13.2.3 + version: 13.2.3(semantic-release@24.2.1(typescript@5.7.2)) "@tailwindcss/forms": - specifier: ^0.5.9 - version: 0.5.9(tailwindcss@3.4.13) + specifier: ^0.5.10 + version: 0.5.10(tailwindcss@3.4.17) "@tailwindcss/typography": - specifier: ^0.5.15 - version: 0.5.15(tailwindcss@3.4.13) + specifier: ^0.5.16 + version: 0.5.16(tailwindcss@3.4.17) "@types/leaflet": - specifier: ^1.9.12 - version: 1.9.12 + specifier: ^1.9.16 + version: 1.9.16 "@typescript-eslint/eslint-plugin": - specifier: ^8.7.0 - version: 8.7.0(@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4) + specifier: ^8.19.1 + version: 8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) "@typescript-eslint/parser": - specifier: ^8.7.0 - version: 8.7.0(eslint@8.57.1)(typescript@5.5.4) + specifier: ^8.19.1 + version: 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) all-contributors-cli: specifier: ^6.26.1 version: 6.26.1 commitizen: - specifier: ^4.3.0 - version: 4.3.0(@types/node@20.10.5)(typescript@5.5.4) + specifier: ^4.3.1 + version: 4.3.1(@types/node@20.10.5)(typescript@5.7.2) cross-env: specifier: ^7.0.3 version: 7.0.3 cssnano: specifier: ^7.0.6 - version: 7.0.6(postcss@8.4.47) + version: 7.0.6(postcss@8.4.49) cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(@types/node@20.10.5)(typescript@5.5.4) + version: 3.3.0(@types/node@20.10.5)(typescript@5.7.2) eslint: - specifier: ^8.57.1 - version: 8.57.1 + specifier: ^9.17.0 + version: 9.17.0(jiti@2.4.2) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.1) + version: 9.1.0(eslint@9.17.0(jiti@2.4.2)) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2) + globals: + specifier: ^15.14.0 + version: 15.14.0 husky: - specifier: ^9.1.6 - version: 9.1.6 + specifier: ^9.1.7 + version: 9.1.7 is-ci: - specifier: ^3.0.1 - version: 3.0.1 + specifier: ^4.1.0 + version: 4.1.0 lint-staged: - specifier: ^15.2.10 - version: 15.2.10 + specifier: ^15.3.0 + version: 15.3.0 postcss: - specifier: ^8.4.47 - version: 8.4.47 + specifier: ^8.4.49 + version: 8.4.49 postcss-import: specifier: ^16.1.0 - version: 16.1.0(postcss@8.4.47) + version: 16.1.0(postcss@8.4.49) postcss-nesting: - specifier: ^13.0.0 - version: 13.0.0(postcss@8.4.47) + specifier: ^13.0.1 + version: 13.0.1(postcss@8.4.49) postcss-preset-env: - specifier: ^10.0.5 - version: 10.0.5(postcss@8.4.47) + specifier: ^10.1.3 + version: 10.1.3(postcss@8.4.49) postcss-reporter: specifier: ^7.1.0 - version: 7.1.0(postcss@8.4.47) + version: 7.1.0(postcss@8.4.49) prettier: - specifier: 3.3.3 - version: 3.3.3 + specifier: 3.4.2 + version: 3.4.2 prettier-plugin-organize-imports: specifier: ^4.1.0 - version: 4.1.0(prettier@3.3.3)(typescript@5.5.4) + version: 4.1.0(prettier@3.4.2)(typescript@5.7.2) semantic-release: - specifier: ^24.1.1 - version: 24.1.1(typescript@5.5.4) + specifier: ^24.2.1 + version: 24.2.1(typescript@5.7.2) stylelint: - specifier: ^16.9.0 - version: 16.9.0(typescript@5.5.4) + specifier: ^16.12.0 + version: 16.12.0(typescript@5.7.2) stylelint-config-standard: specifier: ^36.0.1 - version: 36.0.1(stylelint@16.9.0(typescript@5.5.4)) + version: 36.0.1(stylelint@16.12.0(typescript@5.7.2)) svgo: specifier: ^3.3.2 version: 3.3.2 tailwindcss: - specifier: ^3.4.13 - version: 3.4.13 + specifier: ^3.4.17 + version: 3.4.17 typescript: - specifier: ~5.5.4 - version: 5.5.4 + specifier: ~5.7.2 + version: 5.7.2 + typescript-eslint: + specifier: ^8.19.1 + version: 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) vite: - specifier: ^5.4.7 - version: 5.4.7(@types/node@20.10.5)(terser@5.26.0) + specifier: ^6.0.7 + version: 6.0.7(@types/node@20.10.5)(jiti@2.4.2)(terser@5.26.0)(yaml@2.6.1) vite-plugin-pwa: - specifier: ^0.20.5 - version: 0.20.5(vite@5.4.7(@types/node@20.10.5)(terser@5.26.0))(workbox-build@7.1.1)(workbox-window@7.1.0) + specifier: ^0.21.1 + version: 0.21.1(vite@6.0.7(@types/node@20.10.5)(jiti@2.4.2)(terser@5.26.0)(yaml@2.6.1))(workbox-build@7.3.0)(workbox-window@7.3.0) workbox-build: - specifier: ^7.1.1 - version: 7.1.1 + specifier: ^7.3.0 + version: 7.3.0 workbox-core: - specifier: ^7.1.0 - version: 7.1.0 + specifier: ^7.3.0 + version: 7.3.0 workbox-routing: - specifier: ^7.1.0 - version: 7.1.0 + specifier: ^7.3.0 + version: 7.3.0 workbox-strategies: - specifier: ^7.1.0 - version: 7.1.0 + specifier: ^7.3.0 + version: 7.3.0 packages: "@aashutoshrathi/word-wrap@1.2.6": @@ -1163,10 +1169,10 @@ packages: "@codemirror/view": ^6.0.0 "@lezer/common": ^1.0.0 - "@codemirror/commands@6.6.2": + "@codemirror/commands@6.7.1": resolution: { - integrity: sha512-Fq7eWOl1Rcbrfn6jD8FPCj9Auaxdm5nIK5RYOeW7ughnd/rY5AmPg6b+CfsG39ZHdwiwe8lde3q8uR7CF5S0yQ==, + integrity: sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw==, } "@codemirror/lang-xml@6.1.0": @@ -1175,10 +1181,10 @@ packages: integrity: sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==, } - "@codemirror/language@6.10.3": + "@codemirror/language@6.10.8": resolution: { - integrity: sha512-kDqEU5sCP55Oabl6E7m5N+vZRoc0iWqgDVhEKifcHzPzjqCegcO4amfrYVL9PmPZpl4G0yjkpTpUO/Ui8CzO8A==, + integrity: sha512-wcP8XPPhDH2vTqf181U8MbZnW+tDyPYy0UzVOa+oHORjyT+mhhom9vBd7dApJwoDz9Nb/a8kHjJIsuA/t8vNFw==, } "@codemirror/lint@6.4.2": @@ -1193,16 +1199,16 @@ packages: integrity: sha512-PIEN3Ke1buPod2EHbJsoQwlbpkz30qGZKcnmH1eihq9+bPQx8gelauUwLYaY4vBOuBAuEhmpDLii4rj/uO0yMA==, } - "@codemirror/state@6.4.1": + "@codemirror/state@6.5.0": resolution: { - integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==, + integrity: sha512-MwBHVK60IiIHDcoMet78lxt6iw5gJOGSbNbOIVBHWVXIH4/Nq1+GQgLLGgI1KlnN86WDXsPudVaqYHKBIx7Eyw==, } - "@codemirror/view@6.33.0": + "@codemirror/view@6.36.1": resolution: { - integrity: sha512-AroaR3BvnjRW8fiZBalAaK+ZzB5usGgI014YKElYZvQdNH5ZIidHlO+cyf/2rWzyBFRkvG6VhiXeAEbC53P2YQ==, + integrity: sha512-miD1nyT4m4uopZaDdO2uXU/LLHliKNYL9kB1C1wJHrunHLm/rpkb5QVSokqgw9hFqEZakrdlb/VGWX8aYZTslQ==, } "@colors/colors@1.5.0": @@ -1212,18 +1218,18 @@ packages: } engines: { node: ">=0.1.90" } - "@commitlint/cli@19.5.0": + "@commitlint/cli@19.6.1": resolution: { - integrity: sha512-gaGqSliGwB86MDmAAKAtV9SV1SHdmN8pnGq4EJU4+hLisQ7IFfx4jvU4s+pk6tl0+9bv6yT+CaZkufOinkSJIQ==, + integrity: sha512-8hcyA6ZoHwWXC76BoC8qVOSr8xHy00LZhZpauiD0iO0VYbVhMnED0da85lTfIULxl7Lj4c6vZgF0Wu/ed1+jlQ==, } engines: { node: ">=v18" } hasBin: true - "@commitlint/config-conventional@19.5.0": + "@commitlint/config-conventional@19.6.0": resolution: { - integrity: sha512-OBhdtJyHNPryZKg0fFpZNOBM1ZDbntMvqMuSmpfyP86XSfwzGw4CaoYRG4RutUPg0BTK07VMRIkNJT6wi2zthg==, + integrity: sha512-DJT40iMnTYtBtUfw9ApbsLZFke1zKh6llITVJ+x9mtpHD08gsNXaIRqHTmwTZL3dNX5+WoyK7pCN/5zswvkBCQ==, } engines: { node: ">=v18" } @@ -1269,17 +1275,17 @@ packages: } engines: { node: ">=v18" } - "@commitlint/is-ignored@19.5.0": + "@commitlint/is-ignored@19.6.0": resolution: { - integrity: sha512-0XQ7Llsf9iL/ANtwyZ6G0NGp5Y3EQ8eDQSxv/SRcfJ0awlBY4tHFAvwWbw66FVUaWICH7iE5en+FD9TQsokZ5w==, + integrity: sha512-Ov6iBgxJQFR9koOupDPHvcHU9keFupDgtB3lObdEZDroiG4jj1rzky60fbQozFKVYRTUdrBGICHG0YVmRuAJmw==, } engines: { node: ">=v18" } - "@commitlint/lint@19.5.0": + "@commitlint/lint@19.6.0": resolution: { - integrity: sha512-cAAQwJcRtiBxQWO0eprrAbOurtJz8U6MgYqLz+p9kLElirzSCc0vGMcyCaA1O7AqBuxo11l1XsY3FhOFowLAAg==, + integrity: sha512-LRo7zDkXtcIrpco9RnfhOKeg8PAnE3oDDoalnrVU/EVaKHYBWYL1DlRR7+3AWn0JiBqD8yKOfetVxJGdEtZ0tg==, } engines: { node: ">=v18" } @@ -1290,10 +1296,10 @@ packages: } engines: { node: ">=v18" } - "@commitlint/load@19.5.0": + "@commitlint/load@19.6.1": resolution: { - integrity: sha512-INOUhkL/qaKqwcTUvCE8iIUf5XHsEPCLY9looJ/ipzi7jtGhgmtH7OOFiNvwYgH7mA8osUWOUDV8t4E2HAi4xA==, + integrity: sha512-kE4mRKWWNju2QpsCWt428XBvUH55OET2N4QKQ0bF85qS/XbsRGG1MiTByDNlEVpEPceMkDr46LNH95DtRwcsfA==, } engines: { node: ">=v18" } @@ -1332,10 +1338,10 @@ packages: } engines: { node: ">=v18" } - "@commitlint/rules@19.5.0": + "@commitlint/rules@19.6.0": resolution: { - integrity: sha512-hDW5TPyf/h1/EufSHEKSp6Hs+YVsDMHazfJ2azIk9tHPXS6UqSz1dIRs1gpqS3eMXgtkT7JH6TW4IShdqOwhAw==, + integrity: sha512-1f2reW7lbrI0X0ozZMesS/WZxgPa4/wi56vFuJENBmed6mWq5KsheN/nxqnl/C23ioxpPO/PL6tXpiiFy5Bhjw==, } engines: { node: ">=v18" } @@ -1367,15 +1373,15 @@ packages: } engines: { node: ">=v18" } - "@csstools/cascade-layer-name-parser@2.0.1": + "@csstools/cascade-layer-name-parser@2.0.4": resolution: { - integrity: sha512-G9ZYN5+yr/E6xYSiy1BwOEFP5p88ZtWo8sL4NztKBkRRAwRkzVGa70M+D+fYHugMID5jkLeNt5X9jYd5EaVuyg==, + integrity: sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==, } engines: { node: ">=18" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 "@csstools/color-helpers@5.0.1": resolution: @@ -1384,92 +1390,92 @@ packages: } engines: { node: ">=18" } - "@csstools/css-calc@2.0.1": + "@csstools/css-calc@2.1.1": resolution: { - integrity: sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==, + integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==, } engines: { node: ">=18" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 - "@csstools/css-color-parser@3.0.2": + "@csstools/css-color-parser@3.0.7": resolution: { - integrity: sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==, + integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==, } engines: { node: ">=18" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 - "@csstools/css-parser-algorithms@3.0.1": + "@csstools/css-parser-algorithms@3.0.4": resolution: { - integrity: sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==, + integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==, } engines: { node: ">=18" } peerDependencies: - "@csstools/css-tokenizer": ^3.0.1 + "@csstools/css-tokenizer": ^3.0.3 - "@csstools/css-tokenizer@3.0.1": + "@csstools/css-tokenizer@3.0.3": resolution: { - integrity: sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==, + integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==, } engines: { node: ">=18" } - "@csstools/media-query-list-parser@3.0.1": + "@csstools/media-query-list-parser@4.0.2": resolution: { - integrity: sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==, + integrity: sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==, } engines: { node: ">=18" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 - "@csstools/postcss-cascade-layers@5.0.0": + "@csstools/postcss-cascade-layers@5.0.1": resolution: { - integrity: sha512-h+VunB3KXaoWTWEPBcdVk8Kz1eZ/CtDD+HXgKw5JLdbsViLEQdKUtFYH73VIQigdodng8s5DCrrwNQY7pnuWBA==, + integrity: sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-color-function@4.0.2": + "@csstools/postcss-color-function@4.0.7": resolution: { - integrity: sha512-q/W3RXh66SM7WqxW3/KU6koL8nOgqyB/wrcU3+ThXnNtXY2+k8UgdE301ISJpMt6PDyYgC7eMaIBo535RvFIgw==, + integrity: sha512-aDHYmhNIHR6iLw4ElWhf+tRqqaXwKnMl0YsQ/X105Zc4dQwe6yJpMrTN6BwOoESrkDjOYMOfORviSSLeDTJkdQ==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-color-mix-function@3.0.2": + "@csstools/postcss-color-mix-function@3.0.7": resolution: { - integrity: sha512-zG9PHNzZVCRk6eprm+T/ybrnuiwLdO+RR7+GCtNut+NZJGtPJj6bfPOEX23aOlMslLcRAlN6QOpxH3tovn+WpA==, + integrity: sha512-e68Nev4CxZYCLcrfWhHH4u/N1YocOfTmw67/kVX5Rb7rnguqqLyxPjhHWjSBX8o4bmyuukmNf3wrUSU3//kT7g==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-content-alt-text@2.0.1": + "@csstools/postcss-content-alt-text@2.0.4": resolution: { - integrity: sha512-TWjjewVZqdkjavsi8a2THuXgkhUum1k/m4QJpZpzOv72q6WnaoQZGSj5t5uCs7ymJr0H3qj6JcXMwMApSWUOGQ==, + integrity: sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-exponential-functions@2.0.1": + "@csstools/postcss-exponential-functions@2.0.6": resolution: { - integrity: sha512-A/MG8es3ylFzZ30oYIQUyJcMOfTfCs0dqqBMzeuzaPRlx4q/72WG+BbKe/pL9BUNIWsM0Q8jn3e3la8enjHJJA==, + integrity: sha512-IgJA5DQsQLu/upA3HcdvC6xEMR051ufebBTIXZ5E9/9iiaA7juXWz1ceYj814lnDYP/7eWjZnw0grRJlX4eI6g==, } engines: { node: ">=18" } peerDependencies: @@ -1484,28 +1490,28 @@ packages: peerDependencies: postcss: ^8.4 - "@csstools/postcss-gamut-mapping@2.0.2": + "@csstools/postcss-gamut-mapping@2.0.7": resolution: { - integrity: sha512-/1ur3ca9RWg/KnbLlxaDswyjLSGoaHNDruAzrVhkn5axgd7LOH6JHCBRhrKDafdMw9bf4MQrYFoaLfHAPekLFg==, + integrity: sha512-gzFEZPoOkY0HqGdyeBXR3JP218Owr683u7KOZazTK7tQZBE8s2yhg06W1tshOqk7R7SWvw9gkw2TQogKpIW8Xw==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-gradients-interpolation-method@5.0.2": + "@csstools/postcss-gradients-interpolation-method@5.0.7": resolution: { - integrity: sha512-qRpvA4sduAfiV9yZG4OM7q/h2Qhr3lg+GrHe9NZwuzWnfSDLGh+Dh4Ea6fQ+1++jdKXW/Cb4/vHRp0ssQYra4w==, + integrity: sha512-WgEyBeg6glUeTdS2XT7qeTFBthTJuXlS9GFro/DVomj7W7WMTamAwpoP4oQCq/0Ki2gvfRYFi/uZtmRE14/DFA==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-hwb-function@4.0.2": + "@csstools/postcss-hwb-function@4.0.7": resolution: { - integrity: sha512-RUBVCyJE1hTsf9vGp3zrALeMollkAlHRFKm+T36y67nLfOOf+6GNQsdTGFAyLrY65skcm8ddC26Jp1n9ZIauEA==, + integrity: sha512-LKYqjO+wGwDCfNIEllessCBWfR4MS/sS1WXO+j00KKyOjm7jDW2L6jzUmqASEiv/kkJO39GcoIOvTTfB3yeBUA==, } engines: { node: ">=18" } peerDependencies: @@ -1529,19 +1535,19 @@ packages: peerDependencies: postcss: ^8.4 - "@csstools/postcss-is-pseudo-class@5.0.0": + "@csstools/postcss-is-pseudo-class@5.0.1": resolution: { - integrity: sha512-E/CjrT03BL06WmrjupnrT0VUBTvxJdoW1hRVeXFa9qatWtvcLLw0j8hP372G4A9PpSGEMXi3/AoHzPf7DNryCQ==, + integrity: sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-light-dark-function@2.0.4": + "@csstools/postcss-light-dark-function@2.0.7": resolution: { - integrity: sha512-yHUt5DZ61Irvp72notmAl3Zt4Me50EWToWNocazyIFTVYFwwo/EucmV3hWi9zJehu3rOSvMclL7DzvRDfbak/A==, + integrity: sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==, } engines: { node: ">=18" } peerDependencies: @@ -1583,28 +1589,28 @@ packages: peerDependencies: postcss: ^8.4 - "@csstools/postcss-logical-viewport-units@3.0.1": + "@csstools/postcss-logical-viewport-units@3.0.3": resolution: { - integrity: sha512-JsfaoTiBqIuRE+CYL4ZpYKOqJ965GyiMH4b8UrY0Z7i5GfMiHZrK7xtTB29piuyKQzrW+Z8w3PAExhwND9cuAQ==, + integrity: sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-media-minmax@2.0.1": + "@csstools/postcss-media-minmax@2.0.6": resolution: { - integrity: sha512-EMa3IgUip+F/MwH4r2KfIA9ym9hQkT2PpR9MOukdomfGGCFuw9V3n/iIOBKziN1qfeddsYoOvtYOKQcHU2yIjg==, + integrity: sha512-J1+4Fr2W3pLZsfxkFazK+9kr96LhEYqoeBszLmFjb6AjYs+g9oDAw3J5oQignLKk3rC9XHW+ebPTZ9FaW5u5pg==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.1": + "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4": resolution: { - integrity: sha512-JTzMQz//INahTALkvXnC5lC2fJKzwb5PY443T2zaM9hAzM7nzHMLIlEfFgdtBahVIBtBSalMefdxNr99LGW1lQ==, + integrity: sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==, } engines: { node: ">=18" } peerDependencies: @@ -1628,10 +1634,10 @@ packages: peerDependencies: postcss: ^8.4 - "@csstools/postcss-oklab-function@4.0.2": + "@csstools/postcss-oklab-function@4.0.7": resolution: { - integrity: sha512-2iSK/T77PHMeorakBAk/WLxSodfIJ/lmi6nxEkuruXfhGH7fByZim4Fw6ZJf4B73SVieRSH2ep8zvYkA2ZfRtA==, + integrity: sha512-I6WFQIbEKG2IO3vhaMGZDkucbCaUSXMxvHNzDdnfsTCF5tc0UlV3Oe2AhamatQoKFjBi75dSEMrgWq3+RegsOQ==, } engines: { node: ">=18" } peerDependencies: @@ -1646,28 +1652,46 @@ packages: peerDependencies: postcss: ^8.4 - "@csstools/postcss-relative-color-syntax@3.0.2": + "@csstools/postcss-random-function@1.0.2": + resolution: + { + integrity: sha512-vBCT6JvgdEkvRc91NFoNrLjgGtkLWt47GKT6E2UDn3nd8ZkMBiziQ1Md1OiKoSsgzxsSnGKG3RVdhlbdZEkHjA==, + } + engines: { node: ">=18" } + peerDependencies: + postcss: ^8.4 + + "@csstools/postcss-relative-color-syntax@3.0.7": + resolution: + { + integrity: sha512-apbT31vsJVd18MabfPOnE977xgct5B1I+Jpf+Munw3n6kKb1MMuUmGGH+PT9Hm/fFs6fe61Q/EWnkrb4bNoNQw==, + } + engines: { node: ">=18" } + peerDependencies: + postcss: ^8.4 + + "@csstools/postcss-scope-pseudo-class@4.0.1": resolution: { - integrity: sha512-aBpuUdpJBswNGfw6lOkhown2cZ0YXrMjASye56nkoRpgRe9yDF4BM1fvEuakrCDiaeoUzVaI4SF6+344BflXfQ==, + integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-scope-pseudo-class@4.0.0": + "@csstools/postcss-sign-functions@1.1.1": resolution: { - integrity: sha512-+ZUOBtVMDcmHZcZqsP/jcNRriEILfWQflTI3tCTA+/RheXAg57VkFGyPDAilpQSqlCpxWLWG8VUFKFtZJPwuOg==, + integrity: sha512-MslYkZCeMQDxetNkfmmQYgKCy4c+w9pPDfgOBCJOo/RI1RveEUdZQYtOfrC6cIZB7sD7/PHr2VGOcMXlZawrnA==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - "@csstools/postcss-stepped-value-functions@4.0.1": + "@csstools/postcss-stepped-value-functions@4.0.6": resolution: { - integrity: sha512-dk3KqVcIEYzy9Mvx8amoBbk123BWgd5DfjXDiPrEqxGma37PG7m/MoMmHQhuVHIjvPDHoJwyIZi2yy7j0RA5fw==, + integrity: sha512-/dwlO9w8vfKgiADxpxUbZOWlL5zKoRIsCymYoh1IPuBsXODKanKnfuZRr32DEqT0//3Av1VjfNZU9yhxtEfIeA==, } engines: { node: ">=18" } peerDependencies: @@ -1682,10 +1706,10 @@ packages: peerDependencies: postcss: ^8.4 - "@csstools/postcss-trigonometric-functions@4.0.1": + "@csstools/postcss-trigonometric-functions@4.0.6": resolution: { - integrity: sha512-QHOYuN3bzS/rcpAygFhJxJUtD8GuJEWF6f9Zm518Tq/cSMlcTgU+v0geyi5EqbmYxKMig2oKCKUSGqOj9gehkg==, + integrity: sha512-c4Y1D2Why/PeccaSouXnTt6WcNHJkoJRidV2VW9s5gJ97cNxnLgQ4Qj8qOqkIR9VmTQKJyNcbF4hy79ZQnWD7A==, } engines: { node: ">=18" } peerDependencies: @@ -1700,23 +1724,23 @@ packages: peerDependencies: postcss: ^8.4 - "@csstools/selector-resolve-nested@2.0.0": + "@csstools/selector-resolve-nested@3.0.0": resolution: { - integrity: sha512-oklSrRvOxNeeOW1yARd4WNCs/D09cQjunGZUgSq6vM8GpzFswN+8rBZyJA29YFZhOTQ6GFzxgLDNtVbt9wPZMA==, + integrity: sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==, } engines: { node: ">=18" } peerDependencies: - postcss-selector-parser: ^6.1.0 + postcss-selector-parser: ^7.0.0 - "@csstools/selector-specificity@4.0.0": + "@csstools/selector-specificity@5.0.0": resolution: { - integrity: sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==, + integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==, } engines: { node: ">=18" } peerDependencies: - postcss-selector-parser: ^6.1.0 + postcss-selector-parser: ^7.0.0 "@csstools/utilities@2.0.0": resolution: @@ -1733,210 +1757,228 @@ packages: integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==, } - "@esbuild/aix-ppc64@0.21.5": + "@esbuild/aix-ppc64@0.24.2": resolution: { - integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==, + integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [ppc64] os: [aix] - "@esbuild/android-arm64@0.21.5": + "@esbuild/android-arm64@0.24.2": resolution: { - integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==, + integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [arm64] os: [android] - "@esbuild/android-arm@0.21.5": + "@esbuild/android-arm@0.24.2": resolution: { - integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==, + integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [arm] os: [android] - "@esbuild/android-x64@0.21.5": + "@esbuild/android-x64@0.24.2": resolution: { - integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==, + integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [x64] os: [android] - "@esbuild/darwin-arm64@0.21.5": + "@esbuild/darwin-arm64@0.24.2": resolution: { - integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==, + integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [arm64] os: [darwin] - "@esbuild/darwin-x64@0.21.5": + "@esbuild/darwin-x64@0.24.2": resolution: { - integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==, + integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [x64] os: [darwin] - "@esbuild/freebsd-arm64@0.21.5": + "@esbuild/freebsd-arm64@0.24.2": resolution: { - integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==, + integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [arm64] os: [freebsd] - "@esbuild/freebsd-x64@0.21.5": + "@esbuild/freebsd-x64@0.24.2": resolution: { - integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==, + integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [x64] os: [freebsd] - "@esbuild/linux-arm64@0.21.5": + "@esbuild/linux-arm64@0.24.2": resolution: { - integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==, + integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [arm64] os: [linux] - "@esbuild/linux-arm@0.21.5": + "@esbuild/linux-arm@0.24.2": resolution: { - integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==, + integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [arm] os: [linux] - "@esbuild/linux-ia32@0.21.5": + "@esbuild/linux-ia32@0.24.2": resolution: { - integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==, + integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [ia32] os: [linux] - "@esbuild/linux-loong64@0.21.5": + "@esbuild/linux-loong64@0.24.2": resolution: { - integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==, + integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [loong64] os: [linux] - "@esbuild/linux-mips64el@0.21.5": + "@esbuild/linux-mips64el@0.24.2": resolution: { - integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==, + integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [mips64el] os: [linux] - "@esbuild/linux-ppc64@0.21.5": + "@esbuild/linux-ppc64@0.24.2": resolution: { - integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==, + integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [ppc64] os: [linux] - "@esbuild/linux-riscv64@0.21.5": + "@esbuild/linux-riscv64@0.24.2": resolution: { - integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==, + integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [riscv64] os: [linux] - "@esbuild/linux-s390x@0.21.5": + "@esbuild/linux-s390x@0.24.2": resolution: { - integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==, + integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [s390x] os: [linux] - "@esbuild/linux-x64@0.21.5": + "@esbuild/linux-x64@0.24.2": resolution: { - integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==, + integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [x64] os: [linux] - "@esbuild/netbsd-x64@0.21.5": + "@esbuild/netbsd-arm64@0.24.2": resolution: { - integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==, + integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==, } - engines: { node: ">=12" } + engines: { node: ">=18" } + cpu: [arm64] + os: [netbsd] + + "@esbuild/netbsd-x64@0.24.2": + resolution: + { + integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==, + } + engines: { node: ">=18" } cpu: [x64] os: [netbsd] - "@esbuild/openbsd-x64@0.21.5": + "@esbuild/openbsd-arm64@0.24.2": resolution: { - integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==, + integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==, } - engines: { node: ">=12" } + engines: { node: ">=18" } + cpu: [arm64] + os: [openbsd] + + "@esbuild/openbsd-x64@0.24.2": + resolution: + { + integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==, + } + engines: { node: ">=18" } cpu: [x64] os: [openbsd] - "@esbuild/sunos-x64@0.21.5": + "@esbuild/sunos-x64@0.24.2": resolution: { - integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==, + integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [x64] os: [sunos] - "@esbuild/win32-arm64@0.21.5": + "@esbuild/win32-arm64@0.24.2": resolution: { - integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==, + integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [arm64] os: [win32] - "@esbuild/win32-ia32@0.21.5": + "@esbuild/win32-ia32@0.24.2": resolution: { - integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==, + integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [ia32] os: [win32] - "@esbuild/win32-x64@0.21.5": + "@esbuild/win32-x64@0.24.2": resolution: { - integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==, + integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==, } - engines: { node: ">=12" } + engines: { node: ">=18" } cpu: [x64] os: [win32] @@ -1956,19 +1998,54 @@ packages: } engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - "@eslint/eslintrc@2.1.4": + "@eslint-community/regexpp@4.12.1": resolution: { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - "@eslint/js@8.57.1": + "@eslint/config-array@0.19.1": resolution: { - integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==, + integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/core@0.9.1": + resolution: + { + integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/eslintrc@3.2.0": + resolution: + { + integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/js@9.17.0": + resolution: + { + integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/object-schema@2.1.5": + resolution: + { + integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/plugin-kit@0.2.4": + resolution: + { + integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@floating-ui/core@1.6.4": resolution: @@ -1976,16 +2053,16 @@ packages: integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==, } - "@floating-ui/dom@1.6.11": + "@floating-ui/dom@1.6.13": resolution: { - integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==, + integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==, } - "@floating-ui/utils@0.2.8": + "@floating-ui/utils@0.2.9": resolution: { - integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==, + integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==, } "@foliojs-fork/fontkit@1.9.1": @@ -2030,19 +2107,25 @@ packages: integrity: sha512-AlquKGee+IWiAMYVB0xyHFZRMnu4n3X4HTvJHu79GiVJ1ojTukCWyxMlF5NMsecoLcBKsuBhx3QPv2vkE/zQ0A==, } - "@github/relative-time-element@4.4.3": + "@github/relative-time-element@4.4.4": + resolution: + { + integrity: sha512-Oi8uOL8O+ZWLD7dHRWCkm2cudcTYtB3VyOYf9BtzCgDGm+OKomyOREtItNMtWl1dxvec62BTKErq36uy+RYxQg==, + } + + "@humanfs/core@0.19.1": resolution: { - integrity: sha512-EVKokqx9/DdUAZ2l9WVyY51EtRCO2gQWWMvsRIn7r4glJ91q9CXcnILVHZVCpfD52ucXUhUvtYsAjNJ4qP4uIg==, + integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==, } + engines: { node: ">=18.18.0" } - "@humanwhocodes/config-array@0.13.0": + "@humanfs/node@0.16.6": resolution: { - integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==, + integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==, } - engines: { node: ">=10.10.0" } - deprecated: Use @eslint/config-array instead + engines: { node: ">=18.18.0" } "@humanwhocodes/module-importer@1.0.1": resolution: @@ -2051,12 +2134,19 @@ packages: } engines: { node: ">=12.22" } - "@humanwhocodes/object-schema@2.0.3": + "@humanwhocodes/retry@0.3.1": + resolution: + { + integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==, + } + engines: { node: ">=18.18" } + + "@humanwhocodes/retry@0.4.1": resolution: { - integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==, + integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==, } - deprecated: Use @eslint/object-schema instead + engines: { node: ">=18.18" } "@isaacs/cliui@8.0.2": resolution: @@ -2140,6 +2230,12 @@ packages: integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==, } + "@marijn/find-cluster-break@1.0.2": + resolution: + { + integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==, + } + "@nodelib/fs.scandir@2.1.5": resolution: { @@ -2344,130 +2440,154 @@ packages: rollup: optional: true - "@rollup/rollup-android-arm-eabi@4.22.4": + "@rollup/rollup-android-arm-eabi@4.30.1": resolution: { - integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==, + integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==, } cpu: [arm] os: [android] - "@rollup/rollup-android-arm64@4.22.4": + "@rollup/rollup-android-arm64@4.30.1": resolution: { - integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==, + integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==, } cpu: [arm64] os: [android] - "@rollup/rollup-darwin-arm64@4.22.4": + "@rollup/rollup-darwin-arm64@4.30.1": resolution: { - integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==, + integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==, } cpu: [arm64] os: [darwin] - "@rollup/rollup-darwin-x64@4.22.4": + "@rollup/rollup-darwin-x64@4.30.1": resolution: { - integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==, + integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==, } cpu: [x64] os: [darwin] - "@rollup/rollup-linux-arm-gnueabihf@4.22.4": + "@rollup/rollup-freebsd-arm64@4.30.1": + resolution: + { + integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==, + } + cpu: [arm64] + os: [freebsd] + + "@rollup/rollup-freebsd-x64@4.30.1": resolution: { - integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==, + integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==, + } + cpu: [x64] + os: [freebsd] + + "@rollup/rollup-linux-arm-gnueabihf@4.30.1": + resolution: + { + integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==, } cpu: [arm] os: [linux] - "@rollup/rollup-linux-arm-musleabihf@4.22.4": + "@rollup/rollup-linux-arm-musleabihf@4.30.1": resolution: { - integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==, + integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==, } cpu: [arm] os: [linux] - "@rollup/rollup-linux-arm64-gnu@4.22.4": + "@rollup/rollup-linux-arm64-gnu@4.30.1": resolution: { - integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==, + integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==, } cpu: [arm64] os: [linux] - "@rollup/rollup-linux-arm64-musl@4.22.4": + "@rollup/rollup-linux-arm64-musl@4.30.1": resolution: { - integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==, + integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==, } cpu: [arm64] os: [linux] - "@rollup/rollup-linux-powerpc64le-gnu@4.22.4": + "@rollup/rollup-linux-loongarch64-gnu@4.30.1": + resolution: + { + integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==, + } + cpu: [loong64] + os: [linux] + + "@rollup/rollup-linux-powerpc64le-gnu@4.30.1": resolution: { - integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==, + integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==, } cpu: [ppc64] os: [linux] - "@rollup/rollup-linux-riscv64-gnu@4.22.4": + "@rollup/rollup-linux-riscv64-gnu@4.30.1": resolution: { - integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==, + integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==, } cpu: [riscv64] os: [linux] - "@rollup/rollup-linux-s390x-gnu@4.22.4": + "@rollup/rollup-linux-s390x-gnu@4.30.1": resolution: { - integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==, + integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==, } cpu: [s390x] os: [linux] - "@rollup/rollup-linux-x64-gnu@4.22.4": + "@rollup/rollup-linux-x64-gnu@4.30.1": resolution: { - integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==, + integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==, } cpu: [x64] os: [linux] - "@rollup/rollup-linux-x64-musl@4.22.4": + "@rollup/rollup-linux-x64-musl@4.30.1": resolution: { - integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==, + integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==, } cpu: [x64] os: [linux] - "@rollup/rollup-win32-arm64-msvc@4.22.4": + "@rollup/rollup-win32-arm64-msvc@4.30.1": resolution: { - integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==, + integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==, } cpu: [arm64] os: [win32] - "@rollup/rollup-win32-ia32-msvc@4.22.4": + "@rollup/rollup-win32-ia32-msvc@4.30.1": resolution: { - integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==, + integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==, } cpu: [ia32] os: [win32] - "@rollup/rollup-win32-x64-msvc@4.22.4": + "@rollup/rollup-win32-x64-msvc@4.30.1": resolution: { - integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==, + integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==, } cpu: [x64] os: [win32] @@ -2528,19 +2648,19 @@ packages: peerDependencies: semantic-release: ">=18.0.0" - "@semantic-release/github@10.0.3": + "@semantic-release/github@11.0.1": resolution: { - integrity: sha512-nSJQboKrG4xBn7hHpRMrK8lt5DgqJg50ZMz9UbrsfTxuRk55XVoQEadbGZ2L9M0xZAC6hkuwkDhQJKqfPU35Fw==, + integrity: sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==, } engines: { node: ">=20.8.1" } peerDependencies: - semantic-release: ">=20.1.0" + semantic-release: ">=24.1.0" - "@semantic-release/gitlab@13.2.1": + "@semantic-release/gitlab@13.2.3": resolution: { - integrity: sha512-uvajKL3RbvouunvF6rWCEWmvYFW5tCq8irXvb2tW40cdI5rK22q9Uma1m/PxPtUTjggqfap86G0gst1hgeFuow==, + integrity: sha512-AzH/s7r8CLDN8dnbkrXnC+Gy9NYG/qRIIKMalaqNFAorgR+goGcqMb/6vIY9aVvwaoT1bo8xr1A+eeuuL4dGEQ==, } engines: { node: ">=20.8.1" } peerDependencies: @@ -2613,13 +2733,13 @@ packages: } engines: { node: ">=14.16" } - "@tailwindcss/forms@0.5.9": + "@tailwindcss/forms@0.5.10": resolution: { - integrity: sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==, + integrity: sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==, } peerDependencies: - tailwindcss: ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20" + tailwindcss: ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" "@tailwindcss/nesting@0.0.0-insiders.565cd3e": resolution: @@ -2629,13 +2749,13 @@ packages: peerDependencies: postcss: ^8.2.15 - "@tailwindcss/typography@0.5.15": + "@tailwindcss/typography@0.5.16": resolution: { - integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==, + integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==, } peerDependencies: - tailwindcss: ">=3.0.0 || insiders || >=4.0.0-alpha.20" + tailwindcss: ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" "@trysound/sax@0.2.0": resolution: @@ -2662,6 +2782,12 @@ packages: integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, } + "@types/estree@1.0.6": + resolution: + { + integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==, + } + "@types/fscreen@1.0.4": resolution: { @@ -2680,10 +2806,16 @@ packages: integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==, } - "@types/leaflet@1.9.12": + "@types/json-schema@7.0.15": resolution: { - integrity: sha512-BK7XS+NyRI291HIo0HCfE18Lp8oA30H1gpi1tf0mF3TgiCEzanQjOqNZ4x126SXzzi2oNSZhZ5axJp1k0iM6jg==, + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } + + "@types/leaflet@1.9.16": + resolution: + { + integrity: sha512-wzZoyySUxkgMZ0ihJ7IaUIblG8Rdc8AbbZKLneyn+QjYsj5q1QU7TEKYqwTr10BGSzY5LI7tJk9Ifo+mEjdFRw==, } "@types/node@20.10.5": @@ -2722,93 +2854,77 @@ packages: integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==, } - "@typescript-eslint/eslint-plugin@8.7.0": + "@typescript-eslint/eslint-plugin@8.19.1": resolution: { - integrity: sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==, + integrity: sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true + typescript: ">=4.8.4 <5.8.0" - "@typescript-eslint/parser@8.7.0": + "@typescript-eslint/parser@8.19.1": resolution: { - integrity: sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==, + integrity: sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true + typescript: ">=4.8.4 <5.8.0" - "@typescript-eslint/scope-manager@8.7.0": + "@typescript-eslint/scope-manager@8.19.1": resolution: { - integrity: sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==, + integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@typescript-eslint/type-utils@8.7.0": + "@typescript-eslint/type-utils@8.19.1": resolution: { - integrity: sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==, + integrity: sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" - "@typescript-eslint/types@8.7.0": + "@typescript-eslint/types@8.19.1": resolution: { - integrity: sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==, + integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@typescript-eslint/typescript-estree@8.7.0": + "@typescript-eslint/typescript-estree@8.19.1": resolution: { - integrity: sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==, + integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true + typescript: ">=4.8.4 <5.8.0" - "@typescript-eslint/utils@8.7.0": + "@typescript-eslint/utils@8.19.1": resolution: { - integrity: sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==, + integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" - "@typescript-eslint/visitor-keys@8.7.0": + "@typescript-eslint/visitor-keys@8.19.1": resolution: { - integrity: sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==, + integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@ungap/structured-clone@1.2.0": - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - "@vime/core@5.4.1": resolution: { @@ -2851,18 +2967,18 @@ packages: engines: { node: ">=0.4.0" } hasBin: true - acorn@8.11.3: + acorn@8.12.0: resolution: { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==, } engines: { node: ">=0.4.0" } hasBin: true - acorn@8.12.0: + acorn@8.14.0: resolution: { - integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==, + integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==, } engines: { node: ">=0.4.0" } hasBin: true @@ -3214,22 +3330,6 @@ packages: integrity: sha512-VrhjbZ+Ba5mDiSYEuPelekQMfTbhcA2DhLk2VQWqdcCROWeFqlTcXZ7yfRkXCIl8E+g4gINJYJiRB7WEtfomAQ==, } - browserslist@4.23.0: - resolution: - { - integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } - hasBin: true - - browserslist@4.23.1: - resolution: - { - integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } - hasBin: true - browserslist@4.23.3: resolution: { @@ -3318,12 +3418,6 @@ packages: integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==, } - caniuse-lite@1.0.30001612: - resolution: - { - integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==, - } - caniuse-lite@1.0.30001639: resolution: { @@ -3357,6 +3451,13 @@ packages: } engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + chalk@5.4.1: + resolution: + { + integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==, + } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + char-regex@1.0.2: resolution: { @@ -3376,17 +3477,17 @@ packages: integrity: sha512-8PKy6wq7BMjNwDTZwr3+Zry6G2+opJaAJDDA/j3yxvqSCnvkKe7ZIFfIyOhoc7htIWFhsfzF9tJpGUATcpUtPg==, } - chokidar@3.5.3: + chokidar@3.6.0: resolution: { - integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, + integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, } engines: { node: ">= 8.10.0" } - ci-info@3.9.0: + ci-info@4.1.0: resolution: { - integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, + integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==, } engines: { node: ">=8" } @@ -3550,10 +3651,10 @@ packages: } engines: { node: ">= 10" } - commitizen@4.3.0: + commitizen@4.3.1: resolution: { - integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==, + integrity: sha512-gwAPAVTy/j5YcOOebcCRIijn+mSjWJC+IYKivTu6aG8Ei/scoXgfsMRnuAk6b0GRste2J4NGxVdMN3ZpfNaVaw==, } engines: { node: ">= 12" } hasBin: true @@ -3696,6 +3797,17 @@ packages: cosmiconfig: ">=8.2" typescript: ">=4" + cosmiconfig-typescript-loader@6.1.0: + resolution: + { + integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==, + } + engines: { node: ">=v18" } + peerDependencies: + "@types/node": "*" + cosmiconfig: ">=9" + typescript: ">=5" + cosmiconfig@8.3.6: resolution: { @@ -3741,6 +3853,13 @@ packages: } engines: { node: ">= 8" } + cross-spawn@7.0.6: + resolution: + { + integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, + } + engines: { node: ">= 8" } + crypto-js@4.2.0: resolution: { @@ -3761,10 +3880,10 @@ packages: } engines: { node: ">=12" } - css-blank-pseudo@7.0.0: + css-blank-pseudo@7.0.1: resolution: { - integrity: sha512-v9xXYGdm6LIn4iHEfu3egk/PM1g/yJr8uwTIj6E44kurv5dE/4y3QW7WdVmZ0PVnqfTuK+C0ClZcEEiaKWBL9Q==, + integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==, } engines: { node: ">=18" } peerDependencies: @@ -3779,17 +3898,17 @@ packages: peerDependencies: postcss: ^8.0.9 - css-functions-list@3.2.2: + css-functions-list@3.2.3: resolution: { - integrity: sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==, + integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==, } engines: { node: ">=12 || >=16" } - css-has-pseudo@7.0.0: + css-has-pseudo@7.0.2: resolution: { - integrity: sha512-vO6k9bBt4/eEZ2PeHmS2VXjJga5SBy6O1ESyaOkse5/lvp6piFqg8Sh5KTU7X33M7Uh/oqo+M3EeMktQrZoTCQ==, + integrity: sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==, } engines: { node: ">=18" } peerDependencies: @@ -3824,6 +3943,13 @@ packages: } engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + css-tree@3.1.0: + resolution: + { + integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==, + } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + css-what@6.1.0: resolution: { @@ -3831,10 +3957,10 @@ packages: } engines: { node: ">= 6" } - cssdb@8.1.1: + cssdb@8.2.3: resolution: { - integrity: sha512-kRbSRgZoxtZNl5snb3nOzBkFOt5AwnephcUTIEFc2DebKG9PN50/cHarlwOooTxYQ/gxsnKs3BxykhNLmfvyLg==, + integrity: sha512-9BDG5XmJrJQQnJ51VFxXCAtpZ5ebDlAREmO8sxMOVU0aSxN/gocbctjIG5LMh3WBUq+xTlb/jw2LoljBEqraTA==, } cssesc@3.0.0: @@ -4016,6 +4142,18 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: + { + integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + decamelize@1.2.0: resolution: { @@ -4129,13 +4267,6 @@ packages: integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, } - doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dom-serializer@2.0.0: resolution: { @@ -4188,18 +4319,6 @@ packages: engines: { node: ">=0.10.0" } hasBin: true - electron-to-chromium@1.4.689: - resolution: - { - integrity: sha512-GatzRKnGPS1go29ep25reM94xxd1Wj8ritU0yRhCJ/tr1Bg8gKnm6R9O/yPOhGQBoLMZ9ezfrpghNaTw97C/PQ==, - } - - electron-to-chromium@1.4.815: - resolution: - { - integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==, - } - electron-to-chromium@1.5.28: resolution: { @@ -4317,21 +4436,14 @@ packages: integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==, } - esbuild@0.21.5: + esbuild@0.24.2: resolution: { - integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==, + integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==, } - engines: { node: ">=12" } + engines: { node: ">=18" } hasBin: true - escalade@3.1.1: - resolution: - { - integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, - } - engines: { node: ">=6" } - escalade@3.1.2: resolution: { @@ -4402,12 +4514,12 @@ packages: eslint-config-prettier: optional: true - eslint-scope@7.2.2: + eslint-scope@8.2.0: resolution: { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } eslint-visitor-keys@3.4.3: resolution: @@ -4416,20 +4528,32 @@ packages: } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - eslint@8.57.1: + eslint-visitor-keys@4.2.0: resolution: { - integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==, + integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + eslint@9.17.0: + resolution: + { + integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } hasBin: true + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: + espree@10.3.0: resolution: { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } esprima@1.0.4: resolution: @@ -4611,10 +4735,10 @@ packages: integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==, } - fdir@6.2.0: + fdir@6.4.2: resolution: { - integrity: sha512-9XaWcDl0riOX5j2kYfy0kKdg7skw3IY6kA4LFT8Tk2yF9UdrADUy8D6AJuBLtf7ISm/MksumwAHE3WVbMRyCLw==, + integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==, } peerDependencies: picomatch: ^3 || ^4 @@ -4643,17 +4767,17 @@ packages: } engines: { node: ">=18" } - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: resolution: { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, } - engines: { node: ^10.12.0 || >=12.0.0 } + engines: { node: ">=16.0.0" } - file-entry-cache@9.0.0: + file-entry-cache@9.1.0: resolution: { - integrity: sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==, + integrity: sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==, } engines: { node: ">=18" } @@ -4738,12 +4862,12 @@ packages: } engines: { node: ">= 8" } - flat-cache@3.2.0: + flat-cache@4.0.1: resolution: { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, } - engines: { node: ^10.12.0 || >=12.0.0 } + engines: { node: ">=16" } flat-cache@5.0.0: resolution: @@ -4985,6 +5109,7 @@ packages: { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, } + deprecated: Glob versions prior to v9 are no longer supported global-directory@4.0.1: resolution: @@ -5035,12 +5160,19 @@ packages: } engines: { node: ">=4" } - globals@13.24.0: + globals@14.0.0: resolution: { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, } - engines: { node: ">=8" } + engines: { node: ">=18" } + + globals@15.14.0: + resolution: + { + integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==, + } + engines: { node: ">=18" } globalthis@1.0.3: resolution: @@ -5265,10 +5397,10 @@ packages: } engines: { node: ">=18.18.0" } - husky@9.1.6: + husky@9.1.7: resolution: { - integrity: sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==, + integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==, } engines: { node: ">=18" } hasBin: true @@ -5299,17 +5431,17 @@ packages: integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, } - ignore@5.3.1: + ignore@5.3.2: resolution: { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, } engines: { node: ">= 4" } - ignore@5.3.2: + ignore@6.0.2: resolution: { - integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, + integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==, } engines: { node: ">= 4" } @@ -5327,6 +5459,13 @@ packages: } engines: { node: ">=16.20" } + import-from-esm@2.0.0: + resolution: + { + integrity: sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==, + } + engines: { node: ">=18.20" } + import-meta-resolve@4.0.0: resolution: { @@ -5366,6 +5505,7 @@ packages: { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, } + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: @@ -5474,10 +5614,10 @@ packages: } engines: { node: ">= 0.4" } - is-ci@3.0.1: + is-ci@4.1.0: resolution: { - integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, + integrity: sha512-Ab9bQDQ11lWootZUI5qxgN2ZXwxNI5hTwnsvOc1wyxQ7zQ8OkEDw79mI0+9jI3x432NfwbVRru+3noJfXF6lSQ==, } hasBin: true @@ -5577,13 +5717,6 @@ packages: } engines: { node: ">=8" } - is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - is-plain-obj@4.1.0: resolution: { @@ -5754,6 +5887,20 @@ packages: } hasBin: true + jiti@1.21.7: + resolution: + { + integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==, + } + hasBin: true + + jiti@2.4.2: + resolution: + { + integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==, + } + hasBin: true + js-tokens@4.0.0: resolution: { @@ -5872,10 +6019,10 @@ packages: } engines: { node: ">=0.10.0" } - known-css-properties@0.34.0: + known-css-properties@0.35.0: resolution: { - integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==, + integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==, } leaflet.markercluster@1.5.3: @@ -5913,17 +6060,17 @@ packages: } engines: { node: ">= 0.8.0" } - lilconfig@2.1.0: + lilconfig@3.1.2: resolution: { - integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, + integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==, } - engines: { node: ">=10" } + engines: { node: ">=14" } - lilconfig@3.1.2: + lilconfig@3.1.3: resolution: { - integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==, + integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==, } engines: { node: ">=14" } @@ -5933,18 +6080,18 @@ packages: integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, } - lint-staged@15.2.10: + lint-staged@15.3.0: resolution: { - integrity: sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==, + integrity: sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==, } engines: { node: ">=18.12.0" } hasBin: true - listr2@8.2.4: + listr2@8.2.5: resolution: { - integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==, + integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==, } engines: { node: ">=18.0.0" } @@ -5960,10 +6107,10 @@ packages: integrity: sha512-pwT/HwoxqI9FggTrYVarkBKFN9MlTUpLrDHubTmW4SrkL3kkqW5gxwbxMMUnbbRHBC0WTZnYHcjDSCM559VyfA==, } - lit@3.2.0: + lit@3.2.1: resolution: { - integrity: sha512-s6tI33Lf6VpDu7u4YqsSX78D28bYQulM+VAzsGch4fx2H0eLZnJsUBsPWmGYSGoKDNbjtRv02rio1o+UdPVwvw==, + integrity: sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==, } load-json-file@4.0.0: @@ -6204,10 +6351,10 @@ packages: engines: { node: ">= 18" } hasBin: true - marked@13.0.3: + marked@15.0.6: resolution: { - integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==, + integrity: sha512-Y07CUOE+HQXbVDCGl3LXggqJDbXDP2pArc2C1N1RRMN0ONiShoSsIInMd5Gsxupe7fKLpgimTV+HOJ9r7bA+pg==, } engines: { node: ">= 18" } hasBin: true @@ -6230,6 +6377,12 @@ packages: integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==, } + mdn-data@2.12.2: + resolution: + { + integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==, + } + meow@12.1.1: resolution: { @@ -6276,13 +6429,6 @@ packages: } engines: { node: ">=8.6" } - micromatch@4.0.7: - resolution: - { - integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==, - } - engines: { node: ">=8.6" } - micromatch@4.0.8: resolution: { @@ -6391,6 +6537,12 @@ packages: integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, } + ms@2.1.3: + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } + mute-stream@0.0.8: resolution: { @@ -6454,12 +6606,6 @@ packages: encoding: optional: true - node-releases@2.0.14: - resolution: - { - integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, - } - node-releases@2.0.18: resolution: { @@ -6996,6 +7142,12 @@ packages: integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==, } + picocolors@1.1.1: + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } + picomatch@2.3.1: resolution: { @@ -7065,10 +7217,10 @@ packages: integrity: sha512-bxaGcA40sL3d6M4hH72Z4NdLqxpXRsCFk8AITYg6x1rn1Ei3izf00UMLklerBZTO49aPA3CYrIwVulx2Bce2pA==, } - postcss-attribute-case-insensitive@7.0.0: + postcss-attribute-case-insensitive@7.0.1: resolution: { - integrity: sha512-ETMUHIw67Kyv9Q81nden/NuJbRh+4/S963giXpfSLd5eaKK8kd1UdAHMVRV/NG/w/N6Cq8B0qZIZbZZWU/67+A==, + integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==, } engines: { node: ">=18" } peerDependencies: @@ -7092,10 +7244,10 @@ packages: peerDependencies: postcss: ^8.4.6 - postcss-color-functional-notation@7.0.2: + postcss-color-functional-notation@7.0.7: resolution: { - integrity: sha512-c2WkR0MS73s+P5SgY1KBaSEE61Rj+miW095rkWDnMQxbTCQkp6y/jft8U0QMxEsI4k1Pd4PdV+TP9/1zIDR6XQ==, + integrity: sha512-EZvAHsvyASX63vXnyXOIynkxhaHRSsdb7z6yiXKIovGXAolW4cMZ3qoh7k3VdTsLBS6VGdksGfIo3r6+waLoOw==, } engines: { node: ">=18" } peerDependencies: @@ -7137,37 +7289,37 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-custom-media@11.0.1: + postcss-custom-media@11.0.5: resolution: { - integrity: sha512-vfBliYVgEEJUFXCRPQ7jYt1wlD322u+/5GT0tZqMVYFInkpDHfjhU3nk2quTRW4uFc/umOOqLlxvrEOZRvloMw==, + integrity: sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - postcss-custom-properties@14.0.1: + postcss-custom-properties@14.0.4: resolution: { - integrity: sha512-SB4GjuZjIq5GQFNbxFrirQPbkdbJooyNy8bh+fcJ8ZG0oasJTflTTtR4geb56h+FBVDIb9Hx4v/NiG2caOj8nQ==, + integrity: sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - postcss-custom-selectors@8.0.1: + postcss-custom-selectors@8.0.4: resolution: { - integrity: sha512-2McIpyhAeKhUzVqrP4ZyMBpK5FuD+Y9tpQwhcof49652s7gez8057cSaOg/epYcKlztSYxb0GHfi7W5h3JoGUg==, + integrity: sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - postcss-dir-pseudo-class@9.0.0: + postcss-dir-pseudo-class@9.0.1: resolution: { - integrity: sha512-T59BG9lURiXmhcJMyKbyjNAK3KCyEQYEhaz9GAETHXfIy9XbGQeyz+H0zIwRJlrP4KKRPJolNYe3QjQPemMjBA==, + integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==, } engines: { node: ">=18" } peerDependencies: @@ -7218,19 +7370,19 @@ packages: peerDependencies: postcss: ^8.4 - postcss-focus-visible@10.0.0: + postcss-focus-visible@10.0.1: resolution: { - integrity: sha512-GJjzvTj7JY+zN7wVBQ4osdKX53QLUdr6r2rSEkBUqrEMDKu3fHMHKOY9rirdirbHCx3IETnK25EtpPARR2KWNw==, + integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - postcss-focus-within@9.0.0: + postcss-focus-within@9.0.1: resolution: { - integrity: sha512-QwflAWUToNZvQLGbc4qJhrQO8yZ5617L6hSNzNWDoqRX4FoIh9fbJbEjy0nvFPciaaOoCaeqcxBwYPbFU0HvBw==, + integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==, } engines: { node: ">=18" } peerDependencies: @@ -7289,10 +7441,10 @@ packages: peerDependencies: postcss: ^8.4.21 - postcss-lab-function@7.0.2: + postcss-lab-function@7.0.7: resolution: { - integrity: sha512-h4ARGLIBtC1PmCHsLgTWWj8j1i1CXoaht4A5RlITDX2z9AeFBak0YlY6sdF4oJGljrep+Dg2SSccIj4QnFbRDg==, + integrity: sha512-+ONj2bpOQfsCKZE2T9VGMyVVdGcGUpr7u3SVfvkJlvhTRmDCfY25k4Jc8fubB9DclAPR4+w8uVtDZmdRgdAHig==, } engines: { node: ">=18" } peerDependencies: @@ -7385,19 +7537,19 @@ packages: peerDependencies: postcss: ^8.2.14 - postcss-nested@6.0.1: + postcss-nested@6.2.0: resolution: { - integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==, + integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==, } engines: { node: ">=12.0" } peerDependencies: postcss: ^8.2.14 - postcss-nesting@13.0.0: + postcss-nesting@13.0.1: resolution: { - integrity: sha512-TCGQOizyqvEkdeTPM+t6NYwJ3EJszYE/8t8ILxw/YoeUvz2rz7aM8XTAmBWh9/DJjfaaabL88fWrsVHSPF2zgA==, + integrity: sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==, } engines: { node: ">=18" } peerDependencies: @@ -7528,19 +7680,19 @@ packages: peerDependencies: postcss: ^8.4 - postcss-preset-env@10.0.5: + postcss-preset-env@10.1.3: resolution: { - integrity: sha512-ipPOgr3RY0utgJDbNoCX2dxKoQ4e4WO1pC21QhDlxCAX8+qC8O2Ezkzb54fd+8XtZ1UveA5gLjBsVo6dJDoWIg==, + integrity: sha512-9qzVhcMFU/MnwYHyYpJz4JhGku/4+xEiPTmhn0hj3IxnUYlEF9vbh7OC1KoLAnenS6Fgg43TKNp9xcuMeAi4Zw==, } engines: { node: ">=18" } peerDependencies: postcss: ^8.4 - postcss-pseudo-class-any-link@10.0.0: + postcss-pseudo-class-any-link@10.0.1: resolution: { - integrity: sha512-bde8VE08Gq3ekKDq2BQ0ESOjNX54lrFDK3U9zABPINaqHblbZL/4Wfo5Y2vk6U64yVd/sjDwTzuiisFBpGNNIQ==, + integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==, } engines: { node: ">=18" } peerDependencies: @@ -7587,19 +7739,19 @@ packages: integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==, } - postcss-safe-parser@7.0.0: + postcss-safe-parser@7.0.1: resolution: { - integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==, + integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==, } engines: { node: ">=18.0" } peerDependencies: postcss: ^8.4.31 - postcss-selector-not@8.0.0: + postcss-selector-not@8.0.1: resolution: { - integrity: sha512-g/juh7A83GWc3+kWL8BiS3YUIJb3XNqIVKz1kGvgN3OhoGCsPncy1qo/+q61tjy5r87OxBhSY1+hcH3yOhEW+g==, + integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==, } engines: { node: ">=18" } peerDependencies: @@ -7619,17 +7771,17 @@ packages: } engines: { node: ">=4" } - postcss-selector-parser@6.1.1: + postcss-selector-parser@6.1.2: resolution: { - integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==, + integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==, } engines: { node: ">=4" } - postcss-selector-parser@6.1.2: + postcss-selector-parser@7.0.0: resolution: { - integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==, + integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==, } engines: { node: ">=4" } @@ -7657,10 +7809,10 @@ packages: integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, } - postcss@8.4.47: + postcss@8.4.49: resolution: { - integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==, + integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==, } engines: { node: ^10 || ^12 || >=14 } @@ -7706,10 +7858,10 @@ packages: engines: { node: ">=10.13.0" } hasBin: true - prettier@3.3.3: + prettier@3.4.2: resolution: { - integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==, + integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==, } engines: { node: ">=14" } hasBin: true @@ -8012,14 +8164,6 @@ packages: } engines: { node: ">= 0.8.15" } - rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rollup@2.79.1: resolution: { @@ -8028,10 +8172,10 @@ packages: engines: { node: ">=10.0.0" } hasBin: true - rollup@4.22.4: + rollup@4.30.1: resolution: { - integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==, + integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==, } engines: { node: ">=18.0.0", npm: ">=8.0.0" } hasBin: true @@ -8105,10 +8249,10 @@ packages: integrity: sha512-5cfCmsTYV/wPaRIItNxatw02ua/MThdIUNnUOCYp+3LSEJvnG804ANw2VLaavNILIfWXF1D1G2KNANkBBvInwQ==, } - semantic-release@24.1.1: + semantic-release@24.2.1: resolution: { - integrity: sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==, + integrity: sha512-z0/3cutKNkLQ4Oy0HTi3lubnjTsdjjgOqmxdPjeYWe6lhFqUPfwslZxRHv3HDZlN4MhnZitb9SLihDkZNxOXfQ==, } engines: { node: ">=20.8.1" } hasBin: true @@ -8566,10 +8710,10 @@ packages: peerDependencies: stylelint: ^16.1.0 - stylelint@16.9.0: + stylelint@16.12.0: resolution: { - integrity: sha512-31Nm3WjxGOBGpQqF43o3wO9L5AC36TPIe6030Lnm13H3vDMTcS21DrLh69bMX+DBilKqMMVLian4iG6ybBoNRQ==, + integrity: sha512-F8zZ3L/rBpuoBZRvI4JVT20ZanPLXfQLzMOZg1tzPflRVh9mKpOZ8qcSIhh1my3FjAjZWG4T2POwGnmn6a6hbg==, } engines: { node: ">=18.12.0" } hasBin: true @@ -8603,13 +8747,6 @@ packages: } engines: { node: ">=8" } - supports-hyperlinks@3.0.0: - resolution: - { - integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==, - } - engines: { node: ">=14.18" } - supports-hyperlinks@3.1.0: resolution: { @@ -8645,17 +8782,17 @@ packages: } engines: { node: ^14.18.0 || >=16.0.0 } - table@6.8.2: + table@6.9.0: resolution: { - integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==, + integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==, } engines: { node: ">=10.0.0" } - tailwindcss@3.4.13: + tailwindcss@3.4.17: resolution: { - integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==, + integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==, } engines: { node: ">=14.0.0" } hasBin: true @@ -8703,12 +8840,6 @@ packages: } engines: { node: ">=8" } - text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - thenby@1.3.4: resolution: { @@ -8759,10 +8890,10 @@ packages: integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==, } - tinyglobby@0.2.0: + tinyglobby@0.2.10: resolution: { - integrity: sha512-+clyYQfAnNlt5a1x7CCQ6RLuTIztDfDAl6mAANvqRUlz6sVy5znCzJOhais8G6oyUyoeeaorLopO3HptVP8niA==, + integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==, } engines: { node: ">=12.0.0" } @@ -8812,14 +8943,14 @@ packages: } engines: { node: ">= 0.4" } - ts-api-utils@1.3.0: + ts-api-utils@2.0.0: resolution: { - integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==, + integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==, } - engines: { node: ">=16" } + engines: { node: ">=18.12" } peerDependencies: - typescript: ">=4.2.0" + typescript: ">=4.8.4" ts-interface-checker@0.1.13: resolution: @@ -8860,13 +8991,6 @@ packages: } engines: { node: ">=10" } - type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - type-fest@0.21.3: resolution: { @@ -8947,10 +9071,20 @@ packages: integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, } - typescript@5.5.4: + typescript-eslint@8.19.1: + resolution: + { + integrity: sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + + typescript@5.7.2: resolution: { - integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==, + integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==, } engines: { node: ">=14.17" } hasBin: true @@ -9063,24 +9197,6 @@ packages: } engines: { node: ">=4" } - update-browserslist-db@1.0.13: - resolution: - { - integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, - } - hasBin: true - peerDependencies: - browserslist: ">= 4.21.0" - - update-browserslist-db@1.0.16: - resolution: - { - integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==, - } - hasBin: true - peerDependencies: - browserslist: ">= 4.21.0" - update-browserslist-db@1.1.0: resolution: { @@ -9121,40 +9237,45 @@ packages: integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, } - vite-plugin-pwa@0.20.5: + vite-plugin-pwa@0.21.1: resolution: { - integrity: sha512-aweuI/6G6n4C5Inn0vwHumElU/UEpNuO+9iZzwPZGTCH87TeZ6YFMrEY6ZUBQdIHHlhTsbMDryFARcSuOdsz9Q==, + integrity: sha512-rkTbKFbd232WdiRJ9R3u+hZmf5SfQljX1b45NF6oLA6DSktEKpYllgTo1l2lkiZWMWV78pABJtFjNXfBef3/3Q==, } engines: { node: ">=16.0.0" } peerDependencies: "@vite-pwa/assets-generator": ^0.2.6 - vite: ^3.1.0 || ^4.0.0 || ^5.0.0 - workbox-build: ^7.1.0 - workbox-window: ^7.1.0 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + workbox-build: ^7.3.0 + workbox-window: ^7.3.0 peerDependenciesMeta: "@vite-pwa/assets-generator": optional: true - vite@5.4.7: + vite@6.0.7: resolution: { - integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==, + integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==, } - engines: { node: ^18.0.0 || >=20.0.0 } + engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } hasBin: true peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" less: "*" lightningcss: ^1.21.0 sass: "*" sass-embedded: "*" stylus: "*" sugarss: "*" - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: "@types/node": optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -9169,6 +9290,10 @@ packages: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true w3c-keyname@2.2.8: resolution: @@ -9176,10 +9301,10 @@ packages: integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==, } - wavesurfer.js@7.8.6: + wavesurfer.js@7.8.15: resolution: { - integrity: sha512-EDexkMwkkQBTWruhfWQRkTtvRggtKFTPuJX/oZ5wbIZEfyww9EBeLr2mtkxzA1S8TlWPx6adY5WyjOlNYNyHSg==, + integrity: sha512-fWNnQt5BEGzuoJ7HRxfvpT1rOEI1AmCGPZ/+7QDkDVN/m2vIBeLVQ+5vENRMz1YwvZ/u1No0UV492/o8G++KXQ==, } wcwidth@1.0.1: @@ -9259,101 +9384,101 @@ packages: integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, } - workbox-background-sync@7.1.0: + workbox-background-sync@7.3.0: resolution: { - integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==, + integrity: sha512-PCSk3eK7Mxeuyatb22pcSx9dlgWNv3+M8PqPaYDokks8Y5/FX4soaOqj3yhAZr5k6Q5JWTOMYgaJBpbw11G9Eg==, } - workbox-broadcast-update@7.1.0: + workbox-broadcast-update@7.3.0: resolution: { - integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==, + integrity: sha512-T9/F5VEdJVhwmrIAE+E/kq5at2OY6+OXXgOWQevnubal6sO92Gjo24v6dCVwQiclAF5NS3hlmsifRrpQzZCdUA==, } - workbox-build@7.1.1: + workbox-build@7.3.0: resolution: { - integrity: sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==, + integrity: sha512-JGL6vZTPlxnlqZRhR/K/msqg3wKP+m0wfEUVosK7gsYzSgeIxvZLi1ViJJzVL7CEeI8r7rGFV973RiEqkP3lWQ==, } engines: { node: ">=16.0.0" } - workbox-cacheable-response@7.1.0: + workbox-cacheable-response@7.3.0: resolution: { - integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==, + integrity: sha512-eAFERIg6J2LuyELhLlmeRcJFa5e16Mj8kL2yCDbhWE+HUun9skRQrGIFVUagqWj4DMaaPSMWfAolM7XZZxNmxA==, } - workbox-core@7.1.0: + workbox-core@7.3.0: resolution: { - integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==, + integrity: sha512-Z+mYrErfh4t3zi7NVTvOuACB0A/jA3bgxUN3PwtAVHvfEsZxV9Iju580VEETug3zYJRc0Dmii/aixI/Uxj8fmw==, } - workbox-expiration@7.1.0: + workbox-expiration@7.3.0: resolution: { - integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==, + integrity: sha512-lpnSSLp2BM+K6bgFCWc5bS1LR5pAwDWbcKt1iL87/eTSJRdLdAwGQznZE+1czLgn/X05YChsrEegTNxjM067vQ==, } - workbox-google-analytics@7.1.0: + workbox-google-analytics@7.3.0: resolution: { - integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==, + integrity: sha512-ii/tSfFdhjLHZ2BrYgFNTrb/yk04pw2hasgbM70jpZfLk0vdJAXgaiMAWsoE+wfJDNWoZmBYY0hMVI0v5wWDbg==, } - workbox-navigation-preload@7.1.0: + workbox-navigation-preload@7.3.0: resolution: { - integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==, + integrity: sha512-fTJzogmFaTv4bShZ6aA7Bfj4Cewaq5rp30qcxl2iYM45YD79rKIhvzNHiFj1P+u5ZZldroqhASXwwoyusnr2cg==, } - workbox-precaching@7.1.0: + workbox-precaching@7.3.0: resolution: { - integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==, + integrity: sha512-ckp/3t0msgXclVAYaNndAGeAoWQUv7Rwc4fdhWL69CCAb2UHo3Cef0KIUctqfQj1p8h6aGyz3w8Cy3Ihq9OmIw==, } - workbox-range-requests@7.1.0: + workbox-range-requests@7.3.0: resolution: { - integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==, + integrity: sha512-EyFmM1KpDzzAouNF3+EWa15yDEenwxoeXu9bgxOEYnFfCxns7eAxA9WSSaVd8kujFFt3eIbShNqa4hLQNFvmVQ==, } - workbox-recipes@7.1.0: + workbox-recipes@7.3.0: resolution: { - integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==, + integrity: sha512-BJro/MpuW35I/zjZQBcoxsctgeB+kyb2JAP5EB3EYzePg8wDGoQuUdyYQS+CheTb+GhqJeWmVs3QxLI8EBP1sg==, } - workbox-routing@7.1.0: + workbox-routing@7.3.0: resolution: { - integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==, + integrity: sha512-ZUlysUVn5ZUzMOmQN3bqu+gK98vNfgX/gSTZ127izJg/pMMy4LryAthnYtjuqcjkN4HEAx1mdgxNiKJMZQM76A==, } - workbox-strategies@7.1.0: + workbox-strategies@7.3.0: resolution: { - integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==, + integrity: sha512-tmZydug+qzDFATwX7QiEL5Hdf7FrkhjaF9db1CbB39sDmEZJg3l9ayDvPxy8Y18C3Y66Nrr9kkN1f/RlkDgllg==, } - workbox-streams@7.1.0: + workbox-streams@7.3.0: resolution: { - integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==, + integrity: sha512-SZnXucyg8x2Y61VGtDjKPO5EgPUG5NDn/v86WYHX+9ZqvAsGOytP0Jxp1bl663YUuMoXSAtsGLL+byHzEuMRpw==, } - workbox-sw@7.1.0: + workbox-sw@7.3.0: resolution: { - integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==, + integrity: sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA==, } - workbox-window@7.1.0: + workbox-window@7.3.0: resolution: { - integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==, + integrity: sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA==, } wrap-ansi@6.2.0: @@ -9449,18 +9574,18 @@ packages: integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, } - yaml@2.4.5: + yaml@2.5.1: resolution: { - integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==, + integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==, } engines: { node: ">= 14" } hasBin: true - yaml@2.5.1: + yaml@2.6.1: resolution: { - integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==, + integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==, } engines: { node: ">= 14" } hasBin: true @@ -9572,7 +9697,7 @@ snapshots: "@babel/code-frame@7.24.2": dependencies: "@babel/highlight": 7.24.2 - picocolors: 1.0.0 + picocolors: 1.1.0 "@babel/compat-data@7.23.5": {} @@ -9589,7 +9714,7 @@ snapshots: "@babel/traverse": 7.24.1 "@babel/types": 7.24.0 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -9615,7 +9740,7 @@ snapshots: dependencies: "@babel/compat-data": 7.23.5 "@babel/helper-validator-option": 7.23.5 - browserslist: 4.23.0 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -9644,7 +9769,7 @@ snapshots: "@babel/core": 7.24.4 "@babel/helper-compilation-targets": 7.23.6 "@babel/helper-plugin-utils": 7.22.5 - debug: 4.3.4 + debug: 4.3.6 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -9741,7 +9866,7 @@ snapshots: "@babel/helper-validator-identifier": 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.1.0 "@babel/parser@7.24.4": dependencies: @@ -10268,7 +10393,7 @@ snapshots: "@babel/helper-split-export-declaration": 7.22.6 "@babel/parser": 7.24.4 "@babel/types": 7.24.0 - debug: 4.3.4 + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -10279,33 +10404,33 @@ snapshots: "@babel/helper-validator-identifier": 7.22.20 to-fast-properties: 2.0.0 - "@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.0)": + "@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.0)": dependencies: - "@codemirror/language": 6.10.3 - "@codemirror/state": 6.4.1 - "@codemirror/view": 6.33.0 + "@codemirror/language": 6.10.8 + "@codemirror/state": 6.5.0 + "@codemirror/view": 6.36.1 "@lezer/common": 1.2.0 - "@codemirror/commands@6.6.2": + "@codemirror/commands@6.7.1": dependencies: - "@codemirror/language": 6.10.3 - "@codemirror/state": 6.4.1 - "@codemirror/view": 6.33.0 + "@codemirror/language": 6.10.8 + "@codemirror/state": 6.5.0 + "@codemirror/view": 6.36.1 "@lezer/common": 1.2.0 "@codemirror/lang-xml@6.1.0": dependencies: - "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.0) - "@codemirror/language": 6.10.3 - "@codemirror/state": 6.4.1 - "@codemirror/view": 6.33.0 + "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.0) + "@codemirror/language": 6.10.8 + "@codemirror/state": 6.5.0 + "@codemirror/view": 6.36.1 "@lezer/common": 1.2.0 "@lezer/xml": 1.0.4 - "@codemirror/language@6.10.3": + "@codemirror/language@6.10.8": dependencies: - "@codemirror/state": 6.4.1 - "@codemirror/view": 6.33.0 + "@codemirror/state": 6.5.0 + "@codemirror/view": 6.36.1 "@lezer/common": 1.2.0 "@lezer/highlight": 1.2.0 "@lezer/lr": 1.3.14 @@ -10313,32 +10438,34 @@ snapshots: "@codemirror/lint@6.4.2": dependencies: - "@codemirror/state": 6.4.1 - "@codemirror/view": 6.33.0 + "@codemirror/state": 6.5.0 + "@codemirror/view": 6.36.1 crelt: 1.0.6 "@codemirror/search@6.5.5": dependencies: - "@codemirror/state": 6.4.1 - "@codemirror/view": 6.33.0 + "@codemirror/state": 6.5.0 + "@codemirror/view": 6.36.1 crelt: 1.0.6 - "@codemirror/state@6.4.1": {} + "@codemirror/state@6.5.0": + dependencies: + "@marijn/find-cluster-break": 1.0.2 - "@codemirror/view@6.33.0": + "@codemirror/view@6.36.1": dependencies: - "@codemirror/state": 6.4.1 + "@codemirror/state": 6.5.0 style-mod: 4.1.0 w3c-keyname: 2.2.8 "@colors/colors@1.5.0": optional: true - "@commitlint/cli@19.5.0(@types/node@20.10.5)(typescript@5.5.4)": + "@commitlint/cli@19.6.1(@types/node@20.10.5)(typescript@5.7.2)": dependencies: "@commitlint/format": 19.5.0 - "@commitlint/lint": 19.5.0 - "@commitlint/load": 19.5.0(@types/node@20.10.5)(typescript@5.5.4) + "@commitlint/lint": 19.6.0 + "@commitlint/load": 19.6.1(@types/node@20.10.5)(typescript@5.7.2) "@commitlint/read": 19.5.0 "@commitlint/types": 19.5.0 tinyexec: 0.3.0 @@ -10347,7 +10474,7 @@ snapshots: - "@types/node" - typescript - "@commitlint/config-conventional@19.5.0": + "@commitlint/config-conventional@19.6.0": dependencies: "@commitlint/types": 19.5.0 conventional-changelog-conventionalcommits: 7.0.2 @@ -10382,27 +10509,27 @@ snapshots: "@commitlint/types": 19.5.0 chalk: 5.3.0 - "@commitlint/is-ignored@19.5.0": + "@commitlint/is-ignored@19.6.0": dependencies: "@commitlint/types": 19.5.0 semver: 7.6.0 - "@commitlint/lint@19.5.0": + "@commitlint/lint@19.6.0": dependencies: - "@commitlint/is-ignored": 19.5.0 + "@commitlint/is-ignored": 19.6.0 "@commitlint/parse": 19.5.0 - "@commitlint/rules": 19.5.0 + "@commitlint/rules": 19.6.0 "@commitlint/types": 19.5.0 - "@commitlint/load@18.6.1(@types/node@20.10.5)(typescript@5.5.4)": + "@commitlint/load@18.6.1(@types/node@20.10.5)(typescript@5.7.2)": dependencies: "@commitlint/config-validator": 18.6.1 "@commitlint/execute-rule": 18.6.1 "@commitlint/resolve-extends": 18.6.1 "@commitlint/types": 18.6.1 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.5.4) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.5.4))(typescript@5.5.4) + cosmiconfig: 8.3.6(typescript@5.7.2) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.7.2))(typescript@5.7.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -10412,15 +10539,15 @@ snapshots: - typescript optional: true - "@commitlint/load@19.5.0(@types/node@20.10.5)(typescript@5.5.4)": + "@commitlint/load@19.6.1(@types/node@20.10.5)(typescript@5.7.2)": dependencies: "@commitlint/config-validator": 19.5.0 "@commitlint/execute-rule": 19.5.0 "@commitlint/resolve-extends": 19.5.0 "@commitlint/types": 19.5.0 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@5.5.4) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) + cosmiconfig: 9.0.0(typescript@5.7.2) + cosmiconfig-typescript-loader: 6.1.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -10463,7 +10590,7 @@ snapshots: lodash.mergewith: 4.6.2 resolve-from: 5.0.0 - "@commitlint/rules@19.5.0": + "@commitlint/rules@19.6.0": dependencies: "@commitlint/ensure": 19.5.0 "@commitlint/message": 19.5.0 @@ -10486,333 +10613,363 @@ snapshots: "@types/conventional-commits-parser": 5.0.0 chalk: 5.3.0 - "@csstools/cascade-layer-name-parser@2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)": + "@csstools/cascade-layer-name-parser@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)": dependencies: - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 "@csstools/color-helpers@5.0.1": {} - "@csstools/css-calc@2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)": + "@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)": dependencies: - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 - "@csstools/css-color-parser@3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)": + "@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)": dependencies: "@csstools/color-helpers": 5.0.1 - "@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 + "@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 - "@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1)": + "@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)": dependencies: - "@csstools/css-tokenizer": 3.0.1 + "@csstools/css-tokenizer": 3.0.3 - "@csstools/css-tokenizer@3.0.1": {} + "@csstools/css-tokenizer@3.0.3": {} - "@csstools/media-query-list-parser@3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)": + "@csstools/media-query-list-parser@4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)": dependencies: - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 - "@csstools/postcss-cascade-layers@5.0.0(postcss@8.4.47)": + "@csstools/postcss-cascade-layers@5.0.1(postcss@8.4.49)": dependencies: - "@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.1) - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - "@csstools/postcss-color-function@4.0.2(postcss@8.4.47)": + "@csstools/postcss-color-function@4.0.7(postcss@8.4.49)": dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-color-mix-function@3.0.2(postcss@8.4.47)": + "@csstools/postcss-color-mix-function@3.0.7(postcss@8.4.49)": dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-content-alt-text@2.0.1(postcss@8.4.47)": + "@csstools/postcss-content-alt-text@2.0.4(postcss@8.4.49)": dependencies: - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-exponential-functions@2.0.1(postcss@8.4.47)": + "@csstools/postcss-exponential-functions@2.0.6(postcss@8.4.49)": dependencies: - "@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - postcss: 8.4.47 + "@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + postcss: 8.4.49 - "@csstools/postcss-font-format-keywords@4.0.0(postcss@8.4.47)": + "@csstools/postcss-font-format-keywords@4.0.0(postcss@8.4.49)": dependencies: - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - "@csstools/postcss-gamut-mapping@2.0.2(postcss@8.4.47)": + "@csstools/postcss-gamut-mapping@2.0.7(postcss@8.4.49)": dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + postcss: 8.4.49 - "@csstools/postcss-gradients-interpolation-method@5.0.2(postcss@8.4.47)": + "@csstools/postcss-gradients-interpolation-method@5.0.7(postcss@8.4.49)": dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-hwb-function@4.0.2(postcss@8.4.47)": + "@csstools/postcss-hwb-function@4.0.7(postcss@8.4.49)": dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-ic-unit@4.0.0(postcss@8.4.47)": + "@csstools/postcss-ic-unit@4.0.0(postcss@8.4.49)": dependencies: - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - "@csstools/postcss-initial@2.0.0(postcss@8.4.47)": + "@csstools/postcss-initial@2.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - "@csstools/postcss-is-pseudo-class@5.0.0(postcss@8.4.47)": + "@csstools/postcss-is-pseudo-class@5.0.1(postcss@8.4.49)": dependencies: - "@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.1) - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - "@csstools/postcss-light-dark-function@2.0.4(postcss@8.4.47)": + "@csstools/postcss-light-dark-function@2.0.7(postcss@8.4.49)": dependencies: - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.4.47)": + "@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - "@csstools/postcss-logical-overflow@2.0.0(postcss@8.4.47)": + "@csstools/postcss-logical-overflow@2.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - "@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.4.47)": + "@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - "@csstools/postcss-logical-resize@3.0.0(postcss@8.4.47)": + "@csstools/postcss-logical-resize@3.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - "@csstools/postcss-logical-viewport-units@3.0.1(postcss@8.4.47)": + "@csstools/postcss-logical-viewport-units@3.0.3(postcss@8.4.49)": dependencies: - "@csstools/css-tokenizer": 3.0.1 - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-tokenizer": 3.0.3 + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-media-minmax@2.0.1(postcss@8.4.47)": + "@csstools/postcss-media-minmax@2.0.6(postcss@8.4.49)": dependencies: - "@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/media-query-list-parser": 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - postcss: 8.4.47 + "@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + postcss: 8.4.49 - "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.1(postcss@8.4.47)": + "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4(postcss@8.4.49)": dependencies: - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/media-query-list-parser": 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - postcss: 8.4.47 + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + postcss: 8.4.49 - "@csstools/postcss-nested-calc@4.0.0(postcss@8.4.47)": + "@csstools/postcss-nested-calc@4.0.0(postcss@8.4.49)": dependencies: - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - "@csstools/postcss-normalize-display-values@4.0.0(postcss@8.4.47)": + "@csstools/postcss-normalize-display-values@4.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - "@csstools/postcss-oklab-function@4.0.2(postcss@8.4.47)": + "@csstools/postcss-oklab-function@4.0.7(postcss@8.4.49)": dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.4.47)": + "@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - "@csstools/postcss-relative-color-syntax@3.0.2(postcss@8.4.47)": + "@csstools/postcss-random-function@1.0.2(postcss@8.4.49)": dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + postcss: 8.4.49 - "@csstools/postcss-scope-pseudo-class@4.0.0(postcss@8.4.47)": + "@csstools/postcss-relative-color-syntax@3.0.7(postcss@8.4.49)": dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - "@csstools/postcss-stepped-value-functions@4.0.1(postcss@8.4.47)": + "@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.4.49)": dependencies: - "@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - postcss: 8.4.47 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - "@csstools/postcss-text-decoration-shorthand@4.0.1(postcss@8.4.47)": + "@csstools/postcss-sign-functions@1.1.1(postcss@8.4.49)": dependencies: - "@csstools/color-helpers": 5.0.1 - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + "@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + postcss: 8.4.49 - "@csstools/postcss-trigonometric-functions@4.0.1(postcss@8.4.47)": + "@csstools/postcss-stepped-value-functions@4.0.6(postcss@8.4.49)": dependencies: - "@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - postcss: 8.4.47 + "@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + postcss: 8.4.49 - "@csstools/postcss-unset-value@4.0.0(postcss@8.4.47)": + "@csstools/postcss-text-decoration-shorthand@4.0.1(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + "@csstools/color-helpers": 5.0.1 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 - "@csstools/selector-resolve-nested@2.0.0(postcss-selector-parser@6.1.1)": + "@csstools/postcss-trigonometric-functions@4.0.6(postcss@8.4.49)": dependencies: - postcss-selector-parser: 6.1.1 + "@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + postcss: 8.4.49 - "@csstools/selector-specificity@4.0.0(postcss-selector-parser@6.1.1)": + "@csstools/postcss-unset-value@4.0.0(postcss@8.4.49)": dependencies: - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 - "@csstools/selector-specificity@4.0.0(postcss-selector-parser@6.1.2)": + "@csstools/selector-resolve-nested@3.0.0(postcss-selector-parser@7.0.0)": dependencies: - postcss-selector-parser: 6.1.2 + postcss-selector-parser: 7.0.0 + + "@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.0.0)": + dependencies: + postcss-selector-parser: 7.0.0 - "@csstools/utilities@2.0.0(postcss@8.4.47)": + "@csstools/utilities@2.0.0(postcss@8.4.49)": dependencies: - postcss: 8.4.47 + postcss: 8.4.49 "@dual-bundle/import-meta-resolve@4.1.0": {} - "@esbuild/aix-ppc64@0.21.5": + "@esbuild/aix-ppc64@0.24.2": + optional: true + + "@esbuild/android-arm64@0.24.2": + optional: true + + "@esbuild/android-arm@0.24.2": optional: true - "@esbuild/android-arm64@0.21.5": + "@esbuild/android-x64@0.24.2": optional: true - "@esbuild/android-arm@0.21.5": + "@esbuild/darwin-arm64@0.24.2": optional: true - "@esbuild/android-x64@0.21.5": + "@esbuild/darwin-x64@0.24.2": optional: true - "@esbuild/darwin-arm64@0.21.5": + "@esbuild/freebsd-arm64@0.24.2": optional: true - "@esbuild/darwin-x64@0.21.5": + "@esbuild/freebsd-x64@0.24.2": optional: true - "@esbuild/freebsd-arm64@0.21.5": + "@esbuild/linux-arm64@0.24.2": optional: true - "@esbuild/freebsd-x64@0.21.5": + "@esbuild/linux-arm@0.24.2": optional: true - "@esbuild/linux-arm64@0.21.5": + "@esbuild/linux-ia32@0.24.2": optional: true - "@esbuild/linux-arm@0.21.5": + "@esbuild/linux-loong64@0.24.2": optional: true - "@esbuild/linux-ia32@0.21.5": + "@esbuild/linux-mips64el@0.24.2": optional: true - "@esbuild/linux-loong64@0.21.5": + "@esbuild/linux-ppc64@0.24.2": optional: true - "@esbuild/linux-mips64el@0.21.5": + "@esbuild/linux-riscv64@0.24.2": optional: true - "@esbuild/linux-ppc64@0.21.5": + "@esbuild/linux-s390x@0.24.2": optional: true - "@esbuild/linux-riscv64@0.21.5": + "@esbuild/linux-x64@0.24.2": optional: true - "@esbuild/linux-s390x@0.21.5": + "@esbuild/netbsd-arm64@0.24.2": optional: true - "@esbuild/linux-x64@0.21.5": + "@esbuild/netbsd-x64@0.24.2": optional: true - "@esbuild/netbsd-x64@0.21.5": + "@esbuild/openbsd-arm64@0.24.2": optional: true - "@esbuild/openbsd-x64@0.21.5": + "@esbuild/openbsd-x64@0.24.2": optional: true - "@esbuild/sunos-x64@0.21.5": + "@esbuild/sunos-x64@0.24.2": optional: true - "@esbuild/win32-arm64@0.21.5": + "@esbuild/win32-arm64@0.24.2": optional: true - "@esbuild/win32-ia32@0.21.5": + "@esbuild/win32-ia32@0.24.2": optional: true - "@esbuild/win32-x64@0.21.5": + "@esbuild/win32-x64@0.24.2": optional: true - "@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)": + "@eslint-community/eslint-utils@4.4.0(eslint@9.17.0(jiti@2.4.2))": dependencies: - eslint: 8.57.1 + eslint: 9.17.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 "@eslint-community/regexpp@4.10.0": {} - "@eslint/eslintrc@2.1.4": + "@eslint-community/regexpp@4.12.1": {} + + "@eslint/config-array@0.19.1": + dependencies: + "@eslint/object-schema": 2.1.5 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + "@eslint/core@0.9.1": + dependencies: + "@types/json-schema": 7.0.15 + + "@eslint/eslintrc@3.2.0": dependencies: ajv: 6.12.6 debug: 4.3.6 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -10820,18 +10977,24 @@ snapshots: transitivePeerDependencies: - supports-color - "@eslint/js@8.57.1": {} + "@eslint/js@9.17.0": {} + + "@eslint/object-schema@2.1.5": {} + + "@eslint/plugin-kit@0.2.4": + dependencies: + levn: 0.4.1 "@floating-ui/core@1.6.4": dependencies: - "@floating-ui/utils": 0.2.8 + "@floating-ui/utils": 0.2.9 - "@floating-ui/dom@1.6.11": + "@floating-ui/dom@1.6.13": dependencies: "@floating-ui/core": 1.6.4 - "@floating-ui/utils": 0.2.8 + "@floating-ui/utils": 0.2.9 - "@floating-ui/utils@0.2.8": {} + "@floating-ui/utils@0.2.9": {} "@foliojs-fork/fontkit@1.9.1": dependencies: @@ -10867,19 +11030,20 @@ snapshots: "@github/markdown-toolbar-element@2.2.3": {} - "@github/relative-time-element@4.4.3": {} + "@github/relative-time-element@4.4.4": {} + + "@humanfs/core@0.19.1": {} - "@humanwhocodes/config-array@0.13.0": + "@humanfs/node@0.16.6": dependencies: - "@humanwhocodes/object-schema": 2.0.3 - debug: 4.3.6 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + "@humanfs/core": 0.19.1 + "@humanwhocodes/retry": 0.3.1 "@humanwhocodes/module-importer@1.0.1": {} - "@humanwhocodes/object-schema@2.0.3": {} + "@humanwhocodes/retry@0.3.1": {} + + "@humanwhocodes/retry@0.4.1": {} "@isaacs/cliui@8.0.2": dependencies: @@ -10934,6 +11098,8 @@ snapshots: dependencies: "@lit-labs/ssr-dom-shim": 1.2.0 + "@marijn/find-cluster-break@1.0.2": {} + "@nodelib/fs.scandir@2.1.5": dependencies: "@nodelib/fs.stat": 2.0.5 @@ -11068,65 +11234,74 @@ snapshots: optionalDependencies: rollup: 2.79.1 - "@rollup/rollup-android-arm-eabi@4.22.4": + "@rollup/rollup-android-arm-eabi@4.30.1": + optional: true + + "@rollup/rollup-android-arm64@4.30.1": optional: true - "@rollup/rollup-android-arm64@4.22.4": + "@rollup/rollup-darwin-arm64@4.30.1": optional: true - "@rollup/rollup-darwin-arm64@4.22.4": + "@rollup/rollup-darwin-x64@4.30.1": optional: true - "@rollup/rollup-darwin-x64@4.22.4": + "@rollup/rollup-freebsd-arm64@4.30.1": optional: true - "@rollup/rollup-linux-arm-gnueabihf@4.22.4": + "@rollup/rollup-freebsd-x64@4.30.1": optional: true - "@rollup/rollup-linux-arm-musleabihf@4.22.4": + "@rollup/rollup-linux-arm-gnueabihf@4.30.1": optional: true - "@rollup/rollup-linux-arm64-gnu@4.22.4": + "@rollup/rollup-linux-arm-musleabihf@4.30.1": optional: true - "@rollup/rollup-linux-arm64-musl@4.22.4": + "@rollup/rollup-linux-arm64-gnu@4.30.1": optional: true - "@rollup/rollup-linux-powerpc64le-gnu@4.22.4": + "@rollup/rollup-linux-arm64-musl@4.30.1": optional: true - "@rollup/rollup-linux-riscv64-gnu@4.22.4": + "@rollup/rollup-linux-loongarch64-gnu@4.30.1": optional: true - "@rollup/rollup-linux-s390x-gnu@4.22.4": + "@rollup/rollup-linux-powerpc64le-gnu@4.30.1": optional: true - "@rollup/rollup-linux-x64-gnu@4.22.4": + "@rollup/rollup-linux-riscv64-gnu@4.30.1": optional: true - "@rollup/rollup-linux-x64-musl@4.22.4": + "@rollup/rollup-linux-s390x-gnu@4.30.1": optional: true - "@rollup/rollup-win32-arm64-msvc@4.22.4": + "@rollup/rollup-linux-x64-gnu@4.30.1": optional: true - "@rollup/rollup-win32-ia32-msvc@4.22.4": + "@rollup/rollup-linux-x64-musl@4.30.1": optional: true - "@rollup/rollup-win32-x64-msvc@4.22.4": + "@rollup/rollup-win32-arm64-msvc@4.30.1": + optional: true + + "@rollup/rollup-win32-ia32-msvc@4.30.1": + optional: true + + "@rollup/rollup-win32-x64-msvc@4.30.1": optional: true "@sec-ant/readable-stream@0.4.1": {} - "@semantic-release/changelog@6.0.3(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/changelog@6.0.3(semantic-release@24.2.1(typescript@5.7.2))": dependencies: "@semantic-release/error": 3.0.0 aggregate-error: 3.1.0 fs-extra: 11.2.0 lodash: 4.17.21 - semantic-release: 24.1.1(typescript@5.5.4) + semantic-release: 24.2.1(typescript@5.7.2) - "@semantic-release/commit-analyzer@13.0.0(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/commit-analyzer@13.0.0(semantic-release@24.2.1(typescript@5.7.2))": dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.0.0 @@ -11135,8 +11310,8 @@ snapshots: debug: 4.3.6 import-from-esm: 1.3.3 lodash-es: 4.17.21 - micromatch: 4.0.7 - semantic-release: 24.1.1(typescript@5.5.4) + micromatch: 4.0.8 + semantic-release: 24.2.1(typescript@5.7.2) transitivePeerDependencies: - supports-color @@ -11144,7 +11319,7 @@ snapshots: "@semantic-release/error@4.0.0": {} - "@semantic-release/exec@6.0.3(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/exec@6.0.3(semantic-release@24.2.1(typescript@5.7.2))": dependencies: "@semantic-release/error": 3.0.0 aggregate-error: 3.1.0 @@ -11152,11 +11327,11 @@ snapshots: execa: 5.1.1 lodash: 4.17.21 parse-json: 5.2.0 - semantic-release: 24.1.1(typescript@5.5.4) + semantic-release: 24.2.1(typescript@5.7.2) transitivePeerDependencies: - supports-color - "@semantic-release/git@10.0.1(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/git@10.0.1(semantic-release@24.2.1(typescript@5.7.2))": dependencies: "@semantic-release/error": 3.0.0 aggregate-error: 3.1.0 @@ -11166,11 +11341,11 @@ snapshots: lodash: 4.17.21 micromatch: 4.0.5 p-reduce: 2.1.0 - semantic-release: 24.1.1(typescript@5.5.4) + semantic-release: 24.2.1(typescript@5.7.2) transitivePeerDependencies: - supports-color - "@semantic-release/github@10.0.3(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/github@11.0.1(semantic-release@24.2.1(typescript@5.7.2))": dependencies: "@octokit/core": 6.1.2 "@octokit/plugin-paginate-rest": 11.2.0(@octokit/core@6.1.2) @@ -11187,12 +11362,12 @@ snapshots: lodash-es: 4.17.21 mime: 4.0.1 p-filter: 4.1.0 - semantic-release: 24.1.1(typescript@5.5.4) + semantic-release: 24.2.1(typescript@5.7.2) url-join: 5.0.0 transitivePeerDependencies: - supports-color - "@semantic-release/gitlab@13.2.1(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/gitlab@13.2.3(semantic-release@24.2.1(typescript@5.7.2))": dependencies: "@semantic-release/error": 4.0.0 aggregate-error: 5.0.0 @@ -11206,12 +11381,12 @@ snapshots: hpagent: 1.2.0 lodash-es: 4.17.21 parse-url: 9.0.1 - semantic-release: 24.1.1(typescript@5.5.4) + semantic-release: 24.2.1(typescript@5.7.2) url-join: 4.0.1 transitivePeerDependencies: - supports-color - "@semantic-release/npm@12.0.0(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/npm@12.0.0(semantic-release@24.2.1(typescript@5.7.2))": dependencies: "@semantic-release/error": 4.0.0 aggregate-error: 5.0.0 @@ -11224,11 +11399,11 @@ snapshots: rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.0.2 - semantic-release: 24.1.1(typescript@5.5.4) + semantic-release: 24.2.1(typescript@5.7.2) semver: 7.6.0 tempy: 3.1.0 - "@semantic-release/release-notes-generator@14.0.1(semantic-release@24.1.1(typescript@5.5.4))": + "@semantic-release/release-notes-generator@14.0.1(semantic-release@24.2.1(typescript@5.7.2))": dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.0.0 @@ -11240,7 +11415,7 @@ snapshots: into-stream: 7.0.0 lodash-es: 4.17.21 read-package-up: 11.0.0 - semantic-release: 24.1.1(typescript@5.5.4) + semantic-release: 24.2.1(typescript@5.7.2) transitivePeerDependencies: - supports-color @@ -11265,23 +11440,23 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - "@tailwindcss/forms@0.5.9(tailwindcss@3.4.13)": + "@tailwindcss/forms@0.5.10(tailwindcss@3.4.17)": dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.13 + tailwindcss: 3.4.17 - "@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.47)": + "@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.49)": dependencies: - postcss: 8.4.47 - postcss-nested: 5.0.6(postcss@8.4.47) + postcss: 8.4.49 + postcss-nested: 5.0.6(postcss@8.4.49) - "@tailwindcss/typography@0.5.15(tailwindcss@3.4.13)": + "@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)": dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.13 + tailwindcss: 3.4.17 "@trysound/sax@0.2.0": {} @@ -11293,13 +11468,17 @@ snapshots: "@types/estree@1.0.5": {} + "@types/estree@1.0.6": {} + "@types/fscreen@1.0.4": {} "@types/geojson@7946.0.13": {} "@types/http-cache-semantics@4.0.4": {} - "@types/leaflet@1.9.12": + "@types/json-schema@7.0.15": {} + + "@types/leaflet@1.9.16": dependencies: "@types/geojson": 7946.0.13 @@ -11317,88 +11496,82 @@ snapshots: "@types/trusted-types@2.0.7": {} - "@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4)": + "@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)": dependencies: "@eslint-community/regexpp": 4.10.0 - "@typescript-eslint/parser": 8.7.0(eslint@8.57.1)(typescript@5.5.4) - "@typescript-eslint/scope-manager": 8.7.0 - "@typescript-eslint/type-utils": 8.7.0(eslint@8.57.1)(typescript@5.5.4) - "@typescript-eslint/utils": 8.7.0(eslint@8.57.1)(typescript@5.5.4) - "@typescript-eslint/visitor-keys": 8.7.0 - eslint: 8.57.1 + "@typescript-eslint/parser": 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + "@typescript-eslint/scope-manager": 8.19.1 + "@typescript-eslint/type-utils": 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + "@typescript-eslint/utils": 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + "@typescript-eslint/visitor-keys": 8.19.1 + eslint: 9.17.0(jiti@2.4.2) graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 + ts-api-utils: 2.0.0(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color - "@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.5.4)": + "@typescript-eslint/parser@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)": dependencies: - "@typescript-eslint/scope-manager": 8.7.0 - "@typescript-eslint/types": 8.7.0 - "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.5.4) - "@typescript-eslint/visitor-keys": 8.7.0 + "@typescript-eslint/scope-manager": 8.19.1 + "@typescript-eslint/types": 8.19.1 + "@typescript-eslint/typescript-estree": 8.19.1(typescript@5.7.2) + "@typescript-eslint/visitor-keys": 8.19.1 debug: 4.3.6 - eslint: 8.57.1 - optionalDependencies: - typescript: 5.5.4 + eslint: 9.17.0(jiti@2.4.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color - "@typescript-eslint/scope-manager@8.7.0": + "@typescript-eslint/scope-manager@8.19.1": dependencies: - "@typescript-eslint/types": 8.7.0 - "@typescript-eslint/visitor-keys": 8.7.0 + "@typescript-eslint/types": 8.19.1 + "@typescript-eslint/visitor-keys": 8.19.1 - "@typescript-eslint/type-utils@8.7.0(eslint@8.57.1)(typescript@5.5.4)": + "@typescript-eslint/type-utils@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)": dependencies: - "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.5.4) - "@typescript-eslint/utils": 8.7.0(eslint@8.57.1)(typescript@5.5.4) + "@typescript-eslint/typescript-estree": 8.19.1(typescript@5.7.2) + "@typescript-eslint/utils": 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) debug: 4.3.6 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 + eslint: 9.17.0(jiti@2.4.2) + ts-api-utils: 2.0.0(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - - eslint - supports-color - "@typescript-eslint/types@8.7.0": {} + "@typescript-eslint/types@8.19.1": {} - "@typescript-eslint/typescript-estree@8.7.0(typescript@5.5.4)": + "@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.2)": dependencies: - "@typescript-eslint/types": 8.7.0 - "@typescript-eslint/visitor-keys": 8.7.0 + "@typescript-eslint/types": 8.19.1 + "@typescript-eslint/visitor-keys": 8.19.1 debug: 4.3.6 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 + ts-api-utils: 2.0.0(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.7.0(eslint@8.57.1)(typescript@5.5.4)": + "@typescript-eslint/utils@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)": dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.1) - "@typescript-eslint/scope-manager": 8.7.0 - "@typescript-eslint/types": 8.7.0 - "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.5.4) - eslint: 8.57.1 + "@eslint-community/eslint-utils": 4.4.0(eslint@9.17.0(jiti@2.4.2)) + "@typescript-eslint/scope-manager": 8.19.1 + "@typescript-eslint/types": 8.19.1 + "@typescript-eslint/typescript-estree": 8.19.1(typescript@5.7.2) + eslint: 9.17.0(jiti@2.4.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color - - typescript - "@typescript-eslint/visitor-keys@8.7.0": + "@typescript-eslint/visitor-keys@8.19.1": dependencies: - "@typescript-eslint/types": 8.7.0 - eslint-visitor-keys: 3.4.3 - - "@ungap/structured-clone@1.2.0": {} + "@typescript-eslint/types": 8.19.1 + eslint-visitor-keys: 4.2.0 "@vime/core@5.4.1": dependencies: @@ -11413,9 +11586,9 @@ snapshots: jsonparse: 1.3.1 through: 2.3.8 - acorn-jsx@5.3.2(acorn@8.12.0): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.12.0 + acorn: 8.14.0 acorn-node@1.8.2: dependencies: @@ -11427,10 +11600,10 @@ snapshots: acorn@7.4.1: {} - acorn@8.11.3: {} - acorn@8.12.0: {} + acorn@8.14.0: {} + agent-base@7.1.0: dependencies: debug: 4.3.6 @@ -11555,14 +11728,14 @@ snapshots: at-least-node@1.0.0: {} - autoprefixer@10.4.19(postcss@8.4.47): + autoprefixer@10.4.19(postcss@8.4.49): dependencies: - browserslist: 4.23.1 - caniuse-lite: 1.0.30001639 + browserslist: 4.23.3 + caniuse-lite: 1.0.30001663 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.1 - postcss: 8.4.47 + picocolors: 1.1.0 + postcss: 8.4.49 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.5: {} @@ -11651,20 +11824,6 @@ snapshots: ast-types: 0.7.8 browser-resolve: 1.11.3 - browserslist@4.23.0: - dependencies: - caniuse-lite: 1.0.30001612 - electron-to-chromium: 1.4.689 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - - browserslist@4.23.1: - dependencies: - caniuse-lite: 1.0.30001639 - electron-to-chromium: 1.4.815 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) - browserslist@4.23.3: dependencies: caniuse-lite: 1.0.30001663 @@ -11716,8 +11875,6 @@ snapshots: lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001612: {} - caniuse-lite@1.0.30001639: {} caniuse-lite@1.0.30001663: {} @@ -11735,6 +11892,8 @@ snapshots: chalk@5.3.0: {} + chalk@5.4.1: {} + char-regex@1.0.2: {} chardet@0.7.0: {} @@ -11745,7 +11904,7 @@ snapshots: fuse.js: 6.6.2 redux: 4.2.1 - chokidar@3.5.3: + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -11757,7 +11916,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - ci-info@3.9.0: {} + ci-info@4.1.0: {} clean-stack@2.2.0: {} @@ -11819,13 +11978,13 @@ snapshots: codemirror@6.0.1(@lezer/common@1.2.0): dependencies: - "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.0) - "@codemirror/commands": 6.6.2 - "@codemirror/language": 6.10.3 + "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.0) + "@codemirror/commands": 6.7.1 + "@codemirror/language": 6.10.8 "@codemirror/lint": 6.4.2 "@codemirror/search": 6.5.5 - "@codemirror/state": 6.4.1 - "@codemirror/view": 6.33.0 + "@codemirror/state": 6.5.0 + "@codemirror/view": 6.36.1 transitivePeerDependencies: - "@lezer/common" @@ -11853,10 +12012,10 @@ snapshots: commander@7.2.0: {} - commitizen@4.3.0(@types/node@20.10.5)(typescript@5.5.4): + commitizen@4.3.1(@types/node@20.10.5)(typescript@5.7.2): dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.10.5)(typescript@5.5.4) + cz-conventional-changelog: 3.3.0(@types/node@20.10.5)(typescript@5.7.2) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -11937,45 +12096,45 @@ snapshots: core-js-compat@3.35.0: dependencies: - browserslist: 4.23.0 + browserslist: 4.23.3 core-js@3.35.0: {} core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.5.4))(typescript@5.5.4): + cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.7.2))(typescript@5.7.2): dependencies: "@types/node": 20.10.5 - cosmiconfig: 8.3.6(typescript@5.5.4) + cosmiconfig: 8.3.6(typescript@5.7.2) jiti: 1.21.0 - typescript: 5.5.4 + typescript: 5.7.2 optional: true - cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4): + cosmiconfig-typescript-loader@6.1.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2): dependencies: "@types/node": 20.10.5 - cosmiconfig: 9.0.0(typescript@5.5.4) - jiti: 1.21.0 - typescript: 5.5.4 + cosmiconfig: 9.0.0(typescript@5.7.2) + jiti: 2.4.2 + typescript: 5.7.2 - cosmiconfig@8.3.6(typescript@5.5.4): + cosmiconfig@8.3.6(typescript@5.7.2): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.5.4 + typescript: 5.7.2 optional: true - cosmiconfig@9.0.0(typescript@5.5.4): + cosmiconfig@9.0.0(typescript@5.7.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.5.4 + typescript: 5.7.2 crelt@1.0.6: {} @@ -11989,6 +12148,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypto-js@4.2.0: {} crypto-random-string@2.0.0: {} @@ -11997,27 +12162,27 @@ snapshots: dependencies: type-fest: 1.4.0 - css-blank-pseudo@7.0.0(postcss@8.4.47): + css-blank-pseudo@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - css-declaration-sorter@7.2.0(postcss@8.4.47): + css-declaration-sorter@7.2.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - css-functions-list@3.2.2: {} + css-functions-list@3.2.3: {} - css-has-pseudo@7.0.0(postcss@8.4.47): + css-has-pseudo@7.0.2(postcss@8.4.49): dependencies: - "@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.1) - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 postcss-value-parser: 4.2.0 - css-prefers-color-scheme@10.0.0(postcss@8.4.47): + css-prefers-color-scheme@10.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 css-select@5.1.0: dependencies: @@ -12037,70 +12202,75 @@ snapshots: mdn-data: 2.0.30 source-map-js: 1.2.0 + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + css-what@6.1.0: {} - cssdb@8.1.1: {} + cssdb@8.2.3: {} cssesc@3.0.0: {} - cssnano-preset-default@7.0.6(postcss@8.4.47): + cssnano-preset-default@7.0.6(postcss@8.4.49): dependencies: browserslist: 4.23.3 - css-declaration-sorter: 7.2.0(postcss@8.4.47) - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-calc: 10.0.2(postcss@8.4.47) - postcss-colormin: 7.0.2(postcss@8.4.47) - postcss-convert-values: 7.0.4(postcss@8.4.47) - postcss-discard-comments: 7.0.3(postcss@8.4.47) - postcss-discard-duplicates: 7.0.1(postcss@8.4.47) - postcss-discard-empty: 7.0.0(postcss@8.4.47) - postcss-discard-overridden: 7.0.0(postcss@8.4.47) - postcss-merge-longhand: 7.0.4(postcss@8.4.47) - postcss-merge-rules: 7.0.4(postcss@8.4.47) - postcss-minify-font-values: 7.0.0(postcss@8.4.47) - postcss-minify-gradients: 7.0.0(postcss@8.4.47) - postcss-minify-params: 7.0.2(postcss@8.4.47) - postcss-minify-selectors: 7.0.4(postcss@8.4.47) - postcss-normalize-charset: 7.0.0(postcss@8.4.47) - postcss-normalize-display-values: 7.0.0(postcss@8.4.47) - postcss-normalize-positions: 7.0.0(postcss@8.4.47) - postcss-normalize-repeat-style: 7.0.0(postcss@8.4.47) - postcss-normalize-string: 7.0.0(postcss@8.4.47) - postcss-normalize-timing-functions: 7.0.0(postcss@8.4.47) - postcss-normalize-unicode: 7.0.2(postcss@8.4.47) - postcss-normalize-url: 7.0.0(postcss@8.4.47) - postcss-normalize-whitespace: 7.0.0(postcss@8.4.47) - postcss-ordered-values: 7.0.1(postcss@8.4.47) - postcss-reduce-initial: 7.0.2(postcss@8.4.47) - postcss-reduce-transforms: 7.0.0(postcss@8.4.47) - postcss-svgo: 7.0.1(postcss@8.4.47) - postcss-unique-selectors: 7.0.3(postcss@8.4.47) - - cssnano-utils@5.0.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 - - cssnano@7.0.6(postcss@8.4.47): - dependencies: - cssnano-preset-default: 7.0.6(postcss@8.4.47) + css-declaration-sorter: 7.2.0(postcss@8.4.49) + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-calc: 10.0.2(postcss@8.4.49) + postcss-colormin: 7.0.2(postcss@8.4.49) + postcss-convert-values: 7.0.4(postcss@8.4.49) + postcss-discard-comments: 7.0.3(postcss@8.4.49) + postcss-discard-duplicates: 7.0.1(postcss@8.4.49) + postcss-discard-empty: 7.0.0(postcss@8.4.49) + postcss-discard-overridden: 7.0.0(postcss@8.4.49) + postcss-merge-longhand: 7.0.4(postcss@8.4.49) + postcss-merge-rules: 7.0.4(postcss@8.4.49) + postcss-minify-font-values: 7.0.0(postcss@8.4.49) + postcss-minify-gradients: 7.0.0(postcss@8.4.49) + postcss-minify-params: 7.0.2(postcss@8.4.49) + postcss-minify-selectors: 7.0.4(postcss@8.4.49) + postcss-normalize-charset: 7.0.0(postcss@8.4.49) + postcss-normalize-display-values: 7.0.0(postcss@8.4.49) + postcss-normalize-positions: 7.0.0(postcss@8.4.49) + postcss-normalize-repeat-style: 7.0.0(postcss@8.4.49) + postcss-normalize-string: 7.0.0(postcss@8.4.49) + postcss-normalize-timing-functions: 7.0.0(postcss@8.4.49) + postcss-normalize-unicode: 7.0.2(postcss@8.4.49) + postcss-normalize-url: 7.0.0(postcss@8.4.49) + postcss-normalize-whitespace: 7.0.0(postcss@8.4.49) + postcss-ordered-values: 7.0.1(postcss@8.4.49) + postcss-reduce-initial: 7.0.2(postcss@8.4.49) + postcss-reduce-transforms: 7.0.0(postcss@8.4.49) + postcss-svgo: 7.0.1(postcss@8.4.49) + postcss-unique-selectors: 7.0.3(postcss@8.4.49) + + cssnano-utils@5.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + cssnano@7.0.6(postcss@8.4.49): + dependencies: + cssnano-preset-default: 7.0.6(postcss@8.4.49) lilconfig: 3.1.2 - postcss: 8.4.47 + postcss: 8.4.49 csso@5.0.5: dependencies: css-tree: 2.2.1 - cz-conventional-changelog@3.3.0(@types/node@20.10.5)(typescript@5.5.4): + cz-conventional-changelog@3.3.0(@types/node@20.10.5)(typescript@5.7.2): dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@20.10.5)(typescript@5.5.4) + commitizen: 4.3.1(@types/node@20.10.5)(typescript@5.7.2) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - "@commitlint/load": 18.6.1(@types/node@20.10.5)(typescript@5.5.4) + "@commitlint/load": 18.6.1(@types/node@20.10.5)(typescript@5.7.2) transitivePeerDependencies: - "@types/node" - typescript @@ -12167,6 +12337,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decamelize@1.2.0: {} decompress-response@6.0.0: @@ -12222,10 +12396,6 @@ snapshots: dlv@1.1.3: {} - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -12258,10 +12428,6 @@ snapshots: dependencies: jake: 10.8.7 - electron-to-chromium@1.4.689: {} - - electron-to-chromium@1.4.815: {} - electron-to-chromium@1.5.28: {} emoji-regex@10.3.0: {} @@ -12376,33 +12542,33 @@ snapshots: d: 1.0.1 ext: 1.7.0 - esbuild@0.21.5: + esbuild@0.24.2: optionalDependencies: - "@esbuild/aix-ppc64": 0.21.5 - "@esbuild/android-arm": 0.21.5 - "@esbuild/android-arm64": 0.21.5 - "@esbuild/android-x64": 0.21.5 - "@esbuild/darwin-arm64": 0.21.5 - "@esbuild/darwin-x64": 0.21.5 - "@esbuild/freebsd-arm64": 0.21.5 - "@esbuild/freebsd-x64": 0.21.5 - "@esbuild/linux-arm": 0.21.5 - "@esbuild/linux-arm64": 0.21.5 - "@esbuild/linux-ia32": 0.21.5 - "@esbuild/linux-loong64": 0.21.5 - "@esbuild/linux-mips64el": 0.21.5 - "@esbuild/linux-ppc64": 0.21.5 - "@esbuild/linux-riscv64": 0.21.5 - "@esbuild/linux-s390x": 0.21.5 - "@esbuild/linux-x64": 0.21.5 - "@esbuild/netbsd-x64": 0.21.5 - "@esbuild/openbsd-x64": 0.21.5 - "@esbuild/sunos-x64": 0.21.5 - "@esbuild/win32-arm64": 0.21.5 - "@esbuild/win32-ia32": 0.21.5 - "@esbuild/win32-x64": 0.21.5 - - escalade@3.1.1: {} + "@esbuild/aix-ppc64": 0.24.2 + "@esbuild/android-arm": 0.24.2 + "@esbuild/android-arm64": 0.24.2 + "@esbuild/android-x64": 0.24.2 + "@esbuild/darwin-arm64": 0.24.2 + "@esbuild/darwin-x64": 0.24.2 + "@esbuild/freebsd-arm64": 0.24.2 + "@esbuild/freebsd-x64": 0.24.2 + "@esbuild/linux-arm": 0.24.2 + "@esbuild/linux-arm64": 0.24.2 + "@esbuild/linux-ia32": 0.24.2 + "@esbuild/linux-loong64": 0.24.2 + "@esbuild/linux-mips64el": 0.24.2 + "@esbuild/linux-ppc64": 0.24.2 + "@esbuild/linux-riscv64": 0.24.2 + "@esbuild/linux-s390x": 0.24.2 + "@esbuild/linux-x64": 0.24.2 + "@esbuild/netbsd-arm64": 0.24.2 + "@esbuild/netbsd-x64": 0.24.2 + "@esbuild/openbsd-arm64": 0.24.2 + "@esbuild/openbsd-x64": 0.24.2 + "@esbuild/sunos-x64": 0.24.2 + "@esbuild/win32-arm64": 0.24.2 + "@esbuild/win32-ia32": 0.24.2 + "@esbuild/win32-x64": 0.24.2 escalade@3.1.2: {} @@ -12429,74 +12595,74 @@ snapshots: optionalDependencies: source-map: 0.1.43 - eslint-config-prettier@9.1.0(eslint@8.57.1): + eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)): dependencies: - eslint: 8.57.1 + eslint: 9.17.0(jiti@2.4.2) - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2): dependencies: - eslint: 8.57.1 - prettier: 3.3.3 + eslint: 9.17.0(jiti@2.4.2) + prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-prettier: 9.1.0(eslint@9.17.0(jiti@2.4.2)) - eslint-scope@7.2.2: + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.1: + eslint-visitor-keys@4.2.0: {} + + eslint@9.17.0(jiti@2.4.2): dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.1) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.1 - "@humanwhocodes/config-array": 0.13.0 + "@eslint-community/eslint-utils": 4.4.0(eslint@9.17.0(jiti@2.4.2)) + "@eslint-community/regexpp": 4.12.1 + "@eslint/config-array": 0.19.1 + "@eslint/core": 0.9.1 + "@eslint/eslintrc": 3.2.0 + "@eslint/js": 9.17.0 + "@eslint/plugin-kit": 0.2.4 + "@humanfs/node": 0.16.6 "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 + "@humanwhocodes/retry": 0.4.1 + "@types/estree": 1.0.6 + "@types/json-schema": 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 debug: 4.3.6 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.3.0: dependencies: - acorn: 8.12.0 - acorn-jsx: 5.3.2(acorn@8.12.0) - eslint-visitor-keys: 3.4.3 + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 esprima@1.0.4: {} @@ -12608,7 +12774,7 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.2.0(picomatch@4.0.2): + fdir@6.4.2(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -12624,11 +12790,11 @@ snapshots: dependencies: is-unicode-supported: 2.0.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 - file-entry-cache@9.0.0: + file-entry-cache@9.1.0: dependencies: flat-cache: 5.0.0 @@ -12682,14 +12848,13 @@ snapshots: dependencies: detect-file: 1.0.0 is-glob: 4.0.3 - micromatch: 4.0.5 + micromatch: 4.0.8 resolve-dir: 1.0.1 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flat-cache@5.0.0: dependencies: @@ -12863,9 +13028,9 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} + + globals@15.14.0: {} globalthis@1.0.3: dependencies: @@ -12884,7 +13049,7 @@ snapshots: dependencies: "@sindresorhus/merge-streams": 1.0.0 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -12995,7 +13160,7 @@ snapshots: human-signals@7.0.0: {} - husky@9.1.6: {} + husky@9.1.7: {} iconv-lite@0.4.24: dependencies: @@ -13009,10 +13174,10 @@ snapshots: ieee754@1.2.1: {} - ignore@5.3.1: {} - ignore@5.3.2: {} + ignore@6.0.2: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -13025,6 +13190,13 @@ snapshots: transitivePeerDependencies: - supports-color + import-from-esm@2.0.0: + dependencies: + debug: 4.3.6 + import-meta-resolve: 4.0.0 + transitivePeerDependencies: + - supports-color + import-meta-resolve@4.0.0: {} imurmurhash@0.1.4: {} @@ -13125,9 +13297,9 @@ snapshots: is-callable@1.2.7: {} - is-ci@3.0.1: + is-ci@4.1.0: dependencies: - ci-info: 3.9.0 + ci-info: 4.1.0 is-core-module@2.13.1: dependencies: @@ -13167,8 +13339,6 @@ snapshots: is-obj@2.0.0: {} - is-path-inside@3.0.3: {} - is-plain-obj@4.1.0: {} is-plain-object@5.0.0: {} @@ -13247,7 +13417,12 @@ snapshots: java-properties@1.0.2: {} - jiti@1.21.0: {} + jiti@1.21.0: + optional: true + + jiti@1.21.7: {} + + jiti@2.4.2: {} js-tokens@4.0.0: {} @@ -13297,7 +13472,7 @@ snapshots: kind-of@6.0.3: {} - known-css-properties@0.34.0: {} + known-css-properties@0.35.0: {} leaflet.markercluster@1.5.3(leaflet@1.9.4): dependencies: @@ -13317,28 +13492,28 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@2.1.0: {} - lilconfig@3.1.2: {} + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} - lint-staged@15.2.10: + lint-staged@15.3.0: dependencies: - chalk: 5.3.0 + chalk: 5.4.1 commander: 12.1.0 - debug: 4.3.6 + debug: 4.4.0 execa: 8.0.1 - lilconfig: 3.1.2 - listr2: 8.2.4 + lilconfig: 3.1.3 + listr2: 8.2.5 micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.5.1 + yaml: 2.6.1 transitivePeerDependencies: - supports-color - listr2@8.2.4: + listr2@8.2.5: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -13357,7 +13532,7 @@ snapshots: dependencies: "@types/trusted-types": 2.0.7 - lit@3.2.0: + lit@3.2.1: dependencies: "@lit/reactive-element": 2.0.4 lit-element: 4.1.0 @@ -13472,11 +13647,11 @@ snapshots: cli-table3: 0.6.3 marked: 12.0.2 node-emoji: 2.1.3 - supports-hyperlinks: 3.0.0 + supports-hyperlinks: 3.1.0 marked@12.0.2: {} - marked@13.0.3: {} + marked@15.0.6: {} mathml-tag-names@2.1.3: {} @@ -13484,6 +13659,8 @@ snapshots: mdn-data@2.0.30: {} + mdn-data@2.12.2: {} + meow@12.1.1: {} meow@13.2.0: {} @@ -13503,11 +13680,6 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 - micromatch@4.0.7: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -13549,6 +13721,8 @@ snapshots: ms@2.1.2: {} + ms@2.1.3: {} + mute-stream@0.0.8: {} mz@2.7.0: @@ -13578,8 +13752,6 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-releases@2.0.14: {} - node-releases@2.0.18: {} normalize-package-data@6.0.0: @@ -13814,6 +13986,8 @@ snapshots: picocolors@1.1.0: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} picomatch@4.0.2: {} @@ -13839,401 +14013,403 @@ snapshots: dependencies: tinyqueue: 2.0.3 - postcss-attribute-case-insensitive@7.0.0(postcss@8.4.47): + postcss-attribute-case-insensitive@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - postcss-calc@10.0.2(postcss@8.4.47): + postcss-calc@10.0.2(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-clamp@4.1.0(postcss@8.4.47): + postcss-clamp@4.1.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@7.0.2(postcss@8.4.47): + postcss-color-functional-notation@7.0.7(postcss@8.4.49): dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - postcss-color-hex-alpha@10.0.0(postcss@8.4.47): + postcss-color-hex-alpha@10.0.0(postcss@8.4.49): dependencies: - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@10.0.0(postcss@8.4.47): + postcss-color-rebeccapurple@10.0.0(postcss@8.4.49): dependencies: - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.2(postcss@8.4.47): + postcss-colormin@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.23.3 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.4(postcss@8.4.47): + postcss-convert-values@7.0.4(postcss@8.4.49): dependencies: browserslist: 4.23.3 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-custom-media@11.0.1(postcss@8.4.47): + postcss-custom-media@11.0.5(postcss@8.4.49): dependencies: - "@csstools/cascade-layer-name-parser": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/media-query-list-parser": 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - postcss: 8.4.47 + "@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + postcss: 8.4.49 - postcss-custom-properties@14.0.1(postcss@8.4.47): + postcss-custom-properties@14.0.4(postcss@8.4.49): dependencies: - "@csstools/cascade-layer-name-parser": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-custom-selectors@8.0.1(postcss@8.4.47): + postcss-custom-selectors@8.0.4(postcss@8.4.49): dependencies: - "@csstools/cascade-layer-name-parser": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + "@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - postcss-dir-pseudo-class@9.0.0(postcss@8.4.47): + postcss-dir-pseudo-class@9.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - postcss-discard-comments@7.0.3(postcss@8.4.47): + postcss-discard-comments@7.0.3(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-discard-duplicates@7.0.1(postcss@8.4.47): + postcss-discard-duplicates@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-discard-empty@7.0.0(postcss@8.4.47): + postcss-discard-empty@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-discard-overridden@7.0.0(postcss@8.4.47): + postcss-discard-overridden@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-double-position-gradients@6.0.0(postcss@8.4.47): + postcss-double-position-gradients@6.0.0(postcss@8.4.49): dependencies: - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-focus-visible@10.0.0(postcss@8.4.47): + postcss-focus-visible@10.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - postcss-focus-within@9.0.0(postcss@8.4.47): + postcss-focus-within@9.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - postcss-font-variant@5.0.0(postcss@8.4.47): + postcss-font-variant@5.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-gap-properties@6.0.0(postcss@8.4.47): + postcss-gap-properties@6.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-image-set-function@7.0.0(postcss@8.4.47): + postcss-image-set-function@7.0.0(postcss@8.4.49): dependencies: - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-import@15.1.0(postcss@8.4.47): + postcss-import@15.1.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-import@16.1.0(postcss@8.4.47): + postcss-import@16.1.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.47): + postcss-js@4.0.1(postcss@8.4.49): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.47 + postcss: 8.4.49 - postcss-lab-function@7.0.2(postcss@8.4.47): + postcss-lab-function@7.0.7(postcss@8.4.49): dependencies: - "@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/utilities": 2.0.0(postcss@8.4.47) - postcss: 8.4.47 + "@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/utilities": 2.0.0(postcss@8.4.49) + postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.47): + postcss-load-config@4.0.2(postcss@8.4.49): dependencies: - lilconfig: 3.1.2 - yaml: 2.4.5 + lilconfig: 3.1.3 + yaml: 2.5.1 optionalDependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-logical@8.0.0(postcss@8.4.47): + postcss-logical@8.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-merge-longhand@7.0.4(postcss@8.4.47): + postcss-merge-longhand@7.0.4(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - stylehacks: 7.0.4(postcss@8.4.47) + stylehacks: 7.0.4(postcss@8.4.49) - postcss-merge-rules@7.0.4(postcss@8.4.47): + postcss-merge-rules@7.0.4(postcss@8.4.49): dependencies: browserslist: 4.23.3 caniuse-api: 3.0.0 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-minify-font-values@7.0.0(postcss@8.4.47): + postcss-minify-font-values@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-gradients@7.0.0(postcss@8.4.47): + postcss-minify-gradients@7.0.0(postcss@8.4.49): dependencies: colord: 2.9.3 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.2(postcss@8.4.47): + postcss-minify-params@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.23.3 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-selectors@7.0.4(postcss@8.4.47): + postcss-minify-selectors@7.0.4(postcss@8.4.49): dependencies: cssesc: 3.0.0 - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-nested@5.0.6(postcss@8.4.47): + postcss-nested@5.0.6(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.0.14 - postcss-nested@6.0.1(postcss@8.4.47): + postcss-nested@6.2.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 - postcss-nesting@13.0.0(postcss@8.4.47): + postcss-nesting@13.0.1(postcss@8.4.49): dependencies: - "@csstools/selector-resolve-nested": 2.0.0(postcss-selector-parser@6.1.1) - "@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.1) - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + "@csstools/selector-resolve-nested": 3.0.0(postcss-selector-parser@7.0.0) + "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0) + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 - postcss-normalize-charset@7.0.0(postcss@8.4.47): + postcss-normalize-charset@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-normalize-display-values@7.0.0(postcss@8.4.47): + postcss-normalize-display-values@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-positions@7.0.0(postcss@8.4.47): + postcss-normalize-positions@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@7.0.0(postcss@8.4.47): + postcss-normalize-repeat-style@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-string@7.0.0(postcss@8.4.47): + postcss-normalize-string@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@7.0.0(postcss@8.4.47): + postcss-normalize-timing-functions@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.2(postcss@8.4.47): + postcss-normalize-unicode@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.23.3 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-url@7.0.0(postcss@8.4.47): + postcss-normalize-url@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.0(postcss@8.4.47): + postcss-normalize-whitespace@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-opacity-percentage@3.0.0(postcss@8.4.47): + postcss-opacity-percentage@3.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-ordered-values@7.0.1(postcss@8.4.47): + postcss-ordered-values@7.0.1(postcss@8.4.49): dependencies: - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-overflow-shorthand@6.0.0(postcss@8.4.47): + postcss-overflow-shorthand@6.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-page-break@3.0.4(postcss@8.4.47): + postcss-page-break@3.0.4(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-place@10.0.0(postcss@8.4.47): + postcss-place@10.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-preset-env@10.0.5(postcss@8.4.47): - dependencies: - "@csstools/postcss-cascade-layers": 5.0.0(postcss@8.4.47) - "@csstools/postcss-color-function": 4.0.2(postcss@8.4.47) - "@csstools/postcss-color-mix-function": 3.0.2(postcss@8.4.47) - "@csstools/postcss-content-alt-text": 2.0.1(postcss@8.4.47) - "@csstools/postcss-exponential-functions": 2.0.1(postcss@8.4.47) - "@csstools/postcss-font-format-keywords": 4.0.0(postcss@8.4.47) - "@csstools/postcss-gamut-mapping": 2.0.2(postcss@8.4.47) - "@csstools/postcss-gradients-interpolation-method": 5.0.2(postcss@8.4.47) - "@csstools/postcss-hwb-function": 4.0.2(postcss@8.4.47) - "@csstools/postcss-ic-unit": 4.0.0(postcss@8.4.47) - "@csstools/postcss-initial": 2.0.0(postcss@8.4.47) - "@csstools/postcss-is-pseudo-class": 5.0.0(postcss@8.4.47) - "@csstools/postcss-light-dark-function": 2.0.4(postcss@8.4.47) - "@csstools/postcss-logical-float-and-clear": 3.0.0(postcss@8.4.47) - "@csstools/postcss-logical-overflow": 2.0.0(postcss@8.4.47) - "@csstools/postcss-logical-overscroll-behavior": 2.0.0(postcss@8.4.47) - "@csstools/postcss-logical-resize": 3.0.0(postcss@8.4.47) - "@csstools/postcss-logical-viewport-units": 3.0.1(postcss@8.4.47) - "@csstools/postcss-media-minmax": 2.0.1(postcss@8.4.47) - "@csstools/postcss-media-queries-aspect-ratio-number-values": 3.0.1(postcss@8.4.47) - "@csstools/postcss-nested-calc": 4.0.0(postcss@8.4.47) - "@csstools/postcss-normalize-display-values": 4.0.0(postcss@8.4.47) - "@csstools/postcss-oklab-function": 4.0.2(postcss@8.4.47) - "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47) - "@csstools/postcss-relative-color-syntax": 3.0.2(postcss@8.4.47) - "@csstools/postcss-scope-pseudo-class": 4.0.0(postcss@8.4.47) - "@csstools/postcss-stepped-value-functions": 4.0.1(postcss@8.4.47) - "@csstools/postcss-text-decoration-shorthand": 4.0.1(postcss@8.4.47) - "@csstools/postcss-trigonometric-functions": 4.0.1(postcss@8.4.47) - "@csstools/postcss-unset-value": 4.0.0(postcss@8.4.47) - autoprefixer: 10.4.19(postcss@8.4.47) - browserslist: 4.23.1 - css-blank-pseudo: 7.0.0(postcss@8.4.47) - css-has-pseudo: 7.0.0(postcss@8.4.47) - css-prefers-color-scheme: 10.0.0(postcss@8.4.47) - cssdb: 8.1.1 - postcss: 8.4.47 - postcss-attribute-case-insensitive: 7.0.0(postcss@8.4.47) - postcss-clamp: 4.1.0(postcss@8.4.47) - postcss-color-functional-notation: 7.0.2(postcss@8.4.47) - postcss-color-hex-alpha: 10.0.0(postcss@8.4.47) - postcss-color-rebeccapurple: 10.0.0(postcss@8.4.47) - postcss-custom-media: 11.0.1(postcss@8.4.47) - postcss-custom-properties: 14.0.1(postcss@8.4.47) - postcss-custom-selectors: 8.0.1(postcss@8.4.47) - postcss-dir-pseudo-class: 9.0.0(postcss@8.4.47) - postcss-double-position-gradients: 6.0.0(postcss@8.4.47) - postcss-focus-visible: 10.0.0(postcss@8.4.47) - postcss-focus-within: 9.0.0(postcss@8.4.47) - postcss-font-variant: 5.0.0(postcss@8.4.47) - postcss-gap-properties: 6.0.0(postcss@8.4.47) - postcss-image-set-function: 7.0.0(postcss@8.4.47) - postcss-lab-function: 7.0.2(postcss@8.4.47) - postcss-logical: 8.0.0(postcss@8.4.47) - postcss-nesting: 13.0.0(postcss@8.4.47) - postcss-opacity-percentage: 3.0.0(postcss@8.4.47) - postcss-overflow-shorthand: 6.0.0(postcss@8.4.47) - postcss-page-break: 3.0.4(postcss@8.4.47) - postcss-place: 10.0.0(postcss@8.4.47) - postcss-pseudo-class-any-link: 10.0.0(postcss@8.4.47) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.47) - postcss-selector-not: 8.0.0(postcss@8.4.47) - - postcss-pseudo-class-any-link@10.0.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 - - postcss-reduce-initial@7.0.2(postcss@8.4.47): + postcss-preset-env@10.1.3(postcss@8.4.49): + dependencies: + "@csstools/postcss-cascade-layers": 5.0.1(postcss@8.4.49) + "@csstools/postcss-color-function": 4.0.7(postcss@8.4.49) + "@csstools/postcss-color-mix-function": 3.0.7(postcss@8.4.49) + "@csstools/postcss-content-alt-text": 2.0.4(postcss@8.4.49) + "@csstools/postcss-exponential-functions": 2.0.6(postcss@8.4.49) + "@csstools/postcss-font-format-keywords": 4.0.0(postcss@8.4.49) + "@csstools/postcss-gamut-mapping": 2.0.7(postcss@8.4.49) + "@csstools/postcss-gradients-interpolation-method": 5.0.7(postcss@8.4.49) + "@csstools/postcss-hwb-function": 4.0.7(postcss@8.4.49) + "@csstools/postcss-ic-unit": 4.0.0(postcss@8.4.49) + "@csstools/postcss-initial": 2.0.0(postcss@8.4.49) + "@csstools/postcss-is-pseudo-class": 5.0.1(postcss@8.4.49) + "@csstools/postcss-light-dark-function": 2.0.7(postcss@8.4.49) + "@csstools/postcss-logical-float-and-clear": 3.0.0(postcss@8.4.49) + "@csstools/postcss-logical-overflow": 2.0.0(postcss@8.4.49) + "@csstools/postcss-logical-overscroll-behavior": 2.0.0(postcss@8.4.49) + "@csstools/postcss-logical-resize": 3.0.0(postcss@8.4.49) + "@csstools/postcss-logical-viewport-units": 3.0.3(postcss@8.4.49) + "@csstools/postcss-media-minmax": 2.0.6(postcss@8.4.49) + "@csstools/postcss-media-queries-aspect-ratio-number-values": 3.0.4(postcss@8.4.49) + "@csstools/postcss-nested-calc": 4.0.0(postcss@8.4.49) + "@csstools/postcss-normalize-display-values": 4.0.0(postcss@8.4.49) + "@csstools/postcss-oklab-function": 4.0.7(postcss@8.4.49) + "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49) + "@csstools/postcss-random-function": 1.0.2(postcss@8.4.49) + "@csstools/postcss-relative-color-syntax": 3.0.7(postcss@8.4.49) + "@csstools/postcss-scope-pseudo-class": 4.0.1(postcss@8.4.49) + "@csstools/postcss-sign-functions": 1.1.1(postcss@8.4.49) + "@csstools/postcss-stepped-value-functions": 4.0.6(postcss@8.4.49) + "@csstools/postcss-text-decoration-shorthand": 4.0.1(postcss@8.4.49) + "@csstools/postcss-trigonometric-functions": 4.0.6(postcss@8.4.49) + "@csstools/postcss-unset-value": 4.0.0(postcss@8.4.49) + autoprefixer: 10.4.19(postcss@8.4.49) + browserslist: 4.23.3 + css-blank-pseudo: 7.0.1(postcss@8.4.49) + css-has-pseudo: 7.0.2(postcss@8.4.49) + css-prefers-color-scheme: 10.0.0(postcss@8.4.49) + cssdb: 8.2.3 + postcss: 8.4.49 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.4.49) + postcss-clamp: 4.1.0(postcss@8.4.49) + postcss-color-functional-notation: 7.0.7(postcss@8.4.49) + postcss-color-hex-alpha: 10.0.0(postcss@8.4.49) + postcss-color-rebeccapurple: 10.0.0(postcss@8.4.49) + postcss-custom-media: 11.0.5(postcss@8.4.49) + postcss-custom-properties: 14.0.4(postcss@8.4.49) + postcss-custom-selectors: 8.0.4(postcss@8.4.49) + postcss-dir-pseudo-class: 9.0.1(postcss@8.4.49) + postcss-double-position-gradients: 6.0.0(postcss@8.4.49) + postcss-focus-visible: 10.0.1(postcss@8.4.49) + postcss-focus-within: 9.0.1(postcss@8.4.49) + postcss-font-variant: 5.0.0(postcss@8.4.49) + postcss-gap-properties: 6.0.0(postcss@8.4.49) + postcss-image-set-function: 7.0.0(postcss@8.4.49) + postcss-lab-function: 7.0.7(postcss@8.4.49) + postcss-logical: 8.0.0(postcss@8.4.49) + postcss-nesting: 13.0.1(postcss@8.4.49) + postcss-opacity-percentage: 3.0.0(postcss@8.4.49) + postcss-overflow-shorthand: 6.0.0(postcss@8.4.49) + postcss-page-break: 3.0.4(postcss@8.4.49) + postcss-place: 10.0.0(postcss@8.4.49) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.4.49) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.49) + postcss-selector-not: 8.0.1(postcss@8.4.49) + + postcss-pseudo-class-any-link@10.0.1(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 + + postcss-reduce-initial@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.23.3 caniuse-api: 3.0.0 - postcss: 8.4.47 + postcss: 8.4.49 - postcss-reduce-transforms@7.0.0(postcss@8.4.47): + postcss-reduce-transforms@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-replace-overflow-wrap@4.0.0(postcss@8.4.47): + postcss-replace-overflow-wrap@4.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-reporter@7.1.0(postcss@8.4.47): + postcss-reporter@7.1.0(postcss@8.4.49): dependencies: picocolors: 1.0.0 - postcss: 8.4.47 + postcss: 8.4.49 thenby: 1.3.4 postcss-resolve-nested-selector@0.1.6: {} - postcss-safe-parser@7.0.0(postcss@8.4.47): + postcss-safe-parser@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-selector-not@8.0.0(postcss@8.4.47): + postcss-selector-not@8.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.1 + postcss: 8.4.49 + postcss-selector-parser: 7.0.0 postcss-selector-parser@6.0.10: dependencies: @@ -14245,33 +14421,33 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@6.1.1: + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@6.1.2: + postcss-selector-parser@7.0.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@7.0.1(postcss@8.4.47): + postcss-svgo@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@7.0.3(postcss@8.4.47): + postcss-unique-selectors@7.0.3(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 postcss-value-parser@4.2.0: {} - postcss@8.4.47: + postcss@8.4.49: dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 + picocolors: 1.1.1 source-map-js: 1.2.1 prelude-ls@1.1.2: {} @@ -14282,15 +14458,15 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.5.4): + prettier-plugin-organize-imports@4.1.0(prettier@3.4.2)(typescript@5.7.2): dependencies: - prettier: 3.3.3 - typescript: 5.5.4 + prettier: 3.4.2 + typescript: 5.7.2 prettier@2.8.8: optional: true - prettier@3.3.3: {} + prettier@3.4.2: {} pretty-bytes@5.6.0: {} @@ -14462,34 +14638,33 @@ snapshots: rgbcolor@1.0.1: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rollup@2.79.1: optionalDependencies: fsevents: 2.3.3 - rollup@4.22.4: + rollup@4.30.1: dependencies: - "@types/estree": 1.0.5 + "@types/estree": 1.0.6 optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.22.4 - "@rollup/rollup-android-arm64": 4.22.4 - "@rollup/rollup-darwin-arm64": 4.22.4 - "@rollup/rollup-darwin-x64": 4.22.4 - "@rollup/rollup-linux-arm-gnueabihf": 4.22.4 - "@rollup/rollup-linux-arm-musleabihf": 4.22.4 - "@rollup/rollup-linux-arm64-gnu": 4.22.4 - "@rollup/rollup-linux-arm64-musl": 4.22.4 - "@rollup/rollup-linux-powerpc64le-gnu": 4.22.4 - "@rollup/rollup-linux-riscv64-gnu": 4.22.4 - "@rollup/rollup-linux-s390x-gnu": 4.22.4 - "@rollup/rollup-linux-x64-gnu": 4.22.4 - "@rollup/rollup-linux-x64-musl": 4.22.4 - "@rollup/rollup-win32-arm64-msvc": 4.22.4 - "@rollup/rollup-win32-ia32-msvc": 4.22.4 - "@rollup/rollup-win32-x64-msvc": 4.22.4 + "@rollup/rollup-android-arm-eabi": 4.30.1 + "@rollup/rollup-android-arm64": 4.30.1 + "@rollup/rollup-darwin-arm64": 4.30.1 + "@rollup/rollup-darwin-x64": 4.30.1 + "@rollup/rollup-freebsd-arm64": 4.30.1 + "@rollup/rollup-freebsd-x64": 4.30.1 + "@rollup/rollup-linux-arm-gnueabihf": 4.30.1 + "@rollup/rollup-linux-arm-musleabihf": 4.30.1 + "@rollup/rollup-linux-arm64-gnu": 4.30.1 + "@rollup/rollup-linux-arm64-musl": 4.30.1 + "@rollup/rollup-linux-loongarch64-gnu": 4.30.1 + "@rollup/rollup-linux-powerpc64le-gnu": 4.30.1 + "@rollup/rollup-linux-riscv64-gnu": 4.30.1 + "@rollup/rollup-linux-s390x-gnu": 4.30.1 + "@rollup/rollup-linux-x64-gnu": 4.30.1 + "@rollup/rollup-linux-x64-musl": 4.30.1 + "@rollup/rollup-win32-arm64-msvc": 4.30.1 + "@rollup/rollup-win32-ia32-msvc": 4.30.1 + "@rollup/rollup-win32-x64-msvc": 4.30.1 fsevents: 2.3.3 run-async@2.4.1: {} @@ -14537,15 +14712,15 @@ snapshots: estree-is-function: 1.0.0 get-assigned-identifiers: 1.2.0 - semantic-release@24.1.1(typescript@5.5.4): + semantic-release@24.2.1(typescript@5.7.2): dependencies: - "@semantic-release/commit-analyzer": 13.0.0(semantic-release@24.1.1(typescript@5.5.4)) + "@semantic-release/commit-analyzer": 13.0.0(semantic-release@24.2.1(typescript@5.7.2)) "@semantic-release/error": 4.0.0 - "@semantic-release/github": 10.0.3(semantic-release@24.1.1(typescript@5.5.4)) - "@semantic-release/npm": 12.0.0(semantic-release@24.1.1(typescript@5.5.4)) - "@semantic-release/release-notes-generator": 14.0.1(semantic-release@24.1.1(typescript@5.5.4)) + "@semantic-release/github": 11.0.1(semantic-release@24.2.1(typescript@5.7.2)) + "@semantic-release/npm": 12.0.0(semantic-release@24.2.1(typescript@5.7.2)) + "@semantic-release/release-notes-generator": 14.0.1(semantic-release@24.2.1(typescript@5.7.2)) aggregate-error: 5.0.0 - cosmiconfig: 9.0.0(typescript@5.5.4) + cosmiconfig: 9.0.0(typescript@5.7.2) debug: 4.3.6 env-ci: 11.0.0 execa: 9.3.0 @@ -14555,11 +14730,11 @@ snapshots: git-log-parser: 1.2.0 hook-std: 3.0.0 hosted-git-info: 8.0.0 - import-from-esm: 1.3.3 + import-from-esm: 2.0.0 lodash-es: 4.17.21 marked: 12.0.2 marked-terminal: 7.0.0(marked@12.0.2) - micromatch: 4.0.7 + micromatch: 4.0.8 p-each-series: 3.0.0 p-reduce: 3.0.0 read-package-up: 11.0.0 @@ -14819,61 +14994,60 @@ snapshots: style-mod@4.1.0: {} - stylehacks@7.0.4(postcss@8.4.47): + stylehacks@7.0.4(postcss@8.4.49): dependencies: browserslist: 4.23.3 - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - stylelint-config-recommended@14.0.1(stylelint@16.9.0(typescript@5.5.4)): + stylelint-config-recommended@14.0.1(stylelint@16.12.0(typescript@5.7.2)): dependencies: - stylelint: 16.9.0(typescript@5.5.4) + stylelint: 16.12.0(typescript@5.7.2) - stylelint-config-standard@36.0.1(stylelint@16.9.0(typescript@5.5.4)): + stylelint-config-standard@36.0.1(stylelint@16.12.0(typescript@5.7.2)): dependencies: - stylelint: 16.9.0(typescript@5.5.4) - stylelint-config-recommended: 14.0.1(stylelint@16.9.0(typescript@5.5.4)) + stylelint: 16.12.0(typescript@5.7.2) + stylelint-config-recommended: 14.0.1(stylelint@16.12.0(typescript@5.7.2)) - stylelint@16.9.0(typescript@5.5.4): + stylelint@16.12.0(typescript@5.7.2): dependencies: - "@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1) - "@csstools/css-tokenizer": 3.0.1 - "@csstools/media-query-list-parser": 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) - "@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.2) + "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3) + "@csstools/css-tokenizer": 3.0.3 + "@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0) "@dual-bundle/import-meta-resolve": 4.1.0 balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.0(typescript@5.5.4) - css-functions-list: 3.2.2 - css-tree: 2.3.1 - debug: 4.3.6 + cosmiconfig: 9.0.0(typescript@5.7.2) + css-functions-list: 3.2.3 + css-tree: 3.1.0 + debug: 4.4.0 fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 - file-entry-cache: 9.0.0 + file-entry-cache: 9.1.0 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 html-tags: 3.3.1 - ignore: 5.3.2 + ignore: 6.0.2 imurmurhash: 0.1.4 is-plain-object: 5.0.0 - known-css-properties: 0.34.0 + known-css-properties: 0.35.0 mathml-tag-names: 2.1.3 meow: 13.2.0 micromatch: 4.0.8 normalize-path: 3.0.0 - picocolors: 1.0.1 - postcss: 8.4.47 + picocolors: 1.1.1 + postcss: 8.4.49 postcss-resolve-nested-selector: 0.1.6 - postcss-safe-parser: 7.0.0(postcss@8.4.47) - postcss-selector-parser: 6.1.2 + postcss-safe-parser: 7.0.1(postcss@8.4.49) + postcss-selector-parser: 7.0.0 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 string-width: 4.2.3 - strip-ansi: 7.1.0 supports-hyperlinks: 3.1.0 svg-tags: 1.0.0 - table: 6.8.2 + table: 6.9.0 write-file-atomic: 5.0.1 transitivePeerDependencies: - supports-color @@ -14902,11 +15076,6 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-hyperlinks@3.0.0: - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - supports-hyperlinks@3.1.0: dependencies: has-flag: 4.0.0 @@ -14931,7 +15100,7 @@ snapshots: "@pkgr/core": 0.1.1 tslib: 2.6.2 - table@6.8.2: + table@6.9.0: dependencies: ajv: 8.12.0 lodash.truncate: 4.4.2 @@ -14939,28 +15108,28 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.13: + tailwindcss@3.4.17: dependencies: "@alloc/quick-lru": 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 - lilconfig: 2.1.0 - micromatch: 4.0.7 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.1 - postcss: 8.4.47 - postcss-import: 15.1.0(postcss@8.4.47) - postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47) - postcss-nested: 6.0.1(postcss@8.4.47) - postcss-selector-parser: 6.1.1 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: @@ -14987,14 +15156,12 @@ snapshots: terser@5.26.0: dependencies: "@jridgewell/source-map": 0.3.5 - acorn: 8.11.3 + acorn: 8.12.0 commander: 2.20.3 source-map-support: 0.5.21 text-extensions@2.4.0: {} - text-table@0.2.0: {} - thenby@1.3.4: {} thenify-all@1.6.0: @@ -15020,9 +15187,9 @@ snapshots: tinyexec@0.3.0: {} - tinyglobby@0.2.0: + tinyglobby@0.2.10: dependencies: - fdir: 6.2.0(picomatch@4.0.2) + fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 tinyqueue@2.0.3: {} @@ -15045,9 +15212,9 @@ snapshots: traverse@0.6.8: {} - ts-api-utils@1.3.0(typescript@5.5.4): + ts-api-utils@2.0.0(typescript@5.7.2): dependencies: - typescript: 5.5.4 + typescript: 5.7.2 ts-interface-checker@0.1.13: {} @@ -15065,8 +15232,6 @@ snapshots: type-fest@0.16.0: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@1.4.0: {} @@ -15110,7 +15275,17 @@ snapshots: typedarray@0.0.6: {} - typescript@5.5.4: {} + typescript-eslint@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2): + dependencies: + "@typescript-eslint/eslint-plugin": 8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + "@typescript-eslint/parser": 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + "@typescript-eslint/utils": 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + eslint: 9.17.0(jiti@2.4.2) + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + typescript@5.7.2: {} uglify-js@3.17.4: optional: true @@ -15163,18 +15338,6 @@ snapshots: upath@1.2.0: {} - update-browserslist-db@1.0.13(browserslist@4.23.0): - dependencies: - browserslist: 4.23.0 - escalade: 3.1.1 - picocolors: 1.0.0 - - update-browserslist-db@1.0.16(browserslist@4.23.1): - dependencies: - browserslist: 4.23.1 - escalade: 3.1.2 - picocolors: 1.0.1 - update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: browserslist: 4.23.3 @@ -15196,30 +15359,32 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-plugin-pwa@0.20.5(vite@5.4.7(@types/node@20.10.5)(terser@5.26.0))(workbox-build@7.1.1)(workbox-window@7.1.0): + vite-plugin-pwa@0.21.1(vite@6.0.7(@types/node@20.10.5)(jiti@2.4.2)(terser@5.26.0)(yaml@2.6.1))(workbox-build@7.3.0)(workbox-window@7.3.0): dependencies: debug: 4.3.6 pretty-bytes: 6.1.1 - tinyglobby: 0.2.0 - vite: 5.4.7(@types/node@20.10.5)(terser@5.26.0) - workbox-build: 7.1.1 - workbox-window: 7.1.0 + tinyglobby: 0.2.10 + vite: 6.0.7(@types/node@20.10.5)(jiti@2.4.2)(terser@5.26.0)(yaml@2.6.1) + workbox-build: 7.3.0 + workbox-window: 7.3.0 transitivePeerDependencies: - supports-color - vite@5.4.7(@types/node@20.10.5)(terser@5.26.0): + vite@6.0.7(@types/node@20.10.5)(jiti@2.4.2)(terser@5.26.0)(yaml@2.6.1): dependencies: - esbuild: 0.21.5 - postcss: 8.4.47 - rollup: 4.22.4 + esbuild: 0.24.2 + postcss: 8.4.49 + rollup: 4.30.1 optionalDependencies: "@types/node": 20.10.5 fsevents: 2.3.3 + jiti: 2.4.2 terser: 5.26.0 + yaml: 2.6.1 w3c-keyname@2.2.8: {} - wavesurfer.js@7.8.6: {} + wavesurfer.js@7.8.15: {} wcwidth@1.0.1: dependencies: @@ -15270,16 +15435,16 @@ snapshots: wordwrap@1.0.0: {} - workbox-background-sync@7.1.0: + workbox-background-sync@7.3.0: dependencies: idb: 7.1.1 - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-broadcast-update@7.1.0: + workbox-broadcast-update@7.3.0: dependencies: - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-build@7.1.1: + workbox-build@7.3.0: dependencies: "@apideck/better-ajv-errors": 0.3.6(ajv@8.12.0) "@babel/core": 7.24.4 @@ -15303,85 +15468,85 @@ snapshots: strip-comments: 2.0.1 tempy: 0.6.0 upath: 1.2.0 - workbox-background-sync: 7.1.0 - workbox-broadcast-update: 7.1.0 - workbox-cacheable-response: 7.1.0 - workbox-core: 7.1.0 - workbox-expiration: 7.1.0 - workbox-google-analytics: 7.1.0 - workbox-navigation-preload: 7.1.0 - workbox-precaching: 7.1.0 - workbox-range-requests: 7.1.0 - workbox-recipes: 7.1.0 - workbox-routing: 7.1.0 - workbox-strategies: 7.1.0 - workbox-streams: 7.1.0 - workbox-sw: 7.1.0 - workbox-window: 7.1.0 + workbox-background-sync: 7.3.0 + workbox-broadcast-update: 7.3.0 + workbox-cacheable-response: 7.3.0 + workbox-core: 7.3.0 + workbox-expiration: 7.3.0 + workbox-google-analytics: 7.3.0 + workbox-navigation-preload: 7.3.0 + workbox-precaching: 7.3.0 + workbox-range-requests: 7.3.0 + workbox-recipes: 7.3.0 + workbox-routing: 7.3.0 + workbox-strategies: 7.3.0 + workbox-streams: 7.3.0 + workbox-sw: 7.3.0 + workbox-window: 7.3.0 transitivePeerDependencies: - "@types/babel__core" - supports-color - workbox-cacheable-response@7.1.0: + workbox-cacheable-response@7.3.0: dependencies: - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-core@7.1.0: {} + workbox-core@7.3.0: {} - workbox-expiration@7.1.0: + workbox-expiration@7.3.0: dependencies: idb: 7.1.1 - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-google-analytics@7.1.0: + workbox-google-analytics@7.3.0: dependencies: - workbox-background-sync: 7.1.0 - workbox-core: 7.1.0 - workbox-routing: 7.1.0 - workbox-strategies: 7.1.0 + workbox-background-sync: 7.3.0 + workbox-core: 7.3.0 + workbox-routing: 7.3.0 + workbox-strategies: 7.3.0 - workbox-navigation-preload@7.1.0: + workbox-navigation-preload@7.3.0: dependencies: - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-precaching@7.1.0: + workbox-precaching@7.3.0: dependencies: - workbox-core: 7.1.0 - workbox-routing: 7.1.0 - workbox-strategies: 7.1.0 + workbox-core: 7.3.0 + workbox-routing: 7.3.0 + workbox-strategies: 7.3.0 - workbox-range-requests@7.1.0: + workbox-range-requests@7.3.0: dependencies: - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-recipes@7.1.0: + workbox-recipes@7.3.0: dependencies: - workbox-cacheable-response: 7.1.0 - workbox-core: 7.1.0 - workbox-expiration: 7.1.0 - workbox-precaching: 7.1.0 - workbox-routing: 7.1.0 - workbox-strategies: 7.1.0 + workbox-cacheable-response: 7.3.0 + workbox-core: 7.3.0 + workbox-expiration: 7.3.0 + workbox-precaching: 7.3.0 + workbox-routing: 7.3.0 + workbox-strategies: 7.3.0 - workbox-routing@7.1.0: + workbox-routing@7.3.0: dependencies: - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-strategies@7.1.0: + workbox-strategies@7.3.0: dependencies: - workbox-core: 7.1.0 + workbox-core: 7.3.0 - workbox-streams@7.1.0: + workbox-streams@7.3.0: dependencies: - workbox-core: 7.1.0 - workbox-routing: 7.1.0 + workbox-core: 7.3.0 + workbox-routing: 7.3.0 - workbox-sw@7.1.0: {} + workbox-sw@7.3.0: {} - workbox-window@7.1.0: + workbox-window@7.3.0: dependencies: "@types/trusted-types": 2.0.7 - workbox-core: 7.1.0 + workbox-core: 7.3.0 wrap-ansi@6.2.0: dependencies: @@ -15434,10 +15599,10 @@ snapshots: yallist@4.0.0: {} - yaml@2.4.5: {} - yaml@2.5.1: {} + yaml@2.6.1: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 diff --git a/scripts/bundle-prepare.sh b/scripts/bundle-prepare.sh index 4d01158613f0ba72e02f9f1519c975cfa7699414..061779bd6238097ab67db5f29534eac1cc73118a 100644 --- a/scripts/bundle-prepare.sh +++ b/scripts/bundle-prepare.sh @@ -6,4 +6,3 @@ composer install --no-dev --prefer-dist --no-ansi --no-interaction --no-progress # build all production static assets (css, js, images, icons, fonts, etc.) pnpm run build -pnpm run build:static diff --git a/tests/database/ExampleDatabaseTest.php b/tests/database/ExampleDatabaseTest.php index 8d4532667aaa92fcca7b867d51c1cec821e8051b..eda4a6ebbda58f96e510da41ffaaa363081076b6 100644 --- a/tests/database/ExampleDatabaseTest.php +++ b/tests/database/ExampleDatabaseTest.php @@ -45,6 +45,7 @@ class ExampleDatabaseTest extends CIUnitTestCase $model->delete($object->id); // The model should no longer find it + // @phpstan-ignore-next-line $this->assertNull($model->find($object->id)); // ... but it should still be in the database diff --git a/tests/session/ExampleSessionTest.php b/tests/session/ExampleSessionTest.php index 6e2637ec2c8a056ec9c0d1851246e0258843a55c..b4299f17475bd617c2d1c01524f4dd7e9aa4327d 100644 --- a/tests/session/ExampleSessionTest.php +++ b/tests/session/ExampleSessionTest.php @@ -5,13 +5,12 @@ declare(strict_types=1); namespace Tests\Session; use CodeIgniter\Test\CIUnitTestCase; -use Config\Services; class ExampleSessionTest extends CIUnitTestCase { public function testSessionSimple(): void { - $session = Services::session(); + $session = service('session'); $session->set('logged_in', 123); $this->assertSame(123, $session->get('logged_in')); diff --git a/tests/unit/HealthTest.php b/tests/unit/HealthTest.php index b3b5dbcec223bf50b3446f2978d1534ea5e3547c..86da3268fef6643e31907b1be75c91cc81df6671 100644 --- a/tests/unit/HealthTest.php +++ b/tests/unit/HealthTest.php @@ -4,7 +4,6 @@ declare(strict_types=1); use CodeIgniter\Test\CIUnitTestCase; use Config\App; -use Config\Services; use Tests\Support\Libraries\ConfigReader; /** @@ -19,7 +18,7 @@ final class HealthTest extends CIUnitTestCase public function testBaseUrlHasBeenSet(): void { - $validation = Services::validation(); + $validation = service('validation'); $env = false; diff --git a/themes/cp_admin/_layout.php b/themes/cp_admin/_layout.php index 5bc6771043127866c7b621033498f2d3079f3766..783bd9d12a90043df85526f01d74c78da21b278d 100644 --- a/themes/cp_admin/_layout.php +++ b/themes/cp_admin/_layout.php @@ -39,7 +39,7 @@ $isEpisodeArea = isset($podcast) && isset($episode); <div class="flex flex-wrap items-center truncate"> <?php if (($isEpisodeArea && $episode->is_premium) || ($isPodcastArea && $podcast->is_premium)): ?> <div class="inline-flex items-center"> - <?php // @icon('exchange-dollar-fill')?> + <?php // @icon("exchange-dollar-fill")?> <IconButton uri="<?= route_to('subscription-list', $podcast->id) ?>" glyph="exchange-dollar-fill" variant="secondary" size="large" class="p-0 mr-2 border-0"><?= ($isEpisodeArea && $episode->is_premium) ? lang('PremiumPodcasts.episode_is_premium') : lang('PremiumPodcasts.podcast_is_premium') ?></IconButton> <Heading tagName="h1" size="large" class="truncate"><?= $this->renderSection('pageTitle') ?></Heading> </div> diff --git a/themes/cp_admin/_sidebar.php b/themes/cp_admin/_sidebar.php index 8279b8e3eb30fe7a820cfec5a802fccaf778acb1..c438898a54583a75a347ebfc122fc58262b0f3f2 100644 --- a/themes/cp_admin/_sidebar.php +++ b/themes/cp_admin/_sidebar.php @@ -7,11 +7,11 @@ use Modules\Auth\Models\UserModel; $navigation = [ 'dashboard' => [ - 'icon' => 'dashboard-fill', // @icon('dashboard-fill') + 'icon' => 'dashboard-fill', // @icon("dashboard-fill") 'items' => ['admin'], ], 'podcasts' => [ - 'icon' => 'mic-fill', // @icon('mic-fill') + 'icon' => 'mic-fill', // @icon("mic-fill") 'items' => ['podcast-list', 'podcast-create', 'all-podcast-imports', 'podcast-imports-add'], 'items-permissions' => [ 'podcast-create' => 'podcasts.create', @@ -22,7 +22,7 @@ $navigation = [ 'count-route' => 'podcast-list', ], 'persons' => [ - 'icon' => 'folder-user-fill', // @icon('folder-user-fill') + 'icon' => 'folder-user-fill', // @icon("folder-user-fill") 'items' => ['person-list', 'person-create'], 'items-permissions' => [ 'person-list' => 'persons.manage', @@ -33,7 +33,7 @@ $navigation = [ 'count-route' => 'person-list', ], 'fediverse' => [ - 'icon' => 'rocket-2-fill', // @icon('rocket-2-fill') + 'icon' => 'rocket-2-fill', // @icon("rocket-2-fill") 'items' => ['fediverse-blocked-actors', 'fediverse-blocked-domains'], 'items-permissions' => [ 'fediverse-blocked-actors' => 'fediverse.manage-blocks', @@ -41,7 +41,7 @@ $navigation = [ ], ], 'users' => [ - 'icon' => 'group-fill', // @icon('group-fill') + 'icon' => 'group-fill', // @icon("group-fill") 'items' => ['user-list', 'user-create'], 'items-permissions' => [ 'user-list' => 'users.manage', @@ -52,7 +52,7 @@ $navigation = [ 'count-route' => 'user-list', ], 'pages' => [ - 'icon' => 'pages-fill', // @icon('pages-fill') + 'icon' => 'pages-fill', // @icon("pages-fill") 'items' => ['page-list', 'page-create'], 'items-permissions' => [ 'page-list' => 'pages.manage', @@ -63,7 +63,7 @@ $navigation = [ 'count-route' => 'page-list', ], 'settings' => [ - 'icon' => 'settings-3-fill', // @icon('settings-3-fill') + 'icon' => 'settings-3-fill', // @icon("settings-3-fill") 'items' => ['settings-general', 'settings-theme', 'admin-about'], 'items-permissions' => [ 'settings-general' => 'admin.settings', diff --git a/themes/cp_admin/contributor/list.php b/themes/cp_admin/contributor/list.php index 2f2ebd61dfa081fa4c6ee4d7bb01cedaf21f1c89..4a3b0b71e5be9d4b4b29ce457272baaddef37292 100644 --- a/themes/cp_admin/contributor/list.php +++ b/themes/cp_admin/contributor/list.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('contributor-add', $podcast->id) ?>" variant="primary" iconLeft="add-fill"><?= lang('Contributor.add') ?></Button> <?= $this->endSection() ?> @@ -39,8 +39,8 @@ [ 'header' => lang('Common.actions'), 'cell' => function ($contributor, $podcast) { - // @icon('pencil-fill') - // @icon('delete-bin-fill') + // @icon("pencil-fill") + // @icon("delete-bin-fill") return '<Button uri="' . route_to('contributor-edit', $podcast->id, $contributor->id) . '" variant="secondary" iconLeft="pencil-fill" size="small">' . lang('Contributor.edit') . '</Button>' . '<Button uri="' . route_to('contributor-remove', $podcast->id, $contributor->id) . '" variant="danger" iconLeft="delete-bin-fill" size="small">' . lang('Contributor.remove') . '</Button>'; }, diff --git a/themes/cp_admin/dashboard.php b/themes/cp_admin/dashboard.php index 3414370818ea7b5764ada07578681c5fcff38f66..2b03d52224d0a7dfe88bdac565ca67bf8101c343 100644 --- a/themes/cp_admin/dashboard.php +++ b/themes/cp_admin/dashboard.php @@ -12,15 +12,15 @@ <?= $this->section('content') ?> <div class="flex flex-col items-stretch gap-4 lg:flex-row"> - <?php // @icon('mic-fill')?> + <?php // @icon("mic-fill")?> <DashboardCard href="<?= $onlyPodcastId === null ? route_to('podcast-list') : route_to('podcast-view', $onlyPodcastId) ?>" glyph="mic-fill" title="<?= lang('Dashboard.podcasts.title') ?>" subtitle="<?= $podcastsData['last_published_at'] ? esc(lang('Dashboard.podcasts.last_published', [ 'lastPublicationDate' => local_date($podcastsData['last_published_at']), ], null, false)) : lang('Dashboard.podcasts.not_found') ?>"><?= $podcastsData['number_of_podcasts'] ?></DashboardCard> - <?php // @icon('play-fill')?> + <?php // @icon("play-fill")?> <DashboardCard href="<?= $onlyPodcastId === null ? '' : route_to('episode-list', $onlyPodcastId) ?>" glyph="play-fill" title="<?= lang('Dashboard.episodes.title') ?>" subtitle="<?= $episodesData['last_published_at'] ? esc(lang('Dashboard.episodes.last_published', [ 'lastPublicationDate' => local_date($episodesData['last_published_at']), ], null, false)) : lang('Dashboard.episodes.not_found') ?>"><?= $episodesData['number_of_episodes'] ?></DashboardCard> - <?php // @icon('database-2-fill')?> + <?php // @icon("database-2-fill")?> <DashboardCard glyph="database-2-fill" title="<?= lang('Dashboard.storage.title') ?>" subtitle="<?= lang('Dashboard.storage.subtitle', [ 'totalUploaded' => $storageData['total_uploaded'], 'totalStorage' => $storageData['limit'], diff --git a/themes/cp_admin/episode/_sidebar.php b/themes/cp_admin/episode/_sidebar.php index 74295f164855019346c5e4b58fc9520d3c21a521..6206b7c38452a96a978664b985d2268cf5019b91 100644 --- a/themes/cp_admin/episode/_sidebar.php +++ b/themes/cp_admin/episode/_sidebar.php @@ -2,7 +2,7 @@ $episodeNavigation = [ 'dashboard' => [ - 'icon' => 'dashboard-fill', // @icon('dashboard-fill') + 'icon' => 'dashboard-fill', // @icon("dashboard-fill") 'items' => ['episode-view', 'episode-edit', 'episode-persons-manage', 'embed-add'], 'items-permissions' => [ 'episode-view' => 'episodes.view', @@ -12,7 +12,7 @@ $episodeNavigation = [ ], ], 'clips' => [ - 'icon' => 'clapperboard-fill', // @icon('clapperboard-fill') + 'icon' => 'clapperboard-fill', // @icon("clapperboard-fill") 'items' => ['video-clips-list', 'video-clips-create', 'soundbites-list', 'soundbites-create'], 'items-permissions' => [ 'video-clips-list' => 'episodes.manage-clips', diff --git a/themes/cp_admin/episode/edit.php b/themes/cp_admin/episode/edit.php index 87a4117f0d48d2fc3a538bc902ab5c51bb961730..854647af4341e90f042d743fc8440b281c4d6ed1 100644 --- a/themes/cp_admin/episode/edit.php +++ b/themes/cp_admin/episode/edit.php @@ -288,10 +288,10 @@ </form> <?php if ($episode->published_at === null): ?> - <?php // @icon('delete-bin-fill')?> + <?php // @icon("delete-bin-fill")?> <Button class="mt-8" variant="danger" uri="<?= route_to('episode-delete', $podcast->id, $episode->id) ?>" iconLeft="delete-bin-fill"><?= lang('Episode.delete') ?></Button> <?php else: ?> - <?php // @icon('forbid-fill')?> + <?php // @icon("forbid-fill")?> <Button class="mt-8" variant="disabled" iconLeft="forbid-fill" data-tooltip="right" title="<?= lang('Episode.messages.unpublishBeforeDeleteTip') ?>"><?= lang('Episode.delete') ?></Button> <?php endif ?> diff --git a/themes/cp_admin/episode/embed.php b/themes/cp_admin/episode/embed.php index 58af05b87f663672d2edbf6fb690e0b7205ae592..483339bd69cbfd109139e6124ea1b4f1aeef9b18 100644 --- a/themes/cp_admin/episode/embed.php +++ b/themes/cp_admin/episode/embed.php @@ -34,13 +34,13 @@ $embedHeight = config('Embed')->height; <div class="flex items-center mt-8 gap-x-2"> <Forms.Textarea readonly="true" class="w-full max-w-xl" name="iframe" rows="2" value="<?= esc("<iframe width=\"100%\" height=\"{$embedHeight}\" frameborder=\"0\" scrolling=\"no\" style=\"width: 100%; height: {$embedHeight}px; overflow: hidden;\" src=\"{$episode->embed_url}\"></iframe>") ?>" /> - <?php // @icon('file-copy-fill')?> + <?php // @icon("file-copy-fill")?> <IconButton glyph="file-copy-fill" data-type="clipboard-copy" data-clipboard-target="iframe"><?= lang('Episode.embed.clipboard_iframe') ?></IconButton> </div> <div class="flex items-center mt-4 gap-x-2"> <Forms.Input readonly="true" class="w-full max-w-xl" name="url" value="<?= esc($episode->embed_url) ?>" /> - <?php // @icon('file-copy-fill')?> + <?php // @icon("file-copy-fill")?> <IconButton glyph="file-copy-fill" data-type="clipboard-copy" data-clipboard-target="url"><?= lang('Episode.embed.clipboard_url') ?></IconButton> </div> diff --git a/themes/cp_admin/episode/list.php b/themes/cp_admin/episode/list.php index 261bdcc12a5babbfde8cb0f743ee6b6963df4148..1f293278bd571b842adb93a01c64a94916aa9da0 100644 --- a/themes/cp_admin/episode/list.php +++ b/themes/cp_admin/episode/list.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('episode-create', $podcast->id) ?>" variant="primary" iconLeft="add-fill"><?= lang('Episode.create') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/episode/persons.php b/themes/cp_admin/episode/persons.php index a66a1520a974c43f80d8e441eb8346612060119e..850a95227f38a3f2f039c6f7d55e996c3f4b3964 100644 --- a/themes/cp_admin/episode/persons.php +++ b/themes/cp_admin/episode/persons.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button variant="primary" uri="<?= route_to('person-create') ?>" iconLeft="add-fill"><?= lang('Person.create') ?></Button> <?= $this->endSection() ?> @@ -86,7 +86,7 @@ [ 'header' => lang('Common.actions'), 'cell' => function ($person): string { - // @icon('delete-bin-fill') + // @icon("delete-bin-fill") return '<Button uri="' . route_to('episode-person-remove', $person->podcast_id, $person->episode_id, $person->id) . '" variant="danger" size="small" iconLeft="delete-bin-fill">' . lang('Person.episode_form.remove') . '</Button>'; }, ], diff --git a/themes/cp_admin/episode/soundbites_list.php b/themes/cp_admin/episode/soundbites_list.php index 1955bfcea588e7e62bcc68d455d8dbf7039e70af..db6ff25e2cd644f1fa93696b9c6fe90d6ac1db41 100644 --- a/themes/cp_admin/episode/soundbites_list.php +++ b/themes/cp_admin/episode/soundbites_list.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('soundbites-create', $podcast->id, $episode->id) ?>" variant="primary" iconLeft="add-fill"><?= lang('Soundbite.create') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/episode/soundbites_new.php b/themes/cp_admin/episode/soundbites_new.php index c6ba10fb54f8fa3765fbafbdc17119c3ae665786..a96e58fdc45986fe1464f1135639118e6564048d 100644 --- a/themes/cp_admin/episode/soundbites_new.php +++ b/themes/cp_admin/episode/soundbites_new.php @@ -28,7 +28,7 @@ <input slot="duration" type="number" name="duration" placeholder="<?= lang('VideoClip.form.duration') ?>" step="0.001" /> </audio-clipper> - <?php // @icon('arrow-right-fill')?> + <?php // @icon("arrow-right-fill")?> <Button variant="primary" type="submit" class="self-end mt-4" iconRight="arrow-right-fill"><?= lang('Soundbite.form.submit') ?></Button> </form> diff --git a/themes/cp_admin/episode/video_clips_list.php b/themes/cp_admin/episode/video_clips_list.php index 2a0e075c96d92b524150bad1f5b96de42aba5ba9..c5cffa3769ac6dd4669eb011e3fa8b8ecae53e1f 100644 --- a/themes/cp_admin/episode/video_clips_list.php +++ b/themes/cp_admin/episode/video_clips_list.php @@ -15,7 +15,7 @@ use CodeIgniter\I18n\Time; <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('video-clips-create', $podcast->id, $episode->id) ?>" variant="primary" iconLeft="add-fill"><?= lang('VideoClip.create') ?></Button> <?= $this->endSection() ?> @@ -35,12 +35,12 @@ use CodeIgniter\I18n\Time; ]; $pillIconMap = [ - 'queued' => 'timer-fill', // @icon('timer-fill') - 'pending' => 'pause-fill', // @icon('pause-fill') - 'running' => 'loader-fill', // @icon('loader-fill') - 'canceled' => 'forbid-fill', // @icon('forbid-fill') - 'failed' => 'close-fill', // @icon('close-fill') - 'passed' => 'check-fill', // @icon('check-fill') + 'queued' => 'timer-fill', // @icon("timer-fill") + 'pending' => 'pause-fill', // @icon("pause-fill") + 'running' => 'loader-fill', // @icon("loader-fill") + 'canceled' => 'forbid-fill', // @icon("forbid-fill") + 'failed' => 'close-fill', // @icon("close-fill") + 'passed' => 'check-fill', // @icon("check-fill") ]; $pillIconClassMap = [ @@ -97,7 +97,7 @@ use CodeIgniter\I18n\Time; if ($videoClip->media) { helper('misc'); $filename = 'clip-' . slugify($videoClip->title) . "-{$videoClip->start_time}-{$videoClip->end_time}"; - // @icon('import-fill') + // @icon("import-fill") $downloadButton = '<IconButton glyph="import-fill" uri="' . $videoClip->media->file_url . '" download="' . $filename . '">' . lang('VideoClip.download_clip') . '</IconButton>'; } diff --git a/themes/cp_admin/episode/video_clips_new.php b/themes/cp_admin/episode/video_clips_new.php index fdcd72b09ed955b998517159723854b0e6e06d48..332adf14915b51649395d9725f92fb14e8a1cced 100644 --- a/themes/cp_admin/episode/video_clips_new.php +++ b/themes/cp_admin/episode/video_clips_new.php @@ -71,7 +71,7 @@ </div> </fieldset> </Forms.Section> - <?php // @icon('arrow-right-fill')?> + <?php // @icon("arrow-right-fill")?> <Button variant="primary" type="submit" iconRight="arrow-right-fill" class="self-end"><?= lang('VideoClip.form.submit') ?></Button> </div> </form> diff --git a/themes/cp_admin/episode/view.php b/themes/cp_admin/episode/view.php index a5cc18c6876276f065169857886c631f83101012..09b508d8bb69840c0abd4ad9a5671b19203894fb 100644 --- a/themes/cp_admin/episode/view.php +++ b/themes/cp_admin/episode/view.php @@ -18,7 +18,7 @@ <?= $this->section('headerRight') ?> <?php if ($episode->publication_status === 'published'): ?> -<?php // @icon('history-fill')?> +<?php // @icon("history-fill")?> <IconButton uri="<?= route_to('episode-publish_date_edit', $podcast->id, $episode->id) ?>" glyph="history-fill" diff --git a/themes/cp_admin/import/_queue_table.php b/themes/cp_admin/import/_queue_table.php index c6ac64eb5e1908ee7d03cd65501725dd8408cc4e..70a38b34d08b129740c652db5e243a44fa8698e7 100644 --- a/themes/cp_admin/import/_queue_table.php +++ b/themes/cp_admin/import/_queue_table.php @@ -21,12 +21,12 @@ use Modules\PodcastImport\Entities\TaskStatus; ]; $pillIconMap = [ - 'queued' => 'timer-fill', // @icon('timer-fill') - 'pending' => 'pause-fill', // @icon('pause-fill') - 'running' => 'loader-fill', // @icon('loader-fill') - 'canceled' => 'forbid-fill', // @icon('forbid-fill') - 'failed' => 'close-fill', // @icon('close-fill') - 'passed' => 'check-fill', // @icon('check-fill') + 'queued' => 'timer-fill', // @icon("timer-fill") + 'pending' => 'pause-fill', // @icon("pause-fill") + 'running' => 'loader-fill', // @icon("loader-fill") + 'canceled' => 'forbid-fill', // @icon("forbid-fill") + 'failed' => 'close-fill', // @icon("close-fill") + 'passed' => 'check-fill', // @icon("check-fill") ]; $pillIconClassMap = [ diff --git a/themes/cp_admin/import/add_to_queue.php b/themes/cp_admin/import/add_to_queue.php index 75046a27e8dd39fc4704cd4201954a6ebf84891b..5ad4c3777aea1e0d0508a3908d454bf1e06b6dcb 100644 --- a/themes/cp_admin/import/add_to_queue.php +++ b/themes/cp_admin/import/add_to_queue.php @@ -15,7 +15,7 @@ <Forms.Section title="<?= lang('PodcastImport.old_podcast_section_title') ?>"> -<?php // @icon('scales-3-fill')?> +<?php // @icon("scales-3-fill")?> <Alert glyph="scales-3-fill" variant="info" title="<?= lang('PodcastImport.old_podcast_legal_disclaimer_title') ?>"><?= lang('PodcastImport.old_podcast_legal_disclaimer') ?></Alert> <Forms.Field name="imported_feed_url" diff --git a/themes/cp_admin/import/podcast_queue.php b/themes/cp_admin/import/podcast_queue.php index 9deec3a8e20cd5f5567c6406a1b97ba48d33099f..9be03c20403bc38f2c6045ccb51ab7a3565b3941 100644 --- a/themes/cp_admin/import/podcast_queue.php +++ b/themes/cp_admin/import/podcast_queue.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('loop-left-fill')?> +<?php // @icon("loop-left-fill")?> <Button uri="<?= route_to('podcast-imports-sync', $podcast->id) ?>" variant="primary" iconLeft="loop-left-fill"><?= lang('PodcastImport.syncForm.title') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/import/queue.php b/themes/cp_admin/import/queue.php index faedb76f8922718bb0a6816e3daf9bb03d9de68f..ff32f738cadbda0137c0bd984ecac3ded9ac9eb7 100644 --- a/themes/cp_admin/import/queue.php +++ b/themes/cp_admin/import/queue.php @@ -12,7 +12,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('podcast-imports-add') ?>" variant="primary" iconLeft="add-fill"><?= lang('Podcast.import') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/page/list.php b/themes/cp_admin/page/list.php index 4b08a44c0abae967d09e87f1c417a181226deeb7..9a73b629840b84e8fe88bc16fe091193065ed3c1 100644 --- a/themes/cp_admin/page/list.php +++ b/themes/cp_admin/page/list.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('page-create') ?>" variant="primary" iconLeft="add-fill"><?= lang('Page.create') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/page/view.php b/themes/cp_admin/page/view.php index 609fa4ad46946c919a0fe048d645a6c04f8e2e82..22fc098d77cb2421d77728cfdf1f7b60802e617e 100644 --- a/themes/cp_admin/page/view.php +++ b/themes/cp_admin/page/view.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button variant="primary" uri="<?= route_to('page-edit', $page->id) ?>" iconLeft="add-fill"><?= lang('Page.edit') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/person/list.php b/themes/cp_admin/person/list.php index 98d906429ef8dd5547204f0a70672c8c050a0647..07e4449cc3c29398b8516277ecbabc78e89d824e 100644 --- a/themes/cp_admin/person/list.php +++ b/themes/cp_admin/person/list.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('person-create') ?>" variant="primary" iconLeft="add-fill"><?= lang('Person.create') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/person/view.php b/themes/cp_admin/person/view.php index c10641dd1ea6268667a0fc0916c2683d6afe979f..02e726f011d20b9d25acee59ea1b6cfcea73848f 100644 --- a/themes/cp_admin/person/view.php +++ b/themes/cp_admin/person/view.php @@ -10,7 +10,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('pencil-fill')?> +<?php // @icon("pencil-fill")?> <Button uri="<?= route_to('person-edit', $person->id) ?>" variant="secondary" iconLeft="pencil-fill"><?= lang('Person.edit') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/podcast/_sidebar.php b/themes/cp_admin/podcast/_sidebar.php index e69d67c5ce910eaef948371f6eb3ae6686e092e3..2c291a8a33a35bfeab9ac67ea7b7f4272eb23d9e 100644 --- a/themes/cp_admin/podcast/_sidebar.php +++ b/themes/cp_admin/podcast/_sidebar.php @@ -2,7 +2,7 @@ $podcastNavigation = [ 'dashboard' => [ - 'icon' => 'dashboard-fill', // @icon('dashboard-fill') + 'icon' => 'dashboard-fill', // @icon("dashboard-fill") 'items' => ['podcast-view', 'podcast-edit', 'podcast-persons-manage', 'podcast-imports', 'podcast-imports-sync'], 'items-permissions' => [ 'podcast-view' => 'view', @@ -13,7 +13,7 @@ $podcastNavigation = [ ], ], 'episodes' => [ - 'icon' => 'play-circle-fill', // @icon('play-circle-fill') + 'icon' => 'play-circle-fill', // @icon("play-circle-fill") 'items' => ['episode-list', 'episode-create'], 'items-permissions' => [ 'episode-list' => 'episodes.view', @@ -24,7 +24,7 @@ $podcastNavigation = [ 'count-route' => 'episode-list', ], 'analytics' => [ - 'icon' => 'line-chart-fill', // @icon('line-chart-fill') + 'icon' => 'line-chart-fill', // @icon("line-chart-fill") 'items' => [ 'podcast-analytics', 'podcast-analytics-unique-listeners', @@ -45,7 +45,7 @@ $podcastNavigation = [ ], ], 'broadcast' => [ - 'icon' => 'broadcast-fill', // @icon('broadcast-fill') + 'icon' => 'broadcast-fill', // @icon("broadcast-fill") 'items' => [ 'platforms-podcasting', 'platforms-social', @@ -56,7 +56,7 @@ $podcastNavigation = [ ], ], 'monetization' => [ - 'icon' => 'money-dollar-circle-fill', // @icon('money-dollar-circle-fill') + 'icon' => 'money-dollar-circle-fill', // @icon("money-dollar-circle-fill") 'items' => [ 'subscription-list', 'subscription-create', @@ -71,7 +71,7 @@ $podcastNavigation = [ ], ], 'contributors' => [ - 'icon' => 'group-fill', // @icon('group-fill') + 'icon' => 'group-fill', // @icon("group-fill") 'items' => ['contributor-list', 'contributor-add'], 'items-permissions' => [ 'contributor-list' => 'manage-contributors', diff --git a/themes/cp_admin/podcast/edit.php b/themes/cp_admin/podcast/edit.php index 85c94fae11dbf50eeb6e07558e40749cda9f7377..fadba91b37fbcb86864e6f228147b896729ddd2c 100644 --- a/themes/cp_admin/podcast/edit.php +++ b/themes/cp_admin/podcast/edit.php @@ -282,7 +282,7 @@ value="<?= esc($podcast->new_feed_url) ?>" </div> </form> -<?php // @icon('delete-bin-fill')?> +<?php // @icon("delete-bin-fill")?> <Button class="mt-8" variant="danger" uri="<?= route_to('podcast-delete', $podcast->id) ?>" iconLeft="delete-bin-fill"><?= lang('Podcast.delete') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/podcast/list.php b/themes/cp_admin/podcast/list.php index 5ecb797674fd5202e4892bbbef416b74100b0a84..c20f2f7cd943f2186b6b6441df5524739ff3f2a6 100644 --- a/themes/cp_admin/podcast/list.php +++ b/themes/cp_admin/podcast/list.php @@ -10,8 +10,8 @@ <?= $this->section('headerRight') ?> <?php -// @icon('import-fill') -// @icon('add-fill') +// @icon("import-fill") +// @icon("add-fill") ?> <Button uri="<?= route_to('podcast-imports-add') ?>" variant="secondary" iconLeft="import-fill"><?= lang('Podcast.import') ?></Button> <Button uri="<?= route_to('podcast-create') ?>" variant="primary" iconLeft="add-fill"><?= lang('Podcast.create') ?></Button> diff --git a/themes/cp_admin/podcast/persons.php b/themes/cp_admin/podcast/persons.php index 697d3ea23618486e0c65de0c63e44a8194294294..3235d9b730c76232259116dea538077b27f199da 100644 --- a/themes/cp_admin/podcast/persons.php +++ b/themes/cp_admin/podcast/persons.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('person-create') ?>" variant="primary" iconLeft="add-fill"><?= lang('Person.create') ?></Button> <?= $this->endSection() ?> @@ -84,7 +84,7 @@ [ 'header' => lang('Common.actions'), 'cell' => function ($person): string { - // @icon('delete-bin-fill') + // @icon("delete-bin-fill") return '<Button uri="' . route_to('podcast-person-remove', $person->podcast_id, $person->id) . '" variant="danger" size="small" iconLeft="delete-bin-fill">' . lang('Person.podcast_form.remove') . '</Button>'; }, ], diff --git a/themes/cp_admin/podcast/view.php b/themes/cp_admin/podcast/view.php index 51a2ad398fcb4cd7a98daf29b5400fe936172745..9df1dc611645115131c87e6fb4021909d6c82b55 100644 --- a/themes/cp_admin/podcast/view.php +++ b/themes/cp_admin/podcast/view.php @@ -10,8 +10,8 @@ <?= $this->section('headerRight') ?> <?php -// @icon('pencil-fill') -// @icon('add-fill') +// @icon("pencil-fill") +// @icon("add-fill") ?> <Button uri="<?= route_to('podcast-edit', $podcast->id) ?>" variant="secondary" class="[&>span]:hidden [&>span]:md:block py-3 md:py-2" iconLeft="pencil-fill"><?= lang('Podcast.edit') ?></Button> <Button uri="<?= route_to('episode-create', $podcast->id) ?>" variant="primary" class="[&>span]:hidden [&>span]:md:block py-3 md:py-2" iconLeft="add-fill"><?= lang('Episode.create') ?></Button> diff --git a/themes/cp_admin/settings/general.php b/themes/cp_admin/settings/general.php index 9253a0ed754bef1f28fc90b5250e4583bd92af35..600aae672d11140d7be9dce32b4cc9cd3636fa5b 100644 --- a/themes/cp_admin/settings/general.php +++ b/themes/cp_admin/settings/general.php @@ -67,7 +67,7 @@ <Forms.Section title="<?= lang('Settings.images.title') ?>" subtitle="<?= lang('Settings.images.subtitle') ?>"> - <?php // @icon('refresh-fill')?> + <?php // @icon("refresh-fill")?> <Button variant="primary" type="submit" iconLeft="refresh-fill"><?= lang('Settings.images.regenerate') ?></Button> </Forms.Section> @@ -84,7 +84,7 @@ <Forms.Toggler name="reset_counts" value="yes" size="small" checked="false" hint="<?= esc(lang('Settings.housekeeping.reset_counts_helper')) ?>"><?= lang('Settings.housekeeping.reset_counts') ?></Forms.Toggler> <Forms.Toggler name="rename_episodes_files" value="yes" size="small" checked="false" hint="<?= esc(lang('Settings.housekeeping.rename_episodes_files_hint')) ?>"><?= lang('Settings.housekeeping.rename_episodes_files') ?></Forms.Toggler> <Forms.Toggler name="clear_cache" value="yes" size="small" checked="false" hint="<?= esc(lang('Settings.housekeeping.clear_cache_helper')) ?>"><?= lang('Settings.housekeeping.clear_cache') ?></Forms.Toggler> - <?php // @icon('home-gear-fill')?> + <?php // @icon("home-gear-fill")?> <Button variant="primary" type="submit" iconLeft="home-gear-fill"><?= lang('Settings.housekeeping.run') ?></Button> </Forms.Section> diff --git a/themes/cp_admin/subscription/list.php b/themes/cp_admin/subscription/list.php index dc87523ee3436d2ead1837543b88c08327624a23..be45db5b72998cd03bc1c4ffee8e0da3075cd2ad 100644 --- a/themes/cp_admin/subscription/list.php +++ b/themes/cp_admin/subscription/list.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('add-fill')?> +<?php // @icon("add-fill")?> <Button uri="<?= route_to('subscription-create', $podcast->id) ?>" variant="primary" iconLeft="add-fill"><?= lang('Subscription.add') ?></Button> <?= $this->endSection() ?> diff --git a/themes/cp_admin/subscription/suspend.php b/themes/cp_admin/subscription/suspend.php index 3b3c8d9c40aa11490fa86f5a4998d5cd5e619720..ff7250c199eb41a1cfd55870caadeedefbf01270 100644 --- a/themes/cp_admin/subscription/suspend.php +++ b/themes/cp_admin/subscription/suspend.php @@ -28,7 +28,7 @@ <div class="flex items-center self-end mt-4 gap-x-2"> <Button uri="<?= route_to('subscription-list', $podcast->id) ?>"><?= lang('Common.cancel') ?></Button> - <?php // @icon('pause-fill')?> + <?php // @icon("pause-fill")?> <Button type="submit" variant="warning" iconLeft="pause-fill"><?= lang('Subscription.suspend_form.submit') ?></Button> </div> diff --git a/themes/cp_admin/user/list.php b/themes/cp_admin/user/list.php index aec95ff215d45ae1f1141e84fbc68db938b3e453..44d94e4c757d0774e8b572a6d7165f6e832483c8 100644 --- a/themes/cp_admin/user/list.php +++ b/themes/cp_admin/user/list.php @@ -9,7 +9,7 @@ <?= $this->endSection() ?> <?= $this->section('headerRight') ?> -<?php // @icon('user-add-fill')?> +<?php // @icon("user-add-fill")?> <Button uri="<?= route_to('user-create') ?>" variant="primary" iconLeft="user-add-fill"><?= lang('User.create') ?></Button> <?= $this->endSection() ?> @@ -37,7 +37,7 @@ $role = '<div class="inline-flex items-center"><span class="mr-2 focus:ring-accent" tabindex="0" data-tooltip="bottom" title="' . lang('Auth.instance_groups.owner.title') . '">' . icon('shield-user-fill') . '</span>' . $role . '</div>'; } - // @icon('pencil-fill') + // @icon("pencil-fill") return $role . '<IconButton uri="' . route_to('user-edit', $user->id) . '" glyph="pencil-fill" variant="info">' . lang('User.edit_role', [ 'username' => esc($user->username), ]) . '</IconButton>'; diff --git a/themes/cp_app/embed.php b/themes/cp_app/embed.php index 5e27cd7b80132aeb78100b9980c264fa43a68ba4..31ad15575b190fd0967413bb59887e3381f1a0d4 100644 --- a/themes/cp_app/embed.php +++ b/themes/cp_app/embed.php @@ -33,7 +33,7 @@ <h1 class="font-semibold leading-tight opacity-100 line-clamp-2 hover:opacity-75"><?= esc($episode->title) ?></h1> </a> <?php if ($episode->is_premium && ! is_unlocked($podcast->handle)): ?> - <?php // @icon('lock-fill')?> + <?php // @icon("lock-fill")?> <Button variant="primary" class="mt-auto mb-2" iconLeft="lock-fill" uri="<?= $episode->link ?>" target="_blank" rel="noopener noreferrer"><?= lang('PremiumPodcasts.unlock') ?></Button> <?php else: ?> <vm-player diff --git a/themes/cp_app/episode/_layout-preview.php b/themes/cp_app/episode/_layout-preview.php index 917cebc70abc6f54981a2bc99349d7409dd60979..882689b10bdf360681a89336f36a19c6351bf3d1 100644 --- a/themes/cp_app/episode/_layout-preview.php +++ b/themes/cp_app/episode/_layout-preview.php @@ -170,7 +170,7 @@ </div> <?php if (auth()->loggedIn()): ?> <?php if (in_array($episode->publication_status, ['scheduled', 'with_podcast'], true)): ?> - <?php // @icon('upload-cloud-fill')?> + <?php // @icon("upload-cloud-fill")?> <Button iconLeft="upload-cloud-fill" variant="primary" @@ -178,7 +178,7 @@ class="ml-auto" uri="<?= route_to('episode-publish_edit', $episode->podcast_id, $episode->id) ?>"><?= lang('Episode.preview.publish_edit') ?></Button> <?php else: ?> - <?php // @icon('upload-cloud-fill')?> + <?php // @icon("upload-cloud-fill")?> <Button iconLeft="upload-cloud-fill" variant="secondary" diff --git a/themes/cp_app/episode/_partials/comment_with_replies.php b/themes/cp_app/episode/_partials/comment_with_replies.php index cb588f4e8854c0f5210011ebf4a515dadd8fd881..9792c3f5629b2a6387b64cc980de17d1b8cc59b3 100644 --- a/themes/cp_app/episode/_partials/comment_with_replies.php +++ b/themes/cp_app/episode/_partials/comment_with_replies.php @@ -27,7 +27,7 @@ if ($comment->in_reply_to_id): ?> 'actorUsername' => esc($comment->actor->username), ]) ?>" rows="1" /> - <?php // @icon('send-plane-2-fill')?> + <?php // @icon("send-plane-2-fill")?> <Button variant="primary" size="small" type="submit" name="action" value="reply" class="self-end" iconRight="send-plane-2-fill"><?= lang('Comment.form.submit_reply') ?></Button> </div> </form> diff --git a/themes/cp_app/episode/activity.php b/themes/cp_app/episode/activity.php index 9d0c0c8f48bfb1550f90b9fcac3e3c84e5468542..fcdcd47e4e95b544be2ae433a41c83ca2d766c0f 100644 --- a/themes/cp_app/episode/activity.php +++ b/themes/cp_app/episode/activity.php @@ -17,7 +17,7 @@ placeholder="<?= lang('Post.form.episode_message_placeholder') ?>" required="true" rows="2" /> - <?php // @icon('send-plane-2-fill')?> + <?php // @icon("send-plane-2-fill")?> <Button variant="primary" size="small" type="submit" class="self-end" iconRight="send-plane-2-fill"><?= lang('Post.form.submit') ?></Button> </div> </form> diff --git a/themes/cp_app/episode/comments.php b/themes/cp_app/episode/comments.php index f907aab908ce13e71c4311c5a7920f9604ffec8c..dd507f75fd71c2b9a2fbcf467c5cac7b61e578f6 100644 --- a/themes/cp_app/episode/comments.php +++ b/themes/cp_app/episode/comments.php @@ -16,7 +16,7 @@ required="true" placeholder="<?= lang('Comment.form.episode_message_placeholder') ?>" rows="2" /> - <?php // @icon('send-plane-2-fill')?> + <?php // @icon("send-plane-2-fill")?> <Button class="self-end" variant="primary" size="small" type="submit" iconRight="send-plane-2-fill"><?= lang('Comment.form.submit') ?></Button> </div> </form> diff --git a/themes/cp_app/episode/preview-transcript.php b/themes/cp_app/episode/preview-transcript.php index 90953788f1f11becda50c18612b808b94fe2f4e7..6728498fa04d048c510ee02e50223ca31571f1cd 100644 --- a/themes/cp_app/episode/preview-transcript.php +++ b/themes/cp_app/episode/preview-transcript.php @@ -4,7 +4,8 @@ <?php if (isset($captions)) : ?> <div class="flex flex-col gap-2"> - <Button uri="<?= $transcript->file_url ?>" size="small" iconLeft="download" class="self-start" variant="secondary" target="_blank" download="" rel="noopener noreferrer"><?= lang('Episode.download_transcript', [ + <?php // @icon("download-2-fill")?> + <Button uri="<?= $transcript->file_url ?>" size="small" iconLeft="download-2-fill" class="self-start" variant="secondary" target="_blank" download="" rel="noopener noreferrer"><?= lang('Episode.download_transcript', [ 'extension' => '.' . $transcript->file_extension, ]) ?></Button> <?php diff --git a/themes/cp_app/episode/transcript.php b/themes/cp_app/episode/transcript.php index 5a183d6511937c7ef8f52fd7cecc17672f7b1c1b..7fa2e14a11c541d53b4884b058c47133a9e55bec 100644 --- a/themes/cp_app/episode/transcript.php +++ b/themes/cp_app/episode/transcript.php @@ -4,7 +4,8 @@ <?php if (isset($captions)) : ?> <div class="flex flex-col gap-2"> - <Button uri="<?= $transcript->file_url ?>" size="small" iconLeft="download" class="self-start" variant="secondary" target="_blank" download="" rel="noopener noreferrer"><?= lang('Episode.download_transcript', [ + <?php // @icon("download-2-fill")?> + <Button uri="<?= $transcript->file_url ?>" size="small" iconLeft="download-2-fill" class="self-start" variant="secondary" target="_blank" download="" rel="noopener noreferrer"><?= lang('Episode.download_transcript', [ 'extension' => '.' . $transcript->file_extension, ]) ?></Button> <?php diff --git a/themes/cp_app/podcast/_partials/premium_banner.php b/themes/cp_app/podcast/_partials/premium_banner.php index 9e893018e3467582843182789b32c4007683bd73..5530f317f49722dcdc28deda58ee654eaed150e4 100644 --- a/themes/cp_app/podcast/_partials/premium_banner.php +++ b/themes/cp_app/podcast/_partials/premium_banner.php @@ -4,8 +4,8 @@ if ($podcast->is_premium): ?> <?php $isUnlocked = service('premium_podcasts') ->isUnlocked($podcast->handle); - // @icon('lock-unlock-fill') - // @icon('lock-fill') + // @icon("lock-unlock-fill") + // @icon("lock-fill") $shownIcon = $isUnlocked ? 'lock-unlock-fill' : 'lock-fill'; $hiddenIcon = $isUnlocked ? 'lock-fill' : 'lock-unlock-fill'; ?> @@ -27,7 +27,7 @@ if ($podcast->is_premium): ?> ]) ?> <?= $isUnlocked ? lang('PremiumPodcasts.lock') : lang('PremiumPodcasts.unlock') ?> </Button> - <?php // @icon('external-link-fill')?> + <?php // @icon("external-link-fill")?> <Button iconLeft="external-link-fill" target="_blank" diff --git a/themes/cp_app/podcast/activity.php b/themes/cp_app/podcast/activity.php index 9cc52d8e80e11a6dc8121e6e565095003d257ddf..5c9ef39af0967c80630ac38de19d44f730fffadd 100644 --- a/themes/cp_app/podcast/activity.php +++ b/themes/cp_app/podcast/activity.php @@ -21,7 +21,7 @@ name="episode_url" type="url" placeholder="<?= lang('Post.form.episode_url_placeholder') . ' (' . lang('Common.optional') . ')' ?>" /> - <?php // @icon('send-plane-2-fill')?> + <?php // @icon("send-plane-2-fill")?> <Button variant="primary" size="small" type="submit" class="self-end" iconRight="send-plane-2-fill"><?= lang('Post.form.submit') ?></Button> </div> </form> diff --git a/themes/cp_app/podcast/follow.php b/themes/cp_app/podcast/follow.php index 95fceadd34980cad7ab9a861674aaddba5a4eccd..62a474fc9faad10e258ae1fdee535e492221cb73 100644 --- a/themes/cp_app/podcast/follow.php +++ b/themes/cp_app/podcast/follow.php @@ -60,7 +60,7 @@ hint="<?= esc(lang('Fediverse.your_handle_hint')) ?>" required="true" /> - <?php // @icon('send-plane-2-fill')?> + <?php // @icon("send-plane-2-fill")?> <Button variant="primary" type="submit" class="self-end" iconRight="send-plane-2-fill"><?= lang('Fediverse.follow.submit') ?></Button> </form> </main> diff --git a/themes/cp_app/podcast/unlock.php b/themes/cp_app/podcast/unlock.php index dd49b233531b66d7f0a4b5ccbe1d839b89a5793b..04487f311d8fd2fd3fca34864cae8eede0850757 100644 --- a/themes/cp_app/podcast/unlock.php +++ b/themes/cp_app/podcast/unlock.php @@ -58,7 +58,7 @@ ]) ?>" required="true" /> - <?php // @icon('lock-unlock-fill')?> + <?php // @icon("lock-unlock-fill")?> <Button type="submit" variant="primary" iconLeft="lock-unlock-fill" class="self-center mt-2"><?= lang('PremiumPodcasts.unlock_form.submit') ?></Button> <?php if ($subscriptionLink = service('settings') ->get('Subscription.link', 'podcast:' . $podcast->id)): ?> diff --git a/themes/cp_app/post/_partials/actions.php b/themes/cp_app/post/_partials/actions.php index c0bd457737bf7f8c8ce9e5c899c62b09e60dcbbe..3eb6334dd62a3e8e25811e03c074459b95d2ed7c 100644 --- a/themes/cp_app/post/_partials/actions.php +++ b/themes/cp_app/post/_partials/actions.php @@ -59,7 +59,7 @@ <form action="<?= route_to( 'post-attempt-block-domain', esc(interact_as_actor() - ->username), + ->username), $post->id, ) ?>" method="POST"> <?= csrf_field() ?> diff --git a/themes/cp_app/post/_partials/post_with_replies.php b/themes/cp_app/post/_partials/post_with_replies.php index a94a47499bcafec71c00d9f58e9ef3a3208bcfb3..1aedee66a771df3713f9e715903b695c909c62ad 100644 --- a/themes/cp_app/post/_partials/post_with_replies.php +++ b/themes/cp_app/post/_partials/post_with_replies.php @@ -32,7 +32,7 @@ if ($post->in_reply_to_id): ?> 'actorUsername' => esc($post->actor->username), ]) ?>" rows="1" /> - <?php // @icon('send-plane-2-fill')?> + <?php // @icon("send-plane-2-fill")?> <Button variant="primary" size="small" type="submit" name="action" value="reply" class="self-end" iconRight="send-plane-2-fill"><?= lang('Post.form.submit_reply') ?></Button> </div> </form> diff --git a/themes/cp_app/post/_partials/reply_actions.php b/themes/cp_app/post/_partials/reply_actions.php index 6e7693f7f2b4ccc0d50526ee2d27b45cd72311ce..7077ddefb220aeac108d420cb8ec3b32abbd5c0b 100644 --- a/themes/cp_app/post/_partials/reply_actions.php +++ b/themes/cp_app/post/_partials/reply_actions.php @@ -58,7 +58,7 @@ if (can_user_interact()): ?> <form action="<?= route_to( 'post-attempt-block-domain', esc(interact_as_actor() - ->username), + ->username), $reply->id, ) ?>" method="POST"> <?= csrf_field() ?> diff --git a/themes/cp_app/post/remote_action.php b/themes/cp_app/post/remote_action.php index 0727114ffcbb71539902ebacb9fdf937a2fa915b..0871017ab56b1b2954edf3b15b88a5e0d69b1db4 100644 --- a/themes/cp_app/post/remote_action.php +++ b/themes/cp_app/post/remote_action.php @@ -51,7 +51,7 @@ label="<?= esc(lang('Fediverse.your_handle')) ?>" hint="<?= esc(lang('Fediverse.your_handle_hint')) ?>" required="true" /> - <?php // @icon('send-plane-2-fill')?> + <?php // @icon("send-plane-2-fill")?> <Button variant="primary" type="submit" class="self-end" iconRight="send-plane-2-fill"><?= lang('Fediverse.' . $action . '.submit') ?></Button> </form> </main> diff --git a/themes/cp_install/cache_config.php b/themes/cp_install/cache_config.php index 7c4af11397c651b06662ff4cea95732edbe9a727..d622c48e5cc942130098d01f917e77899108a923 100644 --- a/themes/cp_install/cache_config.php +++ b/themes/cp_install/cache_config.php @@ -27,7 +27,7 @@ ])) ?>" selected="file" required="true" /> -<?php // @icon('arrow-right-fill')?> +<?php // @icon("arrow-right-fill")?> <Button variant="primary" class="self-end" iconRight="arrow-right-fill" type="submit"><?= lang('Install.form.next') ?></Button> <?= form_close() ?> diff --git a/themes/cp_install/create_superadmin.php b/themes/cp_install/create_superadmin.php index 6e7e3912326678453e78eb45d31bdff7139ecddf..e99b8253c03b4307bda69f9d5ef3995694d14812 100644 --- a/themes/cp_install/create_superadmin.php +++ b/themes/cp_install/create_superadmin.php @@ -28,7 +28,7 @@ type="password" required="true" autocomplete="new-password" /> -<?php // @icon('check-fill')?> +<?php // @icon("check-fill")?> <Button variant="primary" type="submit" class="self-end" iconLeft="check-fill"><?= lang('Install.form.submit') ?></Button> </form> diff --git a/themes/cp_install/database_config.php b/themes/cp_install/database_config.php index 154122c98efa0ef569d91242c1744351aa3096a6..c3940296ac890f95c99f58a06676cd156eb9de73 100644 --- a/themes/cp_install/database_config.php +++ b/themes/cp_install/database_config.php @@ -54,7 +54,7 @@ label="<?= esc(lang('Install.form.db_prefix')) ?>" hint="<?= esc(lang('Install.form.db_prefix_hint')) ?>" value="<?= config('Database')->default['DBPrefix'] ?>" /> -<?php // @icon('arrow-right-fill')?> +<?php // @icon("arrow-right-fill")?> <Button variant="primary" type="submit" class="self-end" iconRight="arrow-right-fill"><?= lang('Install.form.next') ?></Button> </form> diff --git a/themes/cp_install/instance_config.php b/themes/cp_install/instance_config.php index f2acedfc4b27b61bd40f77841605170590e06326..2892893d906ddc0f47261d75df9e9d3f22e27512 100644 --- a/themes/cp_install/instance_config.php +++ b/themes/cp_install/instance_config.php @@ -37,7 +37,7 @@ hint="<?= esc(lang('Install.form.auth_gateway_hint')) ?>" value="<?= config('Auth')->gateway ?>" required="true" /> -<?php // @icon('arrow-right-fill')?> +<?php // @icon("arrow-right-fill")?> <Button class="self-end" variant="primary" type="submit" iconRight="arrow-right-fill"><?= lang('Install.form.next') ?></Button> </form> diff --git a/vite.config.ts b/vite.config.ts index d4ef699320a1e873e20ee0eb05ad536ddb4c49fd..e7dc98561bf8ff4cc7b4b516d276c61212d4234a 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -32,4 +32,7 @@ export default defineConfig({ outDir: "../../public", }), ], + server: { + host: true, + }, });